From 098b5a1bc7d8fa2b78ef9081013b26e42642a73e Mon Sep 17 00:00:00 2001 From: Kristofers Solo Date: Thu, 28 Apr 2022 22:23:08 +0300 Subject: [PATCH] Added vscodium --- btop/btop.conf | 4 +- picom/picom.conf | 156 +- vscodium/extensions/.obsolete | 2 +- .../.github/CONTRIBUTING.md | 10 - .../.gitignore | 9 - .../.vscode/settings.json | 3 - .../.vsixmanifest | 42 - .../CHANGELOG.md | 89 - .../LICENSE.txt | 21 - .../README.md | 20 - .../bootstrap.sh | 32 - .../dracula-at-night.png | Bin 15860 -> 0 bytes .../known_issues.md | 289 -- .../package.json | 72 - .../src/build.ts | 7 - .../src/lib/alpha.ts | 3 - .../src/settings/Theme.ts | 70 - .../src/settings/buildThemeSettings.ts | 15 - .../src/settings/colors/activity-bar.ts | 11 - .../src/settings/colors/badge.ts | 7 - .../src/settings/colors/base.ts | 11 - .../src/settings/colors/breadcrumbs.ts | 9 - .../src/settings/colors/buttons.ts | 8 - .../src/settings/colors/contrast.ts | 7 - .../src/settings/colors/debug.ts | 7 - .../src/settings/colors/diff-editor.ts | 10 - .../src/settings/colors/dropdowns.ts | 9 - .../src/settings/colors/editor-groups.ts | 25 - .../src/settings/colors/editor-widgets.ts | 20 - .../src/settings/colors/editor.ts | 51 - .../src/settings/colors/extensions.ts | 9 - .../src/settings/colors/git.ts | 10 - .../src/settings/colors/index.ts | 63 - .../src/settings/colors/inputs.ts | 16 - .../src/settings/colors/lists.ts | 15 - .../src/settings/colors/menu.ts | 14 - .../src/settings/colors/merge-conflicts.ts | 14 - .../src/settings/colors/notification.ts | 27 - .../src/settings/colors/panels.ts | 10 - .../src/settings/colors/peek-view.ts | 19 - .../src/settings/colors/progress-bar.ts | 6 - .../src/settings/colors/quick-picker.ts | 7 - .../src/settings/colors/scrollbar.ts | 7 - .../src/settings/colors/sidebar.ts | 13 - .../src/settings/colors/status-bar.ts | 17 - .../src/settings/colors/terminal.ts | 25 - .../src/settings/colors/title-bar.ts | 9 - .../src/settings/colors/welcome.ts | 8 - .../src/settings/tokens/TokenSettings.ts | 19 - .../src/settings/tokens/general/classes.ts | 53 - .../src/settings/tokens/general/comments.ts | 46 - .../src/settings/tokens/general/constants.ts | 64 - .../src/settings/tokens/general/functions.ts | 74 - .../src/settings/tokens/general/index.ts | 54 - .../src/settings/tokens/general/keywords.ts | 19 - .../settings/tokens/general/punctuation.ts | 74 - .../src/settings/tokens/general/strings.ts | 22 - .../src/settings/tokens/general/typings.ts | 51 - .../src/settings/tokens/general/variables.ts | 39 - .../src/settings/tokens/index.ts | 7 - .../src/settings/tokens/languages/c.ts | 12 - .../settings/tokens/languages/coffeescript.ts | 38 - .../src/settings/tokens/languages/csharp.ts | 27 - .../src/settings/tokens/languages/diff.ts | 57 - .../src/settings/tokens/languages/elixir.ts | 73 - .../src/settings/tokens/languages/go.ts | 48 - .../src/settings/tokens/languages/graphql.ts | 68 - .../src/settings/tokens/languages/groovy.ts | 47 - .../src/settings/tokens/languages/haskell.ts | 38 - .../settings/tokens/languages/html-jsx-css.ts | 134 - .../src/settings/tokens/languages/index.ts | 63 - .../src/settings/tokens/languages/java.ts | 49 - .../settings/tokens/languages/javascript.ts | 76 - .../src/settings/tokens/languages/lua.ts | 14 - .../src/settings/tokens/languages/makefile.ts | 38 - .../src/settings/tokens/languages/markdown.ts | 188 - .../settings/tokens/languages/objective-c.ts | 26 - .../src/settings/tokens/languages/ocaml.ts | 12 - .../src/settings/tokens/languages/perl.ts | 12 - .../src/settings/tokens/languages/php.ts | 56 - .../settings/tokens/languages/powershell.ts | 41 - .../src/settings/tokens/languages/python.ts | 38 - .../src/settings/tokens/languages/regexp.ts | 64 - .../src/settings/tokens/languages/ruby.ts | 126 - .../src/settings/tokens/languages/rust.ts | 12 - .../src/settings/tokens/languages/shell.ts | 31 - .../src/settings/tokens/languages/swift.ts | 39 - .../src/settings/tokens/languages/toml.ts | 31 - .../settings/tokens/languages/typescript.ts | 141 - .../src/settings/tokens/languages/yaml.ts | 45 - .../src/themes/DraculaAtNight.ts | 64 - .../src/themes/index.ts | 1 - .../tsconfig.json | 13 - .../tslint.json | 11 - .../icrawl.discord-vscode-5.8.0/.eslintignore | 1 - .../icrawl.discord-vscode-5.8.0/README.md | 70 - .../assets/icon.png | Bin 32140 -> 0 bytes .../dist/activity.d.ts | 22 - .../dist/constants.d.ts | 60 - .../dist/extension.d.ts | 4 - .../dist/extension.js | 3 - .../dist/extension.js.LICENSE.txt | 14 - .../dist/logger.d.ts | 8 - .../dist/util.d.ts | 30 - .../icrawl.discord-vscode-5.8.0/package.json | 222 - .../tsconfig.eslint.json | 20 - .../.vsixmanifest | 43 - .../CHANGELOG.md | 27 - .../LICENSE.txt | 21 - .../lefd.sweetdracula-monokai-1.1.2/README.md | 36 - .../lefd.sweetdracula-monokai-1.1.2/icon.png | Bin 42959 -> 0 bytes .../package.json | 45 - .../sweetdracula-monokai-color-theme.json | 2037 -------- .../.vsixmanifest | 24 +- .../LICENSE.txt | 5 +- .../leonardssh.vscord-4.5.0/README.md | 122 + .../leonardssh.vscord-4.5.0/assets/icon.png | Bin 0 -> 149381 bytes .../leonardssh.vscord-4.5.0/dist/extension.js | 3 + .../dist/extension.js.LICENSE.txt | 9 + .../dist/extension.js.map | 1 + .../leonardssh.vscord-4.5.0/package.json | 353 ++ .../.vsixmanifest | 43 - .../CHANGELOG.md | 4068 --------------- .../LICENSE.txt | 43 - .../NOTICE.txt | 4399 ---------------- .../README.md | 184 - .../dist/browser.extension.bundle.js | 1 - .../dist/browser.server.bundle.js | 1 - .../dist/browser.server.bundle.js.LICENSE.txt | 10 - .../dist/bundled/indices/stdlib.json | 1 - .../dist/bundled/native-stubs/lxml/etree.pyi | 4532 ----------------- .../bundled/native-stubs/lxml/objectify.pyi | 859 ---- .../numpy/core/_multiarray_umath.pyi | 1993 -------- .../bundled/native-stubs/numpy/core/_simd.pyi | 14 - .../numpy/fft/_pocketfft_internal.pyi | 16 - .../numpy/linalg/_umath_linalg.pyi | 94 - .../native-stubs/numpy/linalg/lapack_lite.pyi | 37 - .../numpy/random/_bounded_integers.pyi | 16 - .../native-stubs/numpy/random/_common.pyi | 22 - .../native-stubs/numpy/random/_generator.pyi | 248 - .../native-stubs/numpy/random/_mt19937.pyi | 56 - .../native-stubs/numpy/random/_pcg64.pyi | 56 - .../native-stubs/numpy/random/_philox.pyi | 60 - .../native-stubs/numpy/random/_sfc64.pyi | 48 - .../numpy/random/bit_generator.pyi | 286 -- .../native-stubs/numpy/random/mtrand.pyi | 459 -- .../native-stubs/pandas/_libs/algos.pyi | 431 -- .../native-stubs/pandas/_libs/groupby.pyi | 143 - .../native-stubs/pandas/_libs/hashing.pyi | 21 - .../native-stubs/pandas/_libs/hashtable.pyi | 1497 ------ .../native-stubs/pandas/_libs/index.pyi | 578 --- .../native-stubs/pandas/_libs/indexing.pyi | 59 - .../native-stubs/pandas/_libs/internals.pyi | 107 - .../native-stubs/pandas/_libs/interval.pyi | 1623 ------ .../native-stubs/pandas/_libs/join.pyi | 71 - .../native-stubs/pandas/_libs/json.pyi | 29 - .../bundled/native-stubs/pandas/_libs/lib.pyi | 729 --- .../native-stubs/pandas/_libs/missing.pyi | 233 - .../bundled/native-stubs/pandas/_libs/ops.pyi | 36 - .../pandas/_libs/ops_dispatch.pyi | 21 - .../native-stubs/pandas/_libs/parsers.pyi | 231 - .../native-stubs/pandas/_libs/properties.pyi | 99 - .../native-stubs/pandas/_libs/reduction.pyi | 295 -- .../native-stubs/pandas/_libs/reshape.pyi | 25 - .../native-stubs/pandas/_libs/sparse.pyi | 494 -- .../native-stubs/pandas/_libs/testing.pyi | 37 - .../native-stubs/pandas/_libs/tslib.pyi | 38 - .../native-stubs/pandas/_libs/tslibs/base.pyi | 92 - .../pandas/_libs/tslibs/ccalendar.pyi | 50 - .../pandas/_libs/tslibs/conversion.pyi | 102 - .../pandas/_libs/tslibs/dtypes.pyi | 147 - .../pandas/_libs/tslibs/fields.pyi | 61 - .../pandas/_libs/tslibs/nattype.pyi | 464 -- .../pandas/_libs/tslibs/np_datetime.pyi | 40 - .../pandas/_libs/tslibs/offsets.pyi | 2013 -------- .../pandas/_libs/tslibs/parsing.pyi | 137 - .../pandas/_libs/tslibs/period.pyi | 383 -- .../pandas/_libs/tslibs/strptime.pyi | 131 - .../pandas/_libs/tslibs/timedeltas.pyi | 312 -- .../pandas/_libs/tslibs/timestamps.pyi | 460 -- .../pandas/_libs/tslibs/timezones.pyi | 59 - .../pandas/_libs/tslibs/tzconversion.pyi | 32 - .../pandas/_libs/tslibs/vectorized.pyi | 37 - .../pandas/_libs/window/aggregations.pyi | 78 - .../pandas/_libs/window/indexers.pyi | 21 - .../native-stubs/pandas/_libs/writers.pyi | 37 - .../native-stubs/pandas/io/sas/_sas.pyi | 45 - .../dist/bundled/stubs/cv2-stubs/__init__.pyi | 3101 ----------- .../dist/bundled/stubs/cv2-stubs/py.typed | 1 - .../dist/bundled/stubs/django/LICENSE.txt | 8 - .../dist/bundled/stubs/django/__init__.pyi | 8 - .../bundled/stubs/django/apps/__init__.pyi | 2 - .../dist/bundled/stubs/django/apps/config.pyi | 24 - .../bundled/stubs/django/apps/registry.pyi | 40 - .../dist/bundled/stubs/django/commit.txt | 1 - .../bundled/stubs/django/conf/__init__.pyi | 37 - .../stubs/django/conf/global_settings.pyi | 500 -- .../stubs/django/conf/locale/__init__.pyi | 3 - .../stubs/django/conf/urls/__init__.pyi | 30 - .../bundled/stubs/django/conf/urls/i18n.pyi | 10 - .../bundled/stubs/django/conf/urls/static.pyi | 5 - .../bundled/stubs/django/contrib/__init__.pyi | 0 .../stubs/django/contrib/admin/__init__.pyi | 23 - .../stubs/django/contrib/admin/actions.pyi | 8 - .../stubs/django/contrib/admin/apps.pyi | 6 - .../stubs/django/contrib/admin/checks.pyi | 21 - .../stubs/django/contrib/admin/decorators.pyi | 26 - .../stubs/django/contrib/admin/exceptions.pyi | 4 - .../stubs/django/contrib/admin/filters.pyi | 119 - .../stubs/django/contrib/admin/forms.pyi | 7 - .../stubs/django/contrib/admin/helpers.pyi | 186 - .../contrib/admin/migrations/__init__.pyi | 0 .../stubs/django/contrib/admin/models.pyi | 38 - .../stubs/django/contrib/admin/options.pyi | 332 -- .../stubs/django/contrib/admin/sites.pyi | 91 - .../contrib/admin/templatetags/__init__.pyi | 0 .../contrib/admin/templatetags/admin_list.pyi | 43 - .../admin/templatetags/admin_modify.pyi | 16 - .../contrib/admin/templatetags/admin_urls.pyi | 17 - .../contrib/admin/templatetags/base.pyi | 17 - .../django/contrib/admin/templatetags/log.pyi | 16 - .../stubs/django/contrib/admin/tests.pyi | 26 - .../stubs/django/contrib/admin/utils.pyi | 85 - .../django/contrib/admin/views/__init__.pyi | 0 .../contrib/admin/views/autocomplete.pyi | 11 - .../django/contrib/admin/views/decorators.pyi | 12 - .../stubs/django/contrib/admin/views/main.pyi | 97 - .../stubs/django/contrib/admin/widgets.pyi | 137 - .../django/contrib/admindocs/__init__.pyi | 0 .../stubs/django/contrib/admindocs/apps.pyi | 7 - .../django/contrib/admindocs/middleware.pyi | 14 - .../stubs/django/contrib/admindocs/urls.pyi | 3 - .../stubs/django/contrib/admindocs/utils.pyi | 26 - .../stubs/django/contrib/admindocs/views.pyi | 21 - .../stubs/django/contrib/auth/__init__.pyi | 31 - .../stubs/django/contrib/auth/admin.pyi | 17 - .../stubs/django/contrib/auth/apps.pyi | 3 - .../stubs/django/contrib/auth/backends.pyi | 47 - .../stubs/django/contrib/auth/base_user.pyi | 46 - .../stubs/django/contrib/auth/checks.pyi | 9 - .../contrib/auth/context_processors.pyi | 20 - .../stubs/django/contrib/auth/decorators.pyi | 20 - .../stubs/django/contrib/auth/forms.pyi | 103 - .../django/contrib/auth/handlers/__init__.pyi | 0 .../django/contrib/auth/handlers/modwsgi.pyi | 6 - .../stubs/django/contrib/auth/hashers.pyi | 47 - .../contrib/auth/management/__init__.pyi | 15 - .../auth/management/commands/__init__.pyi | 0 .../management/commands/changepassword.pyi | 7 - .../management/commands/createsuperuser.pyi | 9 - .../stubs/django/contrib/auth/middleware.pyi | 20 - .../contrib/auth/migrations/__init__.pyi | 0 .../stubs/django/contrib/auth/mixins.pyi | 28 - .../stubs/django/contrib/auth/models.pyi | 116 - .../contrib/auth/password_validation.pyi | 47 - .../stubs/django/contrib/auth/signals.pyi | 5 - .../stubs/django/contrib/auth/tokens.pyi | 17 - .../stubs/django/contrib/auth/urls.pyi | 3 - .../stubs/django/contrib/auth/validators.pyi | 4 - .../stubs/django/contrib/auth/views.pyi | 72 - .../django/contrib/contenttypes/__init__.pyi | 0 .../django/contrib/contenttypes/admin.pyi | 15 - .../django/contrib/contenttypes/apps.pyi | 3 - .../django/contrib/contenttypes/checks.pyi | 11 - .../django/contrib/contenttypes/fields.pyi | 93 - .../django/contrib/contenttypes/forms.pyi | 43 - .../contenttypes/management/__init__.pyi | 33 - .../management/commands/__init__.pyi | 0 .../commands/remove_stale_contenttypes.pyi | 14 - .../contenttypes/migrations/__init__.pyi | 0 .../django/contrib/contenttypes/models.pyi | 24 - .../django/contrib/contenttypes/views.pyi | 8 - .../django/contrib/flatpages/__init__.pyi | 0 .../stubs/django/contrib/flatpages/admin.pyi | 10 - .../stubs/django/contrib/flatpages/apps.pyi | 7 - .../stubs/django/contrib/flatpages/forms.pyi | 7 - .../django/contrib/flatpages/middleware.pyi | 6 - .../contrib/flatpages/migrations/__init__.pyi | 0 .../stubs/django/contrib/flatpages/models.pyi | 12 - .../django/contrib/flatpages/sitemaps.pyi | 3 - .../flatpages/templatetags/__init__.pyi | 0 .../flatpages/templatetags/flatpages.pyi | 16 - .../stubs/django/contrib/flatpages/urls.pyi | 3 - .../stubs/django/contrib/flatpages/views.pyi | 8 - .../stubs/django/contrib/gis/__init__.pyi | 1 - .../django/contrib/gis/admin/__init__.pyi | 11 - .../django/contrib/gis/admin/options.pyi | 49 - .../django/contrib/gis/admin/widgets.pyi | 10 - .../bundled/stubs/django/contrib/gis/apps.pyi | 8 - .../stubs/django/contrib/gis/db/__init__.pyi | 0 .../contrib/gis/db/backends/__init__.pyi | 0 .../contrib/gis/db/backends/base/__init__.pyi | 0 .../contrib/gis/db/backends/base/adapter.pyi | 8 - .../contrib/gis/db/backends/base/features.pyi | 44 - .../contrib/gis/db/backends/base/models.pyi | 33 - .../gis/db/backends/base/operations.pyi | 34 - .../gis/db/backends/mysql/__init__.pyi | 0 .../contrib/gis/db/backends/mysql/base.pyi | 9 - .../gis/db/backends/mysql/features.pyi | 20 - .../gis/db/backends/mysql/introspection.pyi | 8 - .../gis/db/backends/mysql/operations.pyi | 27 - .../contrib/gis/db/backends/mysql/schema.pyi | 17 - .../gis/db/backends/oracle/__init__.pyi | 0 .../gis/db/backends/oracle/adapter.pyi | 9 - .../contrib/gis/db/backends/oracle/base.pyi | 9 - .../gis/db/backends/oracle/features.pyi | 9 - .../gis/db/backends/oracle/introspection.pyi | 8 - .../contrib/gis/db/backends/oracle/models.pyi | 33 - .../gis/db/backends/oracle/operations.pyi | 43 - .../contrib/gis/db/backends/oracle/schema.pyi | 19 - .../gis/db/backends/postgis/__init__.pyi | 0 .../gis/db/backends/postgis/adapter.pyi | 13 - .../contrib/gis/db/backends/postgis/base.pyi | 11 - .../contrib/gis/db/backends/postgis/const.pyi | 9 - .../gis/db/backends/postgis/features.pyi | 9 - .../gis/db/backends/postgis/introspection.pyi | 9 - .../gis/db/backends/postgis/models.pyi | 36 - .../gis/db/backends/postgis/operations.pyi | 68 - .../gis/db/backends/postgis/pgraster.pyi | 7 - .../gis/db/backends/postgis/schema.pyi | 11 - .../gis/db/backends/spatialite/__init__.pyi | 0 .../gis/db/backends/spatialite/adapter.pyi | 6 - .../gis/db/backends/spatialite/base.pyi | 14 - .../gis/db/backends/spatialite/client.pyi | 4 - .../gis/db/backends/spatialite/features.pyi | 7 - .../db/backends/spatialite/introspection.pyi | 12 - .../gis/db/backends/spatialite/models.pyi | 36 - .../gis/db/backends/spatialite/operations.pyi | 36 - .../gis/db/backends/spatialite/schema.pyi | 25 - .../django/contrib/gis/db/backends/utils.pyi | 10 - .../django/contrib/gis/db/models/__init__.pyi | 12 - .../contrib/gis/db/models/aggregates.pyi | 39 - .../django/contrib/gis/db/models/fields.pyi | 154 - .../contrib/gis/db/models/functions.pyi | 174 - .../django/contrib/gis/db/models/lookups.pyi | 127 - .../django/contrib/gis/db/models/proxy.pyi | 8 - .../contrib/gis/db/models/sql/__init__.pyi | 0 .../contrib/gis/db/models/sql/conversion.pyi | 19 - .../stubs/django/contrib/gis/feeds.pyi | 29 - .../django/contrib/gis/forms/__init__.pyi | 0 .../stubs/django/contrib/gis/forms/fields.pyi | 34 - .../django/contrib/gis/forms/widgets.pyi | 36 - .../django/contrib/gis/gdal/__init__.pyi | 11 - .../stubs/django/contrib/gis/gdal/base.pyi | 6 - .../django/contrib/gis/gdal/datasource.pyi | 16 - .../stubs/django/contrib/gis/gdal/driver.pyi | 13 - .../django/contrib/gis/gdal/envelope.pyi | 25 - .../stubs/django/contrib/gis/gdal/error.pyi | 10 - .../stubs/django/contrib/gis/gdal/feature.pyi | 27 - .../stubs/django/contrib/gis/gdal/field.pyi | 62 - .../django/contrib/gis/gdal/geometries.pyi | 139 - .../django/contrib/gis/gdal/geomtype.pyi | 12 - .../stubs/django/contrib/gis/gdal/layer.pyi | 32 - .../stubs/django/contrib/gis/gdal/libgdal.pyi | 20 - .../contrib/gis/gdal/prototypes/__init__.pyi | 0 .../django/contrib/gis/gdal/prototypes/ds.pyi | 51 - .../contrib/gis/gdal/prototypes/errcheck.pyi | 14 - .../gis/gdal/prototypes/generation.pyi | 20 - .../contrib/gis/gdal/prototypes/geom.pyi | 56 - .../contrib/gis/gdal/prototypes/raster.pyi | 48 - .../contrib/gis/gdal/prototypes/srs.pyi | 36 - .../contrib/gis/gdal/raster/__init__.pyi | 0 .../django/contrib/gis/gdal/raster/band.pyi | 45 - .../django/contrib/gis/gdal/raster/base.pyi | 9 - .../django/contrib/gis/gdal/raster/const.pyi | 10 - .../django/contrib/gis/gdal/raster/source.pyi | 65 - .../stubs/django/contrib/gis/gdal/srs.pyi | 67 - .../django/contrib/gis/geoip2/__init__.pyi | 4 - .../stubs/django/contrib/gis/geoip2/base.pyi | 29 - .../django/contrib/gis/geoip2/resources.pyi | 4 - .../stubs/django/contrib/gis/geometry.pyi | 5 - .../django/contrib/gis/geos/__init__.pyi | 17 - .../stubs/django/contrib/gis/geos/base.pyi | 6 - .../django/contrib/gis/geos/collections.pyi | 18 - .../django/contrib/gis/geos/coordseq.pyi | 32 - .../stubs/django/contrib/gis/geos/error.pyi | 1 - .../stubs/django/contrib/gis/geos/factory.pyi | 4 - .../django/contrib/gis/geos/geometry.pyi | 139 - .../stubs/django/contrib/gis/geos/io.pyi | 11 - .../stubs/django/contrib/gis/geos/libgeos.pyi | 45 - .../django/contrib/gis/geos/linestring.pyi | 25 - .../django/contrib/gis/geos/mutable_list.pyi | 24 - .../stubs/django/contrib/gis/geos/point.pyi | 28 - .../stubs/django/contrib/gis/geos/polygon.pyi | 19 - .../django/contrib/gis/geos/prepared.pyi | 18 - .../contrib/gis/geos/prototypes/__init__.pyi | 51 - .../contrib/gis/geos/prototypes/coordseq.pyi | 35 - .../contrib/gis/geos/prototypes/errcheck.pyi | 11 - .../contrib/gis/geos/prototypes/geom.pyi | 43 - .../django/contrib/gis/geos/prototypes/io.pyi | 124 - .../contrib/gis/geos/prototypes/misc.pyi | 12 - .../gis/geos/prototypes/predicates.pyi | 29 - .../contrib/gis/geos/prototypes/prepared.pyi | 21 - .../gis/geos/prototypes/threadsafe.pyi | 24 - .../contrib/gis/geos/prototypes/topology.pyi | 29 - .../stubs/django/contrib/gis/measure.pyi | 42 - .../bundled/stubs/django/contrib/gis/ptr.pyi | 11 - .../contrib/gis/serializers/__init__.pyi | 0 .../contrib/gis/serializers/geojson.pyi | 14 - .../stubs/django/contrib/gis/shortcuts.pyi | 5 - .../django/contrib/gis/sitemaps/__init__.pyi | 2 - .../stubs/django/contrib/gis/sitemaps/kml.pyi | 13 - .../django/contrib/gis/sitemaps/views.pyi | 6 - .../django/contrib/gis/utils/__init__.pyi | 2 - .../django/contrib/gis/utils/layermapping.pyi | 62 - .../django/contrib/gis/utils/ogrinfo.pyi | 3 - .../django/contrib/gis/utils/ogrinspect.pyi | 4 - .../stubs/django/contrib/gis/utils/srs.pyi | 9 - .../stubs/django/contrib/gis/views.pyi | 3 - .../django/contrib/humanize/__init__.pyi | 0 .../stubs/django/contrib/humanize/apps.pyi | 7 - .../humanize/templatetags/__init__.pyi | 0 .../humanize/templatetags/humanize.pyi | 24 - .../django/contrib/messages/__init__.pyi | 19 - .../stubs/django/contrib/messages/api.pyi | 26 - .../stubs/django/contrib/messages/apps.pyi | 7 - .../django/contrib/messages/constants.pyi | 11 - .../contrib/messages/context_processors.pyi | 6 - .../django/contrib/messages/middleware.pyi | 7 - .../contrib/messages/storage/__init__.pyi | 6 - .../django/contrib/messages/storage/base.pyi | 28 - .../contrib/messages/storage/cookie.pyi | 20 - .../contrib/messages/storage/fallback.pyi | 8 - .../contrib/messages/storage/session.pyi | 10 - .../stubs/django/contrib/messages/utils.pyi | 3 - .../stubs/django/contrib/messages/views.pyi | 9 - .../django/contrib/postgres/__init__.pyi | 0 .../contrib/postgres/aggregates/__init__.pyi | 19 - .../contrib/postgres/aggregates/general.pyi | 11 - .../contrib/postgres/aggregates/mixins.pyi | 1 - .../postgres/aggregates/statistics.pyi | 14 - .../stubs/django/contrib/postgres/apps.pyi | 12 - .../django/contrib/postgres/constraints.pyi | 22 - .../contrib/postgres/fields/__init__.pyi | 15 - .../django/contrib/postgres/fields/array.pyi | 53 - .../django/contrib/postgres/fields/citext.pyi | 6 - .../django/contrib/postgres/fields/hstore.pyi | 17 - .../django/contrib/postgres/fields/jsonb.pyi | 8 - .../django/contrib/postgres/fields/ranges.pyi | 116 - .../django/contrib/postgres/fields/utils.pyi | 4 - .../contrib/postgres/forms/__init__.pyi | 4 - .../django/contrib/postgres/forms/array.pyi | 62 - .../django/contrib/postgres/forms/hstore.pyi | 12 - .../django/contrib/postgres/forms/jsonb.py | 9 - .../django/contrib/postgres/forms/ranges.pyi | 44 - .../django/contrib/postgres/functions.pyi | 4 - .../stubs/django/contrib/postgres/indexes.pyi | 119 - .../stubs/django/contrib/postgres/lookups.pyi | 14 - .../django/contrib/postgres/operations.pyi | 27 - .../stubs/django/contrib/postgres/search.pyi | 112 - .../django/contrib/postgres/serializers.pyi | 4 - .../stubs/django/contrib/postgres/signals.pyi | 5 - .../stubs/django/contrib/postgres/utils.pyi | 3 - .../django/contrib/postgres/validators.pyi | 17 - .../django/contrib/redirects/__init__.pyi | 0 .../stubs/django/contrib/redirects/admin.pyi | 9 - .../stubs/django/contrib/redirects/apps.pyi | 7 - .../django/contrib/redirects/middleware.pyi | 10 - .../contrib/redirects/migrations/__init__.pyi | 0 .../stubs/django/contrib/redirects/models.pyi | 6 - .../django/contrib/sessions/__init__.pyi | 0 .../stubs/django/contrib/sessions/apps.pyi | 7 - .../contrib/sessions/backends/__init__.pyi | 0 .../django/contrib/sessions/backends/base.pyi | 43 - .../contrib/sessions/backends/cache.pyi | 11 - .../contrib/sessions/backends/cached_db.pyi | 11 - .../django/contrib/sessions/backends/db.pyi | 14 - .../django/contrib/sessions/backends/file.pyi | 9 - .../sessions/backends/signed_cookies.pyi | 3 - .../django/contrib/sessions/base_session.pyi | 18 - .../django/contrib/sessions/exceptions.pyi | 4 - .../contrib/sessions/management/__init__.pyi | 0 .../sessions/management/commands/__init__.pyi | 0 .../management/commands/clearsessions.pyi | 3 - .../django/contrib/sessions/middleware.pyi | 11 - .../contrib/sessions/migrations/__init__.pyi | 0 .../stubs/django/contrib/sessions/models.pyi | 4 - .../django/contrib/sessions/serializers.pyi | 10 - .../django/contrib/sitemaps/__init__.pyi | 45 - .../stubs/django/contrib/sitemaps/apps.pyi | 7 - .../contrib/sitemaps/management/__init__.pyi | 0 .../sitemaps/management/commands/__init__.pyi | 0 .../management/commands/ping_google.pyi | 3 - .../stubs/django/contrib/sitemaps/views.pyi | 23 - .../stubs/django/contrib/sites/__init__.pyi | 0 .../stubs/django/contrib/sites/admin.pyi | 7 - .../stubs/django/contrib/sites/apps.pyi | 3 - .../stubs/django/contrib/sites/management.pyi | 13 - .../stubs/django/contrib/sites/managers.pyi | 6 - .../stubs/django/contrib/sites/middleware.pyi | 5 - .../contrib/sites/migrations/__init__.pyi | 0 .../stubs/django/contrib/sites/models.pyi | 20 - .../stubs/django/contrib/sites/requests.pyi | 10 - .../stubs/django/contrib/sites/shortcuts.pyi | 7 - .../django/contrib/staticfiles/__init__.pyi | 0 .../stubs/django/contrib/staticfiles/apps.pyi | 6 - .../django/contrib/staticfiles/checks.pyi | 6 - .../django/contrib/staticfiles/finders.pyi | 74 - .../django/contrib/staticfiles/handlers.pyi | 41 - .../staticfiles/management/__init__.pyi | 0 .../management/commands/__init__.pyi | 0 .../management/commands/collectstatic.pyi | 29 - .../management/commands/findstatic.pyi | 3 - .../management/commands/runserver.pyi | 3 - .../django/contrib/staticfiles/storage.pyi | 49 - .../django/contrib/staticfiles/testing.pyi | 3 - .../stubs/django/contrib/staticfiles/urls.pyi | 7 - .../django/contrib/staticfiles/utils.pyi | 9 - .../django/contrib/staticfiles/views.pyi | 6 - .../django/contrib/syndication/__init__.pyi | 0 .../stubs/django/contrib/syndication/apps.pyi | 7 - .../django/contrib/syndication/views.pyi | 57 - .../bundled/stubs/django/core/__init__.pyi | 0 .../dist/bundled/stubs/django/core/asgi.pyi | 3 - .../stubs/django/core/cache/__init__.pyi | 20 - .../django/core/cache/backends/__init__.pyi | 0 .../stubs/django/core/cache/backends/base.pyi | 41 - .../stubs/django/core/cache/backends/db.pyi | 22 - .../django/core/cache/backends/dummy.pyi | 6 - .../django/core/cache/backends/filebased.pyi | 7 - .../django/core/cache/backends/locmem.pyi | 6 - .../django/core/cache/backends/memcached.pyi | 10 - .../bundled/stubs/django/core/cache/utils.pyi | 5 - .../stubs/django/core/checks/__init__.pyi | 16 - .../stubs/django/core/checks/async_checks.pyi | 8 - .../stubs/django/core/checks/caches.pyi | 14 - .../core/checks/compatibility/__init__.pyi | 0 .../stubs/django/core/checks/database.pyi | 5 - .../stubs/django/core/checks/messages.pyi | 34 - .../stubs/django/core/checks/model_checks.pyi | 9 - .../stubs/django/core/checks/registry.pyi | 54 - .../django/core/checks/security/__init__.pyi | 0 .../django/core/checks/security/base.pyi | 36 - .../django/core/checks/security/csrf.pyi | 10 - .../django/core/checks/security/sessions.pyi | 19 - .../stubs/django/core/checks/templates.pyi | 10 - .../stubs/django/core/checks/translation.pyi | 17 - .../bundled/stubs/django/core/checks/urls.pyi | 12 - .../bundled/stubs/django/core/exceptions.pyi | 67 - .../stubs/django/core/files/__init__.pyi | 3 - .../bundled/stubs/django/core/files/base.pyi | 48 - .../stubs/django/core/files/images.pyi | 14 - .../bundled/stubs/django/core/files/locks.pyi | 15 - .../bundled/stubs/django/core/files/move.pyi | 3 - .../stubs/django/core/files/storage.pyi | 49 - .../bundled/stubs/django/core/files/temp.pyi | 5 - .../stubs/django/core/files/uploadedfile.pyi | 50 - .../stubs/django/core/files/uploadhandler.pyi | 89 - .../bundled/stubs/django/core/files/utils.pyi | 28 - .../stubs/django/core/handlers/__init__.pyi | 0 .../stubs/django/core/handlers/asgi.pyi | 65 - .../stubs/django/core/handlers/base.pyi | 22 - .../stubs/django/core/handlers/exception.pyi | 14 - .../stubs/django/core/handlers/wsgi.pyi | 38 - .../stubs/django/core/mail/__init__.pyi | 47 - .../django/core/mail/backends/__init__.pyi | 0 .../stubs/django/core/mail/backends/base.pyi | 16 - .../django/core/mail/backends/console.pyi | 3 - .../stubs/django/core/mail/backends/dummy.pyi | 3 - .../django/core/mail/backends/filebased.pyi | 3 - .../django/core/mail/backends/locmem.pyi | 3 - .../stubs/django/core/mail/backends/smtp.pyi | 18 - .../stubs/django/core/mail/message.pyi | 123 - .../bundled/stubs/django/core/mail/utils.pyi | 6 - .../stubs/django/core/management/__init__.pyi | 21 - .../stubs/django/core/management/base.pyi | 100 - .../stubs/django/core/management/color.pyi | 26 - .../core/management/commands/__init__.pyi | 0 .../django/core/management/commands/check.pyi | 10 - .../management/commands/compilemessages.pyi | 20 - .../management/commands/createcachetable.pyi | 18 - .../core/management/commands/dbshell.pyi | 7 - .../core/management/commands/diffsettings.pyi | 13 - .../core/management/commands/dumpdata.pyi | 4 - .../django/core/management/commands/flush.pyi | 15 - .../core/management/commands/inspectdb.pyi | 22 - .../core/management/commands/loaddata.pyi | 35 - .../core/management/commands/makemessages.pyi | 38 - .../management/commands/makemigrations.pyi | 31 - .../core/management/commands/migrate.pyi | 29 - .../core/management/commands/runserver.pyi | 7 - .../management/commands/sendtestemail.pyi | 8 - .../django/core/management/commands/shell.pyi | 11 - .../management/commands/showmigrations.pyi | 13 - .../core/management/commands/sqlflush.pyi | 7 - .../core/management/commands/sqlmigrate.pyi | 13 - .../management/commands/sqlsequencereset.pyi | 5 - .../management/commands/squashmigrations.pyi | 19 - .../core/management/commands/startapp.pyi | 6 - .../core/management/commands/startproject.pyi | 6 - .../django/core/management/commands/test.pyi | 11 - .../core/management/commands/testserver.pyi | 3 - .../stubs/django/core/management/sql.pyi | 13 - .../django/core/management/templates.pyi | 21 - .../stubs/django/core/management/utils.pyi | 18 - .../bundled/stubs/django/core/paginator.pyi | 68 - .../django/core/serializers/__init__.pyi | 29 - .../stubs/django/core/serializers/base.pyi | 88 - .../stubs/django/core/serializers/json.pyi | 20 - .../stubs/django/core/serializers/jsonl.pyi | 11 - .../stubs/django/core/serializers/python.pyi | 13 - .../stubs/django/core/serializers/pyyaml.pyi | 20 - .../core/serializers/xml_serializer.pyi | 66 - .../stubs/django/core/servers/__init__.pyi | 0 .../stubs/django/core/servers/basehttp.pyi | 36 - .../bundled/stubs/django/core/signals.pyi | 6 - .../bundled/stubs/django/core/signing.pyi | 66 - .../bundled/stubs/django/core/validators.pyi | 146 - .../dist/bundled/stubs/django/core/wsgi.pyi | 3 - .../dist/bundled/stubs/django/db/__init__.pyi | 27 - .../stubs/django/db/backends/__init__.pyi | 0 .../django/db/backends/base/__init__.pyi | 0 .../stubs/django/db/backends/base/base.pyi | 112 - .../stubs/django/db/backends/base/client.pyi | 15 - .../django/db/backends/base/creation.pyi | 28 - .../django/db/backends/base/features.pyi | 129 - .../django/db/backends/base/introspection.pyi | 31 - .../django/db/backends/base/operations.pyi | 106 - .../stubs/django/db/backends/base/schema.pyi | 80 - .../django/db/backends/base/validation.pyi | 10 - .../django/db/backends/ddl_references.pyi | 88 - .../django/db/backends/dummy/__init__.pyi | 0 .../stubs/django/db/backends/dummy/base.pyi | 30 - .../django/db/backends/dummy/features.pyi | 5 - .../django/db/backends/mysql/__init__.pyi | 0 .../stubs/django/db/backends/mysql/base.pyi | 77 - .../stubs/django/db/backends/mysql/client.pyi | 14 - .../django/db/backends/mysql/compiler.pyi | 14 - .../django/db/backends/mysql/creation.pyi | 6 - .../django/db/backends/mysql/features.pyi | 87 - .../db/backends/mysql/introspection.pyi | 33 - .../django/db/backends/mysql/operations.pyi | 43 - .../stubs/django/db/backends/mysql/schema.pyi | 26 - .../django/db/backends/mysql/validation.pyi | 9 - .../django/db/backends/oracle/__init__.pyi | 0 .../stubs/django/db/backends/oracle/base.pyi | 77 - .../django/db/backends/oracle/client.pyi | 15 - .../django/db/backends/oracle/creation.pyi | 11 - .../django/db/backends/oracle/features.pyi | 51 - .../django/db/backends/oracle/functions.pyi | 13 - .../db/backends/oracle/introspection.pyi | 21 - .../django/db/backends/oracle/operations.pyi | 59 - .../django/db/backends/oracle/schema.pyi | 23 - .../stubs/django/db/backends/oracle/utils.pyi | 24 - .../django/db/backends/oracle/validation.pyi | 8 - .../db/backends/postgresql/__init__.pyi | 0 .../django/db/backends/postgresql/base.pyi | 41 - .../django/db/backends/postgresql/client.pyi | 13 - .../db/backends/postgresql/creation.pyi | 5 - .../db/backends/postgresql/features.pyi | 60 - .../db/backends/postgresql/introspection.pyi | 16 - .../db/backends/postgresql/operations.pyi | 5 - .../django/db/backends/postgresql/schema.pyi | 21 - .../backends/postgresql/test_import_all.yml | 581 --- .../stubs/django/db/backends/signals.pyi | 3 - .../django/db/backends/sqlite3/__init__.pyi | 0 .../stubs/django/db/backends/sqlite3/base.pyi | 33 - .../django/db/backends/sqlite3/client.pyi | 12 - .../django/db/backends/sqlite3/creation.pyi | 5 - .../django/db/backends/sqlite3/features.pyi | 5 - .../db/backends/sqlite3/introspection.pyi | 15 - .../django/db/backends/sqlite3/operations.pyi | 3 - .../django/db/backends/sqlite3/schema.pyi | 5 - .../stubs/django/db/backends/utils.pyi | 71 - .../stubs/django/db/migrations/__init__.pyi | 7 - .../django/db/migrations/autodetector.pyi | 65 - .../stubs/django/db/migrations/exceptions.pyi | 20 - .../stubs/django/db/migrations/executor.pyi | 48 - .../stubs/django/db/migrations/graph.pyi | 55 - .../stubs/django/db/migrations/loader.pyi | 43 - .../stubs/django/db/migrations/migration.pyi | 29 - .../db/migrations/operations/__init__.pyi | 20 - .../django/db/migrations/operations/base.pyi | 18 - .../db/migrations/operations/fields.pyi | 37 - .../db/migrations/operations/models.pyi | 115 - .../db/migrations/operations/special.pyi | 57 - .../django/db/migrations/operations/utils.pyi | 29 - .../stubs/django/db/migrations/optimizer.pyi | 7 - .../stubs/django/db/migrations/questioner.pyi | 25 - .../stubs/django/db/migrations/recorder.pyi | 21 - .../stubs/django/db/migrations/serializer.pyi | 46 - .../stubs/django/db/migrations/state.pyi | 74 - .../stubs/django/db/migrations/utils.pyi | 10 - .../stubs/django/db/migrations/writer.pyi | 37 - .../stubs/django/db/models/__init__.pyi | 104 - .../stubs/django/db/models/aggregates.pyi | 18 - .../bundled/stubs/django/db/models/base.pyi | 65 - .../stubs/django/db/models/constants.pyi | 1 - .../stubs/django/db/models/constraints.pyi | 48 - .../stubs/django/db/models/deletion.pyi | 111 - .../bundled/stubs/django/db/models/enums.pyi | 38 - .../stubs/django/db/models/expressions.pyi | 237 - .../django/db/models/fields/__init__.pyi | 597 --- .../stubs/django/db/models/fields/files.pyi | 116 - .../stubs/django/db/models/fields/json.pyi | 78 - .../stubs/django/db/models/fields/mixins.pyi | 15 - .../stubs/django/db/models/fields/proxy.pyi | 6 - .../stubs/django/db/models/fields/related.pyi | 278 - .../db/models/fields/related_descriptors.pyi | 79 - .../db/models/fields/related_lookups.pyi | 45 - .../db/models/fields/reverse_related.pyi | 137 - .../django/db/models/functions/__init__.pyi | 86 - .../django/db/models/functions/comparison.pyi | 17 - .../django/db/models/functions/datetime.pyi | 51 - .../stubs/django/db/models/functions/math.pyi | 26 - .../django/db/models/functions/mixins.pyi | 3 - .../stubs/django/db/models/functions/text.pyi | 113 - .../django/db/models/functions/window.pyi | 37 - .../stubs/django/db/models/indexes.pyi | 57 - .../stubs/django/db/models/lookups.pyi | 141 - .../stubs/django/db/models/manager.pyi | 147 - .../stubs/django/db/models/options.pyi | 120 - .../bundled/stubs/django/db/models/query.pyi | 187 - .../stubs/django/db/models/query_utils.pyi | 106 - .../stubs/django/db/models/signals.pyi | 34 - .../stubs/django/db/models/sql/__init__.pyi | 6 - .../stubs/django/db/models/sql/compiler.pyi | 154 - .../stubs/django/db/models/sql/constants.pyi | 20 - .../django/db/models/sql/datastructures.pyi | 49 - .../stubs/django/db/models/sql/query.pyi | 218 - .../stubs/django/db/models/sql/subqueries.pyi | 42 - .../stubs/django/db/models/sql/where.pyi | 52 - .../bundled/stubs/django/db/models/utils.pyi | 8 - .../bundled/stubs/django/db/transaction.pyi | 55 - .../dist/bundled/stubs/django/db/utils.pyi | 49 - .../stubs/django/dispatch/__init__.pyi | 2 - .../stubs/django/dispatch/dispatcher.pyi | 23 - .../bundled/stubs/django/forms/__init__.pyi | 80 - .../bundled/stubs/django/forms/boundfield.pyi | 69 - .../bundled/stubs/django/forms/fields.pyi | 535 -- .../dist/bundled/stubs/django/forms/forms.pyi | 81 - .../bundled/stubs/django/forms/formsets.pyi | 114 - .../bundled/stubs/django/forms/models.pyi | 334 -- .../bundled/stubs/django/forms/renderers.pyi | 28 - .../dist/bundled/stubs/django/forms/utils.pyi | 37 - .../bundled/stubs/django/forms/widgets.pyi | 289 -- .../bundled/stubs/django/http/__init__.pyi | 21 - .../dist/bundled/stubs/django/http/cookie.pyi | 5 - .../stubs/django/http/multipartparser.pyi | 63 - .../bundled/stubs/django/http/request.pyi | 130 - .../bundled/stubs/django/http/response.pyi | 158 - .../stubs/django/middleware/__init__.pyi | 0 .../bundled/stubs/django/middleware/cache.pyi | 34 - .../stubs/django/middleware/clickjacking.pyi | 7 - .../stubs/django/middleware/common.pyi | 17 - .../bundled/stubs/django/middleware/csrf.pyi | 30 - .../bundled/stubs/django/middleware/gzip.pyi | 10 - .../bundled/stubs/django/middleware/http.pyi | 7 - .../stubs/django/middleware/locale.pyi | 10 - .../stubs/django/middleware/security.pyi | 17 - .../dist/bundled/stubs/django/shortcuts.pyi | 45 - .../stubs/django/template/__init__.pyi | 20 - .../django/template/backends/__init__.pyi | 0 .../stubs/django/template/backends/base.pyi | 16 - .../stubs/django/template/backends/django.pyi | 16 - .../stubs/django/template/backends/dummy.pyi | 14 - .../stubs/django/template/backends/jinja2.pyi | 18 - .../stubs/django/template/backends/utils.pyi | 9 - .../bundled/stubs/django/template/base.pyi | 185 - .../bundled/stubs/django/template/context.pyi | 80 - .../django/template/context_processors.pyi | 14 - .../stubs/django/template/defaultfilters.pyi | 68 - .../stubs/django/template/defaulttags.pyi | 204 - .../bundled/stubs/django/template/engine.pyi | 55 - .../stubs/django/template/exceptions.pyi | 18 - .../bundled/stubs/django/template/library.pyi | 117 - .../bundled/stubs/django/template/loader.pyi | 15 - .../stubs/django/template/loader_tags.pyi | 68 - .../django/template/loaders/__init__.pyi | 0 .../template/loaders/app_directories.pyi | 3 - .../stubs/django/template/loaders/base.pyi | 12 - .../stubs/django/template/loaders/cached.pyi | 14 - .../django/template/loaders/filesystem.pyi | 13 - .../stubs/django/template/loaders/locmem.pyi | 11 - .../stubs/django/template/response.pyi | 72 - .../bundled/stubs/django/template/smartif.pyi | 43 - .../bundled/stubs/django/template/utils.pyi | 16 - .../stubs/django/templatetags/__init__.pyi | 0 .../stubs/django/templatetags/cache.pyi | 23 - .../stubs/django/templatetags/i18n.pyi | 92 - .../stubs/django/templatetags/l10n.pyi | 16 - .../stubs/django/templatetags/static.pyi | 32 - .../bundled/stubs/django/templatetags/tz.pyi | 32 - .../bundled/stubs/django/test/__init__.pyi | 15 - .../dist/bundled/stubs/django/test/client.pyi | 176 - .../dist/bundled/stubs/django/test/html.pyi | 38 - .../dist/bundled/stubs/django/test/runner.pyi | 143 - .../bundled/stubs/django/test/selenium.pyi | 17 - .../bundled/stubs/django/test/signals.pyi | 22 - .../bundled/stubs/django/test/testcases.pyi | 250 - .../dist/bundled/stubs/django/test/utils.pyi | 155 - .../bundled/stubs/django/urls/__init__.pyi | 36 - .../dist/bundled/stubs/django/urls/base.pyi | 29 - .../dist/bundled/stubs/django/urls/conf.pyi | 33 - .../bundled/stubs/django/urls/converters.pyi | 27 - .../bundled/stubs/django/urls/exceptions.pyi | 4 - .../bundled/stubs/django/urls/resolvers.pyi | 125 - .../dist/bundled/stubs/django/urls/utils.pyi | 4 - .../bundled/stubs/django/utils/__init__.pyi | 0 .../dist/bundled/stubs/django/utils/_os.pyi | 9 - .../bundled/stubs/django/utils/archive.pyi | 41 - .../bundled/stubs/django/utils/asyncio.pyi | 3 - .../bundled/stubs/django/utils/autoreload.pyi | 70 - .../bundled/stubs/django/utils/baseconv.pyi | 24 - .../dist/bundled/stubs/django/utils/cache.pyi | 31 - .../bundled/stubs/django/utils/connection.pyi | 28 - .../bundled/stubs/django/utils/crypto.pyi | 22 - .../stubs/django/utils/datastructures.pyi | 132 - .../bundled/stubs/django/utils/dateformat.pyi | 71 - .../bundled/stubs/django/utils/dateparse.pyi | 16 - .../dist/bundled/stubs/django/utils/dates.pyi | 8 - .../stubs/django/utils/datetime_safe.pyi | 12 - .../stubs/django/utils/deconstruct.pyi | 3 - .../bundled/stubs/django/utils/decorators.pyi | 18 - .../stubs/django/utils/deprecation.pyi | 35 - .../bundled/stubs/django/utils/duration.pyi | 5 - .../bundled/stubs/django/utils/encoding.pyi | 87 - .../stubs/django/utils/feedgenerator.pyi | 76 - .../bundled/stubs/django/utils/formats.pyi | 50 - .../bundled/stubs/django/utils/functional.pyi | 87 - .../bundled/stubs/django/utils/hashable.pyi | 3 - .../dist/bundled/stubs/django/utils/html.pyi | 34 - .../dist/bundled/stubs/django/utils/http.pyi | 41 - .../bundled/stubs/django/utils/inspect.pyi | 8 - .../dist/bundled/stubs/django/utils/ipv6.pyi | 4 - .../bundled/stubs/django/utils/itercompat.pyi | 3 - .../dist/bundled/stubs/django/utils/jslex.pyi | 26 - .../dist/bundled/stubs/django/utils/log.pyi | 51 - .../stubs/django/utils/lorem_ipsum.pyi | 10 - .../stubs/django/utils/module_loading.pyi | 6 - .../stubs/django/utils/numberformat.pyi | 12 - .../stubs/django/utils/regex_helper.pyi | 21 - .../bundled/stubs/django/utils/safestring.pyi | 24 - .../bundled/stubs/django/utils/termcolors.pyi | 18 - .../dist/bundled/stubs/django/utils/text.pyi | 44 - .../bundled/stubs/django/utils/timesince.pyi | 16 - .../bundled/stubs/django/utils/timezone.pyi | 67 - .../stubs/django/utils/topological_sort.pyi | 6 - .../django/utils/translation/__init__.pyi | 72 - .../django/utils/translation/reloader.pyi | 7 - .../django/utils/translation/template.pyi | 14 - .../django/utils/translation/trans_null.pyi | 27 - .../django/utils/translation/trans_real.pyi | 66 - .../dist/bundled/stubs/django/utils/tree.pyi | 21 - .../bundled/stubs/django/utils/version.pyi | 15 - .../bundled/stubs/django/utils/xmlutils.pyi | 11 - .../bundled/stubs/django/views/__init__.pyi | 1 - .../dist/bundled/stubs/django/views/csrf.pyi | 7 - .../dist/bundled/stubs/django/views/debug.pyi | 68 - .../django/views/decorators/__init__.pyi | 0 .../stubs/django/views/decorators/cache.pyi | 9 - .../django/views/decorators/clickjacking.pyi | 7 - .../stubs/django/views/decorators/common.pyi | 5 - .../stubs/django/views/decorators/csrf.pyi | 19 - .../stubs/django/views/decorators/debug.pyi | 4 - .../stubs/django/views/decorators/gzip.pyi | 5 - .../stubs/django/views/decorators/http.pyi | 15 - .../stubs/django/views/decorators/vary.pyi | 6 - .../bundled/stubs/django/views/defaults.pyi | 23 - .../stubs/django/views/generic/__init__.pyi | 18 - .../stubs/django/views/generic/base.pyi | 47 - .../stubs/django/views/generic/dates.pyi | 114 - .../stubs/django/views/generic/detail.pyi | 29 - .../stubs/django/views/generic/edit.pyi | 79 - .../stubs/django/views/generic/list.pyi | 45 - .../dist/bundled/stubs/django/views/i18n.pyi | 27 - .../bundled/stubs/django/views/static.pyi | 14 - .../dist/bundled/stubs/gym-stubs/core.pyi | 59 - .../stubs/gym-stubs/envs/registration.pyi | 29 - .../dist/bundled/stubs/gym-stubs/logger.pyi | 18 - .../dist/bundled/stubs/gym-stubs/py.typed | 1 - .../bundled/stubs/gym-stubs/spaces/box.pyi | 13 - .../bundled/stubs/gym-stubs/spaces/dict.pyi | 7 - .../stubs/gym-stubs/spaces/discrete.pyi | 4 - .../stubs/gym-stubs/spaces/multi_binary.pyi | 6 - .../stubs/gym-stubs/spaces/multi_discrete.pyi | 5 - .../bundled/stubs/gym-stubs/spaces/space.pyi | 19 - .../bundled/stubs/gym-stubs/spaces/tuple.pyi | 8 - .../bundled/stubs/gym-stubs/spaces/utils.pyi | 10 - .../stubs/gym-stubs/vector/__init__.pyi | 15 - .../gym-stubs/vector/async_vector_env.pyi | 28 - .../gym-stubs/vector/sync_vector_env.pyi | 18 - .../stubs/gym-stubs/vector/vector_env.pyi | 28 - .../stubs/gym-stubs/wrappers/time_limit.pyi | 6 - .../dist/bundled/stubs/jmespath/__init__.pyi | 16 - .../bundled/stubs/jmespath/exceptions.pyi | 64 - .../dist/bundled/stubs/jmespath/functions.pyi | 6 - .../dist/bundled/stubs/jmespath/parser.pyi | 15 - .../dist/bundled/stubs/jmespath/visitor.pyi | 11 - .../bundled/stubs/matplotlib/__init__.pyi | 44 - .../dist/bundled/stubs/matplotlib/_typing.pyi | 15 - .../dist/bundled/stubs/matplotlib/afm.pyi | 76 - .../bundled/stubs/matplotlib/animation.pyi | 205 - .../dist/bundled/stubs/matplotlib/artist.pyi | 8 - .../stubs/matplotlib/axes/__init__.pyi | 2 - .../bundled/stubs/matplotlib/axes/_axes.pyi | 966 ---- .../bundled/stubs/matplotlib/axes/_base.pyi | 8 - .../stubs/matplotlib/axes/_secondary_axes.pyi | 4 - .../stubs/matplotlib/axes/_subplots.pyi | 11 - .../dist/bundled/stubs/matplotlib/axis.pyi | 133 - .../stubs/matplotlib/backend_bases.pyi | 19 - .../stubs/matplotlib/backend_managers.pyi | 4 - .../stubs/matplotlib/backend_tools.pyi | 4 - .../stubs/matplotlib/backends/__init__.pyi | 4 - .../dist/bundled/stubs/matplotlib/bezier.pyi | 4 - .../stubs/matplotlib/blocking_input.pyi | 4 - .../bundled/stubs/matplotlib/category.pyi | 4 - .../stubs/matplotlib/cbook/__init__.pyi | 132 - .../dist/bundled/stubs/matplotlib/cm.pyi | 44 - .../bundled/stubs/matplotlib/collections.pyi | 32 - .../bundled/stubs/matplotlib/colorbar.pyi | 11 - .../dist/bundled/stubs/matplotlib/colors.pyi | 196 - .../bundled/stubs/matplotlib/container.pyi | 44 - .../dist/bundled/stubs/matplotlib/contour.pyi | 16 - .../dist/bundled/stubs/matplotlib/dates.pyi | 4 - .../bundled/stubs/matplotlib/docstring.pyi | 4 - .../dist/bundled/stubs/matplotlib/dviread.pyi | 4 - .../dist/bundled/stubs/matplotlib/figure.pyi | 10 - .../bundled/stubs/matplotlib/font_manager.pyi | 166 - .../stubs/matplotlib/fontconfig_pattern.pyi | 4 - .../dist/bundled/stubs/matplotlib/ft2font.pyi | 273 - .../bundled/stubs/matplotlib/gridspec.pyi | 4 - .../dist/bundled/stubs/matplotlib/image.pyi | 155 - .../dist/bundled/stubs/matplotlib/legend.pyi | 10 - .../stubs/matplotlib/legend_handler.pyi | 4 - .../dist/bundled/stubs/matplotlib/lines.pyi | 42 - .../dist/bundled/stubs/matplotlib/markers.pyi | 8 - .../bundled/stubs/matplotlib/mathtext.pyi | 4 - .../dist/bundled/stubs/matplotlib/mlab.pyi | 4 - .../bundled/stubs/matplotlib/offsetbox.pyi | 4 - .../dist/bundled/stubs/matplotlib/patches.pyi | 22 - .../dist/bundled/stubs/matplotlib/path.pyi | 4 - .../bundled/stubs/matplotlib/patheffects.pyi | 4 - .../stubs/matplotlib/projections/__init__.pyi | 4 - .../matplotlib/projections/plot_directive.pyi | 4 - .../dist/bundled/stubs/matplotlib/pyplot.pyi | 924 ---- .../dist/bundled/stubs/matplotlib/quiver.pyi | 17 - .../dist/bundled/stubs/matplotlib/rcsetup.pyi | 4 - .../dist/bundled/stubs/matplotlib/sankey.pyi | 4 - .../dist/bundled/stubs/matplotlib/scale.pyi | 4 - .../dist/bundled/stubs/matplotlib/spines.pyi | 4 - .../bundled/stubs/matplotlib/stackplot.pyi | 4 - .../bundled/stubs/matplotlib/streamplot.pyi | 4 - .../bundled/stubs/matplotlib/streamploy.pyi | 8 - .../stubs/matplotlib/style/__init__.pyi | 16 - .../dist/bundled/stubs/matplotlib/table.pyi | 4 - .../stubs/matplotlib/testing/__init__.pyi | 4 - .../dist/bundled/stubs/matplotlib/text.pyi | 53 - .../bundled/stubs/matplotlib/textmanager.pyi | 4 - .../bundled/stubs/matplotlib/textpath.pyi | 4 - .../dist/bundled/stubs/matplotlib/ticker.pyi | 12 - .../bundled/stubs/matplotlib/tight_layout.pyi | 4 - .../bundled/stubs/matplotlib/transforms.pyi | 27 - .../bundled/stubs/matplotlib/tri/__init__.pyi | 4 - .../bundled/stubs/matplotlib/type1font.pyi | 4 - .../dist/bundled/stubs/matplotlib/units.pyi | 4 - .../dist/bundled/stubs/matplotlib/widgets.pyi | 11 - .../dist/bundled/stubs/openpyxl/LICENSE | 21 - .../dist/bundled/stubs/openpyxl/__init__.pyi | 17 - .../bundled/stubs/openpyxl/cell/__init__.pyi | 2 - .../bundled/stubs/openpyxl/cell/_writer.pyi | 7 - .../dist/bundled/stubs/openpyxl/cell/cell.pyi | 112 - .../dist/bundled/stubs/openpyxl/cell/text.pyi | 59 - .../bundled/stubs/openpyxl/chart/__init__.pyi | 0 .../bundled/stubs/openpyxl/chart/axis.pyi | 106 - .../dist/bundled/stubs/openpyxl/commit.txt | 1 - .../stubs/openpyxl/reader/__init__.pyi | 0 .../stubs/openpyxl/reader/drawings.pyi | 19 - .../bundled/stubs/openpyxl/reader/excel.pyi | 41 - .../bundled/stubs/openpyxl/reader/strings.pyi | 8 - .../stubs/openpyxl/reader/workbook.pyi | 24 - .../stubs/openpyxl/styles/__init__.pyi | 16 - .../stubs/openpyxl/styles/alignment.pyi | 25 - .../bundled/stubs/openpyxl/styles/borders.pyi | 49 - .../bundled/stubs/openpyxl/styles/colors.pyi | 196 - .../stubs/openpyxl/styles/differential.pyi | 25 - .../bundled/stubs/openpyxl/styles/fills.pyi | 124 - .../bundled/stubs/openpyxl/styles/fonts.pyi | 49 - .../stubs/openpyxl/styles/named_styles.pyi | 72 - .../bundled/stubs/openpyxl/styles/numbers.pyi | 112 - .../stubs/openpyxl/styles/protection.pyi | 6 - .../stubs/openpyxl/styles/styleable.pyi | 126 - .../bundled/stubs/openpyxl/utils/__init__.pyi | 21 - .../bundled/stubs/openpyxl/utils/cell.pyi | 25 - .../bundled/stubs/openpyxl/utils/escape.py | 6 - .../bundled/stubs/openpyxl/utils/escape.pyi | 2 - .../bundled/stubs/openpyxl/utils/formulas.pyi | 356 -- .../stubs/openpyxl/workbook/__init__.pyi | 1 - .../bundled/stubs/openpyxl/workbook/child.pyi | 30 - .../stubs/openpyxl/workbook/workbook.pyi | 71 - .../stubs/openpyxl/worksheet/__init__.pyi | 0 .../stubs/openpyxl/worksheet/_reader.pyi | 62 - .../stubs/openpyxl/worksheet/_writer.pyi | 53 - .../stubs/openpyxl/worksheet/copier.pyi | 16 - .../stubs/openpyxl/worksheet/worksheet.pyi | 219 - .../bundled/stubs/openpyxl/xml/__init__.pyi | 3 - .../dist/bundled/stubs/pandas/__init__.pyi | 116 - .../bundled/stubs/pandas/_config/__init__.pyi | 8 - .../bundled/stubs/pandas/_config/config.pyi | 20 - .../bundled/stubs/pandas/_libs/__init__.pyi | 4 - .../bundled/stubs/pandas/_libs/indexing.pyi | 6 - .../bundled/stubs/pandas/_libs/interval.pyi | 153 - .../dist/bundled/stubs/pandas/_libs/json.pyi | 4 - .../dist/bundled/stubs/pandas/_libs/lib.pyi | 2 - .../bundled/stubs/pandas/_libs/missing.pyi | 48 - .../stubs/pandas/_libs/ops_dispatch.pyi | 5 - .../bundled/stubs/pandas/_libs/properties.pyi | 13 - .../bundled/stubs/pandas/_libs/sparse.pyi | 3 - .../stubs/pandas/_libs/tslibs/__init__.pyi | 24 - .../stubs/pandas/_libs/tslibs/base.pyi | 3 - .../stubs/pandas/_libs/tslibs/ccalendar.pyi | 14 - .../stubs/pandas/_libs/tslibs/conversion.pyi | 5 - .../stubs/pandas/_libs/tslibs/dtypes.pyi | 59 - .../stubs/pandas/_libs/tslibs/nattype.pyi | 123 - .../stubs/pandas/_libs/tslibs/np_datetime.pyi | 1 - .../stubs/pandas/_libs/tslibs/offsets.pyi | 241 - .../stubs/pandas/_libs/tslibs/parsing.pyi | 6 - .../stubs/pandas/_libs/tslibs/period.pyi | 89 - .../stubs/pandas/_libs/tslibs/strptime.pyi | 3 - .../stubs/pandas/_libs/tslibs/timedeltas.pyi | 148 - .../stubs/pandas/_libs/tslibs/timestamps.pyi | 193 - .../pandas/_libs/tslibs/tzconversion.pyi | 2 - .../stubs/pandas/_libs/tslibs/vectorized.pyi | 18 - .../stubs/pandas/_libs/window/__init__.pyi | 0 .../dist/bundled/stubs/pandas/_testing.pyi | 121 - .../dist/bundled/stubs/pandas/_typing.pyi | 141 - .../dist/bundled/stubs/pandas/_version.pyi | 3 - .../bundled/stubs/pandas/api/__init__.pyi | 4 - .../stubs/pandas/api/extensions/__init__.pyi | 7 - .../stubs/pandas/api/indexers/__init__.pyi | 7 - .../stubs/pandas/api/types/__init__.pyi | 5 - .../bundled/stubs/pandas/arrays/__init__.pyi | 13 - .../bundled/stubs/pandas/compat/__init__.pyi | 10 - .../bundled/stubs/pandas/compat/_optional.pyi | 3 - .../stubs/pandas/compat/numpy/__init__.pyi | 6 - .../stubs/pandas/compat/pickle_compat.pyi | 8 - .../bundled/stubs/pandas/core/__init__.pyi | 0 .../bundled/stubs/pandas/core/accessor.pyi | 16 - .../bundled/stubs/pandas/core/algorithms.pyi | 170 - .../dist/bundled/stubs/pandas/core/api.pyi | 52 - .../dist/bundled/stubs/pandas/core/apply.pyi | 74 - .../bundled/stubs/pandas/core/arraylike.pyi | 38 - .../stubs/pandas/core/arrays/__init__.pyi | 14 - .../stubs/pandas/core/arrays/_arrow_utils.pyi | 0 .../stubs/pandas/core/arrays/_ranges.pyi | 0 .../bundled/stubs/pandas/core/arrays/base.pyi | 39 - .../stubs/pandas/core/arrays/boolean.pyi | 30 - .../stubs/pandas/core/arrays/categorical.pyi | 162 - .../stubs/pandas/core/arrays/datetimelike.pyi | 81 - .../stubs/pandas/core/arrays/datetimes.pyi | 67 - .../stubs/pandas/core/arrays/integer.pyi | 52 - .../stubs/pandas/core/arrays/interval.pyi | 61 - .../stubs/pandas/core/arrays/masked.pyi | 19 - .../stubs/pandas/core/arrays/numpy_.pyi | 56 - .../stubs/pandas/core/arrays/period.pyi | 43 - .../pandas/core/arrays/sparse/__init__.pyi | 3 - .../pandas/core/arrays/sparse/accessor.pyi | 22 - .../stubs/pandas/core/arrays/sparse/array.pyi | 84 - .../stubs/pandas/core/arrays/sparse/dtype.pyi | 31 - .../core/arrays/sparse/scipy_sparse.pyi | 2 - .../stubs/pandas/core/arrays/string_.pyi | 20 - .../stubs/pandas/core/arrays/timedeltas.pyi | 38 - .../dist/bundled/stubs/pandas/core/base.pyi | 77 - .../dist/bundled/stubs/pandas/core/common.pyi | 36 - .../pandas/core/computation/__init__.pyi | 0 .../stubs/pandas/core/computation/align.pyi | 2 - .../stubs/pandas/core/computation/api.pyi | 1 - .../stubs/pandas/core/computation/check.pyi | 0 .../stubs/pandas/core/computation/common.pyi | 3 - .../stubs/pandas/core/computation/engines.pyi | 19 - .../stubs/pandas/core/computation/eval.pyi | 3 - .../stubs/pandas/core/computation/expr.pyi | 68 - .../pandas/core/computation/expressions.pyi | 6 - .../stubs/pandas/core/computation/ops.pyi | 91 - .../stubs/pandas/core/computation/parsing.pyi | 12 - .../pandas/core/computation/pytables.pyi | 97 - .../stubs/pandas/core/computation/scope.pyi | 18 - .../bundled/stubs/pandas/core/config_init.pyi | 62 - .../stubs/pandas/core/construction.pyi | 13 - .../stubs/pandas/core/dtypes/__init__.pyi | 0 .../bundled/stubs/pandas/core/dtypes/api.pyi | 42 - .../bundled/stubs/pandas/core/dtypes/base.pyi | 22 - .../bundled/stubs/pandas/core/dtypes/cast.pyi | 30 - .../stubs/pandas/core/dtypes/common.pyi | 75 - .../stubs/pandas/core/dtypes/concat.pyi | 5 - .../stubs/pandas/core/dtypes/dtypes.pyi | 123 - .../stubs/pandas/core/dtypes/generic.pyi | 76 - .../stubs/pandas/core/dtypes/inference.pyi | 19 - .../stubs/pandas/core/dtypes/missing.pyi | 25 - .../dist/bundled/stubs/pandas/core/frame.pyi | 3765 -------------- .../bundled/stubs/pandas/core/generic.pyi | 383 -- .../stubs/pandas/core/groupby/__init__.pyi | 2 - .../stubs/pandas/core/groupby/base.pyi | 19 - .../stubs/pandas/core/groupby/categorical.pyi | 4 - .../stubs/pandas/core/groupby/generic.pyi | 901 ---- .../stubs/pandas/core/groupby/groupby.pyi | 131 - .../stubs/pandas/core/groupby/grouper.pyi | 46 - .../bundled/stubs/pandas/core/groupby/ops.pyi | 82 - .../dist/bundled/stubs/pandas/core/index.pyi | 0 .../bundled/stubs/pandas/core/indexers.pyi | 78 - .../stubs/pandas/core/indexes/__init__.pyi | 0 .../stubs/pandas/core/indexes/accessors.pyi | 25 - .../bundled/stubs/pandas/core/indexes/api.pyi | 14 - .../stubs/pandas/core/indexes/base.pyi | 228 - .../stubs/pandas/core/indexes/category.pyi | 41 - .../pandas/core/indexes/datetimelike.pyi | 34 - .../stubs/pandas/core/indexes/datetimes.pyi | 66 - .../stubs/pandas/core/indexes/extension.pyi | 16 - .../stubs/pandas/core/indexes/frozen.pyi | 25 - .../stubs/pandas/core/indexes/interval.pyi | 59 - .../stubs/pandas/core/indexes/multi.pyi | 117 - .../stubs/pandas/core/indexes/numeric.pyi | 36 - .../stubs/pandas/core/indexes/period.pyi | 31 - .../stubs/pandas/core/indexes/range.pyi | 41 - .../stubs/pandas/core/indexes/timedeltas.pyi | 33 - .../bundled/stubs/pandas/core/indexing.pyi | 50 - .../stubs/pandas/core/internals/__init__.pyi | 17 - .../stubs/pandas/core/internals/blocks.pyi | 182 - .../stubs/pandas/core/internals/concat.pyi | 15 - .../pandas/core/internals/construction.pyi | 12 - .../stubs/pandas/core/internals/managers.pyi | 100 - .../bundled/stubs/pandas/core/missing.pyi | 12 - .../dist/bundled/stubs/pandas/core/nanops.pyi | 46 - .../stubs/pandas/core/ops/__init__.pyi | 9 - .../stubs/pandas/core/ops/array_ops.pyi | 13 - .../bundled/stubs/pandas/core/ops/common.pyi | 1 - .../stubs/pandas/core/ops/dispatch.pyi | 7 - .../stubs/pandas/core/ops/docstrings.pyi | 1 - .../bundled/stubs/pandas/core/ops/invalid.pyi | 2 - .../stubs/pandas/core/ops/mask_ops.pyi | 23 - .../bundled/stubs/pandas/core/ops/methods.pyi | 2 - .../bundled/stubs/pandas/core/ops/missing.pyi | 3 - .../stubs/pandas/core/ops/roperator.pyi | 12 - .../bundled/stubs/pandas/core/resample.pyi | 58 - .../stubs/pandas/core/reshape/__init__.pyi | 0 .../bundled/stubs/pandas/core/reshape/api.pyi | 6 - .../stubs/pandas/core/reshape/concat.pyi | 44 - .../stubs/pandas/core/reshape/melt.pyi | 131 - .../stubs/pandas/core/reshape/merge.pyi | 328 -- .../stubs/pandas/core/reshape/pivot.pyi | 181 - .../stubs/pandas/core/reshape/reshape.pyi | 26 - .../stubs/pandas/core/reshape/tile.pyi | 2 - .../stubs/pandas/core/reshape/util.pyi | 1 - .../dist/bundled/stubs/pandas/core/series.pyi | 3252 ------------ .../bundled/stubs/pandas/core/sorting.pyi | 24 - .../stubs/pandas/core/sparse/__init__.pyi | 0 .../bundled/stubs/pandas/core/sparse/api.pyi | 1 - .../bundled/stubs/pandas/core/strings.pyi | 94 - .../stubs/pandas/core/tools/__init__.pyi | 3 - .../stubs/pandas/core/tools/datetimes.pyi | 89 - .../stubs/pandas/core/tools/numeric.pyi | 1 - .../stubs/pandas/core/tools/timedeltas.pyi | 29 - .../stubs/pandas/core/util/__init__.pyi | 0 .../stubs/pandas/core/util/hashing.pyi | 6 - .../stubs/pandas/core/window/__init__.pyi | 3 - .../stubs/pandas/core/window/common.pyi | 14 - .../bundled/stubs/pandas/core/window/ewm.pyi | 33 - .../stubs/pandas/core/window/expanding.pyi | 19 - .../stubs/pandas/core/window/indexers.pyi | 69 - .../stubs/pandas/core/window/numba_.pyi | 7 - .../stubs/pandas/core/window/rolling.pyi | 88 - .../bundled/stubs/pandas/errors/__init__.pyi | 16 - .../dist/bundled/stubs/pandas/io/__init__.pyi | 0 .../dist/bundled/stubs/pandas/io/api.pyi | 15 - .../stubs/pandas/io/clipboard/__init__.pyi | 19 - .../bundled/stubs/pandas/io/clipboards.pyi | 4 - .../dist/bundled/stubs/pandas/io/common.pyi | 33 - .../stubs/pandas/io/date_converters.pyi | 4 - .../stubs/pandas/io/excel/__init__.pyi | 3 - .../bundled/stubs/pandas/io/excel/_base.pyi | 450 -- .../bundled/stubs/pandas/io/excel/_util.pyi | 2 - .../stubs/pandas/io/feather_format.pyi | 7 - .../stubs/pandas/io/formats/__init__.pyi | 0 .../stubs/pandas/io/formats/console.pyi | 3 - .../bundled/stubs/pandas/io/formats/css.pyi | 18 - .../bundled/stubs/pandas/io/formats/csvs.pyi | 31 - .../bundled/stubs/pandas/io/formats/excel.pyi | 49 - .../stubs/pandas/io/formats/format.pyi | 157 - .../bundled/stubs/pandas/io/formats/html.pyi | 37 - .../bundled/stubs/pandas/io/formats/latex.pyi | 18 - .../stubs/pandas/io/formats/printing.pyi | 13 - .../bundled/stubs/pandas/io/formats/style.pyi | 52 - .../dist/bundled/stubs/pandas/io/gbq.pyi | 5 - .../dist/bundled/stubs/pandas/io/gcs.pyi | 5 - .../dist/bundled/stubs/pandas/io/html.pyi | 36 - .../bundled/stubs/pandas/io/json/__init__.pyi | 4 - .../bundled/stubs/pandas/io/json/_json.pyi | 200 - .../stubs/pandas/io/json/_normalize.pyi | 17 - .../stubs/pandas/io/json/_table_schema.pyi | 10 - .../dist/bundled/stubs/pandas/io/orc.pyi | 5 - .../dist/bundled/stubs/pandas/io/parquet.pyi | 28 - .../dist/bundled/stubs/pandas/io/parsers.pyi | 1343 ----- .../dist/bundled/stubs/pandas/io/pickle.pyi | 13 - .../dist/bundled/stubs/pandas/io/pytables.pyi | 427 -- .../dist/bundled/stubs/pandas/io/s3.pyi | 12 - .../bundled/stubs/pandas/io/sas/__init__.pyi | 1 - .../bundled/stubs/pandas/io/sas/sas7bdat.pyi | 27 - .../stubs/pandas/io/sas/sas_constants.pyi | 108 - .../bundled/stubs/pandas/io/sas/sas_xport.pyi | 9 - .../bundled/stubs/pandas/io/sas/sasreader.pyi | 11 - .../dist/bundled/stubs/pandas/io/spss.pyi | 7 - .../dist/bundled/stubs/pandas/io/sql.pyi | 101 - .../dist/bundled/stubs/pandas/io/stata.pyi | 258 - .../stubs/pandas/plotting/__init__.pyi | 2 - .../bundled/stubs/pandas/plotting/_core.pyi | 36 - .../pandas/plotting/_matplotlib/__init__.pyi | 15 - .../pandas/plotting/_matplotlib/boxplot.pyi | 58 - .../pandas/plotting/_matplotlib/compat.pyi | 0 .../pandas/plotting/_matplotlib/converter.pyi | 101 - .../pandas/plotting/_matplotlib/core.pyi | 117 - .../pandas/plotting/_matplotlib/hist.pyi | 45 - .../pandas/plotting/_matplotlib/misc.pyi | 32 - .../pandas/plotting/_matplotlib/style.pyi | 0 .../plotting/_matplotlib/timeseries.pyi | 1 - .../pandas/plotting/_matplotlib/tools.pyi | 2 - .../bundled/stubs/pandas/plotting/_misc.pyi | 81 - .../dist/bundled/stubs/pandas/testing.pyi | 17 - .../bundled/stubs/pandas/tseries/__init__.pyi | 0 .../dist/bundled/stubs/pandas/tseries/api.pyi | 1 - .../stubs/pandas/tseries/frequencies.pyi | 9 - .../bundled/stubs/pandas/tseries/offsets.pyi | 44 - .../bundled/stubs/pandas/util/__init__.pyi | 10 - .../bundled/stubs/pandas/util/_decorators.pyi | 24 - .../stubs/pandas/util/_depr_module.pyi | 11 - .../bundled/stubs/pandas/util/_doctools.pyi | 6 - .../bundled/stubs/pandas/util/_exceptions.pyi | 1 - .../stubs/pandas/util/_print_versions.pyi | 6 - .../stubs/pandas/util/_test_decorators.pyi | 24 - .../bundled/stubs/pandas/util/_tester.pyi | 1 - .../bundled/stubs/pandas/util/_validators.pyi | 10 - .../bundled/stubs/pythonwin-stubs/dde.pyi | 78 - .../bundled/stubs/pythonwin-stubs/py.typed | 1 - .../bundled/stubs/pythonwin-stubs/win32ui.pyi | 608 --- .../stubs/pythonwin-stubs/win32uiole.pyi | 60 - .../stubs/scipy-stubs/_lib/_ccallback_c.pyi | 50 - .../stubs/scipy-stubs/_lib/_fpumode.pyi | 17 - .../scipy-stubs/_lib/_test_ccallback.pyi | 34 - .../_lib/_test_deprecation_call.pyi | 17 - .../_lib/_test_deprecation_def.pyi | 15 - .../scipy-stubs/_lib/_uarray/_uarray.pyi | 30 - .../stubs/scipy-stubs/_lib/messagestream.pyi | 52 - .../stubs/scipy-stubs/cluster/_hierarchy.pyi | 150 - .../cluster/_optimal_leaf_ordering.pyi | 33 - .../bundled/stubs/scipy-stubs/cluster/_vq.pyi | 22 - .../fft/_pocketfft/pypocketfft.pyi | 49 - .../stubs/scipy-stubs/fftpack/convolve.pyi | 37 - .../stubs/scipy-stubs/integrate/_dop.pyi | 26 - .../stubs/scipy-stubs/integrate/_odepack.pyi | 20 - .../stubs/scipy-stubs/integrate/_quadpack.pyi | 44 - .../integrate/_test_multivariate.pyi | 20 - .../integrate/_test_odeint_banded.pyi | 38 - .../stubs/scipy-stubs/integrate/lsoda.pyi | 22 - .../stubs/scipy-stubs/integrate/vode.pyi | 26 - .../stubs/scipy-stubs/interpolate/_bspl.pyi | 37 - .../scipy-stubs/interpolate/_fitpack.pyi | 62 - .../stubs/scipy-stubs/interpolate/_ppoly.pyi | 45 - .../scipy-stubs/interpolate/dfitpack.pyi | 110 - .../scipy-stubs/interpolate/interpnd.pyi | 146 - .../stubs/scipy-stubs/io/_test_fortran.pyi | 26 - .../scipy-stubs/io/matlab/mio5_utils.pyi | 177 - .../stubs/scipy-stubs/io/matlab/mio_utils.pyi | 23 - .../stubs/scipy-stubs/io/matlab/streams.pyi | 108 - .../scipy-stubs/linalg/_decomp_update.pyi | 33 - .../stubs/scipy-stubs/linalg/_fblas.pyi | 614 --- .../stubs/scipy-stubs/linalg/_flapack.pyi | 2298 --------- .../stubs/scipy-stubs/linalg/_flinalg.pyi | 62 - .../scipy-stubs/linalg/_interpolative.pyi | 226 - .../linalg/_matfuncs_sqrtm_triu.pyi | 22 - .../scipy-stubs/linalg/_solve_toeplitz.pyi | 34 - .../stubs/scipy-stubs/linalg/cython_blas.pyi | 75 - .../scipy-stubs/linalg/cython_lapack.pyi | 21 - .../stubs/scipy-stubs/ndimage/_ctest.pyi | 22 - .../stubs/scipy-stubs/ndimage/_cytest.pyi | 33 - .../stubs/scipy-stubs/ndimage/_nd_image.pyi | 73 - .../stubs/scipy-stubs/ndimage/_ni_label.pyi | 31 - .../stubs/scipy-stubs/odr/__odrpack.pyi | 21 - .../stubs/scipy-stubs/optimize/__nnls.pyi | 18 - .../scipy-stubs/optimize/_bglu_dense.pyi | 194 - .../stubs/scipy-stubs/optimize/_cobyla.pyi | 18 - .../scipy-stubs/optimize/_group_columns.pyi | 23 - .../optimize/_highs/_highs_constants.pyi | 46 - .../optimize/_highs/_highs_wrapper.pyi | 27 - .../optimize/_highs/_mpswriter.pyi | 23 - .../stubs/scipy-stubs/optimize/_lbfgsb.pyi | 22 - .../scipy-stubs/optimize/_lsap_module.pyi | 17 - .../optimize/_lsq/givens_elimination.pyi | 21 - .../stubs/scipy-stubs/optimize/_minpack.pyi | 36 - .../stubs/scipy-stubs/optimize/_slsqp.pyi | 18 - .../scipy-stubs/optimize/_trlib/_trlib.pyi | 46 - .../stubs/scipy-stubs/optimize/_zeros.pyi | 29 - .../optimize/cython_optimize/_zeros.pyi | 24 - .../stubs/scipy-stubs/optimize/minpack2.pyi | 22 - .../stubs/scipy-stubs/optimize/moduleTNC.pyi | 16 - .../dist/bundled/stubs/scipy-stubs/py.typed | 1 - .../scipy-stubs/signal/_max_len_seq_inner.pyi | 20 - .../signal/_peak_finding_utils.pyi | 61 - .../stubs/scipy-stubs/signal/_sosfilt.pyi | 23 - .../stubs/scipy-stubs/signal/_spectral.pyi | 19 - .../scipy-stubs/signal/_upfirdn_apply.pyi | 31 - .../stubs/scipy-stubs/signal/sigtools.pyi | 37 - .../stubs/scipy-stubs/signal/spline.pyi | 34 - .../scipy-stubs/sparse/_csparsetools.pyi | 190 - .../stubs/scipy-stubs/sparse/_sparsetools.pyi | 247 - .../scipy-stubs/sparse/csgraph/_flow.pyi | 68 - .../scipy-stubs/sparse/csgraph/_matching.pyi | 43 - .../sparse/csgraph/_min_spanning_tree.pyi | 38 - .../sparse/csgraph/_reordering.pyi | 62 - .../sparse/csgraph/_shortest_path.pyi | 83 - .../scipy-stubs/sparse/csgraph/_tools.pyi | 63 - .../scipy-stubs/sparse/csgraph/_traversal.pyi | 59 - .../sparse/linalg/_eigen/lobpcg/lobpcg.pyi | 171 - .../sparse/linalg/dsolve/_superlu.pyi | 22 - .../sparse/linalg/eigen/arpack/_arpack.pyi | 70 - .../sparse/linalg/isolve/_iterative.pyi | 110 - .../scipy-stubs/spatial/_distance_wrap.pyi | 175 - .../stubs/scipy-stubs/spatial/_hausdorff.pyi | 21 - .../stubs/scipy-stubs/spatial/_voronoi.pyi | 21 - .../stubs/scipy-stubs/spatial/ckdtree.pyi | 263 - .../stubs/scipy-stubs/spatial/qhull.pyi | 317 -- .../spatial/transform/rotation.pyi | 196 - .../stubs/scipy-stubs/special/_comb.pyi | 17 - .../scipy-stubs/special/_ellip_harm_2.pyi | 24 - .../stubs/scipy-stubs/special/_test_round.pyi | 30 - .../stubs/scipy-stubs/special/_ufuncs.pyi | 1062 ---- .../stubs/scipy-stubs/special/_ufuncs_cxx.pyi | 15 - .../scipy-stubs/special/cython_special.pyi | 964 ---- .../stubs/scipy-stubs/special/specfun.pyi | 114 - .../stubs/scipy-stubs/stats/_stats.pyi | 52 - .../bundled/stubs/scipy-stubs/stats/mvn.pyi | 30 - .../stubs/scipy-stubs/stats/statlib.pyi | 26 - .../bundled/stubs/seaborn-stubs/palettes.pyi | 44 - .../dist/bundled/stubs/seaborn-stubs/py.typed | 1 - .../sklearn-stubs/decomposition/_base.pyi | 108 - .../sklearn-stubs/decomposition/_pca.pyi | 328 -- .../stubs/sklearn-stubs/externals/_lobpcg.pyi | 171 - .../manifold/spectral_embedding.pyi | 102 - .../dist/bundled/stubs/sklearn-stubs/py.typed | 1 - .../stubs/sklearn-stubs/utils/validation.pyi | 558 -- .../bundled/stubs/sympy-stubs/core/evalf.pyi | 64 - .../bundled/stubs/sympy-stubs/core/power.pyi | 52 - .../dist/bundled/stubs/sympy-stubs/py.typed | 1 - .../stubs/sympy-stubs/simplify/powsimp.pyi | 12 - .../stubs/sympy-stubs/simplify/simplify.pyi | 55 - .../models/auto/configuration_auto.pyi | 19 - .../models/auto/tokenization_auto.pyi | 21 - .../bundled/stubs/transformers-stubs/py.typed | 1 - .../bundled/stubs/win32-stubs/mmapfile.pyi | 22 - .../dist/bundled/stubs/win32-stubs/odbc.pyi | 44 - .../bundled/stubs/win32-stubs/perfmon.pyi | 31 - .../dist/bundled/stubs/win32-stubs/py.typed | 1 - .../stubs/win32-stubs/servicemanager.pyi | 102 - .../dist/bundled/stubs/win32-stubs/timer.pyi | 27 - .../bundled/stubs/win32-stubs/win2kras.pyi | 22 - .../bundled/stubs/win32-stubs/win32api.pyi | 692 --- .../stubs/win32-stubs/win32clipboard.pyi | 102 - .../stubs/win32-stubs/win32console.pyi | 146 - .../bundled/stubs/win32-stubs/win32cred.pyi | 139 - .../bundled/stubs/win32-stubs/win32crypt.pyi | 142 - .../bundled/stubs/win32-stubs/win32event.pyi | 111 - .../bundled/stubs/win32-stubs/win32evtlog.pyi | 319 -- .../bundled/stubs/win32-stubs/win32file.pyi | 640 --- .../bundled/stubs/win32-stubs/win32gui.pyi | 1091 ---- .../bundled/stubs/win32-stubs/win32help.pyi | 211 - .../bundled/stubs/win32-stubs/win32inet.pyi | 130 - .../bundled/stubs/win32-stubs/win32job.pyi | 104 - .../bundled/stubs/win32-stubs/win32lz.pyi | 33 - .../bundled/stubs/win32-stubs/win32net.pyi | 224 - .../bundled/stubs/win32-stubs/win32pdh.pyi | 124 - .../bundled/stubs/win32-stubs/win32pipe.pyi | 95 - .../bundled/stubs/win32-stubs/win32print.pyi | 295 -- .../stubs/win32-stubs/win32process.pyi | 211 - .../stubs/win32-stubs/win32profile.pyi | 65 - .../bundled/stubs/win32-stubs/win32ras.pyi | 82 - .../stubs/win32-stubs/win32security.pyi | 673 --- .../stubs/win32-stubs/win32service.pyi | 224 - .../bundled/stubs/win32-stubs/win32trace.pyi | 51 - .../stubs/win32-stubs/win32transaction.pyi | 39 - .../bundled/stubs/win32-stubs/win32ts.pyi | 166 - .../bundled/stubs/win32-stubs/win32wnet.pyi | 78 - .../bundled/stubs/win32-stubs/winxpgui.pyi | 1097 ---- .../stubs/win32comext-stubs/adsi/adsi.pyi | 81 - .../authorization/authorization.pyi | 24 - .../win32comext-stubs/axcontrol/axcontrol.pyi | 73 - .../win32comext-stubs/axscript/axscript.pyi | 69 - .../stubs/win32comext-stubs/bits/bits.pyi | 78 - .../directsound/directsound.pyi | 148 - .../win32comext-stubs/ifilter/ifilter.pyi | 55 - .../stubs/win32comext-stubs/mapi/exchange.pyi | 26 - .../stubs/win32comext-stubs/mapi/mapi.pyi | 376 -- .../win32comext-stubs/propsys/propsys.pyi | 95 - .../bundled/stubs/win32comext-stubs/py.typed | 1 - .../stubs/win32comext-stubs/shell/shell.pyi | 514 -- .../taskscheduler/taskscheduler.pyi | 100 - .../dist/extension.bundle.js | 1 - .../dist/folderIndex.json | 1 - .../darwin/x64/libonnxruntime.1.7.0.dylib | Bin 15910984 -> 0 bytes .../darwin/x64/onnxruntime_binding.node | Bin 165796 -> 0 bytes .../napi-v3/linux/x64/libonnxruntime.so.1.7.0 | Bin 12972840 -> 0 bytes .../linux/x64/onnxruntime_binding.node | Bin 220248 -> 0 bytes .../napi-v3/win32/x64/onnxruntime.dll | Bin 6690704 -> 0 bytes .../win32/x64/onnxruntime_binding.node | Bin 220024 -> 0 bytes .../dist/pyright.bundle.js | 2 - .../dist/pyright.bundle.js.map | 1 - .../dist/schemas/pyrightconfig.schema.json | 598 --- .../dist/scripts/scrape_module.py | 1286 ----- .../dist/server.bundle.js | 1 - .../dist/typeshed-fallback/LICENSE | 238 - .../dist/typeshed-fallback/README.md | 65 - .../dist/typeshed-fallback/commit.txt | 1 - .../dist/typeshed-fallback/stdlib/VERSIONS | 297 -- .../typeshed-fallback/stdlib/__future__.pyi | 50 - .../typeshed-fallback/stdlib/__main__.pyi | 3 - .../dist/typeshed-fallback/stdlib/_ast.pyi | 563 -- .../dist/typeshed-fallback/stdlib/_bisect.pyi | 73 - .../typeshed-fallback/stdlib/_bootlocale.pyi | 1 - .../dist/typeshed-fallback/stdlib/_codecs.pyi | 79 - .../stdlib/_collections_abc.pyi | 81 - .../stdlib/_compat_pickle.pyi | 8 - .../typeshed-fallback/stdlib/_compression.pyi | 28 - .../dist/typeshed-fallback/stdlib/_csv.pyi | 45 - .../dist/typeshed-fallback/stdlib/_curses.pyi | 555 -- .../typeshed-fallback/stdlib/_decimal.pyi | 264 - .../stdlib/_dummy_thread.pyi | 22 - .../stdlib/_dummy_threading.pyi | 199 - .../dist/typeshed-fallback/stdlib/_heapq.pyi | 11 - .../dist/typeshed-fallback/stdlib/_imp.pyi | 21 - .../dist/typeshed-fallback/stdlib/_json.pyi | 49 - .../typeshed-fallback/stdlib/_markupbase.pyi | 17 - .../dist/typeshed-fallback/stdlib/_msi.pyi | 48 - .../typeshed-fallback/stdlib/_operator.pyi | 158 - .../typeshed-fallback/stdlib/_osx_support.pyi | 40 - .../stdlib/_posixsubprocess.pyi | 24 - .../dist/typeshed-fallback/stdlib/_py_abc.pyi | 12 - .../typeshed-fallback/stdlib/_pydecimal.pyi | 85 - .../dist/typeshed-fallback/stdlib/_random.pyi | 12 - .../stdlib/_sitebuiltins.pyi | 16 - .../dist/typeshed-fallback/stdlib/_socket.pyi | 647 --- .../dist/typeshed-fallback/stdlib/_stat.pyi | 103 - .../dist/typeshed-fallback/stdlib/_thread.pyi | 47 - .../stdlib/_threading_local.pyi | 18 - .../typeshed-fallback/stdlib/_tkinter.pyi | 119 - .../typeshed-fallback/stdlib/_tracemalloc.pyi | 17 - .../stdlib/_typeshed/README.md | 34 - .../stdlib/_typeshed/__init__.pyi | 224 - .../stdlib/_typeshed/dbapi.pyi | 37 - .../stdlib/_typeshed/wsgi.pyi | 36 - .../stdlib/_typeshed/xml.pyi | 9 - .../typeshed-fallback/stdlib/_warnings.pyi | 32 - .../typeshed-fallback/stdlib/_weakref.pyi | 37 - .../typeshed-fallback/stdlib/_weakrefset.pyi | 49 - .../dist/typeshed-fallback/stdlib/_winapi.pyi | 196 - .../dist/typeshed-fallback/stdlib/abc.pyi | 38 - .../dist/typeshed-fallback/stdlib/aifc.pyi | 92 - .../typeshed-fallback/stdlib/antigravity.pyi | 1 - .../typeshed-fallback/stdlib/argparse.pyi | 522 -- .../dist/typeshed-fallback/stdlib/array.pyi | 77 - .../dist/typeshed-fallback/stdlib/ast.pyi | 260 - .../typeshed-fallback/stdlib/asynchat.pyi | 28 - .../stdlib/asyncio/__init__.pyi | 31 - .../stdlib/asyncio/base_events.pyi | 405 -- .../stdlib/asyncio/base_futures.pyi | 30 - .../stdlib/asyncio/base_subprocess.pyi | 74 - .../stdlib/asyncio/base_tasks.pyi | 9 - .../stdlib/asyncio/compat.pyi | 5 - .../stdlib/asyncio/constants.pyi | 15 - .../stdlib/asyncio/coroutines.pyi | 27 - .../stdlib/asyncio/events.pyi | 602 --- .../stdlib/asyncio/exceptions.pyi | 22 - .../stdlib/asyncio/format_helpers.pyi | 19 - .../stdlib/asyncio/futures.pyi | 82 - .../stdlib/asyncio/locks.pyi | 74 - .../typeshed-fallback/stdlib/asyncio/log.pyi | 3 - .../stdlib/asyncio/mixins.pyi | 7 - .../stdlib/asyncio/proactor_events.pyi | 100 - .../stdlib/asyncio/protocols.pyi | 38 - .../stdlib/asyncio/queues.pyi | 39 - .../stdlib/asyncio/runners.pyi | 10 - .../stdlib/asyncio/selector_events.pyi | 12 - .../stdlib/asyncio/sslproto.pyi | 138 - .../stdlib/asyncio/staggered.pyi | 9 - .../stdlib/asyncio/streams.pyi | 195 - .../stdlib/asyncio/subprocess.pyi | 156 - .../stdlib/asyncio/taskgroups.pyi | 17 - .../stdlib/asyncio/tasks.pyi | 341 -- .../stdlib/asyncio/threads.pyi | 8 - .../stdlib/asyncio/transports.pyi | 55 - .../stdlib/asyncio/trsock.pyi | 92 - .../stdlib/asyncio/unix_events.pyi | 146 - .../stdlib/asyncio/windows_events.pyi | 83 - .../stdlib/asyncio/windows_utils.pyi | 63 - .../typeshed-fallback/stdlib/asyncore.pyi | 92 - .../dist/typeshed-fallback/stdlib/atexit.pyi | 11 - .../dist/typeshed-fallback/stdlib/audioop.pyi | 42 - .../dist/typeshed-fallback/stdlib/base64.pyi | 76 - .../dist/typeshed-fallback/stdlib/bdb.pyi | 97 - .../typeshed-fallback/stdlib/binascii.pyi | 36 - .../dist/typeshed-fallback/stdlib/binhex.pyi | 45 - .../dist/typeshed-fallback/stdlib/bisect.pyi | 4 - .../typeshed-fallback/stdlib/builtins.pyi | 1803 ------- .../dist/typeshed-fallback/stdlib/bz2.pyi | 145 - .../typeshed-fallback/stdlib/cProfile.pyi | 36 - .../typeshed-fallback/stdlib/calendar.pyi | 177 - .../dist/typeshed-fallback/stdlib/cgi.pyi | 149 - .../dist/typeshed-fallback/stdlib/cgitb.pyi | 34 - .../dist/typeshed-fallback/stdlib/chunk.pyi | 20 - .../dist/typeshed-fallback/stdlib/cmath.pyi | 43 - .../dist/typeshed-fallback/stdlib/cmd.pyi | 45 - .../dist/typeshed-fallback/stdlib/code.pyi | 32 - .../dist/typeshed-fallback/stdlib/codecs.pyi | 319 -- .../dist/typeshed-fallback/stdlib/codeop.pyi | 15 - .../stdlib/collections/__init__.pyi | 407 -- .../stdlib/collections/abc.pyi | 2 - .../typeshed-fallback/stdlib/colorsys.pyi | 13 - .../typeshed-fallback/stdlib/compileall.pyi | 112 - .../stdlib/concurrent/__init__.pyi | 0 .../stdlib/concurrent/futures/__init__.pyi | 36 - .../stdlib/concurrent/futures/_base.pyi | 133 - .../stdlib/concurrent/futures/process.pyi | 169 - .../stdlib/concurrent/futures/thread.pyi | 74 - .../typeshed-fallback/stdlib/configparser.pyi | 266 - .../typeshed-fallback/stdlib/contextlib.pyi | 241 - .../typeshed-fallback/stdlib/contextvars.pyi | 53 - .../dist/typeshed-fallback/stdlib/copy.pyi | 16 - .../dist/typeshed-fallback/stdlib/copyreg.pyi | 20 - .../dist/typeshed-fallback/stdlib/crypt.pyi | 19 - .../dist/typeshed-fallback/stdlib/csv.pyi | 134 - .../stdlib/ctypes/__init__.pyi | 297 -- .../typeshed-fallback/stdlib/ctypes/util.pyi | 6 - .../stdlib/ctypes/wintypes.pyi | 235 - .../stdlib/curses/__init__.pyi | 19 - .../typeshed-fallback/stdlib/curses/ascii.pyi | 63 - .../typeshed-fallback/stdlib/curses/panel.pyi | 25 - .../stdlib/curses/textpad.pyi | 13 - .../typeshed-fallback/stdlib/dataclasses.pyi | 259 - .../typeshed-fallback/stdlib/datetime.pyi | 308 -- .../typeshed-fallback/stdlib/dbm/__init__.pyi | 95 - .../typeshed-fallback/stdlib/dbm/dumb.pyi | 29 - .../dist/typeshed-fallback/stdlib/dbm/gnu.pyi | 40 - .../typeshed-fallback/stdlib/dbm/ndbm.pyi | 36 - .../dist/typeshed-fallback/stdlib/decimal.pyi | 2 - .../dist/typeshed-fallback/stdlib/difflib.pyi | 128 - .../dist/typeshed-fallback/stdlib/dis.pyi | 78 - .../stdlib/distutils/__init__.pyi | 0 .../stdlib/distutils/archive_util.pyi | 20 - .../stdlib/distutils/bcppcompiler.pyi | 3 - .../stdlib/distutils/ccompiler.pyi | 151 - .../stdlib/distutils/cmd.pyi | 67 - .../stdlib/distutils/command/__init__.pyi | 0 .../stdlib/distutils/command/bdist.pyi | 25 - .../stdlib/distutils/command/bdist_dumb.pyi | 21 - .../stdlib/distutils/command/bdist_msi.pyi | 45 - .../distutils/command/bdist_packager.pyi | 0 .../stdlib/distutils/command/bdist_rpm.pyi | 52 - .../distutils/command/bdist_wininst.pyi | 16 - .../stdlib/distutils/command/build.pyi | 31 - .../stdlib/distutils/command/build_clib.pyi | 27 - .../stdlib/distutils/command/build_ext.pyi | 50 - .../stdlib/distutils/command/build_py.pyi | 44 - .../distutils/command/build_scripts.pyi | 24 - .../stdlib/distutils/command/check.pyi | 36 - .../stdlib/distutils/command/clean.pyi | 17 - .../stdlib/distutils/command/config.pyi | 82 - .../stdlib/distutils/command/install.pyi | 63 - .../stdlib/distutils/command/install_data.pyi | 19 - .../distutils/command/install_egg_info.pyi | 18 - .../distutils/command/install_headers.pyi | 16 - .../stdlib/distutils/command/install_lib.pyi | 25 - .../distutils/command/install_scripts.pyi | 18 - .../stdlib/distutils/command/register.pyi | 18 - .../stdlib/distutils/command/sdist.pyi | 42 - .../stdlib/distutils/command/upload.pyi | 17 - .../stdlib/distutils/config.pyi | 17 - .../stdlib/distutils/core.pyi | 48 - .../stdlib/distutils/cygwinccompiler.pyi | 4 - .../stdlib/distutils/debug.pyi | 1 - .../stdlib/distutils/dep_util.pyi | 3 - .../stdlib/distutils/dir_util.pyi | 13 - .../stdlib/distutils/dist.pyi | 58 - .../stdlib/distutils/errors.pyi | 19 - .../stdlib/distutils/extension.pyi | 36 - .../stdlib/distutils/fancy_getopt.pyi | 23 - .../stdlib/distutils/file_util.pyi | 14 - .../stdlib/distutils/filelist.pyi | 49 - .../stdlib/distutils/log.pyi | 25 - .../stdlib/distutils/msvccompiler.pyi | 3 - .../stdlib/distutils/spawn.pyi | 2 - .../stdlib/distutils/sysconfig.pyi | 13 - .../stdlib/distutils/text_file.pyi | 21 - .../stdlib/distutils/unixccompiler.pyi | 3 - .../stdlib/distutils/util.pyi | 46 - .../stdlib/distutils/version.pyi | 36 - .../dist/typeshed-fallback/stdlib/doctest.pyi | 251 - .../stdlib/dummy_threading.pyi | 2 - .../stdlib/email/__init__.pyi | 29 - .../stdlib/email/_header_value_parser.pyi | 416 -- .../stdlib/email/base64mime.pyi | 9 - .../stdlib/email/charset.pyi | 29 - .../stdlib/email/contentmanager.pyi | 11 - .../stdlib/email/encoders.pyi | 8 - .../typeshed-fallback/stdlib/email/errors.pyi | 39 - .../stdlib/email/feedparser.pyi | 22 - .../stdlib/email/generator.pyi | 42 - .../typeshed-fallback/stdlib/email/header.pyi | 26 - .../stdlib/email/headerregistry.pyi | 172 - .../stdlib/email/iterators.pyi | 12 - .../stdlib/email/message.pyi | 95 - .../stdlib/email/mime/__init__.pyi | 0 .../stdlib/email/mime/application.pyi | 17 - .../stdlib/email/mime/audio.pyi | 17 - .../stdlib/email/mime/base.pyi | 8 - .../stdlib/email/mime/image.pyi | 17 - .../stdlib/email/mime/message.pyi | 8 - .../stdlib/email/mime/multipart.pyi | 18 - .../stdlib/email/mime/nonmultipart.pyi | 5 - .../stdlib/email/mime/text.pyi | 7 - .../typeshed-fallback/stdlib/email/parser.pyi | 31 - .../typeshed-fallback/stdlib/email/policy.pyi | 80 - .../stdlib/email/quoprimime.pyi | 26 - .../typeshed-fallback/stdlib/email/utils.pyi | 59 - .../stdlib/encodings/__init__.pyi | 10 - .../stdlib/encodings/utf_8.pyi | 20 - .../stdlib/encodings/utf_8_sig.pyi | 27 - .../stdlib/ensurepip/__init__.pyi | 12 - .../dist/typeshed-fallback/stdlib/enum.pyi | 242 - .../dist/typeshed-fallback/stdlib/errno.pyi | 158 - .../typeshed-fallback/stdlib/faulthandler.pyi | 13 - .../dist/typeshed-fallback/stdlib/fcntl.pyi | 116 - .../dist/typeshed-fallback/stdlib/filecmp.pyi | 61 - .../typeshed-fallback/stdlib/fileinput.pyi | 129 - .../dist/typeshed-fallback/stdlib/fnmatch.pyi | 8 - .../typeshed-fallback/stdlib/formatter.pyi | 104 - .../typeshed-fallback/stdlib/fractions.pyi | 151 - .../dist/typeshed-fallback/stdlib/ftplib.pyi | 164 - .../typeshed-fallback/stdlib/functools.pyi | 192 - .../dist/typeshed-fallback/stdlib/gc.pyi | 44 - .../typeshed-fallback/stdlib/genericpath.pyi | 43 - .../dist/typeshed-fallback/stdlib/getopt.pyi | 11 - .../dist/typeshed-fallback/stdlib/getpass.pyi | 8 - .../dist/typeshed-fallback/stdlib/gettext.pyi | 194 - .../dist/typeshed-fallback/stdlib/glob.pyi | 41 - .../typeshed-fallback/stdlib/graphlib.pyi | 24 - .../dist/typeshed-fallback/stdlib/grp.pyi | 22 - .../dist/typeshed-fallback/stdlib/gzip.pyi | 167 - .../dist/typeshed-fallback/stdlib/hashlib.pyi | 145 - .../dist/typeshed-fallback/stdlib/heapq.pyi | 14 - .../dist/typeshed-fallback/stdlib/hmac.pyi | 44 - .../stdlib/html/__init__.pyi | 6 - .../stdlib/html/entities.pyi | 6 - .../typeshed-fallback/stdlib/html/parser.pyi | 37 - .../stdlib/http/__init__.pyi | 76 - .../typeshed-fallback/stdlib/http/client.pyi | 251 - .../stdlib/http/cookiejar.pyi | 178 - .../typeshed-fallback/stdlib/http/cookies.pyi | 63 - .../typeshed-fallback/stdlib/http/server.pyi | 86 - .../dist/typeshed-fallback/stdlib/imaplib.pyi | 174 - .../dist/typeshed-fallback/stdlib/imghdr.pyi | 16 - .../dist/typeshed-fallback/stdlib/imp.pyi | 63 - .../stdlib/importlib/__init__.pyi | 20 - .../stdlib/importlib/abc.pyi | 184 - .../stdlib/importlib/machinery.pyi | 149 - .../stdlib/importlib/metadata/__init__.pyi | 215 - .../stdlib/importlib/metadata/_meta.pyi | 18 - .../stdlib/importlib/resources.pyi | 58 - .../stdlib/importlib/util.pyi | 42 - .../dist/typeshed-fallback/stdlib/inspect.pyi | 528 -- .../dist/typeshed-fallback/stdlib/io.pyi | 228 - .../typeshed-fallback/stdlib/ipaddress.pyi | 195 - .../typeshed-fallback/stdlib/itertools.pyi | 197 - .../stdlib/json/__init__.pyi | 60 - .../typeshed-fallback/stdlib/json/decoder.pyi | 31 - .../typeshed-fallback/stdlib/json/encoder.pyi | 36 - .../typeshed-fallback/stdlib/json/tool.pyi | 1 - .../dist/typeshed-fallback/stdlib/keyword.pyi | 15 - .../stdlib/lib2to3/__init__.pyi | 0 .../stdlib/lib2to3/pgen2/__init__.pyi | 0 .../stdlib/lib2to3/pgen2/driver.pyi | 22 - .../stdlib/lib2to3/pgen2/grammar.pyi | 25 - .../stdlib/lib2to3/pgen2/literals.pyi | 7 - .../stdlib/lib2to3/pgen2/parse.pyi | 27 - .../stdlib/lib2to3/pgen2/pgen.pyi | 46 - .../stdlib/lib2to3/pgen2/token.pyi | 70 - .../stdlib/lib2to3/pgen2/tokenize.pyi | 169 - .../stdlib/lib2to3/pygram.pyi | 113 - .../stdlib/lib2to3/pytree.pyi | 91 - .../stdlib/lib2to3/refactor.pyi | 70 - .../typeshed-fallback/stdlib/linecache.pyi | 23 - .../dist/typeshed-fallback/stdlib/locale.pyi | 147 - .../stdlib/logging/__init__.pyi | 829 --- .../stdlib/logging/config.pyi | 68 - .../stdlib/logging/handlers.pyi | 278 - .../dist/typeshed-fallback/stdlib/lzma.pyi | 202 - .../dist/typeshed-fallback/stdlib/macpath.pyi | 69 - .../typeshed-fallback/stdlib/macurl2path.pyi | 3 - .../dist/typeshed-fallback/stdlib/mailbox.pyi | 260 - .../dist/typeshed-fallback/stdlib/mailcap.pyi | 11 - .../dist/typeshed-fallback/stdlib/marshal.pyi | 8 - .../dist/typeshed-fallback/stdlib/math.pyi | 127 - .../typeshed-fallback/stdlib/mimetypes.pyi | 56 - .../dist/typeshed-fallback/stdlib/mmap.pyi | 108 - .../typeshed-fallback/stdlib/modulefinder.pyi | 75 - .../stdlib/msilib/__init__.pyi | 191 - .../stdlib/msilib/schema.pyi | 94 - .../stdlib/msilib/sequence.pyi | 14 - .../typeshed-fallback/stdlib/msilib/text.pyi | 8 - .../dist/typeshed-fallback/stdlib/msvcrt.pyi | 24 - .../stdlib/multiprocessing/__init__.pyi | 189 - .../stdlib/multiprocessing/connection.pyi | 60 - .../stdlib/multiprocessing/context.pyi | 188 - .../stdlib/multiprocessing/dummy/__init__.pyi | 73 - .../multiprocessing/dummy/connection.pyi | 41 - .../stdlib/multiprocessing/managers.pyi | 129 - .../stdlib/multiprocessing/pool.pyi | 132 - .../stdlib/multiprocessing/process.pyi | 47 - .../stdlib/multiprocessing/queues.pyi | 40 - .../stdlib/multiprocessing/reduction.pyi | 84 - .../stdlib/multiprocessing/shared_memory.pyi | 35 - .../stdlib/multiprocessing/sharedctypes.pyi | 102 - .../stdlib/multiprocessing/spawn.pyi | 31 - .../stdlib/multiprocessing/synchronize.pyi | 59 - .../dist/typeshed-fallback/stdlib/netrc.pyi | 19 - .../dist/typeshed-fallback/stdlib/nis.pyi | 9 - .../dist/typeshed-fallback/stdlib/nntplib.pyi | 125 - .../dist/typeshed-fallback/stdlib/ntpath.pyi | 156 - .../typeshed-fallback/stdlib/nturl2path.pyi | 2 - .../dist/typeshed-fallback/stdlib/numbers.pyi | 129 - .../dist/typeshed-fallback/stdlib/opcode.pyi | 57 - .../typeshed-fallback/stdlib/operator.pyi | 167 - .../typeshed-fallback/stdlib/optparse.pyi | 249 - .../typeshed-fallback/stdlib/os/__init__.pyi | 1058 ---- .../dist/typeshed-fallback/stdlib/os/path.pyi | 8 - .../typeshed-fallback/stdlib/ossaudiodev.pyi | 132 - .../dist/typeshed-fallback/stdlib/parser.pyi | 24 - .../dist/typeshed-fallback/stdlib/pathlib.pyi | 204 - .../dist/typeshed-fallback/stdlib/pdb.pyi | 179 - .../dist/typeshed-fallback/stdlib/pickle.pyi | 365 -- .../typeshed-fallback/stdlib/pickletools.pyi | 166 - .../dist/typeshed-fallback/stdlib/pipes.pyi | 17 - .../dist/typeshed-fallback/stdlib/pkgutil.pyi | 48 - .../typeshed-fallback/stdlib/platform.pyi | 67 - .../typeshed-fallback/stdlib/plistlib.pyi | 137 - .../dist/typeshed-fallback/stdlib/poplib.pyi | 64 - .../dist/typeshed-fallback/stdlib/posix.pyi | 324 -- .../typeshed-fallback/stdlib/posixpath.pyi | 144 - .../dist/typeshed-fallback/stdlib/pprint.pyi | 139 - .../dist/typeshed-fallback/stdlib/profile.pyi | 30 - .../dist/typeshed-fallback/stdlib/pstats.pyi | 82 - .../dist/typeshed-fallback/stdlib/pty.pyi | 18 - .../dist/typeshed-fallback/stdlib/pwd.pyi | 28 - .../typeshed-fallback/stdlib/py_compile.pyi | 55 - .../dist/typeshed-fallback/stdlib/pyclbr.pyi | 72 - .../dist/typeshed-fallback/stdlib/pydoc.pyi | 237 - .../stdlib/pydoc_data/__init__.pyi | 0 .../stdlib/pydoc_data/topics.pyi | 1 - .../stdlib/pyexpat/__init__.pyi | 77 - .../stdlib/pyexpat/errors.pyi | 40 - .../stdlib/pyexpat/model.pyi | 11 - .../dist/typeshed-fallback/stdlib/queue.pyi | 62 - .../dist/typeshed-fallback/stdlib/quopri.pyi | 8 - .../dist/typeshed-fallback/stdlib/random.pyi | 152 - .../dist/typeshed-fallback/stdlib/re.pyi | 223 - .../typeshed-fallback/stdlib/readline.pyi | 36 - .../dist/typeshed-fallback/stdlib/reprlib.pyi | 40 - .../typeshed-fallback/stdlib/resource.pyi | 93 - .../typeshed-fallback/stdlib/rlcompleter.pyi | 9 - .../dist/typeshed-fallback/stdlib/runpy.pyi | 23 - .../dist/typeshed-fallback/stdlib/sched.pyi | 48 - .../dist/typeshed-fallback/stdlib/secrets.pyi | 15 - .../dist/typeshed-fallback/stdlib/select.pyi | 151 - .../typeshed-fallback/stdlib/selectors.pyi | 71 - .../dist/typeshed-fallback/stdlib/shelve.pyi | 43 - .../dist/typeshed-fallback/stdlib/shlex.pyi | 52 - .../dist/typeshed-fallback/stdlib/shutil.pyi | 169 - .../dist/typeshed-fallback/stdlib/signal.pyi | 184 - .../dist/typeshed-fallback/stdlib/site.pyi | 27 - .../dist/typeshed-fallback/stdlib/smtpd.pyi | 91 - .../dist/typeshed-fallback/stdlib/smtplib.pyi | 200 - .../dist/typeshed-fallback/stdlib/sndhdr.pyi | 14 - .../dist/typeshed-fallback/stdlib/socket.pyi | 623 --- .../typeshed-fallback/stdlib/socketserver.pyi | 173 - .../dist/typeshed-fallback/stdlib/spwd.pyi | 41 - .../stdlib/sqlite3/__init__.pyi | 1 - .../stdlib/sqlite3/dbapi2.pyi | 311 -- .../typeshed-fallback/stdlib/sre_compile.pyi | 10 - .../stdlib/sre_constants.pyi | 129 - .../typeshed-fallback/stdlib/sre_parse.pyi | 107 - .../dist/typeshed-fallback/stdlib/ssl.pyi | 526 -- .../dist/typeshed-fallback/stdlib/stat.pyi | 1 - .../typeshed-fallback/stdlib/statistics.pyi | 163 - .../dist/typeshed-fallback/stdlib/string.pyi | 57 - .../typeshed-fallback/stdlib/stringprep.pyi | 27 - .../dist/typeshed-fallback/stdlib/struct.pyi | 27 - .../typeshed-fallback/stdlib/subprocess.pyi | 1151 ----- .../dist/typeshed-fallback/stdlib/sunau.pyi | 84 - .../dist/typeshed-fallback/stdlib/symbol.pyi | 98 - .../typeshed-fallback/stdlib/symtable.pyi | 60 - .../dist/typeshed-fallback/stdlib/sys.pyi | 335 -- .../typeshed-fallback/stdlib/sysconfig.pyi | 31 - .../dist/typeshed-fallback/stdlib/syslog.pyi | 47 - .../typeshed-fallback/stdlib/tabnanny.pyi | 16 - .../dist/typeshed-fallback/stdlib/tarfile.pyi | 388 -- .../typeshed-fallback/stdlib/telnetlib.pyi | 119 - .../typeshed-fallback/stdlib/tempfile.pyi | 385 -- .../dist/typeshed-fallback/stdlib/termios.pyi | 248 - .../typeshed-fallback/stdlib/textwrap.pyi | 102 - .../dist/typeshed-fallback/stdlib/this.pyi | 2 - .../typeshed-fallback/stdlib/threading.pyi | 239 - .../dist/typeshed-fallback/stdlib/time.pyi | 113 - .../dist/typeshed-fallback/stdlib/timeit.pyi | 31 - .../stdlib/tkinter/__init__.pyi | 3415 ------------- .../stdlib/tkinter/colorchooser.pyi | 11 - .../stdlib/tkinter/commondialog.pyi | 12 - .../stdlib/tkinter/constants.pyi | 80 - .../stdlib/tkinter/dialog.pyi | 14 - .../typeshed-fallback/stdlib/tkinter/dnd.pyi | 19 - .../stdlib/tkinter/filedialog.pyi | 151 - .../typeshed-fallback/stdlib/tkinter/font.pyi | 112 - .../stdlib/tkinter/messagebox.pyi | 44 - .../stdlib/tkinter/scrolledtext.pyi | 10 - .../stdlib/tkinter/simpledialog.pyi | 27 - .../typeshed-fallback/stdlib/tkinter/tix.pyi | 301 -- .../typeshed-fallback/stdlib/tkinter/ttk.pyi | 1205 ----- .../dist/typeshed-fallback/stdlib/token.pyi | 358 -- .../typeshed-fallback/stdlib/tokenize.pyi | 407 -- .../dist/typeshed-fallback/stdlib/tomllib.pyi | 10 - .../dist/typeshed-fallback/stdlib/trace.pyi | 59 - .../typeshed-fallback/stdlib/traceback.pyi | 215 - .../typeshed-fallback/stdlib/tracemalloc.pyi | 116 - .../dist/typeshed-fallback/stdlib/tty.pyi | 19 - .../dist/typeshed-fallback/stdlib/turtle.pyi | 681 --- .../dist/typeshed-fallback/stdlib/types.pyi | 672 --- .../dist/typeshed-fallback/stdlib/typing.pyi | 1250 ----- .../stdlib/typing_extensions.pyi | 227 - .../typeshed-fallback/stdlib/unicodedata.pyi | 45 - .../stdlib/unittest/__init__.pyi | 86 - .../stdlib/unittest/_log.pyi | 28 - .../stdlib/unittest/async_case.pyi | 11 - .../stdlib/unittest/case.pyi | 311 -- .../stdlib/unittest/loader.pyi | 53 - .../stdlib/unittest/main.pyi | 53 - .../stdlib/unittest/mock.pyi | 445 -- .../stdlib/unittest/result.pyi | 41 - .../stdlib/unittest/runner.pyi | 36 - .../stdlib/unittest/signals.pyi | 14 - .../stdlib/unittest/suite.pyi | 22 - .../stdlib/unittest/util.pyi | 22 - .../stdlib/urllib/__init__.pyi | 0 .../typeshed-fallback/stdlib/urllib/error.pyi | 19 - .../typeshed-fallback/stdlib/urllib/parse.pyi | 176 - .../stdlib/urllib/request.pyi | 365 -- .../stdlib/urllib/response.pyi | 57 - .../stdlib/urllib/robotparser.pyi | 21 - .../dist/typeshed-fallback/stdlib/uu.pyi | 19 - .../dist/typeshed-fallback/stdlib/uuid.pyi | 95 - .../stdlib/venv/__init__.pyi | 76 - .../typeshed-fallback/stdlib/warnings.pyi | 73 - .../dist/typeshed-fallback/stdlib/wave.pyi | 78 - .../dist/typeshed-fallback/stdlib/weakref.pyi | 133 - .../typeshed-fallback/stdlib/webbrowser.pyi | 75 - .../dist/typeshed-fallback/stdlib/winreg.pyi | 101 - .../typeshed-fallback/stdlib/winsound.pyi | 27 - .../stdlib/wsgiref/__init__.pyi | 0 .../stdlib/wsgiref/handlers.pyi | 93 - .../stdlib/wsgiref/headers.pyi | 25 - .../stdlib/wsgiref/simple_server.pyi | 39 - .../stdlib/wsgiref/types.pyi | 3 - .../typeshed-fallback/stdlib/wsgiref/util.pyi | 24 - .../stdlib/wsgiref/validate.pyi | 46 - .../dist/typeshed-fallback/stdlib/xdrlib.pyi | 57 - .../typeshed-fallback/stdlib/xml/__init__.pyi | 1 - .../stdlib/xml/dom/NodeFilter.pyi | 19 - .../stdlib/xml/dom/__init__.pyi | 69 - .../stdlib/xml/dom/domreg.pyi | 8 - .../stdlib/xml/dom/expatbuilder.pyi | 99 - .../stdlib/xml/dom/minicompat.pyi | 19 - .../stdlib/xml/dom/minidom.pyi | 335 -- .../stdlib/xml/dom/pulldom.pyi | 93 - .../stdlib/xml/dom/xmlbuilder.pyi | 109 - .../stdlib/xml/etree/ElementInclude.pyi | 27 - .../stdlib/xml/etree/ElementPath.pyi | 32 - .../stdlib/xml/etree/ElementTree.pyi | 417 -- .../stdlib/xml/etree/__init__.pyi | 0 .../stdlib/xml/etree/cElementTree.pyi | 1 - .../stdlib/xml/parsers/__init__.pyi | 1 - .../stdlib/xml/parsers/expat/__init__.pyi | 1 - .../stdlib/xml/parsers/expat/errors.pyi | 1 - .../stdlib/xml/parsers/expat/model.pyi | 1 - .../stdlib/xml/sax/__init__.pyi | 39 - .../stdlib/xml/sax/handler.pyi | 46 - .../stdlib/xml/sax/saxutils.pyi | 60 - .../stdlib/xml/sax/xmlreader.pyi | 72 - .../stdlib/xmlrpc/__init__.pyi | 0 .../stdlib/xmlrpc/client.pyi | 315 -- .../stdlib/xmlrpc/server.pyi | 166 - .../typeshed-fallback/stdlib/xxlimited.pyi | 21 - .../dist/typeshed-fallback/stdlib/zipapp.pyi | 27 - .../dist/typeshed-fallback/stdlib/zipfile.pyi | 311 -- .../typeshed-fallback/stdlib/zipimport.pyi | 32 - .../dist/typeshed-fallback/stdlib/zlib.pyi | 57 - .../stdlib/zoneinfo/__init__.pyi | 31 - .../stubs/DateTimeRange/METADATA.toml | 2 - .../DateTimeRange/datetimerange/__init__.pyi | 46 - .../stubs/Deprecated/METADATA.toml | 3 - .../stubs/Deprecated/deprecated/__init__.pyi | 1 - .../stubs/Deprecated/deprecated/classic.pyi | 23 - .../stubs/Deprecated/deprecated/sphinx.pyi | 33 - .../stubs/Flask-Cors/METADATA.toml | 1 - .../stubs/Flask-Cors/flask_cors/__init__.pyi | 7 - .../stubs/Flask-Cors/flask_cors/core.pyi | 63 - .../stubs/Flask-Cors/flask_cors/decorator.pyi | 22 - .../stubs/Flask-Cors/flask_cors/extension.pyi | 42 - .../stubs/Flask-Cors/flask_cors/version.pyi | 1 - .../stubs/Flask-SQLAlchemy/METADATA.toml | 1 - .../flask_sqlalchemy/__init__.pyi | 89 - .../flask_sqlalchemy/model.pyi | 22 - .../flask_sqlalchemy/utils.pyi | 3 - .../stubs/JACK-Client/METADATA.toml | 2 - .../stubs/JACK-Client/jack/__init__.pyi | 284 -- .../stubs/Markdown/METADATA.toml | 1 - .../stubs/Markdown/markdown/__init__.pyi | 2 - .../stubs/Markdown/markdown/__meta__.pyi | 2 - .../stubs/Markdown/markdown/blockparser.pyi | 25 - .../Markdown/markdown/blockprocessors.pyi | 69 - .../stubs/Markdown/markdown/core.pyi | 63 - .../Markdown/markdown/extensions/__init__.pyi | 14 - .../Markdown/markdown/extensions/abbr.pyi | 16 - .../markdown/extensions/admonition.pyi | 15 - .../markdown/extensions/attr_list.pyi | 20 - .../markdown/extensions/codehilite.pyi | 45 - .../Markdown/markdown/extensions/def_list.pyi | 13 - .../Markdown/markdown/extensions/extra.pyi | 10 - .../markdown/extensions/fenced_code.pyi | 16 - .../markdown/extensions/footnotes.pyi | 57 - .../markdown/extensions/legacy_attrs.pyi | 13 - .../markdown/extensions/legacy_em.pyi | 11 - .../markdown/extensions/md_in_html.pyi | 7 - .../Markdown/markdown/extensions/meta.pyi | 18 - .../Markdown/markdown/extensions/nl2br.pyi | 7 - .../markdown/extensions/sane_lists.pyi | 12 - .../Markdown/markdown/extensions/smarty.pyi | 39 - .../Markdown/markdown/extensions/tables.pyi | 19 - .../Markdown/markdown/extensions/toc.pyi | 44 - .../markdown/extensions/wikilinks.pyi | 16 - .../Markdown/markdown/inlinepatterns.pyi | 104 - .../stubs/Markdown/markdown/pep562.pyi | 7 - .../Markdown/markdown/postprocessors.pyi | 17 - .../stubs/Markdown/markdown/preprocessors.pyi | 23 - .../stubs/Markdown/markdown/serializers.pyi | 2 - .../Markdown/markdown/treeprocessors.pyi | 19 - .../stubs/Markdown/markdown/util.pyi | 55 - .../stubs/Pillow/METADATA.toml | 1 - .../stubs/Pillow/PIL/BdfFontFile.pyi | 11 - .../stubs/Pillow/PIL/BlpImagePlugin.pyi | 30 - .../stubs/Pillow/PIL/BmpImagePlugin.pyi | 16 - .../stubs/Pillow/PIL/BufrStubImagePlugin.pyi | 10 - .../stubs/Pillow/PIL/ContainerIO.pyi | 14 - .../stubs/Pillow/PIL/CurImagePlugin.pyi | 7 - .../stubs/Pillow/PIL/DcxImagePlugin.pyi | 13 - .../stubs/Pillow/PIL/DdsImagePlugin.pyi | 71 - .../stubs/Pillow/PIL/EpsImagePlugin.pyi | 28 - .../stubs/Pillow/PIL/ExifTags.pyi | 4 - .../stubs/Pillow/PIL/FitsStubImagePlugin.pyi | 10 - .../stubs/Pillow/PIL/FliImagePlugin.pyi | 10 - .../stubs/Pillow/PIL/FontFile.pyi | 16 - .../stubs/Pillow/PIL/FpxImagePlugin.pyi | 12 - .../stubs/Pillow/PIL/FtexImagePlugin.pyi | 13 - .../stubs/Pillow/PIL/GbrImagePlugin.pyi | 10 - .../stubs/Pillow/PIL/GdImageFile.pyi | 10 - .../stubs/Pillow/PIL/GifImagePlugin.pyi | 23 - .../stubs/Pillow/PIL/GimpGradientFile.pyi | 19 - .../stubs/Pillow/PIL/GimpPaletteFile.pyi | 7 - .../stubs/Pillow/PIL/GribStubImagePlugin.pyi | 10 - .../stubs/Pillow/PIL/Hdf5StubImagePlugin.pyi | 10 - .../stubs/Pillow/PIL/IcnsImagePlugin.pyi | 35 - .../stubs/Pillow/PIL/IcoImagePlugin.pyi | 26 - .../stubs/Pillow/PIL/ImImagePlugin.pyi | 34 - .../stubs/Pillow/PIL/Image.pyi | 260 - .../stubs/Pillow/PIL/ImageChops.pyi | 23 - .../stubs/Pillow/PIL/ImageCms.pyi | 59 - .../stubs/Pillow/PIL/ImageColor.pyi | 11 - .../stubs/Pillow/PIL/ImageDraw.pyi | 155 - .../stubs/Pillow/PIL/ImageDraw2.pyi | 33 - .../stubs/Pillow/PIL/ImageEnhance.pyi | 25 - .../stubs/Pillow/PIL/ImageFile.pyi | 68 - .../stubs/Pillow/PIL/ImageFilter.pyi | 138 - .../stubs/Pillow/PIL/ImageFont.pyi | 119 - .../stubs/Pillow/PIL/ImageGrab.pyi | 8 - .../stubs/Pillow/PIL/ImageMath.pyi | 51 - .../stubs/Pillow/PIL/ImageMode.pyi | 10 - .../stubs/Pillow/PIL/ImageMorph.pyi | 26 - .../stubs/Pillow/PIL/ImageOps.pyi | 41 - .../stubs/Pillow/PIL/ImagePalette.pyi | 26 - .../stubs/Pillow/PIL/ImagePath.pyi | 3 - .../stubs/Pillow/PIL/ImageQt.pyi | 22 - .../stubs/Pillow/PIL/ImageSequence.pyi | 11 - .../stubs/Pillow/PIL/ImageShow.pyi | 50 - .../stubs/Pillow/PIL/ImageStat.pyi | 9 - .../stubs/Pillow/PIL/ImageTk.pyi | 17 - .../stubs/Pillow/PIL/ImageTransform.pyi | 21 - .../stubs/Pillow/PIL/ImageWin.pyi | 38 - .../stubs/Pillow/PIL/ImtImagePlugin.pyi | 10 - .../stubs/Pillow/PIL/IptcImagePlugin.pyi | 20 - .../stubs/Pillow/PIL/Jpeg2KImagePlugin.pyi | 11 - .../stubs/Pillow/PIL/JpegImagePlugin.pyi | 32 - .../stubs/Pillow/PIL/JpegPresets.pyi | 3 - .../stubs/Pillow/PIL/McIdasImagePlugin.pyi | 8 - .../stubs/Pillow/PIL/MicImagePlugin.pyi | 11 - .../stubs/Pillow/PIL/MpegImagePlugin.pyi | 18 - .../stubs/Pillow/PIL/MpoImagePlugin.pyi | 15 - .../stubs/Pillow/PIL/MspImagePlugin.pyi | 11 - .../stubs/Pillow/PIL/PSDraw.pyi | 19 - .../stubs/Pillow/PIL/PaletteFile.pyi | 7 - .../stubs/Pillow/PIL/PalmImagePlugin.pyi | 5 - .../stubs/Pillow/PIL/PcdImagePlugin.pyi | 10 - .../stubs/Pillow/PIL/PcfFontFile.pyi | 25 - .../stubs/Pillow/PIL/PcxImagePlugin.pyi | 12 - .../stubs/Pillow/PIL/PdfImagePlugin.pyi | 0 .../stubs/Pillow/PIL/PdfParser.pyi | 158 - .../stubs/Pillow/PIL/PixarImagePlugin.pyi | 8 - .../stubs/Pillow/PIL/PngImagePlugin.pyi | 111 - .../stubs/Pillow/PIL/PpmImagePlugin.pyi | 11 - .../stubs/Pillow/PIL/PsdImagePlugin.pyi | 18 - .../stubs/Pillow/PIL/PyAccess.pyi | 62 - .../stubs/Pillow/PIL/SgiImagePlugin.pyi | 13 - .../stubs/Pillow/PIL/SpiderImagePlugin.pyi | 28 - .../stubs/Pillow/PIL/SunImagePlugin.pyi | 8 - .../stubs/Pillow/PIL/TarIO.pyi | 10 - .../stubs/Pillow/PIL/TgaImagePlugin.pyi | 12 - .../stubs/Pillow/PIL/TiffImagePlugin.pyi | 193 - .../stubs/Pillow/PIL/TiffTags.pyi | 45 - .../stubs/Pillow/PIL/WalImageFile.pyi | 13 - .../stubs/Pillow/PIL/WebPImagePlugin.pyi | 15 - .../stubs/Pillow/PIL/WmfImagePlugin.pyi | 16 - .../stubs/Pillow/PIL/XVThumbImagePlugin.pyi | 10 - .../stubs/Pillow/PIL/XbmImagePlugin.pyi | 10 - .../stubs/Pillow/PIL/XpmImagePlugin.pyi | 11 - .../stubs/Pillow/PIL/__init__.pyi | 3 - .../stubs/Pillow/PIL/_binary.pyi | 12 - .../stubs/Pillow/PIL/_imaging.pyi | 15 - .../stubs/Pillow/PIL/_tkinter_finder.pyi | 2 - .../stubs/Pillow/PIL/_util.pyi | 9 - .../stubs/Pillow/PIL/_version.pyi | 1 - .../stubs/Pillow/PIL/features.pyi | 23 - .../stubs/PyMySQL/METADATA.toml | 1 - .../stubs/PyMySQL/pymysql/__init__.pyi | 63 - .../stubs/PyMySQL/pymysql/charset.pyi | 16 - .../stubs/PyMySQL/pymysql/connections.pyi | 233 - .../PyMySQL/pymysql/constants/CLIENT.pyi | 18 - .../PyMySQL/pymysql/constants/COMMAND.pyi | 22 - .../stubs/PyMySQL/pymysql/constants/ER.pyi | 471 -- .../PyMySQL/pymysql/constants/FIELD_TYPE.pyi | 29 - .../stubs/PyMySQL/pymysql/constants/FLAG.pyi | 17 - .../pymysql/constants/SERVER_STATUS.pyi | 10 - .../PyMySQL/pymysql/constants/__init__.pyi | 0 .../stubs/PyMySQL/pymysql/converters.pyi | 40 - .../stubs/PyMySQL/pymysql/cursors.pyi | 50 - .../stubs/PyMySQL/pymysql/err.pyi | 20 - .../stubs/PyMySQL/pymysql/times.pyi | 10 - .../stubs/PyMySQL/pymysql/util.pyi | 3 - .../stubs/PyYAML/METADATA.toml | 1 - .../stubs/PyYAML/yaml/__init__.pyi | 321 -- .../stubs/PyYAML/yaml/_yaml.pyi | 56 - .../stubs/PyYAML/yaml/composer.pyi | 18 - .../stubs/PyYAML/yaml/constructor.pyi | 96 - .../stubs/PyYAML/yaml/cyaml.pyi | 68 - .../stubs/PyYAML/yaml/dumper.pyi | 66 - .../stubs/PyYAML/yaml/emitter.pyi | 119 - .../stubs/PyYAML/yaml/error.pyi | 26 - .../stubs/PyYAML/yaml/events.pyi | 62 - .../stubs/PyYAML/yaml/loader.pyi | 23 - .../stubs/PyYAML/yaml/nodes.pyi | 29 - .../stubs/PyYAML/yaml/parser.pyi | 45 - .../stubs/PyYAML/yaml/reader.pyi | 39 - .../stubs/PyYAML/yaml/representer.pyi | 61 - .../stubs/PyYAML/yaml/resolver.pyi | 25 - .../stubs/PyYAML/yaml/scanner.pyi | 97 - .../stubs/PyYAML/yaml/serializer.pyi | 24 - .../stubs/PyYAML/yaml/tokens.pyi | 93 - .../stubs/Pygments/METADATA.toml | 2 - .../stubs/Pygments/pygments/__init__.pyi | 16 - .../stubs/Pygments/pygments/cmdline.pyi | 9 - .../stubs/Pygments/pygments/console.pyi | 10 - .../stubs/Pygments/pygments/filter.pyi | 18 - .../Pygments/pygments/filters/__init__.pyi | 58 - .../stubs/Pygments/pygments/formatter.pyi | 22 - .../Pygments/pygments/formatters/__init__.pyi | 25 - .../Pygments/pygments/formatters/_mapping.pyi | 3 - .../Pygments/pygments/formatters/bbcode.pyi | 12 - .../Pygments/pygments/formatters/html.pyi | 41 - .../Pygments/pygments/formatters/img.pyi | 66 - .../Pygments/pygments/formatters/irc.pyi | 14 - .../Pygments/pygments/formatters/latex.pyi | 34 - .../Pygments/pygments/formatters/other.pyi | 26 - .../pygments/formatters/pangomarkup.pyi | 12 - .../Pygments/pygments/formatters/rtf.pyi | 13 - .../Pygments/pygments/formatters/svg.pyi | 22 - .../Pygments/pygments/formatters/terminal.pyi | 15 - .../pygments/formatters/terminal256.pyi | 38 - .../stubs/Pygments/pygments/lexer.pyi | 99 - .../Pygments/pygments/lexers/__init__.pyi | 22 - .../stubs/Pygments/pygments/modeline.pyi | 1 - .../stubs/Pygments/pygments/plugin.pyi | 19 - .../stubs/Pygments/pygments/regexopt.pyi | 8 - .../stubs/Pygments/pygments/scanner.pyi | 19 - .../stubs/Pygments/pygments/sphinxext.pyi | 22 - .../stubs/Pygments/pygments/style.pyi | 40 - .../Pygments/pygments/styles/__init__.pyi | 13 - .../stubs/Pygments/pygments/token.pyi | 34 - .../stubs/Pygments/pygments/unistring.pyi | 38 - .../stubs/Pygments/pygments/util.pyi | 34 - .../stubs/SQLAlchemy/METADATA.toml | 5 - .../stubs/SQLAlchemy/sqlalchemy/__init__.pyi | 133 - .../SQLAlchemy/sqlalchemy/cimmutabledict.pyi | 19 - .../sqlalchemy/connectors/__init__.pyi | 1 - .../sqlalchemy/connectors/mxodbc.pyi | 17 - .../sqlalchemy/connectors/pyodbc.pyi | 21 - .../SQLAlchemy/sqlalchemy/cresultproxy.pyi | 11 - .../sqlalchemy/databases/__init__.pyi | 18 - .../stubs/SQLAlchemy/sqlalchemy/dbapi.pyi | 37 - .../sqlalchemy/dialects/__init__.pyi | 16 - .../sqlalchemy/dialects/firebird/__init__.pyi | 34 - .../sqlalchemy/dialects/firebird/base.pyi | 108 - .../sqlalchemy/dialects/firebird/fdb.pyi | 10 - .../dialects/firebird/kinterbasdb.pyi | 38 - .../sqlalchemy/dialects/mssql/__init__.pyi | 76 - .../sqlalchemy/dialects/mssql/base.pyi | 324 -- .../dialects/mssql/information_schema.pyi | 35 - .../sqlalchemy/dialects/mssql/json.pyi | 10 - .../sqlalchemy/dialects/mssql/mxodbc.pyi | 26 - .../sqlalchemy/dialects/mssql/provision.pyi | 0 .../sqlalchemy/dialects/mssql/pymssql.pyi | 24 - .../sqlalchemy/dialects/mssql/pyodbc.pyi | 44 - .../sqlalchemy/dialects/mysql/__init__.pyi | 85 - .../sqlalchemy/dialects/mysql/aiomysql.pyi | 73 - .../sqlalchemy/dialects/mysql/asyncmy.pyi | 73 - .../sqlalchemy/dialects/mysql/base.pyi | 239 - .../sqlalchemy/dialects/mysql/cymysql.pyi | 21 - .../sqlalchemy/dialects/mysql/dml.pyi | 23 - .../sqlalchemy/dialects/mysql/enumerated.pyi | 21 - .../sqlalchemy/dialects/mysql/expression.pyi | 13 - .../sqlalchemy/dialects/mysql/json.pyi | 10 - .../sqlalchemy/dialects/mysql/mariadb.pyi | 11 - .../dialects/mysql/mariadbconnector.pyi | 36 - .../dialects/mysql/mysqlconnector.pyi | 38 - .../sqlalchemy/dialects/mysql/mysqldb.pyi | 32 - .../sqlalchemy/dialects/mysql/oursql.pyi | 39 - .../sqlalchemy/dialects/mysql/provision.pyi | 0 .../sqlalchemy/dialects/mysql/pymysql.pyi | 19 - .../sqlalchemy/dialects/mysql/pyodbc.pyi | 20 - .../sqlalchemy/dialects/mysql/reflection.pyi | 17 - .../dialects/mysql/reserved_words.pyi | 4 - .../sqlalchemy/dialects/mysql/types.pyi | 145 - .../sqlalchemy/dialects/oracle/__init__.pyi | 52 - .../sqlalchemy/dialects/oracle/base.pyi | 219 - .../sqlalchemy/dialects/oracle/cx_oracle.pyi | 127 - .../sqlalchemy/dialects/oracle/provision.pyi | 0 .../dialects/postgresql/__init__.pyi | 98 - .../sqlalchemy/dialects/postgresql/array.pyi | 40 - .../dialects/postgresql/asyncpg.pyi | 202 - .../sqlalchemy/dialects/postgresql/base.pyi | 302 -- .../sqlalchemy/dialects/postgresql/dml.pyi | 47 - .../sqlalchemy/dialects/postgresql/ext.pyi | 27 - .../sqlalchemy/dialects/postgresql/hstore.pyi | 68 - .../sqlalchemy/dialects/postgresql/json.pyi | 27 - .../sqlalchemy/dialects/postgresql/pg8000.pyi | 134 - .../dialects/postgresql/provision.pyi | 0 .../dialects/postgresql/psycopg2.pyi | 95 - .../dialects/postgresql/psycopg2cffi.pyi | 13 - .../dialects/postgresql/pygresql.pyi | 52 - .../dialects/postgresql/pypostgresql.pyi | 31 - .../sqlalchemy/dialects/postgresql/ranges.pyi | 36 - .../sqlalchemy/dialects/sqlite/__init__.pyi | 45 - .../sqlalchemy/dialects/sqlite/aiosqlite.pyi | 72 - .../sqlalchemy/dialects/sqlite/base.pyi | 142 - .../sqlalchemy/dialects/sqlite/dml.pyi | 35 - .../sqlalchemy/dialects/sqlite/json.pyi | 10 - .../sqlalchemy/dialects/sqlite/provision.pyi | 0 .../dialects/sqlite/pysqlcipher.pyi | 16 - .../sqlalchemy/dialects/sqlite/pysqlite.pyi | 28 - .../sqlalchemy/dialects/sybase/__init__.pyi | 58 - .../sqlalchemy/dialects/sybase/base.pyi | 135 - .../sqlalchemy/dialects/sybase/mxodbc.pyi | 9 - .../sqlalchemy/dialects/sybase/pyodbc.pyi | 19 - .../sqlalchemy/dialects/sybase/pysybase.pyi | 27 - .../SQLAlchemy/sqlalchemy/engine/__init__.pyi | 46 - .../SQLAlchemy/sqlalchemy/engine/base.pyi | 218 - .../sqlalchemy/engine/characteristics.pyi | 18 - .../SQLAlchemy/sqlalchemy/engine/create.pyi | 21 - .../SQLAlchemy/sqlalchemy/engine/cursor.pyi | 127 - .../SQLAlchemy/sqlalchemy/engine/default.pyi | 220 - .../SQLAlchemy/sqlalchemy/engine/events.pyi | 29 - .../sqlalchemy/engine/interfaces.pyi | 167 - .../SQLAlchemy/sqlalchemy/engine/mock.pyi | 32 - .../sqlalchemy/engine/reflection.pyi | 32 - .../SQLAlchemy/sqlalchemy/engine/result.pyi | 118 - .../SQLAlchemy/sqlalchemy/engine/row.pyi | 57 - .../sqlalchemy/engine/strategies.pyi | 4 - .../SQLAlchemy/sqlalchemy/engine/url.pyi | 61 - .../SQLAlchemy/sqlalchemy/engine/util.pyi | 12 - .../SQLAlchemy/sqlalchemy/event/__init__.pyi | 10 - .../stubs/SQLAlchemy/sqlalchemy/event/api.pyi | 9 - .../SQLAlchemy/sqlalchemy/event/attr.pyi | 85 - .../SQLAlchemy/sqlalchemy/event/base.pyi | 30 - .../SQLAlchemy/sqlalchemy/event/legacy.pyi | 0 .../SQLAlchemy/sqlalchemy/event/registry.pyi | 21 - .../stubs/SQLAlchemy/sqlalchemy/events.pyi | 4 - .../stubs/SQLAlchemy/sqlalchemy/exc.pyi | 139 - .../SQLAlchemy/sqlalchemy/ext/__init__.pyi | 0 .../sqlalchemy/ext/associationproxy.pyi | 199 - .../sqlalchemy/ext/asyncio/__init__.pyi | 15 - .../sqlalchemy/ext/asyncio/base.pyi | 16 - .../sqlalchemy/ext/asyncio/engine.pyi | 93 - .../sqlalchemy/ext/asyncio/events.pyi | 5 - .../SQLAlchemy/sqlalchemy/ext/asyncio/exc.pyi | 5 - .../sqlalchemy/ext/asyncio/result.pyi | 57 - .../sqlalchemy/ext/asyncio/scoping.pyi | 76 - .../sqlalchemy/ext/asyncio/session.pyi | 107 - .../SQLAlchemy/sqlalchemy/ext/automap.pyi | 26 - .../stubs/SQLAlchemy/sqlalchemy/ext/baked.pyi | 45 - .../SQLAlchemy/sqlalchemy/ext/compiler.pyi | 9 - .../sqlalchemy/ext/declarative/__init__.pyi | 27 - .../sqlalchemy/ext/declarative/extensions.pyi | 14 - .../sqlalchemy/ext/horizontal_shard.pyi | 25 - .../SQLAlchemy/sqlalchemy/ext/hybrid.pyi | 67 - .../SQLAlchemy/sqlalchemy/ext/indexable.pyi | 15 - .../sqlalchemy/ext/instrumentation.pyi | 54 - .../SQLAlchemy/sqlalchemy/ext/mutable.pyi | 64 - .../sqlalchemy/ext/mypy/__init__.pyi | 0 .../SQLAlchemy/sqlalchemy/ext/mypy/apply.pyi | 26 - .../sqlalchemy/ext/mypy/decl_class.pyi | 9 - .../SQLAlchemy/sqlalchemy/ext/mypy/infer.pyi | 25 - .../SQLAlchemy/sqlalchemy/ext/mypy/names.pyi | 38 - .../SQLAlchemy/sqlalchemy/ext/mypy/plugin.pyi | 20 - .../SQLAlchemy/sqlalchemy/ext/mypy/util.pyi | 49 - .../sqlalchemy/ext/orderinglist.pyi | 21 - .../SQLAlchemy/sqlalchemy/ext/serializer.pyi | 6 - .../SQLAlchemy/sqlalchemy/future/__init__.pyi | 5 - .../SQLAlchemy/sqlalchemy/future/engine.pyi | 37 - .../sqlalchemy/future/orm/__init__.pyi | 0 .../SQLAlchemy/sqlalchemy/inspection.pyi | 1 - .../stubs/SQLAlchemy/sqlalchemy/log.pyi | 39 - .../SQLAlchemy/sqlalchemy/orm/__init__.pyi | 125 - .../SQLAlchemy/sqlalchemy/orm/attributes.pyi | 250 - .../stubs/SQLAlchemy/sqlalchemy/orm/base.pyi | 75 - .../SQLAlchemy/sqlalchemy/orm/clsregistry.pyi | 51 - .../SQLAlchemy/sqlalchemy/orm/collections.pyi | 91 - .../SQLAlchemy/sqlalchemy/orm/context.pyi | 189 - .../SQLAlchemy/sqlalchemy/orm/decl_api.pyi | 129 - .../SQLAlchemy/sqlalchemy/orm/decl_base.pyi | 47 - .../SQLAlchemy/sqlalchemy/orm/dependency.pyi | 74 - .../sqlalchemy/orm/descriptor_props.pyi | 73 - .../SQLAlchemy/sqlalchemy/orm/dynamic.pyi | 84 - .../SQLAlchemy/sqlalchemy/orm/evaluator.pyi | 24 - .../SQLAlchemy/sqlalchemy/orm/events.pyi | 104 - .../stubs/SQLAlchemy/sqlalchemy/orm/exc.pyi | 33 - .../SQLAlchemy/sqlalchemy/orm/identity.pyi | 32 - .../sqlalchemy/orm/instrumentation.pyi | 87 - .../SQLAlchemy/sqlalchemy/orm/interfaces.pyi | 130 - .../SQLAlchemy/sqlalchemy/orm/loading.pyi | 47 - .../SQLAlchemy/sqlalchemy/orm/mapper.pyi | 143 - .../sqlalchemy/orm/path_registry.pyi | 106 - .../SQLAlchemy/sqlalchemy/orm/persistence.pyi | 28 - .../SQLAlchemy/sqlalchemy/orm/properties.pyi | 45 - .../stubs/SQLAlchemy/sqlalchemy/orm/query.pyi | 130 - .../sqlalchemy/orm/relationships.pyi | 179 - .../SQLAlchemy/sqlalchemy/orm/scoping.pyi | 96 - .../SQLAlchemy/sqlalchemy/orm/session.pyi | 223 - .../stubs/SQLAlchemy/sqlalchemy/orm/state.pyi | 83 - .../SQLAlchemy/sqlalchemy/orm/strategies.pyi | 141 - .../sqlalchemy/orm/strategy_options.pyi | 66 - .../stubs/SQLAlchemy/sqlalchemy/orm/sync.pyi | 6 - .../SQLAlchemy/sqlalchemy/orm/unitofwork.pyi | 105 - .../stubs/SQLAlchemy/sqlalchemy/orm/util.pyi | 181 - .../SQLAlchemy/sqlalchemy/pool/__init__.pyi | 27 - .../stubs/SQLAlchemy/sqlalchemy/pool/base.pyi | 88 - .../sqlalchemy/pool/dbapi_proxy.pyi | 19 - .../SQLAlchemy/sqlalchemy/pool/events.pyi | 13 - .../stubs/SQLAlchemy/sqlalchemy/pool/impl.pyi | 46 - .../SQLAlchemy/sqlalchemy/processors.pyi | 7 - .../stubs/SQLAlchemy/sqlalchemy/schema.pyi | 51 - .../SQLAlchemy/sqlalchemy/sql/__init__.pyi | 91 - .../SQLAlchemy/sqlalchemy/sql/annotation.pyi | 19 - .../stubs/SQLAlchemy/sqlalchemy/sql/base.pyi | 159 - .../SQLAlchemy/sqlalchemy/sql/coercions.pyi | 66 - .../SQLAlchemy/sqlalchemy/sql/compiler.pyi | 472 -- .../stubs/SQLAlchemy/sqlalchemy/sql/crud.pyi | 18 - .../stubs/SQLAlchemy/sqlalchemy/sql/ddl.pyi | 139 - .../sqlalchemy/sql/default_comparator.pyi | 3 - .../stubs/SQLAlchemy/sqlalchemy/sql/dml.pyi | 111 - .../SQLAlchemy/sqlalchemy/sql/elements.pyi | 456 -- .../SQLAlchemy/sqlalchemy/sql/events.pyi | 10 - .../SQLAlchemy/sqlalchemy/sql/expression.pyi | 201 - .../SQLAlchemy/sqlalchemy/sql/functions.pyi | 223 - .../SQLAlchemy/sqlalchemy/sql/lambdas.pyi | 115 - .../SQLAlchemy/sqlalchemy/sql/naming.pyi | 10 - .../SQLAlchemy/sqlalchemy/sql/operators.pyi | 193 - .../stubs/SQLAlchemy/sqlalchemy/sql/roles.pyi | 57 - .../SQLAlchemy/sqlalchemy/sql/schema.pyi | 376 -- .../SQLAlchemy/sqlalchemy/sql/selectable.pyi | 419 -- .../SQLAlchemy/sqlalchemy/sql/sqltypes.pyi | 365 -- .../SQLAlchemy/sqlalchemy/sql/traversals.pyi | 158 - .../SQLAlchemy/sqlalchemy/sql/type_api.pyi | 114 - .../stubs/SQLAlchemy/sqlalchemy/sql/util.pyi | 103 - .../SQLAlchemy/sqlalchemy/sql/visitors.pyi | 86 - .../sqlalchemy/testing/__init__.pyi | 74 - .../sqlalchemy/testing/assertions.pyi | 85 - .../sqlalchemy/testing/assertsql.pyi | 82 - .../SQLAlchemy/sqlalchemy/testing/asyncio.pyi | 1 - .../SQLAlchemy/sqlalchemy/testing/config.pyi | 47 - .../SQLAlchemy/sqlalchemy/testing/engines.pyi | 69 - .../sqlalchemy/testing/entities.pyi | 9 - .../sqlalchemy/testing/exclusions.pyi | 76 - .../sqlalchemy/testing/fixtures.pyi | 83 - .../SQLAlchemy/sqlalchemy/testing/mock.pyi | 0 .../sqlalchemy/testing/pickleable.pyi | 62 - .../sqlalchemy/testing/plugin/__init__.pyi | 0 .../sqlalchemy/testing/plugin/bootstrap.pyi | 6 - .../sqlalchemy/testing/plugin/plugin_base.pyi | 63 - .../testing/plugin/pytestplugin.pyi | 36 - .../testing/plugin/reinvent_fixtures_py2k.pyi | 6 - .../sqlalchemy/testing/profiling.pyi | 20 - .../sqlalchemy/testing/provision.pyi | 34 - .../sqlalchemy/testing/requirements.pyi | 381 -- .../SQLAlchemy/sqlalchemy/testing/schema.pyi | 16 - .../SQLAlchemy/sqlalchemy/testing/util.pyi | 38 - .../sqlalchemy/testing/warnings.pyi | 7 - .../stubs/SQLAlchemy/sqlalchemy/types.pyi | 106 - .../SQLAlchemy/sqlalchemy/util/__init__.pyi | 174 - .../sqlalchemy/util/_collections.pyi | 232 - .../sqlalchemy/util/_compat_py3k.pyi | 10 - .../sqlalchemy/util/_concurrency_py3k.pyi | 26 - .../SQLAlchemy/sqlalchemy/util/_preloaded.pyi | 11 - .../SQLAlchemy/sqlalchemy/util/compat.pyi | 104 - .../sqlalchemy/util/concurrency.pyi | 13 - .../sqlalchemy/util/deprecations.pyi | 25 - .../sqlalchemy/util/langhelpers.pyi | 163 - .../SQLAlchemy/sqlalchemy/util/queue.pyi | 34 - .../sqlalchemy/util/topological.pyi | 3 - .../stubs/Send2Trash/METADATA.toml | 1 - .../stubs/Send2Trash/send2trash/__init__.pyi | 10 - .../stubs/Send2Trash/send2trash/compat.pyi | 6 - .../Send2Trash/send2trash/exceptions.pyi | 2 - .../stubs/Send2Trash/send2trash/util.pyi | 1 - .../stubs/aiofiles/METADATA.toml | 1 - .../stubs/aiofiles/aiofiles/__init__.pyi | 1 - .../stubs/aiofiles/aiofiles/base.pyi | 35 - .../stubs/aiofiles/aiofiles/os.pyi | 75 - .../stubs/aiofiles/aiofiles/ospath.pyi | 15 - .../aiofiles/aiofiles/threadpool/__init__.pyi | 99 - .../aiofiles/aiofiles/threadpool/binary.pyi | 41 - .../aiofiles/aiofiles/threadpool/text.pyi | 39 - .../stubs/annoy/METADATA.toml | 2 - .../stubs/annoy/annoy/__init__.pyi | 44 - .../stubs/appdirs/METADATA.toml | 1 - .../stubs/appdirs/appdirs.pyi | 55 - .../stubs/atomicwrites/METADATA.toml | 2 - .../atomicwrites/atomicwrites/__init__.pyi | 16 - .../stubs/aws-xray-sdk/METADATA.toml | 1 - .../aws-xray-sdk/aws_xray_sdk/__init__.pyi | 3 - .../aws_xray_sdk/core/__init__.pyi | 4 - .../aws_xray_sdk/core/async_context.pyi | 15 - .../aws_xray_sdk/core/async_recorder.pyi | 25 - .../aws_xray_sdk/core/context.pyi | 30 - .../aws_xray_sdk/core/daemon_config.pyi | 15 - .../aws_xray_sdk/core/emitters/__init__.pyi | 0 .../core/emitters/udp_emitter.pyi | 19 - .../aws_xray_sdk/core/exceptions/__init__.pyi | 0 .../core/exceptions/exceptions.pyi | 8 - .../aws_xray_sdk/core/lambda_launcher.pyi | 28 - .../aws_xray_sdk/core/models/__init__.pyi | 0 .../core/models/default_dynamic_naming.pyi | 5 - .../core/models/dummy_entities.pyi | 29 - .../aws_xray_sdk/core/models/entity.pyi | 47 - .../core/models/facade_segment.pyi | 25 - .../aws_xray_sdk/core/models/http.pyi | 13 - .../aws_xray_sdk/core/models/noop_traceid.pyi | 6 - .../aws_xray_sdk/core/models/segment.pyi | 43 - .../aws_xray_sdk/core/models/subsegment.pyi | 36 - .../aws_xray_sdk/core/models/throwable.pyi | 14 - .../aws_xray_sdk/core/models/trace_header.pyi | 25 - .../aws_xray_sdk/core/models/traceid.pyi | 8 - .../aws_xray_sdk/core/patcher.pyi | 14 - .../aws_xray_sdk/core/plugins/__init__.pyi | 0 .../aws_xray_sdk/core/plugins/ec2_plugin.pyi | 12 - .../aws_xray_sdk/core/plugins/ecs_plugin.pyi | 7 - .../core/plugins/elasticbeanstalk_plugin.pyi | 8 - .../aws_xray_sdk/core/plugins/utils.pyi | 8 - .../aws_xray_sdk/core/recorder.pyi | 125 - .../aws_xray_sdk/core/sampling/__init__.pyi | 0 .../aws_xray_sdk/core/sampling/connector.pyi | 17 - .../core/sampling/local/__init__.pyi | 0 .../core/sampling/local/reservoir.pyi | 8 - .../core/sampling/local/sampler.pyi | 12 - .../core/sampling/local/sampling_rule.pyi | 28 - .../aws_xray_sdk/core/sampling/reservoir.pyi | 15 - .../aws_xray_sdk/core/sampling/rule_cache.pyi | 17 - .../core/sampling/rule_poller.pyi | 9 - .../aws_xray_sdk/core/sampling/sampler.pyi | 21 - .../core/sampling/sampling_rule.pyi | 47 - .../core/sampling/target_poller.pyi | 7 - .../aws_xray_sdk/core/streaming/__init__.pyi | 0 .../core/streaming/default_streaming.pyi | 8 - .../aws_xray_sdk/core/utils/__init__.pyi | 0 .../core/utils/atomic_counter.pyi | 9 - .../aws_xray_sdk/core/utils/compat.pyi | 9 - .../aws_xray_sdk/core/utils/conversion.pyi | 5 - .../core/utils/search_pattern.pyi | 1 - .../aws_xray_sdk/core/utils/stacktrace.pyi | 3 - .../aws-xray-sdk/aws_xray_sdk/sdk_config.pyi | 11 - .../aws-xray-sdk/aws_xray_sdk/version.pyi | 1 - .../stubs/babel/METADATA.toml | 2 - .../stubs/babel/babel/__init__.pyi | 8 - .../stubs/babel/babel/_compat.pyi | 19 - .../stubs/babel/babel/core.pyi | 133 - .../stubs/babel/babel/dates.pyi | 159 - .../stubs/babel/babel/languages.pyi | 2 - .../stubs/babel/babel/lists.pyi | 5 - .../stubs/babel/babel/localedata.pyi | 24 - .../stubs/babel/babel/localtime/__init__.pyi | 16 - .../stubs/babel/babel/localtime/_unix.pyi | 0 .../stubs/babel/babel/localtime/_win32.pyi | 6 - .../stubs/babel/babel/messages/__init__.pyi | 1 - .../stubs/babel/babel/messages/catalog.pyi | 106 - .../stubs/babel/babel/messages/checkers.pyi | 6 - .../stubs/babel/babel/messages/extract.pyi | 28 - .../stubs/babel/babel/messages/frontend.pyi | 120 - .../stubs/babel/babel/messages/jslexer.pyi | 21 - .../stubs/babel/babel/messages/mofile.pyi | 5 - .../stubs/babel/babel/messages/plurals.pyi | 15 - .../stubs/babel/babel/messages/pofile.pyi | 59 - .../stubs/babel/babel/numbers.pyi | 94 - .../stubs/babel/babel/plural.pyi | 96 - .../stubs/babel/babel/support.pyi | 91 - .../stubs/babel/babel/units.pyi | 16 - .../stubs/babel/babel/util.pyi | 42 - .../METADATA.toml | 2 - .../backports/__init__.pyi | 4 - .../backports/ssl_match_hostname/__init__.pyi | 3 - .../stubs/beautifulsoup4/METADATA.toml | 1 - .../stubs/beautifulsoup4/bs4/__init__.pyi | 84 - .../beautifulsoup4/bs4/builder/__init__.pyi | 66 - .../beautifulsoup4/bs4/builder/_html5lib.pyi | 68 - .../bs4/builder/_htmlparser.pyi | 41 - .../beautifulsoup4/bs4/builder/_lxml.pyi | 49 - .../stubs/beautifulsoup4/bs4/dammit.pyi | 87 - .../stubs/beautifulsoup4/bs4/diagnose.pyi | 22 - .../stubs/beautifulsoup4/bs4/element.pyi | 354 -- .../stubs/beautifulsoup4/bs4/formatter.pyi | 45 - .../stubs/bleach/METADATA.toml | 1 - .../stubs/bleach/bleach/__init__.pyi | 29 - .../stubs/bleach/bleach/callbacks.pyi | 8 - .../stubs/bleach/bleach/css_sanitizer.pyi | 11 - .../stubs/bleach/bleach/html5lib_shim.pyi | 27 - .../stubs/bleach/bleach/linkifier.pyi | 46 - .../stubs/bleach/bleach/sanitizer.pyi | 71 - .../stubs/boto/METADATA.toml | 2 - .../stubs/boto/boto/__init__.pyi | 105 - .../stubs/boto/boto/auth.pyi | 109 - .../stubs/boto/boto/auth_handler.pyi | 10 - .../stubs/boto/boto/compat.pyi | 20 - .../stubs/boto/boto/connection.pyi | 178 - .../stubs/boto/boto/ec2/__init__.pyi | 10 - .../stubs/boto/boto/elb/__init__.pyi | 59 - .../stubs/boto/boto/exception.pyi | 147 - .../stubs/boto/boto/kms/__init__.pyi | 4 - .../stubs/boto/boto/kms/exceptions.pyi | 17 - .../stubs/boto/boto/kms/layer1.pyi | 78 - .../stubs/boto/boto/plugin.pyi | 9 - .../stubs/boto/boto/regioninfo.pyi | 18 - .../stubs/boto/boto/s3/__init__.pyi | 16 - .../stubs/boto/boto/s3/acl.pyi | 48 - .../stubs/boto/boto/s3/bucket.pyi | 178 - .../boto/boto/s3/bucketlistresultset.pyi | 76 - .../stubs/boto/boto/s3/bucketlogging.pyi | 11 - .../stubs/boto/boto/s3/connection.pyi | 139 - .../stubs/boto/boto/s3/cors.pyi | 35 - .../stubs/boto/boto/s3/deletemarker.pyi | 12 - .../stubs/boto/boto/s3/key.pyi | 232 - .../stubs/boto/boto/s3/keyfile.pyi | 29 - .../stubs/boto/boto/s3/lifecycle.pyi | 65 - .../stubs/boto/boto/s3/multidelete.pyi | 35 - .../stubs/boto/boto/s3/multipart.pyi | 70 - .../stubs/boto/boto/s3/prefix.pyi | 10 - .../stubs/boto/boto/s3/tagging.pyi | 22 - .../stubs/boto/boto/s3/user.pyi | 10 - .../stubs/boto/boto/s3/website.pyi | 82 - .../stubs/boto/boto/utils.pyi | 157 - .../stubs/braintree/METADATA.toml | 1 - .../stubs/braintree/braintree/__init__.pyi | 83 - .../account_updater_daily_report.pyi | 9 - .../stubs/braintree/braintree/ach_mandate.pyi | 5 - .../stubs/braintree/braintree/add_on.pyi | 6 - .../braintree/braintree/add_on_gateway.pyi | 10 - .../stubs/braintree/braintree/address.pyi | 27 - .../braintree/braintree/address_gateway.pyi | 16 - .../braintree/amex_express_checkout_card.pyi | 9 - .../braintree/braintree/android_pay_card.pyi | 14 - .../braintree/braintree/apple_pay_card.pyi | 14 - .../braintree/braintree/apple_pay_gateway.pyi | 14 - .../braintree/braintree/apple_pay_options.pyi | 3 - .../braintree/braintree/attribute_getter.pyi | 4 - .../braintree/authorization_adjustment.pyi | 7 - .../stubs/braintree/braintree/bin_data.pyi | 3 - .../braintree/braintree/braintree_gateway.pyi | 60 - .../braintree/braintree/client_token.pyi | 12 - .../braintree/client_token_gateway.pyi | 11 - .../braintree/braintree/configuration.pyi | 50 - ...nnected_merchant_paypal_status_changed.pyi | 6 - ...connected_merchant_status_transitioned.pyi | 6 - .../braintree/credentials_parser.pyi | 16 - .../stubs/braintree/braintree/credit_card.pyi | 74 - .../braintree/credit_card_gateway.pyi | 22 - .../braintree/credit_card_verification.pyi | 32 - .../credit_card_verification_gateway.pyi | 17 - .../credit_card_verification_search.pyi | 20 - .../stubs/braintree/braintree/customer.pyi | 54 - .../braintree/braintree/customer_gateway.pyi | 20 - .../braintree/braintree/customer_search.pyi | 29 - .../stubs/braintree/braintree/descriptor.pyi | 4 - .../braintree/braintree/disbursement.pyi | 16 - .../braintree/disbursement_detail.pyi | 10 - .../stubs/braintree/braintree/discount.pyi | 6 - .../braintree/braintree/discount_gateway.pyi | 10 - .../stubs/braintree/braintree/dispute.pyi | 66 - .../braintree/dispute_details/__init__.pyi | 3 - .../braintree/dispute_details/evidence.pyi | 4 - .../dispute_details/paypal_message.pyi | 4 - .../dispute_details/status_history.pyi | 4 - .../braintree/braintree/dispute_gateway.pyi | 23 - .../braintree/braintree/dispute_search.pyi | 23 - .../braintree/braintree/document_upload.pyi | 14 - .../braintree/document_upload_gateway.pyi | 12 - .../stubs/braintree/braintree/environment.pyi | 33 - .../stubs/braintree/braintree/error_codes.pyi | 766 --- .../braintree/braintree/error_result.pyi | 16 - .../stubs/braintree/braintree/errors.pyi | 12 - .../braintree/europe_bank_account.pyi | 9 - .../braintree/exceptions/__init__.pyi | 13 - .../exceptions/authentication_error.pyi | 3 - .../exceptions/authorization_error.pyi | 3 - .../braintree/exceptions/braintree_error.pyi | 1 - .../exceptions/configuration_error.pyi | 3 - .../exceptions/gateway_timeout_error.pyi | 3 - .../braintree/exceptions/http/__init__.pyi | 3 - .../exceptions/http/connection_error.pyi | 3 - .../http/invalid_response_error.pyi | 3 - .../exceptions/http/timeout_error.pyi | 5 - .../exceptions/invalid_challenge_error.pyi | 3 - .../exceptions/invalid_signature_error.pyi | 3 - .../braintree/exceptions/not_found_error.pyi | 3 - .../exceptions/request_timeout_error.pyi | 3 - .../braintree/exceptions/server_error.pyi | 3 - .../exceptions/service_unavailable_error.pyi | 3 - .../exceptions/too_many_requests_error.pyi | 3 - .../braintree/exceptions/unexpected_error.pyi | 3 - .../exceptions/upgrade_required_error.pyi | 3 - .../braintree/facilitated_details.pyi | 3 - .../braintree/facilitator_details.pyi | 3 - .../granted_payment_instrument_update.pyi | 7 - .../braintree/braintree/iban_bank_account.pyi | 3 - .../stubs/braintree/braintree/ids_search.pyi | 6 - .../braintree/braintree/local_payment.pyi | 3 - .../braintree/local_payment_completed.pyi | 8 - .../braintree/local_payment_reversed.pyi | 4 - .../braintree/braintree/masterpass_card.pyi | 13 - .../stubs/braintree/braintree/merchant.pyi | 8 - .../braintree/merchant_account/__init__.pyi | 4 - .../merchant_account/address_details.pyi | 7 - .../merchant_account/business_details.pyi | 9 - .../merchant_account/funding_details.pyi | 7 - .../merchant_account/individual_details.pyi | 9 - .../merchant_account/merchant_account.pyi | 32 - .../braintree/merchant_account_gateway.pyi | 20 - .../braintree/braintree/merchant_gateway.pyi | 15 - .../braintree/braintree/modification.pyi | 7 - .../braintree/oauth_access_revocation.pyi | 4 - .../braintree/braintree/oauth_credentials.pyi | 3 - .../braintree/braintree/oauth_gateway.pyi | 15 - .../braintree/paginated_collection.pyi | 8 - .../braintree/braintree/paginated_result.pyi | 7 - .../braintree/braintree/partner_merchant.pyi | 12 - .../braintree/payment_instrument_type.pyi | 14 - .../braintree/braintree/payment_method.pyi | 23 - .../braintree/payment_method_gateway.pyi | 35 - .../braintree/payment_method_nonce.pyi | 16 - .../payment_method_nonce_gateway.pyi | 15 - .../braintree/payment_method_parser.pyi | 15 - .../braintree/braintree/paypal_account.pyi | 16 - .../braintree/paypal_account_gateway.pyi | 15 - .../stubs/braintree/braintree/paypal_here.pyi | 4 - .../stubs/braintree/braintree/plan.pyi | 15 - .../braintree/braintree/plan_gateway.pyi | 14 - .../braintree/processor_response_types.pyi | 4 - .../stubs/braintree/braintree/resource.pyi | 12 - .../braintree/resource_collection.pyi | 16 - .../revoked_payment_method_metadata.pyi | 10 - .../stubs/braintree/braintree/risk_data.pyi | 3 - .../braintree/braintree/samsung_pay_card.pyi | 13 - .../stubs/braintree/braintree/search.pyi | 59 - .../braintree/settlement_batch_summary.pyi | 13 - .../settlement_batch_summary_gateway.pyi | 12 - .../braintree/braintree/signature_service.pyi | 10 - .../braintree/braintree/status_event.pyi | 7 - .../braintree/braintree/subscription.pyi | 57 - .../braintree/subscription_details.pyi | 3 - .../braintree/subscription_gateway.pyi | 20 - .../braintree/subscription_search.pyi | 19 - .../braintree/subscription_status_event.pyi | 8 - .../braintree/braintree/successful_result.pyi | 5 - .../braintree/braintree/testing_gateway.pyi | 17 - .../braintree/three_d_secure_info.pyi | 3 - .../stubs/braintree/braintree/transaction.pyi | 184 - .../braintree/transaction_amounts.pyi | 5 - .../braintree/transaction_details.pyi | 7 - .../braintree/transaction_gateway.pyi | 29 - .../braintree/transaction_line_item.pyi | 11 - .../transaction_line_item_gateway.pyi | 14 - .../braintree/transaction_search.pyi | 73 - .../braintree/unknown_payment_method.pyi | 4 - .../braintree/braintree/us_bank_account.pyi | 17 - .../braintree/us_bank_account_gateway.pyi | 10 - .../us_bank_account_verification.pyi | 28 - .../us_bank_account_verification_gateway.pyi | 16 - .../us_bank_account_verification_search.pyi | 20 - .../braintree/braintree/util/__init__.pyi | 7 - .../braintree/braintree/util/constants.pyi | 3 - .../stubs/braintree/braintree/util/crypto.pyi | 9 - .../braintree/util/datetime_parser.pyi | 1 - .../braintree/braintree/util/generator.pyi | 10 - .../braintree/util/graphql_client.pyi | 18 - .../stubs/braintree/braintree/util/http.pyi | 42 - .../stubs/braintree/braintree/util/parser.pyi | 10 - .../braintree/braintree/util/xml_util.pyi | 8 - .../braintree/braintree/validation_error.pyi | 3 - .../braintree/validation_error_collection.pyi | 20 - .../braintree/braintree/venmo_account.pyi | 7 - .../stubs/braintree/braintree/version.pyi | 1 - .../braintree/visa_checkout_card.pyi | 15 - .../braintree/webhook_notification.pyi | 83 - .../webhook_notification_gateway.pyi | 16 - .../braintree/braintree/webhook_testing.pyi | 7 - .../braintree/webhook_testing_gateway.pyi | 10 - .../stubs/cachetools/METADATA.toml | 1 - .../stubs/cachetools/cachetools/__init__.pyi | 95 - .../stubs/cachetools/cachetools/func.pyi | 17 - .../stubs/cachetools/cachetools/keys.pyi | 6 - .../stubs/caldav/METADATA.toml | 3 - .../stubs/caldav/caldav/__init__.pyi | 2 - .../stubs/caldav/caldav/davclient.pyi | 70 - .../stubs/caldav/caldav/elements/__init__.pyi | 0 .../stubs/caldav/caldav/elements/base.pyi | 23 - .../stubs/caldav/caldav/elements/cdav.pyi | 100 - .../stubs/caldav/caldav/elements/dav.pyi | 63 - .../stubs/caldav/caldav/elements/ical.pyi | 9 - .../stubs/caldav/caldav/lib/__init__.pyi | 0 .../stubs/caldav/caldav/lib/error.pyi | 23 - .../stubs/caldav/caldav/lib/namespace.pyi | 4 - .../stubs/caldav/caldav/lib/url.pyi | 27 - .../stubs/caldav/caldav/lib/vcal.pyi | 1 - .../stubs/caldav/caldav/objects.pyi | 175 - .../stubs/certifi/METADATA.toml | 2 - .../stubs/certifi/certifi.pyi | 2 - .../stubs/characteristic/METADATA.toml | 2 - .../characteristic/__init__.pyi | 35 - .../stubs/chardet/METADATA.toml | 3 - .../stubs/chardet/chardet/__init__.pyi | 26 - .../stubs/chardet/chardet/enums.pyi | 39 - .../chardet/chardet/langbulgarianmodel.pyi | 7 - .../chardet/chardet/langcyrillicmodel.pyi | 15 - .../stubs/chardet/chardet/langgreekmodel.pyi | 7 - .../stubs/chardet/chardet/langhebrewmodel.pyi | 5 - .../chardet/chardet/langhungarianmodel.pyi | 7 - .../stubs/chardet/chardet/langthaimodel.pyi | 5 - .../chardet/chardet/langturkishmodel.pyi | 5 - .../chardet/chardet/universaldetector.pyi | 29 - .../stubs/chardet/chardet/version.pyi | 2 - .../stubs/chevron/METADATA.toml | 1 - .../stubs/chevron/chevron/__init__.pyi | 5 - .../stubs/chevron/chevron/main.pyi | 8 - .../stubs/chevron/chevron/metadata.pyi | 1 - .../stubs/chevron/chevron/renderer.pyi | 18 - .../stubs/chevron/chevron/tokenizer.pyi | 11 - .../stubs/click-spinner/METADATA.toml | 3 - .../click-spinner/click_spinner/__init__.pyi | 31 - .../stubs/colorama/METADATA.toml | 2 - .../stubs/colorama/colorama/__init__.pyi | 3 - .../stubs/colorama/colorama/ansi.pyi | 69 - .../stubs/colorama/colorama/ansitowin32.pyi | 49 - .../stubs/colorama/colorama/initialise.pyi | 18 - .../stubs/colorama/colorama/win32.pyi | 31 - .../stubs/colorama/colorama/winterm.pyi | 36 - .../stubs/commonmark/METADATA.toml | 1 - .../stubs/commonmark/commonmark/__init__.pyi | 5 - .../stubs/commonmark/commonmark/blocks.pyi | 166 - .../stubs/commonmark/commonmark/cmark.pyi | 1 - .../stubs/commonmark/commonmark/common.pyi | 35 - .../stubs/commonmark/commonmark/dump.pyi | 3 - .../commonmark/commonmark/entitytrans.pyi | 1 - .../stubs/commonmark/commonmark/inlines.pyi | 65 - .../stubs/commonmark/commonmark/main.pyi | 3 - .../stubs/commonmark/commonmark/node.pyi | 51 - .../commonmark/normalize_reference.pyi | 1 - .../commonmark/commonmark/render/__init__.pyi | 0 .../commonmark/commonmark/render/html.pyi | 37 - .../commonmark/commonmark/render/renderer.pyi | 7 - .../commonmark/commonmark/render/rst.pyi | 26 - .../stubs/contextvars/METADATA.toml | 1 - .../stubs/contextvars/contextvars.pyi | 44 - .../stubs/croniter/METADATA.toml | 2 - .../stubs/croniter/croniter.pyi | 78 - .../stubs/cryptography/METADATA.toml | 2 - .../cryptography/cryptography/__init__.pyi | 0 .../cryptography/cryptography/exceptions.pyi | 7 - .../cryptography/cryptography/fernet.pyi | 23 - .../cryptography/hazmat/__init__.pyi | 3 - .../cryptography/hazmat/backends/__init__.pyi | 6 - .../hazmat/backends/interfaces.pyi | 196 - .../cryptography/hazmat/bindings/__init__.pyi | 0 .../hazmat/bindings/openssl/__init__.pyi | 0 .../hazmat/bindings/openssl/binding.pyi | 6 - .../hazmat/primitives/__init__.pyi | 3 - .../hazmat/primitives/asymmetric/__init__.pyi | 3 - .../hazmat/primitives/asymmetric/dh.pyi | 79 - .../hazmat/primitives/asymmetric/dsa.pyi | 76 - .../hazmat/primitives/asymmetric/ec.pyi | 197 - .../hazmat/primitives/asymmetric/ed25519.pyi | 25 - .../hazmat/primitives/asymmetric/ed448.pyi | 25 - .../hazmat/primitives/asymmetric/padding.pyi | 27 - .../hazmat/primitives/asymmetric/rsa.pyi | 80 - .../hazmat/primitives/asymmetric/utils.pyi | 11 - .../hazmat/primitives/asymmetric/x25519.pyi | 23 - .../hazmat/primitives/asymmetric/x448.pyi | 23 - .../hazmat/primitives/ciphers/__init__.pyi | 43 - .../hazmat/primitives/ciphers/aead.pyi | 20 - .../hazmat/primitives/ciphers/algorithms.pyi | 74 - .../hazmat/primitives/ciphers/modes.pyi | 93 - .../cryptography/hazmat/primitives/cmac.pyi | 9 - .../hazmat/primitives/constant_time.pyi | 1 - .../cryptography/hazmat/primitives/hashes.pyi | 48 - .../cryptography/hazmat/primitives/hmac.pyi | 9 - .../hazmat/primitives/kdf/__init__.pyi | 7 - .../hazmat/primitives/kdf/concatkdf.pyi | 20 - .../hazmat/primitives/kdf/hkdf.pyi | 15 - .../hazmat/primitives/kdf/kbkdf.pyi | 29 - .../hazmat/primitives/kdf/pbkdf2.pyi | 10 - .../hazmat/primitives/kdf/scrypt.pyi | 7 - .../hazmat/primitives/kdf/x963kdf.pyi | 8 - .../hazmat/primitives/keywrap.pyi | 8 - .../hazmat/primitives/padding.pyi | 17 - .../hazmat/primitives/poly1305.pyi | 9 - .../primitives/serialization/__init__.pyi | 60 - .../primitives/serialization/pkcs12.pyi | 18 - .../hazmat/primitives/serialization/pkcs7.pyi | 31 - .../hazmat/primitives/twofactor/__init__.pyi | 1 - .../hazmat/primitives/twofactor/hotp.pyi | 10 - .../hazmat/primitives/twofactor/totp.pyi | 16 - .../cryptography/x509/__init__.pyi | 464 -- .../cryptography/x509/extensions.pyi | 26 - .../cryptography/cryptography/x509/oid.pyi | 103 - .../stubs/dataclasses/METADATA.toml | 1 - .../stubs/dataclasses/dataclasses.pyi | 92 - .../stubs/dateparser/METADATA.toml | 1 - .../stubs/dateparser/dateparser/__init__.pyi | 37 - .../dateparser/calendars/__init__.pyi | 20 - .../dateparser/dateparser/calendars/hijri.pyi | 6 - .../dateparser/calendars/hijri_parser.pyi | 25 - .../dateparser/calendars/jalali.pyi | 6 - .../dateparser/calendars/jalali_parser.pyi | 17 - .../stubs/dateparser/dateparser/conf.pyi | 17 - .../dateparser/dateparser/data/__init__.pyi | 0 .../dateparser/data/languages_info.pyi | 4 - .../stubs/dateparser/dateparser/date.pyi | 108 - .../dateparser/dateparser/date_parser.pyi | 6 - .../dateparser/freshness_date_parser.pyi | 11 - .../dateparser/languages/__init__.pyi | 0 .../dateparser/languages/dictionary.pyi | 23 - .../dateparser/languages/loader.pyi | 28 - .../dateparser/languages/locale.pyi | 23 - .../dateparser/languages/validation.pyi | 9 - .../stubs/dateparser/dateparser/parser.pyi | 51 - .../dateparser/dateparser/search/__init__.pyi | 23 - .../dateparser/search/detection.pyi | 17 - .../dateparser/dateparser/search/search.pyi | 39 - .../dateparser/search/text_detection.pyi | 11 - .../dateparser/dateparser/timezone_parser.pyi | 18 - .../stubs/dateparser/dateparser/timezones.pyi | 3 - .../dateparser/dateparser/utils/__init__.pyi | 22 - .../dateparser/dateparser/utils/strptime.pyi | 8 - .../dateparser/dateparser_data/__init__.pyi | 0 .../dateparser/dateparser_data/settings.pyi | 4 - .../stubs/decorator/METADATA.toml | 1 - .../stubs/decorator/decorator.pyi | 86 - .../stubs/docopt/METADATA.toml | 3 - .../typeshed-fallback/stubs/docopt/docopt.pyi | 10 - .../stubs/docutils/METADATA.toml | 1 - .../stubs/docutils/docutils/__init__.pyi | 48 - .../stubs/docutils/docutils/core.pyi | 3 - .../stubs/docutils/docutils/examples.pyi | 3 - .../stubs/docutils/docutils/frontend.pyi | 78 - .../stubs/docutils/docutils/io.pyi | 67 - .../docutils/docutils/languages/__init__.pyi | 14 - .../stubs/docutils/docutils/nodes.pyi | 137 - .../docutils/docutils/parsers/__init__.pyi | 17 - .../stubs/docutils/docutils/parsers/null.pyi | 6 - .../docutils/parsers/recommonmark_wrapper.pyi | 3 - .../docutils/parsers/rst/__init__.pyi | 34 - .../parsers/rst/directives/__init__.pyi | 12 - .../parsers/rst/directives/admonitions.pyi | 3 - .../docutils/parsers/rst/directives/body.pyi | 3 - .../docutils/parsers/rst/directives/html.pyi | 3 - .../parsers/rst/directives/images.pyi | 3 - .../docutils/parsers/rst/directives/misc.pyi | 3 - .../docutils/parsers/rst/directives/parts.pyi | 3 - .../parsers/rst/directives/references.pyi | 3 - .../parsers/rst/directives/tables.pyi | 3 - .../docutils/docutils/parsers/rst/roles.pyi | 19 - .../docutils/docutils/parsers/rst/states.pyi | 6 - .../docutils/docutils/readers/__init__.pyi | 3 - .../docutils/docutils/readers/doctree.pyi | 3 - .../stubs/docutils/docutils/readers/pep.pyi | 3 - .../docutils/docutils/readers/standalone.pyi | 3 - .../stubs/docutils/docutils/statemachine.pyi | 3 - .../docutils/docutils/transforms/__init__.pyi | 14 - .../docutils/docutils/utils/__init__.pyi | 40 - .../docutils/docutils/writers/__init__.pyi | 3 - .../docutils/writers/docutils_xml.pyi | 3 - .../docutils/docutils/writers/html4css1.pyi | 3 - .../docutils/writers/html5_polyglot.pyi | 3 - .../docutils/docutils/writers/latex2e.pyi | 3 - .../docutils/docutils/writers/manpage.pyi | 3 - .../stubs/docutils/docutils/writers/null.pyi | 3 - .../docutils/docutils/writers/odf_odt.pyi | 3 - .../docutils/docutils/writers/pep_html.pyi | 3 - .../docutils/docutils/writers/pseudoxml.pyi | 3 - .../docutils/docutils/writers/s5_html.pyi | 3 - .../stubs/docutils/docutils/writers/xetex.pyi | 3 - .../stubs/editdistance/METADATA.toml | 1 - .../stubs/editdistance/editdistance.pyi | 4 - .../stubs/emoji/METADATA.toml | 2 - .../stubs/emoji/emoji/__init__.pyi | 19 - .../stubs/emoji/emoji/core.pyi | 17 - .../emoji/emoji/unicode_codes/__init__.pyi | 14 - .../stubs/emoji/emoji/unicode_codes/en.pyi | 6 - .../stubs/emoji/emoji/unicode_codes/es.pyi | 4 - .../stubs/emoji/emoji/unicode_codes/it.pyi | 4 - .../stubs/emoji/emoji/unicode_codes/pt.pyi | 4 - .../stubs/entrypoints/METADATA.toml | 2 - .../stubs/entrypoints/entrypoints.pyi | 57 - .../stubs/filelock/METADATA.toml | 1 - .../stubs/filelock/filelock/__init__.pyi | 50 - .../stubs/first/METADATA.toml | 2 - .../typeshed-fallback/stubs/first/first.pyi | 13 - .../stubs/flake8-2020/METADATA.toml | 1 - .../stubs/flake8-2020/flake8_2020.pyi | 15 - .../stubs/flake8-bugbear/METADATA.toml | 1 - .../stubs/flake8-bugbear/bugbear.pyi | 28 - .../stubs/flake8-builtins/METADATA.toml | 1 - .../stubs/flake8-builtins/flake8_builtins.pyi | 11 - .../stubs/flake8-docstrings/METADATA.toml | 1 - .../flake8-docstrings/flake8_docstrings.pyi | 20 - .../stubs/flake8-plugin-utils/METADATA.toml | 1 - .../flake8_plugin_utils/__init__.pyi | 9 - .../flake8_plugin_utils/plugin.pyi | 38 - .../flake8_plugin_utils/utils/__init__.pyi | 3 - .../flake8_plugin_utils/utils/assertions.pyi | 8 - .../flake8_plugin_utils/utils/constants.pyi | 5 - .../flake8_plugin_utils/utils/equiv_nodes.pyi | 3 - .../stubs/flake8-rst-docstrings/METADATA.toml | 1 - .../flake8_rst_docstrings.pyi | 29 - .../stubs/flake8-simplify/METADATA.toml | 1 - .../flake8_simplify/__init__.pyi | 9 - .../stubs/flake8-typing-imports/METADATA.toml | 1 - .../flake8_typing_imports.pyi | 16 - .../stubs/fpdf2/METADATA.toml | 2 - .../stubs/fpdf2/fpdf/__init__.pyi | 10 - .../stubs/fpdf2/fpdf/actions.pyi | 26 - .../stubs/fpdf2/fpdf/deprecation.pyi | 5 - .../stubs/fpdf2/fpdf/errors.pyi | 9 - .../stubs/fpdf2/fpdf/fonts.pyi | 4 - .../stubs/fpdf2/fpdf/fpdf.pyi | 286 -- .../stubs/fpdf2/fpdf/html.pyi | 74 - .../stubs/fpdf2/fpdf/image_parsing.pyi | 11 - .../stubs/fpdf2/fpdf/outline.pyi | 32 - .../stubs/fpdf2/fpdf/recorder.pyi | 13 - .../stubs/fpdf2/fpdf/structure_tree.pyi | 52 - .../stubs/fpdf2/fpdf/syntax.pyi | 45 - .../stubs/fpdf2/fpdf/template.pyi | 35 - .../stubs/fpdf2/fpdf/transitions.pyi | 58 - .../stubs/fpdf2/fpdf/ttfonts.pyi | 72 - .../stubs/fpdf2/fpdf/util.pyi | 18 - .../stubs/freezegun/METADATA.toml | 1 - .../stubs/freezegun/freezegun/__init__.pyi | 1 - .../stubs/freezegun/freezegun/api.pyi | 60 - .../stubs/frozendict/METADATA.toml | 1 - .../stubs/frozendict/frozendict.pyi | 27 - .../stubs/google-cloud-ndb/METADATA.toml | 2 - .../google/cloud/ndb/__init__.pyi | 109 - .../google/cloud/ndb/_batch.pyi | 3 - .../google/cloud/ndb/_cache.pyi | 72 - .../google/cloud/ndb/_datastore_api.pyi | 5 - .../google/cloud/ndb/_datastore_query.pyi | 22 - .../google/cloud/ndb/_eventloop.pyi | 26 - .../google/cloud/ndb/_options.pyi | 15 - .../google/cloud/ndb/_transaction.pyi | 18 - .../google/cloud/ndb/blobstore.pyi | 65 - .../google/cloud/ndb/client.pyi | 21 - .../google/cloud/ndb/context.pyi | 109 - .../google/cloud/ndb/django_middleware.pyi | 2 - .../google/cloud/ndb/exceptions.pyi | 22 - .../google/cloud/ndb/global_cache.pyi | 78 - .../google-cloud-ndb/google/cloud/ndb/key.pyi | 98 - .../google/cloud/ndb/metadata.pyi | 51 - .../google/cloud/ndb/model.pyi | 508 -- .../google/cloud/ndb/msgprop.pyi | 5 - .../google/cloud/ndb/polymodel.pyi | 9 - .../google/cloud/ndb/query.pyi | 146 - .../google/cloud/ndb/stats.pyi | 102 - .../google/cloud/ndb/tasklets.pyi | 58 - .../google/cloud/ndb/utils.pyi | 28 - .../stubs/hdbcli/METADATA.toml | 1 - .../stubs/hdbcli/hdbcli/__init__.pyi | 1 - .../stubs/hdbcli/hdbcli/dbapi.pyi | 116 - .../stubs/hdbcli/hdbcli/resultrow.pyi | 6 - .../stubs/html5lib/METADATA.toml | 1 - .../stubs/html5lib/html5lib/__init__.pyi | 6 - .../stubs/html5lib/html5lib/_ihatexml.pyi | 55 - .../stubs/html5lib/html5lib/_inputstream.pyi | 110 - .../stubs/html5lib/html5lib/_tokenizer.pyi | 94 - .../html5lib/html5lib/_trie/__init__.pyi | 1 - .../stubs/html5lib/html5lib/_trie/_base.pyi | 9 - .../stubs/html5lib/html5lib/_trie/py.pyi | 12 - .../stubs/html5lib/html5lib/_utils.pyi | 24 - .../stubs/html5lib/html5lib/constants.pyi | 37 - .../html5lib/html5lib/filters/__init__.pyi | 0 .../filters/alphabeticalattributes.pyi | 4 - .../stubs/html5lib/html5lib/filters/base.pyi | 7 - .../html5lib/filters/inject_meta_charset.pyi | 8 - .../stubs/html5lib/html5lib/filters/lint.pyi | 8 - .../html5lib/filters/optionaltags.pyi | 7 - .../html5lib/html5lib/filters/sanitizer.pyi | 34 - .../html5lib/html5lib/filters/whitespace.pyi | 11 - .../stubs/html5lib/html5lib/html5parser.pyi | 57 - .../stubs/html5lib/html5lib/serializer.pyi | 37 - .../html5lib/treeadapters/__init__.pyi | 1 - .../html5lib/html5lib/treeadapters/genshi.pyi | 1 - .../html5lib/html5lib/treeadapters/sax.pyi | 5 - .../html5lib/treebuilders/__init__.pyi | 5 - .../html5lib/html5lib/treebuilders/base.pyi | 55 - .../html5lib/html5lib/treebuilders/dom.pyi | 5 - .../html5lib/html5lib/treebuilders/etree.pyi | 7 - .../html5lib/treebuilders/etree_lxml.pyi | 44 - .../html5lib/treewalkers/__init__.pyi | 4 - .../html5lib/html5lib/treewalkers/base.pyi | 30 - .../html5lib/html5lib/treewalkers/dom.pyi | 7 - .../html5lib/html5lib/treewalkers/etree.pyi | 7 - .../html5lib/treewalkers/etree_lxml.pyi | 54 - .../html5lib/html5lib/treewalkers/genshi.pyi | 5 - .../stubs/httplib2/METADATA.toml | 1 - .../stubs/httplib2/httplib2/__init__.pyi | 184 - .../stubs/httplib2/httplib2/auth.pyi | 15 - .../stubs/httplib2/httplib2/certs.pyi | 9 - .../stubs/httplib2/httplib2/error.pyi | 18 - .../stubs/httplib2/httplib2/iri2uri.pyi | 12 - .../stubs/httplib2/httplib2/socks.pyi | 42 - .../stubs/humanfriendly/METADATA.toml | 1 - .../humanfriendly/humanfriendly/__init__.pyi | 55 - .../humanfriendly/humanfriendly/case.pyi | 23 - .../stubs/humanfriendly/humanfriendly/cli.pyi | 13 - .../humanfriendly/humanfriendly/compat.pyi | 23 - .../humanfriendly/decorators.pyi | 3 - .../humanfriendly/deprecation.pyi | 14 - .../humanfriendly/humanfriendly/prompts.pyi | 13 - .../humanfriendly/humanfriendly/sphinx.pyi | 15 - .../humanfriendly/humanfriendly/tables.pyi | 6 - .../humanfriendly/terminal/__init__.pyi | 37 - .../humanfriendly/terminal/html.pyi | 31 - .../humanfriendly/terminal/spinners.pyi | 41 - .../humanfriendly/humanfriendly/testing.pyi | 86 - .../humanfriendly/humanfriendly/text.pyi | 17 - .../humanfriendly/humanfriendly/usage.pyi | 7 - .../stubs/invoke/METADATA.toml | 1 - .../stubs/invoke/invoke/__init__.pyi | 37 - .../stubs/invoke/invoke/collection.pyi | 24 - .../invoke/invoke/completion/__init__.pyi | 0 .../invoke/invoke/completion/complete.pyi | 9 - .../stubs/invoke/invoke/config.pyi | 60 - .../stubs/invoke/invoke/context.pyi | 22 - .../stubs/invoke/invoke/env.pyi | 6 - .../stubs/invoke/invoke/exceptions.pyi | 47 - .../stubs/invoke/invoke/executor.pyi | 17 - .../stubs/invoke/invoke/loader.pyi | 15 - .../stubs/invoke/invoke/main.pyi | 3 - .../stubs/invoke/invoke/parser/__init__.pyi | 3 - .../stubs/invoke/invoke/parser/argument.pyi | 37 - .../stubs/invoke/invoke/parser/context.pyi | 24 - .../stubs/invoke/invoke/parser/parser.pyi | 42 - .../stubs/invoke/invoke/program.pyi | 71 - .../stubs/invoke/invoke/runners.pyi | 94 - .../stubs/invoke/invoke/tasks.pyi | 94 - .../stubs/invoke/invoke/terminals.pyi | 12 - .../stubs/invoke/invoke/util.pyi | 40 - .../stubs/invoke/invoke/watchers.pyi | 20 - .../stubs/jmespath/METADATA.toml | 1 - .../stubs/jmespath/jmespath/__init__.pyi | 7 - .../stubs/jmespath/jmespath/ast.pyi | 22 - .../stubs/jmespath/jmespath/exceptions.pyi | 46 - .../stubs/jmespath/jmespath/functions.pyi | 13 - .../stubs/jmespath/jmespath/lexer.pyi | 11 - .../stubs/jmespath/jmespath/parser.pyi | 15 - .../stubs/jmespath/jmespath/visitor.pyi | 49 - .../stubs/jsonschema/METADATA.toml | 1 - .../stubs/jsonschema/jsonschema/__init__.pyi | 28 - .../stubs/jsonschema/jsonschema/_format.pyi | 43 - .../jsonschema/_legacy_validators.pyi | 16 - .../stubs/jsonschema/jsonschema/_reflect.pyi | 7 - .../stubs/jsonschema/jsonschema/_types.pyi | 24 - .../stubs/jsonschema/jsonschema/_utils.pyi | 26 - .../jsonschema/jsonschema/_validators.pyi | 37 - .../stubs/jsonschema/jsonschema/cli.pyi | 32 - .../jsonschema/jsonschema/exceptions.pyi | 75 - .../stubs/jsonschema/jsonschema/protocols.pyi | 23 - .../jsonschema/jsonschema/validators.pyi | 80 - .../stubs/ldap3/METADATA.toml | 2 - .../stubs/ldap3/ldap3/__init__.pyi | 104 - .../stubs/ldap3/ldap3/abstract/__init__.pyi | 15 - .../stubs/ldap3/ldap3/abstract/attrDef.pyi | 33 - .../stubs/ldap3/ldap3/abstract/attribute.pyi | 34 - .../stubs/ldap3/ldap3/abstract/cursor.pyi | 102 - .../stubs/ldap3/ldap3/abstract/entry.pyi | 83 - .../stubs/ldap3/ldap3/abstract/objectDef.pyi | 23 - .../stubs/ldap3/ldap3/core/__init__.pyi | 0 .../stubs/ldap3/ldap3/core/connection.pyi | 176 - .../stubs/ldap3/ldap3/core/exceptions.pyi | 145 - .../stubs/ldap3/ldap3/core/pooling.pyi | 42 - .../stubs/ldap3/ldap3/core/rdns.pyi | 12 - .../stubs/ldap3/ldap3/core/results.pyi | 56 - .../stubs/ldap3/ldap3/core/server.pyi | 64 - .../stubs/ldap3/ldap3/core/timezone.pyi | 11 - .../stubs/ldap3/ldap3/core/tls.pyi | 36 - .../stubs/ldap3/ldap3/core/usage.pyi | 41 - .../stubs/ldap3/ldap3/extend/__init__.pyi | 105 - .../ldap3/ldap3/extend/microsoft/__init__.pyi | 0 .../extend/microsoft/addMembersToGroups.pyi | 1 - .../ldap3/ldap3/extend/microsoft/dirSync.pyi | 30 - .../ldap3/extend/microsoft/modifyPassword.pyi | 3 - .../extend/microsoft/persistentSearch.pyi | 15 - .../microsoft/removeMembersFromGroups.pyi | 1 - .../ldap3/extend/microsoft/unlockAccount.pyi | 3 - .../ldap3/ldap3/extend/novell/__init__.pyi | 0 .../extend/novell/addMembersToGroups.pyi | 1 - .../extend/novell/checkGroupsMemberships.pyi | 1 - .../ldap3/extend/novell/endTransaction.pyi | 14 - .../ldap3/ldap3/extend/novell/getBindDn.pyi | 11 - .../ldap3/extend/novell/listReplicas.pyi | 13 - .../novell/nmasGetUniversalPassword.pyi | 13 - .../novell/nmasSetUniversalPassword.pyi | 13 - .../extend/novell/partition_entry_count.pyi | 12 - .../extend/novell/removeMembersFromGroups.pyi | 1 - .../ldap3/ldap3/extend/novell/replicaInfo.pyi | 12 - .../ldap3/extend/novell/startTransaction.pyi | 14 - .../stubs/ldap3/ldap3/extend/operation.pyi | 19 - .../ldap3/extend/standard/PagedSearch.pyi | 32 - .../extend/standard/PersistentSearch.pyi | 36 - .../ldap3/ldap3/extend/standard/__init__.pyi | 0 .../ldap3/extend/standard/modifyPassword.pyi | 21 - .../ldap3/ldap3/extend/standard/whoAmI.pyi | 7 - .../stubs/ldap3/ldap3/operation/__init__.pyi | 0 .../stubs/ldap3/ldap3/operation/abandon.pyi | 2 - .../stubs/ldap3/ldap3/operation/add.pyi | 7 - .../stubs/ldap3/ldap3/operation/bind.pyi | 23 - .../stubs/ldap3/ldap3/operation/compare.pyi | 7 - .../stubs/ldap3/ldap3/operation/delete.pyi | 3 - .../stubs/ldap3/ldap3/operation/extended.pyi | 8 - .../stubs/ldap3/ldap3/operation/modify.pyi | 9 - .../stubs/ldap3/ldap3/operation/modifyDn.pyi | 5 - .../stubs/ldap3/ldap3/operation/search.pyi | 65 - .../stubs/ldap3/ldap3/operation/unbind.pyi | 1 - .../stubs/ldap3/ldap3/protocol/__init__.pyi | 0 .../stubs/ldap3/ldap3/protocol/controls.pyi | 1 - .../stubs/ldap3/ldap3/protocol/convert.pyi | 22 - .../ldap3/protocol/formatters/__init__.pyi | 0 .../ldap3/protocol/formatters/formatters.pyi | 16 - .../ldap3/protocol/formatters/standard.pyi | 7 - .../ldap3/protocol/formatters/validators.pyi | 16 - .../stubs/ldap3/ldap3/protocol/microsoft.pyi | 27 - .../stubs/ldap3/ldap3/protocol/novell.pyi | 72 - .../stubs/ldap3/ldap3/protocol/oid.pyi | 29 - .../ldap3/ldap3/protocol/persistentSearch.pyi | 17 - .../stubs/ldap3/ldap3/protocol/rfc2696.pyi | 21 - .../stubs/ldap3/ldap3/protocol/rfc2849.pyi | 18 - .../stubs/ldap3/ldap3/protocol/rfc3062.pyi | 28 - .../stubs/ldap3/ldap3/protocol/rfc4511.pyi | 323 -- .../stubs/ldap3/ldap3/protocol/rfc4512.pyi | 218 - .../stubs/ldap3/ldap3/protocol/rfc4527.pyi | 2 - .../ldap3/ldap3/protocol/sasl/__init__.pyi | 0 .../ldap3/ldap3/protocol/sasl/digestMd5.pyi | 9 - .../ldap3/ldap3/protocol/sasl/external.pyi | 1 - .../ldap3/ldap3/protocol/sasl/kerberos.pyi | 8 - .../stubs/ldap3/ldap3/protocol/sasl/plain.pyi | 1 - .../stubs/ldap3/ldap3/protocol/sasl/sasl.pyi | 5 - .../ldap3/ldap3/protocol/schemas/__init__.pyi | 0 .../ldap3/ldap3/protocol/schemas/ad2012R2.pyi | 2 - .../ldap3/ldap3/protocol/schemas/ds389.pyi | 2 - .../ldap3/ldap3/protocol/schemas/edir888.pyi | 2 - .../ldap3/ldap3/protocol/schemas/edir914.pyi | 2 - .../ldap3/ldap3/protocol/schemas/slapd24.pyi | 2 - .../stubs/ldap3/ldap3/strategy/__init__.pyi | 0 .../ldap3/ldap3/strategy/asyncStream.pyi | 18 - .../ldap3/ldap3/strategy/asynchronous.pyi | 27 - .../stubs/ldap3/ldap3/strategy/base.pyi | 42 - .../ldap3/ldap3/strategy/ldifProducer.pyi | 21 - .../stubs/ldap3/ldap3/strategy/mockAsync.pyi | 11 - .../stubs/ldap3/ldap3/strategy/mockBase.pyi | 37 - .../stubs/ldap3/ldap3/strategy/mockSync.pyi | 10 - .../ldap3/ldap3/strategy/restartable.pyi | 19 - .../stubs/ldap3/ldap3/strategy/reusable.pyi | 74 - .../ldap3/ldap3/strategy/safeRestartable.pyi | 5 - .../stubs/ldap3/ldap3/strategy/safeSync.pyi | 5 - .../stubs/ldap3/ldap3/strategy/sync.pyi | 19 - .../stubs/ldap3/ldap3/utils/__init__.pyi | 0 .../stubs/ldap3/ldap3/utils/asn1.pyi | 37 - .../stubs/ldap3/ldap3/utils/ciDict.pyi | 29 - .../stubs/ldap3/ldap3/utils/config.pyi | 6 - .../stubs/ldap3/ldap3/utils/conv.pyi | 14 - .../stubs/ldap3/ldap3/utils/dn.pyi | 11 - .../stubs/ldap3/ldap3/utils/hashed.pyi | 6 - .../stubs/ldap3/ldap3/utils/log.pyi | 25 - .../stubs/ldap3/ldap3/utils/ntlm.pyi | 117 - .../ldap3/ldap3/utils/port_validators.pyi | 2 - .../stubs/ldap3/ldap3/utils/repr.pyi | 5 - .../stubs/ldap3/ldap3/utils/tls_backport.pyi | 3 - .../stubs/ldap3/ldap3/utils/uri.pyi | 1 - .../stubs/ldap3/ldap3/version.pyi | 3 - .../stubs/mock/METADATA.toml | 1 - .../stubs/mock/mock/__init__.pyi | 3 - .../stubs/mock/mock/mock.pyi | 321 -- .../stubs/mypy-extensions/METADATA.toml | 2 - .../stubs/mypy-extensions/mypy_extensions.pyi | 48 - .../stubs/mysqlclient/METADATA.toml | 1 - .../stubs/mysqlclient/MySQLdb/__init__.pyi | 53 - .../stubs/mysqlclient/MySQLdb/_exceptions.pyi | 13 - .../stubs/mysqlclient/MySQLdb/_mysql.pyi | 87 - .../stubs/mysqlclient/MySQLdb/connections.pyi | 48 - .../mysqlclient/MySQLdb/constants/CLIENT.pyi | 18 - .../mysqlclient/MySQLdb/constants/CR.pyi | 69 - .../mysqlclient/MySQLdb/constants/ER.pyi | 790 --- .../MySQLdb/constants/FIELD_TYPE.pyi | 29 - .../mysqlclient/MySQLdb/constants/FLAG.pyi | 16 - .../MySQLdb/constants/__init__.pyi | 1 - .../stubs/mysqlclient/MySQLdb/converters.pyi | 30 - .../stubs/mysqlclient/MySQLdb/cursors.pyi | 62 - .../stubs/mysqlclient/MySQLdb/release.pyi | 3 - .../stubs/mysqlclient/MySQLdb/times.pyi | 26 - .../stubs/oauthlib/METADATA.toml | 1 - .../stubs/oauthlib/oauthlib/__init__.pyi | 2 - .../stubs/oauthlib/oauthlib/common.pyi | 56 - .../oauthlib/oauthlib/oauth1/__init__.pyi | 31 - .../oauthlib/oauth1/rfc5849/__init__.pyi | 56 - .../oauth1/rfc5849/endpoints/__init__.pyi | 7 - .../oauth1/rfc5849/endpoints/access_token.pyi | 12 - .../rfc5849/endpoints/authorization.pyi | 16 - .../oauth1/rfc5849/endpoints/base.pyi | 6 - .../rfc5849/endpoints/pre_configured.pyi | 9 - .../rfc5849/endpoints/request_token.pyi | 12 - .../oauth1/rfc5849/endpoints/resource.pyi | 10 - .../rfc5849/endpoints/signature_only.pyi | 8 - .../oauthlib/oauth1/rfc5849/errors.pyi | 28 - .../oauthlib/oauth1/rfc5849/parameters.pyi | 5 - .../oauth1/rfc5849/request_validator.pyi | 59 - .../oauthlib/oauth1/rfc5849/signature.pyi | 32 - .../oauthlib/oauth1/rfc5849/utils.pyi | 9 - .../oauthlib/oauthlib/oauth2/__init__.pyi | 59 - .../oauthlib/oauth2/rfc6749/__init__.pyi | 11 - .../oauth2/rfc6749/clients/__init__.pyi | 6 - .../rfc6749/clients/backend_application.pyi | 7 - .../oauthlib/oauth2/rfc6749/clients/base.pyi | 75 - .../rfc6749/clients/legacy_application.pyi | 10 - .../rfc6749/clients/mobile_application.pyi | 11 - .../rfc6749/clients/service_application.pyi | 33 - .../rfc6749/clients/web_application.pyi | 15 - .../oauth2/rfc6749/endpoints/__init__.pyi | 13 - .../rfc6749/endpoints/authorization.pyi | 26 - .../oauth2/rfc6749/endpoints/base.pyi | 20 - .../oauth2/rfc6749/endpoints/introspect.pyi | 14 - .../oauth2/rfc6749/endpoints/metadata.pyi | 21 - .../rfc6749/endpoints/pre_configured.pyi | 74 - .../oauth2/rfc6749/endpoints/resource.pyi | 18 - .../oauth2/rfc6749/endpoints/revocation.pyi | 15 - .../oauth2/rfc6749/endpoints/token.pyi | 28 - .../oauthlib/oauth2/rfc6749/errors.pyi | 140 - .../oauth2/rfc6749/grant_types/__init__.pyi | 5 - .../grant_types/authorization_code.pyi | 18 - .../oauth2/rfc6749/grant_types/base.pyi | 31 - .../grant_types/client_credentials.pyi | 9 - .../oauth2/rfc6749/grant_types/implicit.pyi | 13 - .../rfc6749/grant_types/refresh_token.pyi | 10 - .../resource_owner_password_credentials.pyi | 9 - .../oauthlib/oauth2/rfc6749/parameters.pyi | 13 - .../oauth2/rfc6749/request_validator.pyi | 32 - .../oauthlib/oauth2/rfc6749/tokens.pyi | 59 - .../oauthlib/oauth2/rfc6749/utils.pyi | 7 - .../oauthlib/oauthlib/openid/__init__.pyi | 2 - .../oauthlib/openid/connect/__init__.pyi | 0 .../oauthlib/openid/connect/core/__init__.pyi | 0 .../connect/core/endpoints/__init__.pyi | 2 - .../connect/core/endpoints/pre_configured.pyi | 35 - .../connect/core/endpoints/userinfo.pyi | 12 - .../openid/connect/core/exceptions.pyi | 53 - .../connect/core/grant_types/__init__.pyi | 9 - .../core/grant_types/authorization_code.pyi | 10 - .../openid/connect/core/grant_types/base.pyi | 13 - .../connect/core/grant_types/dispatchers.pyi | 28 - .../connect/core/grant_types/hybrid.pyi | 15 - .../connect/core/grant_types/implicit.pyi | 11 - .../openid/connect/core/request_validator.pyi | 18 - .../oauthlib/openid/connect/core/tokens.pyi | 19 - .../stubs/oauthlib/oauthlib/signals.pyi | 20 - .../stubs/oauthlib/oauthlib/uri_validate.pyi | 43 - .../stubs/openpyxl/METADATA.toml | 1 - .../stubs/openpyxl/openpyxl/__init__.pyi | 13 - .../stubs/openpyxl/openpyxl/_constants.pyi | 7 - .../stubs/openpyxl/openpyxl/cell/__init__.pyi | 2 - .../stubs/openpyxl/openpyxl/cell/_writer.pyi | 7 - .../stubs/openpyxl/openpyxl/cell/cell.pyi | 73 - .../openpyxl/openpyxl/cell/read_only.pyi | 51 - .../stubs/openpyxl/openpyxl/cell/text.pyi | 80 - .../stubs/openpyxl/openpyxl/chart/_3d.pyi | 50 - .../openpyxl/openpyxl/chart/__init__.pyi | 15 - .../stubs/openpyxl/openpyxl/chart/_chart.pyi | 44 - .../openpyxl/openpyxl/chart/area_chart.pyi | 46 - .../stubs/openpyxl/openpyxl/chart/axis.pyi | 234 - .../openpyxl/openpyxl/chart/bar_chart.pyi | 70 - .../openpyxl/openpyxl/chart/bubble_chart.pyi | 30 - .../openpyxl/openpyxl/chart/chartspace.pyi | 97 - .../openpyxl/openpyxl/chart/data_source.pyi | 101 - .../openpyxl/openpyxl/chart/descriptors.pyi | 19 - .../openpyxl/openpyxl/chart/error_bar.pyi | 32 - .../stubs/openpyxl/openpyxl/chart/label.pyi | 81 - .../stubs/openpyxl/openpyxl/chart/layout.pyi | 39 - .../stubs/openpyxl/openpyxl/chart/legend.pyi | 36 - .../openpyxl/openpyxl/chart/line_chart.pyi | 77 - .../stubs/openpyxl/openpyxl/chart/marker.pyi | 39 - .../stubs/openpyxl/openpyxl/chart/picture.pyi | 20 - .../openpyxl/openpyxl/chart/pie_chart.pyi | 81 - .../stubs/openpyxl/openpyxl/chart/pivot.pyi | 33 - .../openpyxl/openpyxl/chart/plotarea.pyi | 66 - .../openpyxl/chart/print_settings.pyi | 27 - .../openpyxl/openpyxl/chart/radar_chart.pyi | 25 - .../stubs/openpyxl/openpyxl/chart/reader.pyi | 1 - .../openpyxl/openpyxl/chart/reference.pyi | 34 - .../openpyxl/openpyxl/chart/scatter_chart.pyi | 24 - .../stubs/openpyxl/openpyxl/chart/series.pyi | 86 - .../openpyxl/chart/series_factory.pyi | 5 - .../stubs/openpyxl/openpyxl/chart/shapes.pyi | 37 - .../openpyxl/openpyxl/chart/stock_chart.pyi | 26 - .../openpyxl/openpyxl/chart/surface_chart.pyi | 52 - .../stubs/openpyxl/openpyxl/chart/text.pyi | 21 - .../stubs/openpyxl/openpyxl/chart/title.pyi | 33 - .../openpyxl/openpyxl/chart/trendline.pyi | 56 - .../openpyxl/openpyxl/chart/updown_bars.pyi | 14 - .../openpyxl/openpyxl/chartsheet/__init__.pyi | 1 - .../openpyxl/chartsheet/chartsheet.pyi | 44 - .../openpyxl/openpyxl/chartsheet/custom.pyi | 30 - .../openpyxl/chartsheet/properties.pyi | 11 - .../openpyxl/chartsheet/protection.pyi | 25 - .../openpyxl/openpyxl/chartsheet/publish.pyi | 32 - .../openpyxl/openpyxl/chartsheet/relation.pyi | 69 - .../openpyxl/openpyxl/chartsheet/views.pyi | 27 - .../openpyxl/openpyxl/comments/__init__.pyi | 1 - .../openpyxl/openpyxl/comments/author.pyi | 9 - .../openpyxl/comments/comment_sheet.pyi | 88 - .../openpyxl/openpyxl/comments/comments.pyi | 18 - .../openpyxl/comments/shape_writer.pyi | 14 - .../openpyxl/openpyxl/compat/__init__.pyi | 10 - .../stubs/openpyxl/openpyxl/compat/abc.pyi | 1 - .../openpyxl/openpyxl/compat/numbers.pyi | 4 - .../openpyxl/openpyxl/compat/product.pyi | 3 - .../openpyxl/openpyxl/compat/singleton.pyi | 7 - .../openpyxl/openpyxl/compat/strings.pyi | 5 - .../openpyxl/descriptors/__init__.pyi | 13 - .../openpyxl/openpyxl/descriptors/base.pyi | 85 - .../openpyxl/openpyxl/descriptors/excel.pyi | 46 - .../openpyxl/descriptors/namespace.pyi | 3 - .../openpyxl/openpyxl/descriptors/nested.pyi | 31 - .../openpyxl/descriptors/sequence.pyi | 33 - .../openpyxl/descriptors/serialisable.pyi | 27 - .../openpyxl/openpyxl/descriptors/slots.pyi | 2 - .../openpyxl/openpyxl/drawing/__init__.pyi | 1 - .../openpyxl/openpyxl/drawing/colors.pyi | 216 - .../openpyxl/openpyxl/drawing/connector.pyi | 72 - .../openpyxl/openpyxl/drawing/drawing.pyi | 27 - .../openpyxl/openpyxl/drawing/effect.pyi | 202 - .../stubs/openpyxl/openpyxl/drawing/fill.pyi | 221 - .../openpyxl/openpyxl/drawing/geometry.pyi | 239 - .../openpyxl/openpyxl/drawing/graphic.pyi | 74 - .../stubs/openpyxl/openpyxl/drawing/image.pyi | 9 - .../stubs/openpyxl/openpyxl/drawing/line.pyi | 66 - .../openpyxl/openpyxl/drawing/picture.pyi | 70 - .../openpyxl/openpyxl/drawing/properties.pyi | 91 - .../openpyxl/openpyxl/drawing/relation.pyi | 9 - .../openpyxl/drawing/spreadsheet_drawing.pyi | 96 - .../stubs/openpyxl/openpyxl/drawing/text.pyi | 377 -- .../stubs/openpyxl/openpyxl/drawing/xdr.pyi | 23 - .../openpyxl/openpyxl/formatting/__init__.pyi | 1 - .../openpyxl/formatting/formatting.pyi | 26 - .../openpyxl/openpyxl/formatting/rule.pyi | 152 - .../openpyxl/openpyxl/formula/__init__.pyi | 1 - .../openpyxl/openpyxl/formula/tokenizer.pyi | 52 - .../openpyxl/openpyxl/formula/translate.pyi | 20 - .../openpyxl/openpyxl/packaging/__init__.pyi | 0 .../openpyxl/openpyxl/packaging/core.pyi | 51 - .../openpyxl/openpyxl/packaging/extended.pyi | 79 - .../openpyxl/openpyxl/packaging/interface.pyi | 6 - .../openpyxl/openpyxl/packaging/manifest.pyi | 38 - .../openpyxl/packaging/relationship.pyi | 36 - .../openpyxl/openpyxl/packaging/workbook.pyi | 86 - .../openpyxl/openpyxl/pivot/__init__.pyi | 0 .../stubs/openpyxl/openpyxl/pivot/cache.pyi | 583 --- .../stubs/openpyxl/openpyxl/pivot/fields.pyi | 180 - .../stubs/openpyxl/openpyxl/pivot/record.pyi | 39 - .../stubs/openpyxl/openpyxl/pivot/table.pyi | 672 --- .../openpyxl/openpyxl/reader/__init__.pyi | 0 .../openpyxl/openpyxl/reader/drawings.pyi | 1 - .../stubs/openpyxl/openpyxl/reader/excel.pyi | 26 - .../openpyxl/openpyxl/reader/strings.pyi | 1 - .../openpyxl/openpyxl/reader/workbook.pyi | 18 - .../openpyxl/openpyxl/styles/__init__.pyi | 8 - .../openpyxl/openpyxl/styles/alignment.pyi | 39 - .../openpyxl/openpyxl/styles/borders.pyi | 62 - .../openpyxl/openpyxl/styles/builtins.pyi | 53 - .../openpyxl/openpyxl/styles/cell_style.pyi | 88 - .../stubs/openpyxl/openpyxl/styles/colors.pyi | 60 - .../openpyxl/openpyxl/styles/differential.pyi | 37 - .../stubs/openpyxl/openpyxl/styles/fills.pyi | 79 - .../stubs/openpyxl/openpyxl/styles/fonts.pyi | 58 - .../openpyxl/openpyxl/styles/named_styles.pyi | 76 - .../openpyxl/openpyxl/styles/numbers.pyi | 73 - .../openpyxl/openpyxl/styles/protection.pyi | 9 - .../stubs/openpyxl/openpyxl/styles/proxy.pyi | 9 - .../openpyxl/openpyxl/styles/styleable.pyi | 44 - .../openpyxl/openpyxl/styles/stylesheet.pyi | 45 - .../stubs/openpyxl/openpyxl/styles/table.pyi | 40 - .../openpyxl/openpyxl/utils/__init__.pyi | 13 - .../openpyxl/utils/bound_dictionary.pyi | 7 - .../stubs/openpyxl/openpyxl/utils/cell.pyi | 25 - .../openpyxl/openpyxl/utils/dataframe.pyi | 5 - .../openpyxl/openpyxl/utils/datetime.pyi | 19 - .../stubs/openpyxl/openpyxl/utils/escape.pyi | 2 - .../openpyxl/openpyxl/utils/exceptions.pyi | 7 - .../openpyxl/openpyxl/utils/formulas.pyi | 3 - .../openpyxl/openpyxl/utils/indexed_list.pyi | 9 - .../openpyxl/openpyxl/utils/inference.pyi | 9 - .../openpyxl/openpyxl/utils/protection.pyi | 1 - .../stubs/openpyxl/openpyxl/utils/units.pyi | 24 - .../openpyxl/openpyxl/workbook/__init__.pyi | 1 - .../openpyxl/openpyxl/workbook/_writer.pyi | 18 - .../openpyxl/openpyxl/workbook/child.pyi | 43 - .../openpyxl/workbook/defined_name.pyi | 73 - .../workbook/external_link/__init__.pyi | 1 - .../workbook/external_link/external.pyi | 66 - .../openpyxl/workbook/external_reference.pyi | 8 - .../openpyxl/workbook/function_group.pyi | 15 - .../openpyxl/openpyxl/workbook/properties.pyi | 95 - .../openpyxl/openpyxl/workbook/protection.pyi | 77 - .../openpyxl/openpyxl/workbook/smart_tags.pyi | 22 - .../openpyxl/openpyxl/workbook/views.pyi | 95 - .../stubs/openpyxl/openpyxl/workbook/web.pyi | 55 - .../openpyxl/openpyxl/workbook/workbook.pyi | 71 - .../openpyxl/openpyxl/worksheet/__init__.pyi | 0 .../openpyxl/worksheet/_read_only.pyi | 27 - .../openpyxl/openpyxl/worksheet/_reader.pyi | 88 - .../openpyxl/worksheet/_write_only.pyi | 24 - .../openpyxl/openpyxl/worksheet/_writer.pyi | 43 - .../openpyxl/worksheet/cell_range.pyi | 73 - .../openpyxl/worksheet/cell_watch.pyi | 14 - .../openpyxl/openpyxl/worksheet/controls.pyi | 55 - .../openpyxl/openpyxl/worksheet/copier.pyi | 7 - .../openpyxl/openpyxl/worksheet/custom.pyi | 14 - .../openpyxl/worksheet/datavalidation.pyi | 72 - .../openpyxl/worksheet/dimensions.pyi | 123 - .../openpyxl/openpyxl/worksheet/drawing.pyi | 8 - .../openpyxl/openpyxl/worksheet/errors.pyi | 47 - .../openpyxl/openpyxl/worksheet/filters.pyi | 166 - .../openpyxl/worksheet/header_footer.pyi | 61 - .../openpyxl/openpyxl/worksheet/hyperlink.pyi | 30 - .../openpyxl/openpyxl/worksheet/merge.pyi | 32 - .../stubs/openpyxl/openpyxl/worksheet/ole.pyi | 75 - .../openpyxl/openpyxl/worksheet/page.pyi | 90 - .../openpyxl/openpyxl/worksheet/pagebreak.pyi | 40 - .../openpyxl/openpyxl/worksheet/picture.pyi | 4 - .../openpyxl/worksheet/properties.pyi | 54 - .../openpyxl/worksheet/protection.pyi | 64 - .../openpyxl/openpyxl/worksheet/related.pyi | 8 - .../openpyxl/openpyxl/worksheet/scenario.pyi | 48 - .../openpyxl/openpyxl/worksheet/smart_tag.pyi | 31 - .../openpyxl/openpyxl/worksheet/table.pyi | 177 - .../openpyxl/openpyxl/worksheet/views.pyi | 84 - .../openpyxl/openpyxl/worksheet/worksheet.pyi | 129 - .../openpyxl/openpyxl/writer/__init__.pyi | 0 .../stubs/openpyxl/openpyxl/writer/excel.pyi | 13 - .../stubs/openpyxl/openpyxl/writer/theme.pyi | 3 - .../stubs/openpyxl/openpyxl/xml/__init__.pyi | 11 - .../stubs/openpyxl/openpyxl/xml/constants.pyi | 74 - .../stubs/openpyxl/openpyxl/xml/functions.pyi | 6 - .../stubs/opentracing/METADATA.toml | 1 - .../opentracing/opentracing/__init__.pyi | 24 - .../opentracing/opentracing/ext/__init__.pyi | 0 .../opentracing/opentracing/ext/tags.pyi | 1 - .../opentracing/harness/__init__.pyi | 0 .../opentracing/harness/api_check.pyi | 34 - .../opentracing/harness/scope_check.pyi | 16 - .../stubs/opentracing/opentracing/logs.pyi | 5 - .../opentracing/mocktracer/__init__.pyi | 2 - .../mocktracer/binary_propagator.pyi | 8 - .../opentracing/mocktracer/context.pyi | 11 - .../opentracing/mocktracer/propagator.pyi | 7 - .../opentracing/mocktracer/span.pyi | 38 - .../mocktracer/text_propagator.pyi | 14 - .../opentracing/mocktracer/tracer.pyi | 26 - .../opentracing/opentracing/propagation.pyi | 8 - .../stubs/opentracing/opentracing/scope.pyi | 17 - .../opentracing/opentracing/scope_manager.pyi | 8 - .../opentracing/scope_managers/__init__.pyi | 9 - .../opentracing/scope_managers/asyncio.pyi | 8 - .../opentracing/scope_managers/constants.pyi | 1 - .../scope_managers/contextvars.pyi | 10 - .../opentracing/scope_managers/gevent.pyi | 8 - .../opentracing/scope_managers/tornado.pyi | 16 - .../stubs/opentracing/opentracing/span.pyi | 29 - .../stubs/opentracing/opentracing/tags.pyi | 23 - .../stubs/opentracing/opentracing/tracer.pyi | 47 - .../stubs/paramiko/METADATA.toml | 2 - .../stubs/paramiko/paramiko/__init__.pyi | 41 - .../stubs/paramiko/paramiko/_version.pyi | 1 - .../stubs/paramiko/paramiko/_winapi.pyi | 93 - .../stubs/paramiko/paramiko/agent.pyi | 67 - .../stubs/paramiko/paramiko/auth_handler.pyi | 48 - .../stubs/paramiko/paramiko/ber.pyi | 18 - .../stubs/paramiko/paramiko/buffered_pipe.pyi | 14 - .../stubs/paramiko/paramiko/channel.pyi | 99 - .../stubs/paramiko/paramiko/client.pyi | 75 - .../stubs/paramiko/paramiko/common.pyi | 140 - .../stubs/paramiko/paramiko/compress.pyi | 11 - .../stubs/paramiko/paramiko/config.pyi | 33 - .../stubs/paramiko/paramiko/dsskey.pyi | 34 - .../stubs/paramiko/paramiko/ecdsakey.pyi | 54 - .../stubs/paramiko/paramiko/ed25519key.pyi | 22 - .../stubs/paramiko/paramiko/file.pyi | 39 - .../stubs/paramiko/paramiko/hostkeys.pyi | 46 - .../paramiko/paramiko/kex_curve25519.pyi | 25 - .../stubs/paramiko/paramiko/kex_ecdh_nist.pyi | 37 - .../stubs/paramiko/paramiko/kex_gex.pyi | 39 - .../stubs/paramiko/paramiko/kex_group1.pyi | 29 - .../stubs/paramiko/paramiko/kex_group14.pyi | 20 - .../stubs/paramiko/paramiko/kex_group16.pyi | 16 - .../stubs/paramiko/paramiko/kex_gss.pyi | 64 - .../stubs/paramiko/paramiko/message.pyi | 44 - .../stubs/paramiko/paramiko/packet.pyi | 61 - .../stubs/paramiko/paramiko/pipe.pyi | 35 - .../stubs/paramiko/paramiko/pkey.pyi | 45 - .../stubs/paramiko/paramiko/primes.pyi | 6 - .../stubs/paramiko/paramiko/proxy.pyi | 16 - .../stubs/paramiko/paramiko/py3compat.pyi | 43 - .../stubs/paramiko/paramiko/rsakey.pyi | 34 - .../stubs/paramiko/paramiko/server.pyi | 50 - .../stubs/paramiko/paramiko/sftp.pyi | 60 - .../stubs/paramiko/paramiko/sftp_attr.pyi | 22 - .../stubs/paramiko/paramiko/sftp_client.pyi | 63 - .../stubs/paramiko/paramiko/sftp_file.pyi | 30 - .../stubs/paramiko/paramiko/sftp_handle.pyi | 10 - .../stubs/paramiko/paramiko/sftp_server.pyi | 28 - .../stubs/paramiko/paramiko/sftp_si.pyi | 23 - .../stubs/paramiko/paramiko/ssh_exception.pyi | 41 - .../stubs/paramiko/paramiko/ssh_gss.pyi | 52 - .../stubs/paramiko/paramiko/transport.pyi | 195 - .../stubs/paramiko/paramiko/util.pyi | 53 - .../stubs/paramiko/paramiko/win_pageant.pyi | 14 - .../stubs/parsimonious/METADATA.toml | 1 - .../parsimonious/parsimonious/__init__.pyi | 8 - .../parsimonious/parsimonious/exceptions.pyi | 24 - .../parsimonious/parsimonious/expressions.pyi | 65 - .../parsimonious/parsimonious/grammar.pyi | 54 - .../stubs/parsimonious/parsimonious/nodes.pyi | 38 - .../stubs/parsimonious/parsimonious/utils.pyi | 10 - .../stubs/passlib/METADATA.toml | 1 - .../stubs/passlib/passlib/__init__.pyi | 0 .../stubs/passlib/passlib/apache.pyi | 58 - .../stubs/passlib/passlib/apps.pyi | 35 - .../stubs/passlib/passlib/context.pyi | 69 - .../stubs/passlib/passlib/crypto/__init__.pyi | 0 .../passlib/crypto/_blowfish/__init__.pyi | 3 - .../passlib/crypto/_blowfish/_gen_files.pyi | 11 - .../passlib/passlib/crypto/_blowfish/base.pyi | 13 - .../passlib/crypto/_blowfish/unrolled.pyi | 5 - .../stubs/passlib/passlib/crypto/_md4.pyi | 12 - .../stubs/passlib/passlib/crypto/des.pyi | 5 - .../stubs/passlib/passlib/crypto/digest.pyi | 27 - .../passlib/crypto/scrypt/__init__.pyi | 2 - .../passlib/crypto/scrypt/_builtin.pyi | 19 - .../passlib/crypto/scrypt/_gen_files.pyi | 1 - .../passlib/passlib/crypto/scrypt/_salsa.pyi | 1 - .../stubs/passlib/passlib/exc.pyi | 55 - .../stubs/passlib/passlib/ext/__init__.pyi | 0 .../passlib/passlib/ext/django/__init__.pyi | 0 .../passlib/passlib/ext/django/models.pyi | 3 - .../passlib/passlib/ext/django/utils.pyi | 55 - .../passlib/passlib/handlers/__init__.pyi | 0 .../stubs/passlib/passlib/handlers/argon2.pyi | 84 - .../stubs/passlib/passlib/handlers/bcrypt.pyi | 54 - .../stubs/passlib/passlib/handlers/cisco.pyi | 27 - .../passlib/passlib/handlers/des_crypt.pyi | 52 - .../passlib/passlib/handlers/digests.pyi | 29 - .../stubs/passlib/passlib/handlers/django.pyi | 81 - .../stubs/passlib/passlib/handlers/fshp.pyi | 26 - .../passlib/passlib/handlers/ldap_digests.pyi | 81 - .../passlib/passlib/handlers/md5_crypt.pyi | 20 - .../stubs/passlib/passlib/handlers/misc.pyi | 45 - .../stubs/passlib/passlib/handlers/mssql.pyi | 21 - .../stubs/passlib/passlib/handlers/mysql.pyi | 15 - .../stubs/passlib/passlib/handlers/oracle.pyi | 20 - .../stubs/passlib/passlib/handlers/pbkdf2.pyi | 89 - .../stubs/passlib/passlib/handlers/phpass.pyi | 20 - .../passlib/passlib/handlers/postgres.pyi | 8 - .../passlib/passlib/handlers/roundup.pyi | 5 - .../stubs/passlib/passlib/handlers/scram.pyi | 28 - .../stubs/passlib/passlib/handlers/scrypt.pyi | 32 - .../passlib/passlib/handlers/sha1_crypt.pyi | 23 - .../passlib/passlib/handlers/sha2_crypt.pyi | 29 - .../passlib/handlers/sun_md5_crypt.pyi | 24 - .../passlib/passlib/handlers/windows.pyi | 36 - .../stubs/passlib/passlib/hash.pyi | 75 - .../stubs/passlib/passlib/hosts.pyi | 8 - .../stubs/passlib/passlib/ifc.pyi | 38 - .../stubs/passlib/passlib/pwd.pyi | 55 - .../stubs/passlib/passlib/registry.pyi | 13 - .../stubs/passlib/passlib/totp.pyi | 127 - .../stubs/passlib/passlib/utils/__init__.pyi | 74 - .../stubs/passlib/passlib/utils/binary.pyi | 50 - .../passlib/passlib/utils/compat/__init__.pyi | 8 - .../passlib/utils/compat/_ordered_dict.pyi | 26 - .../stubs/passlib/passlib/utils/decor.pyi | 41 - .../stubs/passlib/passlib/utils/des.pyi | 8 - .../stubs/passlib/passlib/utils/handlers.pyi | 171 - .../stubs/passlib/passlib/utils/md4.pyi | 3 - .../stubs/passlib/passlib/utils/pbkdf2.pyi | 7 - .../stubs/passlib/passlib/win32.pyi | 7 - .../stubs/passpy/METADATA.toml | 1 - .../stubs/passpy/passpy/__init__.pyi | 5 - .../stubs/passpy/passpy/exceptions.pyi | 2 - .../stubs/passpy/passpy/store.pyi | 31 - .../stubs/passpy/passpy/util.pyi | 1 - .../stubs/pep8-naming/METADATA.toml | 1 - .../stubs/pep8-naming/pep8ext_naming.pyi | 29 - .../stubs/playsound/METADATA.toml | 1 - .../stubs/playsound/playsound.pyi | 5 - .../stubs/polib/METADATA.toml | 2 - .../typeshed-fallback/stubs/polib/polib.pyi | 157 - .../stubs/prettytable/METADATA.toml | 1 - .../prettytable/prettytable/__init__.pyi | 19 - .../prettytable/prettytable/prettytable.pyi | 181 - .../stubs/protobuf/METADATA.toml | 2 - .../stubs/protobuf/google/__init__.pyi | 0 .../protobuf/google/protobuf/__init__.pyi | 1 - .../protobuf/google/protobuf/any_pb2.pyi | 140 - .../protobuf/google/protobuf/api_pb2.pyi | 239 - .../google/protobuf/compiler/__init__.pyi | 0 .../google/protobuf/compiler/plugin_pb2.pyi | 219 - .../protobuf/google/protobuf/descriptor.pyi | 378 -- .../google/protobuf/descriptor_pb2.pyi | 1493 ------ .../google/protobuf/descriptor_pool.pyi | 25 - .../protobuf/google/protobuf/duration_pb2.pyi | 98 - .../protobuf/google/protobuf/empty_pb2.pyi | 24 - .../google/protobuf/field_mask_pb2.pyi | 227 - .../google/protobuf/internal/__init__.pyi | 0 .../protobuf/internal/api_implementation.pyi | 3 - .../google/protobuf/internal/containers.pyi | 103 - .../google/protobuf/internal/decoder.pyi | 63 - .../google/protobuf/internal/encoder.pyi | 41 - .../protobuf/internal/enum_type_wrapper.pyi | 18 - .../protobuf/internal/extension_dict.pyi | 27 - .../protobuf/internal/message_listener.pyi | 5 - .../protobuf/internal/python_message.pyi | 3 - .../protobuf/internal/type_checkers.pyi | 15 - .../protobuf/internal/well_known_types.pyi | 91 - .../google/protobuf/internal/wire_format.pyi | 50 - .../protobuf/google/protobuf/json_format.pyi | 35 - .../protobuf/google/protobuf/message.pyi | 46 - .../google/protobuf/message_factory.pyi | 15 - .../protobuf/google/protobuf/reflection.pyi | 6 - .../protobuf/google/protobuf/service.pyi | 40 - .../google/protobuf/source_context_pb2.pyi | 29 - .../protobuf/google/protobuf/struct_pb2.pyi | 141 - .../google/protobuf/symbol_database.pyi | 16 - .../protobuf/google/protobuf/text_format.pyi | 216 - .../google/protobuf/timestamp_pb2.pyi | 129 - .../protobuf/google/protobuf/type_pb2.pyi | 399 -- .../google/protobuf/util/__init__.pyi | 0 .../protobuf/google/protobuf/wrappers_pb2.pyi | 164 - .../stubs/psutil/METADATA.toml | 1 - .../stubs/psutil/psutil/__init__.pyi | 242 - .../stubs/psutil/psutil/_common.pyi | 298 -- .../stubs/psutil/psutil/_compat.pyi | 8 - .../stubs/psutil/psutil/_psbsd.pyi | 165 - .../stubs/psutil/psutil/_pslinux.pyi | 206 - .../stubs/psutil/psutil/_psosx.pyi | 104 - .../stubs/psutil/psutil/_psposix.pyi | 8 - .../stubs/psutil/psutil/_psutil_linux.pyi | 16 - .../stubs/psutil/psutil/_psutil_posix.pyi | 31 - .../stubs/psutil/psutil/_psutil_windows.pyi | 3 - .../stubs/psutil/psutil/_pswindows.pyi | 186 - .../stubs/psycopg2/METADATA.toml | 1 - .../stubs/psycopg2/psycopg2/__init__.pyi | 37 - .../stubs/psycopg2/psycopg2/_ipaddress.pyi | 8 - .../stubs/psycopg2/psycopg2/_json.pyi | 25 - .../stubs/psycopg2/psycopg2/_psycopg.pyi | 419 -- .../stubs/psycopg2/psycopg2/_range.pyi | 60 - .../stubs/psycopg2/psycopg2/errorcodes.pyi | 304 -- .../stubs/psycopg2/psycopg2/errors.pyi | 263 - .../stubs/psycopg2/psycopg2/extensions.pyi | 114 - .../stubs/psycopg2/psycopg2/extras.pyi | 181 - .../stubs/psycopg2/psycopg2/pool.pyi | 23 - .../stubs/psycopg2/psycopg2/sql.pyi | 48 - .../stubs/psycopg2/psycopg2/tz.pyi | 25 - .../stubs/pyOpenSSL/METADATA.toml | 2 - .../stubs/pyOpenSSL/OpenSSL/SSL.pyi | 156 - .../stubs/pyOpenSSL/OpenSSL/__init__.pyi | 0 .../stubs/pyOpenSSL/OpenSSL/crypto.pyi | 206 - .../stubs/pyRFC3339/METADATA.toml | 1 - .../stubs/pyRFC3339/pyrfc3339/__init__.pyi | 2 - .../stubs/pyRFC3339/pyrfc3339/generator.pyi | 3 - .../stubs/pyRFC3339/pyrfc3339/parser.pyi | 3 - .../stubs/pyRFC3339/pyrfc3339/utils.pyi | 10 - .../stubs/pyaudio/METADATA.toml | 3 - .../stubs/pyaudio/pyaudio.pyi | 166 - .../stubs/pycurl/METADATA.toml | 2 - .../typeshed-fallback/stubs/pycurl/pycurl.pyi | 646 --- .../stubs/pyfarmhash/METADATA.toml | 1 - .../stubs/pyfarmhash/farmhash.pyi | 9 - .../stubs/pyflakes/METADATA.toml | 1 - .../stubs/pyflakes/pyflakes/__init__.pyi | 1 - .../stubs/pyflakes/pyflakes/api.pyi | 15 - .../stubs/pyflakes/pyflakes/checker.pyi | 361 -- .../stubs/pyflakes/pyflakes/messages.pyi | 149 - .../stubs/pyflakes/pyflakes/reporter.pyi | 5 - .../stubs/pynput/METADATA.toml | 2 - .../stubs/pynput/pynput/__init__.pyi | 1 - .../stubs/pynput/pynput/_info.pyi | 2 - .../stubs/pynput/pynput/_util.pyi | 72 - .../stubs/pynput/pynput/keyboard/__init__.pyi | 30 - .../stubs/pynput/pynput/keyboard/_base.pyi | 122 - .../stubs/pynput/pynput/keyboard/_dummy.pyi | 1 - .../stubs/pynput/pynput/mouse/__init__.pyi | 29 - .../stubs/pynput/pynput/mouse/_base.pyi | 39 - .../stubs/pynput/pynput/mouse/_dummy.pyi | 1 - .../stubs/pysftp/METADATA.toml | 2 - .../stubs/pysftp/pysftp/__init__.pyi | 129 - .../stubs/pysftp/pysftp/exceptions.pyi | 9 - .../stubs/pysftp/pysftp/helpers.pyi | 35 - .../stubs/pytest-lazy-fixture/METADATA.toml | 1 - .../pytest_lazyfixture.pyi | 15 - .../stubs/python-dateutil/METADATA.toml | 3 - .../python-dateutil/dateutil/__init__.pyi | 0 .../python-dateutil/dateutil/_common.pyi | 9 - .../stubs/python-dateutil/dateutil/easter.pyi | 8 - .../dateutil/parser/__init__.pyi | 49 - .../dateutil/parser/isoparser.pyi | 16 - .../dateutil/relativedelta.pyi | 98 - .../stubs/python-dateutil/dateutil/rrule.pyi | 108 - .../python-dateutil/dateutil/tz/__init__.pyi | 15 - .../python-dateutil/dateutil/tz/_common.pyi | 24 - .../stubs/python-dateutil/dateutil/tz/tz.pyi | 105 - .../stubs/python-dateutil/dateutil/utils.pyi | 5 - .../stubs/python-gflags/METADATA.toml | 2 - .../stubs/python-gflags/gflags.pyi | 309 -- .../stubs/python-jose/METADATA.toml | 2 - .../stubs/python-jose/jose/__init__.pyi | 9 - .../python-jose/jose/backends/__init__.pyi | 21 - .../stubs/python-jose/jose/backends/_asn1.pyi | 21 - .../stubs/python-jose/jose/backends/base.pyi | 17 - .../jose/backends/cryptography_backend.pyi | 66 - .../jose/backends/ecdsa_backend.pyi | 20 - .../python-jose/jose/backends/native.pyi | 13 - .../python-jose/jose/backends/rsa_backend.pyi | 24 - .../stubs/python-jose/jose/constants.pyi | 69 - .../stubs/python-jose/jose/exceptions.pyi | 12 - .../stubs/python-jose/jose/jwe.pyi | 13 - .../stubs/python-jose/jose/jwk.pyi | 7 - .../stubs/python-jose/jose/jws.pyi | 7 - .../stubs/python-jose/jose/jwt.pyi | 16 - .../stubs/python-jose/jose/utils.pyi | 9 - .../stubs/python-nmap/METADATA.toml | 3 - .../stubs/python-nmap/nmap/__init__.pyi | 1 - .../stubs/python-nmap/nmap/nmap.pyi | 129 - .../stubs/python-slugify/METADATA.toml | 1 - .../stubs/python-slugify/slugify/__init__.pyi | 2 - .../stubs/python-slugify/slugify/slugify.pyi | 19 - .../stubs/python-slugify/slugify/special.pyi | 8 - .../stubs/pytz/METADATA.toml | 2 - .../stubs/pytz/pytz/__init__.pyi | 44 - .../stubs/pytz/pytz/exceptions.pyi | 7 - .../stubs/pytz/pytz/tzinfo.pyi | 39 - .../stubs/pyvmomi/METADATA.toml | 1 - .../stubs/pyvmomi/pyVmomi/__init__.pyi | 0 .../stubs/pyvmomi/pyVmomi/vim/__init__.pyi | 72 - .../stubs/pyvmomi/pyVmomi/vim/event.pyi | 16 - .../stubs/pyvmomi/pyVmomi/vim/fault.pyi | 7 - .../stubs/pyvmomi/pyVmomi/vim/option.pyi | 10 - .../stubs/pyvmomi/pyVmomi/vim/view.pyi | 15 - .../stubs/pyvmomi/pyVmomi/vmodl/__init__.pyi | 27 - .../stubs/pyvmomi/pyVmomi/vmodl/fault.pyi | 10 - .../stubs/pyvmomi/pyVmomi/vmodl/query.pyi | 63 - .../stubs/redis/METADATA.toml | 1 - .../stubs/redis/redis/__init__.pyi | 61 - .../stubs/redis/redis/client.pyi | 707 --- .../stubs/redis/redis/cluster.pyi | 210 - .../stubs/redis/redis/commands/__init__.pyi | 8 - .../redis/redis/commands/bf/__init__.pyi | 58 - .../redis/redis/commands/bf/commands.pyi | 107 - .../stubs/redis/redis/commands/bf/info.pyi | 43 - .../stubs/redis/redis/commands/cluster.pyi | 60 - .../stubs/redis/redis/commands/core.pyi | 742 --- .../redis/redis/commands/graph/__init__.pyi | 26 - .../redis/redis/commands/graph/commands.pyi | 17 - .../stubs/redis/redis/commands/graph/edge.pyi | 11 - .../redis/redis/commands/graph/exceptions.pyi | 5 - .../stubs/redis/redis/commands/graph/node.pyi | 17 - .../stubs/redis/redis/commands/graph/path.pyi | 18 - .../redis/commands/graph/query_result.pyi | 75 - .../stubs/redis/redis/commands/helpers.pyi | 10 - .../redis/redis/commands/json/__init__.pyi | 14 - .../redis/redis/commands/json/commands.pyi | 30 - .../redis/redis/commands/json/decoders.pyi | 4 - .../stubs/redis/redis/commands/json/path.pyi | 5 - .../stubs/redis/redis/commands/parser.pyi | 8 - .../redis/redis/commands/redismodules.pyi | 14 - .../redis/redis/commands/search/__init__.pyi | 22 - .../redis/commands/search/aggregation.pyi | 54 - .../redis/redis/commands/search/commands.pyi | 106 - .../redis/redis/commands/search/query.pyi | 47 - .../redis/redis/commands/search/result.pyi | 7 - .../stubs/redis/redis/commands/sentinel.pyi | 14 - .../redis/commands/timeseries/__init__.pyi | 13 - .../redis/commands/timeseries/commands.pyi | 95 - .../redis/redis/commands/timeseries/info.pyi | 17 - .../redis/redis/commands/timeseries/utils.pyi | 5 - .../stubs/redis/redis/connection.pyi | 210 - .../stubs/redis/redis/crc.pyi | 3 - .../stubs/redis/redis/exceptions.pyi | 42 - .../stubs/redis/redis/lock.pyi | 44 - .../stubs/redis/redis/ocsp.pyi | 13 - .../stubs/redis/redis/retry.pyi | 4 - .../stubs/redis/redis/sentinel.pyi | 55 - .../stubs/redis/redis/utils.pyi | 24 - .../stubs/regex/METADATA.toml | 1 - .../stubs/regex/regex/__init__.pyi | 1 - .../stubs/regex/regex/_regex.pyi | 196 - .../stubs/regex/regex/_regex_core.pyi | 41 - .../stubs/regex/regex/regex.pyi | 155 - .../stubs/requests/METADATA.toml | 2 - .../stubs/requests/requests/__init__.pyi | 39 - .../stubs/requests/requests/adapters.pyi | 78 - .../stubs/requests/requests/api.pyi | 142 - .../stubs/requests/requests/auth.pyi | 39 - .../stubs/requests/requests/compat.pyi | 3 - .../stubs/requests/requests/cookies.pyi | 65 - .../stubs/requests/requests/exceptions.pyi | 33 - .../stubs/requests/requests/hooks.pyi | 6 - .../stubs/requests/requests/models.pyi | 145 - .../requests/requests/packages/__init__.pyi | 6 - .../stubs/requests/requests/sessions.pyi | 240 - .../stubs/requests/requests/status_codes.pyi | 3 - .../stubs/requests/requests/structures.pyi | 21 - .../stubs/requests/requests/utils.pyi | 55 - .../stubs/retry/METADATA.toml | 2 - .../stubs/retry/retry/__init__.pyi | 1 - .../stubs/retry/retry/api.pyi | 27 - .../stubs/selenium/METADATA.toml | 2 - .../stubs/selenium/selenium/__init__.pyi | 0 .../selenium/selenium/common/__init__.pyi | 1 - .../selenium/selenium/common/exceptions.pyi | 49 - .../selenium/selenium/webdriver/__init__.pyi | 45 - .../selenium/webdriver/android/__init__.pyi | 0 .../selenium/webdriver/android/webdriver.pyi | 5 - .../webdriver/blackberry/__init__.pyi | 0 .../webdriver/blackberry/webdriver.pyi | 11 - .../selenium/webdriver/chrome/__init__.pyi | 0 .../selenium/webdriver/chrome/options.pyi | 30 - .../webdriver/chrome/remote_connection.pyi | 4 - .../selenium/webdriver/chrome/service.pyi | 10 - .../selenium/webdriver/chrome/webdriver.pyi | 25 - .../selenium/webdriver/common/__init__.pyi | 0 .../webdriver/common/action_chains.pyi | 29 - .../webdriver/common/actions/__init__.pyi | 0 .../common/actions/action_builder.pyi | 27 - .../webdriver/common/actions/input_device.pyi | 9 - .../webdriver/common/actions/interaction.pyi | 21 - .../webdriver/common/actions/key_actions.pyi | 13 - .../webdriver/common/actions/key_input.pyi | 20 - .../webdriver/common/actions/mouse_button.pyi | 4 - .../common/actions/pointer_actions.pyi | 23 - .../common/actions/pointer_input.pyi | 17 - .../selenium/webdriver/common/alert.pyi | 10 - .../selenium/selenium/webdriver/common/by.pyi | 9 - .../webdriver/common/desired_capabilities.pyi | 16 - .../webdriver/common/html5/__init__.pyi | 0 .../common/html5/application_cache.pyi | 13 - .../selenium/webdriver/common/keys.pyi | 67 - .../selenium/webdriver/common/proxy.pyi | 70 - .../selenium/webdriver/common/service.pyi | 21 - .../webdriver/common/touch_actions.pyi | 15 - .../selenium/webdriver/common/utils.pyi | 12 - .../selenium/webdriver/edge/__init__.pyi | 0 .../selenium/webdriver/edge/options.pyi | 10 - .../selenium/webdriver/edge/service.pyi | 8 - .../selenium/webdriver/edge/webdriver.pyi | 18 - .../selenium/webdriver/firefox/__init__.pyi | 0 .../firefox/extension_connection.pyi | 20 - .../webdriver/firefox/firefox_binary.pyi | 11 - .../webdriver/firefox/firefox_profile.pyi | 41 - .../selenium/webdriver/firefox/options.pyi | 46 - .../webdriver/firefox/remote_connection.pyi | 4 - .../selenium/webdriver/firefox/service.pyi | 11 - .../selenium/webdriver/firefox/webdriver.pyi | 45 - .../selenium/webdriver/firefox/webelement.pyi | 6 - .../selenium/webdriver/ie/__init__.pyi | 0 .../selenium/webdriver/ie/options.pyi | 95 - .../selenium/webdriver/ie/service.pyi | 10 - .../selenium/webdriver/ie/webdriver.pyi | 34 - .../selenium/webdriver/opera/__init__.pyi | 0 .../selenium/webdriver/opera/options.pyi | 25 - .../selenium/webdriver/opera/webdriver.pyi | 32 - .../selenium/webdriver/phantomjs/__init__.pyi | 0 .../selenium/webdriver/phantomjs/service.pyi | 11 - .../webdriver/phantomjs/webdriver.pyi | 17 - .../selenium/webdriver/remote/__init__.pyi | 0 .../selenium/webdriver/remote/command.pyi | 126 - .../webdriver/remote/errorhandler.pyi | 74 - .../webdriver/remote/file_detector.pyi | 13 - .../selenium/webdriver/remote/mobile.pyi | 28 - .../webdriver/remote/remote_connection.pyi | 19 - .../selenium/webdriver/remote/switch_to.pyi | 22 - .../selenium/webdriver/remote/utils.pyi | 8 - .../selenium/webdriver/remote/webdriver.pyi | 126 - .../selenium/webdriver/remote/webelement.pyi | 64 - .../selenium/webdriver/safari/__init__.pyi | 0 .../selenium/webdriver/safari/permissions.pyi | 2 - .../webdriver/safari/remote_connection.pyi | 4 - .../selenium/webdriver/safari/service.pyi | 11 - .../selenium/webdriver/safari/webdriver.pyi | 25 - .../selenium/webdriver/support/__init__.pyi | 0 .../support/abstract_event_listener.pyi | 20 - .../selenium/webdriver/support/color.pyi | 31 - .../support/event_firing_webdriver.pyi | 68 - .../selenium/webdriver/support/events.pyi | 2 - .../webdriver/support/expected_conditions.pyi | 140 - .../selenium/webdriver/support/select.pyi | 24 - .../selenium/webdriver/support/ui.pyi | 2 - .../selenium/webdriver/support/wait.pyi | 11 - .../selenium/webdriver/webkitgtk/__init__.pyi | 0 .../selenium/webdriver/webkitgtk/options.pyi | 18 - .../selenium/webdriver/webkitgtk/service.pyi | 8 - .../webdriver/webkitgtk/webdriver.pyi | 18 - .../stubs/setuptools/METADATA.toml | 1 - .../setuptools/pkg_resources/__init__.pyi | 277 - .../setuptools/pkg_resources/py31compat.pyi | 5 - .../stubs/setuptools/setuptools/__init__.pyi | 77 - .../setuptools/_deprecation_warning.pyi | 1 - .../setuptools/setuptools/archive_util.pyi | 12 - .../setuptools/setuptools/build_meta.pyi | 30 - .../setuptools/command/__init__.pyi | 0 .../setuptools/setuptools/command/alias.pyi | 18 - .../setuptools/command/bdist_egg.pyi | 48 - .../setuptools/command/bdist_rpm.pyi | 4 - .../setuptools/command/build_clib.pyi | 4 - .../setuptools/command/build_ext.pyi | 44 - .../setuptools/command/build_py.pyi | 27 - .../setuptools/setuptools/command/develop.pyi | 31 - .../setuptools/command/dist_info.pyi | 10 - .../setuptools/command/easy_install.pyi | 150 - .../setuptools/command/egg_info.pyi | 84 - .../setuptools/setuptools/command/install.pyi | 16 - .../setuptools/command/install_egg_info.pyi | 16 - .../setuptools/command/install_lib.pyi | 9 - .../setuptools/command/install_scripts.pyi | 9 - .../setuptools/command/py36compat.pyi | 5 - .../setuptools/command/register.pyi | 4 - .../setuptools/setuptools/command/rotate.pyi | 14 - .../setuptools/command/saveopts.pyi | 5 - .../setuptools/setuptools/command/sdist.pyi | 19 - .../setuptools/setuptools/command/setopt.pyi | 30 - .../setuptools/setuptools/command/test.pyi | 41 - .../setuptools/setuptools/command/upload.pyi | 4 - .../setuptools/command/upload_docs.pyi | 18 - .../stubs/setuptools/setuptools/config.pyi | 44 - .../stubs/setuptools/setuptools/dep_util.pyi | 1 - .../stubs/setuptools/setuptools/depends.pyi | 14 - .../stubs/setuptools/setuptools/dist.pyi | 35 - .../stubs/setuptools/setuptools/errors.pyi | 3 - .../stubs/setuptools/setuptools/extension.pyi | 10 - .../setuptools/setuptools/extern/__init__.pyi | 16 - .../stubs/setuptools/setuptools/glob.pyi | 3 - .../stubs/setuptools/setuptools/installer.pyi | 2 - .../stubs/setuptools/setuptools/launch.pyi | 1 - .../setuptools/setuptools/lib2to3_ex.pyi | 10 - .../stubs/setuptools/setuptools/monkey.pyi | 6 - .../stubs/setuptools/setuptools/msvc.pyi | 145 - .../setuptools/setuptools/namespaces.pyi | 10 - .../setuptools/setuptools/package_index.pyi | 84 - .../stubs/setuptools/setuptools/sandbox.pyi | 28 - .../setuptools/setuptools/unicode_utils.pyi | 3 - .../stubs/setuptools/setuptools/version.pyi | 1 - .../stubs/setuptools/setuptools/wheel.pyi | 15 - .../setuptools/setuptools/windows_support.pyi | 2 - .../stubs/simplejson/METADATA.toml | 2 - .../stubs/simplejson/simplejson/__init__.pyi | 14 - .../stubs/simplejson/simplejson/decoder.pyi | 6 - .../stubs/simplejson/simplejson/encoder.pyi | 9 - .../stubs/simplejson/simplejson/errors.pyi | 16 - .../stubs/simplejson/simplejson/raw_json.pyi | 3 - .../stubs/simplejson/simplejson/scanner.pyi | 9 - .../stubs/singledispatch/METADATA.toml | 2 - .../stubs/singledispatch/singledispatch.pyi | 27 - .../typeshed-fallback/stubs/six/METADATA.toml | 1 - .../stubs/six/six/__init__.pyi | 108 - .../stubs/six/six/moves/BaseHTTPServer.pyi | 1 - .../stubs/six/six/moves/CGIHTTPServer.pyi | 1 - .../stubs/six/six/moves/SimpleHTTPServer.pyi | 1 - .../stubs/six/six/moves/__init__.pyi | 65 - .../stubs/six/six/moves/_dummy_thread.pyi | 6 - .../stubs/six/six/moves/_thread.pyi | 1 - .../stubs/six/six/moves/builtins.pyi | 1 - .../stubs/six/six/moves/cPickle.pyi | 1 - .../stubs/six/six/moves/collections_abc.pyi | 1 - .../stubs/six/six/moves/configparser.pyi | 3 - .../stubs/six/six/moves/copyreg.pyi | 1 - .../stubs/six/six/moves/email_mime_base.pyi | 1 - .../six/six/moves/email_mime_multipart.pyi | 1 - .../six/six/moves/email_mime_nonmultipart.pyi | 1 - .../stubs/six/six/moves/email_mime_text.pyi | 1 - .../stubs/six/six/moves/html_entities.pyi | 1 - .../stubs/six/six/moves/html_parser.pyi | 1 - .../stubs/six/six/moves/http_client.pyi | 61 - .../stubs/six/six/moves/http_cookiejar.pyi | 1 - .../stubs/six/six/moves/http_cookies.pyi | 3 - .../stubs/six/six/moves/queue.pyi | 1 - .../stubs/six/six/moves/reprlib.pyi | 1 - .../stubs/six/six/moves/socketserver.pyi | 1 - .../stubs/six/six/moves/tkinter.pyi | 1 - .../six/six/moves/tkinter_commondialog.pyi | 1 - .../stubs/six/six/moves/tkinter_constants.pyi | 1 - .../stubs/six/six/moves/tkinter_dialog.pyi | 1 - .../six/six/moves/tkinter_filedialog.pyi | 1 - .../six/six/moves/tkinter_tkfiledialog.pyi | 1 - .../stubs/six/six/moves/tkinter_ttk.pyi | 1 - .../stubs/six/six/moves/urllib/__init__.pyi | 5 - .../stubs/six/six/moves/urllib/error.pyi | 1 - .../stubs/six/six/moves/urllib/parse.pyi | 30 - .../stubs/six/six/moves/urllib/request.pyi | 41 - .../stubs/six/six/moves/urllib/response.pyi | 8 - .../six/six/moves/urllib/robotparser.pyi | 1 - .../stubs/six/six/moves/urllib_error.pyi | 1 - .../stubs/six/six/moves/urllib_parse.pyi | 1 - .../stubs/six/six/moves/urllib_request.pyi | 1 - .../stubs/six/six/moves/urllib_response.pyi | 1 - .../six/six/moves/urllib_robotparser.pyi | 1 - .../stubs/slumber/METADATA.toml | 1 - .../stubs/slumber/slumber/__init__.pyi | 30 - .../stubs/slumber/slumber/exceptions.pyi | 11 - .../stubs/slumber/slumber/serialize.pyi | 29 - .../stubs/slumber/slumber/utils.pyi | 3 - .../stubs/stdlib-list/METADATA.toml | 1 - .../stdlib-list/stdlib_list/__init__.pyi | 9 - .../stubs/stdlib-list/stdlib_list/base.pyi | 6 - .../stubs/stripe/METADATA.toml | 1 - .../stubs/stripe/stripe/__init__.pyi | 22 - .../stubs/stripe/stripe/api_requestor.pyi | 32 - .../stripe/stripe/api_resources/__init__.pyi | 79 - .../api_resources/abstract/__init__.pyi | 11 - .../api_resources/abstract/api_resource.pyi | 12 - .../abstract/createable_api_resource.pyi | 15 - .../api_resources/abstract/custom_method.pyi | 3 - .../abstract/deletable_api_resource.pyi | 7 - .../abstract/listable_api_resource.pyi | 10 - .../nested_resource_class_methods.pyi | 7 - .../abstract/singleton_api_resource.pyi | 8 - .../abstract/updateable_api_resource.pyi | 8 - .../api_resources/abstract/verify_mixin.pyi | 4 - .../stripe/stripe/api_resources/account.pyi | 73 - .../stripe/api_resources/account_link.pyi | 4 - .../stripe/api_resources/alipay_account.pyi | 17 - .../stripe/api_resources/apple_pay_domain.pyi | 10 - .../stripe/api_resources/application_fee.pyi | 10 - .../api_resources/application_fee_refund.pyi | 12 - .../stripe/stripe/api_resources/balance.pyi | 4 - .../api_resources/balance_transaction.pyi | 4 - .../stripe/api_resources/bank_account.pyi | 20 - .../api_resources/billing_portal/__init__.pyi | 2 - .../billing_portal/configuration.pyi | 8 - .../api_resources/billing_portal/session.pyi | 4 - .../stripe/api_resources/bitcoin_receiver.pyi | 8 - .../api_resources/bitcoin_transaction.pyi | 4 - .../stripe/api_resources/capability.pyi | 12 - .../stripe/stripe/api_resources/card.pyi | 20 - .../stripe/stripe/api_resources/charge.pyi | 18 - .../api_resources/checkout/__init__.pyi | 1 - .../stripe/api_resources/checkout/session.pyi | 8 - .../stripe/api_resources/country_spec.pyi | 4 - .../stripe/stripe/api_resources/coupon.pyi | 9 - .../stripe/api_resources/credit_note.pyi | 15 - .../api_resources/credit_note_line_item.pyi | 4 - .../stripe/stripe/api_resources/customer.pyi | 53 - .../customer_balance_transaction.pyi | 10 - .../stripe/stripe/api_resources/dispute.pyi | 11 - .../stripe/api_resources/ephemeral_key.pyi | 16 - .../stripe/api_resources/error_object.pyi | 25 - .../stripe/stripe/api_resources/event.pyi | 4 - .../stripe/api_resources/exchange_rate.pyi | 4 - .../stripe/stripe/api_resources/file.pyi | 21 - .../stripe/stripe/api_resources/file_link.pyi | 8 - .../api_resources/identity/__init__.pyi | 2 - .../identity/verification_report.pyi | 4 - .../identity/verification_session.pyi | 13 - .../stripe/stripe/api_resources/invoice.pyi | 22 - .../stripe/api_resources/invoice_item.pyi | 9 - .../api_resources/invoice_line_item.pyi | 4 - .../api_resources/issuer_fraud_record.pyi | 4 - .../stripe/api_resources/issuing/__init__.pyi | 6 - .../api_resources/issuing/authorization.pyi | 12 - .../stripe/api_resources/issuing/card.pyi | 12 - .../api_resources/issuing/card_details.pyi | 4 - .../api_resources/issuing/cardholder.pyi | 8 - .../stripe/api_resources/issuing/dispute.pyi | 12 - .../api_resources/issuing/transaction.pyi | 7 - .../stripe/stripe/api_resources/line_item.pyi | 4 - .../stripe/api_resources/list_object.pyi | 35 - .../stripe/api_resources/login_link.pyi | 4 - .../stripe/stripe/api_resources/mandate.pyi | 4 - .../stripe/stripe/api_resources/order.pyi | 13 - .../stripe/api_resources/order_return.pyi | 4 - .../stripe/api_resources/payment_intent.pyi | 14 - .../stripe/api_resources/payment_method.pyi | 13 - .../stripe/stripe/api_resources/payout.pyi | 13 - .../stripe/stripe/api_resources/person.pyi | 12 - .../stripe/stripe/api_resources/plan.pyi | 9 - .../stripe/stripe/api_resources/price.pyi | 8 - .../stripe/stripe/api_resources/product.pyi | 9 - .../stripe/api_resources/promotion_code.pyi | 8 - .../stripe/stripe/api_resources/quote.pyi | 24 - .../stripe/api_resources/radar/__init__.pyi | 3 - .../radar/early_fraud_warning.pyi | 4 - .../stripe/api_resources/radar/value_list.pyi | 9 - .../api_resources/radar/value_list_item.pyi | 8 - .../stripe/stripe/api_resources/recipient.pyi | 9 - .../api_resources/recipient_transfer.pyi | 4 - .../stripe/stripe/api_resources/refund.pyi | 8 - .../api_resources/reporting/__init__.pyi | 2 - .../api_resources/reporting/report_run.pyi | 7 - .../api_resources/reporting/report_type.pyi | 4 - .../stripe/stripe/api_resources/reversal.pyi | 12 - .../stripe/stripe/api_resources/review.pyi | 7 - .../stripe/api_resources/setup_attempt.pyi | 4 - .../stripe/api_resources/setup_intent.pyi | 13 - .../stripe/api_resources/sigma/__init__.pyi | 1 - .../sigma/scheduled_query_run.pyi | 6 - .../stubs/stripe/stripe/api_resources/sku.pyi | 9 - .../stripe/stripe/api_resources/source.pyi | 15 - .../api_resources/source_transaction.pyi | 4 - .../stripe/api_resources/subscription.pyi | 12 - .../api_resources/subscription_item.pyi | 27 - .../api_resources/subscription_schedule.pyi | 13 - .../stripe/stripe/api_resources/tax_code.pyi | 4 - .../stripe/stripe/api_resources/tax_id.pyi | 10 - .../stripe/stripe/api_resources/tax_rate.pyi | 8 - .../api_resources/terminal/__init__.pyi | 3 - .../terminal/connection_token.pyi | 4 - .../api_resources/terminal/location.pyi | 9 - .../stripe/api_resources/terminal/reader.pyi | 9 - .../stripe/api_resources/three_d_secure.pyi | 6 - .../stripe/stripe/api_resources/token.pyi | 4 - .../stripe/stripe/api_resources/topup.pyi | 12 - .../stripe/stripe/api_resources/transfer.pyi | 13 - .../stripe/api_resources/usage_record.pyi | 16 - .../api_resources/usage_record_summary.pyi | 4 - .../stripe/api_resources/webhook_endpoint.pyi | 9 - .../stubs/stripe/stripe/error.pyi | 75 - .../stubs/stripe/stripe/http_client.pyi | 51 - .../stripe/multipart_data_generator.pyi | 11 - .../stubs/stripe/stripe/oauth.pyi | 11 - .../stubs/stripe/stripe/oauth_error.pyi | 22 - .../stubs/stripe/stripe/object_classes.pyi | 5 - .../stubs/stripe/stripe/request_metrics.pyi | 7 - .../stubs/stripe/stripe/stripe_object.pyi | 55 - .../stubs/stripe/stripe/stripe_response.pyi | 19 - .../stubs/stripe/stripe/util.pyi | 35 - .../stubs/stripe/stripe/version.pyi | 1 - .../stubs/stripe/stripe/webhook.pyi | 13 - .../stubs/tabulate/METADATA.toml | 2 - .../stubs/tabulate/tabulate.pyi | 47 - .../stubs/termcolor/METADATA.toml | 2 - .../stubs/termcolor/termcolor.pyi | 11 - .../stubs/toml/METADATA.toml | 2 - .../stubs/toml/toml/__init__.pyi | 18 - .../stubs/toml/toml/decoder.pyi | 75 - .../stubs/toml/toml/encoder.pyi | 44 - .../stubs/toml/toml/ordered.pyi | 11 - .../typeshed-fallback/stubs/toml/toml/tz.pyi | 10 - .../stubs/toposort/METADATA.toml | 1 - .../stubs/toposort/toposort.pyi | 17 - .../stubs/ttkthemes/METADATA.toml | 1 - .../stubs/ttkthemes/ttkthemes/__init__.pyi | 7 - .../stubs/ttkthemes/ttkthemes/_imgops.pyi | 2 - .../stubs/ttkthemes/ttkthemes/_utils.pyi | 7 - .../stubs/ttkthemes/ttkthemes/_widget.pyi | 26 - .../ttkthemes/ttkthemes/themed_style.pyi | 12 - .../stubs/ttkthemes/ttkthemes/themed_tk.pyi | 30 - .../stubs/typed-ast/METADATA.toml | 1 - .../stubs/typed-ast/typed_ast/__init__.pyi | 0 .../stubs/typed-ast/typed_ast/ast27.pyi | 335 -- .../stubs/typed-ast/typed_ast/ast3.pyi | 384 -- .../stubs/typed-ast/typed_ast/conversions.pyi | 3 - .../stubs/tzlocal/METADATA.toml | 2 - .../stubs/tzlocal/tzlocal/__init__.pyi | 5 - .../stubs/ujson/METADATA.toml | 1 - .../typeshed-fallback/stubs/ujson/ujson.pyi | 35 - .../stubs/urllib3/METADATA.toml | 1 - .../stubs/urllib3/urllib3/__init__.pyi | 27 - .../stubs/urllib3/urllib3/_collections.pyi | 52 - .../stubs/urllib3/urllib3/connection.pyi | 69 - .../stubs/urllib3/urllib3/connectionpool.pyi | 121 - .../urllib3/urllib3/contrib/__init__.pyi | 0 .../stubs/urllib3/urllib3/exceptions.pyi | 87 - .../stubs/urllib3/urllib3/fields.pyi | 13 - .../stubs/urllib3/urllib3/filepost.pyi | 12 - .../urllib3/urllib3/packages/__init__.pyi | 0 .../packages/ssl_match_hostname/__init__.pyi | 4 - .../ssl_match_hostname/_implementation.pyi | 3 - .../stubs/urllib3/urllib3/poolmanager.pyi | 28 - .../stubs/urllib3/urllib3/request.pyi | 11 - .../stubs/urllib3/urllib3/response.pyi | 101 - .../stubs/urllib3/urllib3/util/__init__.pyi | 20 - .../stubs/urllib3/urllib3/util/connection.pyi | 8 - .../stubs/urllib3/urllib3/util/request.pyi | 11 - .../stubs/urllib3/urllib3/util/response.pyi | 1 - .../stubs/urllib3/urllib3/util/retry.pyi | 85 - .../stubs/urllib3/urllib3/util/ssl_.pyi | 31 - .../stubs/urllib3/urllib3/util/timeout.pyi | 21 - .../stubs/urllib3/urllib3/util/url.pyi | 23 - .../stubs/vobject/METADATA.toml | 1 - .../stubs/vobject/vobject/__init__.pyi | 4 - .../stubs/vobject/vobject/base.pyi | 151 - .../stubs/vobject/vobject/behavior.pyi | 33 - .../stubs/vobject/vobject/change_tz.pyi | 6 - .../stubs/vobject/vobject/hcalendar.pyi | 8 - .../stubs/vobject/vobject/icalendar.pyi | 236 - .../stubs/vobject/vobject/ics_diff.pyi | 10 - .../stubs/vobject/vobject/vcard.pyi | 110 - .../stubs/vobject/vobject/win32tz.pyi | 40 - .../stubs/waitress/METADATA.toml | 2 - .../stubs/waitress/waitress/__init__.pyi | 7 - .../stubs/waitress/waitress/adjustments.pyi | 62 - .../stubs/waitress/waitress/buffers.pyi | 58 - .../stubs/waitress/waitress/channel.pyi | 49 - .../stubs/waitress/waitress/compat.pyi | 32 - .../stubs/waitress/waitress/parser.pyi | 44 - .../stubs/waitress/waitress/proxy_headers.pyi | 36 - .../stubs/waitress/waitress/receiver.pyi | 31 - .../stubs/waitress/waitress/rfc7230.pyi | 16 - .../stubs/waitress/waitress/runner.pyi | 12 - .../stubs/waitress/waitress/server.pyi | 104 - .../stubs/waitress/waitress/task.pyi | 71 - .../stubs/waitress/waitress/trigger.pyi | 31 - .../stubs/waitress/waitress/utilities.pyi | 77 - .../stubs/waitress/waitress/wasyncore.pyi | 95 - .../stubs/whatthepatch/METADATA.toml | 1 - .../whatthepatch/whatthepatch/__init__.pyi | 2 - .../stubs/whatthepatch/whatthepatch/apply.pyi | 8 - .../whatthepatch/whatthepatch/exceptions.pyi | 14 - .../stubs/whatthepatch/whatthepatch/patch.pyi | 77 - .../whatthepatch/whatthepatch/snippets.pyi | 7 - .../stubs/xmltodict/METADATA.toml | 1 - .../stubs/xmltodict/xmltodict.pyi | 34 - .../stubs/xxhash/METADATA.toml | 2 - .../typeshed-fallback/stubs/xxhash/xxhash.pyi | 51 - .../dist/vendor.bundle.js | 3 - .../dist/vendor.bundle.js.LICENSE.txt | 104 - .../dist/vendor.bundle.js.map | 1 - .../images/icon.png | Bin 48597 -> 0 bytes .../package.json | 987 ---- .../package.nls.json | 14 - .../package.nls.ru.json | 9 - .../cache/models.json | 2 +- vscodium/settings.json | 122 +- 4191 files changed, 662 insertions(+), 253125 deletions(-) delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/.github/CONTRIBUTING.md delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/.gitignore delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/.vscode/settings.json delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/.vsixmanifest delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/CHANGELOG.md delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/LICENSE.txt delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/README.md delete mode 100755 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/bootstrap.sh delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/dracula-at-night.png delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/known_issues.md delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/package.json delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/build.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/lib/alpha.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/Theme.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/buildThemeSettings.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/activity-bar.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/badge.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/base.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/breadcrumbs.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/buttons.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/contrast.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/debug.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/diff-editor.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/dropdowns.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/editor-groups.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/editor-widgets.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/editor.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/extensions.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/git.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/index.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/inputs.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/lists.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/menu.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/merge-conflicts.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/notification.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/panels.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/peek-view.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/progress-bar.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/quick-picker.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/scrollbar.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/sidebar.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/status-bar.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/terminal.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/title-bar.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/welcome.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/TokenSettings.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/classes.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/comments.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/constants.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/functions.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/index.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/keywords.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/punctuation.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/strings.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/typings.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/variables.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/index.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/c.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/coffeescript.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/csharp.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/diff.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/elixir.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/go.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/graphql.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/groovy.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/haskell.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/html-jsx-css.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/index.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/java.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/javascript.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/lua.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/makefile.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/markdown.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/objective-c.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/ocaml.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/perl.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/php.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/powershell.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/python.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/regexp.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/ruby.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/rust.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/shell.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/swift.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/toml.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/typescript.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/yaml.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/themes/DraculaAtNight.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/themes/index.ts delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/tsconfig.json delete mode 100644 vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/tslint.json delete mode 100644 vscodium/extensions/icrawl.discord-vscode-5.8.0/.eslintignore delete mode 100644 vscodium/extensions/icrawl.discord-vscode-5.8.0/README.md delete mode 100644 vscodium/extensions/icrawl.discord-vscode-5.8.0/assets/icon.png delete mode 100644 vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/activity.d.ts delete mode 100644 vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/constants.d.ts delete mode 100644 vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/extension.d.ts delete mode 100644 vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/extension.js delete mode 100644 vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/extension.js.LICENSE.txt delete mode 100644 vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/logger.d.ts delete mode 100644 vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/util.d.ts delete mode 100644 vscodium/extensions/icrawl.discord-vscode-5.8.0/package.json delete mode 100644 vscodium/extensions/icrawl.discord-vscode-5.8.0/tsconfig.eslint.json delete mode 100644 vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/.vsixmanifest delete mode 100644 vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/CHANGELOG.md delete mode 100644 vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/LICENSE.txt delete mode 100644 vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/README.md delete mode 100644 vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/icon.png delete mode 100644 vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/package.json delete mode 100644 vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/themes/sweetdracula-monokai-color-theme.json rename vscodium/extensions/{icrawl.discord-vscode-5.8.0 => leonardssh.vscord-4.5.0}/.vsixmanifest (73%) rename vscodium/extensions/{icrawl.discord-vscode-5.8.0 => leonardssh.vscord-4.5.0}/LICENSE.txt (91%) create mode 100644 vscodium/extensions/leonardssh.vscord-4.5.0/README.md create mode 100644 vscodium/extensions/leonardssh.vscord-4.5.0/assets/icon.png create mode 100644 vscodium/extensions/leonardssh.vscord-4.5.0/dist/extension.js create mode 100644 vscodium/extensions/leonardssh.vscord-4.5.0/dist/extension.js.LICENSE.txt create mode 100644 vscodium/extensions/leonardssh.vscord-4.5.0/dist/extension.js.map create mode 100644 vscodium/extensions/leonardssh.vscord-4.5.0/package.json delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/.vsixmanifest delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/CHANGELOG.md delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/LICENSE.txt delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/NOTICE.txt delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/README.md delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/browser.extension.bundle.js delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/browser.server.bundle.js delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/browser.server.bundle.js.LICENSE.txt delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/indices/stdlib.json delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/lxml/etree.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/lxml/objectify.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/numpy/core/_multiarray_umath.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/numpy/core/_simd.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/numpy/fft/_pocketfft_internal.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/numpy/linalg/_umath_linalg.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/numpy/linalg/lapack_lite.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/numpy/random/_bounded_integers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/numpy/random/_common.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/numpy/random/_generator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/numpy/random/_mt19937.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/numpy/random/_pcg64.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/numpy/random/_philox.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/numpy/random/_sfc64.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/numpy/random/bit_generator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/numpy/random/mtrand.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/algos.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/groupby.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/hashing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/hashtable.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/index.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/indexing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/internals.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/interval.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/join.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/json.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/lib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/missing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/ops.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/ops_dispatch.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/parsers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/properties.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/reduction.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/reshape.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/sparse.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/testing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/ccalendar.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/conversion.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/dtypes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/fields.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/nattype.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/np_datetime.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/offsets.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/parsing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/period.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/strptime.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/timedeltas.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/timestamps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/timezones.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/tzconversion.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/vectorized.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/window/aggregations.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/window/indexers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/writers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/io/sas/_sas.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/cv2-stubs/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/cv2-stubs/py.typed delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/LICENSE.txt delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/apps/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/apps/config.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/apps/registry.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/commit.txt delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/global_settings.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/locale/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/urls/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/urls/i18n.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/urls/static.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/actions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/apps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/checks.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/decorators.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/filters.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/forms.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/helpers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/migrations/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/models.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/options.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/sites.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/admin_list.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/admin_modify.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/admin_urls.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/log.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/tests.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/views/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/views/autocomplete.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/views/decorators.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/views/main.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/widgets.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/apps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/middleware.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/urls.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/views.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/admin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/apps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/backends.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/base_user.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/checks.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/context_processors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/decorators.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/forms.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/handlers/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/handlers/modwsgi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/hashers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/management/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/management/commands/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/management/commands/changepassword.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/management/commands/createsuperuser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/middleware.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/migrations/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/mixins.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/models.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/password_validation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/signals.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/tokens.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/urls.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/validators.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/views.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/admin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/apps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/checks.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/fields.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/forms.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/management/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/management/commands/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/management/commands/remove_stale_contenttypes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/migrations/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/models.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/views.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/admin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/apps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/forms.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/middleware.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/migrations/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/models.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/sitemaps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/templatetags/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/templatetags/flatpages.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/urls.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/views.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/admin/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/admin/options.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/admin/widgets.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/apps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/adapter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/features.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/models.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/operations.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/features.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/introspection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/operations.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/schema.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/adapter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/features.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/introspection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/models.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/operations.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/schema.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/adapter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/const.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/features.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/introspection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/models.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/operations.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/pgraster.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/schema.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/adapter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/client.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/features.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/introspection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/models.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/operations.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/schema.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/aggregates.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/fields.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/functions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/lookups.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/proxy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/sql/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/sql/conversion.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/feeds.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/forms/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/forms/fields.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/forms/widgets.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/datasource.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/driver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/envelope.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/feature.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/field.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/geometries.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/geomtype.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/layer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/libgdal.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/ds.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/errcheck.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/generation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/geom.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/raster.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/srs.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/band.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/const.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/source.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/srs.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geoip2/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geoip2/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geoip2/resources.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geometry.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/collections.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/coordseq.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/factory.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/geometry.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/io.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/libgeos.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/linestring.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/mutable_list.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/point.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/polygon.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prepared.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/coordseq.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/errcheck.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/geom.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/io.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/misc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/predicates.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/prepared.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/threadsafe.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/topology.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/measure.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/ptr.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/serializers/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/serializers/geojson.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/shortcuts.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/sitemaps/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/sitemaps/kml.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/sitemaps/views.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/layermapping.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/ogrinfo.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/ogrinspect.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/srs.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/views.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/humanize/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/humanize/apps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/humanize/templatetags/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/humanize/templatetags/humanize.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/api.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/apps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/constants.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/context_processors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/middleware.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/cookie.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/fallback.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/session.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/views.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/aggregates/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/aggregates/general.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/aggregates/mixins.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/aggregates/statistics.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/apps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/constraints.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/array.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/citext.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/hstore.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/jsonb.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/ranges.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/array.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/hstore.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/jsonb.py delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/ranges.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/functions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/indexes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/lookups.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/operations.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/search.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/serializers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/signals.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/validators.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/admin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/apps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/middleware.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/migrations/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/models.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/apps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/cache.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/cached_db.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/db.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/file.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/signed_cookies.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/base_session.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/management/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/management/commands/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/management/commands/clearsessions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/middleware.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/migrations/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/models.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/serializers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/apps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/management/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/management/commands/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/management/commands/ping_google.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/views.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/admin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/apps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/management.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/managers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/middleware.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/migrations/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/models.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/requests.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/shortcuts.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/apps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/checks.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/finders.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/handlers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/management/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/management/commands/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/management/commands/collectstatic.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/management/commands/findstatic.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/management/commands/runserver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/storage.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/testing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/urls.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/views.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/syndication/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/syndication/apps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/syndication/views.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/asgi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/db.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/dummy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/filebased.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/locmem.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/memcached.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/async_checks.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/caches.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/compatibility/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/database.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/messages.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/model_checks.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/registry.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/security/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/security/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/security/csrf.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/security/sessions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/templates.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/translation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/urls.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/images.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/locks.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/move.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/storage.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/temp.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/uploadedfile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/uploadhandler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/asgi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/exception.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/wsgi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/console.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/dummy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/filebased.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/locmem.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/smtp.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/message.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/color.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/check.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/compilemessages.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/createcachetable.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/dbshell.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/diffsettings.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/dumpdata.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/flush.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/inspectdb.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/loaddata.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/makemessages.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/makemigrations.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/migrate.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/runserver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/sendtestemail.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/shell.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/showmigrations.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/sqlflush.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/sqlmigrate.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/sqlsequencereset.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/squashmigrations.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/startapp.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/startproject.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/test.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/testserver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/sql.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/templates.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/paginator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/json.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/jsonl.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/python.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/pyyaml.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/xml_serializer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/servers/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/servers/basehttp.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/signals.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/signing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/validators.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/wsgi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/client.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/creation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/features.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/introspection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/operations.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/schema.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/validation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/ddl_references.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/dummy/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/dummy/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/dummy/features.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/client.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/compiler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/creation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/features.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/introspection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/operations.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/schema.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/validation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/client.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/creation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/features.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/functions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/introspection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/operations.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/schema.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/validation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/client.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/creation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/features.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/introspection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/operations.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/schema.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/test_import_all.yml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/signals.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/client.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/creation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/features.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/introspection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/operations.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/schema.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/autodetector.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/executor.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/graph.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/loader.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/migration.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/fields.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/models.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/special.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/optimizer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/questioner.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/recorder.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/serializer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/state.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/writer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/aggregates.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/constants.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/constraints.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/deletion.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/enums.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/expressions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/files.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/json.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/mixins.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/proxy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/related.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/related_descriptors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/related_lookups.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/reverse_related.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/comparison.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/datetime.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/math.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/mixins.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/text.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/window.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/indexes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/lookups.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/manager.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/options.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/query.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/query_utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/signals.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/compiler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/constants.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/datastructures.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/query.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/subqueries.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/where.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/transaction.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/dispatch/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/dispatch/dispatcher.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/boundfield.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/fields.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/forms.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/formsets.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/models.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/renderers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/widgets.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/cookie.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/multipartparser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/request.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/response.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/cache.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/clickjacking.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/common.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/csrf.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/gzip.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/http.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/locale.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/security.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/shortcuts.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/django.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/dummy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/jinja2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/context.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/context_processors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/defaultfilters.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/defaulttags.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/engine.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/library.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loader.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loader_tags.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/app_directories.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/cached.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/filesystem.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/locmem.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/response.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/smartif.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/cache.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/i18n.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/l10n.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/static.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/tz.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/client.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/html.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/runner.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/selenium.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/signals.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/testcases.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/conf.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/converters.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/resolvers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/_os.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/archive.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/asyncio.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/autoreload.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/baseconv.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/cache.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/connection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/crypto.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/datastructures.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/dateformat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/dateparse.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/dates.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/datetime_safe.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/deconstruct.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/decorators.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/deprecation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/duration.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/encoding.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/feedgenerator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/formats.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/functional.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/hashable.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/html.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/http.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/inspect.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/ipv6.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/itercompat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/jslex.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/log.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/lorem_ipsum.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/module_loading.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/numberformat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/regex_helper.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/safestring.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/termcolors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/text.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/timesince.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/timezone.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/topological_sort.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/reloader.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/template.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/trans_null.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/trans_real.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/tree.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/version.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/xmlutils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/csrf.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/debug.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/cache.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/clickjacking.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/common.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/csrf.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/debug.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/gzip.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/http.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/vary.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/defaults.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/dates.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/detail.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/edit.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/list.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/i18n.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/static.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/core.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/envs/registration.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/logger.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/py.typed delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/box.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/dict.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/discrete.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/multi_binary.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/multi_discrete.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/space.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/tuple.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/vector/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/vector/async_vector_env.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/vector/sync_vector_env.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/vector/vector_env.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/wrappers/time_limit.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/functions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/visitor.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/_typing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/afm.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/animation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/artist.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/_axes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/_base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/_secondary_axes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/_subplots.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axis.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/backend_bases.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/backend_managers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/backend_tools.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/backends/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/bezier.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/blocking_input.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/category.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/cbook/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/cm.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/collections.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/colorbar.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/colors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/container.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/contour.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/dates.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/docstring.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/dviread.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/figure.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/font_manager.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/fontconfig_pattern.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/ft2font.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/gridspec.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/image.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/legend.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/legend_handler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/lines.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/markers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/mathtext.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/mlab.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/offsetbox.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/patches.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/path.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/patheffects.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/projections/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/projections/plot_directive.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/pyplot.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/quiver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/rcsetup.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/sankey.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/scale.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/spines.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/stackplot.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/streamplot.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/streamploy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/style/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/table.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/testing/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/text.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/textmanager.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/textpath.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/ticker.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/tight_layout.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/transforms.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/tri/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/type1font.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/units.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/widgets.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/LICENSE delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/cell/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/cell/_writer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/cell/cell.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/cell/text.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/chart/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/chart/axis.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/commit.txt delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/drawings.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/excel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/strings.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/workbook.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/alignment.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/borders.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/colors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/differential.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/fills.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/fonts.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/named_styles.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/numbers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/protection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/styleable.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/cell.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/escape.py delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/escape.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/formulas.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/workbook/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/workbook/child.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/workbook/workbook.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/_reader.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/_writer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/copier.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/worksheet.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/xml/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_config/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_config/config.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/indexing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/interval.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/json.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/lib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/missing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/ops_dispatch.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/properties.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/sparse.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/ccalendar.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/conversion.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/dtypes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/nattype.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/np_datetime.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/offsets.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/parsing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/period.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/strptime.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/timedeltas.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/timestamps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/tzconversion.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/vectorized.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/window/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_testing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_typing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_version.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/api/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/api/extensions/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/api/indexers/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/api/types/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/arrays/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/compat/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/compat/_optional.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/compat/numpy/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/compat/pickle_compat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/accessor.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/algorithms.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/api.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/apply.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arraylike.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/_arrow_utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/_ranges.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/boolean.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/categorical.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/datetimelike.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/datetimes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/integer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/interval.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/masked.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/numpy_.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/period.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/accessor.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/array.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/dtype.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/scipy_sparse.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/string_.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/timedeltas.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/common.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/align.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/api.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/check.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/common.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/engines.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/eval.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/expr.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/expressions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/ops.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/parsing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/pytables.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/scope.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/config_init.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/construction.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/api.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/cast.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/common.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/concat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/dtypes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/generic.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/inference.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/missing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/frame.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/generic.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/categorical.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/generic.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/groupby.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/grouper.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/ops.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/index.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/accessors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/api.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/category.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/datetimelike.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/datetimes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/extension.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/frozen.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/interval.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/multi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/numeric.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/period.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/range.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/timedeltas.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/blocks.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/concat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/construction.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/managers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/missing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/nanops.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/array_ops.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/common.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/dispatch.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/docstrings.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/invalid.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/mask_ops.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/methods.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/missing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/roperator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/resample.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/api.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/concat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/melt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/merge.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/pivot.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/reshape.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/tile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/series.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/sorting.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/sparse/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/sparse/api.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/strings.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/tools/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/tools/datetimes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/tools/numeric.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/tools/timedeltas.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/util/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/util/hashing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/common.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/ewm.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/expanding.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/indexers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/numba_.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/rolling.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/errors/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/api.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/clipboard/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/clipboards.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/common.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/date_converters.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/excel/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/excel/_base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/excel/_util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/feather_format.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/console.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/css.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/csvs.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/excel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/format.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/html.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/latex.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/printing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/style.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/gbq.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/gcs.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/html.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/json/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/json/_json.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/json/_normalize.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/json/_table_schema.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/orc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/parquet.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/parsers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/pickle.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/pytables.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/s3.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/sas7bdat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/sas_constants.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/sas_xport.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/sasreader.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/spss.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sql.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/stata.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_core.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/boxplot.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/compat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/converter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/core.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/hist.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/misc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/style.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/timeseries.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/tools.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_misc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/testing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/tseries/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/tseries/api.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/tseries/frequencies.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/tseries/offsets.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_decorators.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_depr_module.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_doctools.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_print_versions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_test_decorators.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_tester.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_validators.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pythonwin-stubs/dde.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pythonwin-stubs/py.typed delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pythonwin-stubs/win32ui.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pythonwin-stubs/win32uiole.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_ccallback_c.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_fpumode.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_test_ccallback.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_test_deprecation_call.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_test_deprecation_def.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_uarray/_uarray.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/messagestream.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/cluster/_hierarchy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/cluster/_optimal_leaf_ordering.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/cluster/_vq.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/fft/_pocketfft/pypocketfft.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/fftpack/convolve.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_dop.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_odepack.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_quadpack.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_test_multivariate.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_test_odeint_banded.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/lsoda.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/vode.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/_bspl.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/_fitpack.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/_ppoly.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/dfitpack.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/interpnd.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/io/_test_fortran.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/io/matlab/mio5_utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/io/matlab/mio_utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/io/matlab/streams.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_decomp_update.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_fblas.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_flapack.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_flinalg.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_interpolative.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_matfuncs_sqrtm_triu.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_solve_toeplitz.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/cython_blas.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/cython_lapack.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/ndimage/_ctest.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/ndimage/_cytest.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/ndimage/_nd_image.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/ndimage/_ni_label.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/odr/__odrpack.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/__nnls.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_bglu_dense.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_cobyla.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_group_columns.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_highs/_highs_constants.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_highs/_highs_wrapper.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_highs/_mpswriter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_lbfgsb.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_lsap_module.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_lsq/givens_elimination.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_minpack.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_slsqp.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_trlib/_trlib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_zeros.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/cython_optimize/_zeros.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/minpack2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/moduleTNC.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/py.typed delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_max_len_seq_inner.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_peak_finding_utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_sosfilt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_spectral.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_upfirdn_apply.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/sigtools.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/spline.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/_csparsetools.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/_sparsetools.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_flow.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_matching.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_min_spanning_tree.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_reordering.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_shortest_path.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_tools.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_traversal.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/linalg/_eigen/lobpcg/lobpcg.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/linalg/dsolve/_superlu.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/linalg/eigen/arpack/_arpack.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/linalg/isolve/_iterative.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/_distance_wrap.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/_hausdorff.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/_voronoi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/ckdtree.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/qhull.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/transform/rotation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_comb.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_ellip_harm_2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_test_round.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_ufuncs.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_ufuncs_cxx.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/cython_special.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/specfun.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/stats/_stats.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/stats/mvn.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/stats/statlib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/seaborn-stubs/palettes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/seaborn-stubs/py.typed delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/decomposition/_base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/decomposition/_pca.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/externals/_lobpcg.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/manifold/spectral_embedding.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/py.typed delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/utils/validation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/core/evalf.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/core/power.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/py.typed delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/simplify/powsimp.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/simplify/simplify.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/transformers-stubs/models/auto/configuration_auto.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/transformers-stubs/models/auto/tokenization_auto.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/transformers-stubs/py.typed delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/mmapfile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/odbc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/perfmon.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/py.typed delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/servicemanager.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/timer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win2kras.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32api.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32clipboard.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32console.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32cred.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32crypt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32event.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32evtlog.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32file.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32gui.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32help.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32inet.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32job.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32lz.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32net.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32pdh.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32pipe.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32print.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32process.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32profile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32ras.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32security.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32service.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32trace.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32transaction.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32ts.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32wnet.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/winxpgui.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/adsi/adsi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/authorization/authorization.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/axcontrol/axcontrol.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/axscript/axscript.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/bits/bits.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/directsound/directsound.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/ifilter/ifilter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/mapi/exchange.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/mapi/mapi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/propsys/propsys.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/py.typed delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/shell/shell.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/taskscheduler/taskscheduler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/extension.bundle.js delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/folderIndex.json delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/native/onnxruntime/napi-v3/darwin/x64/libonnxruntime.1.7.0.dylib delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/native/onnxruntime/napi-v3/darwin/x64/onnxruntime_binding.node delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/native/onnxruntime/napi-v3/linux/x64/libonnxruntime.so.1.7.0 delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/native/onnxruntime/napi-v3/linux/x64/onnxruntime_binding.node delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/native/onnxruntime/napi-v3/win32/x64/onnxruntime.dll delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/native/onnxruntime/napi-v3/win32/x64/onnxruntime_binding.node delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/pyright.bundle.js delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/pyright.bundle.js.map delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/schemas/pyrightconfig.schema.json delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/scripts/scrape_module.py delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/server.bundle.js delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/LICENSE delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/README.md delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/commit.txt delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/VERSIONS delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/__future__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/__main__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_ast.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_bisect.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_bootlocale.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_codecs.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_collections_abc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_compat_pickle.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_compression.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_csv.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_curses.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_decimal.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_dummy_thread.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_dummy_threading.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_heapq.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_imp.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_json.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_markupbase.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_msi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_operator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_osx_support.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_posixsubprocess.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_py_abc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_pydecimal.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_random.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_sitebuiltins.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_socket.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_stat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_thread.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_threading_local.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_tkinter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_tracemalloc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_typeshed/README.md delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_typeshed/dbapi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_typeshed/wsgi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_typeshed/xml.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_warnings.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_weakref.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_weakrefset.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/_winapi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/abc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/aifc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/antigravity.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/argparse.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/array.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/ast.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asynchat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/base_events.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/base_futures.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/base_subprocess.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/base_tasks.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/compat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/constants.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/coroutines.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/events.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/format_helpers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/futures.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/locks.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/log.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/mixins.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/proactor_events.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/protocols.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/queues.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/runners.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/selector_events.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/sslproto.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/staggered.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/streams.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/subprocess.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/taskgroups.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/tasks.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/threads.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/transports.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/trsock.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/unix_events.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/windows_events.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncio/windows_utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/asyncore.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/atexit.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/audioop.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/base64.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/bdb.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/binascii.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/binhex.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/bisect.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/builtins.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/bz2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/cProfile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/calendar.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/cgi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/cgitb.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/chunk.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/cmath.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/cmd.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/code.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/codecs.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/codeop.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/collections/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/collections/abc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/colorsys.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/compileall.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/concurrent/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/concurrent/futures/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/concurrent/futures/_base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/concurrent/futures/process.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/concurrent/futures/thread.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/configparser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/contextlib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/contextvars.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/copy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/copyreg.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/crypt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/csv.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/ctypes/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/ctypes/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/ctypes/wintypes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/curses/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/curses/ascii.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/curses/panel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/curses/textpad.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/dataclasses.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/datetime.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/dbm/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/dbm/dumb.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/dbm/gnu.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/dbm/ndbm.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/decimal.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/difflib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/dis.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/archive_util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/bcppcompiler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/ccompiler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/cmd.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/bdist.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/bdist_dumb.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/bdist_msi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/bdist_packager.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/bdist_rpm.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/bdist_wininst.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/build.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/build_clib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/build_ext.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/build_py.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/build_scripts.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/check.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/clean.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/config.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/install.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/install_data.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/install_egg_info.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/install_headers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/install_lib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/install_scripts.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/register.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/sdist.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/command/upload.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/config.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/core.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/cygwinccompiler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/debug.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/dep_util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/dir_util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/dist.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/errors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/extension.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/fancy_getopt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/file_util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/filelist.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/log.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/msvccompiler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/spawn.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/sysconfig.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/text_file.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/unixccompiler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/distutils/version.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/doctest.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/dummy_threading.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/_header_value_parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/base64mime.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/charset.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/contentmanager.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/encoders.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/errors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/feedparser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/generator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/header.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/headerregistry.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/iterators.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/message.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/mime/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/mime/application.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/mime/audio.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/mime/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/mime/image.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/mime/message.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/mime/multipart.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/mime/nonmultipart.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/mime/text.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/policy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/quoprimime.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/email/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/encodings/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/encodings/utf_8.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/encodings/utf_8_sig.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/ensurepip/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/enum.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/errno.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/faulthandler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/fcntl.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/filecmp.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/fileinput.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/fnmatch.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/formatter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/fractions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/ftplib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/functools.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/gc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/genericpath.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/getopt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/getpass.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/gettext.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/glob.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/graphlib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/grp.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/gzip.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/hashlib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/heapq.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/hmac.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/html/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/html/entities.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/html/parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/http/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/http/client.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/http/cookiejar.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/http/cookies.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/http/server.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/imaplib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/imghdr.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/imp.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/importlib/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/importlib/abc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/importlib/machinery.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/importlib/metadata/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/importlib/metadata/_meta.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/importlib/resources.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/importlib/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/inspect.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/io.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/ipaddress.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/itertools.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/json/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/json/decoder.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/json/encoder.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/json/tool.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/keyword.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/lib2to3/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/lib2to3/pgen2/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/lib2to3/pgen2/driver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/lib2to3/pgen2/grammar.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/lib2to3/pgen2/literals.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/lib2to3/pgen2/parse.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/lib2to3/pgen2/pgen.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/lib2to3/pgen2/token.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/lib2to3/pgen2/tokenize.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/lib2to3/pygram.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/lib2to3/pytree.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/lib2to3/refactor.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/linecache.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/locale.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/logging/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/logging/config.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/logging/handlers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/lzma.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/macpath.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/macurl2path.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/mailbox.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/mailcap.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/marshal.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/math.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/mimetypes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/mmap.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/modulefinder.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/msilib/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/msilib/schema.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/msilib/sequence.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/msilib/text.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/msvcrt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/multiprocessing/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/multiprocessing/connection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/multiprocessing/context.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/multiprocessing/dummy/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/multiprocessing/dummy/connection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/multiprocessing/managers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/multiprocessing/pool.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/multiprocessing/process.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/multiprocessing/queues.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/multiprocessing/reduction.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/multiprocessing/shared_memory.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/multiprocessing/sharedctypes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/multiprocessing/spawn.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/multiprocessing/synchronize.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/netrc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/nis.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/nntplib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/ntpath.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/nturl2path.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/numbers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/opcode.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/operator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/optparse.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/os/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/os/path.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/ossaudiodev.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/pathlib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/pdb.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/pickle.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/pickletools.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/pipes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/pkgutil.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/platform.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/plistlib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/poplib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/posix.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/posixpath.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/pprint.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/profile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/pstats.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/pty.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/pwd.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/py_compile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/pyclbr.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/pydoc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/pydoc_data/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/pydoc_data/topics.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/pyexpat/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/pyexpat/errors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/pyexpat/model.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/queue.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/quopri.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/random.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/re.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/readline.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/reprlib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/resource.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/rlcompleter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/runpy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/sched.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/secrets.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/select.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/selectors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/shelve.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/shlex.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/shutil.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/signal.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/site.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/smtpd.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/smtplib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/sndhdr.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/socket.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/socketserver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/spwd.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/sqlite3/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/sqlite3/dbapi2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/sre_compile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/sre_constants.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/sre_parse.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/ssl.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/stat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/statistics.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/string.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/stringprep.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/struct.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/subprocess.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/sunau.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/symbol.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/symtable.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/sys.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/sysconfig.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/syslog.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tabnanny.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tarfile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/telnetlib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tempfile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/termios.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/textwrap.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/this.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/threading.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/time.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/timeit.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tkinter/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tkinter/colorchooser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tkinter/commondialog.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tkinter/constants.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tkinter/dialog.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tkinter/dnd.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tkinter/filedialog.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tkinter/font.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tkinter/messagebox.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tkinter/scrolledtext.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tkinter/simpledialog.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tkinter/tix.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tkinter/ttk.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/token.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tokenize.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tomllib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/trace.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/traceback.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tracemalloc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/tty.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/turtle.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/types.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/typing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/typing_extensions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/unicodedata.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/unittest/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/unittest/_log.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/unittest/async_case.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/unittest/case.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/unittest/loader.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/unittest/main.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/unittest/mock.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/unittest/result.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/unittest/runner.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/unittest/signals.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/unittest/suite.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/unittest/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/urllib/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/urllib/error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/urllib/parse.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/urllib/request.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/urllib/response.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/urllib/robotparser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/uu.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/uuid.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/venv/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/warnings.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/wave.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/weakref.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/webbrowser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/winreg.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/winsound.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/wsgiref/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/wsgiref/handlers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/wsgiref/headers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/wsgiref/simple_server.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/wsgiref/types.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/wsgiref/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/wsgiref/validate.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xdrlib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/dom/NodeFilter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/dom/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/dom/domreg.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/dom/expatbuilder.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/dom/minicompat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/dom/minidom.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/dom/pulldom.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/dom/xmlbuilder.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/etree/ElementInclude.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/etree/ElementPath.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/etree/ElementTree.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/etree/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/etree/cElementTree.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/parsers/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/parsers/expat/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/parsers/expat/errors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/parsers/expat/model.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/sax/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/sax/handler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/sax/saxutils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xml/sax/xmlreader.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xmlrpc/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xmlrpc/client.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xmlrpc/server.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/xxlimited.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/zipapp.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/zipfile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/zipimport.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/zlib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stdlib/zoneinfo/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/DateTimeRange/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/DateTimeRange/datetimerange/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Deprecated/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Deprecated/deprecated/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Deprecated/deprecated/classic.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Deprecated/deprecated/sphinx.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Flask-Cors/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Flask-Cors/flask_cors/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Flask-Cors/flask_cors/core.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Flask-Cors/flask_cors/decorator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Flask-Cors/flask_cors/extension.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Flask-Cors/flask_cors/version.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Flask-SQLAlchemy/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Flask-SQLAlchemy/flask_sqlalchemy/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Flask-SQLAlchemy/flask_sqlalchemy/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/JACK-Client/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/JACK-Client/jack/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/__meta__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/blockparser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/blockprocessors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/core.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/abbr.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/admonition.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/attr_list.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/codehilite.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/def_list.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/extra.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/fenced_code.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/footnotes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/legacy_attrs.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/legacy_em.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/md_in_html.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/meta.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/nl2br.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/sane_lists.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/smarty.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/tables.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/toc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/extensions/wikilinks.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/inlinepatterns.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/pep562.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/postprocessors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/preprocessors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/serializers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/treeprocessors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Markdown/markdown/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/BdfFontFile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/BlpImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/BmpImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/BufrStubImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ContainerIO.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/CurImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/DcxImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/DdsImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/EpsImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ExifTags.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/FitsStubImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/FliImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/FontFile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/FpxImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/FtexImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/GbrImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/GdImageFile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/GifImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/GimpGradientFile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/GimpPaletteFile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/GribStubImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/Hdf5StubImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/IcnsImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/IcoImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/Image.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageChops.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageCms.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageColor.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageDraw.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageDraw2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageEnhance.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageFile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageFilter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageFont.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageGrab.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageMath.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageMode.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageMorph.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageOps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImagePalette.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImagePath.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageQt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageSequence.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageShow.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageStat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageTk.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageTransform.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImageWin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/ImtImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/IptcImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/Jpeg2KImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/JpegImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/JpegPresets.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/McIdasImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/MicImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/MpegImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/MpoImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/MspImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/PSDraw.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/PaletteFile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/PalmImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/PcdImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/PcfFontFile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/PcxImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/PdfImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/PdfParser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/PixarImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/PngImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/PpmImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/PsdImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/PyAccess.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/SgiImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/SpiderImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/SunImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/TarIO.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/TgaImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/TiffImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/TiffTags.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/WalImageFile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/WebPImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/WmfImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/XVThumbImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/XbmImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/XpmImagePlugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/_binary.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/_imaging.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/_tkinter_finder.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/_util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/_version.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pillow/PIL/features.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyMySQL/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyMySQL/pymysql/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyMySQL/pymysql/charset.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyMySQL/pymysql/connections.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyMySQL/pymysql/constants/CLIENT.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyMySQL/pymysql/constants/COMMAND.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyMySQL/pymysql/constants/ER.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyMySQL/pymysql/constants/FIELD_TYPE.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyMySQL/pymysql/constants/FLAG.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyMySQL/pymysql/constants/SERVER_STATUS.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyMySQL/pymysql/constants/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyMySQL/pymysql/converters.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyMySQL/pymysql/cursors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyMySQL/pymysql/err.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyMySQL/pymysql/times.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyMySQL/pymysql/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/yaml/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/yaml/_yaml.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/yaml/composer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/yaml/constructor.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/yaml/cyaml.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/yaml/dumper.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/yaml/emitter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/yaml/error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/yaml/events.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/yaml/loader.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/yaml/nodes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/yaml/parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/yaml/reader.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/yaml/representer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/yaml/resolver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/yaml/scanner.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/yaml/serializer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/PyYAML/yaml/tokens.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/cmdline.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/console.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/filter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/filters/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/formatter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/formatters/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/formatters/_mapping.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/formatters/bbcode.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/formatters/html.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/formatters/img.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/formatters/irc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/formatters/latex.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/formatters/other.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/formatters/pangomarkup.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/formatters/rtf.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/formatters/svg.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/formatters/terminal.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/formatters/terminal256.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/lexer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/lexers/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/modeline.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/plugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/regexopt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/scanner.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/sphinxext.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/style.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/styles/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/token.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/unistring.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Pygments/pygments/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/cimmutabledict.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/connectors/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/connectors/mxodbc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/connectors/pyodbc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/cresultproxy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/databases/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dbapi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/firebird/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/firebird/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/firebird/fdb.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/firebird/kinterbasdb.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mssql/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mssql/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mssql/information_schema.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mssql/json.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mssql/mxodbc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mssql/provision.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mssql/pymssql.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mssql/pyodbc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/aiomysql.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/asyncmy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/cymysql.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/dml.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/enumerated.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/expression.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/json.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/mariadb.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/mariadbconnector.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/mysqlconnector.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/mysqldb.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/oursql.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/provision.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/pymysql.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/pyodbc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/reflection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/reserved_words.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/types.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/oracle/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/oracle/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/oracle/cx_oracle.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/oracle/provision.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/array.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/asyncpg.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/dml.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/ext.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/hstore.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/json.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/pg8000.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/provision.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/psycopg2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/psycopg2cffi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/pygresql.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/pypostgresql.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/ranges.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sqlite/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sqlite/aiosqlite.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sqlite/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sqlite/dml.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sqlite/json.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sqlite/provision.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sqlite/pysqlcipher.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sqlite/pysqlite.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sybase/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sybase/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sybase/mxodbc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sybase/pyodbc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sybase/pysybase.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/characteristics.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/create.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/cursor.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/default.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/events.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/interfaces.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/mock.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/reflection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/result.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/row.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/strategies.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/url.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/event/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/event/api.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/event/attr.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/event/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/event/legacy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/event/registry.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/events.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/exc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/associationproxy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/asyncio/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/asyncio/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/asyncio/engine.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/asyncio/events.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/asyncio/exc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/asyncio/result.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/asyncio/scoping.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/asyncio/session.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/automap.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/baked.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/compiler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/declarative/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/declarative/extensions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/horizontal_shard.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/hybrid.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/indexable.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/instrumentation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/mutable.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/mypy/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/mypy/apply.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/mypy/decl_class.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/mypy/infer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/mypy/names.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/mypy/plugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/mypy/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/orderinglist.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/serializer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/future/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/future/engine.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/future/orm/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/inspection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/log.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/attributes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/clsregistry.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/collections.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/context.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/decl_api.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/decl_base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/dependency.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/descriptor_props.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/dynamic.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/evaluator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/events.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/exc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/identity.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/instrumentation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/interfaces.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/loading.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/mapper.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/path_registry.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/persistence.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/properties.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/query.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/relationships.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/scoping.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/session.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/state.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/strategies.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/strategy_options.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/sync.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/unitofwork.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/pool/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/pool/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/pool/dbapi_proxy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/pool/events.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/pool/impl.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/processors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/schema.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/annotation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/coercions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/compiler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/crud.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/ddl.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/default_comparator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/dml.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/elements.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/events.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/expression.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/functions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/lambdas.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/naming.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/operators.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/roles.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/schema.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/selectable.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/sqltypes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/traversals.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/type_api.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/visitors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/assertions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/assertsql.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/asyncio.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/config.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/engines.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/entities.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/exclusions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/fixtures.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/mock.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/pickleable.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/plugin/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/plugin/bootstrap.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/plugin/plugin_base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/plugin/pytestplugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/plugin/reinvent_fixtures_py2k.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/profiling.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/provision.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/requirements.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/schema.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/warnings.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/types.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/_collections.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/_compat_py3k.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/_concurrency_py3k.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/_preloaded.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/compat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/concurrency.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/deprecations.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/langhelpers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/queue.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/topological.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Send2Trash/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Send2Trash/send2trash/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Send2Trash/send2trash/compat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Send2Trash/send2trash/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/Send2Trash/send2trash/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aiofiles/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aiofiles/aiofiles/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aiofiles/aiofiles/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aiofiles/aiofiles/os.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aiofiles/aiofiles/ospath.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/binary.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/text.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/annoy/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/annoy/annoy/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/appdirs/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/appdirs/appdirs.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/atomicwrites/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/atomicwrites/atomicwrites/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/async_context.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/async_recorder.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/context.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/daemon_config.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/emitters/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/emitters/udp_emitter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/exceptions/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/exceptions/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/lambda_launcher.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/default_dynamic_naming.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/dummy_entities.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/entity.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/facade_segment.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/http.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/noop_traceid.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/segment.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/subsegment.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/throwable.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/trace_header.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/traceid.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/patcher.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/ec2_plugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/ecs_plugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/elasticbeanstalk_plugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/recorder.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/connector.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/reservoir.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/sampler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/sampling_rule.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/reservoir.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/rule_cache.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/rule_poller.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/sampler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/sampling_rule.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/target_poller.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/streaming/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/streaming/default_streaming.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/atomic_counter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/compat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/conversion.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/search_pattern.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/stacktrace.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/sdk_config.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/version.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/_compat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/core.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/dates.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/languages.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/lists.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/localedata.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/localtime/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/localtime/_unix.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/localtime/_win32.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/messages/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/messages/catalog.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/messages/checkers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/messages/extract.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/messages/frontend.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/messages/jslexer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/messages/mofile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/messages/plurals.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/messages/pofile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/numbers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/plural.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/support.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/units.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/babel/babel/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/backports.ssl_match_hostname/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/backports.ssl_match_hostname/backports/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/backports.ssl_match_hostname/backports/ssl_match_hostname/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/beautifulsoup4/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/beautifulsoup4/bs4/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/beautifulsoup4/bs4/builder/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/beautifulsoup4/bs4/builder/_html5lib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/beautifulsoup4/bs4/builder/_htmlparser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/beautifulsoup4/bs4/builder/_lxml.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/beautifulsoup4/bs4/dammit.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/beautifulsoup4/bs4/diagnose.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/beautifulsoup4/bs4/element.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/beautifulsoup4/bs4/formatter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/bleach/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/bleach/bleach/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/bleach/bleach/callbacks.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/bleach/bleach/css_sanitizer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/bleach/bleach/html5lib_shim.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/bleach/bleach/linkifier.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/bleach/bleach/sanitizer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/auth.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/auth_handler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/compat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/connection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/ec2/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/elb/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/exception.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/kms/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/kms/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/kms/layer1.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/plugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/regioninfo.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/s3/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/s3/acl.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/s3/bucket.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/s3/bucketlistresultset.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/s3/bucketlogging.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/s3/connection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/s3/cors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/s3/deletemarker.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/s3/key.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/s3/keyfile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/s3/lifecycle.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/s3/multidelete.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/s3/multipart.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/s3/prefix.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/s3/tagging.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/s3/user.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/s3/website.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/boto/boto/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/account_updater_daily_report.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/ach_mandate.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/add_on.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/add_on_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/address.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/address_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/amex_express_checkout_card.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/android_pay_card.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/apple_pay_card.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/apple_pay_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/apple_pay_options.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/attribute_getter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/authorization_adjustment.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/bin_data.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/braintree_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/client_token.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/client_token_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/configuration.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/connected_merchant_paypal_status_changed.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/connected_merchant_status_transitioned.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/credentials_parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/credit_card.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/credit_card_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/credit_card_verification.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/credit_card_verification_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/credit_card_verification_search.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/customer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/customer_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/customer_search.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/descriptor.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/disbursement.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/disbursement_detail.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/discount.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/discount_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/dispute.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/dispute_details/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/dispute_details/evidence.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/dispute_details/paypal_message.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/dispute_details/status_history.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/dispute_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/dispute_search.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/document_upload.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/document_upload_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/environment.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/error_codes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/error_result.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/errors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/europe_bank_account.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/authentication_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/authorization_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/braintree_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/configuration_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/gateway_timeout_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/http/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/http/connection_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/http/invalid_response_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/http/timeout_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/invalid_challenge_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/invalid_signature_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/not_found_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/request_timeout_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/server_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/service_unavailable_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/too_many_requests_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/unexpected_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/exceptions/upgrade_required_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/facilitated_details.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/facilitator_details.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/granted_payment_instrument_update.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/iban_bank_account.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/ids_search.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/local_payment.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/local_payment_completed.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/local_payment_reversed.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/masterpass_card.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/merchant.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/merchant_account/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/merchant_account/address_details.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/merchant_account/business_details.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/merchant_account/funding_details.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/merchant_account/individual_details.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/merchant_account/merchant_account.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/merchant_account_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/merchant_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/modification.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/oauth_access_revocation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/oauth_credentials.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/oauth_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/paginated_collection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/paginated_result.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/partner_merchant.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/payment_instrument_type.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/payment_method.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/payment_method_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/payment_method_nonce.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/payment_method_nonce_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/payment_method_parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/paypal_account.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/paypal_account_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/paypal_here.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/plan.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/plan_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/processor_response_types.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/resource.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/resource_collection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/revoked_payment_method_metadata.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/risk_data.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/samsung_pay_card.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/search.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/settlement_batch_summary.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/settlement_batch_summary_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/signature_service.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/status_event.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/subscription.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/subscription_details.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/subscription_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/subscription_search.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/subscription_status_event.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/successful_result.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/testing_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/three_d_secure_info.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/transaction.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/transaction_amounts.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/transaction_details.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/transaction_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/transaction_line_item.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/transaction_line_item_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/transaction_search.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/unknown_payment_method.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/us_bank_account.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/us_bank_account_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/us_bank_account_verification.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/us_bank_account_verification_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/us_bank_account_verification_search.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/util/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/util/constants.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/util/crypto.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/util/datetime_parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/util/generator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/util/graphql_client.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/util/http.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/util/parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/util/xml_util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/validation_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/validation_error_collection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/venmo_account.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/version.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/visa_checkout_card.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/webhook_notification.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/webhook_notification_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/webhook_testing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/braintree/braintree/webhook_testing_gateway.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cachetools/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cachetools/cachetools/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cachetools/cachetools/func.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cachetools/cachetools/keys.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/caldav/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/caldav/caldav/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/caldav/caldav/davclient.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/caldav/caldav/elements/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/caldav/caldav/elements/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/caldav/caldav/elements/cdav.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/caldav/caldav/elements/dav.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/caldav/caldav/elements/ical.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/caldav/caldav/lib/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/caldav/caldav/lib/error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/caldav/caldav/lib/namespace.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/caldav/caldav/lib/url.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/caldav/caldav/lib/vcal.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/caldav/caldav/objects.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/certifi/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/certifi/certifi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/characteristic/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/characteristic/characteristic/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/chardet/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/chardet/chardet/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/chardet/chardet/enums.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/chardet/chardet/langbulgarianmodel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/chardet/chardet/langcyrillicmodel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/chardet/chardet/langgreekmodel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/chardet/chardet/langhebrewmodel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/chardet/chardet/langhungarianmodel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/chardet/chardet/langthaimodel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/chardet/chardet/langturkishmodel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/chardet/chardet/universaldetector.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/chardet/chardet/version.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/chevron/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/chevron/chevron/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/chevron/chevron/main.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/chevron/chevron/metadata.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/chevron/chevron/renderer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/chevron/chevron/tokenizer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/click-spinner/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/click-spinner/click_spinner/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/colorama/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/colorama/colorama/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/colorama/colorama/ansi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/colorama/colorama/ansitowin32.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/colorama/colorama/initialise.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/colorama/colorama/win32.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/colorama/colorama/winterm.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/commonmark/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/commonmark/commonmark/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/commonmark/commonmark/blocks.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/commonmark/commonmark/cmark.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/commonmark/commonmark/common.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/commonmark/commonmark/dump.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/commonmark/commonmark/entitytrans.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/commonmark/commonmark/inlines.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/commonmark/commonmark/main.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/commonmark/commonmark/node.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/commonmark/commonmark/normalize_reference.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/commonmark/commonmark/render/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/commonmark/commonmark/render/html.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/commonmark/commonmark/render/renderer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/commonmark/commonmark/render/rst.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/contextvars/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/contextvars/contextvars.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/croniter/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/croniter/croniter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/fernet.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/backends/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/backends/interfaces.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/bindings/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/bindings/openssl/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/bindings/openssl/binding.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/dh.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/dsa.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/ec.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/ed25519.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/ed448.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/padding.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/rsa.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/x25519.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/x448.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/ciphers/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/ciphers/aead.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/ciphers/algorithms.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/ciphers/modes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/cmac.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/constant_time.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/hashes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/hmac.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/kdf/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/kdf/concatkdf.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/kdf/hkdf.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/kdf/kbkdf.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/kdf/pbkdf2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/kdf/scrypt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/kdf/x963kdf.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/keywrap.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/padding.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/poly1305.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/serialization/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/serialization/pkcs12.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/serialization/pkcs7.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/twofactor/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/twofactor/hotp.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/twofactor/totp.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/x509/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/x509/extensions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/cryptography/cryptography/x509/oid.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dataclasses/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dataclasses/dataclasses.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/calendars/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/calendars/hijri.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/calendars/hijri_parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/calendars/jalali.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/calendars/jalali_parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/conf.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/data/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/data/languages_info.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/date.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/date_parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/freshness_date_parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/languages/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/languages/dictionary.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/languages/loader.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/languages/locale.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/languages/validation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/search/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/search/detection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/search/search.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/search/text_detection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/timezone_parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/timezones.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/utils/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser/utils/strptime.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser_data/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/dateparser/dateparser_data/settings.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/decorator/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/decorator/decorator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docopt/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docopt/docopt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/core.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/examples.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/frontend.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/io.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/languages/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/nodes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/parsers/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/parsers/null.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/parsers/recommonmark_wrapper.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/parsers/rst/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/admonitions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/body.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/html.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/images.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/misc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/parts.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/references.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/tables.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/parsers/rst/roles.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/parsers/rst/states.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/readers/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/readers/doctree.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/readers/pep.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/readers/standalone.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/statemachine.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/transforms/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/utils/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/writers/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/writers/docutils_xml.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/writers/html4css1.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/writers/html5_polyglot.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/writers/latex2e.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/writers/manpage.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/writers/null.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/writers/odf_odt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/writers/pep_html.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/writers/pseudoxml.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/writers/s5_html.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/docutils/docutils/writers/xetex.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/editdistance/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/editdistance/editdistance.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/emoji/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/emoji/emoji/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/emoji/emoji/core.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/emoji/emoji/unicode_codes/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/emoji/emoji/unicode_codes/en.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/emoji/emoji/unicode_codes/es.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/emoji/emoji/unicode_codes/it.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/emoji/emoji/unicode_codes/pt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/entrypoints/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/entrypoints/entrypoints.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/filelock/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/filelock/filelock/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/first/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/first/first.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-2020/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-2020/flake8_2020.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-bugbear/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-bugbear/bugbear.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-builtins/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-builtins/flake8_builtins.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-docstrings/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-docstrings/flake8_docstrings.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-plugin-utils/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-plugin-utils/flake8_plugin_utils/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-plugin-utils/flake8_plugin_utils/plugin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-plugin-utils/flake8_plugin_utils/utils/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-plugin-utils/flake8_plugin_utils/utils/assertions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-plugin-utils/flake8_plugin_utils/utils/constants.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-plugin-utils/flake8_plugin_utils/utils/equiv_nodes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-rst-docstrings/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-rst-docstrings/flake8_rst_docstrings.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-simplify/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-typing-imports/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/flake8-typing-imports/flake8_typing_imports.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/fpdf2/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/fpdf2/fpdf/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/fpdf2/fpdf/actions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/fpdf2/fpdf/deprecation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/fpdf2/fpdf/errors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/fpdf2/fpdf/fonts.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/fpdf2/fpdf/fpdf.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/fpdf2/fpdf/html.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/fpdf2/fpdf/image_parsing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/fpdf2/fpdf/outline.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/fpdf2/fpdf/recorder.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/fpdf2/fpdf/structure_tree.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/fpdf2/fpdf/syntax.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/fpdf2/fpdf/template.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/fpdf2/fpdf/transitions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/fpdf2/fpdf/ttfonts.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/fpdf2/fpdf/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/freezegun/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/freezegun/freezegun/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/freezegun/freezegun/api.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/frozendict/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/frozendict/frozendict.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_batch.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_cache.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_datastore_api.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_datastore_query.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_eventloop.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_options.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_transaction.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/blobstore.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/client.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/context.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/django_middleware.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/global_cache.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/key.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/metadata.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/model.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/msgprop.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/polymodel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/query.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/stats.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/tasklets.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/hdbcli/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/hdbcli/hdbcli/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/hdbcli/hdbcli/dbapi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/hdbcli/hdbcli/resultrow.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/_ihatexml.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/_inputstream.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/_tokenizer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/_trie/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/_trie/_base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/_trie/py.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/_utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/constants.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/filters/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/filters/alphabeticalattributes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/filters/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/filters/inject_meta_charset.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/filters/lint.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/filters/optionaltags.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/filters/sanitizer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/filters/whitespace.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/html5parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/serializer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/treeadapters/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/treeadapters/genshi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/treeadapters/sax.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/dom.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/etree.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/etree_lxml.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/dom.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/etree.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/etree_lxml.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/genshi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/httplib2/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/httplib2/httplib2/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/httplib2/httplib2/auth.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/httplib2/httplib2/certs.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/httplib2/httplib2/error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/httplib2/httplib2/iri2uri.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/httplib2/httplib2/socks.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/humanfriendly/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/humanfriendly/humanfriendly/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/humanfriendly/humanfriendly/case.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/humanfriendly/humanfriendly/cli.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/humanfriendly/humanfriendly/compat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/humanfriendly/humanfriendly/decorators.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/humanfriendly/humanfriendly/deprecation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/humanfriendly/humanfriendly/prompts.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/humanfriendly/humanfriendly/sphinx.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/humanfriendly/humanfriendly/tables.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/humanfriendly/humanfriendly/terminal/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/humanfriendly/humanfriendly/terminal/html.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/humanfriendly/humanfriendly/terminal/spinners.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/humanfriendly/humanfriendly/testing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/humanfriendly/humanfriendly/text.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/humanfriendly/humanfriendly/usage.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/collection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/completion/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/completion/complete.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/config.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/context.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/env.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/executor.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/loader.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/main.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/parser/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/parser/argument.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/parser/context.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/parser/parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/program.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/runners.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/tasks.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/terminals.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/invoke/invoke/watchers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jmespath/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jmespath/jmespath/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jmespath/jmespath/ast.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jmespath/jmespath/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jmespath/jmespath/functions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jmespath/jmespath/lexer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jmespath/jmespath/parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jmespath/jmespath/visitor.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jsonschema/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jsonschema/jsonschema/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jsonschema/jsonschema/_format.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jsonschema/jsonschema/_legacy_validators.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jsonschema/jsonschema/_reflect.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jsonschema/jsonschema/_types.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jsonschema/jsonschema/_utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jsonschema/jsonschema/_validators.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jsonschema/jsonschema/cli.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jsonschema/jsonschema/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jsonschema/jsonschema/protocols.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/jsonschema/jsonschema/validators.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/abstract/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/abstract/attrDef.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/abstract/attribute.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/abstract/cursor.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/abstract/entry.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/abstract/objectDef.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/core/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/core/connection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/core/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/core/pooling.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/core/rdns.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/core/results.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/core/server.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/core/timezone.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/core/tls.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/core/usage.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/addMembersToGroups.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/dirSync.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/modifyPassword.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/persistentSearch.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/removeMembersFromGroups.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/unlockAccount.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/addMembersToGroups.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/checkGroupsMemberships.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/endTransaction.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/getBindDn.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/listReplicas.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/nmasGetUniversalPassword.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/nmasSetUniversalPassword.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/partition_entry_count.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/removeMembersFromGroups.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/replicaInfo.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/startTransaction.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/operation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/PagedSearch.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/PersistentSearch.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/modifyPassword.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/whoAmI.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/operation/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/operation/abandon.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/operation/add.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/operation/bind.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/operation/compare.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/operation/delete.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/operation/extended.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/operation/modify.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/operation/modifyDn.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/operation/search.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/operation/unbind.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/controls.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/convert.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/formatters.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/standard.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/validators.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/microsoft.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/novell.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/oid.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/persistentSearch.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc2696.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc2849.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc3062.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc4511.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc4512.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc4527.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/digestMd5.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/external.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/kerberos.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/plain.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/sasl.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/ad2012R2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/ds389.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/edir888.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/edir914.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/slapd24.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/strategy/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/strategy/asyncStream.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/strategy/asynchronous.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/strategy/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/strategy/ldifProducer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/strategy/mockAsync.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/strategy/mockBase.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/strategy/mockSync.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/strategy/restartable.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/strategy/reusable.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/strategy/safeRestartable.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/strategy/safeSync.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/strategy/sync.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/utils/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/utils/asn1.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/utils/ciDict.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/utils/config.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/utils/conv.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/utils/dn.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/utils/hashed.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/utils/log.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/utils/ntlm.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/utils/port_validators.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/utils/repr.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/utils/tls_backport.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/utils/uri.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ldap3/ldap3/version.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mock/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mock/mock/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mock/mock/mock.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mypy-extensions/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mypy-extensions/mypy_extensions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mysqlclient/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mysqlclient/MySQLdb/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mysqlclient/MySQLdb/_exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mysqlclient/MySQLdb/_mysql.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mysqlclient/MySQLdb/connections.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/CLIENT.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/CR.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/ER.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/FIELD_TYPE.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/FLAG.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mysqlclient/MySQLdb/converters.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mysqlclient/MySQLdb/cursors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mysqlclient/MySQLdb/release.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/mysqlclient/MySQLdb/times.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/common.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/access_token.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/authorization.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/pre_configured.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/request_token.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/resource.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/signature_only.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/errors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/parameters.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/request_validator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/signature.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/backend_application.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/legacy_application.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/mobile_application.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/service_application.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/web_application.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/authorization.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/introspect.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/metadata.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/pre_configured.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/resource.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/revocation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/token.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/errors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/authorization_code.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/client_credentials.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/implicit.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/refresh_token.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/resource_owner_password_credentials.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/parameters.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/request_validator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/tokens.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/openid/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/endpoints/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/endpoints/pre_configured.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/endpoints/userinfo.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/authorization_code.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/dispatchers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/hybrid.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/implicit.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/request_validator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/tokens.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/signals.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/oauthlib/oauthlib/uri_validate.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/_constants.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/cell/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/cell/_writer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/cell/cell.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/cell/read_only.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/cell/text.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/_3d.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/_chart.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/area_chart.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/axis.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/bar_chart.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/bubble_chart.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/chartspace.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/data_source.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/descriptors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/error_bar.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/label.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/layout.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/legend.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/line_chart.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/marker.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/picture.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/pie_chart.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/pivot.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/plotarea.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/print_settings.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/radar_chart.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/reader.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/reference.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/scatter_chart.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/series.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/series_factory.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/shapes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/stock_chart.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/surface_chart.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/text.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/title.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/trendline.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chart/updown_bars.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/chartsheet.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/custom.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/properties.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/protection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/publish.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/relation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/views.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/comments/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/comments/author.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/comments/comment_sheet.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/comments/comments.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/comments/shape_writer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/compat/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/compat/abc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/compat/numbers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/compat/product.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/compat/singleton.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/compat/strings.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/excel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/namespace.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/nested.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/sequence.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/serialisable.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/slots.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/colors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/connector.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/drawing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/effect.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/fill.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/geometry.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/graphic.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/image.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/line.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/picture.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/properties.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/relation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/spreadsheet_drawing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/text.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/xdr.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/formatting/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/formatting/formatting.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/formatting/rule.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/formula/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/formula/tokenizer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/formula/translate.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/core.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/extended.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/interface.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/manifest.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/relationship.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/workbook.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/cache.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/fields.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/record.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/table.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/reader/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/reader/drawings.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/reader/excel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/reader/strings.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/reader/workbook.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/styles/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/styles/alignment.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/styles/borders.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/styles/builtins.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/styles/cell_style.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/styles/colors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/styles/differential.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/styles/fills.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/styles/fonts.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/styles/named_styles.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/styles/numbers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/styles/protection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/styles/proxy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/styles/styleable.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/styles/stylesheet.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/styles/table.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/utils/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/utils/bound_dictionary.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/utils/cell.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/utils/dataframe.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/utils/datetime.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/utils/escape.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/utils/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/utils/formulas.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/utils/indexed_list.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/utils/inference.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/utils/protection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/utils/units.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/_writer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/child.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/defined_name.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/external_link/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/external_link/external.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/external_reference.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/function_group.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/properties.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/protection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/smart_tags.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/views.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/web.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/workbook.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_read_only.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_reader.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_write_only.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_writer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/cell_range.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/cell_watch.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/controls.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/copier.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/custom.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/datavalidation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/dimensions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/drawing.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/errors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/filters.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/header_footer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/hyperlink.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/merge.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/ole.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/page.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/pagebreak.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/picture.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/properties.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/protection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/related.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/scenario.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/smart_tag.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/table.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/views.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/worksheet.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/writer/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/writer/excel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/writer/theme.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/xml/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/xml/constants.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/openpyxl/openpyxl/xml/functions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/ext/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/ext/tags.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/harness/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/harness/api_check.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/harness/scope_check.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/logs.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/binary_propagator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/context.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/propagator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/span.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/text_propagator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/tracer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/propagation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/scope.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/scope_manager.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/asyncio.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/constants.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/contextvars.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/gevent.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/tornado.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/span.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/tags.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/opentracing/opentracing/tracer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/_version.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/_winapi.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/agent.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/auth_handler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/ber.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/buffered_pipe.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/channel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/client.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/common.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/compress.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/config.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/dsskey.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/ecdsakey.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/ed25519key.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/file.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/hostkeys.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/kex_curve25519.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/kex_ecdh_nist.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/kex_gex.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/kex_group1.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/kex_group14.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/kex_group16.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/kex_gss.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/message.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/packet.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/pipe.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/pkey.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/primes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/proxy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/py3compat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/rsakey.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/server.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/sftp.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/sftp_attr.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/sftp_client.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/sftp_file.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/sftp_handle.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/sftp_server.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/sftp_si.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/ssh_exception.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/ssh_gss.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/transport.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/paramiko/paramiko/win_pageant.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/parsimonious/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/parsimonious/parsimonious/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/parsimonious/parsimonious/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/parsimonious/parsimonious/expressions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/parsimonious/parsimonious/grammar.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/parsimonious/parsimonious/nodes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/parsimonious/parsimonious/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/apache.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/apps.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/context.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/crypto/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/crypto/_blowfish/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/crypto/_blowfish/_gen_files.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/crypto/_blowfish/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/crypto/_blowfish/unrolled.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/crypto/_md4.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/crypto/des.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/crypto/digest.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/crypto/scrypt/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/crypto/scrypt/_builtin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/crypto/scrypt/_gen_files.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/crypto/scrypt/_salsa.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/exc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/ext/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/ext/django/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/ext/django/models.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/ext/django/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/argon2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/bcrypt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/cisco.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/des_crypt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/digests.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/django.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/fshp.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/ldap_digests.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/md5_crypt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/misc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/mssql.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/mysql.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/oracle.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/pbkdf2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/phpass.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/postgres.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/roundup.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/scram.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/scrypt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/sha1_crypt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/sha2_crypt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/sun_md5_crypt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/handlers/windows.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/hash.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/hosts.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/ifc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/pwd.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/registry.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/totp.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/utils/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/utils/binary.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/utils/compat/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/utils/compat/_ordered_dict.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/utils/decor.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/utils/des.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/utils/handlers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/utils/md4.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/utils/pbkdf2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passlib/passlib/win32.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passpy/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passpy/passpy/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passpy/passpy/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passpy/passpy/store.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/passpy/passpy/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pep8-naming/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pep8-naming/pep8ext_naming.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/playsound/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/playsound/playsound.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/polib/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/polib/polib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/prettytable/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/prettytable/prettytable/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/prettytable/prettytable/prettytable.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/any_pb2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/api_pb2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/compiler/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/compiler/plugin_pb2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_pb2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_pool.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/duration_pb2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/empty_pb2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/field_mask_pb2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/internal/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/internal/api_implementation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/internal/containers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/internal/decoder.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/internal/encoder.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/internal/enum_type_wrapper.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/internal/extension_dict.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/internal/message_listener.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/internal/python_message.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/internal/type_checkers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/internal/well_known_types.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/internal/wire_format.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/json_format.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/message.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/message_factory.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/reflection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/service.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/source_context_pb2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/struct_pb2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/symbol_database.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/text_format.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/timestamp_pb2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/type_pb2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/util/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/protobuf/google/protobuf/wrappers_pb2.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psutil/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psutil/psutil/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psutil/psutil/_common.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psutil/psutil/_compat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psutil/psutil/_psbsd.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psutil/psutil/_pslinux.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psutil/psutil/_psosx.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psutil/psutil/_psposix.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psutil/psutil/_psutil_linux.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psutil/psutil/_psutil_posix.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psutil/psutil/_psutil_windows.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psutil/psutil/_pswindows.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psycopg2/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psycopg2/psycopg2/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psycopg2/psycopg2/_ipaddress.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psycopg2/psycopg2/_json.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psycopg2/psycopg2/_psycopg.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psycopg2/psycopg2/_range.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psycopg2/psycopg2/errorcodes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psycopg2/psycopg2/errors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psycopg2/psycopg2/extensions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psycopg2/psycopg2/extras.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psycopg2/psycopg2/pool.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psycopg2/psycopg2/sql.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/psycopg2/psycopg2/tz.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyOpenSSL/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyOpenSSL/OpenSSL/SSL.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyOpenSSL/OpenSSL/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyOpenSSL/OpenSSL/crypto.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyRFC3339/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyRFC3339/pyrfc3339/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyRFC3339/pyrfc3339/generator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyRFC3339/pyrfc3339/parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyRFC3339/pyrfc3339/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyaudio/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyaudio/pyaudio.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pycurl/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pycurl/pycurl.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyfarmhash/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyfarmhash/farmhash.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyflakes/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyflakes/pyflakes/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyflakes/pyflakes/api.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyflakes/pyflakes/checker.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyflakes/pyflakes/messages.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyflakes/pyflakes/reporter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pynput/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pynput/pynput/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pynput/pynput/_info.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pynput/pynput/_util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pynput/pynput/keyboard/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pynput/pynput/keyboard/_base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pynput/pynput/keyboard/_dummy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pynput/pynput/mouse/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pynput/pynput/mouse/_base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pynput/pynput/mouse/_dummy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pysftp/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pysftp/pysftp/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pysftp/pysftp/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pysftp/pysftp/helpers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pytest-lazy-fixture/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pytest-lazy-fixture/pytest_lazyfixture.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-dateutil/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-dateutil/dateutil/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-dateutil/dateutil/_common.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-dateutil/dateutil/easter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-dateutil/dateutil/parser/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-dateutil/dateutil/parser/isoparser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-dateutil/dateutil/relativedelta.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-dateutil/dateutil/rrule.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-dateutil/dateutil/tz/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-dateutil/dateutil/tz/_common.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-dateutil/dateutil/tz/tz.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-dateutil/dateutil/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-gflags/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-gflags/gflags.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-jose/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-jose/jose/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-jose/jose/backends/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-jose/jose/backends/_asn1.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-jose/jose/backends/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-jose/jose/backends/cryptography_backend.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-jose/jose/backends/ecdsa_backend.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-jose/jose/backends/native.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-jose/jose/backends/rsa_backend.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-jose/jose/constants.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-jose/jose/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-jose/jose/jwe.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-jose/jose/jwk.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-jose/jose/jws.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-jose/jose/jwt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-jose/jose/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-nmap/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-nmap/nmap/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-nmap/nmap/nmap.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-slugify/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-slugify/slugify/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-slugify/slugify/slugify.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/python-slugify/slugify/special.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pytz/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pytz/pytz/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pytz/pytz/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pytz/pytz/tzinfo.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyvmomi/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyvmomi/pyVmomi/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyvmomi/pyVmomi/vim/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyvmomi/pyVmomi/vim/event.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyvmomi/pyVmomi/vim/fault.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyvmomi/pyVmomi/vim/option.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyvmomi/pyVmomi/vim/view.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyvmomi/pyVmomi/vmodl/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyvmomi/pyVmomi/vmodl/fault.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/pyvmomi/pyVmomi/vmodl/query.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/client.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/cluster.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/bf/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/bf/commands.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/bf/info.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/cluster.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/core.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/graph/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/graph/commands.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/graph/edge.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/graph/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/graph/node.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/graph/path.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/graph/query_result.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/helpers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/json/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/json/commands.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/json/decoders.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/json/path.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/redismodules.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/search/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/search/aggregation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/search/commands.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/search/query.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/search/result.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/sentinel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/timeseries/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/timeseries/commands.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/timeseries/info.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/commands/timeseries/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/connection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/crc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/lock.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/ocsp.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/retry.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/sentinel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/redis/redis/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/regex/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/regex/regex/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/regex/regex/_regex.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/regex/regex/_regex_core.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/regex/regex/regex.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/requests/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/requests/requests/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/requests/requests/adapters.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/requests/requests/api.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/requests/requests/auth.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/requests/requests/compat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/requests/requests/cookies.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/requests/requests/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/requests/requests/hooks.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/requests/requests/models.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/requests/requests/packages/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/requests/requests/sessions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/requests/requests/status_codes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/requests/requests/structures.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/requests/requests/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/retry/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/retry/retry/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/retry/retry/api.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/common/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/common/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/android/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/android/webdriver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/blackberry/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/blackberry/webdriver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/chrome/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/chrome/options.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/chrome/remote_connection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/chrome/service.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/chrome/webdriver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/action_chains.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/actions/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/actions/action_builder.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/actions/input_device.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/actions/interaction.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/actions/key_actions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/actions/key_input.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/actions/mouse_button.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/actions/pointer_actions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/actions/pointer_input.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/alert.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/by.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/desired_capabilities.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/html5/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/html5/application_cache.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/keys.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/proxy.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/service.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/touch_actions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/common/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/edge/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/edge/options.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/edge/service.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/edge/webdriver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/firefox/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/firefox/extension_connection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/firefox/firefox_binary.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/firefox/firefox_profile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/firefox/options.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/firefox/remote_connection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/firefox/service.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/firefox/webdriver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/firefox/webelement.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/ie/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/ie/options.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/ie/service.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/ie/webdriver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/opera/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/opera/options.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/opera/webdriver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/phantomjs/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/phantomjs/service.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/phantomjs/webdriver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/remote/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/remote/command.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/remote/errorhandler.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/remote/file_detector.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/remote/mobile.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/remote/remote_connection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/remote/switch_to.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/remote/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/remote/webdriver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/remote/webelement.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/safari/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/safari/permissions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/safari/remote_connection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/safari/service.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/safari/webdriver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/support/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/support/abstract_event_listener.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/support/color.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/support/event_firing_webdriver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/support/events.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/support/expected_conditions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/support/select.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/support/ui.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/support/wait.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/webkitgtk/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/webkitgtk/options.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/webkitgtk/service.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/selenium/selenium/webdriver/webkitgtk/webdriver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/pkg_resources/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/pkg_resources/py31compat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/_deprecation_warning.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/archive_util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/build_meta.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/alias.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/bdist_egg.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/bdist_rpm.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/build_clib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/build_ext.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/build_py.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/develop.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/dist_info.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/easy_install.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/egg_info.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/install.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/install_egg_info.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/install_lib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/install_scripts.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/py36compat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/register.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/rotate.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/saveopts.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/sdist.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/setopt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/test.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/upload.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/command/upload_docs.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/config.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/dep_util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/depends.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/dist.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/errors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/extension.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/extern/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/glob.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/installer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/launch.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/lib2to3_ex.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/monkey.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/msvc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/namespaces.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/package_index.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/sandbox.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/unicode_utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/version.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/wheel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/setuptools/setuptools/windows_support.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/simplejson/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/simplejson/simplejson/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/simplejson/simplejson/decoder.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/simplejson/simplejson/encoder.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/simplejson/simplejson/errors.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/simplejson/simplejson/raw_json.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/simplejson/simplejson/scanner.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/singledispatch/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/singledispatch/singledispatch.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/BaseHTTPServer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/CGIHTTPServer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/SimpleHTTPServer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/_dummy_thread.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/_thread.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/builtins.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/cPickle.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/collections_abc.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/configparser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/copyreg.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/email_mime_base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/email_mime_multipart.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/email_mime_nonmultipart.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/email_mime_text.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/html_entities.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/html_parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/http_client.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/http_cookiejar.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/http_cookies.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/queue.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/reprlib.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/socketserver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/tkinter.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/tkinter_commondialog.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/tkinter_constants.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/tkinter_dialog.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/tkinter_filedialog.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/tkinter_tkfiledialog.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/tkinter_ttk.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/urllib/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/urllib/error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/urllib/parse.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/urllib/request.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/urllib/response.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/urllib/robotparser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/urllib_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/urllib_parse.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/urllib_request.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/urllib_response.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/six/six/moves/urllib_robotparser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/slumber/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/slumber/slumber/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/slumber/slumber/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/slumber/slumber/serialize.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/slumber/slumber/utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stdlib-list/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stdlib-list/stdlib_list/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stdlib-list/stdlib_list/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_requestor.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/api_resource.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/createable_api_resource.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/custom_method.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/deletable_api_resource.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/listable_api_resource.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/nested_resource_class_methods.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/singleton_api_resource.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/updateable_api_resource.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/verify_mixin.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/account.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/account_link.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/alipay_account.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/apple_pay_domain.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/application_fee.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/application_fee_refund.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/balance.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/balance_transaction.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/bank_account.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/billing_portal/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/billing_portal/configuration.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/billing_portal/session.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/bitcoin_receiver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/bitcoin_transaction.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/capability.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/card.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/charge.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/checkout/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/checkout/session.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/country_spec.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/coupon.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/credit_note.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/credit_note_line_item.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/customer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/customer_balance_transaction.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/dispute.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/ephemeral_key.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/error_object.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/event.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/exchange_rate.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/file.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/file_link.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/identity/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/identity/verification_report.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/identity/verification_session.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/invoice.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/invoice_item.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/invoice_line_item.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/issuer_fraud_record.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/issuing/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/issuing/authorization.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/issuing/card.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/issuing/card_details.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/issuing/cardholder.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/issuing/dispute.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/issuing/transaction.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/line_item.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/list_object.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/login_link.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/mandate.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/order.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/order_return.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/payment_intent.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/payment_method.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/payout.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/person.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/plan.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/price.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/product.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/promotion_code.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/quote.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/radar/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/radar/early_fraud_warning.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/radar/value_list.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/radar/value_list_item.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/recipient.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/recipient_transfer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/refund.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/reporting/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/reporting/report_run.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/reporting/report_type.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/reversal.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/review.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/setup_attempt.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/setup_intent.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/sigma/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/sigma/scheduled_query_run.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/sku.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/source.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/source_transaction.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/subscription.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/subscription_item.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/subscription_schedule.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/tax_code.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/tax_id.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/tax_rate.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/terminal/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/terminal/connection_token.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/terminal/location.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/terminal/reader.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/three_d_secure.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/token.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/topup.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/transfer.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/usage_record.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/usage_record_summary.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/api_resources/webhook_endpoint.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/http_client.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/multipart_data_generator.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/oauth.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/oauth_error.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/object_classes.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/request_metrics.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/stripe_object.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/stripe_response.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/util.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/version.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/stripe/stripe/webhook.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/tabulate/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/tabulate/tabulate.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/termcolor/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/termcolor/termcolor.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/toml/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/toml/toml/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/toml/toml/decoder.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/toml/toml/encoder.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/toml/toml/ordered.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/toml/toml/tz.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/toposort/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/toposort/toposort.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ttkthemes/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ttkthemes/ttkthemes/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ttkthemes/ttkthemes/_imgops.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ttkthemes/ttkthemes/_utils.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ttkthemes/ttkthemes/_widget.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ttkthemes/ttkthemes/themed_style.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ttkthemes/ttkthemes/themed_tk.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/typed-ast/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/typed-ast/typed_ast/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/typed-ast/typed_ast/ast27.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/typed-ast/typed_ast/ast3.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/typed-ast/typed_ast/conversions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/tzlocal/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/tzlocal/tzlocal/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ujson/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/ujson/ujson.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/_collections.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/connection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/connectionpool.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/contrib/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/fields.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/filepost.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/packages/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/packages/ssl_match_hostname/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/packages/ssl_match_hostname/_implementation.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/poolmanager.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/request.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/response.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/util/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/util/connection.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/util/request.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/util/response.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/util/retry.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/util/ssl_.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/util/timeout.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/urllib3/urllib3/util/url.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/vobject/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/vobject/vobject/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/vobject/vobject/base.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/vobject/vobject/behavior.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/vobject/vobject/change_tz.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/vobject/vobject/hcalendar.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/vobject/vobject/icalendar.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/vobject/vobject/ics_diff.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/vobject/vobject/vcard.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/vobject/vobject/win32tz.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/waitress/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/waitress/waitress/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/waitress/waitress/adjustments.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/waitress/waitress/buffers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/waitress/waitress/channel.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/waitress/waitress/compat.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/waitress/waitress/parser.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/waitress/waitress/proxy_headers.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/waitress/waitress/receiver.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/waitress/waitress/rfc7230.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/waitress/waitress/runner.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/waitress/waitress/server.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/waitress/waitress/task.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/waitress/waitress/trigger.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/waitress/waitress/utilities.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/waitress/waitress/wasyncore.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/whatthepatch/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/whatthepatch/whatthepatch/__init__.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/whatthepatch/whatthepatch/apply.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/whatthepatch/whatthepatch/exceptions.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/whatthepatch/whatthepatch/patch.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/whatthepatch/whatthepatch/snippets.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/xmltodict/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/xmltodict/xmltodict.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/xxhash/METADATA.toml delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/typeshed-fallback/stubs/xxhash/xxhash.pyi delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/vendor.bundle.js delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/vendor.bundle.js.LICENSE.txt delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/vendor.bundle.js.map delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/images/icon.png delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/package.json delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/package.nls.json delete mode 100644 vscodium/extensions/ms-python.vscode-pylance-2022.4.2/package.nls.ru.json diff --git a/btop/btop.conf b/btop/btop.conf index 36c2aa30..e6a9a30b 100644 --- a/btop/btop.conf +++ b/btop/btop.conf @@ -47,7 +47,7 @@ graph_symbol_net = "default" graph_symbol_proc = "default" #* Manually set which boxes to show. Available values are "cpu mem net proc", separate values with whitespace. -shown_boxes = "proc" +shown_boxes = "cpu mem net proc" #* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. update_ms = 1000 @@ -95,7 +95,7 @@ cpu_invert_lower = True cpu_single_graph = False #* Show cpu box at bottom of screen instead of top. -cpu_bottom = True +cpu_bottom = False #* Shows the system uptime in the CPU box. show_uptime = True diff --git a/picom/picom.conf b/picom/picom.conf index b64f4ca8..dd48c39d 100644 --- a/picom/picom.conf +++ b/picom/picom.conf @@ -3,8 +3,8 @@ ################################# -# Enabled client-side shadows on windows. Note desktop windows -# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, +# Enabled client-side shadows on windows. Note desktop windows +# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, # unless explicitly requested using the wintypes option. # # shadow = false @@ -30,7 +30,7 @@ shadow-offset-y = -7; # # no-dock-shadow = false -# Don't draw shadows on drag-and-drop windows. This option is deprecated, +# Don't draw shadows on drag-and-drop windows. This option is deprecated, # you should use the *wintypes* option in your config file instead. # # no-dnd-shadow = false @@ -44,12 +44,12 @@ shadow-offset-y = -7; # Blue color value of shadow (0.0 - 1.0, defaults to 0). # shadow-blue = 0 -# Do not paint shadows on shaped windows. Note shaped windows -# here means windows setting its shape through X Shape extension. -# Those using ARGB background is beyond our control. -# Deprecated, use +# Do not paint shadows on shaped windows. Note shaped windows +# here means windows setting its shape through X Shape extension. +# Those using ARGB background is beyond our control. +# Deprecated, use # shadow-exclude = 'bounding_shaped' -# or +# or # shadow-exclude = 'bounding_shaped && !rounded_corners' # instead. # @@ -70,11 +70,11 @@ shadow-exclude = [ ]; # Specify a X geometry that describes the region in which shadow should not -# be painted in, such as a dock window region. Use +# be painted in, such as a dock window region. Use # shadow-exclude-reg = "x10+0+0" # for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. # -# shadow-exclude-reg = "" +# shadow-exclude-reg = "" # Crop shadow of a window fully on a particular Xinerama screen to the screen. # xinerama-shadow-crop = false @@ -144,9 +144,9 @@ focus-exclude = [ "class_g = 'Cairo-clock'" ]; # Use fixed inactive dim value, instead of adjusting according to window opacity. # inactive-dim-fixed = 1.0 -# Specify a list of opacity rules, in the format `PERCENT:PATTERN`, -# like `50:name *= "Firefox"`. picom-trans is recommended over this. -# Note we don't make any guarantee about possible conflicts with other +# Specify a list of opacity rules, in the format `PERCENT:PATTERN`, +# like `50:name *= "Firefox"`. picom-trans is recommended over this. +# Note we don't make any guarantee about possible conflicts with other # programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows. # example: # opacity-rule = [ "80:class_g = 'URxvt'" ]; @@ -160,20 +160,20 @@ focus-exclude = [ "class_g = 'Cairo-clock'" ]; # Parameters for background blurring, see the *BLUR* section for more information. -# blur-method = +# blur-method = # blur-size = 12 # # blur-deviation = false -# Blur background of semi-transparent / ARGB windows. -# Bad in performance, with driver-dependent behavior. +# Blur background of semi-transparent / ARGB windows. +# Bad in performance, with driver-dependent behavior. # The name of the switch may change without prior notifications. # # blur-background = false -# Blur background of windows when the window frame is not opaque. +# Blur background of windows when the window frame is not opaque. # Implies: -# blur-background +# blur-background # Bad in performance, with driver-dependent behavior. The name may change. # # blur-background-frame = false @@ -219,7 +219,7 @@ vsync = true; # Enable remote control via D-Bus. See the *D-BUS API* section below for more details. # dbus = false -# Try to detect WM windows (a non-override-redirect window with no +# Try to detect WM windows (a non-override-redirect window with no # child that has 'WM_STATE') and mark them as active. # # mark-wmwin-focused = false @@ -229,7 +229,7 @@ mark-wmwin-focused = true; # mark-ovredir-focused = false mark-ovredir-focused = true; -# Try to detect windows with rounded corners and don't consider them +# Try to detect windows with rounded corners and don't consider them # shaped windows. The accuracy is not very high, unfortunately. # # detect-rounded-corners = false @@ -241,28 +241,28 @@ detect-rounded-corners = true; # detect-client-opacity = false detect-client-opacity = true; -# Specify refresh rate of the screen. If not specified or 0, picom will +# Specify refresh rate of the screen. If not specified or 0, picom will # try detecting this with X RandR extension. # refresh-rate = 60 #refresh-rate = 0 -# Limit picom to repaint at most once every 1 / 'refresh_rate' second to -# boost performance. This should not be used with +# Limit picom to repaint at most once every 1 / 'refresh_rate' second to +# boost performance. This should not be used with # vsync drm/opengl/opengl-oml -# as they essentially does sw-opti's job already, +# as they essentially does sw-opti's job already, # unless you wish to specify a lower refresh rate than the actual value. # -# sw-opti = +# sw-opti = -# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window, -# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy, +# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window, +# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy, # provided that the WM supports it. # # use-ewmh-active-win = false -# Unredirect all windows if a full-screen opaque window is detected, -# to maximize performance for full-screen windows. Known to cause flickering +# Unredirect all windows if a full-screen opaque window is detected, +# to maximize performance for full-screen windows. Known to cause flickering # when redirecting/unredirecting windows. # # unredir-if-possible = false @@ -273,52 +273,52 @@ refresh-rate = 60 # Conditions of windows that shouldn't be considered full-screen for unredirecting screen. # unredir-if-possible-exclude = [] -# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows +# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows # in the same group focused at the same time. # # detect-transient = false detect-transient = true -# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same -# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if +# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same +# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if # detect-transient is enabled, too. # # detect-client-leader = false detect-client-leader = true -# Resize damaged region by a specific number of pixels. -# A positive value enlarges it while a negative one shrinks it. -# If the value is positive, those additional pixels will not be actually painted -# to screen, only used in blur calculation, and such. (Due to technical limitations, -# with use-damage, those pixels will still be incorrectly painted to screen.) -# Primarily used to fix the line corruption issues of blur, -# in which case you should use the blur radius value here -# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`, -# with a 5x5 one you use `--resize-damage 2`, and so on). +# Resize damaged region by a specific number of pixels. +# A positive value enlarges it while a negative one shrinks it. +# If the value is positive, those additional pixels will not be actually painted +# to screen, only used in blur calculation, and such. (Due to technical limitations, +# with use-damage, those pixels will still be incorrectly painted to screen.) +# Primarily used to fix the line corruption issues of blur, +# in which case you should use the blur radius value here +# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`, +# with a 5x5 one you use `--resize-damage 2`, and so on). # May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly. # # resize-damage = 1 -# Specify a list of conditions of windows that should be painted with inverted color. +# Specify a list of conditions of windows that should be painted with inverted color. # Resource-hogging, and is not well tested. # # invert-color-include = [] -# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. -# Might cause incorrect opacity when rendering transparent content (but never -# practically happened) and may not work with blur-background. +# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. +# Might cause incorrect opacity when rendering transparent content (but never +# practically happened) and may not work with blur-background. # My tests show a 15% performance boost. Recommended. # # glx-no-stencil = false -# GLX backend: Avoid rebinding pixmap on window damage. -# Probably could improve performance on rapid window content changes, +# GLX backend: Avoid rebinding pixmap on window damage. +# Probably could improve performance on rapid window content changes, # but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). # Recommended if it works. # # glx-no-rebind-pixmap = false -# Disable the use of damage information. +# Disable the use of damage information. # This cause the whole screen to be redrawn everytime, instead of the part of the screen # has actually changed. Potentially degrades the performance, but might fix some artifacts. # The opposing option is use-damage @@ -326,31 +326,31 @@ detect-client-leader = true # no-use-damage = false use-damage = true -# Use X Sync fence to sync clients' draw calls, to make sure all draw -# calls are finished before picom starts drawing. Needed on nvidia-drivers +# Use X Sync fence to sync clients' draw calls, to make sure all draw +# calls are finished before picom starts drawing. Needed on nvidia-drivers # with GLX backend for some users. # # xrender-sync-fence = false -# GLX backend: Use specified GLSL fragment shader for rendering window contents. -# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl` +# GLX backend: Use specified GLSL fragment shader for rendering window contents. +# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl` # in the source tree for examples. # # glx-fshader-win = '' -# Force all windows to be painted with blending. Useful if you +# Force all windows to be painted with blending. Useful if you # have a glx-fshader-win that could turn opaque pixels transparent. # # force-win-blend = false -# Do not use EWMH to detect fullscreen windows. +# Do not use EWMH to detect fullscreen windows. # Reverts to checking if a window is fullscreen based only on its size and coordinates. # # no-ewmh-fullscreen = false -# Dimming bright windows so their brightness doesn't exceed this set value. -# Brightness of a window is estimated by averaging all pixels in the window, -# so this could comes with a performance hit. +# Dimming bright windows so their brightness doesn't exceed this set value. +# Brightness of a window is estimated by averaging all pixels in the window, +# so this could comes with a performance hit. # Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0) # # max-brightness = 1.0 @@ -362,17 +362,17 @@ use-damage = true # Set the log level. Possible values are: # "trace", "debug", "info", "warn", "error" -# in increasing level of importance. Case doesn't matter. -# If using the "TRACE" log level, it's better to log into a file +# in increasing level of importance. Case doesn't matter. +# If using the "TRACE" log level, it's better to log into a file # using *--log-file*, since it can generate a huge stream of logs. # # log-level = "debug" log-level = "warn"; # Set the log file. -# If *--log-file* is never specified, logs will be written to stderr. -# Otherwise, logs will to written to the given file, though some of the early -# logs might still be written to the stderr. +# If *--log-file* is never specified, logs will be written to stderr. +# Otherwise, logs will to written to the given file, though some of the early +# logs might still be written to the stderr. # When setting this option from the config file, it is recommended to use an absolute path. # # log-file = '/path/to/your/log/file' @@ -384,33 +384,33 @@ log-level = "warn"; # write-pid-path = '/path/to/your/log/file' # Window type settings -# -# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: -# "unknown", "desktop", "dock", "toolbar", "menu", "utility", -# "splash", "dialog", "normal", "dropdown_menu", "popup_menu", +# +# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: +# "unknown", "desktop", "dock", "toolbar", "menu", "utility", +# "splash", "dialog", "normal", "dropdown_menu", "popup_menu", # "tooltip", "notification", "combo", and "dnd". -# +# # Following per window-type options are available: :: -# +# # fade, shadow::: # Controls window-type-specific shadow and fade settings. -# +# # opacity::: # Controls default opacity of the window type. -# +# # focus::: -# Controls whether the window of this type is to be always considered focused. +# Controls whether the window of this type is to be always considered focused. # (By default, all window types except "normal" and "dialog" has this on.) -# +# # full-shadow::: -# Controls whether shadow is drawn under the parts of the window that you -# normally won't be able to see. Useful when the window has parts of it +# Controls whether shadow is drawn under the parts of the window that you +# normally won't be able to see. Useful when the window has parts of it # transparent, and you want shadows in those areas. -# +# # redir-ignore::: -# Controls whether this type of windows should cause screen to become +# Controls whether this type of windows should cause screen to become # redirected again after been unredirected. If you have unredir-if-possible -# set, and doesn't want certain window to cause unnecessary screen redirection, +# set, and doesn't want certain window to cause unnecessary screen redirection, # you can set this to `true`. # wintypes: @@ -435,6 +435,8 @@ opacity-rule = [ "95:class_g = 'Code'", "95:class_g = 'code'", "95:class_g = 'code-oss'", + "95:class_g = 'vscodium'", + "95:class_g = 'VSCodium'" ] diff --git a/vscodium/extensions/.obsolete b/vscodium/extensions/.obsolete index 95503094..7f9a7521 100644 --- a/vscodium/extensions/.obsolete +++ b/vscodium/extensions/.obsolete @@ -1 +1 @@ -{"ms-vscode.references-view-0.0.86":true,"ms-vscode.js-debug-companion-1.0.16":true,"bceskavich.theme-dracula-at-night-2.6.0":true,"ms-python.vscode-pylance-2022.4.2":true,"lefd.sweetdracula-monokai-1.1.2":true} \ No newline at end of file +{"ms-vscode.references-view-0.0.86":true,"ms-vscode.js-debug-companion-1.0.16":true} \ No newline at end of file diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/.github/CONTRIBUTING.md b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/.github/CONTRIBUTING.md deleted file mode 100644 index adf0b2a8..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/.github/CONTRIBUTING.md +++ /dev/null @@ -1,10 +0,0 @@ -## How to contribute - -1. Fork and clone this repo. `git clone https://github.com//visual-studio-code` -2. Create a branch for your changes. `git checkout -b my-new-feature` -3. Install dependencies. `yarn install` -4. Hack away. -5. Build and attach your changes to VSCode. `yarn run dev` -6. Eject your changes from VSCode. `yarn run eject` -7. Commit and push your changes. -8. Submit a PR for discussion. diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/.gitignore b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/.gitignore deleted file mode 100644 index a30e1cf5..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -node_modules -theme -build - -# Logs + dependency pieces -logs -*.log -yarn-debug.log* -yarn-error.log* diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/.vscode/settings.json b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/.vscode/settings.json deleted file mode 100644 index ad92582b..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "editor.formatOnSave": true -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/.vsixmanifest b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/.vsixmanifest deleted file mode 100644 index d793f856..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/.vsixmanifest +++ /dev/null @@ -1,42 +0,0 @@ - - - - - Dracula At Night - Dracula At Night — A Dracula fork, with a darker flavor - dracula,dark,theme,color-theme - Themes - Public - - - - - - - - - - - - - - - - - - - - - - extension/LICENSE.txt - extension/dracula-at-night.png - - - - - - - - - - diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/CHANGELOG.md b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/CHANGELOG.md deleted file mode 100644 index e845e379..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/CHANGELOG.md +++ /dev/null @@ -1,89 +0,0 @@ -# Changelog - -## 2.6.0 - -v2.6.0 includes a bunch of changes from the past few months. It's been a while since a release has been queued up! - -- Haskell syntax coloring fixes (https://github.com/bceskavich/dracula-at-night/commit/cff5fe299ddda7f944e023ef32bd16039486d4d3) -- TypeScript JSX syntax coloring fixes (https://github.com/bceskavich/dracula-at-night/commit/fa4b948cd43874a85670abbcde96b6eaf852e3f4) -- Adds coloring for Elixir's capture `&` operator (https://github.com/bceskavich/dracula-at-night/commit/a9b344a3b66769aa7fe16d3707d3616d4a91d518) -- Better coloring support for Go (https://github.com/bceskavich/dracula-at-night/commit/a733b9967667c21065185da0e30160aad94269f1) -- The bash script used to attach a test build of theme locally was broken. No longer! (https://github.com/bceskavich/dracula-at-night/commit/6c5892605829525530cac5db406b494df481e4d0) -- Add styling for menu highlighting. Thank you @sargalias! (https://github.com/bceskavich/dracula-at-night/pull/5) - -## 2.5.0 - -Updates to syntax highlighting for JSX, CSS, and TypeScript typings. See https://github.com/bceskavich/dracula-at-night/pull/3 for more detailed explanations of each. - -## 2.4.0 - -Added further Python support: - -- Function definition coloring -- Consistent function invocation coloring -- Punctuation (dot syntax, colons) coloring - -## 2.3.0 - -Added further Elixir support. - -## 2.2.1 - -Fixed a small bug where some string punctuation marks weren't styled the right color. - -## 2.2.0 - -Add stylings for the new Breadcrumbs feature, released in [VS Code v1.26](https://code.visualstudio.com/updates/v1_26#_breadcrumbs) - -## 2.1.0 - -- JavaScript and TypeScript constant definitions are now styled cyan, instead of purple. This is modeled after the way we do things in Ruby. I'm considering making this the default for all languages. -- Fix some typos in the Objective-C settings - -## 2.0.0 - -Refactored theme config, see [dracula-at-night#2](https://github.com/bceskavich/dracula-at-night/pull/2). There are a few small user facing changes in this update. I fixed some broken editor window styles and made others more consistent while rewriting. - -## 1.3.0 - -Updates to React and JSX stylings: - -- Component tags are colored purple to help differentiate between HTML tags -- Ensure fat-arrow function definitions on component classes as an auto-binding work around are styled green as expected - -Better GraphQL support: - -- Please use [GraphQL for VSCode](https://marketplace.visualstudio.com/items?itemName=kumar-harsh.graphql-for-vscode) to get the extended style scopes that power this update! - -Also: - -- Remove default behavior to highlight matching brackets as pink. This is often unhelpful, especially when the brackets are already colored pink (e.g. Interpolation, JSX escapes). Matching bracket colors can be set manaully in user settings. - -## 1.2.0 - -Updates to better support Ruby: - -- Colors for instance (orange) and class (cyan) variables -- Fix a bug with coloring function invocations -- Ensure function definition punctuation is not colored green -- Ensure block method params are colored orange as expected -- Separator punctuation (like dots) should be styled pink -- Style constants as cyan to help differentiate with symbols, which are purple - -## 1.1.0 - -- Updated TypeScript type syntax stylings - -## 1.0.1 - -- Added a theme logo - -## 1.0.0 - -Initial release! - ---- - -## Previous - -This theme was forked from Dracula Official v2.10.0. See the Dracula Official [changelog](https://github.com/dracula/visual-studio-code/blob/master/CHANGELOG.md#2100) for changes preceding the fork. diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/LICENSE.txt b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/LICENSE.txt deleted file mode 100644 index dcaf6d7f..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/LICENSE.txt +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016 Dracula Theme - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/README.md b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/README.md deleted file mode 100644 index 81af0513..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# Dracula At Night for [Visual Studio Code](http://code.visualstudio.com) - -A fork of [Dracula Official](https://github.com/dracula/visual-studio-code), with a darker flavor. - -![Screenshot](https://dzwonsemrish7.cloudfront.net/items/2q3r15432s3H00013u1j/Screen%20Shot%202018-06-02%20at%2010.16.01.png) - -## Install - -1. Go to `View -> Command Palette` or press `⌘+shift+P` -2. Then enter `Install Extension` -3. Write `theme-dracula-at-night` -4. Select it or press Enter to install - -## Contributing - -If you'd like to contribute to this theme, please read the [contributing guidelines](https://github.com/bceskavich/dracula-at-night/blob/master/./.github/CONTRIBUTING.md). - -## License - -[MIT License](https://github.com/bceskavich/dracula-at-night/blob/master/./LICENSE) diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/bootstrap.sh b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/bootstrap.sh deleted file mode 100755 index 1037c9dc..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/bootstrap.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env bash - -repo_dir="$( cd "$(dirname "${BASH_SOURCE[0]}")" && pwd )" - -attach() { - theme_path="$( find ~/.vscode/extensions -maxdepth 1 -type d -name '*dracula-at-night*' )" - if [[ "$theme_path" ]]; then - theme_dir="$( basename "$theme_path" )" - mkdir -p ~/.vscode/_disabled - mv "$theme_path" ~/.vscode/_disabled/"$theme_dir" - fi - ln -s "$repo_dir" "$theme_path" -} - -eject() { - theme_disabled_path="$( find ~/.vscode/_disabled -maxdepth 1 -type d -name '*dracula-at-night*' )" - if [ "$theme_disabled_path" ]; then - theme_dir="$( basename "$theme_disabled_path" )" - rm ~/.vscode/extensions/"$theme_dir" - mv "$theme_disabled_path" ~/.vscode/extensions/"$theme_dir" - rm -r ~/.vscode/_disabled - fi -} - -case "$1" in - attach) - attach - ;; - eject) - eject - ;; -esac diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/dracula-at-night.png b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/dracula-at-night.png deleted file mode 100644 index b96a924635e576be73693a93a01d27119fa02de6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15860 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 void hello() {} -// ^ ^ -``` - -## C# - -**Note:** There are several other breaks in C# that occur when you have deeply nested classes or structures. - -```cs -// "bool" types not scoped under certain circumstances -class Foo { - public bool isFoo() {} -// ^^^^ -} -``` - -## Clojure - -```clj -; Math operators (`+`, `-`, `/`, `*`, etc) are incorrectly scoped to `entity.name.function`. -(+ 1 1) -;^ -(- 4 2) -;^ -(* 5 5) -;^ -(/ 10 5) -;^ - -; Logic operators (`not`, `is`, etc) are incorrectly scoped to `entity.name.function`. -(not true) -;^^^ -(is false) -;^^ - -; Function parameters have no scope. -(defn hello [name] -; ^^^^ - (str "Hello " name)) - -``` - -## Coffeescript - -```coffee -# imports and exports are scope incorrectly across the board -import _ from 'underscore' -# ^ -import * as underscore from 'underscore' -# ^^^^^^^^^^ -import { now } from 'underscore' -# ^^^ -import { now as currentTimestamp } from 'underscore' -# ^^^ -export { sqrt as squareRoot } -# ^^^^ ^^ -export { Mathematics as default, sqrt as squareRoot } -# ^^^^^^^^^^^ ^^ ^^^^ -``` - -## F# - -```fs -// Brackets and semicolons scoped incorrectly to `keyword.other`. -let issueOne = [2; 3; 4; 5] -// ^ ^ ^ ^ ^ - -// Function names are incorrectly scoped to `variable.other`. -let square x = x * x // #2 -// ^^^^^^ - -// Modulo operator `%` unscoped. -let isEven x = x % 2 = 0 -// ^ - -// Function calls are unscoped. -isEven 5 -//^^^^ - -// Range operator `..` scope is broken. -let y = [1..10] -// ^^ - -// `->` operator not scoped under certain circumstances. -[1..100] |> List.map (fun x -> x * x) |> List.sum -// ^^ - -// `=` operator not scoped under certain circumstances. -module Example = -// ^ - -// Type scopes break under certain circumstances. -type Rectangle(x:int, y:int) = -// ^^^ ^^^^ ^ - -// Parens scoped incorrectly to `constant.language.unit` -r.Print() -// ^^ -``` - -## Go - -```go -// Scientific numbers not scoped correctly. -x := 1.3e3 -// ^^ - -// Function params not scoped -func sentenceFactory(mystring string) func(before, after string) string {} -// ^^^^^^^^ ^^^^^^ ^^^^^ -``` - -## Java - -```java -// Generic scopes span all the way into the brackets (brackets need their own scope) -private static final Set COUNTRIES = new HashSet(); -// ^^^^^^^^ ^^^^^^^^ -``` - -## Makefile - -```Makefile -hello=hello - -# Curly brace variable interpolation -.PHONY: thing -thing: - echo ${hello} - -# Uncommon variant of ":=" scoped incorrectly -uncommonEqual ::= foo bar baz -# ^^^^^^^^^^^^^^ -``` - -## Objective-C - -```objc -// Pragma lines with comments don't work -#pragma mark Navigation Functions // New tag on jump bar named 'Navigation Functions' -// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -// "@protocol" scoped incorrectly under certain circumstances -@protocol Brother; /* -^^^^^^^^^^^^^^^^^ -``` - -## Perl - -```pl -# "=" not scoped -my $thing = "foo"; -# ^ - -# Range operator not scoped -for my $i (0 .. $max) { -# ^^ - -# Namespace accessor not scoped -MyModule::foo($thing); -# ^^ - -# Increment operator not scoped -$self->{count}++; -# ^^ -``` - -## Powershell - -There is too much wrong with the scopes to list. The textmate scopes need a full refactor. - -## Python - -```py -# Decorator scopes don't distinguish the "@" symbol - @property -#^ -``` - -## R - -There is too much wrong with the scopes to list. The textmate scopes need a full refactor. - -## Ruby - -```rb -# Function names not scoped during calls -def add1(x) - x + 1 -end - add1(5) -#^^^^ - -# Existence operator "?" not scoped -hash = { foo: 'foo' } -hash.key?(:foo) -# ^ - -# Range ".." and double bar "| |" operators not scoped -(1..5).each do |counter| -# ^^ ^ ^ -``` - -## Rust - -```rs -// Function parameters and "->" operator not scoped -fn add2(x: i32, y: i32) -> i32 {} -// ^ ^ ^^ - -// Generic types are scoped all the way through the brackets -struct Foo { bar: T } -// ^^^ - -// Generic types are not scoped when used -struct Foo { bar: T } -// ^ - -// Separators not scoped -struct Foo { bar: T } -// ^ -``` - -## Shell - -```sh -# "!" is scoped as a pipe operator, not a logical negation operator -echo Hello World! -# ^ - -# Semicolons have the same scope as "&&" -echo hello; echo foo && echo bar -# ^ ^^ - -# Range operator not scoped -echo {1..5} -# ^^ - -# The word "in" in case statements has no scope -case 'hello' in -# ^^ - hello) - ;; -esac -``` - -## Swift - -There is too much wrong with the scopes to list. The textmate scopes need a full refactor. diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/package.json b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/package.json deleted file mode 100644 index 3b293386..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "theme-dracula-at-night", - "version": "2.6.0", - "displayName": "Dracula At Night", - "description": "Dracula At Night — A Dracula fork, with a darker flavor", - "publisher": "bceskavich", - "license": "MIT", - "scripts": { - "clean": "rm -rf build", - "compile": "yarn run clean && tsc", - "build": "mkdir -p ./theme && ts-node ./src/build.ts", - "attach": "./bootstrap.sh attach", - "eject": "./bootstrap.sh eject", - "dev": "yarn run eject && yarn run build && yarn run attach", - "vscode:prepublish": "yarn run build", - "format": "prettier --write 'src/**/*.ts'" - }, - "maintainers": [ - "Billy Ceskavich " - ], - "contributors": [], - "repository": { - "type": "git", - "url": "https://github.com/bceskavich/dracula-at-night.git" - }, - "bugs": { - "url": "https://github.com/bceskavich/dracula-at-night/issues" - }, - "engines": { - "vscode": "^1.13.0" - }, - "categories": [ - "Themes" - ], - "keywords": [ - "dracula", - "dark", - "theme", - "color-theme" - ], - "icon": "dracula-at-night.png", - "galleryBanner": { - "color": "#0e1419", - "theme": "dark" - }, - "contributes": { - "themes": [ - { - "label": "Dracula At Night", - "uiTheme": "vs-dark", - "path": "./theme/dracula-at-night.json" - } - ] - }, - "devDependencies": { - "@types/node": "^10.5.8", - "ts-node": "^7.0.0", - "tslint": "^5.11.0", - "tslint-config-prettier": "^1.14.0", - "typescript": "^3.0.1" - }, - "__metadata": { - "id": "86fa6593-3f3e-484c-b7cd-00ba7c91c23f", - "publisherId": "72f2d502-2860-40d3-8a46-47cbf8a5d495", - "publisherDisplayName": null, - "targetPlatform": "undefined", - "updated": false, - "isPreReleaseVersion": false, - "preRelease": false, - "installedTimestamp": 1651167578407 - } -} \ No newline at end of file diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/build.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/build.ts deleted file mode 100644 index 47ffb13d..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/build.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { writeFileSync } from 'fs'; -import { DraculaAtNight } from './themes'; - -writeFileSync( - `${__dirname}/../theme/dracula-at-night.json`, - JSON.stringify(DraculaAtNight, null, 2) -); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/lib/alpha.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/lib/alpha.ts deleted file mode 100644 index 7edc441e..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/lib/alpha.ts +++ /dev/null @@ -1,3 +0,0 @@ -export default (hexColor: string, alphaValue: number): string => { - return `${hexColor}${alphaValue}`; -}; diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/Theme.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/Theme.ts deleted file mode 100644 index 2a4be85d..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/Theme.ts +++ /dev/null @@ -1,70 +0,0 @@ -import TokenSettings from '../settings/tokens/TokenSettings'; - -export interface Theme { - // Metadata - name: string; - author: string; - maintainers: string[]; - semanticClass: string; - - colorVars: Colors; - colors: object; - tokenColors: TokenSettings[]; -} - -export interface Colors { - ansi: ANSIColors; - base: BaseColors; - misc: MiscColors; -} - -// Base colors -export interface BaseColors { - bg: string; - fg: string; - cyan: string; - green: string; - orange: string; - pink: string; - purple: string; - red: string; - yellow: string; - white: string; -} - -// ANSI colors -export interface ANSIColors { - color0: string; - color1: string; - color2: string; - color3: string; - color4: string; - color5: string; - color6: string; - color7: string; - color8: string; - color9: string; - color10: string; - color11: string; - color12: string; - color13: string; - color14: string; - color15: string; -} - -// Other colors -export interface MiscColors { - comment: string; - activeBorder: string; - lineHighlight: string; - container: string; - selection: string; - nonText: string; - tabDropBg: string; - bgLight: string; - bgLighter: string; - bgDark: string; - bgDarker: string; - purpleDarker: string; - menuHover: string; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/buildThemeSettings.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/buildThemeSettings.ts deleted file mode 100644 index b55f084d..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/buildThemeSettings.ts +++ /dev/null @@ -1,15 +0,0 @@ -import colors from './colors'; -import { ANSIColors, BaseColors, MiscColors } from './Theme'; -import tokens from './tokens'; -import TokenSettings from './tokens/TokenSettings'; - -export default function buildTheme( - base: BaseColors, - ansi: ANSIColors, - misc: MiscColors -): { colors: object; tokenColors: TokenSettings[] } { - return { - colors: colors({ base, ansi, misc }), - tokenColors: tokens({ base, ansi, misc }) - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/activity-bar.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/activity-bar.ts deleted file mode 100644 index a2c6ddce..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/activity-bar.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_activity-bar -export default ({ base, misc }: Colors) => ({ - 'activityBar.background': misc.container, - 'activityBar.dropBackground': null, - 'activityBar.foreground': base.fg, - 'activityBar.border': misc.container, - 'activityBarBadge.background': base.pink, - 'activityBarBadge.foreground': base.fg -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/badge.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/badge.ts deleted file mode 100644 index 58a324b7..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/badge.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_badge -export default ({ base, misc }: Colors) => ({ - 'badge.foreground': base.fg, - 'badge.background': misc.container -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/base.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/base.ts deleted file mode 100644 index a3ea7121..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/base.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_base-colors -export default ({ base, misc }: Colors) => ({ - focusBorder: misc.comment, - foreground: base.fg, - 'widget.shadow': null, - 'selection.background': base.purple, - descriptionForeground: null, - errorForeground: base.red -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/breadcrumbs.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/breadcrumbs.ts deleted file mode 100644 index 0a30192e..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/breadcrumbs.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_button-control -export default ({ base, misc }: Colors) => ({ - 'breadcrumb.foreground': misc.comment, - 'breadcrumb.focusForeground': base.fg, - 'breadcrumb.activeSelectionForeground': base.fg, - 'breadcrumbPicker.background': base.bg -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/buttons.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/buttons.ts deleted file mode 100644 index cbe67e08..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/buttons.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_button-control -export default ({ base, misc }: Colors) => ({ - 'button.background': misc.purpleDarker, - 'button.foreground': base.fg, - 'button.hoverBackground': null -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/contrast.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/contrast.ts deleted file mode 100644 index 26d87da3..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/contrast.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_contrast-colors -export default ({ misc }: Colors) => ({ - contrastBorder: misc.bgDarker, - contrastActiveBorder: null -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/debug.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/debug.ts deleted file mode 100644 index a8c05d37..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/debug.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_debug -export default ({ base, misc }: Colors) => ({ - 'debugToolBar.background': base.bg, - 'debugToolBar.border': misc.activeBorder -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/diff-editor.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/diff-editor.ts deleted file mode 100644 index 7c143b98..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/diff-editor.ts +++ /dev/null @@ -1,10 +0,0 @@ -import alpha from '../../lib/alpha'; -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_diff-editor-colors -export default ({ base }: Colors) => ({ - 'diffEditor.insertedTextBackground': alpha(base.green, 20), - 'diffEditor.insertedTextBorder': null, - 'diffEditor.removedTextBackground': alpha(base.red, 50), - 'diffEditor.removedTextBorder': null -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/dropdowns.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/dropdowns.ts deleted file mode 100644 index f5ca1dcb..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/dropdowns.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_dropdown-control -export default ({ base, misc }: Colors) => ({ - 'dropdown.background': misc.container, - 'dropdown.listBackground': misc.container, - 'dropdown.border': misc.activeBorder, - 'dropdown.foreground': base.fg -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/editor-groups.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/editor-groups.ts deleted file mode 100644 index b943be46..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/editor-groups.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_editor-groups-tabs -export default ({ base, misc }: Colors) => ({ - 'editorGroup.border': base.purple, - 'editorGroup.dropBackground': misc.tabDropBg, - 'editorGroupHeader.noTabsBackground': null, - 'editorGroupHeader.tabsBackground': misc.container, - 'editorGroupHeader.tabsBorder': misc.purpleDarker, - 'tab.activeBackground': misc.purpleDarker, - 'tab.activeForeground': base.fg, - 'tab.border': misc.container, - 'tab.activeBorder': null, - 'tab.unfocusedActiveBorder': null, - 'tab.inactiveBackground': misc.container, - 'tab.inactiveForeground': misc.activeBorder, - 'tab.unfocusedActiveForeground': null, - 'tab.unfocusedInactiveForeground': null, - - // TODO: explore color change - 'tab.hoverBackground': null, - 'tab.unfocusedHoverBackground': null, - 'tab.hoverBorder': null, - 'tab.unfocusedHoverBorder': null -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/editor-widgets.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/editor-widgets.ts deleted file mode 100644 index 4ae149ab..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/editor-widgets.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_editor-widget-colors -export default ({ base, misc }: Colors) => ({ - 'editorWidget.background': base.bg, - 'editorWidget.border': misc.activeBorder, - 'editorWidget.resizeBorder': base.purple, - 'editorSuggestWidget.background': base.bg, - 'editorSuggestWidget.border': misc.activeBorder, - 'editorSuggestWidget.foreground': base.fg, - 'editorSuggestWidget.highlightForeground': null, - 'editorSuggestWidget.selectedBackground': misc.lineHighlight, - 'editorHoverWidget.background': base.bg, - 'editorHoverWidget.border': misc.activeBorder, - 'debugExceptionWidget.background': null, - 'debugExceptionWidget.border': null, - 'editorMarkerNavigation.background': misc.bgDark, - 'editorMarkerNavigationError.background': null, - 'editorMarkerNavigationWarning.background': null -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/editor.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/editor.ts deleted file mode 100644 index fbd38020..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/editor.ts +++ /dev/null @@ -1,51 +0,0 @@ -import alpha from '../../lib/alpha'; -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_editor-colors -export default ({ base, misc }: Colors) => ({ - 'editor.foreground': base.fg, - 'editor.background': base.bg, - 'editorLineNumber.foreground': misc.comment, - 'editorLineNumber.activeForeground': base.cyan, - 'editorCursor.foreground': base.cyan, - 'editor.selectionBackground': misc.selection, - 'editor.selectionHighlightBorder': base.orange, - 'editor.inactiveSelectionBackground': null, - 'editor.wordHighlightBackground': alpha(base.cyan, 50), - 'editor.wordHighlightStrongBackground': alpha(base.green, 50), - 'editor.findMatchBackground': alpha(base.orange, 80), - 'editor.findMatchHighlightBackground': alpha(base.white, 40), - 'editor.findRangeHighlightBackground': misc.lineHighlight, - 'editor.hoverHighlightBackground': misc.bgDarker, - 'editor.lineHighlightBackground': misc.lineHighlight, - 'editor.lineHighlightBorder': null, - 'editorLink.activeForeground': base.cyan, - 'editor.rangeHighlightBackground': alpha(base.purple, 15), - 'editorWhitespace.foreground': misc.nonText, - 'editorIndentGuide.background': misc.nonText, - 'editorIndentGuide.activeBackground': misc.activeBorder, - 'editorRuler.foreground': null, - 'editorCodeLens.foreground': misc.comment, - 'editorBracketMatch.background': null, - 'editorBracketMatch.border': null, - 'editorOverviewRuler.border': misc.bgDarker, - 'editorOverviewRuler.findMatchForeground': null, - 'editorOverviewRuler.rangeHighlightForeground': null, - 'editorOverviewRuler.selectionHighlightForeground': base.orange, - 'editorOverviewRuler.wordHighlightForeground': base.cyan, - 'editorOverviewRuler.wordHighlightStrongForeground': base.green, - 'editorOverviewRuler.modifiedForeground': alpha(base.orange, 80), - 'editorOverviewRuler.addedForeground': alpha(base.green, 80), - 'editorOverviewRuler.deletedForeground': alpha(base.red, 80), - 'editorOverviewRuler.errorForeground': alpha(base.red, 80), - 'editorOverviewRuler.warningForeground': alpha(base.yellow, 80), - 'editorOverviewRuler.infoForeground': alpha(base.cyan, 80), - 'editorError.foreground': base.red, - 'editorError.border': null, - 'editorWarning.foreground': base.cyan, - 'editorWarning.border': null, - 'editorGutter.background': null, - 'editorGutter.modifiedBackground': alpha(base.orange, 80), - 'editorGutter.addedBackground': alpha(base.green, 80), - 'editorGutter.deletedBackground': alpha(base.red, 80) -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/extensions.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/extensions.ts deleted file mode 100644 index de0bb31c..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/extensions.ts +++ /dev/null @@ -1,9 +0,0 @@ -import alpha from '../../lib/alpha'; -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_extensions -export default ({ base }: Colors) => ({ - 'extensionButton.prominentForeground': base.fg, - 'extensionButton.prominentBackground': alpha(base.green, 90), - 'extensionButton.prominentHoverBackground': alpha(base.green, 60) -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/git.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/git.ts deleted file mode 100644 index 9d88ed0c..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/git.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_git-colors -export default ({ base, misc }: Colors) => ({ - 'gitDecoration.modifiedResourceForeground': base.orange, - 'gitDecoration.deletedResourceForeground': base.red, - 'gitDecoration.untrackedResourceForeground': base.green, - 'gitDecoration.ignoredResourceForeground': misc.comment, - 'gitDecoration.conflictingResourceForeground': base.orange -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/index.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/index.ts deleted file mode 100644 index 566a4aed..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/index.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { Colors } from '../Theme'; - -import activityBar from './activity-bar'; -import badge from './badge'; -import base from './base'; -import breadcrumbs from './breadcrumbs'; -import buttons from './buttons'; -import contrast from './contrast'; -import debug from './debug'; -import diffEditor from './diff-editor'; -import dropdowns from './dropdowns'; -import editor from './editor'; -import editorGroups from './editor-groups'; -import editorWidgets from './editor-widgets'; -import extensions from './extensions'; -import git from './git'; -import inputs from './inputs'; -import lists from './lists'; -import mergeConflicts from './merge-conflicts'; -import menu from './menu'; -import notification from './notification'; -import panels from './panels'; -import peekView from './peek-view'; -import progressBar from './progress-bar'; -import quickPicker from './quick-picker'; -import scrollbar from './scrollbar'; -import sidebar from './sidebar'; -import statusBar from './status-bar'; -import terminal from './terminal'; -import titleBar from './title-bar'; -import welcome from './welcome'; - -export default (colors: Colors) => ({ - ...activityBar(colors), - ...badge(colors), - ...base(colors), - ...breadcrumbs(colors), - ...buttons(colors), - ...contrast(colors), - ...debug(colors), - ...diffEditor(colors), - ...dropdowns(colors), - ...editor(colors), - ...editorGroups(colors), - ...editorWidgets(colors), - ...extensions(colors), - ...git(colors), - ...inputs(colors), - ...lists(colors), - ...mergeConflicts(colors), - ...menu(colors), - ...notification(colors), - ...panels(colors), - ...peekView(colors), - ...progressBar(colors), - ...quickPicker(colors), - ...scrollbar(), - ...sidebar(colors), - ...statusBar(colors), - ...terminal(colors), - ...titleBar(colors), - ...welcome(colors) -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/inputs.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/inputs.ts deleted file mode 100644 index 98693b56..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/inputs.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_input-control -export default ({ base, misc }: Colors) => ({ - 'input.background': base.bg, - 'input.foreground': base.fg, - 'input.border': misc.container, - 'input.placeholderForeground': misc.comment, - 'inputOption.activeBorder': misc.activeBorder, - 'inputValidation.infoBackground': null, - 'inputValidation.infoBorder': base.pink, - 'inputValidation.warningBackground': null, - 'inputValidation.warningBorder': base.orange, - 'inputValidation.errorBackground': null, - 'inputValidation.errorBorder': base.red -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/lists.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/lists.ts deleted file mode 100644 index b49232a5..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/lists.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_lists-and-trees -export default ({ base, misc }: Colors) => ({ - 'list.activeSelectionBackground': misc.container, - 'list.activeSelectionForeground': base.fg, - 'list.dropBackground': misc.selection, - 'list.focusBackground': misc.container, - 'list.highlightForeground': base.cyan, - 'list.hoverBackground': misc.container, - 'list.inactiveSelectionBackground': misc.container, - 'list.inactiveSelectionForeground': base.fg, - 'list.hoverForeground': base.fg, - 'list.focusForeground': base.fg -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/menu.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/menu.ts deleted file mode 100644 index 4ccbb756..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/menu.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/api/references/theme-color#menu-bar-colors -export default ({ misc }: Colors) => ({ - 'menubar.selectionForeground': null, - 'menubar.selectionBackground': null, - 'menubar.selectionBorder': null, - 'menu.foreGround': null, - 'menu.background': null, - 'menu.selectionForeground': null, - 'menu.selectionBackground': misc.menuHover, - 'menu.selectionBorder': null, - 'menu.separatorBackground': null -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/merge-conflicts.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/merge-conflicts.ts deleted file mode 100644 index d10a8c95..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/merge-conflicts.ts +++ /dev/null @@ -1,14 +0,0 @@ -import alpha from '../../lib/alpha'; -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_merge-conflicts -export default ({ base }: Colors) => ({ - 'merge.currentHeaderBackground': alpha(base.green, 90), - 'merge.currentContentBackground': null, - 'merge.incomingHeaderBackground': alpha(base.purple, 90), - 'merge.incomingContentBackground': null, - 'merge.border': null, - 'editorOverviewRuler.currentContentForeground': base.green, - 'editorOverviewRuler.incomingContentForeground': base.purple, - 'editorOverviewRuler.commonContentForeground': null -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/notification.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/notification.ts deleted file mode 100644 index a52c792b..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/notification.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_notification-colors -export default ({ base, misc }: Colors) => ({ - // >= v1.21 configs - 'notificationCenter.border': misc.activeBorder, - 'notificationCenterHeader.foreground': base.fg, - 'notificationCenterHeader.background': misc.container, - 'notificationToast.border': misc.activeBorder, - 'notifications.foreground': base.fg, - 'notifications.background': base.bg, - 'notifications.border': misc.activeBorder, - 'notificationLink.foreground': base.fg, - - // < v1.21 configs - 'notification.background': base.bg, - 'notification.foreground': base.fg, - 'notification.buttonBackground': misc.container, - 'notification.buttonForeground': base.fg, - 'notification.buttonHoverBackground': null, - 'notification.errorBackground': base.red, - 'notification.errorForeground': base.fg, - 'notification.infoBackground': base.cyan, - 'notification.infoForeground': base.bg, - 'notification.warningBackground': base.orange, - 'notification.warningForeground': base.bg -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/panels.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/panels.ts deleted file mode 100644 index 360f39be..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/panels.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_panel-colors -export default ({ base, misc }: Colors) => ({ - 'panel.background': base.bg, - 'panel.border': base.purple, - 'panelTitle.activeBorder': base.pink, - 'panelTitle.activeForeground': base.fg, - 'panelTitle.inactiveForeground': misc.comment -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/peek-view.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/peek-view.ts deleted file mode 100644 index 3ca35d70..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/peek-view.ts +++ /dev/null @@ -1,19 +0,0 @@ -import alpha from '../../lib/alpha'; -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_peek-view-colors -export default ({ base, misc }: Colors) => ({ - 'peekView.border': misc.activeBorder, - 'peekViewEditor.background': base.bg, - 'peekViewEditorGutter.background': null, - 'peekViewEditor.matchHighlightBackground': alpha(base.yellow, 80), - 'peekViewResult.background': base.bg, - 'peekViewResult.fileForeground': base.fg, - 'peekViewResult.lineForeground': base.fg, - 'peekViewResult.matchHighlightBackground': alpha(base.yellow, 80), - 'peekViewResult.selectionBackground': misc.lineHighlight, - 'peekViewResult.selectionForeground': base.fg, - 'peekViewTitle.background': misc.container, - 'peekViewTitleDescription.foreground': misc.comment, - 'peekViewTitleLabel.foreground': base.fg -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/progress-bar.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/progress-bar.ts deleted file mode 100644 index 695b9575..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/progress-bar.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_progress-bar -export default ({ base }: Colors) => ({ - 'progressBar.background': base.pink -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/quick-picker.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/quick-picker.ts deleted file mode 100644 index 1cebb2f0..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/quick-picker.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_quick-picker -export default ({ base }: Colors) => ({ - 'pickerGroup.border': base.purple, - 'pickerGroup.foreground': base.cyan -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/scrollbar.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/scrollbar.ts deleted file mode 100644 index e558bb5e..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/scrollbar.ts +++ /dev/null @@ -1,7 +0,0 @@ -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_scrollbar-control -export default () => ({ - 'scrollbar.shadow': null, - 'scrollbarSlider.activeBackground': null, - 'scrollbarSlider.background': null, - 'scrollbarSlider.hoverBackground': null -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/sidebar.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/sidebar.ts deleted file mode 100644 index e032d433..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/sidebar.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_side-bar -export default ({ base }: Colors) => ({ - 'sideBar.background': base.bg, - 'sideBar.foreground': null, - 'sideBar.border': null, - 'sideBar.dropBackground': null, - 'sideBarTitle.foreground': base.fg, - // TODO: explore color change - 'sideBarSectionHeader.background': null, - 'sideBarSectionHeader.foreground': null -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/status-bar.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/status-bar.ts deleted file mode 100644 index ffa2b9ab..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/status-bar.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_status-bar-colors -export default ({ base, misc }: Colors) => ({ - 'statusBar.background': base.bg, - 'statusBar.foreground': base.fg, - 'statusBar.border': misc.activeBorder, - 'statusBar.debuggingBackground': base.red, - 'statusBar.debuggingForeground': base.fg, - 'statusBar.debuggingBorder': misc.activeBorder, - 'statusBar.noFolderBackground': base.bg, - 'statusBar.noFolderForeground': base.fg, - 'statusBarItem.activeBackground': null, - 'statusBarItem.hoverBackground': null, - 'statusBarItem.prominentBackground': base.red, - 'statusBarItem.prominentHoverBackground': base.orange -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/terminal.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/terminal.ts deleted file mode 100644 index f91f7793..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/terminal.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_integrated-terminal-colors -export default ({ base, ansi }: Colors) => ({ - 'terminal.background': base.bg, - 'terminal.foreground': base.fg, - 'terminal.ansiBrightBlack': ansi.color8, - 'terminal.ansiBrightRed': ansi.color9, - 'terminal.ansiBrightGreen': ansi.color10, - 'terminal.ansiBrightYellow': ansi.color11, - 'terminal.ansiBrightBlue': ansi.color12, - 'terminal.ansiBrightMagenta': ansi.color13, - 'terminal.ansiBrightCyan': ansi.color14, - 'terminal.ansiBrightWhite': ansi.color15, - 'terminal.ansiBlack': ansi.color0, - 'terminal.ansiRed': ansi.color1, - 'terminal.ansiGreen': ansi.color2, - 'terminal.ansiYellow': ansi.color3, - 'terminal.ansiBlue': ansi.color4, - 'terminal.ansiMagenta': ansi.color5, - 'terminal.ansiCyan': ansi.color6, - 'terminal.ansiWhite': ansi.color8, - 'terminalCursor.background': base.bg, - 'terminalCursor.foreground': ansi.color2 -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/title-bar.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/title-bar.ts deleted file mode 100644 index 31514f8b..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/title-bar.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_title-bar-colors-macos -export default ({ base, misc }: Colors) => ({ - 'titleBar.activeBackground': misc.container, - 'titleBar.activeForeground': base.fg, - 'titleBar.inactiveBackground': misc.container, - 'titleBar.inactiveForeground': misc.comment -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/welcome.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/welcome.ts deleted file mode 100644 index 51f2b2d3..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/colors/welcome.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Colors } from '../Theme'; - -// See: https://code.visualstudio.com/docs/getstarted/theme-color-reference#_welcome-page -export default ({ misc }: Colors) => ({ - 'welcomePage.buttonBackground': null, - 'welcomePage.buttonHoverBackground': misc.container, - 'walkThrough.embeddedEditorBackground': misc.container -}); diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/TokenSettings.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/TokenSettings.ts deleted file mode 100644 index 00ef3902..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/TokenSettings.ts +++ /dev/null @@ -1,19 +0,0 @@ -export default interface TokenSettings { - name?: string; - scope: string[]; - settings: TokenSettingsList; -} - -interface TokenSettingsList { - foreground?: string; - fontStyle?: TokenFontStyle; -} - -export enum TokenFontStyle { - regular = 'regular', - normal = 'normal', - bold = 'bold', - italic = 'italic', - underline = 'underline', - ui = 'underline italic' -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/classes.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/classes.ts deleted file mode 100644 index bf88faba..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/classes.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - classDefinitions(colors), - instanceKeywords(colors), - inheritedClasses(colors), - builtinClasses(colors) -]; - -function classDefinitions({ base }: Colors): TokenSettings { - return { - name: 'Class definitions', - scope: ['entity.name.type.class'], - settings: { - foreground: base.green - } - }; -} - -function instanceKeywords({ base }: Colors): TokenSettings { - return { - name: 'Instance keywords (this, super, self, etc.)', - scope: [ - 'keyword.other.this', - 'variable.language', - 'variable.parameter.function.language.special' - ], - settings: { - foreground: base.purple - } - }; -} - -function inheritedClasses({ base }: Colors): TokenSettings { - return { - name: 'Inherited classes', - scope: ['entity.other.inherited-class'], - settings: { - foreground: base.cyan - } - }; -} - -function builtinClasses({ base }: Colors): TokenSettings { - return { - name: 'Built-in classes', - scope: ['support.class.builtin'], - settings: { - foreground: base.green - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/comments.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/comments.ts deleted file mode 100644 index e652c296..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/comments.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - comments(colors), - ...jsdoc(colors) -]; - -function comments({ misc }: Colors): TokenSettings { - return { - name: 'Comments', - scope: [ - 'comment', - 'punctuation.definition.comment', - 'unused.comment', - 'wildcard.comment' - ], - settings: { - foreground: misc.comment - } - }; -} - -// TODO: some things are missing here, do audit -function jsdoc({ base }: Colors): TokenSettings[] { - return [ - { - name: 'JSDoc comment keywords/classes', - scope: [ - 'comment keyword.codetag.notation', - 'comment.block.documentation keyword', - 'comment.block.documentation storage.type.class' - ], - settings: { - foreground: base.cyan - } - }, - { - name: 'JSDoc-style comment parameters', - scope: ['comment.block.documentation variable'], - settings: { - foreground: base.orange - } - } - ]; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/constants.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/constants.ts deleted file mode 100644 index 4327ee29..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/constants.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - constants(colors), - userDefinedConstants(colors), - constantEscapes(colors), - timestamps(colors), - builtinConstants(colors) -]; - -function constants({ base }: Colors): TokenSettings { - return { - name: 'Constants', - scope: ['constant'], - settings: { - foreground: base.orange - } - }; -} - -function userDefinedConstants({ base }: Colors): TokenSettings { - return { - name: 'User-defined constants', - scope: ['variable.other.constant'], - settings: { - foreground: base.purple - } - }; -} - -function constantEscapes({ base }: Colors): TokenSettings { - return { - name: 'Constant escape sequences', - scope: [ - 'constant.character.escape', - 'constant.character.string.escape', - 'constant.regexp' - ], - settings: { - foreground: base.pink - } - }; -} - -function timestamps({ base }: Colors): TokenSettings { - return { - name: 'Dates and timestamps', - scope: ['constant.other.date', 'constant.other.timestamp'], - settings: { - foreground: base.orange - } - }; -} - -function builtinConstants({ base }: Colors): TokenSettings { - return { - name: 'Built-in constants', - scope: ['support.variable', 'variable.other.predefined'], - settings: { - foreground: base.purple - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/functions.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/functions.ts deleted file mode 100644 index 82112538..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/functions.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - definitions(colors), - params(colors), - invocation(colors), - decorators(colors), - magicFunctions(colors) -]; - -function definitions({ base }: Colors): TokenSettings { - return { - name: 'Function definitions', - scope: ['meta.definition.function', 'meta.definition.method'], - settings: { - foreground: base.green - } - }; -} - -function params({ base }: Colors): TokenSettings { - return { - name: 'Function parameters', - scope: [ - 'entity.name.variable.parameter', - 'meta.at-rule.function variable', - 'meta.at-rule.mixin variable', - 'variable.parameter' - ], - settings: { - foreground: base.orange - } - }; -} - -function invocation({ base }: Colors): TokenSettings { - return { - name: 'Function invocation', - scope: [ - 'meta.function-call.generic', - 'meta.function-call.object', - 'meta.function-call.static', - 'keyword.operator.function.infix' - ], - settings: { - foreground: base.cyan - } - }; -} - -function decorators({ base }: Colors): TokenSettings { - return { - name: 'Decorators', - scope: [ - 'meta.decorator variable.other.readwrite', - 'meta.decorator variable.other.property', - 'meta.decorator variable.other.object' - ], - settings: { - foreground: base.green - } - }; -} - -function magicFunctions({ base }: Colors): TokenSettings { - return { - name: 'Magic functions', - scope: ['support.function.magic'], - settings: { - foreground: base.purple - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/index.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/index.ts deleted file mode 100644 index c7e6d41b..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/index.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings, { TokenFontStyle } from '../TokenSettings'; - -import classes from './classes'; -import comments from './comments'; -import constants from './constants'; -import functions from './functions'; -import keywords from './keywords'; -import punctuation from './punctuation'; -import strings from './strings'; -import typings from './typings'; -import variables from './variables'; - -export default (colors): TokenSettings[] => [ - ...buildGeneralSettings(colors), - ...classes(colors), - ...comments(colors), - ...constants(colors), - ...functions(colors), - ...keywords(colors), - ...punctuation(colors), - ...strings(colors), - ...typings(colors), - ...variables(colors) -]; - -function buildGeneralSettings({ base }: Colors): TokenSettings[] { - return [ - { - scope: ['emphasis'], - settings: { - fontStyle: TokenFontStyle.italic - } - }, - { - scope: ['strong'], - settings: { - fontStyle: TokenFontStyle.bold - } - }, - { - scope: ['header'], - settings: { - foreground: base.purple - } - }, - { - scope: ['source'], - settings: { - foreground: base.fg - } - } - ]; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/keywords.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/keywords.ts deleted file mode 100644 index 874176e7..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/keywords.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings, { TokenFontStyle } from '../TokenSettings'; - -export default ({ base }: Colors): TokenSettings[] => [ - { - name: 'Keywords', - scope: ['keyword', 'punctuation.definition.keyword'], - settings: { - foreground: base.pink - } - }, - { - name: 'Keyword "new"', - scope: ['keyword.control.new', 'keyword.operator.new'], - settings: { - fontStyle: TokenFontStyle.bold - } - } -]; diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/punctuation.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/punctuation.ts deleted file mode 100644 index 3ed8099a..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/punctuation.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - separators(colors), - bounds(colors), - interpolation(colors) -]; - -function separators({ base }: Colors): TokenSettings { - return { - name: 'Separators', - scope: [ - 'entity.other.attribute-name.placeholder punctuation', - 'entity.other.attribute-name.pseudo-class punctuation', - 'entity.other.attribute-name.pseudo-element punctuation', - 'meta.object-binding-pattern-variable punctuation.destructuring', - 'punctuation.definition.entity.other.inherited-class', - 'punctuation.separator.dictionary.key-value', - 'punctuation.separator.hash', - 'punctuation.separator.inheritance', - 'punctuation.separator.key-value', - 'punctuation.separator.namespace', - 'punctuation.separator.pointer-access', - 'punctuation.separator.slice', - 'string.unquoted.heredoc punctuation.definition.string', - 'punctuation.separator.annotation', - 'punctuation.accessor' - ], - settings: { - foreground: base.pink - } - }; -} - -function bounds({ base }: Colors): TokenSettings { - return { - name: 'Bounds (brackets, braces, parens, etc.)', - scope: [ - 'meta.brace.round', - 'meta.function-call punctuation', - 'punctuation.definition.arguments.begin', - 'punctuation.definition.arguments.end', - 'punctuation.definition.entity.begin', - 'punctuation.definition.entity.end', - 'punctuation.definition.type.begin', - 'punctuation.definition.type.end', - 'punctuation.section.scope.begin', - 'punctuation.section.scope.end', - 'string.template meta.brace' - ], - settings: { - foreground: base.fg - } - }; -} - -function interpolation({ base }: Colors): TokenSettings { - return { - name: 'Variable interpolation operators', - scope: [ - 'meta.string-contents.quoted.double punctuation.definition.variable', - 'punctuation.definition.interpolation.begin', - 'punctuation.definition.interpolation.end', - 'punctuation.definition.template-expression.begin', - 'punctuation.definition.template-expression.end', - 'punctuation.section.embedded.begin', - 'punctuation.section.embedded.end' - ], - settings: { - foreground: base.pink - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/strings.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/strings.ts deleted file mode 100644 index 42841ba3..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/strings.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default ({ base }: Colors): TokenSettings[] => [ - { - name: 'Strings', - scope: [ - 'string', - - // For some reason, quotation marks surrounding strings will not be styled - // yellow when the string is used as a function parameter or object property - // in some languages. So, we force the styling explicitly! - 'punctuation.definition.string.begin', - 'punctuation.definition.string.end', - 'punctuation.support.type.property-name.begin', - 'punctuation.support.type.property-name.end' - ], - settings: { - foreground: base.yellow - } - } -]; diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/typings.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/typings.ts deleted file mode 100644 index 12cca2af..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/typings.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - storage(colors), - ...types(colors), - modifiers(colors) -]; - -function storage({ base }: Colors): TokenSettings { - return { - name: 'Storage', - scope: ['storage'], - settings: { - foreground: base.pink - } - }; -} - -function types({ base }: Colors): TokenSettings[] { - return [ - { - name: 'Types', - scope: ['entity.name.type'], - settings: { - foreground: base.cyan - } - }, - { - name: 'Generics, templates, and mapped type declarations', - scope: [ - 'entity.name.type.type-parameter', - 'meta.indexer.mappedtype.declaration entity.name.type', - 'meta.type.parameters entity.name.type' - ], - settings: { - foreground: base.orange - } - } - ]; -} - -function modifiers({ base }: Colors): TokenSettings { - return { - name: 'Modifiers', - scope: ['storage.modifier'], - settings: { - foreground: base.pink - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/variables.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/variables.ts deleted file mode 100644 index 0956103a..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/general/variables.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - variables(colors), - ...destructuring(colors) -]; - -function variables({ base }: Colors): TokenSettings { - return { - name: 'Variables and object properties', - scope: ['variable', 'support.variable.property'], - settings: { - foreground: base.fg - } - }; -} - -function destructuring({ base }: Colors): TokenSettings[] { - return [ - { - name: 'Destructuring value for alias', - scope: [ - 'meta.import variable.other.readwrite', - 'meta.object-binding-pattern-variable variable.object.property' - ], - settings: { - foreground: base.orange - } - }, - { - name: 'Destructuring value alias', - scope: ['meta.import variable.other.readwrite.alias'], - settings: { - foreground: base.fg - } - } - ]; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/index.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/index.ts deleted file mode 100644 index 24e88941..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import general from './general'; -import languages from './languages'; -import TokenSettings from './TokenSettings'; - -export default (colors): TokenSettings[] => { - return [...general(colors), ...languages(colors)]; -}; diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/c.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/c.ts deleted file mode 100644 index 0d626824..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/c.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default ({ base }: Colors): TokenSettings[] => [ - { - name: 'C Types', - scope: ['storage.type.c'], - settings: { - foreground: base.cyan - } - } -]; diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/coffeescript.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/coffeescript.ts deleted file mode 100644 index 5382d8fe..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/coffeescript.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - interpolation(colors), - ...destructuring(colors) -]; - -function interpolation({ base }: Colors): TokenSettings { - return { - name: 'CoffeeScript interpolation punctuation', - scope: ['punctuation.section.embedded.coffee'], - settings: { - foreground: base.pink - } - }; -} - -function destructuring({ base }: Colors): TokenSettings[] { - return [ - { - name: 'Destructuring value for alias', - scope: ['meta.variable.assignment.destructured.object.coffee variable'], - settings: { - foreground: base.orange - } - }, - { - name: 'Destructuring value alias', - scope: [ - 'meta.variable.assignment.destructured.object.coffee variable variable' - ], - settings: { - foreground: base.fg - } - } - ]; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/csharp.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/csharp.ts deleted file mode 100644 index 334fe964..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/csharp.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - punctuation(colors), - types(colors) -]; - -function punctuation({ base }: Colors): TokenSettings { - return { - name: 'C# punctuation bounds', - scope: ['punctuation.definition.tag.cs'], - settings: { - foreground: base.fg - } - }; -} - -function types({ base }: Colors): TokenSettings { - return { - name: 'C# Types', - scope: ['keyword.type.cs', 'storage.type.cs'], - settings: { - foreground: base.cyan - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/diff.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/diff.ts deleted file mode 100644 index 75d7ca56..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/diff.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings, { TokenFontStyle } from '../TokenSettings'; - -export default ({ base, misc }: Colors): TokenSettings[] => { - return [ - { - scope: ['meta.diff', 'meta.diff.header'], - settings: { - foreground: misc.comment - } - }, - { - scope: ['markup.inserted'], - settings: { - foreground: base.green - } - }, - { - scope: ['markup.deleted'], - settings: { - foreground: base.red - } - }, - { - scope: ['markup.changed'], - settings: { - foreground: base.orange - } - }, - { - scope: ['invalid'], - settings: { - foreground: base.red, - fontStyle: TokenFontStyle.ui - } - }, - { - scope: ['invalid.deprecated'], - settings: { - foreground: base.fg, - fontStyle: TokenFontStyle.ui - } - }, - { - scope: ['entity.name.filename'], - settings: { - foreground: base.yellow - } - }, - { - scope: ['markup.error'], - settings: { - foreground: base.red - } - } - ]; -}; diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/elixir.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/elixir.ts deleted file mode 100644 index e8a9c97e..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/elixir.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - functions(colors), - constants(colors), - ...modules(colors), - ...punctuation(colors) -]; - -function functions({ base }: Colors): TokenSettings { - return { - name: 'Elixir function definitions', - scope: ['entity.name.function.elixir'], - settings: { foreground: base.green } - }; -} - -function constants({ base }: Colors): TokenSettings { - return { - name: 'Elixir atoms', - scope: ['constant.other.symbol.elixir'], - settings: { foreground: base.cyan } - }; -} - -function modules({ base }: Colors): TokenSettings[] { - return [ - { - name: 'Elixir module definitions', - scope: ['entity.name.type.module.elixir'], - settings: { foreground: base.green } - }, - { - name: 'Elixir module variables', - scope: [ - 'variable.other.readwrite.module.elixir', - 'variable.other.readwrite.module.elixir punctuation.definition.variable.elixir' - ], - settings: { - foreground: base.orange - } - } - ]; -} - -function punctuation({ base }: Colors): TokenSettings[] { - return [ - { - name: 'Elixir separators', - scope: ['punctuation.separator.method.elixir'], - settings: { - foreground: base.pink - } - }, - { - name: 'Elixir interpolation', - scope: ['punctuation.section.embedded.elixir'], - settings: { - foreground: base.pink - } - }, - { - name: 'Elixir capture ampersands', - scope: [ - 'variable.other.anonymous.elixir punctuation.definition.variable.elixir' - ], - settings: { - foreground: base.pink - } - } - ]; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/go.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/go.ts deleted file mode 100644 index 3bcfd13e..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/go.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - punctuation(colors), - ...typings(colors), - ...functions(colors) -]; - -function typings({ base }: Colors): TokenSettings[] { - return [ - { - name: 'Go Types', - scope: ['source.go storage.type'], - settings: { - foreground: base.cyan - } - }, - { - name: 'Go Types', - scope: ['entity.name.type.go'], - settings: { foreground: base.purple } - } - ]; -} - -function functions({ base }: Colors): TokenSettings[] { - return [ - { - name: 'Go function definitions', - scope: ['entity.name.function.go'], - settings: { foreground: base.green } - }, - { - name: 'Go function invocation', - scope: ['support.function.go'], - settings: { foreground: base.cyan } - } - ]; -} - -function punctuation({ base }: Colors): TokenSettings { - return { - name: 'Go separators', - scope: ['punctuation.other.period.go', 'punctuation.other.colon.go'], - settings: { foreground: base.pink } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/graphql.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/graphql.ts deleted file mode 100644 index cb65f7a4..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/graphql.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - separators(colors), - keys(colors), - types(colors), - actions(colors), - variables(colors) -]; - -function separators({ base }: Colors): TokenSettings { - return { - name: 'GraphQL separators', - scope: ['punctuation.colon.graphql'], - settings: { - foreground: base.pink - } - }; -} - -function keys({ base }: Colors): TokenSettings { - return { - name: 'GraphQL keys', - scope: ['variable.graphql', 'variable.arguments.graphql'], - settings: { - foreground: base.yellow - } - }; -} - -function types({ base }: Colors): TokenSettings { - return { - name: 'GraphQL types', - scope: [ - 'support.type.graphql', - 'support.type.builtin.graphql', - 'support.type.enum.graphql', - 'entity.scalar.graphql' - ], - settings: { - foreground: base.cyan - } - }; -} - -function actions({ base }: Colors): TokenSettings { - return { - name: 'GraphQL actions (mutations, fragments, queries)', - scope: ['entity.name.function.graphql'], - settings: { - foreground: base.green - } - }; -} - -function variables({ base }: Colors): TokenSettings { - return { - name: 'GraphQL variables', - scope: [ - 'meta.selectionset.graphql variable.graphql', - 'variable.parameter.graphql' - ], - settings: { - foreground: base.orange - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/groovy.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/groovy.ts deleted file mode 100644 index 55305f58..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/groovy.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - functions(colors), - ...typings(colors), - resets(colors) -]; - -function functions({ base }: Colors): TokenSettings { - return { - name: 'Groovy function definitions', - scope: ['meta.method.groovy'], - settings: { - foreground: base.green - } - }; -} - -function typings({ base }: Colors): TokenSettings[] { - return [ - { - name: 'Groovy storage', - scope: ['source.groovy storage.type.def'], - settings: { - foreground: base.pink - } - }, - { - name: 'Groovy Types', - scope: ['source.groovy storage.type', 'storage.type.groovy'], - settings: { - foreground: base.cyan - } - } - ]; -} - -function resets({ base }: Colors): TokenSettings { - return { - name: 'Groovy foreground resets', - scope: ['keyword.operator.navigation.groovy'], - settings: { - foreground: base.fg - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/haskell.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/haskell.ts deleted file mode 100644 index af26165d..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/haskell.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - types(colors), - pragmas(colors), - resets(colors) -]; - -function types({ base }: Colors): TokenSettings { - return { - name: 'Haskell Types', - scope: ['storage.type.haskell'], - settings: { - foreground: base.cyan - } - }; -} - -function pragmas({ misc }: Colors): TokenSettings { - return { - name: 'Haskell Pragmas', - scope: ['meta.preprocessor.haskell'], - settings: { - foreground: misc.comment - } - }; -} - -function resets({ base }: Colors): TokenSettings { - return { - name: 'Haskell foreground resets', - scope: ['constant.language.empty-list.haskell'], - settings: { - foreground: base.fg - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/html-jsx-css.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/html-jsx-css.ts deleted file mode 100644 index 167118e2..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/html-jsx-css.ts +++ /dev/null @@ -1,134 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - jsxTagPunctuation(colors), - htmlTags(colors), - componentTags(colors), - ...selectors(colors), - attributeNames(colors), - resets(colors), - ...css(colors) -]; - -function jsxTagPunctuation({ base }: Colors): TokenSettings { - return { - name: 'JSX Tag Punctuation', - scope: [ - 'punctuation.definition.tag.begin.js', - 'punctuation.definition.tag.end.js', - 'punctuation.definition.tag.begin.tsx', - 'punctuation.definition.tag.end.tsx' - ], - settings: { - foreground: base.pink - } - }; -} - -function htmlTags({ base }: Colors): TokenSettings { - return { - name: 'HTML tags', - scope: ['entity.name.tag'], - settings: { - foreground: base.pink - } - }; -} - -function componentTags({ base }: Colors): TokenSettings { - return { - name: 'Component tags', - scope: [ - 'entity.name.tag support.class.component.js', - 'entity.name.tag support.class.component.tsx' - ], - settings: { - foreground: base.white - } - }; -} - -function selectors({ base }: Colors): TokenSettings[] { - return [ - { - name: 'Generic selectors', - scope: ['meta.selector'], - settings: { - foreground: base.pink - } - }, - { - name: 'Parent selectors (like `&`)', - scope: ['entity.other.attribute-name.parent-selector'], - settings: { - foreground: base.pink - } - }, - { - name: 'Attribute selector strings', - scope: ['meta.attribute-selector.scss'], - settings: { - foreground: base.yellow - } - }, - { - name: 'Attribute selector brackets', - scope: [ - 'punctuation.definition.attribute-selector.end.bracket.square.scss', - 'punctuation.definition.attribute-selector.begin.bracket.square.scss' - ], - settings: { - foreground: base.fg - } - } - ]; -} - -function attributeNames({ base }: Colors): TokenSettings { - return { - name: 'HTML/CSS attribute names', - scope: ['entity.other.attribute-name'], - settings: { - foreground: base.green - } - }; -} - -function resets({ base }: Colors): TokenSettings { - return { - name: 'JSX / TSX / CSS foreground resets', - scope: [ - 'punctuation.section.embedded.begin.tsx', - 'punctuation.section.embedded.end.tsx', - 'punctuation.section.embedded.begin.jsx', - 'punctuation.section.embedded.end.jsx', - 'punctuation.separator.list.comma.css' - ], - settings: { - foreground: base.fg - } - }; -} - -function css({ base }: Colors): TokenSettings[] { - return [ - { - name: 'CSS Property Keys', - scope: ['support.constant.property-value.css'], - settings: { - foreground: base.cyan - } - }, - { - name: '@media rules', - scope: [ - 'keyword.control.at-rule.media.scss', - 'keyword.control.at-rule.media.scss punctuation.definition.keyword.scss' - ], - settings: { - foreground: base.green - } - } - ]; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/index.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/index.ts deleted file mode 100644 index 66316b69..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/index.ts +++ /dev/null @@ -1,63 +0,0 @@ -import TokenSettings from '../TokenSettings'; - -import c from './c'; -import coffeescript from './coffeescript'; -import csharp from './csharp'; -import diff from './diff'; -import elixir from './elixir'; -import go from './go'; -import graphql from './graphql'; -import groovy from './groovy'; -import haskell from './haskell'; -import htmlCssJsx from './html-jsx-css'; -import java from './java'; -import javascript from './javascript'; -import lua from './lua'; -import makefile from './makefile'; -import markdown from './markdown'; -import objectiveC from './objective-c'; -import ocaml from './ocaml'; -import perl from './perl'; -import php from './php'; -import powershell from './powershell'; -import python from './python'; -import regexp from './regexp'; -import ruby from './ruby'; -import rust from './rust'; -import shell from './shell'; -import swift from './swift'; -import toml from './toml'; -import typescript from './typescript'; -import yaml from './yaml'; - -export default (colors): TokenSettings[] => [ - ...c(colors), - ...coffeescript(colors), - ...csharp(colors), - ...diff(colors), - ...elixir(colors), - ...go(colors), - ...graphql(colors), - ...groovy(colors), - ...haskell(colors), - ...htmlCssJsx(colors), - ...java(colors), - ...javascript(colors), - ...lua(colors), - ...makefile(colors), - ...markdown(colors), - ...objectiveC(colors), - ...ocaml(colors), - ...perl(colors), - ...php(colors), - ...powershell(colors), - ...python(colors), - ...regexp(colors), - ...ruby(colors), - ...rust(colors), - ...shell(colors), - ...swift(colors), - ...toml(colors), - ...typescript(colors), - ...yaml(colors) -]; diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/java.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/java.ts deleted file mode 100644 index e583ab44..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/java.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - functions(colors), - punctuationBounds(colors), - types(colors), - resets(colors) -]; - -function functions({ base }: Colors): TokenSettings { - return { - name: 'Java function invocation', - scope: ['meta.method-call.java meta.method'], - settings: { - foreground: base.green - } - }; -} - -function punctuationBounds({ base }: Colors): TokenSettings { - return { - name: 'Java punctuation bounds', - scope: ['storage.type.generic.java'], - settings: { - foreground: base.fg - } - }; -} - -function types({ base }: Colors): TokenSettings { - return { - name: 'Java Types', - scope: ['source.java storage.type'], - settings: { - foreground: base.cyan - } - }; -} - -function resets({ base }: Colors): TokenSettings { - return { - name: 'Java foreground resets', - scope: ['keyword.operator.dereference.java', 'storage.modifier.import'], - settings: { - foreground: base.fg - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/javascript.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/javascript.ts deleted file mode 100644 index 1074c018..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/javascript.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - prototypeProperty(colors), - constants(colors), - specialLanguageClasses(colors), - classesInUse(colors), - ...functions(colors) -]; - -function prototypeProperty({ base }: Colors): TokenSettings { - return { - name: 'JavaScript prototype prop', - scope: ['support.variable.property.js'], - settings: { foreground: base.purple } - }; -} - -function constants({ base }: Colors): TokenSettings { - return { - name: 'JavaScript constant definitions', - scope: ['variable.other.constant.js'], - settings: { - foreground: base.cyan - } - }; -} - -function specialLanguageClasses({ base }: Colors): TokenSettings { - return { - name: 'JavaScript language classes', - scope: [ - 'support.class.console.js', - 'support.type.object.module.js', - 'support.class.promise.js', - 'support.constant.json.js' - ], - settings: { - foreground: base.green - } - }; -} - -function classesInUse({ base }: Colors): TokenSettings { - return { - name: 'JavaScript classes in use', - scope: ['support.class.js'], - settings: { - foreground: base.green - } - }; -} - -function functions({ base }: Colors): TokenSettings[] { - return [ - { - name: 'JS function definitions', - scope: [ - 'meta.object-literal.key.js entity.name.function.js', - 'meta.var.expr.js meta.definition.variable.js entity.name.function.js', - 'meta.definition.property.js entity.name.function.js' - ], - settings: { - foreground: base.green - } - }, - { - name: 'JS function invocation', - scope: ['meta.function-call.js'], - settings: { - foreground: base.cyan - } - } - ]; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/lua.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/lua.ts deleted file mode 100644 index ed4383b3..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/lua.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [functions(colors)]; - -function functions({ base }: Colors): TokenSettings { - return { - name: 'Lua function definitions', - scope: ['support.function.any-method.lua'], - settings: { - foreground: base.green - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/makefile.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/makefile.ts deleted file mode 100644 index bf91e6e3..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/makefile.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - punctuation(colors), - keys(colors), - prerequisiteNames(colors) -]; - -function punctuation({ base }: Colors): TokenSettings { - return { - name: 'Makefile interpolation punctuation', - scope: ['punctuation.definition.variable.makefile'], - settings: { - foreground: base.pink - } - }; -} - -function keys({ base }: Colors): TokenSettings { - return { - name: 'Makefile keys', - scope: ['entity.name.function.target.makefile'], - settings: { - foreground: base.cyan - } - }; -} - -function prerequisiteNames({ base }: Colors): TokenSettings { - return { - name: 'Makefile prerequisite names', - scope: ['meta.scope.prerequisites.makefile'], - settings: { - foreground: base.yellow - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/markdown.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/markdown.ts deleted file mode 100644 index f5c6cb67..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/markdown.ts +++ /dev/null @@ -1,188 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings, { TokenFontStyle } from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - underlined(), - bolded(colors), - headings(colors), - italics(colors), - collections(colors), - inlineCode(colors), - ...links(colors), - blockquotes(colors), - hr(colors), - codeBlocks(colors), - constants(colors), - ...braces(colors) -]; - -function underlined(): TokenSettings { - return { - name: 'Underlined markdown', - scope: ['markup.underline'], - settings: { - fontStyle: TokenFontStyle.underline - } - }; -} - -function bolded({ base }: Colors): TokenSettings { - return { - name: 'Bolded markdown', - scope: ['markup.bold'], - settings: { - fontStyle: TokenFontStyle.bold, - foreground: base.orange - } - }; -} - -function headings({ base }: Colors): TokenSettings { - return { - name: 'Markdown headings', - scope: ['markup.heading'], - settings: { - fontStyle: TokenFontStyle.bold, - foreground: base.purple - } - }; -} - -function italics({ base }: Colors): TokenSettings { - return { - name: 'Markdown italics', - scope: ['markup.italic'], - settings: { - fontStyle: TokenFontStyle.italic, - foreground: base.yellow - } - }; -} - -function collections({ base }: Colors): TokenSettings { - return { - name: 'Collections (bullets + lists)', - scope: [ - 'beginning.punctuation.definition.list.markdown', - 'beginning.punctuation.definition.quote.markdown', - 'punctuation.definition.link.restructuredtext' - ], - settings: { - foreground: base.cyan - } - }; -} - -function inlineCode({ base }: Colors): TokenSettings { - return { - name: 'Inline code', - scope: ['markup.inline.raw', 'markup.raw.restructuredtext'], - settings: { - foreground: base.green - } - }; -} - -function links({ base }: Colors): TokenSettings[] { - return [ - { - name: 'Links', - scope: ['markup.underline.link', 'markup.underline.link.image'], - settings: { - foreground: base.cyan - } - }, - { - name: 'Link text, image alt text', - scope: [ - 'meta.link.reference.def.restructuredtext', - 'punctuation.definition.directive.restructuredtext', - 'string.other.link.description', - 'string.other.link.title' - ], - settings: { - foreground: base.pink - } - } - ]; -} - -function blockquotes({ base }: Colors): TokenSettings { - return { - name: 'Blockquotes', - scope: ['entity.name.directive.restructuredtext', 'markup.quote'], - settings: { - fontStyle: TokenFontStyle.italic, - foreground: base.yellow - } - }; -} - -function hr({ misc }: Colors): TokenSettings { - return { - name: 'Horizontal rule', - scope: ['meta.separator.markdown'], - settings: { - foreground: misc.comment - } - }; -} - -function codeBlocks({ base }: Colors): TokenSettings { - return { - name: 'Code blocks', - scope: [ - 'fenced_code.block.language', - 'markup.raw.inner.restructuredtext', - 'markup.fenced_code.block.markdown punctuation.definition.markdown' - ], - settings: { - foreground: base.green - } - }; -} - -function constants({ base }: Colors): TokenSettings { - return { - name: 'Markdown constants', - scope: ['punctuation.definition.constant.restructuredtext'], - settings: { - foreground: base.purple - } - }; -} - -function braces({ base }: Colors): TokenSettings[] { - return [ - { - name: 'Braces in markdown headings', - scope: [ - 'markup.heading.markdown punctuation.definition.string.begin', - 'markup.heading.markdown punctuation.definition.string.end' - ], - settings: { - foreground: base.purple - } - }, - { - name: 'Braces in markdown paragraphs', - scope: [ - 'meta.paragraph.markdown punctuation.definition.string.begin', - 'meta.paragraph.markdown punctuation.definition.string.end' - ], - settings: { - foreground: base.fg - } - }, - { - name: 'Braces in markdown blockquotes', - scope: [ - 'markup.quote.markdown meta.paragraph.markdown punctuation.definition.string.begin', - 'markup.quote.markdown meta.paragraph.markdown punctuation.definition.string.end' - ], - settings: { - foreground: base.yellow - } - } - ]; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/objective-c.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/objective-c.ts deleted file mode 100644 index 44ced234..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/objective-c.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default ({ base }: Colors): TokenSettings[] => [ - { - name: 'Objective-C Storage', - scope: [ - 'meta.implementation storage.type.objc', - 'meta.interface-or-protocol storage.type.objc' - ], - settings: { - foreground: base.pink - } - }, - { - name: 'Objective-C Types', - scope: [ - 'meta.protocol-list.objc', - 'meta.return-type.objc', - 'storage.type.objc' - ], - settings: { - foreground: base.cyan - } - } -]; diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/ocaml.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/ocaml.ts deleted file mode 100644 index 87f2ca1a..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/ocaml.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default ({ base }: Colors): TokenSettings[] => [ - { - name: 'OCaml Types', - scope: ['storage.type.ocaml'], - settings: { - foreground: base.cyan - } - } -]; diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/perl.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/perl.ts deleted file mode 100644 index 9244973e..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/perl.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default ({ base }: Colors): TokenSettings[] => [ - { - name: 'Variables and object properties', - scope: ['constant.other.key.perl'], - settings: { - foreground: base.fg - } - } -]; diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/php.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/php.ts deleted file mode 100644 index f2145763..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/php.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - instanceKeywords(colors), - ...functions(colors), - interpolation(colors), - types(colors) -]; - -function instanceKeywords({ base }: Colors): TokenSettings { - return { - name: 'PHP instance keywords', - scope: ['variable.language punctuation.definition.variable.php'], - settings: { foreground: base.purple } - }; -} - -function functions({ base }: Colors): TokenSettings[] { - return [ - { - name: 'PHP function parameters', - scope: ['meta.function.arguments variable.other.php'], - settings: { - foreground: base.green - } - }, - { - name: 'PHP function invocation', - scope: ['meta.function-call.php'], - settings: { - foreground: base.cyan - } - } - ]; -} - -function interpolation({ base }: Colors): TokenSettings { - return { - name: 'PHP interpolation operators', - scope: ['punctuation.section.embedded.end source.php'], - settings: { - foreground: base.pink - } - }; -} - -function types({ base }: Colors): TokenSettings { - return { - name: 'PHP Types', - scope: ['storage.type.php'], - settings: { - foreground: base.cyan - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/powershell.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/powershell.ts deleted file mode 100644 index b7d5f356..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/powershell.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - punctuation(colors), - types(colors), - constants(colors) -]; - -function punctuation({ base }: Colors): TokenSettings { - return { - name: 'Powershell punctuation bounds', - scope: [ - 'keyword.operator.other.powershell', - 'keyword.other.statement-separator.powershell' - ], - settings: { - foreground: base.fg - } - }; -} - -function types({ base }: Colors): TokenSettings { - return { - name: 'Powershell Types', - scope: ['source.powershell entity.other.attribute-name'], - settings: { - foreground: base.cyan - } - }; -} - -function constants({ base }: Colors): TokenSettings { - return { - name: 'Powershell constants', - scope: ['support.constant'], - settings: { - foreground: base.purple - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/python.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/python.ts deleted file mode 100644 index 9297d0fd..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/python.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - ...functions(colors), - punctuation(colors) -]; - -function functions({ base }: Colors): TokenSettings[] { - return [ - { - name: 'Python function definitions', - scope: ['entity.name.function.python'], - settings: { foreground: base.green } - }, - { - name: 'Python function invocation', - scope: [ - 'meta.function-call.python support.type.python', - 'meta.function-call.python support.function.builtin.python' - ], - settings: { foreground: base.cyan } - } - ]; -} - -function punctuation({ base }: Colors): TokenSettings { - return { - name: 'Python separators', - scope: [ - 'punctuation.separator.period.python', - 'punctuation.separator.colon.python', - 'punctuation.separator.dict.python', - 'punctuation.section.function.begin.python' - ], - settings: { foreground: base.pink } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/regexp.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/regexp.ts deleted file mode 100644 index e1692cb3..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/regexp.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default ({ base }: Colors): TokenSettings[] => [ - { - name: 'RegExp string', - scope: [ - 'string.regexp', - 'constant.other.character-class.set.regexp', - 'constant.character.escape.backslash.regexp' - ], - settings: { - foreground: base.yellow - } - }, - { - name: 'RegExp non-capture operators', - scope: ['punctuation.definition.group.capture.regexp'], - settings: { - foreground: base.pink - } - }, - { - name: 'RegExp start and end characters', - scope: [ - 'string.regexp punctuation.definition.string.begin', - 'string.regexp punctuation.definition.string.end' - ], - settings: { - foreground: base.red - } - }, - { - name: 'Character group', - scope: ['punctuation.definition.character-class.regexp'], - settings: { - foreground: base.cyan - } - }, - { - name: 'Capture groups', - scope: ['punctuation.definition.group.regexp'], - settings: { - foreground: base.orange - } - }, - { - name: 'Assertion operators', - scope: [ - 'punctuation.definition.group.assertion.regexp', - 'keyword.operator.negation.regexp' - ], - settings: { - foreground: base.red - } - }, - { - name: 'Positive lookaheads', - scope: ['meta.assertion.look-ahead.regexp'], - settings: { - foreground: base.green - } - } -]; diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/ruby.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/ruby.ts deleted file mode 100644 index e2644cb3..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/ruby.ts +++ /dev/null @@ -1,126 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - instanceVariables(colors), - classVariables(colors), - classesInUse(colors), - constants(colors), - ...functions(colors), - ...punctuation(colors), - symbols(colors) -]; - -function instanceVariables({ base }: Colors): TokenSettings { - return { - name: 'Ruby instance variables', - scope: [ - 'variable.other.readwrite.instance.ruby', - 'variable.other.readwrite.instance.ruby punctuation.definition.variable.ruby' - ], - settings: { - foreground: base.orange - } - }; -} - -function classVariables({ base }: Colors): TokenSettings { - return { - name: 'Ruby class variables', - scope: [ - 'variable.other.readwrite.class.ruby', - 'variable.other.readwrite.class.ruby punctuation.definition.variable.ruby' - ], - settings: { - foreground: base.cyan - } - }; -} - -function classesInUse({ base }: Colors): TokenSettings { - return { - name: 'Ruby classes in use', - scope: ['support.class.ruby'], - settings: { - foreground: base.green - } - }; -} - -function constants({ base }: Colors): TokenSettings { - return { - name: 'Ruby constant definitions', - scope: ['variable.other.constant.ruby'], - settings: { - foreground: base.cyan - } - }; -} - -function functions({ base }: Colors): TokenSettings[] { - return [ - { - name: 'Ruby function definitions', - scope: [ - 'meta.function.method.with-arguments.ruby entity.name.function.ruby', - 'meta.function.method.without-arguments.ruby entity.name.function.ruby' - ], - settings: { - foreground: base.green - } - }, - { - name: 'Ruby block function parameters', - scope: ['variable.other.block.ruby'], - settings: { - foreground: base.orange - } - }, - { - name: 'Ruby function invocation', - scope: [ - 'meta.function-call.ruby entity.name.function.ruby', - 'support.function.kernel.ruby' - ], - settings: { - foreground: base.cyan - } - } - ]; -} - -function punctuation({ base }: Colors): TokenSettings[] { - return [ - { - name: 'Ruby separators', - scope: ['punctuation.separator.method.ruby'], - settings: { - foreground: base.pink - } - }, - { - name: 'Ruby interpolation', - scope: ['punctuation.section.embedded.end source.ruby'], - settings: { - foreground: base.pink - } - } - ]; -} - -function symbols({ base }: Colors): TokenSettings { - return { - name: 'Ruby symbols', - scope: [ - 'constant.language.symbol.hashkey.ruby', - 'constant.language.symbol.ruby', - 'constant.other.symbol.hashkey.ruby', - 'constant.other.symbol.ruby', - 'punctuation.definition.constant.ruby', - 'punctuation.definition.constant.hashkey.ruby' - ], - settings: { - foreground: base.purple - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/rust.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/rust.ts deleted file mode 100644 index c761ad20..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/rust.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default ({ base }: Colors): TokenSettings[] => [ - { - name: 'Rust Types', - scope: ['storage.class.std.rust', 'storage.type.core.rust'], - settings: { - foreground: base.cyan - } - } -]; diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/shell.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/shell.ts deleted file mode 100644 index 697def23..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/shell.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - variables(colors), - resets(colors) -]; - -function variables({ base }: Colors): TokenSettings { - return { - name: 'Shell variables prefixed with "$"', - scope: ['source.shell variable.other'], - settings: { - foreground: base.purple - } - }; -} - -function resets({ base }: Colors): TokenSettings { - return { - name: 'Shell foreground resets', - scope: [ - 'meta.scope.for-loop.shell punctuation.definition.string.begin', - 'meta.scope.for-loop.shell punctuation.definition.string.end', - 'meta.scope.for-loop.shell string' - ], - settings: { - foreground: base.fg - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/swift.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/swift.ts deleted file mode 100644 index 5fda8e4d..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/swift.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - instanceKeywords(colors), - separators(colors), - types(colors) -]; - -function instanceKeywords({ base }: Colors): TokenSettings { - return { - name: 'Swift instance keywords', - scope: ['keyword.expressions-and-types.swift'], - settings: { foreground: base.purple } - }; -} - -function separators({ base }: Colors): TokenSettings { - return { - name: 'Swift separators', - scope: ['punctuation.function.swift'], - settings: { - foreground: base.pink - } - }; -} - -function types({ base }: Colors): TokenSettings { - return { - name: 'Groovy Types', - scope: [ - 'keyword.primitive-datatypes.swift', - 'storage.type.attribute.swift' - ], - settings: { - foreground: base.cyan - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/toml.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/toml.ts deleted file mode 100644 index 525051bc..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/toml.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - punctuation(colors), - keys(colors) -]; - -function punctuation({ base }: Colors): TokenSettings { - return { - name: 'TOML separators', - scope: ['meta.group.double.toml', 'meta.group.toml'], - settings: { - foreground: base.pink - } - }; -} - -function keys({ base }: Colors): TokenSettings { - return { - name: 'TOML keys', - scope: [ - 'entity.name.section.toml', - 'entity.name.tag.yaml', - 'variable.other.key.toml' - ], - settings: { - foreground: base.cyan - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/typescript.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/typescript.ts deleted file mode 100644 index f0ada325..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/typescript.ts +++ /dev/null @@ -1,141 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - prototypeProperty(colors), - constants(colors), - specialLanguageClasses(colors), - classesInUse(colors), - ...functions(colors), - ...typings(colors) -]; - -function prototypeProperty({ base }: Colors): TokenSettings { - return { - name: 'TypeScript prototype prop', - scope: ['support.variable.property.ts', 'support.variable.property.tsx'], - settings: { foreground: base.purple } - }; -} - -function constants({ base }: Colors): TokenSettings { - return { - name: 'TypeScript constant definitions', - scope: ['variable.other.constant.ts', 'variable.other.constant.tsx'], - settings: { - foreground: base.cyan - } - }; -} - -function specialLanguageClasses({ base }: Colors): TokenSettings { - return { - name: 'TypeScript language classes', - scope: [ - 'support.class.console.ts', - 'support.type.object.module.ts', - 'support.class.promise.ts', - 'support.constant.json.ts', - 'support.class.console.tsx', - 'support.type.object.module.tsx', - 'support.class.promise.tsx', - 'support.constant.json.tsx' - ], - settings: { - foreground: base.green - } - }; -} - -function functions({ base }: Colors): TokenSettings[] { - return [ - { - name: 'TS function definitions', - scope: [ - 'meta.object-literal.key.ts entity.name.function.ts', - 'meta.var.expr.ts meta.definition.variable.ts entity.name.function.ts', - 'meta.definition.property.ts entity.name.function.ts', - 'meta.object-literal.key.tsx entity.name.function.tsx', - 'meta.var.expr.tsx meta.definition.variable.tsx entity.name.function.tsx', - 'meta.definition.property.tsx entity.name.function.tsx' - ], - settings: { - foreground: base.green - } - }, - { - name: 'TS function invocation', - scope: ['meta.function-call.ts', 'meta.function-call.tsx'], - settings: { - foreground: base.cyan - } - } - ]; -} - -function classesInUse({ base }: Colors): TokenSettings { - return { - name: 'TypeScript classes in use', - scope: ['support.class.ts', 'support.class.tsx'], - settings: { - foreground: base.green - } - }; -} - -function typings({ base }: Colors): TokenSettings[] { - return [ - { - name: 'TS Typing Definitions', - scope: [ - 'entity.name.type.alias.ts', - 'entity.name.type.interface.ts', - 'entity.name.type.enum.ts', - 'entity.name.type.alias.tsx', - 'entity.name.type.interface.tsx', - 'entity.name.type.enum.tsx' - ], - settings: { - foreground: base.green - } - }, - { - name: 'TS Typing Uses', - scope: [ - 'support.type.primitive.ts', - 'support.type.builtin.ts', - 'entity.name.type.ts', - 'support.type.primitive.tsx', - 'support.type.builtin.tsx', - 'entity.name.type.tsx' - ], - settings: { - foreground: base.cyan - } - }, - { - name: 'TS Generics / Type Parameters', - scope: [ - 'meta.type.parameters.ts support.type.primitive.ts', - 'meta.type.parameters.ts entity.name.type.ts', - 'meta.type.parameters.tsx support.type.primitive.tsx', - 'meta.type.parameters.tsx entity.name.type.tsx' - ], - settings: { - foreground: base.orange - } - }, - { - name: 'TS Generics Punctuation', - scope: [ - 'punctuation.definition.typeparameters.begin.ts', - 'punctuation.definition.typeparameters.end.ts', - 'punctuation.definition.typeparameters.begin.tsx', - 'punctuation.definition.typeparameters.end.tsx' - ], - settings: { - foreground: base.pink - } - } - ]; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/yaml.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/yaml.ts deleted file mode 100644 index 9b08c379..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/settings/tokens/languages/yaml.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { Colors } from '../../Theme'; -import TokenSettings, { TokenFontStyle } from '../TokenSettings'; - -export default (colors: Colors): TokenSettings[] => [ - punctuation(colors), - keys(colors), - aliases(colors) -]; - -function punctuation({ base }: Colors): TokenSettings { - return { - name: 'YAML separators', - scope: [ - 'punctuation.definition.block.scalar.folded.yaml', - 'punctuation.definition.block.scalar.literal.yaml', - 'punctuation.definition.block.sequence.item.yaml', - 'punctuation.separator.key-value.mapping.yaml', - 'support.other.chomping-indicator.yaml' - ], - settings: { - foreground: base.pink - } - }; -} - -function keys({ base }: Colors): TokenSettings { - return { - name: 'YAML keys', - scope: ['entity.name.tag.yaml'], - settings: { - foreground: base.cyan - } - }; -} - -function aliases({ base }: Colors): TokenSettings { - return { - name: 'YAML aliases', - scope: ['variable.other.alias.yaml'], - settings: { - fontStyle: TokenFontStyle.underline, - foreground: base.green - } - }; -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/themes/DraculaAtNight.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/themes/DraculaAtNight.ts deleted file mode 100644 index ec5558ca..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/themes/DraculaAtNight.ts +++ /dev/null @@ -1,64 +0,0 @@ -import buildThemeSettings from '../settings/buildThemeSettings'; -import { ANSIColors, BaseColors, MiscColors, Theme } from '../settings/Theme'; - -// Base colors -const base: BaseColors = { - bg: '#0E1419', - fg: '#F8F8F2', - cyan: '#8BE9FD', - green: '#50FA7B', - orange: '#FFB86C', - pink: '#FF79C6', - purple: '#BD93F9', - red: '#FF5555', - yellow: '#F1FA8C', - white: '#FFFFFF' -}; - -// ANSI colors -const ansi: ANSIColors = { - color0: '#44475A', - color1: '#DE312B', - color2: '#2FD651', - color3: '#D0D662', - color4: '#9C6FCF', - color5: '#DE559C', - color6: '#6AC5D3', - color7: '#D7D4C8', - color8: '#656B84', - color9: '#FF5555', - color10: '#50FA7B', - color11: '#F1FA8C', - color12: '#BD93F9', - color13: '#FF79C6', - color14: '#8BE9FD', - color15: '#F8F8F2' -}; - -const misc: MiscColors = { - comment: '#6272A4', - activeBorder: '#6272A4', - lineHighlight: '#253340', - container: '#253340', - nonText: '#424450', - tabDropBg: '#44475A70', - bgLighter: '#424450', - bgLight: '#343746', - bgDark: '#21222C', - bgDarker: '#191A21', - purpleDarker: '#574473', - selection: '#44475A', - menuHover: '#3A434D' -}; - -const theme: Theme = { - name: 'Dracula At Night', - author: 'Billy Ceskavich', - maintainers: ['Billy Ceskavich '], - semanticClass: 'theme.dracula', - colorVars: { base, ansi, misc }, - - ...buildThemeSettings(base, ansi, misc) -}; - -export default theme; diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/themes/index.ts b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/themes/index.ts deleted file mode 100644 index 13005e3d..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/src/themes/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as DraculaAtNight } from './DraculaAtNight'; diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/tsconfig.json b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/tsconfig.json deleted file mode 100644 index b79688bd..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "outDir": "build", - "target": "es2017", - "sourceMap": true, - "esModuleInterop": true, - "noUnusedParameters": true, - "noUnusedLocals": true - }, - "exclude": ["node_modules"], - "include": ["src/**/*.ts"] -} diff --git a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/tslint.json b/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/tslint.json deleted file mode 100644 index c5ea2c8f..00000000 --- a/vscodium/extensions/bceskavich.theme-dracula-at-night-2.6.0/tslint.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": ["tslint:latest", "tslint-config-prettier"], - "rules": { - "no-console": false, - "interface-name": false, - "object-literal-sort-keys": false, - "member-access": false, - "no-var-requires": false, - "prefer-conditional-expression": false - } -} diff --git a/vscodium/extensions/icrawl.discord-vscode-5.8.0/.eslintignore b/vscodium/extensions/icrawl.discord-vscode-5.8.0/.eslintignore deleted file mode 100644 index cd4efd8e..00000000 --- a/vscodium/extensions/icrawl.discord-vscode-5.8.0/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -*.d.ts diff --git a/vscodium/extensions/icrawl.discord-vscode-5.8.0/README.md b/vscodium/extensions/icrawl.discord-vscode-5.8.0/README.md deleted file mode 100644 index b12c3085..00000000 --- a/vscodium/extensions/icrawl.discord-vscode-5.8.0/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# Discord Presence - -> Update your discord status with a rich presence. - -

- -## Features - -- Shows what you are editing in VSCode -- Support for over 140 of the most popular languages -- Enable/Disable Rich Presence for individual workspaces (enabled by default) -- Custom string support -- Stable or Insiders build detection -- Debug mode detection -- Easily manually reconnect to Discord - -## Troubleshooting - -**Windows:** Do not run your VSCode or Discord as admin, there is no reason to and it just further complicates everything down the line. - -**Linux:** Discord versions installed using `flatpak` or `snap` need modifications in order to support IPC. In order to avoid this (and as Discord itself suggests) you should download it from [discord.com](https://discord.com/download) - -References: -https://github.com/flathub/com.discordapp.Discord/issues/29 -https://github.com/iCrawl/discord-vscode/issues/77#issuecomment-435622205 -https://github.com/iCrawl/discord-vscode/issues/85#issuecomment-417895483 - -## Contributing - -1. [Fork the repository](https://github.com/iCrawl/discord-vscode/fork)! -2. Clone your fork: `git clone https://github.com/your-username/discord-vscode.git` -3. Create your feature branch: `git checkout -b my-new-feature` -4. Commit your changes: `git commit -am 'Add some feature'` -5. Push to the branch: `git push origin my-new-feature` -6. Submit a pull request :D - -## Author - -**Discord Presence** © [iCrawl](https://github.com/iCrawl). -Authored and maintained by iCrawl. - -> GitHub [@iCrawl](https://github.com/iCrawl) diff --git a/vscodium/extensions/icrawl.discord-vscode-5.8.0/assets/icon.png b/vscodium/extensions/icrawl.discord-vscode-5.8.0/assets/icon.png deleted file mode 100644 index 4609e5e94438fdcaa7a0bdb875ec9320d995b722..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32140 zcmeHwcT|(h*7qa?2q03WSRfQZK?uD`iFB2w6bnj`-Xk3;iGUPE!2&2<5d;LWf)puY zM~YMhX)4kbkRm}K`R2iM?m3rxuIpXveb@T_F>3*No|)Nu=C{l2nc1W9W+n!#%o~{j z0Ia(Wb@u~+hF{SD%K-n(1$X>_f0&4dhx`Cw;X-~;AT5Ir0JW!X76<(g8XKuO_;^X% zJNg`Rk`DGF!rB0+YXuYS9Xy=;amSoo+`Kh}r>bg&ac+(p!Uq(MWsHeBPOff-Cw!gE zPncLZobYf^brjapWL6JWg9N;s{OxhUUY_25YQY-9t8~@icjPr*7`Ix*-$O%q7s3#C z(AW&8$SLf=$;rqn;bm0uvIw=e6RaM2y$l>MWq+ksxzYuSK z`(P<=KarnA{-mSpEz|)?e7QM$^K(IqN|U;kDsg0e_{Er;{VDR z%EZ|CU%daZzg}Md$lA|eFAzfT2c-Yl($6A<=!D)@mp2!|r_PowvDbN)*> z|3(QZ`LBI<3U>Q1&5)9x%~n<6r-anuSk-iVo$UR6d@X!@JT-r6nc1HZ;&gNnty0Eq zJK*N+=o93(T^+x+$zSsRi<*^nZFVFS#u2y zV;@I1=a7G(At$3IFZ*{If2+Bc2DBeXdw=`?5tYB!{Tm%e2Q_COUoU%qO*b!l7biT? z+eID!*UP`v{Fhd#>G*j1_`+^EY09hP|LOHVw$k-+2td?&m$!qH9~6e)--HB3wQ9K9 z_AdYa_Rj)OH_e}J!_mjV%~9Hdfp1?dNX~hqGH(6TXmkgFRDpRJNCq zk&~BlfZwF#6%-U;e-s_1?3Io=s3ycH*|Hr$(IRC7F5V1zjfYtiSax(CPmqmX6(e&@d zYnvYWb<@8WuWkBQOG|Gze@(eRxUG5pw^m4C@N?EOhcT>^rjnwfyrMdO?d!EI%-n*V zJP+!+!CA`>@h6J1kkx9VwI%=9^3Z>6`L~ikTK*K)-{Q?xclh%yjAmgVjsI69{U4t4 zUw-WW^2=XC`oE;QhSqN;YXJH6<8QcrjnA6W-*Bw~(}_KDg6!C8bE&i_#3WYB@}^KgHQXFJbz^Sf|Y$e(L|xK4gNIJt3yS#*16X43U>ivyWO zCWhi88S9ytt}_XdInnls(OU`Rr06eugEI4WN*=0O3hG}n*xKr^wj2K-V>m=BdqnWS z4~xu&r4Ao2_VdWSTtgmp4E%%q0CwaT0r>?`$gls4mwzKfKEIr}pWCvtP3_bD6u0_b zIcMUo{G(Jg4~BuJo_f-F;511-aC&FodWF9I-Q#6#0ed&Jm$|n~UAa=$d8BWDxua)5 ztoO~Ql_fkb$hSi4SG26xJ7_MJ-=;|mhx^vwZ=j{q4wQeoP|P2u>_Kn)@^U@>SYXJ_ zE}|1qSWr0y!L@@Q*GZ~~?-ZdJJ!7sZwXPp_+dJG|Rw?9AsK;-uakbYy*ZZbM zr4*-hhd`gzCi$`x!mz~6x-Y5B!lpd3QQm5LC1J~Qo<03Y+zS;=x6|5So5XR&-Y*-TS%k``91aQYxO(|cWTRZ*wCTmKgXUZ# zFW!aeY-5JqGEB9{+_=#@%ymeTa^73=XnE(cJ`0mCbP);Hy)4_j9;i4J8s%$H?7NsX zz4_|L!g9A^0Bm;q(WQ_6J5}%w3U{!X`#e$) zd}GaH2N?1-iTzg&)u+z~E}A^s&);X2IGV4fONj{#ufKY~kXqa;ky#c+k|`eCTvN}D zCIhpM+wN`iGtCJbmK7Xs2KHHaFm=TxavmI~@3SiNX4JZ(prMlLqq5qQ&em39@SUu! zyaF}_3+h+-m*z1oV`Y0>z6^R~*b;;Q79`((WyIE>YhB;M)-p7;m7A+7W>Bxsf&~sK zn_oVd*M|WiWbt~>L{fX3^E7Lpm1>`r2Ud&kbV7-h(~e|gYhQco^o&>OItaB5_3j=Q z&D)))&nD#U=-a;&tHL)lTKD~aq4RaA3bXc4-2G4*1W+JDYwP~R{YZmyqQ}b1vn7i8 z+&W5S$*sn;`U5-FJ~{R)tkz<;Fo?~_co13Y=&5L_oNQpXE7^eIeL~4$@!on{x3r8W zn+y@AmLK<&H;VgP^AG1bFo_j3o{N<3v#OYTJ?KzLm3s>&H{lZk0DK`ZGh$ALKiH=(C$HkDDr-AlqkdCmNjL4@+y_B?K%SJ??G^ z+f&{t=r#^=(*zE_*d7IYqgQk{aC%>#6^rW!uz`=`_H_{ldcpjAI7GTVZN0I#O7R!QxYzf|ZC(MH(7m+QBNR6t=hr8mc(yL$X0JON>jvC~ zFRu>P=N*pC&^OS54%_`;@|~#CJg*1m7?|15aGX@+m#4^OvLf6Zx}K=|20q)*!^(v_ zC(c~tcCqJEfWI2Tks;#FGpFLgP&exeg+1hhi46W@UuU*d3Lxgo`tC~oPJeT$>#}Ik zJs9uL>_V`Gp)1tqOAn%GM(OU#P3*Yy&zYxQAFMZ3-3cHoPK%38gZQ`YY`~y-{flO7 zzp0BZU?*RujkjE`_h~OvGyF(LPL=6AnXutVk()1PCMRrk%<5u33*~RU4g1T6l7uY%o?D%p~8eg~xkYL;akDJvo;VVGq6-!JHqLpLUpY#KDq|J7N!BPPCO(o{hnPfXkehwcf33zQ!d2`FtH&!nYbfNYRG{ z)uwh2`lUzO&vO7wPT=ec??hRT0UesmUd$3K>%d6Ublw%1V}atcSI}n#SO>m22yogH=rYr?sM>2$BA~;yVSqW}Qkf;5l^zJIa1ss6BT4xe zVZjT{(c_g{TopJ#95n=0Kc%98MdifogBq7|r*mFmJ&1cVcG4O4a8IlOR5FWOM{Tn2 zbcQRifViRcC#%lBtM?e2!-4>RO09Ky=d1!Vi2L^PWXpIUQDBQ8D(Bpe@Ask-$Mbz% z*+CL{jC>0^w#&_lK(q$&Xh%M>0H$8CwF!!E#^MaKs_TanezGpqLv#L}lrrxk9R(Q1pgT?$Z&}{*k_<$LQfV-1 z_!0aK1#Av;wWh;K`T{$akkLRBcQdE2o(90+>w2>*-v?tw>Cx=Z?P;{n^o&5I{!P8} zw5=!unn0lgq6zU{OV=yj&PraOL&ZfI^tLRMZqyiwao|Y<#oBDn(yKTjblO7dklqXe@6b?&r*=Qoy zef#S_Yqy+2l$vT!oB39=gwT4%L&cxPa92MneEc1c=&tL{r|UE`l{&p`JOTMtG>v29 z?BuPNPcyT%q54cWEvDDgzaM7=W{cCLL+I+P{I0KpyI_gTDO#1kxoY)W06LjqKkA5k zo6O6yW8n-MP1I7Y;|qysEvGZrTxagT`nhY1En*AfC6sKAux(yN znbq$B7{by}oVOos?_S}B5Se|GgHZY-l0=SJs zG*0sqR3SxO%zf!r1hh}wNwrYjRVhb z;@A(}J3q}PUs&z8ck?+Gec=9JwB>@NTLd5qqxcS1Eu7wQM4J+8j;_QTKvcM_dM>a8 zSZ_x>o-SZG$6VY)pv1as5Sqt)q`xe0gyY}rQe{ib@-7nC2n3aZH9Z7POa*5Aq*Le&wz z(C`1&GahGjWiO>WadH5vVO^sRO@5d(S~i}GRB-N>u)L}BNO(bAo6;S&%dYurrt9Rg zDC~=ZqcgqB-2p)m^Wn#-{qy5fyobv5K2>gFqNQcAwRQzCpp%Fw!``B^`iwwF_9g>b z=62v0o-2NgL$+K@GSw68WDEzLtP6zb*)WOkq)8Vm0WUlDFRz)5vD%w`uH z6dNLeDA^&J*408(9q~$dm2OdFPIWTzyH_;L)%A5KEe1R>18rYty6zVSwsiozhp#Ji zgspc5oq4~oZAj~yIhv(EQ0ikfKPv7DaNIGLa}`x*czMYnK5YJbeDOi43tr;Ov0G6w zpni$t7RwiVe76dg=Bi)luqLZqKAO4 z?)uGNxCR!SR`hLoq{T)PrNCs_%ZpVl+CW$u!00#kJc`gpKR9^Rm%{esczDQ{?Y4L2 zu`9Xx=))^k7~EsD%)9l}(_#!@H!u0>W0FjI8AXm}5=nE~-0A5_L!;SupXinjvRyT}7MF0mE=vyCQOt)I8K1zgzb}~2%f752# z>Dk$rDdf+`7VsQoEE5^de#ct0kiI|Tq(;5#8f(0^#1*PymYCA_g8_q+K-(2=SHJ_q zB48o6%=n?QMt%7*{>R+)KE6>NNB~RdTCZ6IBf)Bbi$@a&2|kvONd;pkCq~4bci9bG z->xC34YYRvVL559!mSF@!0;Ndm`J64dz+EeN0&DA{uGEl2vokYfeR8~9!on()W)IB zlus5Oc;Q|J?V<=k`#j6I+kFY&1^{#HwODvr*fR;R=n0Lg_0iiWpR<$QS;!?kt(TEW)ZnYs6j#LvN0ucY26uWW+aKjBLAfCDLsSvT{qH}23`Xf4}@%oV@Lm1GBx1yL$P+X(f&H=W9BP^bb* zA*o)_^$U2wN~?e1P;O|i1j7pv@LYg?x>OrT96VfAy$7x({TNj=<-Kp&P-;IM?1?z9 z8iWJUT4-X&HuBJ=2&ZC=EvSNyQj#QPd(#%&<{_?ZTT+sB0Y5s2hwnZ=->z&@u=4>MiE)lX^hqJ1_3| zkk-TRg1X?tW-7Ms&a~z^kZ|H#cA9=Jqsm6V2>-{V>B*B$rsAgHg8-}`n~$35SHReD zclJn>zVUhx>&#|W6;6Fn{2;x7Ry^{47X-xN3Ij37&FiQOoGNSP#3@Wo0=UWss>mS) z*Cw`+*_xsC5Lv$2dVhU0nvP>DzkRfgOD6>{%n46H1Uw0VruUU?Y9aKbq8osAp{KeVtT?Oy;;Euz8Ow?5MapSB^{Z0-dNf@Rz5c&I;nPSg0R% zfZgj!n87DT+X87UXyW6Gv`?rsEz!(VdoS=)_iZ3wkA=3s`TY_*`QyruT1^VBN$^7R z^3!2PxfF)t<4)S7#GjiTd_s4?Gd%=zXDHPc4T(9wRJ*|LgRqvudSCgdBGIN5; z(q1=NqX9eYDmNx46$(y2OpLq~nJ|+!c#wsFEU4MZ*L`P?Mw2dK$VhRcZUapeO`Pke zDeMBfKjmv}4XU^0rbo)2`R_7&V=MxqVrT)@USjKTZvHzyq>?Vv5B@j>HPCF#4fr&; z=A({D0)9!#4tucsaG+HDrX5}IdO2w1-5ND9!50@dov1KK#kg@ZHLU4rze+dhcK zxNm0tGR#hniD59lc(E;iT$CHP{k;ywKpzw@3Nx<%&NYoCICZ1A-%E*PGQ{P9>%CEU zPUa-;$)oyp2D?GeXZjBz(L2#*XP=ULwX%azFAf$FWC)xOS2Q1MxTEb}hjGA|rAP#n zLx5CNfhL@%AX0k2S;w{GR!~I9sTBebemzpw$=Y8{eBf2Lh0Iv1WL*S0>v;oDy z1c;gRN*dD(B2-=l=Z^Tj+yM3}av43_l()%k@WNMHIPG<{rQ_nB z^ZlCVR~TQ7yq!H_^Rka5_BvM#&^4@*sacPk(o8W#y?D*sZ)B)@Ml~o-eJ=V%f4G6* z(M=fPmXcxqN8HrCOfv;cb%PLp81jDHW;}JmdhEOsw{&&=IfR91e#k$Nm*(fkcN z+2NEHjKn(h!5%-(tsu6X<|Xdg5HRtsO^{Y>~N5i3{K8>9~% zM_r!VKzTmA+-h8gnVUcJx<;y}#p7YGaN#tz&Tv&6?t3P_Pd&E%I*oEZlnpI{G&ungXkcdqIQ863!;lM+kSpcxPR6 zn^zw8u&CYirMj;Rr)U*l-W#hJ7$flrTov9$)+jdvKuGxkj|nxAGD!H7Hd;x$9kt}% zJ10m|s%~*uu!*d&%Ck^;Tw6G}w;5T!ZQMhsUp(wdPbjB5OFaA5u&$;@iMFMxVPUiT z%DSR`E3rC?+tFt6Na(pgWA|+lps2CI?94YTxiZ~O4{c(x#Fo<1!KO!7v-)=-#i1x+DKHkeh_T=3#T0yJJ!k7Z^Cy?}CYOpGTqxqip&pab}Fli zK3=}wZiyFeyX*kE=pxI;1E)XTGPQx6OT)O`2TuM$&T9+d&61NR2JS#AJ?3O8u=@H= zQf{jGQ*>>w{Erq1<_DoZe~=3nAXtZC>h?EcUs3kfol~<(;lc<@T0PfVo_a{~%r@tC zAIbWIC~NMV;SLO;{gWs>SYUeTcsu++c*Do1;o|*UZ)-&k*%oe^xrW4|B)FO_=*1HH z-)$BCD2xYEDb=ZVMqQI+jer`}(o))67ECT5wKvFWayI@N=#X5s_N*ha$J?t!@ZdyM zSgf59&*H=c9vVQpTCO0~RQUfLk?aHy0hEHat zhD(v7O^XZjXFfSwQT^gCfR3H3l$(!i2}j-T3`5ISJk-#(v=RzfZj))D?1+BFtUAr8Drdc)$K82NaZ3YS^A3%S;%lZVytX`G!BP) zUJCtg1*w=i!v0x}m~$X(Aa#CII2^m3IC*G35H4=dZyLt^LAK(pjqXd!4KPZ9|8Ol`7wS`0t-w)~D;qVc zl};ahPCD<^&aLh%U;eCMit#7$3~>O(lXY~WgUQ4G-BT5@KdCcJVx~*a-U4skrR^CF z>&QYhgYl);e>UVrr+n760{+$-+O759-riQ^uh;6C2>rMXJZB-nMOcFv90m-j@r4<) zBcsgZ!p++2O&;pq-q}A?>kt&274WuUU?KcnC9=~yIBiep72Xcsh1B0?TOmwS1mX%#Vl0CE=a^%=jhri05e41WUs^F)2hQg808(I1#Z zVRA-I;jHzVF-;S?b+^qM#*JG?8d-t~@8eAhKrmy&<=tO z_JI3Js!=jgZy@QBb1y12H;kF5-4!iW;=H~Y%5ADW8D8H?a?j{jR{lh1pEBB6_&(Nbm`N)*B0Tu>yIhN1INy)iMWW!* za~iF`e9EjZ3ImPEjyi9!(2y|5STgxBLo?S zbyJntEtu;&v}NjtYNau?KSK4qE0&UJM@&mjXJPz99&nK9gqRQyOcvrr^*{+*H;G{{ zzATy_THmzo9A@r&y#J1(ED*i@ry@MA64Dj{ZM*oy5?yQyXzv%fS~4lw@~1g*!gr4a z4AbL0f9hq&Zt`T)zQc4fi3HJQk3)OnjWRdUO5(juhcUQ>KdKxBlj`{Zcc~-PJKSUY zp%JbxefVQdg6SYyag~{{CVfutD^Wfs+To5O)|b`kgze|IHtLH5d$?FZI;;;)-`bGJ zK`x9I8M18}pWt<~t=oNSqCC#AHnU8I^pLbKXq)k;#?Th!g*zRf$0B z-nS7&!AD-SrRECEkYv?KG(V5rO;m$XiN*aH@gN~)`#o$R+>{xCo=z(fYLh9}^f5`{ zfwKc8tKm`OwM|sI3I`^%%>L8zOt9X%Zq$-iJT%?jVPUjFkNUm*??VB7#zWx(dj;YH zDF*Q}OyoBvFl4*>mLYiGr9f2JS@x~a*Mxr8|5)L_LwNb37zo+9F;@&rcx{SSsI1+{ zk1}jor>URBNo~-0rL?DI1TNZ0a6icf*?wQS(lH(;s%8%4qk`D;-#DaO_gYeCc@1V& zPwhs3;Gx336CN&T3ga!&)k`Tau;ec3Qem@Py_cm&UB7CvuZ(ookf%)}fg`dC>URO3 zGGHWf3Hm1;9i1reqDL4>xC>zA6W8LG9wIp;7>c@l63Ta8lfJe0U8`AM@vSuI+vSJ$ zP}tNPY0tEtO)XwgPQ4+Ir3EvS&%v4j1L#q&xGZpad^cKYd9%7jRGk{%l#5Dk3@7`- zPY-mT4z8v+o^p_%Vmv8VYO2GXj*yKs2PgHDp3!+kgv>|KWE^oOHZPPuK6ih;3>eHH)@Oah>GE4;L6N}lgWCJi>&XTh<@rH|hrG5#E z0_VS0VQB@-b)Vd7Jm2kkC;|dBn5O&AbAb{alfCH@H~@4{1aeaMag*cC5s{r6$_@&J z`3s+3Fd-t->9MeOqk@Ku$Q~7RfUVof>E}MVeZmlwJ9QKy$Z}HhiBhPa)9;&yY%p4p zE33?U#x^bY?tAW5WUl~D38$Y``-S@(0MF!WV|1HC)$H)Au83GH4-#hh!JEx+IuUID zf{JnO`)m_Q2l))XJp)+!YvJ6}GhFI62Xy3*_t+eIlrl(w^i;Zd2((5RwZYS%CoHKH8aef0ZzG&`mJ^yAJ6|9Hln<)$dI{iNaUoTC_JPySnZg8Ad}e~ z+%479Mqx>!2yHt)?v-N+7=pAAA5zIA`Xi<7n*n5NNa3lAqzT^PAR}oTkCFO=2R+|@ z+Pl;=E)7OTqcA^rO!emnvtFQEt%Zuk*oX~S$q#Mky^OUAHTyzZeT?BnUKMd?N+9@`)lo~ z&$CXu=&TOmgOs{eguV@cNf-1&=xCC$A6~WQ{lds6MMsEq!66E7 z^@^95ue&Gx;B*K`WS1aN3>-x5CX{TQn@zpVSGytw{8I$*I~{}o|6V674{q6`A%CAC zd1P^B&aZ~=tAZ0ksc*VA{oErk>O8#=&B9I{+QdXWYCBn-sE-^%&f6_tn)HEt776go zJivOMLykb{KBwrBNaC`+5W5IPg2T+xVx=2ZT%Os0_1TO>tzC4{B(IQ&Cdt^v1I5?B zA!otc&e58x7P7V}!xd=;BZwx2Q`#TZyeCSs@hN?Ms=Me3$^fxkU}Bke5Gv^`FnY|0B|(!UJNnROUk^Dt7sItS z{eTFWJk7YOjmxwkE^$y17!uxNv4Y`Xr;_22;x|)UR3BXw56VtfL2VOczAhk~@JEBu zWm;52QzM0myk$9yfL`qj?mS=r6sP3sj>1(;v=$N#aPDq-`|ZvXW^!D@-d=aQp+8<< zXkF*>l~_i5Y6V{1Ko`YhI$pS?i~III5^neYaOfxZH#=zqwSl6C`1hjhHrn}nzLmgt zPV(w4ZxN;jo*(Ht{hnC$A|btz?;aB=jTPZFT4UW_MpF2O#tDCHOF41UOpsqnUXKSa z#Ykd*A$!v{-gA3=_3gsfxh*gNVj@BCPzAhA^gfmiSjiMLkrG(vtQ|ggznPcs+=Ytd?`^)te+4U2l}6 z{Sb7UmpmWNxc;8)r+2)%-j8m)jtoW6hsTAI7xOP^MuT;i8D6|~-+;1NbcC6;+IJ=9Z{D%6R z?OC-B$-BqXU!~>B;dCu>VH)l6qd5p?+JxBKN!_fit!}m( zh&cafNjEFZ=2J>l<7-=^)!sc}9T|J`+2IR4xe7I2>pU1gqN~>T(MPJ-a*K*Z)?H%g zD|6;qo@6$Hd%D4D1Ks0G*|bp1AfKY!3F0kpNj<*q?6EDw=TBy3CR-B@#xqCCh1#g& zj^=qIXMklUwpOL{PHh1Se2DtCQh!Ws8u(Dlic+DzsS9GS8+x3EzdL$$CO#^BWj>Xx z6MG`IGbzjVV`ExCP4S_Lz5V&9`fc=fn}*H-i@`6n$k3&OcV#)yIqCHST$MvlFK@l; zskfLxK9R6)o$|8jlNjTg9pTll=^9;4WE3vmSllncF^R2v%deHU)QhcS+5;n``z3p# zy(m}I4mi&1pWjlIyMg-r@vP0~s|Mj$RBP8YNme-KFMT)x_qAoZF4C&K;I^C`S|+0p zq@)q*^jVftW(rSsUO4FT>B+5{wLY5Qo!k~pi$7R?RXuOIHMiz{)uos?Xxh7lE&X{82y=05MK=C5 zQ5*63n{DLb4wUa>lF9_D0I7$!D%a@D?gk|F>mU=MzZQ$)vqzHGdaU{|F6wT!xS7{! z4yF8Yew1wDqg^jkZ#Ae>6x~ghAbOP8~LQUX~C{b zkDsM>Z`u(-7DLtxLN+U<2PD{_?}0hAbTEG>+R^u+*X~l!{x)NsEn9DP|L|?msd>MW zgZJ~vMIp0-1~1L+(9{aH?(%wu{VYt+KFLgb(kjZ66BqL;&ark&eN-9Ni);UUX?yea z-AMh;&s5ftu0787a`bf<@Ei#*S!ngIYui&xHorWaJkMZVws<$>4E~JZbvLB;({ohC zYCH}&&~l%Tm7TamHu9#hIloyM4qs5{8*i-VGEGg~Ycq2j-vyC}hfFI!T9Q)~Ego`i z2dwb(4rZJri7qE@r8DB{IA?4f_U?Yg>u}Qdr`3f?^>_B zi2ZJgVB%ts@A17FEsAe%zf2vmN)8!+cbCsGKQ(^bvI$OfGBeh+jQKP%akxElgr!wr z`E;G=a%`hlQ0l^)_R9^&2hUIZnE5h`&yEZ3?Su8%+lOe83j>`m>U3EMFvm^|=G$Pz zhqU%jF5Sahm$l_IJbX6z;;KQ*tr@4GW41i+EuF_bp&rEvoDC^8fScQNsDfwP$a%N6 zsx#5zqCQ`0xR0q{IaZn30g3KCKeDp!l z!O9ZPNQD#En`+EX(d?-HcsX|QE}uE4r?2E3Doll3zU_$Jnb}Z6x^<}Oiw@YhapRw7 z-39ui2S~j&hL2vDsy8X@%J8v0QhO)tR{e$8##q5EQw+~u`)BnL-*#P@uApVK-yF^e zf~Uhg@XRVE2IdK~7e|w%g6+c>u}9OwUX$w8@b|{)ZM`3MroLl&HL*Te6I&NQLVZ-` zJ|ci7K9qBwmhOV7To0~4of{q-xhw_)=3Dz8k5I+EcJiVM&V$YU95Sbpwk}URrE5I6 znL&nldg~n#5My1e_gM(gB{F95SBrSvjEa^Tvh}gLrOyC3`KhWt*eGkBAEu(4PN#H2B}UR2KWnim!_q8KRpI-J*qj`orG#UzNWs~=a6aR=21}BPcg&(+?EXegLnzZ?{Tw|(J;~@gf&oC@q zUMWA}xEW2%Xj4$#UGAtlWJGx$zq@-&zj56QB!beK$4_aB34dfKCovHg{RxYlC}Ya= zl~$o8a$CG`qb+;#(%#=AgqDh=x>(uXD3uD+hL^to)&ST5dmrcG(%2l|L z^)3di%N09{pXz`~(sg3X7qtUp@IgDiIl&`htb5c%O8LFAfs74ukn0uM67>% zu&O?l{tV|2fenwOQk~0dHlpI<0Q@g|6kwQ0ht8OeP3>N{Bcd)f*@KUtJhV?@aptZ0 zuvg*kh@dnU>Qnm{@Z{W)%_GD6rU4e7_MgiVdpH(o+vTInU^l84UOr&1StvI)wdWO4 z;8u5;7RK)NPIM$oTiN*5Rwfc(+L&MX;>RKS=nTcALA`LBkbMKi*1_U7hv#jHY{qH( zf0!MdS%>0lvLKi2k5(IE6Blz?oEem}Rq{OMh}(VUM~dd;-u}-^g3nHouyuTmGLh}= z`G<`ka#3aOD$?y0TySbq)0RtVSWf4vF7OFvq!xGFPre}pICxhL$Uk&i51lm~`{s?( zjcPJ+)+$o|6-@1EDVcd%89z1m?RW=r=xX06i?K6$j=8xVqcOzh&`=q#NO#`4Y3h=J zpD)kAfW6eR#%pI!$Bq~C2UBF%Zz)nf_px!t<(2QV1z+y_KS;b?%i7@Kj=1SqLs)}& z1#f*&-b}vCTXKN$&5=(_%0F&KJgTs7md50uf0|Xt`p4P40!4`-=8Io~r6r1*`&Y!X z=bgTzYg`=qXR{YhM7UgP-UW_H1L3wD>v}CNDtO>D?rCdPJonW8+u&u>@zBwIHKxba zC!s5Nqx1T$yV4MwSuGbf+tysuC(BHbdP@E4marfR+QdLbjS#%MVKFUa;(oE)$>>4+ zG-Cn&p7%HCRQUMeqPYepQEhF1ws2j7uRrEz(iW!}5cZ{zad}u0nMiCXso7y$&rj#k zwK#JlbWzh{u`XM)X}YGB{k%3Pnr8nPaR3al?aLAi{=7KTRdzk2W8w8|4Y%{mJMnMD zBuvhFwtYw>lb6Cl1w$z(lVy*}-wv=|^w-lIIlO))RbXs1=^_U?nuQ#vaNUJrYH#nj z-eW=BMh^z7N9-$#kZtk}b&8Qkcu#iKQc>h=R!rOmwAs_x%XgwkBFm_2PvO+my-s&{ z+p*{K!!4#1xiK}(DwwjXTrH@idmEmKYd$%CTxDz0bnJDx&|M)O_I$kTw+2QVjmu~G zkM{_o*?VGD;1OR5oF0eR5QY;{-5JQ@b>JQN5AKwo>&p zhL0O<)(~3|@WQRKL_la6^}*P=5I z1q0`=%uX3^Sgt*-EhYqnNO5kG6xJa&z|L{_y{*C4i*VyX>&bC==SOrIrp!jP*}9$k znXh|Va=<+2ymWfsMSq}Z!UBd zIB}xcuf|@Mjbdrb?=gl+($S7@wWhwL+0BKioJJac5z2@6YRWAIVHaS|FI*ZHRxiyL zIKy`JQ1;N{LuLU2Kk&gcfng(VZ|TAwnV{J=xd$|!8UPPPvEg1tDAX=7^GFSh1y>vDekSh zQyS^ive0S6hU;VX75wI22&f_&!4!TM&tatR8-%AqxR{TQJeP%B`Iw;gJC+Q7gjrw+zRymyCRRCw zH81HNk%vvMfX$lQM(?>|%N=lZS+#rIoeFLYSX-2@uUl>`g z<>XINoJ2Zg0XrnrE3oW^gi2bV4%@tdrwkY&5|%B!zhU`fbYbX^5SVIh65Zb2@gY3% z6P&=!yFX=|+2m(}hw0CCvJs2C?{x~R7mjkmqdIdsxIL0YM_qYk4jHVNAlin znO+2~oV6k@%si$8>kfXk{X+HNM5E%u-A;6;-mk7Y!z&05PLE8su3PXEr9&reW^&yg zez>tp17_PB&M=Wa`t^$&VlcSliuOf*C!JNcZbSi5pSJ^FGt5TSvPI#xnRU1GqlFvH zlRO*IKvZn`Ouv4~({MZ!8OUr&nmXa~ifEG~3kdJsq=RqX-`(4sHw&*L3{~EJyZ9`> z`rai56u8qj?(%TKR`qz}JO40vH^!n?t}83+RjT*3eSomel#-4daptzeW_Pqc9Y0&q zrkh3&o-pF!Dfs9#ybY1y{yK$vuW)egjS9e3hAwCJKdWBw@%M+M#y${o=gN)sf|So< zz_p-TwfD>=Rcv!FLR#BAwEI^M77cpmUIhgI@08GVaXt;f{3uw&H?i=pWXh1gxm|$= zU|06gs+XR?&2t_#Wi-LE0NJ^@s{`+NYJBlgxrcA^4p)S`Z#hMGbaDo5o_!zyZ11t! z&paasisuXf<$BR0mD{7s53IITC8 zi_DDj(llTrPQ1p0DSILx1DgX%q$+and z{l*3en}V|#*M;m0av5S$BXjLA9~slI65doo6+|xQsBMP>&^?5iIcn?vs%i&2hHNi2 z*A5lT-vn7+G`ZIGbSrIa_T0D`Y@QVsY-$xoY=+xU^b?+OUWpY1)|-?xVjV~C3>-)=ca z70*PjXK@~`&8+^hLu#P2$AZXh%z;BStf=0Ac{#&~9NSQ^HQD`PW!}UYW7UO_jiQ7M zw)t;akJLuOQqIM~V6;PWPrFrCm&Nq{v-At>O`JIWn@fKE_4(IG8_E}ui+};|-Q5E; zAri4}8Q}QCM=c?CzPD!aqn;3O0_#Gfl1bxE+D=Pid8;l;xZ;72gZY^S4Gw;TpBKHJ z1jLsuuWKT1G*=B0G~R&Y99gJ+YcW^acHg-4S`F>U(wo+mH3bhICbkn%kMF-Iy>Ha0mVH$RX=}MMk5U~ONMCp3%x4y} z=Y#l%y&G8<7+*sZgoW*uJ3eN-Lq-Q8%lC%@eqONCHm^;;{XHW;>_EyEI*@GpF55jo-0fY7 zPfk0seZHY*qgF&`@5ZxUPoHIkCVgg=Nl}gPA({6#t~77U)Nw(MvL)mKEN3fcH~M9I zomIV&>bzbiQk5DRy3LYk{jSXbUK_lxhr73^QFu-Mk?e>-P6gfOskb&hwikzv-Waax z-#wB8Nhk#za$ZT_G;4CtiWr`zQ73usYe4!Ls^S5jodbq9kQ!yHU`tv5IAyi1ByUmY zTGRlsTY-Oa>*n6QkjJ(0YiHC2HRPjk3f{4Gb+l`X3388VFBtA? z!mvb#Dbk+hThYb`T*_;rlvClQ&m!%BH+oydZ!qWixL35H*YieBA9?+8&OJuH_T6;N zRd@~0M*>o^*f0^qrBuB&IY`<^uKGEXPyu68%#y2l{i6hj6WgH?=8P-q$pkcpnujbb zoK+p!9?4X6dT58~@FU66%MZu;szX-qu-achg*PxN=K7yanL3eD7x`-4wP(HZVA7zi?&{{QrZyqwP%dV7;^Dvl_SV(dSl%bEzdVE z^x-A!IcoBhfZ>LWr^X=*`?Zn#O+X?aitp)_!jxtx)`?1!#()yI7qlDB9)=sN;SE3z^V&_@w>sV4meP7!_;>g(+RhkQ&|1q&M@G2~nZE|wtGL+h4 zTdj?QN;jN_$DT!o#(`Vku04tjEsz~i?>ypv1Boh;>2ElFH)5H3o%f|H92X0@&P*CS zI5K8%w&IqNd5!-8i4jkc0!f9S?4WX+Oh2By)823{rm4ZXw|;Bt4y|M#0pw;h_l8$L zhLaN?eRFr{Jz%c7pu9cT@y5*2M7NM2-m4J_w(}t_2Z{!z_HHDQUjg>}I^!cC@hio?5cs!qcD)HB|>1t8U(E zRy~sjb0eN*1f6nL8R$N|C%XojLKdCP5Uq}vGHy5dLF#!`p6@$3vI)AD!s?(9hdTQ8#1!1Y4mU*|Is{X`!X2D(aoN68PZL}14^GW8O>w-JRGhnh;)vdxJv}r zcFs)JUWat>(9PeAOZdo@56$jc!JY2iT8m%X?%gl6?!W1j*>at^x%}2kRbG#Zw#2l1 zM`>@~wk_*0ycq**1(+cis)(JZ*_7BahcX50pRmeYfbp(se0_Rcd7P zY>e{Nic#B(uR;$f4fpNcWSwEF#6Q`x5vJQB(Um#E5hx&>k;z1^-OecY1>8qKLdh< AL;wH) diff --git a/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/activity.d.ts b/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/activity.d.ts deleted file mode 100644 index d4e36372..00000000 --- a/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/activity.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -interface ActivityPayload { - details?: string | undefined; - state?: string | undefined; - startTimestamp?: number | null | undefined; - largeImageKey?: string | undefined; - largeImageText?: string | undefined; - smallImageKey?: string | undefined; - smallImageText?: string | undefined; - partyId?: string | undefined; - partySize?: number | undefined; - partyMax?: number | undefined; - matchSecret?: string | undefined; - joinSecret?: string | undefined; - spectateSecret?: string | undefined; - buttons?: { - label: string; - url: string; - }[] | undefined; - instance?: boolean | undefined; -} -export declare function activity(previous?: ActivityPayload): Promise; -export {}; diff --git a/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/constants.d.ts b/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/constants.d.ts deleted file mode 100644 index eb937596..00000000 --- a/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/constants.d.ts +++ /dev/null @@ -1,60 +0,0 @@ -export declare const CLIENT_ID: "383226320970055681"; -export declare const KNOWN_EXTENSIONS: { - [key: string]: { - image: string; - }; -}; -export declare const KNOWN_LANGUAGES: { - language: string; - image: string; -}[]; -export declare const EMPTY: ""; -export declare const FAKE_EMPTY: "​​"; -export declare const FILE_SIZES: readonly [" bytes", "KB", "MB", "GB", "TB"]; -export declare const IDLE_IMAGE_KEY: "vscode-big"; -export declare const DEBUG_IMAGE_KEY: "debug"; -export declare const VSCODE_IMAGE_KEY: "vscode"; -export declare const VSCODE_INSIDERS_IMAGE_KEY: "vscode-insiders"; -export declare const UNKNOWN_GIT_BRANCH: "Unknown"; -export declare const UNKNOWN_GIT_REPO_NAME: "Unknown"; -export declare const enum REPLACE_KEYS { - Empty = "{empty}", - FileName = "{file_name}", - DirName = "{dir_name}", - FullDirName = "{full_dir_name}", - Workspace = "{workspace}", - VSCodeWorkspace = "(Workspace)", - WorkspaceFolder = "{workspace_folder}", - WorkspaceAndFolder = "{workspace_and_folder}", - LanguageLowerCase = "{lang}", - LanguageTitleCase = "{Lang}", - LanguageUpperCase = "{LANG}", - TotalLines = "{total_lines}", - CurrentLine = "{current_line}", - CurrentColumn = "{current_column}", - FileSize = "{file_size}", - AppName = "{app_name}", - GitRepoName = "{git_repo_name}", - GitBranch = "{git_branch}" -} -export declare const enum CONFIG_KEYS { - Enabled = "enabled", - DetailsIdling = "detailsIdling", - DetailsEditing = "detailsEditing", - DetailsDebugging = "detailsDebugging", - LowerDetailsIdling = "lowerDetailsIdling", - LowerDetailsEditing = "lowerDetailsEditing", - LowerDetailsDebugging = "lowerDetailsDebugging", - LowerDetailsNoWorkspaceFound = "lowerDetailsNoWorkspaceFound", - LargeImageIdling = "largeImageIdling", - LargeImage = "largeImage", - SmallImage = "smallImage", - SuppressNotifications = "suppressNotifications", - WorkspaceExcludePatterns = "workspaceExcludePatterns", - SwapBigAndSmallImage = "swapBigAndSmallImage", - RemoveDetails = "removeDetails", - RemoveLowerDetails = "removeLowerDetails", - RemoveTimestamp = "removeTimestamp", - RemoveRemoteRepository = "removeRemoteRepository", - IdleTimeout = "idleTimeout" -} diff --git a/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/extension.d.ts b/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/extension.d.ts deleted file mode 100644 index 9c4e18f1..00000000 --- a/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/extension.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { ExtensionContext } from 'vscode'; -export declare function cleanUp(): void; -export declare function activate(context: ExtensionContext): Promise; -export declare function deactivate(): void; diff --git a/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/extension.js b/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/extension.js deleted file mode 100644 index 02df9e6a..00000000 --- a/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/extension.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see extension.js.LICENSE.txt */ -(()=>{var __webpack_modules__={289:(module,exports,__webpack_require__)=>{var fs=__webpack_require__(7147),path=__webpack_require__(1017),fileURLToPath=__webpack_require__(2843),join=path.join,dirname=path.dirname,exists=fs.accessSync&&function(path){try{fs.accessSync(path)}catch(e){return!1}return!0}||fs.existsSync||path.existsSync,defaults={arrow:process.env.NODE_BINDINGS_ARROW||" → ",compiled:process.env.NODE_BINDINGS_COMPILED_DIR||"compiled",platform:process.platform,arch:process.arch,nodePreGyp:"node-v"+process.versions.modules+"-"+process.platform+"-"+process.arch,version:process.versions.node,bindings:"bindings.node",try:[["module_root","build","bindings"],["module_root","build","Debug","bindings"],["module_root","build","Release","bindings"],["module_root","out","Debug","bindings"],["module_root","Debug","bindings"],["module_root","out","Release","bindings"],["module_root","Release","bindings"],["module_root","build","default","bindings"],["module_root","compiled","version","platform","arch","bindings"],["module_root","addon-build","release","install-root","bindings"],["module_root","addon-build","debug","install-root","bindings"],["module_root","addon-build","default","install-root","bindings"],["module_root","lib","binding","nodePreGyp","bindings"]]};module.exports=exports=function bindings(opts){"string"==typeof opts?opts={bindings:opts}:opts||(opts={}),Object.keys(defaults).map((function(i){i in opts||(opts[i]=defaults[i])})),opts.module_root||(opts.module_root=exports.getRoot(exports.getFileName())),".node"!=path.extname(opts.bindings)&&(opts.bindings+=".node");for(var n,b,err,requireFunc=require,tries=[],i=0,l=opts.try.length;i{"use strict";module.exports={mask:(source,mask,output,offset,length)=>{for(var i=0;i{const length=buffer.length;for(var i=0;i{"use strict";try{module.exports=__webpack_require__(9516)(__dirname)}catch(e){module.exports=__webpack_require__(9376)}},7484:function(module){module.exports=function(){"use strict";var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",f="month",h="quarter",c="year",d="date",$="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date(){"use strict";const EventEmitter=__webpack_require__(2361),{setTimeout,clearTimeout}=__webpack_require__(9512),fetch=__webpack_require__(6292),transports=__webpack_require__(1417),{RPCCommands,RPCEvents,RelationshipTypes}=__webpack_require__(1875),{pid:getPid,uuid}=__webpack_require__(6727);module.exports=class RPCClient extends EventEmitter{constructor(options={}){super(),this.options=options,this.accessToken=null,this.clientId=null,this.application=null,this.user=null;const Transport=transports[options.transport];if(!Transport)throw new TypeError("RPC_INVALID_TRANSPORT",options.transport);this.fetch=(method,path,{data,query}={})=>fetch(`${this.fetch.endpoint}${path}${query?new URLSearchParams(query):""}`,{method,body:data,headers:{Authorization:`Bearer ${this.accessToken}`}}).then((async r=>{const body=await r.json();if(!r.ok){const e=new Error(r.status);throw e.body=body,e}return body})),this.fetch.endpoint="https://discord.com/api",this.transport=new Transport(this),this.transport.on("message",this._onRpcMessage.bind(this)),this._expecting=new Map,this._connectPromise=void 0}connect(clientId){return this._connectPromise||(this._connectPromise=new Promise(((resolve,reject)=>{this.clientId=clientId;const timeout=setTimeout((()=>reject(new Error("RPC_CONNECTION_TIMEOUT"))),1e4);timeout.unref(),this.once("connected",(()=>{clearTimeout(timeout),resolve(this)})),this.transport.once("close",(()=>{this._expecting.forEach((e=>{e.reject(new Error("connection closed"))})),this.emit("disconnected"),reject(new Error("connection closed"))})),this.transport.connect().catch(reject)}))),this._connectPromise}async login(options={}){let{clientId,accessToken}=options;return await this.connect(clientId),options.scopes?(accessToken||(accessToken=await this.authorize(options)),this.authenticate(accessToken)):(this.emit("ready"),this)}request(cmd,args,evt){return new Promise(((resolve,reject)=>{const nonce=uuid();this.transport.send({cmd,args,evt,nonce}),this._expecting.set(nonce,{resolve,reject})}))}_onRpcMessage(message){if(message.cmd===RPCCommands.DISPATCH&&message.evt===RPCEvents.READY)message.data.user&&(this.user=message.data.user),this.emit("connected");else if(this._expecting.has(message.nonce)){const{resolve,reject}=this._expecting.get(message.nonce);if("ERROR"===message.evt){const e=new Error(message.data.message);e.code=message.data.code,e.data=message.data,reject(e)}else resolve(message.data);this._expecting.delete(message.nonce)}else this.emit(message.evt,message.data)}async authorize({scopes,clientSecret,rpcToken,redirectUri,prompt}={}){if(clientSecret&&!0===rpcToken){rpcToken=(await this.fetch("POST","/oauth2/token/rpc",{data:new URLSearchParams({client_id:this.clientId,client_secret:clientSecret})})).rpc_token}const{code}=await this.request("AUTHORIZE",{scopes,client_id:this.clientId,prompt,rpc_token:rpcToken});return(await this.fetch("POST","/oauth2/token",{data:new URLSearchParams({client_id:this.clientId,client_secret:clientSecret,code,grant_type:"authorization_code",redirect_uri:redirectUri})})).access_token}authenticate(accessToken){return this.request("AUTHENTICATE",{access_token:accessToken}).then((({application,user})=>(this.accessToken=accessToken,this.application=application,this.user=user,this.emit("ready"),this)))}getGuild(id,timeout){return this.request(RPCCommands.GET_GUILD,{guild_id:id,timeout})}getGuilds(timeout){return this.request(RPCCommands.GET_GUILDS,{timeout})}getChannel(id,timeout){return this.request(RPCCommands.GET_CHANNEL,{channel_id:id,timeout})}async getChannels(id,timeout){const{channels}=await this.request(RPCCommands.GET_CHANNELS,{timeout,guild_id:id});return channels}setCertifiedDevices(devices){return this.request(RPCCommands.SET_CERTIFIED_DEVICES,{devices:devices.map((d=>({type:d.type,id:d.uuid,vendor:d.vendor,model:d.model,related:d.related,echo_cancellation:d.echoCancellation,noise_suppression:d.noiseSuppression,automatic_gain_control:d.automaticGainControl,hardware_mute:d.hardwareMute})))})}setUserVoiceSettings(id,settings){return this.request(RPCCommands.SET_USER_VOICE_SETTINGS,{user_id:id,pan:settings.pan,mute:settings.mute,volume:settings.volume})}selectVoiceChannel(id,{timeout,force=!1}={}){return this.request(RPCCommands.SELECT_VOICE_CHANNEL,{channel_id:id,timeout,force})}selectTextChannel(id,{timeout}={}){return this.request(RPCCommands.SELECT_TEXT_CHANNEL,{channel_id:id,timeout})}getVoiceSettings(){return this.request(RPCCommands.GET_VOICE_SETTINGS).then((s=>({automaticGainControl:s.automatic_gain_control,echoCancellation:s.echo_cancellation,noiseSuppression:s.noise_suppression,qos:s.qos,silenceWarning:s.silence_warning,deaf:s.deaf,mute:s.mute,input:{availableDevices:s.input.available_devices,device:s.input.device_id,volume:s.input.volume},output:{availableDevices:s.output.available_devices,device:s.output.device_id,volume:s.output.volume},mode:{type:s.mode.type,autoThreshold:s.mode.auto_threshold,threshold:s.mode.threshold,shortcut:s.mode.shortcut,delay:s.mode.delay}})))}setVoiceSettings(args){return this.request(RPCCommands.SET_VOICE_SETTINGS,{automatic_gain_control:args.automaticGainControl,echo_cancellation:args.echoCancellation,noise_suppression:args.noiseSuppression,qos:args.qos,silence_warning:args.silenceWarning,deaf:args.deaf,mute:args.mute,input:args.input?{device_id:args.input.device,volume:args.input.volume}:void 0,output:args.output?{device_id:args.output.device,volume:args.output.volume}:void 0,mode:args.mode?{type:args.mode.type,auto_threshold:args.mode.autoThreshold,threshold:args.mode.threshold,shortcut:args.mode.shortcut,delay:args.mode.delay}:void 0})}captureShortcut(callback){const subid=function subKey(event,args){return`${event}${JSON.stringify(args)}`}(RPCEvents.CAPTURE_SHORTCUT_CHANGE),stop=()=>(this._subscriptions.delete(subid),this.request(RPCCommands.CAPTURE_SHORTCUT,{action:"STOP"}));return this._subscriptions.set(subid,(({shortcut})=>{callback(shortcut,stop)})),this.request(RPCCommands.CAPTURE_SHORTCUT,{action:"START"}).then((()=>stop))}setActivity(args={},pid=getPid()){let timestamps,assets,party,secrets;if(args.startTimestamp||args.endTimestamp){if(timestamps={start:args.startTimestamp,end:args.endTimestamp},timestamps.start instanceof Date&&(timestamps.start=Math.round(timestamps.start.getTime())),timestamps.end instanceof Date&&(timestamps.end=Math.round(timestamps.end.getTime())),timestamps.start>2147483647e3)throw new RangeError("timestamps.start must fit into a unix timestamp");if(timestamps.end>2147483647e3)throw new RangeError("timestamps.end must fit into a unix timestamp")}return(args.largeImageKey||args.largeImageText||args.smallImageKey||args.smallImageText)&&(assets={large_image:args.largeImageKey,large_text:args.largeImageText,small_image:args.smallImageKey,small_text:args.smallImageText}),(args.partySize||args.partyId||args.partyMax)&&(party={id:args.partyId},(args.partySize||args.partyMax)&&(party.size=[args.partySize,args.partyMax])),(args.matchSecret||args.joinSecret||args.spectateSecret)&&(secrets={match:args.matchSecret,join:args.joinSecret,spectate:args.spectateSecret}),this.request(RPCCommands.SET_ACTIVITY,{pid,activity:{state:args.state,details:args.details,timestamps,assets,party,secrets,buttons:args.buttons,instance:!!args.instance}})}clearActivity(pid=getPid()){return this.request(RPCCommands.SET_ACTIVITY,{pid})}sendJoinInvite(user){return this.request(RPCCommands.SEND_ACTIVITY_JOIN_INVITE,{user_id:user.id||user})}sendJoinRequest(user){return this.request(RPCCommands.SEND_ACTIVITY_JOIN_REQUEST,{user_id:user.id||user})}closeJoinRequest(user){return this.request(RPCCommands.CLOSE_ACTIVITY_JOIN_REQUEST,{user_id:user.id||user})}createLobby(type,capacity,metadata){return this.request(RPCCommands.CREATE_LOBBY,{type,capacity,metadata})}updateLobby(lobby,{type,owner,capacity,metadata}={}){return this.request(RPCCommands.UPDATE_LOBBY,{id:lobby.id||lobby,type,owner_id:owner&&owner.id||owner,capacity,metadata})}deleteLobby(lobby){return this.request(RPCCommands.DELETE_LOBBY,{id:lobby.id||lobby})}connectToLobby(id,secret){return this.request(RPCCommands.CONNECT_TO_LOBBY,{id,secret})}sendToLobby(lobby,data){return this.request(RPCCommands.SEND_TO_LOBBY,{id:lobby.id||lobby,data})}disconnectFromLobby(lobby){return this.request(RPCCommands.DISCONNECT_FROM_LOBBY,{id:lobby.id||lobby})}updateLobbyMember(lobby,user,metadata){return this.request(RPCCommands.UPDATE_LOBBY_MEMBER,{lobby_id:lobby.id||lobby,user_id:user.id||user,metadata})}getRelationships(){const types=Object.keys(RelationshipTypes);return this.request(RPCCommands.GET_RELATIONSHIPS).then((o=>o.relationships.map((r=>({...r,type:types[r.type]})))))}async subscribe(event,args){return await this.request(RPCCommands.SUBSCRIBE,args,event),{unsubscribe:()=>this.request(RPCCommands.UNSUBSCRIBE,args,event)}}async destroy(){await this.transport.close()}}},1875:(__unused_webpack_module,exports)=>{"use strict";function keyMirror(arr){const tmp={};for(const value of arr)tmp[value]=value;return tmp}exports.browser="undefined"!=typeof window,exports.RPCCommands=keyMirror(["DISPATCH","AUTHORIZE","AUTHENTICATE","GET_GUILD","GET_GUILDS","GET_CHANNEL","GET_CHANNELS","CREATE_CHANNEL_INVITE","GET_RELATIONSHIPS","GET_USER","SUBSCRIBE","UNSUBSCRIBE","SET_USER_VOICE_SETTINGS","SET_USER_VOICE_SETTINGS_2","SELECT_VOICE_CHANNEL","GET_SELECTED_VOICE_CHANNEL","SELECT_TEXT_CHANNEL","GET_VOICE_SETTINGS","SET_VOICE_SETTINGS_2","SET_VOICE_SETTINGS","CAPTURE_SHORTCUT","SET_ACTIVITY","SEND_ACTIVITY_JOIN_INVITE","CLOSE_ACTIVITY_JOIN_REQUEST","ACTIVITY_INVITE_USER","ACCEPT_ACTIVITY_INVITE","INVITE_BROWSER","DEEP_LINK","CONNECTIONS_CALLBACK","BRAINTREE_POPUP_BRIDGE_CALLBACK","GIFT_CODE_BROWSER","GUILD_TEMPLATE_BROWSER","OVERLAY","BROWSER_HANDOFF","SET_CERTIFIED_DEVICES","GET_IMAGE","CREATE_LOBBY","UPDATE_LOBBY","DELETE_LOBBY","UPDATE_LOBBY_MEMBER","CONNECT_TO_LOBBY","DISCONNECT_FROM_LOBBY","SEND_TO_LOBBY","SEARCH_LOBBIES","CONNECT_TO_LOBBY_VOICE","DISCONNECT_FROM_LOBBY_VOICE","SET_OVERLAY_LOCKED","OPEN_OVERLAY_ACTIVITY_INVITE","OPEN_OVERLAY_GUILD_INVITE","OPEN_OVERLAY_VOICE_SETTINGS","VALIDATE_APPLICATION","GET_ENTITLEMENT_TICKET","GET_APPLICATION_TICKET","START_PURCHASE","GET_SKUS","GET_ENTITLEMENTS","GET_NETWORKING_CONFIG","NETWORKING_SYSTEM_METRICS","NETWORKING_PEER_METRICS","NETWORKING_CREATE_TOKEN","SET_USER_ACHIEVEMENT","GET_USER_ACHIEVEMENTS"]),exports.RPCEvents=keyMirror(["CURRENT_USER_UPDATE","GUILD_STATUS","GUILD_CREATE","CHANNEL_CREATE","RELATIONSHIP_UPDATE","VOICE_CHANNEL_SELECT","VOICE_STATE_CREATE","VOICE_STATE_DELETE","VOICE_STATE_UPDATE","VOICE_SETTINGS_UPDATE","VOICE_SETTINGS_UPDATE_2","VOICE_CONNECTION_STATUS","SPEAKING_START","SPEAKING_STOP","GAME_JOIN","GAME_SPECTATE","ACTIVITY_JOIN","ACTIVITY_JOIN_REQUEST","ACTIVITY_SPECTATE","ACTIVITY_INVITE","NOTIFICATION_CREATE","MESSAGE_CREATE","MESSAGE_UPDATE","MESSAGE_DELETE","LOBBY_DELETE","LOBBY_UPDATE","LOBBY_MEMBER_CONNECT","LOBBY_MEMBER_DISCONNECT","LOBBY_MEMBER_UPDATE","LOBBY_MESSAGE","CAPTURE_SHORTCUT_CHANGE","OVERLAY","OVERLAY_UPDATE","ENTITLEMENT_CREATE","ENTITLEMENT_DELETE","USER_ACHIEVEMENT_UPDATE","READY","ERROR"]),exports.RPCErrors={CAPTURE_SHORTCUT_ALREADY_LISTENING:5004,GET_GUILD_TIMED_OUT:5002,INVALID_ACTIVITY_JOIN_REQUEST:4012,INVALID_ACTIVITY_SECRET:5005,INVALID_CHANNEL:4005,INVALID_CLIENTID:4007,INVALID_COMMAND:4002,INVALID_ENTITLEMENT:4015,INVALID_EVENT:4004,INVALID_GIFT_CODE:4016,INVALID_GUILD:4003,INVALID_INVITE:4011,INVALID_LOBBY:4013,INVALID_LOBBY_SECRET:4014,INVALID_ORIGIN:4008,INVALID_PAYLOAD:4e3,INVALID_PERMISSIONS:4006,INVALID_TOKEN:4009,INVALID_USER:4010,LOBBY_FULL:5007,NO_ELIGIBLE_ACTIVITY:5006,OAUTH2_ERROR:5e3,PURCHASE_CANCELED:5008,PURCHASE_ERROR:5009,RATE_LIMITED:5011,SELECT_CHANNEL_TIMED_OUT:5001,SELECT_VOICE_FORCE_REQUIRED:5003,SERVICE_UNAVAILABLE:1001,TRANSACTION_ABORTED:1002,UNAUTHORIZED_FOR_ACHIEVEMENT:5010,UNKNOWN_ERROR:1e3},exports.RPCCloseCodes={CLOSE_NORMAL:1e3,CLOSE_UNSUPPORTED:1003,CLOSE_ABNORMAL:1006,INVALID_CLIENTID:4e3,INVALID_ORIGIN:4001,RATELIMITED:4002,TOKEN_REVOKED:4003,INVALID_VERSION:4004,INVALID_ENCODING:4005},exports.LobbyTypes={PRIVATE:1,PUBLIC:2},exports.RelationshipTypes={NONE:0,FRIEND:1,BLOCKED:2,PENDING_INCOMING:3,PENDING_OUTGOING:4,IMPLICIT:5}},6277:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const util=__webpack_require__(6727);module.exports={Client:__webpack_require__(3457),register:id=>util.register(`discord-${id}`)}},1417:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";module.exports={ipc:__webpack_require__(7110),websocket:__webpack_require__(1572)}},7110:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const net=__webpack_require__(1808),EventEmitter=__webpack_require__(2361),fetch=__webpack_require__(6292),{uuid}=__webpack_require__(6727),OPCodes_HANDSHAKE=0,OPCodes_FRAME=1,OPCodes_CLOSE=2,OPCodes_PING=3,OPCodes_PONG=4;function getIPC(id=0){return new Promise(((resolve,reject)=>{const path=function getIPCPath(id){if("win32"===process.platform)return`\\\\?\\pipe\\discord-ipc-${id}`;const{env:{XDG_RUNTIME_DIR,TMPDIR,TMP,TEMP}}=process;return`${(XDG_RUNTIME_DIR||TMPDIR||TMP||TEMP||"/tmp").replace(/\/$/,"")}/discord-ipc-${id}`}(id),onerror=()=>{id<10?resolve(getIPC(id+1)):reject(new Error("Could not connect"))},sock=net.createConnection(path,(()=>{sock.removeListener("error",onerror),resolve(sock)}));sock.once("error",onerror)}))}async function findEndpoint(tries=0){if(tries>30)throw new Error("Could not find endpoint");const endpoint="http://127.0.0.1:"+(6463+tries%10);try{return 404===(await fetch(endpoint)).status?endpoint:findEndpoint(tries+1)}catch(e){return findEndpoint(tries+1)}}function encode(op,data){data=JSON.stringify(data);const len=Buffer.byteLength(data),packet=Buffer.alloc(8+len);return packet.writeInt32LE(op,0),packet.writeInt32LE(len,4),packet.write(data,8,len),packet}const working={full:"",op:void 0};function decode(socket,callback){const packet=socket.read();if(!packet)return;let raw,{op}=working;if(""===working.full){op=working.op=packet.readInt32LE(0);const len=packet.readInt32LE(4);raw=packet.slice(8,len+8)}else raw=packet.toString();try{callback({op,data:JSON.parse(working.full+raw)}),working.full="",working.op=void 0}catch(err){working.full+=raw}decode(socket,callback)}module.exports=class IPCTransport extends EventEmitter{constructor(client){super(),this.client=client,this.socket=null}async connect(){const socket=this.socket=await getIPC();socket.on("close",this.onClose.bind(this)),socket.on("error",this.onClose.bind(this)),this.emit("open"),socket.write(encode(OPCodes_HANDSHAKE,{v:1,client_id:this.client.clientId})),socket.pause(),socket.on("readable",(()=>{decode(socket,(({op,data})=>{switch(op){case OPCodes_PING:this.send(data,OPCodes_PONG);break;case OPCodes_FRAME:if(!data)return;"AUTHORIZE"===data.cmd&&"ERROR"!==data.evt&&findEndpoint().then((endpoint=>{this.client.request.endpoint=endpoint})).catch((e=>{this.client.emit("error",e)})),this.emit("message",data);break;case OPCodes_CLOSE:this.emit("close",data)}}))}))}onClose(e){this.emit("close",e)}send(data,op=OPCodes_FRAME){this.socket.write(encode(op,data))}async close(){return new Promise((r=>{this.once("close",r),this.send({},OPCodes_CLOSE),this.socket.end()}))}ping(){this.send(uuid(),OPCodes_PING)}},module.exports.encode=encode,module.exports.decode=decode},1572:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const EventEmitter=__webpack_require__(2361),{browser}=__webpack_require__(1875),WebSocket=browser?window.WebSocket:__webpack_require__(8777);module.exports=class WebSocketTransport extends EventEmitter{constructor(client){super(),this.client=client,this.ws=null,this.tries=0}async connect(){const port=6463+this.tries%10;this.tries+=1,this.ws=new WebSocket(`ws://127.0.0.1:${port}/?v=1&client_id=${this.client.clientId}`,browser?void 0:{origin:this.client.options.origin}),this.ws.onopen=this.onOpen.bind(this),this.ws.onclose=this.onClose.bind(this),this.ws.onerror=this.onError.bind(this),this.ws.onmessage=this.onMessage.bind(this)}onOpen(){this.emit("open")}onClose(event){event.wasClean&&this.emit("close",event)}onError(event){try{this.ws.close()}catch{}this.tries>20?this.emit("error",event.error):setTimeout((()=>{this.connect()}),250)}onMessage(event){var s;this.emit("message",(s=event.data,JSON.parse(s)))}send(data){var d;this.ws.send((d=data,JSON.stringify(d)))}ping(){}close(){return new Promise((r=>{this.once("close",r),this.ws.close()}))}}},6727:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";let register;try{const{app}=__webpack_require__(Object(function webpackMissingModule(){var e=new Error("Cannot find module 'electron'");throw e.code="MODULE_NOT_FOUND",e}()));register=app.setAsDefaultProtocolClient.bind(app)}catch(err){try{register=__webpack_require__(4658)}catch(e){}}"function"!=typeof register&&(register=()=>!1);module.exports={pid:function pid(){return"undefined"!=typeof process?process.pid:null},register,uuid:()=>{let uuid="";for(let i=0;i<32;i+=1){let n;if(8!==i&&12!==i&&16!==i&&20!==i||(uuid+="-"),12===i)n=4;else{const random=16*Math.random()|0;n=16===i?3&random|0:random}uuid+=n.toString(16)}return uuid}}},2843:(module,__unused_webpack_exports,__webpack_require__)=>{var sep=__webpack_require__(1017).sep||"/";module.exports=function fileUriToPath(uri){if("string"!=typeof uri||uri.length<=7||"file://"!=uri.substring(0,7))throw new TypeError("must pass in a file:// URI to convert to a file path");var rest=decodeURI(uri.substring(7)),firstSlash=rest.indexOf("/"),host=rest.substring(0,firstSlash),path=rest.substring(firstSlash+1);"localhost"==host&&(host="");host&&(host=sep+sep+host);path=path.replace(/^(.+)\|/,"$1:"),"\\"==sep&&(path=path.replace(/\//g,"\\"));/^.+\:/.test(path)||(path=sep+path);return host+path}},9516:(module,__unused_webpack_exports,__webpack_require__)=>{var fs=__webpack_require__(7147),path=__webpack_require__(1017),os=__webpack_require__(2037),runtimeRequire=require,vars=process.config&&process.config.variables||{},prebuildsOnly=!!process.env.PREBUILDS_ONLY,abi=process.versions.modules,runtime=function isElectron(){return!(!process.versions||!process.versions.electron)||(!!process.env.ELECTRON_RUN_AS_NODE||"undefined"!=typeof window&&window.process&&"renderer"===window.process.type)}()?"electron":"node",arch=os.arch(),platform=os.platform(),libc=process.env.LIBC||(function isAlpine(platform){return"linux"===platform&&fs.existsSync("/etc/alpine-release")}(platform)?"musl":"glibc"),armv=process.env.ARM_VERSION||("arm64"===arch?"8":vars.arm_version)||"",uv=(process.versions.uv||"").split(".")[0];function load(dir){return runtimeRequire(load.path(dir))}function readdirSync(dir){try{return fs.readdirSync(dir)}catch(err){return[]}}function getFirst(dir,filter){var files=readdirSync(dir).filter(filter);return files[0]&&path.join(dir,files[0])}function matchBuild(name){return/\.node$/.test(name)}function parseTuple(name){var arr=name.split("-");if(2===arr.length){var platform=arr[0],architectures=arr[1].split("+");if(platform&&architectures.length&&architectures.every(Boolean))return{name,platform,architectures}}}function matchTuple(platform,arch){return function(tuple){return null!=tuple&&(tuple.platform===platform&&tuple.architectures.includes(arch))}}function compareTuples(a,b){return a.architectures.length-b.architectures.length}function parseTags(file){var arr=file.split("."),tags={file,specificity:0};if("node"===arr.pop()){for(var i=0;ib.specificity?-1:1:0}}module.exports=load,load.path=function(dir){dir=path.resolve(dir||".");try{var name=runtimeRequire(path.join(dir,"package.json")).name.toUpperCase().replace(/-/g,"_");process.env[name+"_PREBUILD"]&&(dir=process.env[name+"_PREBUILD"])}catch(err){}if(!prebuildsOnly){var release=getFirst(path.join(dir,"build/Release"),matchBuild);if(release)return release;var debug=getFirst(path.join(dir,"build/Debug"),matchBuild);if(debug)return debug}var prebuild=resolve(dir);if(prebuild)return prebuild;var nearby=resolve(path.dirname(process.execPath));if(nearby)return nearby;var target=["platform="+platform,"arch="+arch,"runtime="+runtime,"abi="+abi,"uv="+uv,armv?"armv="+armv:"","libc="+libc,"node="+process.versions.node,process.versions.electron?"electron="+process.versions.electron:"","webpack=true"].filter(Boolean).join(" ");throw new Error("No native build was found for "+target+"\n loaded from: "+dir+"\n");function resolve(dir){var tuple=readdirSync(path.join(dir,"prebuilds")).map(parseTuple).filter(matchTuple(platform,arch)).sort(compareTuples)[0];if(tuple){var prebuilds=path.join(dir,"prebuilds",tuple.name),winner=readdirSync(prebuilds).map(parseTags).filter(matchTags(runtime,abi)).sort(compareTags(runtime))[0];return winner?path.join(prebuilds,winner.file):void 0}}},load.parseTags=parseTags,load.matchTags=matchTags,load.compareTags=compareTags,load.parseTuple=parseTuple,load.matchTuple=matchTuple,load.compareTuples=compareTuples},4658:(module,__unused_webpack_exports,__webpack_require__)=>{module.exports=__webpack_require__(289)("register-protocol-handler").registerProtocolHandler},5119:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.activity=void 0;const path_1=__webpack_require__(1017),vscode_1=__webpack_require__(9496),constants_1=__webpack_require__(5601),logger_1=__webpack_require__(5473),util_1=__webpack_require__(9882);async function details(idling,editing,debugging){const config=(0,util_1.getConfig)();let raw=config[idling].replace("{empty}",constants_1.FAKE_EMPTY);if(vscode_1.window.activeTextEditor){const fileName=(0,path_1.basename)(vscode_1.window.activeTextEditor.document.fileName),{dir}=(0,path_1.parse)(vscode_1.window.activeTextEditor.document.fileName),split=dir.split(path_1.sep),dirName=split[split.length-1],noWorkspaceFound=config.lowerDetailsNoWorkspaceFound.replace("{empty}",constants_1.FAKE_EMPTY),workspaceFolder=vscode_1.workspace.getWorkspaceFolder(vscode_1.window.activeTextEditor.document.uri),workspaceFolderName=workspaceFolder?.name??noWorkspaceFound,workspaceName=vscode_1.workspace.name?.replace("(Workspace)",constants_1.EMPTY)??workspaceFolderName,workspaceAndFolder=`${workspaceName}${workspaceFolderName===constants_1.FAKE_EMPTY?"":` - ${workspaceFolderName}`}`,fileIcon=(0,util_1.resolveFileIcon)(vscode_1.window.activeTextEditor.document);if(raw=vscode_1.debug.activeDebugSession?config[debugging]:config[editing],workspaceFolder){const{name}=workspaceFolder,relativePath=vscode_1.workspace.asRelativePath(vscode_1.window.activeTextEditor.document.fileName).split(path_1.sep);relativePath.splice(-1,1),raw=raw.replace("{full_dir_name}",`${name}${path_1.sep}${relativePath.join(path_1.sep)}`)}try{raw=await async function fileDetails(_raw,document,selection){let raw=_raw.slice();if(raw.includes("{total_lines}")&&(raw=raw.replace("{total_lines}",document.lineCount.toLocaleString())),raw.includes("{current_line}")&&(raw=raw.replace("{current_line}",(selection.active.line+1).toLocaleString())),raw.includes("{current_column}")&&(raw=raw.replace("{current_column}",(selection.active.character+1).toLocaleString())),raw.includes("{file_size}")){let size,currentDivision=0;try{({size}=await vscode_1.workspace.fs.stat(document.uri))}catch{size=document.getText().length}const originalSize=size;if(originalSize>1e3)for(size/=1e3,currentDivision++;size>1e3;)currentDivision++,size/=1e3;raw=raw.replace("{file_size}",`${originalSize>1e3?size.toFixed(2):size}${constants_1.FILE_SIZES[currentDivision]}`)}const git=await(0,util_1.getGit)();return raw.includes("{git_branch}")&&(raw=git?.repositories.length?raw.replace("{git_branch}",git.repositories.find((repo=>repo.ui.selected))?.state.HEAD?.name??constants_1.FAKE_EMPTY):raw.replace("{git_branch}",constants_1.UNKNOWN_GIT_BRANCH)),raw.includes("{git_repo_name}")&&(raw=git?.repositories.length?raw.replace("{git_repo_name}",git.repositories.find((repo=>repo.ui.selected))?.state.remotes[0].fetchUrl?.split("/")[1].replace(".git","")??constants_1.FAKE_EMPTY):raw.replace("{git_repo_name}",constants_1.UNKNOWN_GIT_REPO_NAME)),raw}(raw,vscode_1.window.activeTextEditor.document,vscode_1.window.activeTextEditor.selection)}catch(error){(0,logger_1.log)("ERROR",`Failed to generate file details: ${error}`)}raw=raw.replace("{file_name}",fileName).replace("{dir_name}",dirName).replace("{workspace}",workspaceName).replace("{workspace_folder}",workspaceFolderName).replace("{workspace_and_folder}",workspaceAndFolder).replace("{lang}",(0,util_1.toLower)(fileIcon)).replace("{Lang}",(0,util_1.toTitle)(fileIcon)).replace("{LANG}",(0,util_1.toUpper)(fileIcon))}return raw}exports.activity=async function activity(previous={}){const config=(0,util_1.getConfig)(),swapBigAndSmallImage=config.swapBigAndSmallImage,appName=vscode_1.env.appName,defaultSmallImageKey=vscode_1.debug.activeDebugSession?constants_1.DEBUG_IMAGE_KEY:appName.includes("Insiders")?constants_1.VSCODE_INSIDERS_IMAGE_KEY:constants_1.VSCODE_IMAGE_KEY,defaultSmallImageText=config.smallImage.replace("{app_name}",appName),defaultLargeImageText=config.largeImageIdling,removeDetails=config.removeDetails,removeLowerDetails=config.removeLowerDetails,removeRemoteRepository=config.removeRemoteRepository,git=await(0,util_1.getGit)();let state={details:removeDetails?void 0:await details("detailsIdling","detailsEditing","detailsDebugging"),startTimestamp:config.removeTimestamp?void 0:previous.startTimestamp??Date.now(),largeImageKey:constants_1.IDLE_IMAGE_KEY,largeImageText:defaultLargeImageText,smallImageKey:defaultSmallImageKey,smallImageText:defaultSmallImageText};if(swapBigAndSmallImage&&(state={...state,largeImageKey:defaultSmallImageKey,largeImageText:defaultSmallImageText,smallImageKey:constants_1.IDLE_IMAGE_KEY,smallImageText:defaultLargeImageText}),!removeRemoteRepository&&git?.repositories.length){let repo=git.repositories.find((repo=>repo.ui.selected))?.state.remotes[0]?.fetchUrl;repo&&(repo=repo.startsWith("git@")||repo.startsWith("ssh://")?repo.replace("ssh://","").replace(":","/").replace("git@","https://").replace(".git",""):repo.replace(/(https:\/\/)([^@]*)@(.*?$)/,"$1$3").replace(".git",""),state={...state,buttons:[{label:"View Repository",url:repo}]})}if(vscode_1.window.activeTextEditor){const largeImageKey=(0,util_1.resolveFileIcon)(vscode_1.window.activeTextEditor.document),largeImageText=config.largeImage.replace("{lang}",(0,util_1.toLower)(largeImageKey)).replace("{Lang}",(0,util_1.toTitle)(largeImageKey)).replace("{LANG}",(0,util_1.toUpper)(largeImageKey)).padEnd(2,constants_1.FAKE_EMPTY);state={...state,details:removeDetails?void 0:await details("detailsIdling","detailsEditing","detailsDebugging"),state:removeLowerDetails?void 0:await details("lowerDetailsIdling","lowerDetailsEditing","lowerDetailsDebugging")},state=swapBigAndSmallImage?{...state,smallImageKey:largeImageKey,smallImageText:largeImageText}:{...state,largeImageKey,largeImageText},(0,logger_1.log)("TRACE",`VSCode language id: ${vscode_1.window.activeTextEditor.document.languageId}`)}return state}},5601:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CONFIG_KEYS=exports.REPLACE_KEYS=exports.UNKNOWN_GIT_REPO_NAME=exports.UNKNOWN_GIT_BRANCH=exports.VSCODE_INSIDERS_IMAGE_KEY=exports.VSCODE_IMAGE_KEY=exports.DEBUG_IMAGE_KEY=exports.IDLE_IMAGE_KEY=exports.FILE_SIZES=exports.FAKE_EMPTY=exports.EMPTY=exports.KNOWN_LANGUAGES=exports.KNOWN_EXTENSIONS=exports.CLIENT_ID=void 0;const languages_json_1=(0,__webpack_require__(655).__importDefault)(__webpack_require__(6973));exports.CLIENT_ID="383226320970055681",exports.KNOWN_EXTENSIONS=languages_json_1.default.KNOWN_EXTENSIONS,exports.KNOWN_LANGUAGES=languages_json_1.default.KNOWN_LANGUAGES,exports.EMPTY="",exports.FAKE_EMPTY="​​",exports.FILE_SIZES=[" bytes","KB","MB","GB","TB"],exports.IDLE_IMAGE_KEY="vscode-big",exports.DEBUG_IMAGE_KEY="debug",exports.VSCODE_IMAGE_KEY="vscode",exports.VSCODE_INSIDERS_IMAGE_KEY="vscode-insiders",exports.UNKNOWN_GIT_BRANCH="Unknown",exports.UNKNOWN_GIT_REPO_NAME="Unknown",function(REPLACE_KEYS){REPLACE_KEYS.Empty="{empty}",REPLACE_KEYS.FileName="{file_name}",REPLACE_KEYS.DirName="{dir_name}",REPLACE_KEYS.FullDirName="{full_dir_name}",REPLACE_KEYS.Workspace="{workspace}",REPLACE_KEYS.VSCodeWorkspace="(Workspace)",REPLACE_KEYS.WorkspaceFolder="{workspace_folder}",REPLACE_KEYS.WorkspaceAndFolder="{workspace_and_folder}",REPLACE_KEYS.LanguageLowerCase="{lang}",REPLACE_KEYS.LanguageTitleCase="{Lang}",REPLACE_KEYS.LanguageUpperCase="{LANG}",REPLACE_KEYS.TotalLines="{total_lines}",REPLACE_KEYS.CurrentLine="{current_line}",REPLACE_KEYS.CurrentColumn="{current_column}",REPLACE_KEYS.FileSize="{file_size}",REPLACE_KEYS.AppName="{app_name}",REPLACE_KEYS.GitRepoName="{git_repo_name}",REPLACE_KEYS.GitBranch="{git_branch}"}(exports.REPLACE_KEYS||(exports.REPLACE_KEYS={})),function(CONFIG_KEYS){CONFIG_KEYS.Enabled="enabled",CONFIG_KEYS.DetailsIdling="detailsIdling",CONFIG_KEYS.DetailsEditing="detailsEditing",CONFIG_KEYS.DetailsDebugging="detailsDebugging",CONFIG_KEYS.LowerDetailsIdling="lowerDetailsIdling",CONFIG_KEYS.LowerDetailsEditing="lowerDetailsEditing",CONFIG_KEYS.LowerDetailsDebugging="lowerDetailsDebugging",CONFIG_KEYS.LowerDetailsNoWorkspaceFound="lowerDetailsNoWorkspaceFound",CONFIG_KEYS.LargeImageIdling="largeImageIdling",CONFIG_KEYS.LargeImage="largeImage",CONFIG_KEYS.SmallImage="smallImage",CONFIG_KEYS.SuppressNotifications="suppressNotifications",CONFIG_KEYS.WorkspaceExcludePatterns="workspaceExcludePatterns",CONFIG_KEYS.SwapBigAndSmallImage="swapBigAndSmallImage",CONFIG_KEYS.RemoveDetails="removeDetails",CONFIG_KEYS.RemoveLowerDetails="removeLowerDetails",CONFIG_KEYS.RemoveTimestamp="removeTimestamp",CONFIG_KEYS.RemoveRemoteRepository="removeRemoteRepository",CONFIG_KEYS.IdleTimeout="idleTimeout"}(exports.CONFIG_KEYS||(exports.CONFIG_KEYS={}))},5473:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.log=exports.LogLevel=void 0;const tslib_1=__webpack_require__(655),vscode_1=__webpack_require__(9496),dayjs_1=(0,tslib_1.__importDefault)(__webpack_require__(7484)),outputChannel=vscode_1.window.createOutputChannel("Discord Presence");function send(level,message){outputChannel.appendLine(`[${(0,dayjs_1.default)().format("DD/MM/YYYY HH:mm:ss")} - ${level}] ${message}`)}!function(LogLevel){LogLevel.Trace="TRACE",LogLevel.Debug="DEBUG",LogLevel.Info="INFO",LogLevel.Warn="WARN",LogLevel.Error="ERROR"}(exports.LogLevel||(exports.LogLevel={})),exports.log=function log(level,message){if("string"==typeof message)send(level,message);else if(message instanceof Error)send(level,message.message),message.stack&&send(level,message.stack);else if("object"==typeof message)try{send(level,JSON.stringify(message,null,2))}catch{}}},9882:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getGit=exports.resolveFileIcon=exports.toTitle=exports.toUpper=exports.toLower=exports.getConfig=void 0;const path_1=__webpack_require__(1017),vscode_1=__webpack_require__(9496),constants_1=__webpack_require__(5601),logger_1=__webpack_require__(5473);let git;exports.getConfig=function getConfig(){return vscode_1.workspace.getConfiguration("discord")};exports.toLower=str=>str.toLocaleLowerCase();exports.toUpper=str=>str.toLocaleUpperCase();exports.toTitle=str=>(0,exports.toLower)(str).replace(/^\w/,(c=>(0,exports.toUpper)(c))),exports.resolveFileIcon=function resolveFileIcon(document){const filename=(0,path_1.basename)(document.fileName),findKnownExtension=Object.keys(constants_1.KNOWN_EXTENSIONS).find((key=>{if(filename.endsWith(key))return!0;const match=/^\/(.*)\/([mgiy]+)$/.exec(key);if(!match)return!1;return new RegExp(match[1],match[2]).test(filename)})),findKnownLanguage=constants_1.KNOWN_LANGUAGES.find((key=>key.language===document.languageId)),fileIcon=findKnownExtension?constants_1.KNOWN_EXTENSIONS[findKnownExtension]:findKnownLanguage?findKnownLanguage.image:null;return"string"==typeof fileIcon?fileIcon:fileIcon?.image??"text"},exports.getGit=async function getGit(){if(git||null===git)return git;try{(0,logger_1.log)("DEBUG","Loading git extension");const gitExtension=vscode_1.extensions.getExtension("vscode.git");gitExtension?.isActive||((0,logger_1.log)("TRACE","Git extension not activated, activating..."),await(gitExtension?.activate())),git=gitExtension?.exports.getAPI(1)}catch(error){git=null,(0,logger_1.log)("ERROR",`Failed to load git extension, is git installed?; ${error}`)}return git}},655:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{__extends:()=>__extends,__assign:()=>__assign,__rest:()=>__rest,__decorate:()=>__decorate,__param:()=>__param,__metadata:()=>__metadata,__awaiter:()=>__awaiter,__generator:()=>__generator,__createBinding:()=>__createBinding,__exportStar:()=>__exportStar,__values:()=>__values,__read:()=>__read,__spread:()=>__spread,__spreadArrays:()=>__spreadArrays,__spreadArray:()=>__spreadArray,__await:()=>__await,__asyncGenerator:()=>__asyncGenerator,__asyncDelegator:()=>__asyncDelegator,__asyncValues:()=>__asyncValues,__makeTemplateObject:()=>__makeTemplateObject,__importStar:()=>__importStar,__importDefault:()=>__importDefault,__classPrivateFieldGet:()=>__classPrivateFieldGet,__classPrivateFieldSet:()=>__classPrivateFieldSet});var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)Object.prototype.hasOwnProperty.call(b,p)&&(d[p]=b[p])})(d,b)};function __extends(d,b){if("function"!=typeof b&&null!==b)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}var __assign=function(){return(__assign=Object.assign||function __assign(t){for(var s,i=1,n=arguments.length;i=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}function __param(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}}function __metadata(metadataKey,metadataValue){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(metadataKey,metadataValue)}function __awaiter(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))}function __generator(thisArg,body){var f,y,t,g,_={label:0,sent:function(){if(1&t[0])throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),throw:verb(1),return:verb(2)},"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return function step(op){if(f)throw new TypeError("Generator is already executing.");for(;_;)try{if(f=1,y&&(t=2&op[0]?y.return:op[0]?y.throw||((t=y.return)&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;switch(y=0,t&&(op=[2&op[0],t.value]),op[0]){case 0:case 1:t=op;break;case 4:return _.label++,{value:op[1],done:!1};case 5:_.label++,y=op[1],op=[0];continue;case 7:op=_.ops.pop(),_.trys.pop();continue;default:if(!(t=_.trys,(t=t.length>0&&t[t.length-1])||6!==op[0]&&2!==op[0])){_=0;continue}if(3===op[0]&&(!t||op[1]>t[0]&&op[1]=o.length&&(o=void 0),{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(o,n){var m="function"==typeof Symbol&&o[Symbol.iterator];if(!m)return o;var r,e,i=m.call(o),ar=[];try{for(;(void 0===n||n-- >0)&&!(r=i.next()).done;)ar.push(r.value)}catch(error){e={error}}finally{try{r&&!r.done&&(m=i.return)&&m.call(i)}finally{if(e)throw e.error}}return ar}function __spread(){for(var ar=[],i=0;i1||resume(n,v)}))})}function resume(n,v){try{!function step(r){r.value instanceof __await?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}(g[n](v))}catch(e){settle(q[0][3],e)}}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){f(v),q.shift(),q.length&&resume(q[0][0],q[0][1])}}function __asyncDelegator(o){var i,p;return i={},verb("next"),verb("throw",(function(e){throw e})),verb("return"),i[Symbol.iterator]=function(){return this},i;function verb(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:__await(o[n](v)),done:"return"===n}:f?f(v):v}:f}}function __asyncValues(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,m=o[Symbol.asyncIterator];return m?m.call(o):(o=__values(o),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise((function(resolve,reject){(function settle(resolve,reject,d,v){Promise.resolve(v).then((function(v){resolve({value:v,done:d})}),reject)})(resolve,reject,(v=o[n](v)).done,v.value)}))}}}function __makeTemplateObject(cooked,raw){return Object.defineProperty?Object.defineProperty(cooked,"raw",{value:raw}):cooked.raw=raw,cooked}var __setModuleDefault=Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v};function __importStar(mod){if(mod&&mod.__esModule)return mod;var result={};if(null!=mod)for(var k in mod)"default"!==k&&Object.prototype.hasOwnProperty.call(mod,k)&&__createBinding(result,mod,k);return __setModuleDefault(result,mod),result}function __importDefault(mod){return mod&&mod.__esModule?mod:{default:mod}}function __classPrivateFieldGet(receiver,state,kind,f){if("a"===kind&&!f)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof state?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===kind?f:"a"===kind?f.call(receiver):f?f.value:state.get(receiver)}function __classPrivateFieldSet(receiver,state,value,kind,f){if("m"===kind)throw new TypeError("Private method is not writable");if("a"===kind&&!f)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof state?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===kind?f.call(receiver,value):f?f.value=value:state.set(receiver,value),value}},137:module=>{"use strict";module.exports=function isValidUTF8(buf){const len=buf.length;let i=0;for(;i=len||128!=(192&buf[i+1])||128!=(192&buf[i+2])||224===buf[i]&&128==(224&buf[i+1])||237===buf[i]&&160==(224&buf[i+1]))return!1;i+=3}else{if(240!=(248&buf[i]))return!1;if(i+3>=len||128!=(192&buf[i+1])||128!=(192&buf[i+2])||128!=(192&buf[i+3])||240===buf[i]&&128==(240&buf[i+1])||244===buf[i]&&buf[i+1]>143||buf[i]>244)return!1;i+=4}return!0}},311:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";try{module.exports=__webpack_require__(9516)(__dirname)}catch(e){module.exports=__webpack_require__(137)}},8777:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const WebSocket=__webpack_require__(8762);WebSocket.createWebSocketStream=__webpack_require__(404),WebSocket.Server=__webpack_require__(9284),WebSocket.Receiver=__webpack_require__(2957),WebSocket.Sender=__webpack_require__(7330),module.exports=WebSocket},977:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const{EMPTY_BUFFER}=__webpack_require__(1872);function concat(list,totalLength){if(0===list.length)return EMPTY_BUFFER;if(1===list.length)return list[0];const target=Buffer.allocUnsafe(totalLength);let offset=0;for(let i=0;i{"use strict";module.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),EMPTY_BUFFER:Buffer.alloc(0),NOOP:()=>{}}},62:module=>{"use strict";class Event{constructor(type,target){this.target=target,this.type=type}}class MessageEvent extends Event{constructor(data,target){super("message",target),this.data=data}}class CloseEvent extends Event{constructor(code,reason,target){super("close",target),this.wasClean=target._closeFrameReceived&&target._closeFrameSent,this.reason=reason,this.code=code}}class OpenEvent extends Event{constructor(target){super("open",target)}}class ErrorEvent extends Event{constructor(error,target){super("error",target),this.message=error.message,this.error=error}}const EventTarget={addEventListener(type,listener,options){if("function"!=typeof listener)return;function onMessage(data){listener.call(this,new MessageEvent(data,this))}function onClose(code,message){listener.call(this,new CloseEvent(code,message,this))}function onError(error){listener.call(this,new ErrorEvent(error,this))}function onOpen(){listener.call(this,new OpenEvent(this))}const method=options&&options.once?"once":"on";"message"===type?(onMessage._listener=listener,this[method](type,onMessage)):"close"===type?(onClose._listener=listener,this[method](type,onClose)):"error"===type?(onError._listener=listener,this[method](type,onError)):"open"===type?(onOpen._listener=listener,this[method](type,onOpen)):this[method](type,listener)},removeEventListener(type,listener){const listeners=this.listeners(type);for(let i=0;i{"use strict";const tokenChars=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function push(dest,name,elem){void 0===dest[name]?dest[name]=[elem]:dest[name].push(elem)}module.exports={format:function format(extensions){return Object.keys(extensions).map((extension=>{let configurations=extensions[extension];return Array.isArray(configurations)||(configurations=[configurations]),configurations.map((params=>[extension].concat(Object.keys(params).map((k=>{let values=params[k];return Array.isArray(values)||(values=[values]),values.map((v=>!0===v?k:`${k}=${v}`)).join("; ")}))).join("; "))).join(", ")})).join(", ")},parse:function parse(header){const offers=Object.create(null);if(void 0===header||""===header)return offers;let extensionName,paramName,params=Object.create(null),mustUnescape=!1,isEscaping=!1,inQuotes=!1,start=-1,end=-1,i=0;for(;i{"use strict";const kDone=Symbol("kDone"),kRun=Symbol("kRun");module.exports=class Limiter{constructor(concurrency){this[kDone]=()=>{this.pending--,this[kRun]()},this.concurrency=concurrency||1/0,this.jobs=[],this.pending=0}add(job){this.jobs.push(job),this[kRun]()}[kRun](){if(this.pending!==this.concurrency&&this.jobs.length){const job=this.jobs.shift();this.pending++,job(this[kDone])}}}},5196:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const zlib=__webpack_require__(9796),bufferUtil=__webpack_require__(977),Limiter=__webpack_require__(305),{kStatusCode,NOOP}=__webpack_require__(1872),TRAILER=Buffer.from([0,0,255,255]),kPerMessageDeflate=Symbol("permessage-deflate"),kTotalLength=Symbol("total-length"),kCallback=Symbol("callback"),kBuffers=Symbol("buffers"),kError=Symbol("error");let zlibLimiter;function deflateOnData(chunk){this[kBuffers].push(chunk),this[kTotalLength]+=chunk.length}function inflateOnData(chunk){this[kTotalLength]+=chunk.length,this[kPerMessageDeflate]._maxPayload<1||this[kTotalLength]<=this[kPerMessageDeflate]._maxPayload?this[kBuffers].push(chunk):(this[kError]=new RangeError("Max payload size exceeded"),this[kError][kStatusCode]=1009,this.removeListener("data",inflateOnData),this.reset())}function inflateOnError(err){this[kPerMessageDeflate]._inflate=null,err[kStatusCode]=1007,this[kCallback](err)}module.exports=class PerMessageDeflate{constructor(options,isServer,maxPayload){if(this._maxPayload=0|maxPayload,this._options=options||{},this._threshold=void 0!==this._options.threshold?this._options.threshold:1024,this._isServer=!!isServer,this._deflate=null,this._inflate=null,this.params=null,!zlibLimiter){const concurrency=void 0!==this._options.concurrencyLimit?this._options.concurrencyLimit:10;zlibLimiter=new Limiter(concurrency)}}static get extensionName(){return"permessage-deflate"}offer(){const params={};return this._options.serverNoContextTakeover&&(params.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(params.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(params.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?params.client_max_window_bits=this._options.clientMaxWindowBits:null==this._options.clientMaxWindowBits&&(params.client_max_window_bits=!0),params}accept(configurations){return configurations=this.normalizeParams(configurations),this.params=this._isServer?this.acceptAsServer(configurations):this.acceptAsClient(configurations),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){const callback=this._deflate[kCallback];this._deflate.close(),this._deflate=null,callback&&callback(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(offers){const opts=this._options,accepted=offers.find((params=>!(!1===opts.serverNoContextTakeover&¶ms.server_no_context_takeover||params.server_max_window_bits&&(!1===opts.serverMaxWindowBits||"number"==typeof opts.serverMaxWindowBits&&opts.serverMaxWindowBits>params.server_max_window_bits)||"number"==typeof opts.clientMaxWindowBits&&!params.client_max_window_bits)));if(!accepted)throw new Error("None of the extension offers can be accepted");return opts.serverNoContextTakeover&&(accepted.server_no_context_takeover=!0),opts.clientNoContextTakeover&&(accepted.client_no_context_takeover=!0),"number"==typeof opts.serverMaxWindowBits&&(accepted.server_max_window_bits=opts.serverMaxWindowBits),"number"==typeof opts.clientMaxWindowBits?accepted.client_max_window_bits=opts.clientMaxWindowBits:!0!==accepted.client_max_window_bits&&!1!==opts.clientMaxWindowBits||delete accepted.client_max_window_bits,accepted}acceptAsClient(response){const params=response[0];if(!1===this._options.clientNoContextTakeover&¶ms.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(params.client_max_window_bits){if(!1===this._options.clientMaxWindowBits||"number"==typeof this._options.clientMaxWindowBits&¶ms.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"')}else"number"==typeof this._options.clientMaxWindowBits&&(params.client_max_window_bits=this._options.clientMaxWindowBits);return params}normalizeParams(configurations){return configurations.forEach((params=>{Object.keys(params).forEach((key=>{let value=params[key];if(value.length>1)throw new Error(`Parameter "${key}" must have only a single value`);if(value=value[0],"client_max_window_bits"===key){if(!0!==value){const num=+value;if(!Number.isInteger(num)||num<8||num>15)throw new TypeError(`Invalid value for parameter "${key}": ${value}`);value=num}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${key}": ${value}`)}else if("server_max_window_bits"===key){const num=+value;if(!Number.isInteger(num)||num<8||num>15)throw new TypeError(`Invalid value for parameter "${key}": ${value}`);value=num}else{if("client_no_context_takeover"!==key&&"server_no_context_takeover"!==key)throw new Error(`Unknown parameter "${key}"`);if(!0!==value)throw new TypeError(`Invalid value for parameter "${key}": ${value}`)}params[key]=value}))})),configurations}decompress(data,fin,callback){zlibLimiter.add((done=>{this._decompress(data,fin,((err,result)=>{done(),callback(err,result)}))}))}compress(data,fin,callback){zlibLimiter.add((done=>{this._compress(data,fin,((err,result)=>{done(),callback(err,result)}))}))}_decompress(data,fin,callback){const endpoint=this._isServer?"client":"server";if(!this._inflate){const key=`${endpoint}_max_window_bits`,windowBits="number"!=typeof this.params[key]?zlib.Z_DEFAULT_WINDOWBITS:this.params[key];this._inflate=zlib.createInflateRaw({...this._options.zlibInflateOptions,windowBits}),this._inflate[kPerMessageDeflate]=this,this._inflate[kTotalLength]=0,this._inflate[kBuffers]=[],this._inflate.on("error",inflateOnError),this._inflate.on("data",inflateOnData)}this._inflate[kCallback]=callback,this._inflate.write(data),fin&&this._inflate.write(TRAILER),this._inflate.flush((()=>{const err=this._inflate[kError];if(err)return this._inflate.close(),this._inflate=null,void callback(err);const data=bufferUtil.concat(this._inflate[kBuffers],this._inflate[kTotalLength]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[kTotalLength]=0,this._inflate[kBuffers]=[],fin&&this.params[`${endpoint}_no_context_takeover`]&&this._inflate.reset()),callback(null,data)}))}_compress(data,fin,callback){const endpoint=this._isServer?"server":"client";if(!this._deflate){const key=`${endpoint}_max_window_bits`,windowBits="number"!=typeof this.params[key]?zlib.Z_DEFAULT_WINDOWBITS:this.params[key];this._deflate=zlib.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits}),this._deflate[kTotalLength]=0,this._deflate[kBuffers]=[],this._deflate.on("error",NOOP),this._deflate.on("data",deflateOnData)}this._deflate[kCallback]=callback,this._deflate.write(data),this._deflate.flush(zlib.Z_SYNC_FLUSH,(()=>{if(!this._deflate)return;let data=bufferUtil.concat(this._deflate[kBuffers],this._deflate[kTotalLength]);fin&&(data=data.slice(0,data.length-4)),this._deflate[kCallback]=null,this._deflate[kTotalLength]=0,this._deflate[kBuffers]=[],fin&&this.params[`${endpoint}_no_context_takeover`]&&this._deflate.reset(),callback(null,data)}))}}},2957:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const{Writable}=__webpack_require__(2781),PerMessageDeflate=__webpack_require__(5196),{BINARY_TYPES,EMPTY_BUFFER,kStatusCode,kWebSocket}=__webpack_require__(1872),{concat,toArrayBuffer,unmask}=__webpack_require__(977),{isValidStatusCode,isValidUTF8}=__webpack_require__(6746);function error(ErrorCtor,message,prefix,statusCode){const err=new ErrorCtor(prefix?`Invalid WebSocket frame: ${message}`:message);return Error.captureStackTrace(err,error),err[kStatusCode]=statusCode,err}module.exports=class Receiver extends Writable{constructor(binaryType,extensions,isServer,maxPayload){super(),this._binaryType=binaryType||BINARY_TYPES[0],this[kWebSocket]=void 0,this._extensions=extensions||{},this._isServer=!!isServer,this._maxPayload=0|maxPayload,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._state=0,this._loop=!1}_write(chunk,encoding,cb){if(8===this._opcode&&0==this._state)return cb();this._bufferedBytes+=chunk.length,this._buffers.push(chunk),this.startLoop(cb)}consume(n){if(this._bufferedBytes-=n,n===this._buffers[0].length)return this._buffers.shift();if(n=buf.length?dst.set(this._buffers.shift(),offset):(dst.set(new Uint8Array(buf.buffer,buf.byteOffset,n),offset),this._buffers[0]=buf.slice(n)),n-=buf.length}while(n>0);return dst}startLoop(cb){let err;this._loop=!0;do{switch(this._state){case 0:err=this.getInfo();break;case 1:err=this.getPayloadLength16();break;case 2:err=this.getPayloadLength64();break;case 3:this.getMask();break;case 4:err=this.getData(cb);break;default:return void(this._loop=!1)}}while(this._loop);cb(err)}getInfo(){if(this._bufferedBytes<2)return void(this._loop=!1);const buf=this.consume(2);if(0!=(48&buf[0]))return this._loop=!1,error(RangeError,"RSV2 and RSV3 must be clear",!0,1002);const compressed=64==(64&buf[0]);if(compressed&&!this._extensions[PerMessageDeflate.extensionName])return this._loop=!1,error(RangeError,"RSV1 must be clear",!0,1002);if(this._fin=128==(128&buf[0]),this._opcode=15&buf[0],this._payloadLength=127&buf[1],0===this._opcode){if(compressed)return this._loop=!1,error(RangeError,"RSV1 must be clear",!0,1002);if(!this._fragmented)return this._loop=!1,error(RangeError,"invalid opcode 0",!0,1002);this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented)return this._loop=!1,error(RangeError,`invalid opcode ${this._opcode}`,!0,1002);this._compressed=compressed}else{if(!(this._opcode>7&&this._opcode<11))return this._loop=!1,error(RangeError,`invalid opcode ${this._opcode}`,!0,1002);if(!this._fin)return this._loop=!1,error(RangeError,"FIN must be set",!0,1002);if(compressed)return this._loop=!1,error(RangeError,"RSV1 must be clear",!0,1002);if(this._payloadLength>125)return this._loop=!1,error(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002)}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=128==(128&buf[1]),this._isServer){if(!this._masked)return this._loop=!1,error(RangeError,"MASK must be set",!0,1002)}else if(this._masked)return this._loop=!1,error(RangeError,"MASK must be clear",!0,1002);if(126===this._payloadLength)this._state=1;else{if(127!==this._payloadLength)return this.haveLength();this._state=2}}getPayloadLength16(){if(!(this._bufferedBytes<2))return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength();this._loop=!1}getPayloadLength64(){if(this._bufferedBytes<8)return void(this._loop=!1);const buf=this.consume(8),num=buf.readUInt32BE(0);return num>Math.pow(2,21)-1?(this._loop=!1,error(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009)):(this._payloadLength=num*Math.pow(2,32)+buf.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,error(RangeError,"Max payload size exceeded",!1,1009);this._masked?this._state=3:this._state=4}getMask(){this._bufferedBytes<4?this._loop=!1:(this._mask=this.consume(4),this._state=4)}getData(cb){let data=EMPTY_BUFFER;if(this._payloadLength){if(this._bufferedBytes7?this.controlMessage(data):this._compressed?(this._state=5,void this.decompress(data,cb)):(data.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(data)),this.dataMessage())}decompress(data,cb){this._extensions[PerMessageDeflate.extensionName].decompress(data,this._fin,((err,buf)=>{if(err)return cb(err);if(buf.length){if(this._messageLength+=buf.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return cb(error(RangeError,"Max payload size exceeded",!1,1009));this._fragments.push(buf)}const er=this.dataMessage();if(er)return cb(er);this.startLoop(cb)}))}dataMessage(){if(this._fin){const messageLength=this._messageLength,fragments=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let data;data="nodebuffer"===this._binaryType?concat(fragments,messageLength):"arraybuffer"===this._binaryType?toArrayBuffer(concat(fragments,messageLength)):fragments,this.emit("message",data)}else{const buf=concat(fragments,messageLength);if(!isValidUTF8(buf))return this._loop=!1,error(Error,"invalid UTF-8 sequence",!0,1007);this.emit("message",buf.toString())}}this._state=0}controlMessage(data){if(8===this._opcode)if(this._loop=!1,0===data.length)this.emit("conclude",1005,""),this.end();else{if(1===data.length)return error(RangeError,"invalid payload length 1",!0,1002);{const code=data.readUInt16BE(0);if(!isValidStatusCode(code))return error(RangeError,`invalid status code ${code}`,!0,1002);const buf=data.slice(2);if(!isValidUTF8(buf))return error(Error,"invalid UTF-8 sequence",!0,1007);this.emit("conclude",code,buf.toString()),this.end()}}else 9===this._opcode?this.emit("ping",data):this.emit("pong",data);this._state=0}}},7330:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const{randomFillSync}=__webpack_require__(6113),PerMessageDeflate=__webpack_require__(5196),{EMPTY_BUFFER}=__webpack_require__(1872),{isValidStatusCode}=__webpack_require__(6746),{mask:applyMask,toBuffer}=__webpack_require__(977),mask=Buffer.alloc(4);class Sender{constructor(socket,extensions){this._extensions=extensions||{},this._socket=socket,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(data,options){const merge=options.mask&&options.readOnly;let offset=options.mask?6:2,payloadLength=data.length;data.length>=65536?(offset+=8,payloadLength=127):data.length>125&&(offset+=2,payloadLength=126);const target=Buffer.allocUnsafe(merge?data.length+offset:offset);return target[0]=options.fin?128|options.opcode:options.opcode,options.rsv1&&(target[0]|=64),target[1]=payloadLength,126===payloadLength?target.writeUInt16BE(data.length,2):127===payloadLength&&(target.writeUInt32BE(0,2),target.writeUInt32BE(data.length,6)),options.mask?(randomFillSync(mask,0,4),target[1]|=128,target[offset-4]=mask[0],target[offset-3]=mask[1],target[offset-2]=mask[2],target[offset-1]=mask[3],merge?(applyMask(data,mask,target,offset,data.length),[target]):(applyMask(data,mask,data,0,data.length),[target,data])):[target,data]}close(code,data,mask,cb){let buf;if(void 0===code)buf=EMPTY_BUFFER;else{if("number"!=typeof code||!isValidStatusCode(code))throw new TypeError("First argument must be a valid error code number");if(void 0===data||""===data)buf=Buffer.allocUnsafe(2),buf.writeUInt16BE(code,0);else{const length=Buffer.byteLength(data);if(length>123)throw new RangeError("The message must not be greater than 123 bytes");buf=Buffer.allocUnsafe(2+length),buf.writeUInt16BE(code,0),buf.write(data,2)}}this._deflating?this.enqueue([this.doClose,buf,mask,cb]):this.doClose(buf,mask,cb)}doClose(data,mask,cb){this.sendFrame(Sender.frame(data,{fin:!0,rsv1:!1,opcode:8,mask,readOnly:!1}),cb)}ping(data,mask,cb){const buf=toBuffer(data);if(buf.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPing,buf,mask,toBuffer.readOnly,cb]):this.doPing(buf,mask,toBuffer.readOnly,cb)}doPing(data,mask,readOnly,cb){this.sendFrame(Sender.frame(data,{fin:!0,rsv1:!1,opcode:9,mask,readOnly}),cb)}pong(data,mask,cb){const buf=toBuffer(data);if(buf.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPong,buf,mask,toBuffer.readOnly,cb]):this.doPong(buf,mask,toBuffer.readOnly,cb)}doPong(data,mask,readOnly,cb){this.sendFrame(Sender.frame(data,{fin:!0,rsv1:!1,opcode:10,mask,readOnly}),cb)}send(data,options,cb){const buf=toBuffer(data),perMessageDeflate=this._extensions[PerMessageDeflate.extensionName];let opcode=options.binary?2:1,rsv1=options.compress;if(this._firstFragment?(this._firstFragment=!1,rsv1&&perMessageDeflate&&(rsv1=buf.length>=perMessageDeflate._threshold),this._compress=rsv1):(rsv1=!1,opcode=0),options.fin&&(this._firstFragment=!0),perMessageDeflate){const opts={fin:options.fin,rsv1,opcode,mask:options.mask,readOnly:toBuffer.readOnly};this._deflating?this.enqueue([this.dispatch,buf,this._compress,opts,cb]):this.dispatch(buf,this._compress,opts,cb)}else this.sendFrame(Sender.frame(buf,{fin:options.fin,rsv1:!1,opcode,mask:options.mask,readOnly:toBuffer.readOnly}),cb)}dispatch(data,compress,options,cb){if(!compress)return void this.sendFrame(Sender.frame(data,options),cb);const perMessageDeflate=this._extensions[PerMessageDeflate.extensionName];this._bufferedBytes+=data.length,this._deflating=!0,perMessageDeflate.compress(data,options.fin,((_,buf)=>{if(this._socket.destroyed){const err=new Error("The socket was closed while data was being compressed");"function"==typeof cb&&cb(err);for(let i=0;i{"use strict";const{Duplex}=__webpack_require__(2781);function emitClose(stream){stream.emit("close")}function duplexOnEnd(){!this.destroyed&&this._writableState.finished&&this.destroy()}function duplexOnError(err){this.removeListener("error",duplexOnError),this.destroy(),0===this.listenerCount("error")&&this.emit("error",err)}module.exports=function createWebSocketStream(ws,options){let resumeOnReceiverDrain=!0;function receiverOnDrain(){resumeOnReceiverDrain&&ws._socket.resume()}ws.readyState===ws.CONNECTING?ws.once("open",(function open(){ws._receiver.removeAllListeners("drain"),ws._receiver.on("drain",receiverOnDrain)})):(ws._receiver.removeAllListeners("drain"),ws._receiver.on("drain",receiverOnDrain));const duplex=new Duplex({...options,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return ws.on("message",(function message(msg){duplex.push(msg)||(resumeOnReceiverDrain=!1,ws._socket.pause())})),ws.once("error",(function error(err){duplex.destroyed||duplex.destroy(err)})),ws.once("close",(function close(){duplex.destroyed||duplex.push(null)})),duplex._destroy=function(err,callback){if(ws.readyState===ws.CLOSED)return callback(err),void process.nextTick(emitClose,duplex);let called=!1;ws.once("error",(function error(err){called=!0,callback(err)})),ws.once("close",(function close(){called||callback(err),process.nextTick(emitClose,duplex)})),ws.terminate()},duplex._final=function(callback){ws.readyState!==ws.CONNECTING?null!==ws._socket&&(ws._socket._writableState.finished?(callback(),duplex._readableState.endEmitted&&duplex.destroy()):(ws._socket.once("finish",(function finish(){callback()})),ws.close())):ws.once("open",(function open(){duplex._final(callback)}))},duplex._read=function(){ws.readyState!==ws.OPEN||resumeOnReceiverDrain||(resumeOnReceiverDrain=!0,ws._receiver._writableState.needDrain||ws._socket.resume())},duplex._write=function(chunk,encoding,callback){ws.readyState!==ws.CONNECTING?ws.send(chunk,callback):ws.once("open",(function open(){duplex._write(chunk,encoding,callback)}))},duplex.on("end",duplexOnEnd),duplex.on("error",duplexOnError),duplex}},6746:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";function isValidStatusCode(code){return code>=1e3&&code<=1014&&1004!==code&&1005!==code&&1006!==code||code>=3e3&&code<=4999}function _isValidUTF8(buf){const len=buf.length;let i=0;for(;i=len||128!=(192&buf[i+1])||128!=(192&buf[i+2])||224===buf[i]&&128==(224&buf[i+1])||237===buf[i]&&160==(224&buf[i+1]))return!1;i+=3}else{if(240!=(248&buf[i]))return!1;if(i+3>=len||128!=(192&buf[i+1])||128!=(192&buf[i+2])||128!=(192&buf[i+3])||240===buf[i]&&128==(240&buf[i+1])||244===buf[i]&&buf[i+1]>143||buf[i]>244)return!1;i+=4}return!0}try{let isValidUTF8=__webpack_require__(311);"object"==typeof isValidUTF8&&(isValidUTF8=isValidUTF8.Validation.isValidUTF8),module.exports={isValidStatusCode,isValidUTF8:buf=>buf.length<150?_isValidUTF8(buf):isValidUTF8(buf)}}catch(e){module.exports={isValidStatusCode,isValidUTF8:_isValidUTF8}}},9284:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const EventEmitter=__webpack_require__(2361),{createHash}=__webpack_require__(6113),{createServer,STATUS_CODES}=__webpack_require__(3685),PerMessageDeflate=__webpack_require__(5196),WebSocket=__webpack_require__(8762),{format,parse}=__webpack_require__(1503),{GUID,kWebSocket}=__webpack_require__(1872),keyRegex=/^[+/0-9A-Za-z]{22}==$/;function emitClose(server){server.emit("close")}function socketOnError(){this.destroy()}function abortHandshake(socket,code,message,headers){socket.writable&&(message=message||STATUS_CODES[code],headers={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(message),...headers},socket.write(`HTTP/1.1 ${code} ${STATUS_CODES[code]}\r\n`+Object.keys(headers).map((h=>`${h}: ${headers[h]}`)).join("\r\n")+"\r\n\r\n"+message)),socket.removeListener("error",socketOnError),socket.destroy()}function trim(str){return str.trim()}module.exports=class WebSocketServer extends EventEmitter{constructor(options,callback){if(super(),null==(options={maxPayload:104857600,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,...options}).port&&!options.server&&!options.noServer)throw new TypeError('One of the "port", "server", or "noServer" options must be specified');if(null!=options.port?(this._server=createServer(((req,res)=>{const body=STATUS_CODES[426];res.writeHead(426,{"Content-Length":body.length,"Content-Type":"text/plain"}),res.end(body)})),this._server.listen(options.port,options.host,options.backlog,callback)):options.server&&(this._server=options.server),this._server){const emitConnection=this.emit.bind(this,"connection");this._removeListeners=function addListeners(server,map){for(const event of Object.keys(map))server.on(event,map[event]);return function removeListeners(){for(const event of Object.keys(map))server.removeListener(event,map[event])}}(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(req,socket,head)=>{this.handleUpgrade(req,socket,head,emitConnection)}})}!0===options.perMessageDeflate&&(options.perMessageDeflate={}),options.clientTracking&&(this.clients=new Set),this.options=options}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(cb){if(cb&&this.once("close",cb),this.clients)for(const client of this.clients)client.terminate();const server=this._server;server&&(this._removeListeners(),this._removeListeners=this._server=null,null!=this.options.port)?server.close((()=>this.emit("close"))):process.nextTick(emitClose,this)}shouldHandle(req){if(this.options.path){const index=req.url.indexOf("?");if((-1!==index?req.url.slice(0,index):req.url)!==this.options.path)return!1}return!0}handleUpgrade(req,socket,head,cb){socket.on("error",socketOnError);const key=void 0!==req.headers["sec-websocket-key"]&&req.headers["sec-websocket-key"].trim(),version=+req.headers["sec-websocket-version"],extensions={};if("GET"!==req.method||"websocket"!==req.headers.upgrade.toLowerCase()||!key||!keyRegex.test(key)||8!==version&&13!==version||!this.shouldHandle(req))return abortHandshake(socket,400);if(this.options.perMessageDeflate){const perMessageDeflate=new PerMessageDeflate(this.options.perMessageDeflate,!0,this.options.maxPayload);try{const offers=parse(req.headers["sec-websocket-extensions"]);offers[PerMessageDeflate.extensionName]&&(perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]),extensions[PerMessageDeflate.extensionName]=perMessageDeflate)}catch(err){return abortHandshake(socket,400)}}if(this.options.verifyClient){const info={origin:req.headers[""+(8===version?"sec-websocket-origin":"origin")],secure:!(!req.socket.authorized&&!req.socket.encrypted),req};if(2===this.options.verifyClient.length)return void this.options.verifyClient(info,((verified,code,message,headers)=>{if(!verified)return abortHandshake(socket,code||401,message,headers);this.completeUpgrade(key,extensions,req,socket,head,cb)}));if(!this.options.verifyClient(info))return abortHandshake(socket,401)}this.completeUpgrade(key,extensions,req,socket,head,cb)}completeUpgrade(key,extensions,req,socket,head,cb){if(!socket.readable||!socket.writable)return socket.destroy();if(socket[kWebSocket])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");const headers=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${createHash("sha1").update(key+GUID).digest("base64")}`],ws=new WebSocket(null);let protocol=req.headers["sec-websocket-protocol"];if(protocol&&(protocol=protocol.split(",").map(trim),protocol=this.options.handleProtocols?this.options.handleProtocols(protocol,req):protocol[0],protocol&&(headers.push(`Sec-WebSocket-Protocol: ${protocol}`),ws._protocol=protocol)),extensions[PerMessageDeflate.extensionName]){const params=extensions[PerMessageDeflate.extensionName].params,value=format({[PerMessageDeflate.extensionName]:[params]});headers.push(`Sec-WebSocket-Extensions: ${value}`),ws._extensions=extensions}this.emit("headers",headers,req),socket.write(headers.concat("\r\n").join("\r\n")),socket.removeListener("error",socketOnError),ws.setSocket(socket,head,this.options.maxPayload),this.clients&&(this.clients.add(ws),ws.on("close",(()=>this.clients.delete(ws)))),cb(ws,req)}}},8762:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const EventEmitter=__webpack_require__(2361),https=__webpack_require__(5687),http=__webpack_require__(3685),net=__webpack_require__(1808),tls=__webpack_require__(4404),{randomBytes,createHash}=__webpack_require__(6113),{URL}=__webpack_require__(7310),PerMessageDeflate=__webpack_require__(5196),Receiver=__webpack_require__(2957),Sender=__webpack_require__(7330),{BINARY_TYPES,EMPTY_BUFFER,GUID,kStatusCode,kWebSocket,NOOP}=__webpack_require__(1872),{addEventListener,removeEventListener}=__webpack_require__(62),{format,parse}=__webpack_require__(1503),{toBuffer}=__webpack_require__(977),readyStates=["CONNECTING","OPEN","CLOSING","CLOSED"],protocolVersions=[8,13];class WebSocket extends EventEmitter{constructor(address,protocols,options){super(),this._binaryType=BINARY_TYPES[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage="",this._closeTimer=null,this._extensions={},this._protocol="",this._readyState=WebSocket.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,null!==address?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,Array.isArray(protocols)?protocols=protocols.join(", "):"object"==typeof protocols&&null!==protocols&&(options=protocols,protocols=void 0),initAsClient(this,address,protocols,options)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(type){BINARY_TYPES.includes(type)&&(this._binaryType=type,this._receiver&&(this._receiver._binaryType=type))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(socket,head,maxPayload){const receiver=new Receiver(this.binaryType,this._extensions,this._isServer,maxPayload);this._sender=new Sender(socket,this._extensions),this._receiver=receiver,this._socket=socket,receiver[kWebSocket]=this,socket[kWebSocket]=this,receiver.on("conclude",receiverOnConclude),receiver.on("drain",receiverOnDrain),receiver.on("error",receiverOnError),receiver.on("message",receiverOnMessage),receiver.on("ping",receiverOnPing),receiver.on("pong",receiverOnPong),socket.setTimeout(0),socket.setNoDelay(),head.length>0&&socket.unshift(head),socket.on("close",socketOnClose),socket.on("data",socketOnData),socket.on("end",socketOnEnd),socket.on("error",socketOnError),this._readyState=WebSocket.OPEN,this.emit("open")}emitClose(){if(!this._socket)return this._readyState=WebSocket.CLOSED,void this.emit("close",this._closeCode,this._closeMessage);this._extensions[PerMessageDeflate.extensionName]&&this._extensions[PerMessageDeflate.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=WebSocket.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(code,data){if(this.readyState!==WebSocket.CLOSED){if(this.readyState===WebSocket.CONNECTING){const msg="WebSocket was closed before the connection was established";return abortHandshake(this,this._req,msg)}this.readyState!==WebSocket.CLOSING?(this._readyState=WebSocket.CLOSING,this._sender.close(code,data,!this._isServer,(err=>{err||(this._closeFrameSent=!0,this._closeFrameReceived&&this._socket.end())})),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),3e4)):this._closeFrameSent&&this._closeFrameReceived&&this._socket.end()}}ping(data,mask,cb){if(this.readyState===WebSocket.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");"function"==typeof data?(cb=data,data=mask=void 0):"function"==typeof mask&&(cb=mask,mask=void 0),"number"==typeof data&&(data=data.toString()),this.readyState===WebSocket.OPEN?(void 0===mask&&(mask=!this._isServer),this._sender.ping(data||EMPTY_BUFFER,mask,cb)):sendAfterClose(this,data,cb)}pong(data,mask,cb){if(this.readyState===WebSocket.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");"function"==typeof data?(cb=data,data=mask=void 0):"function"==typeof mask&&(cb=mask,mask=void 0),"number"==typeof data&&(data=data.toString()),this.readyState===WebSocket.OPEN?(void 0===mask&&(mask=!this._isServer),this._sender.pong(data||EMPTY_BUFFER,mask,cb)):sendAfterClose(this,data,cb)}send(data,options,cb){if(this.readyState===WebSocket.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof options&&(cb=options,options={}),"number"==typeof data&&(data=data.toString()),this.readyState!==WebSocket.OPEN)return void sendAfterClose(this,data,cb);const opts={binary:"string"!=typeof data,mask:!this._isServer,compress:!0,fin:!0,...options};this._extensions[PerMessageDeflate.extensionName]||(opts.compress=!1),this._sender.send(data||EMPTY_BUFFER,opts,cb)}terminate(){if(this.readyState!==WebSocket.CLOSED){if(this.readyState===WebSocket.CONNECTING){const msg="WebSocket was closed before the connection was established";return abortHandshake(this,this._req,msg)}this._socket&&(this._readyState=WebSocket.CLOSING,this._socket.destroy())}}}function initAsClient(websocket,address,protocols,options){const opts={protocolVersion:protocolVersions[1],maxPayload:104857600,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...options,createConnection:void 0,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:void 0,host:void 0,path:void 0,port:void 0};if(!protocolVersions.includes(opts.protocolVersion))throw new RangeError(`Unsupported protocol version: ${opts.protocolVersion} (supported versions: ${protocolVersions.join(", ")})`);let parsedUrl;address instanceof URL?(parsedUrl=address,websocket._url=address.href):(parsedUrl=new URL(address),websocket._url=address);const isUnixSocket="ws+unix:"===parsedUrl.protocol;if(!(parsedUrl.host||isUnixSocket&&parsedUrl.pathname))throw new Error(`Invalid URL: ${websocket.url}`);const isSecure="wss:"===parsedUrl.protocol||"https:"===parsedUrl.protocol,defaultPort=isSecure?443:80,key=randomBytes(16).toString("base64"),get=isSecure?https.get:http.get;let perMessageDeflate;if(opts.createConnection=isSecure?tlsConnect:netConnect,opts.defaultPort=opts.defaultPort||defaultPort,opts.port=parsedUrl.port||defaultPort,opts.host=parsedUrl.hostname.startsWith("[")?parsedUrl.hostname.slice(1,-1):parsedUrl.hostname,opts.headers={"Sec-WebSocket-Version":opts.protocolVersion,"Sec-WebSocket-Key":key,Connection:"Upgrade",Upgrade:"websocket",...opts.headers},opts.path=parsedUrl.pathname+parsedUrl.search,opts.timeout=opts.handshakeTimeout,opts.perMessageDeflate&&(perMessageDeflate=new PerMessageDeflate(!0!==opts.perMessageDeflate?opts.perMessageDeflate:{},!1,opts.maxPayload),opts.headers["Sec-WebSocket-Extensions"]=format({[PerMessageDeflate.extensionName]:perMessageDeflate.offer()})),protocols&&(opts.headers["Sec-WebSocket-Protocol"]=protocols),opts.origin&&(opts.protocolVersion<13?opts.headers["Sec-WebSocket-Origin"]=opts.origin:opts.headers.Origin=opts.origin),(parsedUrl.username||parsedUrl.password)&&(opts.auth=`${parsedUrl.username}:${parsedUrl.password}`),isUnixSocket){const parts=opts.path.split(":");opts.socketPath=parts[0],opts.path=parts[1]}let req=websocket._req=get(opts);opts.timeout&&req.on("timeout",(()=>{abortHandshake(websocket,req,"Opening handshake has timed out")})),req.on("error",(err=>{null===req||req.aborted||(req=websocket._req=null,websocket._readyState=WebSocket.CLOSING,websocket.emit("error",err),websocket.emitClose())})),req.on("response",(res=>{const location=res.headers.location,statusCode=res.statusCode;if(location&&opts.followRedirects&&statusCode>=300&&statusCode<400){if(++websocket._redirects>opts.maxRedirects)return void abortHandshake(websocket,req,"Maximum redirects exceeded");req.abort();const addr=new URL(location,address);initAsClient(websocket,addr,protocols,options)}else websocket.emit("unexpected-response",req,res)||abortHandshake(websocket,req,`Unexpected server response: ${res.statusCode}`)})),req.on("upgrade",((res,socket,head)=>{if(websocket.emit("upgrade",res),websocket.readyState!==WebSocket.CONNECTING)return;req=websocket._req=null;const digest=createHash("sha1").update(key+GUID).digest("base64");if(res.headers["sec-websocket-accept"]!==digest)return void abortHandshake(websocket,socket,"Invalid Sec-WebSocket-Accept header");const serverProt=res.headers["sec-websocket-protocol"],protList=(protocols||"").split(/, */);let protError;if(!protocols&&serverProt?protError="Server sent a subprotocol but none was requested":protocols&&!serverProt?protError="Server sent no subprotocol":serverProt&&!protList.includes(serverProt)&&(protError="Server sent an invalid subprotocol"),protError)abortHandshake(websocket,socket,protError);else{if(serverProt&&(websocket._protocol=serverProt),perMessageDeflate)try{const extensions=parse(res.headers["sec-websocket-extensions"]);extensions[PerMessageDeflate.extensionName]&&(perMessageDeflate.accept(extensions[PerMessageDeflate.extensionName]),websocket._extensions[PerMessageDeflate.extensionName]=perMessageDeflate)}catch(err){return void abortHandshake(websocket,socket,"Invalid Sec-WebSocket-Extensions header")}websocket.setSocket(socket,head,opts.maxPayload)}}))}function netConnect(options){return options.path=options.socketPath,net.connect(options)}function tlsConnect(options){return options.path=void 0,options.servername||""===options.servername||(options.servername=net.isIP(options.host)?"":options.host),tls.connect(options)}function abortHandshake(websocket,stream,message){websocket._readyState=WebSocket.CLOSING;const err=new Error(message);Error.captureStackTrace(err,abortHandshake),stream.setHeader?(stream.abort(),stream.socket&&!stream.socket.destroyed&&stream.socket.destroy(),stream.once("abort",websocket.emitClose.bind(websocket)),websocket.emit("error",err)):(stream.destroy(err),stream.once("error",websocket.emit.bind(websocket,"error")),stream.once("close",websocket.emitClose.bind(websocket)))}function sendAfterClose(websocket,data,cb){if(data){const length=toBuffer(data).length;websocket._socket?websocket._sender._bufferedBytes+=length:websocket._bufferedAmount+=length}if(cb){cb(new Error(`WebSocket is not open: readyState ${websocket.readyState} (${readyStates[websocket.readyState]})`))}}function receiverOnConclude(code,reason){const websocket=this[kWebSocket];websocket._socket.removeListener("data",socketOnData),websocket._socket.resume(),websocket._closeFrameReceived=!0,websocket._closeMessage=reason,websocket._closeCode=code,1005===code?websocket.close():websocket.close(code,reason)}function receiverOnDrain(){this[kWebSocket]._socket.resume()}function receiverOnError(err){const websocket=this[kWebSocket];websocket._socket.removeListener("data",socketOnData),websocket._readyState=WebSocket.CLOSING,websocket._closeCode=err[kStatusCode],websocket.emit("error",err),websocket._socket.destroy()}function receiverOnFinish(){this[kWebSocket].emitClose()}function receiverOnMessage(data){this[kWebSocket].emit("message",data)}function receiverOnPing(data){const websocket=this[kWebSocket];websocket.pong(data,!websocket._isServer,NOOP),websocket.emit("ping",data)}function receiverOnPong(data){this[kWebSocket].emit("pong",data)}function socketOnClose(){const websocket=this[kWebSocket];this.removeListener("close",socketOnClose),this.removeListener("end",socketOnEnd),websocket._readyState=WebSocket.CLOSING,websocket._socket.read(),websocket._receiver.end(),this.removeListener("data",socketOnData),this[kWebSocket]=void 0,clearTimeout(websocket._closeTimer),websocket._receiver._writableState.finished||websocket._receiver._writableState.errorEmitted?websocket.emitClose():(websocket._receiver.on("error",receiverOnFinish),websocket._receiver.on("finish",receiverOnFinish))}function socketOnData(chunk){this[kWebSocket]._receiver.write(chunk)||this.pause()}function socketOnEnd(){const websocket=this[kWebSocket];websocket._readyState=WebSocket.CLOSING,websocket._receiver.end(),this.end()}function socketOnError(){const websocket=this[kWebSocket];this.removeListener("error",socketOnError),this.on("error",NOOP),websocket&&(websocket._readyState=WebSocket.CLOSING,this.destroy())}readyStates.forEach(((readyState,i)=>{const descriptor={enumerable:!0,value:i};Object.defineProperty(WebSocket.prototype,readyState,descriptor),Object.defineProperty(WebSocket,readyState,descriptor)})),["binaryType","bufferedAmount","extensions","protocol","readyState","url"].forEach((property=>{Object.defineProperty(WebSocket.prototype,property,{enumerable:!0})})),["open","error","close","message"].forEach((method=>{Object.defineProperty(WebSocket.prototype,`on${method}`,{configurable:!0,enumerable:!0,get(){const listeners=this.listeners(method);for(let i=0;i{"use strict";module.exports=require("vscode")},6113:module=>{"use strict";module.exports=require("crypto")},2361:module=>{"use strict";module.exports=require("events")},7147:module=>{"use strict";module.exports=require("fs")},3685:module=>{"use strict";module.exports=require("http")},5687:module=>{"use strict";module.exports=require("https")},1808:module=>{"use strict";module.exports=require("net")},2037:module=>{"use strict";module.exports=require("os")},1017:module=>{"use strict";module.exports=require("path")},2781:module=>{"use strict";module.exports=require("stream")},9512:module=>{"use strict";module.exports=require("timers")},4404:module=>{"use strict";module.exports=require("tls")},7310:module=>{"use strict";module.exports=require("url")},9796:module=>{"use strict";module.exports=require("zlib")},7950:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>lodash_es_throttle});const lodash_es_isObject=function isObject(value){var type=typeof value;return null!=value&&("object"==type||"function"==type)};const _freeGlobal="object"==typeof global&&global&&global.Object===Object&&global;var freeSelf="object"==typeof self&&self&&self.Object===Object&&self;const _root=_freeGlobal||freeSelf||Function("return this")();const lodash_es_now=function(){return _root.Date.now()};var reWhitespace=/\s/;const _trimmedEndIndex=function trimmedEndIndex(string){for(var index=string.length;index--&&reWhitespace.test(string.charAt(index)););return index};var reTrimStart=/^\s+/;const _baseTrim=function baseTrim(string){return string?string.slice(0,_trimmedEndIndex(string)+1).replace(reTrimStart,""):string};const _Symbol=_root.Symbol;var objectProto=Object.prototype,_getRawTag_hasOwnProperty=objectProto.hasOwnProperty,nativeObjectToString=objectProto.toString,symToStringTag=_Symbol?_Symbol.toStringTag:void 0;const _getRawTag=function getRawTag(value){var isOwn=_getRawTag_hasOwnProperty.call(value,symToStringTag),tag=value[symToStringTag];try{value[symToStringTag]=void 0;var unmasked=!0}catch(e){}var result=nativeObjectToString.call(value);return unmasked&&(isOwn?value[symToStringTag]=tag:delete value[symToStringTag]),result};var _objectToString_nativeObjectToString=Object.prototype.toString;const _objectToString=function objectToString(value){return _objectToString_nativeObjectToString.call(value)};var _baseGetTag_symToStringTag=_Symbol?_Symbol.toStringTag:void 0;const _baseGetTag=function baseGetTag(value){return null==value?void 0===value?"[object Undefined]":"[object Null]":_baseGetTag_symToStringTag&&_baseGetTag_symToStringTag in Object(value)?_getRawTag(value):_objectToString(value)};const lodash_es_isObjectLike=function isObjectLike(value){return null!=value&&"object"==typeof value};const lodash_es_isSymbol=function isSymbol(value){return"symbol"==typeof value||lodash_es_isObjectLike(value)&&"[object Symbol]"==_baseGetTag(value)};var reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;const lodash_es_toNumber=function toNumber(value){if("number"==typeof value)return value;if(lodash_es_isSymbol(value))return NaN;if(lodash_es_isObject(value)){var other="function"==typeof value.valueOf?value.valueOf():value;value=lodash_es_isObject(other)?other+"":other}if("string"!=typeof value)return 0===value?value:+value;value=_baseTrim(value);var isBinary=reIsBinary.test(value);return isBinary||reIsOctal.test(value)?freeParseInt(value.slice(2),isBinary?2:8):reIsBadHex.test(value)?NaN:+value};var nativeMax=Math.max,nativeMin=Math.min;const lodash_es_debounce=function debounce(func,wait,options){var lastArgs,lastThis,maxWait,result,timerId,lastCallTime,lastInvokeTime=0,leading=!1,maxing=!1,trailing=!0;if("function"!=typeof func)throw new TypeError("Expected a function");function invokeFunc(time){var args=lastArgs,thisArg=lastThis;return lastArgs=lastThis=void 0,lastInvokeTime=time,result=func.apply(thisArg,args)}function leadingEdge(time){return lastInvokeTime=time,timerId=setTimeout(timerExpired,wait),leading?invokeFunc(time):result}function shouldInvoke(time){var timeSinceLastCall=time-lastCallTime;return void 0===lastCallTime||timeSinceLastCall>=wait||timeSinceLastCall<0||maxing&&time-lastInvokeTime>=maxWait}function timerExpired(){var time=lodash_es_now();if(shouldInvoke(time))return trailingEdge(time);timerId=setTimeout(timerExpired,function remainingWait(time){var timeWaiting=wait-(time-lastCallTime);return maxing?nativeMin(timeWaiting,maxWait-(time-lastInvokeTime)):timeWaiting}(time))}function trailingEdge(time){return timerId=void 0,trailing&&lastArgs?invokeFunc(time):(lastArgs=lastThis=void 0,result)}function debounced(){var time=lodash_es_now(),isInvoking=shouldInvoke(time);if(lastArgs=arguments,lastThis=this,lastCallTime=time,isInvoking){if(void 0===timerId)return leadingEdge(lastCallTime);if(maxing)return clearTimeout(timerId),timerId=setTimeout(timerExpired,wait),invokeFunc(lastCallTime)}return void 0===timerId&&(timerId=setTimeout(timerExpired,wait)),result}return wait=lodash_es_toNumber(wait)||0,lodash_es_isObject(options)&&(leading=!!options.leading,maxWait=(maxing="maxWait"in options)?nativeMax(lodash_es_toNumber(options.maxWait)||0,wait):maxWait,trailing="trailing"in options?!!options.trailing:trailing),debounced.cancel=function cancel(){void 0!==timerId&&clearTimeout(timerId),lastInvokeTime=0,lastArgs=lastCallTime=lastThis=timerId=void 0},debounced.flush=function flush(){return void 0===timerId?result:trailingEdge(lodash_es_now())},debounced};const lodash_es_throttle=function throttle(func,wait,options){var leading=!0,trailing=!0;if("function"!=typeof func)throw new TypeError("Expected a function");return lodash_es_isObject(options)&&(leading="leading"in options?!!options.leading:leading,trailing="trailing"in options?!!options.trailing:trailing),lodash_es_debounce(func,wait,{leading,maxWait:wait,trailing})}},6292:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__,Headers:()=>Headers,Request:()=>Request,Response:()=>Response,FetchError:()=>FetchError});var stream__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(2781),http__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(3685),url__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7310),https__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(5687),zlib__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(9796);const Readable=stream__WEBPACK_IMPORTED_MODULE_0__.Readable,BUFFER=Symbol("buffer"),TYPE=Symbol("type");class Blob{constructor(){this[TYPE]="";const blobParts=arguments[0],options=arguments[1],buffers=[];let size=0;if(blobParts){const a=blobParts,length=Number(a.length);for(let i=0;i1&&void 0!==arguments[1]?arguments[1]:{},_ref$size=_ref.size;let size=void 0===_ref$size?0:_ref$size;var _ref$timeout=_ref.timeout;let timeout=void 0===_ref$timeout?0:_ref$timeout;null==body?body=null:isURLSearchParams(body)?body=Buffer.from(body.toString()):isBlob(body)||Buffer.isBuffer(body)||("[object ArrayBuffer]"===Object.prototype.toString.call(body)?body=Buffer.from(body):ArrayBuffer.isView(body)?body=Buffer.from(body.buffer,body.byteOffset,body.byteLength):body instanceof stream__WEBPACK_IMPORTED_MODULE_0__||(body=Buffer.from(String(body)))),this[INTERNALS]={body,disturbed:!1,error:null},this.size=size,this.timeout=timeout,body instanceof stream__WEBPACK_IMPORTED_MODULE_0__&&body.on("error",(function(err){const error="AbortError"===err.name?err:new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`,"system",err);_this[INTERNALS].error=error}))}function consumeBody(){var _this4=this;if(this[INTERNALS].disturbed)return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[INTERNALS].disturbed=!0,this[INTERNALS].error)return Body.Promise.reject(this[INTERNALS].error);let body=this.body;if(null===body)return Body.Promise.resolve(Buffer.alloc(0));if(isBlob(body)&&(body=body.stream()),Buffer.isBuffer(body))return Body.Promise.resolve(body);if(!(body instanceof stream__WEBPACK_IMPORTED_MODULE_0__))return Body.Promise.resolve(Buffer.alloc(0));let accum=[],accumBytes=0,abort=!1;return new Body.Promise((function(resolve,reject){let resTimeout;_this4.timeout&&(resTimeout=setTimeout((function(){abort=!0,reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`,"body-timeout"))}),_this4.timeout)),body.on("error",(function(err){"AbortError"===err.name?(abort=!0,reject(err)):reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`,"system",err))})),body.on("data",(function(chunk){if(!abort&&null!==chunk){if(_this4.size&&accumBytes+chunk.length>_this4.size)return abort=!0,void reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`,"max-size"));accumBytes+=chunk.length,accum.push(chunk)}})),body.on("end",(function(){if(!abort){clearTimeout(resTimeout);try{resolve(Buffer.concat(accum,accumBytes))}catch(err){reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`,"system",err))}}}))}))}function isURLSearchParams(obj){return"object"==typeof obj&&"function"==typeof obj.append&&"function"==typeof obj.delete&&"function"==typeof obj.get&&"function"==typeof obj.getAll&&"function"==typeof obj.has&&"function"==typeof obj.set&&("URLSearchParams"===obj.constructor.name||"[object URLSearchParams]"===Object.prototype.toString.call(obj)||"function"==typeof obj.sort)}function isBlob(obj){return"object"==typeof obj&&"function"==typeof obj.arrayBuffer&&"string"==typeof obj.type&&"function"==typeof obj.stream&&"function"==typeof obj.constructor&&"string"==typeof obj.constructor.name&&/^(Blob|File)$/.test(obj.constructor.name)&&/^(Blob|File)$/.test(obj[Symbol.toStringTag])}function clone(instance){let p1,p2,body=instance.body;if(instance.bodyUsed)throw new Error("cannot clone body after it is used");return body instanceof stream__WEBPACK_IMPORTED_MODULE_0__&&"function"!=typeof body.getBoundary&&(p1=new PassThrough,p2=new PassThrough,body.pipe(p1),body.pipe(p2),instance[INTERNALS].body=p1,body=p2),body}function extractContentType(body){return null===body?null:"string"==typeof body?"text/plain;charset=UTF-8":isURLSearchParams(body)?"application/x-www-form-urlencoded;charset=UTF-8":isBlob(body)?body.type||null:Buffer.isBuffer(body)||"[object ArrayBuffer]"===Object.prototype.toString.call(body)||ArrayBuffer.isView(body)?null:"function"==typeof body.getBoundary?`multipart/form-data;boundary=${body.getBoundary()}`:body instanceof stream__WEBPACK_IMPORTED_MODULE_0__?null:"text/plain;charset=UTF-8"}function getTotalBytes(instance){const body=instance.body;return null===body?0:isBlob(body)?body.size:Buffer.isBuffer(body)?body.length:body&&"function"==typeof body.getLengthSync&&(body._lengthRetrievers&&0==body._lengthRetrievers.length||body.hasKnownLength&&body.hasKnownLength())?body.getLengthSync():null}Body.prototype={get body(){return this[INTERNALS].body},get bodyUsed(){return this[INTERNALS].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(buf){return buf.buffer.slice(buf.byteOffset,buf.byteOffset+buf.byteLength)}))},blob(){let ct=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(buf){return Object.assign(new Blob([],{type:ct.toLowerCase()}),{[BUFFER]:buf})}))},json(){var _this2=this;return consumeBody.call(this).then((function(buffer){try{return JSON.parse(buffer.toString())}catch(err){return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(buffer){return buffer.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var _this3=this;return consumeBody.call(this).then((function(buffer){return function convertBody(buffer,headers){if("function"!=typeof convert)throw new Error("The package `encoding` must be installed to use the textConverted() function");const ct=headers.get("content-type");let res,str,charset="utf-8";ct&&(res=/charset=([^;]*)/i.exec(ct));str=buffer.slice(0,1024).toString(),!res&&str&&(res=/0&&void 0!==arguments[0]?arguments[0]:void 0;if(this[MAP]=Object.create(null),init instanceof Headers){const rawHeaders=init.raw(),headerNames=Object.keys(rawHeaders);for(const headerName of headerNames)for(const value of rawHeaders[headerName])this.append(headerName,value)}else if(null==init);else{if("object"!=typeof init)throw new TypeError("Provided initializer must be an object");{const method=init[Symbol.iterator];if(null!=method){if("function"!=typeof method)throw new TypeError("Header pairs must be iterable");const pairs=[];for(const pair of init){if("object"!=typeof pair||"function"!=typeof pair[Symbol.iterator])throw new TypeError("Each header pair must be iterable");pairs.push(Array.from(pair))}for(const pair of pairs){if(2!==pair.length)throw new TypeError("Each header pair must be a name/value tuple");this.append(pair[0],pair[1])}}else for(const key of Object.keys(init)){const value=init[key];this.append(key,value)}}}}get(name){validateName(name=`${name}`);const key=find(this[MAP],name);return void 0===key?null:this[MAP][key].join(", ")}forEach(callback){let thisArg=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,pairs=getHeaders(this),i=0;for(;i1&&void 0!==arguments[1]?arguments[1]:"key+value";const keys=Object.keys(headers[MAP]).sort();return keys.map("key"===kind?function(k){return k.toLowerCase()}:"value"===kind?function(k){return headers[MAP][k].join(", ")}:function(k){return[k.toLowerCase(),headers[MAP][k].join(", ")]})}Headers.prototype.entries=Headers.prototype[Symbol.iterator],Object.defineProperty(Headers.prototype,Symbol.toStringTag,{value:"Headers",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(Headers.prototype,{get:{enumerable:!0},forEach:{enumerable:!0},set:{enumerable:!0},append:{enumerable:!0},has:{enumerable:!0},delete:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0}});const INTERNAL=Symbol("internal");function createHeadersIterator(target,kind){const iterator=Object.create(HeadersIteratorPrototype);return iterator[INTERNAL]={target,kind,index:0},iterator}const HeadersIteratorPrototype=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==HeadersIteratorPrototype)throw new TypeError("Value of `this` is not a HeadersIterator");var _INTERNAL=this[INTERNAL];const target=_INTERNAL.target,kind=_INTERNAL.kind,index=_INTERNAL.index,values=getHeaders(target,kind);return index>=values.length?{value:void 0,done:!0}:(this[INTERNAL].index=index+1,{value:values[index],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));function exportNodeCompatibleHeaders(headers){const obj=Object.assign({__proto__:null},headers[MAP]),hostHeaderKey=find(headers[MAP],"Host");return void 0!==hostHeaderKey&&(obj[hostHeaderKey]=obj[hostHeaderKey][0]),obj}Object.defineProperty(HeadersIteratorPrototype,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});const INTERNALS$1=Symbol("Response internals"),STATUS_CODES=http__WEBPACK_IMPORTED_MODULE_1__.STATUS_CODES;class Response{constructor(){let body=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,opts=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Body.call(this,body,opts);const status=opts.status||200,headers=new Headers(opts.headers);if(null!=body&&!headers.has("Content-Type")){const contentType=extractContentType(body);contentType&&headers.append("Content-Type",contentType)}this[INTERNALS$1]={url:opts.url,status,statusText:opts.statusText||STATUS_CODES[status],headers,counter:opts.counter}}get url(){return this[INTERNALS$1].url||""}get status(){return this[INTERNALS$1].status}get ok(){return this[INTERNALS$1].status>=200&&this[INTERNALS$1].status<300}get redirected(){return this[INTERNALS$1].counter>0}get statusText(){return this[INTERNALS$1].statusText}get headers(){return this[INTERNALS$1].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype),Object.defineProperties(Response.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}}),Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});const INTERNALS$2=Symbol("Request internals"),parse_url=url__WEBPACK_IMPORTED_MODULE_2__.parse,format_url=url__WEBPACK_IMPORTED_MODULE_2__.format,streamDestructionSupported="destroy"in stream__WEBPACK_IMPORTED_MODULE_0__.Readable.prototype;function isRequest(input){return"object"==typeof input&&"object"==typeof input[INTERNALS$2]}class Request{constructor(input){let parsedURL,init=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};isRequest(input)?parsedURL=parse_url(input.url):(parsedURL=input&&input.href?parse_url(input.href):parse_url(`${input}`),input={});let method=init.method||input.method||"GET";if(method=method.toUpperCase(),(null!=init.body||isRequest(input)&&null!==input.body)&&("GET"===method||"HEAD"===method))throw new TypeError("Request with GET/HEAD method cannot have body");let inputBody=null!=init.body?init.body:isRequest(input)&&null!==input.body?clone(input):null;Body.call(this,inputBody,{timeout:init.timeout||input.timeout||0,size:init.size||input.size||0});const headers=new Headers(init.headers||input.headers||{});if(null!=inputBody&&!headers.has("Content-Type")){const contentType=extractContentType(inputBody);contentType&&headers.append("Content-Type",contentType)}let signal=isRequest(input)?input.signal:null;if("signal"in init&&(signal=init.signal),null!=signal&&!function isAbortSignal(signal){const proto=signal&&"object"==typeof signal&&Object.getPrototypeOf(signal);return!(!proto||"AbortSignal"!==proto.constructor.name)}(signal))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[INTERNALS$2]={method,redirect:init.redirect||input.redirect||"follow",headers,parsedURL,signal},this.follow=void 0!==init.follow?init.follow:void 0!==input.follow?input.follow:20,this.compress=void 0!==init.compress?init.compress:void 0===input.compress||input.compress,this.counter=init.counter||input.counter||0,this.agent=init.agent||input.agent}get method(){return this[INTERNALS$2].method}get url(){return format_url(this[INTERNALS$2].parsedURL)}get headers(){return this[INTERNALS$2].headers}get redirect(){return this[INTERNALS$2].redirect}get signal(){return this[INTERNALS$2].signal}clone(){return new Request(this)}}function AbortError(message){Error.call(this,message),this.type="aborted",this.message=message,Error.captureStackTrace(this,this.constructor)}Body.mixIn(Request.prototype),Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(Request.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}}),AbortError.prototype=Object.create(Error.prototype),AbortError.prototype.constructor=AbortError,AbortError.prototype.name="AbortError";const PassThrough$1=stream__WEBPACK_IMPORTED_MODULE_0__.PassThrough,resolve_url=url__WEBPACK_IMPORTED_MODULE_2__.resolve;function fetch(url,opts){if(!fetch.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return Body.Promise=fetch.Promise,new fetch.Promise((function(resolve,reject){const request=new Request(url,opts),options=function getNodeRequestOptions(request){const parsedURL=request[INTERNALS$2].parsedURL,headers=new Headers(request[INTERNALS$2].headers);if(headers.has("Accept")||headers.set("Accept","*/*"),!parsedURL.protocol||!parsedURL.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(parsedURL.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(request.signal&&request.body instanceof stream__WEBPACK_IMPORTED_MODULE_0__.Readable&&!streamDestructionSupported)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let contentLengthValue=null;if(null==request.body&&/^(POST|PUT)$/i.test(request.method)&&(contentLengthValue="0"),null!=request.body){const totalBytes=getTotalBytes(request);"number"==typeof totalBytes&&(contentLengthValue=String(totalBytes))}contentLengthValue&&headers.set("Content-Length",contentLengthValue),headers.has("User-Agent")||headers.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),request.compress&&!headers.has("Accept-Encoding")&&headers.set("Accept-Encoding","gzip,deflate");let agent=request.agent;return"function"==typeof agent&&(agent=agent(parsedURL)),headers.has("Connection")||agent||headers.set("Connection","close"),Object.assign({},parsedURL,{method:request.method,headers:exportNodeCompatibleHeaders(headers),agent})}(request),send=("https:"===options.protocol?https__WEBPACK_IMPORTED_MODULE_3__:http__WEBPACK_IMPORTED_MODULE_1__).request,signal=request.signal;let response=null;const abort=function abort(){let error=new AbortError("The user aborted a request.");reject(error),request.body&&request.body instanceof stream__WEBPACK_IMPORTED_MODULE_0__.Readable&&request.body.destroy(error),response&&response.body&&response.body.emit("error",error)};if(signal&&signal.aborted)return void abort();const abortAndFinalize=function abortAndFinalize(){abort(),finalize()},req=send(options);let reqTimeout;function finalize(){req.abort(),signal&&signal.removeEventListener("abort",abortAndFinalize),clearTimeout(reqTimeout)}signal&&signal.addEventListener("abort",abortAndFinalize),request.timeout&&req.once("socket",(function(socket){reqTimeout=setTimeout((function(){reject(new FetchError(`network timeout at: ${request.url}`,"request-timeout")),finalize()}),request.timeout)})),req.on("error",(function(err){reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`,"system",err)),finalize()})),req.on("response",(function(res){clearTimeout(reqTimeout);const headers=function createHeadersLenient(obj){const headers=new Headers;for(const name of Object.keys(obj))if(!invalidTokenRegex.test(name))if(Array.isArray(obj[name]))for(const val of obj[name])invalidHeaderCharRegex.test(val)||(void 0===headers[MAP][name]?headers[MAP][name]=[val]:headers[MAP][name].push(val));else invalidHeaderCharRegex.test(obj[name])||(headers[MAP][name]=[obj[name]]);return headers}(res.headers);if(fetch.isRedirect(res.statusCode)){const location=headers.get("Location"),locationURL=null===location?null:resolve_url(request.url,location);switch(request.redirect){case"error":return reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`,"no-redirect")),void finalize();case"manual":if(null!==locationURL)try{headers.set("Location",locationURL)}catch(err){reject(err)}break;case"follow":if(null===locationURL)break;if(request.counter>=request.follow)return reject(new FetchError(`maximum redirect reached at: ${request.url}`,"max-redirect")),void finalize();const requestOpts={headers:new Headers(request.headers),follow:request.follow,counter:request.counter+1,agent:request.agent,compress:request.compress,method:request.method,body:request.body,signal:request.signal,timeout:request.timeout,size:request.size};return 303!==res.statusCode&&request.body&&null===getTotalBytes(request)?(reject(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect")),void finalize()):(303!==res.statusCode&&(301!==res.statusCode&&302!==res.statusCode||"POST"!==request.method)||(requestOpts.method="GET",requestOpts.body=void 0,requestOpts.headers.delete("content-length")),resolve(fetch(new Request(locationURL,requestOpts))),void finalize())}}res.once("end",(function(){signal&&signal.removeEventListener("abort",abortAndFinalize)}));let body=res.pipe(new PassThrough$1);const response_options={url:request.url,status:res.statusCode,statusText:res.statusMessage,headers,size:request.size,timeout:request.timeout,counter:request.counter},codings=headers.get("Content-Encoding");if(!request.compress||"HEAD"===request.method||null===codings||204===res.statusCode||304===res.statusCode)return response=new Response(body,response_options),void resolve(response);const zlibOptions={flush:zlib__WEBPACK_IMPORTED_MODULE_4__.Z_SYNC_FLUSH,finishFlush:zlib__WEBPACK_IMPORTED_MODULE_4__.Z_SYNC_FLUSH};if("gzip"==codings||"x-gzip"==codings)return body=body.pipe(zlib__WEBPACK_IMPORTED_MODULE_4__.createGunzip(zlibOptions)),response=new Response(body,response_options),void resolve(response);if("deflate"!=codings&&"x-deflate"!=codings){if("br"==codings&&"function"==typeof zlib__WEBPACK_IMPORTED_MODULE_4__.createBrotliDecompress)return body=body.pipe(zlib__WEBPACK_IMPORTED_MODULE_4__.createBrotliDecompress()),response=new Response(body,response_options),void resolve(response);response=new Response(body,response_options),resolve(response)}else{res.pipe(new PassThrough$1).once("data",(function(chunk){body=8==(15&chunk[0])?body.pipe(zlib__WEBPACK_IMPORTED_MODULE_4__.createInflate()):body.pipe(zlib__WEBPACK_IMPORTED_MODULE_4__.createInflateRaw()),response=new Response(body,response_options),resolve(response)}))}})),function writeToStream(dest,instance){const body=instance.body;null===body?dest.end():isBlob(body)?body.stream().pipe(dest):Buffer.isBuffer(body)?(dest.write(body),dest.end()):body.pipe(dest)}(req,request)}))}fetch.isRedirect=function(code){return 301===code||302===code||303===code||307===code||308===code},fetch.Promise=global.Promise;const __WEBPACK_DEFAULT_EXPORT__=fetch},6973:module=>{"use strict";module.exports=JSON.parse('{"KNOWN_LANGUAGES":[{"language":"abap","image":"text"},{"language":"bat","image":"bat"},{"language":"bibtex","image":"text"},{"language":"clojure","image":"clojure"},{"language":"coffeescript","image":"coffeescript"},{"language":"c","image":"c"},{"language":"cpp","image":"cpp"},{"language":"csharp","image":"csharp"},{"language":"css","image":"css"},{"language":"diff","image":"manifest"},{"language":"dockerfile","image":"docker"},{"language":"fsharp","image":"fsharp"},{"language":"git-commit","image":"manifest"},{"language":"git-rebase","image":"manifest"},{"language":"go","image":"go"},{"language":"groovy","image":"groovy"},{"language":"handlebars","image":"handlebars"},{"language":"haml","image":"text"},{"language":"html","image":"html"},{"language":"ini","image":"manifest"},{"language":"java","image":"java"},{"language":"javascript","image":"javascript"},{"language":"javascriptreact","image":"jsx"},{"language":"jsx","image":"jsx"},{"language":"json","image":"json"},{"language":"jsonc","image":"json"},{"language":"jupyter","image":"jupyter"},{"language":"latex","image":"text"},{"language":"less","image":"less"},{"language":"lua","image":"lua"},{"language":"makefile","image":"makefile"},{"language":"markdown","image":"markdown"},{"language":"objective-c","image":"objective-c"},{"language":"objective-cpp","image":"objective-c"},{"language":"perl","image":"perl"},{"language":"perl6","image":"perl"},{"language":"php","image":"php"},{"language":"plaintext","image":"text"},{"language":"powershell","image":"powershell"},{"language":"jade","image":"pug"},{"language":"pug","image":"pug"},{"language":"python","image":"python"},{"language":"r","image":"r"},{"language":"razor","image":"cshtml"},{"language":"ruby","image":"ruby"},{"language":"rust","image":"rust"},{"language":"scss","image":"scss"},{"language":"sass","image":"scss"},{"language":"shaderlab","image":"manifest"},{"language":"slim","image":"text"},{"language":"sql","image":"sql"},{"language":"stylus","image":"stylus"},{"language":"swift","image":"swift"},{"language":"typescript","image":"typescript"},{"language":"typescriptreact","image":"tsx"},{"language":"tex","image":"tex"},{"language":"vb","image":"vb"},{"language":"vue","image":"vue"},{"language":"vue-html","image":"vue"},{"language":"xml","image":"xml"},{"language":"xsl","image":"xml"},{"language":"yaml","image":"yaml"}],"KNOWN_EXTENSIONS":{".ahk":{"image":"ahk"},".ahkl":{"image":"ahk"},"androidmanifest.xml":{"image":"android"},"/^angular[^.]*\\\\.js$/i":{"image":"angular"},".applescript":{"image":"applescript"},"/(\\\\.)?appveyor\\\\.yml/i":{"image":"appveyor"},".ino":{"image":"arduino"},".swf":{"image":"as"},".as":{"image":"as"},".jsfl":{"image":"as"},".swc":{"image":"as"},".asp":{"image":"asp"},".asax":{"image":"asp"},".ascx":{"image":"asp"},".ashx":{"image":"asp"},".asmx":{"image":"asp"},".aspx":{"image":"asp"},".axd":{"image":"asp"},"/\\\\.(l?a|[ls]?o|out|s|a51|asm|axf|elf|prx|puff|z80)$/i":{"image":"assembly"},".agc":{"image":"assembly"},".ko":{"image":"assembly"},".lst":{"image":"assembly"},"/\\\\.((c([+px]{2}?)?-?)?objdump|bsdiff|bin|dat|pak|pdb)$/i":{"image":"assembly"},".d-objdump":{"image":"assembly"},"/\\\\.gcode|\\\\.gco/i":{"image":"assembly"},"/\\\\.rpy[bc]$/i":{"image":"assembly"},"/\\\\.py[co]$/i":{"image":"assembly"},".swp":{"image":"assembly"},".DS_Store":{"image":"assembly"},".au3":{"image":"autoit"},"babel.config.js":{"image":"babel"},"/\\\\.babelrc/i":{"image":"babel"},".bat":{"image":"bat"},".batch":{"image":"bat"},".cmd":{"image":"bat"},"/\\\\.(exe|com|msi)$/i":{"image":"bat"},".reg":{"image":"bat"},"/^(\\\\.bowerrc|bower\\\\.json|Bowerfile)$/i":{"image":"bower"},"/\\\\.bf?$/i":{"image":"brainfuck"},"/\\\\.c$/i":{"image":"c"},"/(cargo.toml|cargo.lock)/i":{"image":"cargo"},".casc":{"image":"casc"},".cas":{"image":"casc"},".cfc":{"image":"coldfusion"},".cfm":{"image":"coldfusion"},"circle.yml":{"image":"circleci"},".clj":{"image":"clojure"},".cl2":{"image":"clojure"},".cljc":{"image":"clojure"},".cljx":{"image":"clojure"},".hic":{"image":"clojure"},"/\\\\.cljs(cm)?$/i":{"image":"clojure"},".cmake":{"image":"cmake"},"/^CMakeLists\\\\.txt$/":{"image":"cmake"},"/\\\\.codeclimate\\\\.(yml|json)/i":{"image":"codeclimate"},".coffee":{"image":"coffeescript"},".cjsx":{"image":"coffeescript"},".coffee.ecr":{"image":"coffeescript"},".coffee.erb":{"image":"coffeescript"},".litcoffee":{"image":"coffeescript"},".iced":{"image":"coffeescript"},"/\\\\.c[+px]{2}$|\\\\.cc$/i":{"image":"cpp"},"/\\\\.h[+px]{2}$/i":{"image":"cpp"},"/\\\\.[it]pp$/i":{"image":"cpp"},"/\\\\.(tcc|inl)$/i":{"image":"cpp"},".cats":{"image":"cpp"},".idc":{"image":"cpp"},".w":{"image":"cpp"},".nc":{"image":"cpp"},".upc":{"image":"cpp"},".xpm":{"image":"cpp"},"/\\\\.e?cr$/i":{"image":"crystal"},".cs":{"image":"csharp"},".csx":{"image":"csharp"},".cshtml":{"image":"cshtml"},".css":{"image":"css"},".css.map":{"image":"cssmap"},".cu":{"image":"cuda"},"/\\\\.di?$/i":{"image":"d"},".dart":{"image":"dart"},".dfm":{"image":"delphi"},".dpr":{"image":"delphi"},".dsc":{"image":"denizen"},".dm":{"image":"dm"},".dme":{"image":"dm"},".dmm":{"image":"dm"},"/^(Dockerfile|docker-compose)|\\\\.docker(file|ignore)$/i":{"image":"docker"},"/^docker-sync\\\\.yml$/i":{"image":"docker"},".editorconfig":{"image":"editorconfig"},".ejs":{"image":"ejs"},".ex":{"image":"elixir"},"/\\\\.(exs|l?eex)$/i":{"image":"elixir"},"/^mix\\\\.(exs?|lock)$/i":{"image":"elixir"},".elm":{"image":"elm"},"/\\\\.env(.*)?/i":{"image":"env"},".erl":{"image":"erlang"},".beam":{"image":"erlang"},".hrl":{"image":"erlang"},".xrl":{"image":"erlang"},".yrl":{"image":"erlang"},".app.src":{"image":"erlang"},"/^Emakefile$/":{"image":"erlang"},"/^rebar(\\\\.config)?\\\\.lock$/i":{"image":"erlang"},"/\\\\.(eslintrc|eslintignore)/i":{"image":"eslint"},"/(\\\\.firebaserc|firebase\\\\.json)/i":{"image":"firebase"},".flowconfig":{"image":"flowconfig"},".fs":{"image":"fsharp"},".fsi":{"image":"fsharp"},".fsscript":{"image":"fsharp"},".fsx":{"image":"fsharp"},"/gatsby-(browser|node|ssr|config)\\\\.js/i":{"image":"gatsbyjs"},"/^Gemfile(\\\\.lock)?$/i":{"image":"gemfile"},"/^\\\\.git|^\\\\.keep$|\\\\.mailmap$/i":{"image":"git"},".go":{"image":"go"},".gd":{"image":"godot"},".gradle":{"image":"gradle"},"gradlew":{"image":"gradle"},".gql":{"image":"graphql"},".graphql":{"image":"graphql"},".groovy":{"image":"groovy"},".gvy":{"image":"groovy"},".gy":{"image":"groovy"},".gsh":{"image":"groovy"},"/gruntfile\\\\.(js|coffee)/i":{"image":"gruntfile"},"gulpfile.js":{"image":"gulp"},"/\\\\.(hbs|handlebars|(mu)?stache)$/i":{"image":"handlebars"},".prg":{"image":"harbour"},".hbp":{"image":"harbour"},".hbc":{"image":"harbour"},".rc":{"image":"harbour"},".fmg":{"image":"harbour"},".hs":{"image":"haskell"},".hsc":{"image":"haskell"},".c2hs":{"image":"haskell"},".lhs":{"image":"haskell"},".hx":{"image":"haxe"},".hxml":{"image":"haxe"},"/^procfile/i":{"image":"heroku"},"heroku.yml":{"image":"heroku"},".hjson":{"image":"hjson"},"/\\\\.x?html?$/i":{"image":"html"},".http":{"image":"http"},".rest":{"image":"http"},".jar":{"image":"jar"},".java":{"image":"java"},"jest.config.js":{"image":"jest"},".jinja":{"image":"jinja"},".js":{"image":"javascript"},".es6":{"image":"javascript"},".es":{"image":"javascript"},".mjs":{"image":"javascript"},".js.map":{"image":"jsmap"},".json":{"image":"json"},".jsonc":{"image":"json"},".jsx":{"image":"jsx"},"/\\\\.(jil|jl)/i":{"image":"julia"},".ipynb":{"image":"jupyter"},".kt":{"image":"kotlin"},".ktm":{"image":"kotlin"},".kts":{"image":"kotlin"},".less":{"image":"less"},".lsp":{"image":"lisp"},".lisp":{"image":"lisp"},".l":{"image":"lisp"},".nl":{"image":"lisp"},".ny":{"image":"lisp"},".podsl":{"image":"lisp"},".sexp":{"image":"lisp"},".ss":{"image":"lisp"},".scm":{"image":"lisp"},".liquid":{"image":"liquid"},".ls":{"image":"livescript"},".log":{"image":"log"},".lua":{"image":"lua"},".pd_lua":{"image":"lua"},".rbxs":{"image":"lua"},".wlua":{"image":"lua"},"/^Makefile/":{"image":"makefile"},"/^mk\\\\.config$/":{"image":"makefile"},"/\\\\.(mk|mak|make)$/i":{"image":"makefile"},"/^BSDmakefile$/i":{"image":"makefile"},"/^GNUmakefile$/i":{"image":"makefile"},"/^makefile\\\\.sco$/i":{"image":"makefile"},"/^Kbuild$/":{"image":"makefile"},"/^makefile$/":{"image":"makefile"},"/^mkfile$/i":{"image":"makefile"},"/^\\\\.?qmake$/i":{"image":"makefile"},"/\\\\.(h|geo|topo)$/i":{"image":"manifest"},".cson":{"image":"manifest"},".json5":{"image":"manifest"},".ndjson":{"image":"manifest"},".fea":{"image":"manifest"},".json.eex":{"image":"manifest"},".proto":{"image":"manifest"},".pytb":{"image":"manifest"},".pydeps":{"image":"manifest"},"/\\\\.pot?$/i":{"image":"manifest"},".ejson":{"image":"manifest"},".edn":{"image":"manifest"},".eam.fs":{"image":"manifest"},".qml":{"image":"manifest"},".qbs":{"image":"manifest"},".ston":{"image":"manifest"},".ttl":{"image":"manifest"},".rviz":{"image":"manifest"},".syntax":{"image":"manifest"},".webmanifest":{"image":"manifest"},"/^pkginfo$/":{"image":"manifest"},"/^mime\\\\.types$/i":{"image":"manifest"},"/^METADATA\\\\.pb$/":{"image":"manifest"},"/[\\\\/\\\\\\\\](?:magic[\\\\/\\\\\\\\]Magdir|file[\\\\/\\\\\\\\]magic)[\\\\/\\\\\\\\][-.\\\\w]+$/i":{"image":"manifest"},"/(\\\\\\\\|\\\\/)dev[-\\\\w]+\\\\1(?:[^\\\\\\\\\\\\/]+\\\\1)*(?!DESC|NOTES)(?:[A-Z][-A-Z]*)(?:\\\\.in)?$/":{"image":"manifest"},"lib/icons/.icondb.js":{"image":"manifest"},"/\\\\.git[\\\\/\\\\\\\\](.*[\\\\/\\\\\\\\])?(HEAD|ORIG_HEAD|packed-refs|logs[\\\\/\\\\\\\\](.+[\\\\/\\\\\\\\])?[^\\\\/\\\\\\\\]+)$/":{"image":"manifest"},"/\\\\.(md|mdown|markdown|mkd|mkdown|mdwn|mkdn|rmd|ron|pmd)$/i":{"image":"markdown"},".mdx":{"image":"markdownx"},".marko":{"image":"marko"},".nim":{"image":"nim"},".nims":{"image":"nim"},".nimble":{"image":"nim"},".nix":{"image":"nix"},"nodemon.json":{"image":"nodemon"},".npmrc":{"image":"npm"},"/\\\\.mm?$/i":{"image":"objective-c"},".pch":{"image":"objective-c"},".x":{"image":"objective-c"},".ml":{"image":"ocaml"},".mli":{"image":"ocaml"},".eliom":{"image":"ocaml"},".eliomi":{"image":"ocaml"},".ml4":{"image":"ocaml"},".mll":{"image":"ocaml"},".mly":{"image":"ocaml"},"/\\\\.pas(cal)?$/i":{"image":"pascal"},".lpr":{"image":"pascal"},".p":{"image":"pawn"},".inc":{"image":"pawn"},".sma":{"image":"pawn"},".pwn":{"image":"pawn"},".sp":{"image":"sourcepawn"},"/\\\\.p(er)?l$/i":{"image":"perl"},".al":{"image":"perl"},".ph":{"image":"perl"},".plx":{"image":"perl"},".pm":{"image":"perl"},"/\\\\.(psgi|xs)$/i":{"image":"perl"},".pl6":{"image":"perl"},"/\\\\.[tp]6$|\\\\.6pl$/i":{"image":"perl"},"/\\\\.(pm6|p6m)$/i":{"image":"perl"},".6pm":{"image":"perl"},".nqp":{"image":"perl"},".p6l":{"image":"perl"},".pod6":{"image":"perl"},"/^Rexfile$/":{"image":"perl"},"/\\\\.php([st\\\\d]|_cs)?$/i":{"image":"php"},"/^Phakefile/":{"image":"php"},".pony":{"image":"ponylang"},".pcss":{"image":"postcss"},".ps1":{"image":"powershell"},".psd1":{"image":"powershell"},".psm1":{"image":"powershell"},".ps1xml":{"image":"powershell"},".prettierignore":{"image":"prettier"},"/\\\\.prettier((rc)|(\\\\.(toml|yml|yaml|json|js))?$){2}/i":{"image":"prettier"},"prettier.config.js":{"image":"prettier"},"prisma.yml":{"image":"prisma"},".pde":{"image":"processing"},".jade":{"image":"pug"},".pug":{"image":"pug"},".purs":{"image":"purescript"},".py":{"image":"python"},".ipy":{"image":"python"},".isolate":{"image":"python"},".pep":{"image":"python"},".gyp":{"image":"python"},".gypi":{"image":"python"},".pyde":{"image":"python"},".pyp":{"image":"python"},".pyt":{"image":"python"},".py3":{"image":"python"},".pyi":{"image":"python"},".pyw":{"image":"python"},".tac":{"image":"python"},".wsgi":{"image":"python"},".xpy":{"image":"python"},".rpy":{"image":"python"},"/\\\\.?(pypirc|pythonrc|python-venv)$/i":{"image":"python"},"/^(SConstruct|SConscript)$/":{"image":"python"},"/^(Snakefile|WATCHLISTS)$/":{"image":"python"},"/^wscript$/":{"image":"python"},"/\\\\.(r|Rprofile|rsx|rd)$/i":{"image":"r"},".rkt":{"image":"racket"},"/\\\\.res?i?$/i":{"image":"reasonml"},"/\\\\.(rb|ru|ruby|erb|gemspec|god|mspec|pluginspec|podspec|rabl|rake|opal)$/i":{"image":"ruby"},"/^\\\\.?(irbrc|gemrc|pryrc|ruby-(gemset|version))$/i":{"image":"ruby"},"/^(Appraisals|(Rake|[bB]uild|Cap|Danger|Deliver|Fast|Guard|Jar|Maven|Pod|Puppet|Snap)file(\\\\.lock)?)$/":{"image":"ruby"},"/\\\\.(jbuilder|rbuild|rb[wx]|builder)$/i":{"image":"ruby"},"/^rails$/":{"image":"ruby"},".watchr":{"image":"ruby"},".rs":{"image":"rust"},"/\\\\.(sc|scala)$/i":{"image":"scala"},".scss":{"image":"scss"},".sass":{"image":"scss"},"/\\\\.(sh|rc|bats|bash|tool|install|command)$/i":{"image":"shell"},"/^(\\\\.?bash(rc|[-_]?(profile|login|logout|history|prompt))|_osc|config|install-sh|PKGBUILD)$/i":{"image":"shell"},"/\\\\.(ksh|mksh|pdksh)$/i":{"image":"shell"},".sh-session":{"image":"shell"},"/\\\\.zsh(-theme|_history)?$|^\\\\.?(antigen|zpreztorc|zlogin|zlogout|zprofile|zshenv|zshrc)$/i":{"image":"shell"},"/\\\\.fish$|^\\\\.fishrc$/i":{"image":"shell"},"/^\\\\.?(login|profile)$/":{"image":"shell"},".inputrc":{"image":"shell"},".tmux":{"image":"shell"},"/^(configure|config\\\\.(guess|rpath|status|sub)|depcomp|libtool|compile)$/":{"image":"shell"},"/^\\\\/(private\\\\/)?etc\\\\/([^\\\\/]+\\\\/)*(profile$|nanorc$|rc\\\\.|csh\\\\.)/i":{"image":"shell"},"/^\\\\.?cshrc$/i":{"image":"shell"},".profile":{"image":"shell"},".tcsh":{"image":"shell"},".csh":{"image":"shell"},".sk":{"image":"skript"},".sol":{"image":"solidity"},".sqf":{"image":"sqf"},"/\\\\.(my)?sql$/i":{"image":"sql"},".ddl":{"image":"sql"},".udf":{"image":"sql"},".hql":{"image":"sql"},".viw":{"image":"sql"},".prc":{"image":"sql"},".cql":{"image":"sql"},".db2":{"image":"sql"},"/\\\\.(styl|stylus)$/i":{"image":"stylus"},".svelte":{"image":"svelte"},".svg":{"image":"svg"},".swift":{"image":"swift"},".tex":{"image":"tex"},".ltx":{"image":"tex"},".aux":{"image":"tex"},".sty":{"image":"tex"},".dtx":{"image":"tex"},".cls":{"image":"tex"},".ins":{"image":"tex"},".lbx":{"image":"tex"},".mkiv":{"image":"tex"},".mkvi":{"image":"tex"},".mkii":{"image":"tex"},".texi":{"image":"tex"},"/^hyphen(ex)?\\\\.(cs|den|det|fr|sv|us)$/":{"image":"tex"},"/\\\\.te?xt$/i":{"image":"text"},".rtf":{"image":"text"},"/\\\\.i?nfo$/i":{"image":"text"},".msg":{"image":"text"},"/\\\\.(utxt|utf8)$/i":{"image":"text"},"/\\\\.(tfvars|tf)$/i":{"image":"terraform"},".toml":{"image":"toml"},".travis.yml":{"image":"travis"},".ts":{"image":"typescript"},".tsx":{"image":"tsx"},".twig":{"image":"twig"},"/.*\\\\.d\\\\.ts/i":{"image":"typescript-def"},".v":{"image":"v"},".vh":{"image":"v"},".vala":{"image":"vala"},".vapi":{"image":"vala"},".vb":{"image":"vb"},".vbs":{"image":"vb"},".vbhtml":{"image":"vb"},".vbproj":{"image":"vb"},".vba":{"image":"vba"},".vcxproj":{"image":"vcxproj"},".vscodeignore":{"image":"vscodeignore"},".vue":{"image":"vue"},".wat":{"image":"wasm"},".wast":{"image":"wasm"},".wasm":{"image":"wasm"},"/webpack(\\\\.dev|\\\\.development|\\\\.prod|\\\\.production)?\\\\.config(\\\\.babel)?\\\\.(js|jsx|coffee|ts|json|json5|yaml|yml)/i":{"image":"webpack"},".xml":{"image":"xml"},"/\\\\.ya?ml$/i":{"image":"yaml"},"/^yarn(\\\\.lock)?$/i":{"image":"yarn"},".yarnrc":{"image":"yarn"},".zig":{"image":"zig"}}}')}},__webpack_module_cache__={};function __webpack_require__(moduleId){var cachedModule=__webpack_module_cache__[moduleId];if(void 0!==cachedModule)return cachedModule.exports;var module=__webpack_module_cache__[moduleId]={exports:{}};return __webpack_modules__[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.exports}__webpack_require__.d=(exports,definition)=>{for(var key in definition)__webpack_require__.o(definition,key)&&!__webpack_require__.o(exports,key)&&Object.defineProperty(exports,key,{enumerable:!0,get:definition[key]})},__webpack_require__.o=(obj,prop)=>Object.prototype.hasOwnProperty.call(obj,prop),__webpack_require__.r=exports=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})};var __webpack_exports__={};(()=>{"use strict";var exports=__webpack_exports__;Object.defineProperty(exports,"__esModule",{value:!0}),exports.deactivate=exports.activate=exports.cleanUp=void 0;const tslib_1=__webpack_require__(655),{Client}=__webpack_require__(6277),vscode_1=__webpack_require__(9496),throttle_1=(0,tslib_1.__importDefault)(__webpack_require__(7950)),activity_1=__webpack_require__(5119),constants_1=__webpack_require__(5601),logger_1=__webpack_require__(5473),util_1=__webpack_require__(9882),statusBarIcon=vscode_1.window.createStatusBarItem(vscode_1.StatusBarAlignment.Left);statusBarIcon.text="$(pulse) Connecting to Discord...";let rpc=new Client({transport:"ipc"});const config=(0,util_1.getConfig)();let idle,state={},listeners=[];function cleanUp(){listeners.forEach((listener=>listener.dispose())),listeners=[]}async function sendActivity(){state={...await(0,activity_1.activity)(state)},rpc.setActivity(state)}async function login(){(0,logger_1.log)("INFO","Creating discord-rpc client"),rpc=new Client({transport:"ipc"}),rpc.on("ready",(()=>{(0,logger_1.log)("INFO","Successfully connected to Discord"),cleanUp(),statusBarIcon.text="$(globe) Connected to Discord",statusBarIcon.tooltip="Connected to Discord",sendActivity();const onChangeActiveTextEditor=vscode_1.window.onDidChangeActiveTextEditor((()=>sendActivity())),onChangeTextDocument=vscode_1.workspace.onDidChangeTextDocument((0,throttle_1.default)((()=>sendActivity()),2e3)),onStartDebugSession=vscode_1.debug.onDidStartDebugSession((()=>sendActivity())),onTerminateDebugSession=vscode_1.debug.onDidTerminateDebugSession((()=>sendActivity()));listeners.push(onChangeActiveTextEditor,onChangeTextDocument,onStartDebugSession,onTerminateDebugSession)})),rpc.on("disconnected",(()=>{cleanUp(),rpc.destroy(),statusBarIcon.text="$(pulse) Reconnect to Discord",statusBarIcon.command="discord.reconnect"}));try{await rpc.login({clientId:constants_1.CLIENT_ID})}catch(error){(0,logger_1.log)("ERROR",`Encountered following error while trying to login:\n${error}`),cleanUp(),rpc.destroy(),config.suppressNotifications||(error?.message?.includes("ENOENT")?vscode_1.window.showErrorMessage("No Discord client detected"):vscode_1.window.showErrorMessage(`Couldn't connect to Discord via RPC: ${error}`)),statusBarIcon.text="$(pulse) Reconnect to Discord",statusBarIcon.command="discord.reconnect"}}exports.cleanUp=cleanUp,exports.activate=async function activate(context){(0,logger_1.log)("INFO","Discord Presence activated");let isWorkspaceExcluded=!1;for(const pattern of config.workspaceExcludePatterns){const regex=new RegExp(pattern),folders=vscode_1.workspace.workspaceFolders;if(!folders)break;if(folders.some((folder=>regex.test(folder.uri.fsPath)))){isWorkspaceExcluded=!0;break}}const enable=async(update=!0)=>{if(update)try{await config.update("enabled",!0)}catch{}(0,logger_1.log)("INFO","Enable: Cleaning up old listeners"),cleanUp(),statusBarIcon.text="$(pulse) Connecting to Discord...",statusBarIcon.show(),(0,logger_1.log)("INFO","Enable: Attempting to recreate login"),login()},disable=async(update=!0)=>{if(update)try{await config.update("enabled",!1)}catch{}(0,logger_1.log)("INFO","Disable: Cleaning up old listeners"),cleanUp(),rpc?.destroy(),(0,logger_1.log)("INFO","Disable: Destroyed the rpc instance"),statusBarIcon.hide()},enabler=vscode_1.commands.registerCommand("discord.enable",(async()=>{await disable(),await enable(),await vscode_1.window.showInformationMessage("Enabled Discord Presence for this workspace")})),disabler=vscode_1.commands.registerCommand("discord.disable",(async()=>{await disable(),await vscode_1.window.showInformationMessage("Disabled Discord Presence for this workspace")})),reconnecter=vscode_1.commands.registerCommand("discord.reconnect",(async()=>{await disable(!1),await enable(!1)})),disconnect=vscode_1.commands.registerCommand("discord.disconnect",(async()=>{await disable(!1),statusBarIcon.text="$(pulse) Reconnect to Discord",statusBarIcon.command="discord.reconnect",statusBarIcon.show()}));context.subscriptions.push(enabler,disabler,reconnecter,disconnect),!isWorkspaceExcluded&&config.enabled&&(statusBarIcon.show(),await login()),vscode_1.window.onDidChangeWindowState((async windowState=>{0!==config.idleTimeout&&(windowState.focused?(idle&&clearTimeout(idle),await sendActivity()):idle=setTimeout((async()=>{state={},await rpc.clearActivity()}),1e3*config.idleTimeout))})),await(0,util_1.getGit)()},exports.deactivate=function deactivate(){cleanUp(),rpc.destroy()}})(),module.exports=__webpack_exports__})(); -//# sourceMappingURL=extension.js.map \ No newline at end of file diff --git a/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/extension.js.LICENSE.txt b/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/extension.js.LICENSE.txt deleted file mode 100644 index c18ab1d9..00000000 --- a/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/extension.js.LICENSE.txt +++ /dev/null @@ -1,14 +0,0 @@ -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ diff --git a/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/logger.d.ts b/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/logger.d.ts deleted file mode 100644 index 6b0d5a17..00000000 --- a/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/logger.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -export declare const enum LogLevel { - Trace = "TRACE", - Debug = "DEBUG", - Info = "INFO", - Warn = "WARN", - Error = "ERROR" -} -export declare function log(level: LogLevel, message: string | Error): void; diff --git a/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/util.d.ts b/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/util.d.ts deleted file mode 100644 index d4d34fba..00000000 --- a/vscodium/extensions/icrawl.discord-vscode-5.8.0/dist/util.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { TextDocument, WorkspaceConfiguration } from 'vscode'; -import type { API } from './git'; -declare type WorkspaceExtensionConfiguration = WorkspaceConfiguration & { - enabled: boolean; - detailsIdling: string; - detailsEditing: string; - detailsDebugging: string; - lowerDetailsIdling: string; - lowerDetailsEditing: string; - lowerDetailsDebugging: string; - lowerDetailsNoWorkspaceFound: string; - largeImageIdling: string; - largeImage: string; - smallImage: string; - suppressNotifications: boolean; - workspaceExcludePatterns: string[]; - swapBigAndSmallImage: boolean; - removeDetails: boolean; - removeLowerDetails: boolean; - removeTimestamp: boolean; - removeRemoteRepository: boolean; - idleTimeout: number; -}; -export declare function getConfig(): WorkspaceExtensionConfiguration; -export declare const toLower: (str: string) => string; -export declare const toUpper: (str: string) => string; -export declare const toTitle: (str: string) => string; -export declare function resolveFileIcon(document: TextDocument): string; -export declare function getGit(): Promise; -export {}; diff --git a/vscodium/extensions/icrawl.discord-vscode-5.8.0/package.json b/vscodium/extensions/icrawl.discord-vscode-5.8.0/package.json deleted file mode 100644 index 264a85dc..00000000 --- a/vscodium/extensions/icrawl.discord-vscode-5.8.0/package.json +++ /dev/null @@ -1,222 +0,0 @@ -{ - "name": "discord-vscode", - "displayName": "Discord Presence", - "version": "5.8.0", - "description": "Update your discord status with a rich presence.", - "private": true, - "author": { - "name": "iCrawl", - "email": "icrawltogo@gmail.com" - }, - "contributors": [ - { - "name": "Frangu Vlad", - "email": "kingdgrizzle@gmail.com" - } - ], - "publisher": "icrawl", - "license": "MIT", - "main": "./dist/extension", - "scripts": { - "build": "npm run lint && webpack --mode production", - "lint": "prettier --check . && eslint src --ext mjs,js,ts", - "format": "prettier --write . && eslint src --ext mjs,js,ts --fix" - }, - "activationEvents": [ - "*" - ], - "extensionKind": [ - "ui" - ], - "contributes": { - "commands": [ - { - "command": "discord.enable", - "title": "Enable Discord Presence in the current workspace", - "category": "Discord Presence" - }, - { - "command": "discord.disable", - "title": "Disable Discord Presence in the current workspace", - "category": "Discord Presence" - }, - { - "command": "discord.reconnect", - "title": "Reconnect Discord Presence to Discord", - "category": "Discord Presence" - }, - { - "command": "discord.disconnect", - "title": "Disconnect Discord Presence from Discord", - "category": "Discord Presence" - } - ], - "configuration": [ - { - "title": "Discord Presence Configuration", - "type": "object", - "properties": { - "discord.enabled": { - "type": "boolean", - "default": true, - "description": "Controls if the Discord Presence should show across all workspaces" - }, - "discord.detailsIdling": { - "type": "string", - "default": "Idling", - "description": "Custom string for the details section of the rich presence when idling\n\t- '{empty}' will be replaced with an empty space." - }, - "discord.detailsEditing": { - "type": "string", - "default": "Editing {file_name}", - "description": "Custom string for the details section of the rich presence\n\t- '{empty}' will be replaced with an empty space.\n\t- '{file_name}' will be replaced with the current file name.\n\t- '{dir_name}' will get replaced with the folder name that has the current file.\n\t- '{full_dir_name}' will get replaced with the full directory name without the current file name.\n\t- '{workspace}' will be replaced with the current workspace name, if any.\n\t- '{workspace_folder}' will be replaced with the currently accessed workspace folder, if any.\n\t- '{workspace_and_folder} will be replaced with the currently accessed workspace and workspace folder like this: 'Workspace - WorkspaceFolder'\n\t- '{current_column}' will get replaced with the current column of the current line.\n\t- '{current_line}' will get replaced with the current line number.\n\t- '{total_lines}' will get replaced with the total line number.\n\t- '{file_size}' will get replaced with the current file's size.\n\t- '{git_repo_name}' will be replaced with the active Git repository name (from the git URL)\n\t- '{git_branch}' will be replaced with the current active branch name." - }, - "discord.detailsDebugging": { - "type": "string", - "default": "Debugging {file_name}", - "description": "Custom string for the details section of the rich presence when debugging\n\t- '{empty}' will be replaced with an empty space.\n\t- '{file_name}' will be replaced with the current file name.\n\t- '{dir_name}' will get replaced with the folder name that has the current file.\n\t- '{full_dir_name}' will get replaced with the full directory name without the current file name.\n\t- '{workspace}' will be replaced with the current workspace name, if any.\n\t- '{workspace_folder}' will be replaced with the currently accessed workspace folder, if any.\n\t- '{workspace_and_folder} will be replaced with the currently accessed workspace and workspace folder like this: 'Workspace - WorkspaceFolder'\n\t- '{current_column}' will get replaced with the current column of the current line.\n\t- '{current_line}' will get replaced with the current line number.\n\t- '{total_lines}' will get replaced with the total line number.\n\t- '{file_size}' will get replaced with the current file's size.\n\t- '{git_repo_name}' will be replaced with the active Git repository name (from the git URL)\n\t- '{git_branch}' will be replaced with the current active branch name." - }, - "discord.lowerDetailsIdling": { - "type": "string", - "default": "Idling", - "description": "Custom string for the state section of the rich presence when idling\n\t- '{empty}' will be replaced with an empty space." - }, - "discord.lowerDetailsEditing": { - "type": "string", - "default": "Workspace: {workspace}", - "description": "Custom string for the state section of the rich presence\n\t- '{empty}' will be replaced with an empty space.\n\t- '{file_name}' will be replaced with the current file name.\n\t- '{dir_name}' will get replaced with the folder name that has the current file.\n\t- '{full_dir_name}' will get replaced with the full directory name without the current file name.\n\t- '{workspace}' will be replaced with the current workspace name, if any.\n\t- '{workspace_folder}' will be replaced with the currently accessed workspace folder, if any.\n\t- '{workspace_and_folder} will be replaced with the currently accessed workspace and workspace folder like this: 'Workspace - WorkspaceFolder'\n\t- '{current_column}' will get replaced with the current column of the current line.\n\t- '{current_line}' will get replaced with the current line number.\n\t- '{total_lines}' will get replaced with the total line number.\n\t- '{file_size}' will get replaced with the current file's size.\n\t- '{git_repo_name}' will be replaced with the active Git repository name (from the git URL)\n\t- '{git_branch}' will be replaced with the current active branch name." - }, - "discord.lowerDetailsDebugging": { - "type": "string", - "default": "Debugging: {workspace}", - "description": "Custom string for the state section of the rich presence when debugging\n\t- '{empty}' will be replaced with an empty space.\n\t- '{file_name}' will be replaced with the current file name.\n\t- '{dir_name}' will get replaced with the folder name that has the current file.\n\t- '{full_dir_name}' will get replaced with the full directory name without the current file name.\n\t- '{workspace}' will be replaced with the current workspace name, if any.\n\t- '{workspace_folder}' will be replaced with the currently accessed workspace folder, if any.\n\t- '{workspace_and_folder} will be replaced with the currently accessed workspace and workspace folder like this: 'Workspace - WorkspaceFolder'\n\t- '{current_column}' will get replaced with the current column of the current line.\n\t- '{current_line}' will get replaced with the current line number.\n\t- '{total_lines}' will get replaced with the total line number.\n\t- '{file_size}' will get replaced with the current file's size.\n\t- '{git_repo_name}' will be replaced with the active Git repository name (from the git URL)\n\t- '{git_branch}' will be replaced with the current active branch name." - }, - "discord.lowerDetailsNoWorkspaceFound": { - "type": "string", - "default": "No workspace", - "description": "Custom string for the state section of the rich presence when no workspace is found.\nIf set to '{empty}', this will be an empty space.\n\t- '{current_line}' will get replaced with the current line number.\n\t- '{total_lines}' will get replaced with the total line number.\n\t- '{file_size}' will get replaced with the current file's size." - }, - "discord.largeImageIdling": { - "type": "string", - "default": "Idling", - "description": "Custom string for the largeImageText section of the rich presence when idling" - }, - "discord.largeImage": { - "type": "string", - "default": "Editing a {LANG} file", - "description": "Custom string for the largeImageText section of the rich presence.\n\t- '{lang}' will be replaced with the lowercased language ID\n\t- '{LANG}' will be replaced with the uppercased language ID" - }, - "discord.smallImage": { - "type": "string", - "default": "{app_name}", - "description": "Custom string for the smallImageText section of the rich presence\n\t- '{app_name}' will get replaced with the current Visual Studio Code version." - }, - "discord.suppressNotifications": { - "type": "boolean", - "default": false, - "description": "Decides if error messages are shown to the user" - }, - "discord.workspaceExcludePatterns": { - "type": "array", - "items": { - "type": "string" - }, - "default": [], - "description": "Patterns of workspaces to ignore" - }, - "discord.swapBigAndSmallImage": { - "type": "boolean", - "default": false, - "description": "Swaps the big and small image on the rich presence" - }, - "discord.removeDetails": { - "type": "boolean", - "default": false, - "description": "Removes the details" - }, - "discord.removeLowerDetails": { - "type": "boolean", - "default": false, - "description": "Removes the lower details" - }, - "discord.removeTimestamp": { - "type": "boolean", - "default": false, - "description": "Removes the timestamp" - }, - "discord.removeRemoteRepository": { - "type": "boolean", - "default": false, - "description": "Removes the View Repository button" - }, - "discord.idleTimeout": { - "type": "number", - "default": 0, - "description": "Time (in seconds) to clear the presence when idling. 0 (the default) means no clearing" - } - } - } - ] - }, - "repository": { - "type": "git", - "url": "https://github.com/iCrawl/discord-vscode.git" - }, - "bugs": { - "url": "https://github.com/iCrawl/discord-vscode/issues" - }, - "keywords": [ - "discord", - "vscode", - "rich", - "presence", - "rich presence", - "rpc" - ], - "categories": [ - "Other" - ], - "homepage": "https://github.com/iCrawl/discord-vscode#readme", - "icon": "assets/icon.png", - "galleryBanner": { - "color": "#6477C1", - "theme": "dark" - }, - "dependencies": { - "bufferutil": "^4.0.6", - "dayjs": "^1.10.7", - "discord-rpc": "^4.0.1", - "lodash-es": "^4.17.21", - "tslib": "^2.3.1", - "utf-8-validate": "^5.0.8" - }, - "devDependencies": { - "@types/lodash-es": "^4.17.5", - "@types/node": "^17.0.13", - "@types/vscode": "^1.63.1", - "@typescript-eslint/eslint-plugin": "^5.10.1", - "@typescript-eslint/parser": "^5.10.1", - "clean-webpack-plugin": "^4.0.0", - "eslint": "^8.8.0", - "eslint-config-marine": "^9.3.2", - "eslint-config-prettier": "^8.3.0", - "prettier": "^2.5.1", - "terser-webpack-plugin": "^5.3.0", - "ts-loader": "^9.2.6", - "tsup": "^5.11.13", - "typescript": "^4.5.5", - "webpack": "^5.67.0", - "webpack-cli": "^4.9.2" - }, - "engines": { - "vscode": "^1.63.1" - }, - "__metadata": { - "id": "2bbe1392-1ad3-4f59-82bc-fccaa3afc3a5", - "publisherId": "5ccbcc66-3677-482b-9f60-f342bfe54f8d", - "publisherDisplayName": "Crawl", - "isPreReleaseVersion": false, - "preRelease": false, - "installedTimestamp": 1643918581304 - } -} \ No newline at end of file diff --git a/vscodium/extensions/icrawl.discord-vscode-5.8.0/tsconfig.eslint.json b/vscodium/extensions/icrawl.discord-vscode-5.8.0/tsconfig.eslint.json deleted file mode 100644 index d04d4be3..00000000 --- a/vscodium/extensions/icrawl.discord-vscode-5.8.0/tsconfig.eslint.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "allowJs": true - }, - "include": [ - "**/*.ts", - "**/*.tsx", - "**/*.js", - "**/*.mjs", - "**/*.jsx", - "**/*.test.ts", - "**/*.test.js", - "**/*.test.mjs", - "**/*.spec.ts", - "**/*.spec.js", - "**/*.spec.mjs" - ], - "exclude": [] -} diff --git a/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/.vsixmanifest b/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/.vsixmanifest deleted file mode 100644 index 339d1c44..00000000 --- a/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/.vsixmanifest +++ /dev/null @@ -1,43 +0,0 @@ - - - - - Sweet Dracula Monokai - Sweet Dracula + Monokai syntax highlighting - dracula,dark,theme,color-theme,monokai,__web_extension - Themes - Public - - - - - - - - - - - - - - - - - - - - extension/LICENSE.txt - extension/icon.png - - - - - - - - - - - - - \ No newline at end of file diff --git a/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/CHANGELOG.md b/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/CHANGELOG.md deleted file mode 100644 index ba3a3c42..00000000 --- a/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/CHANGELOG.md +++ /dev/null @@ -1,27 +0,0 @@ -# Change Log - -## 1.1.2 - -- removed contrast border -- other minor changes - -## 1.1.0 - -- list selection visibility improvements -- better snippet tabstop highlighting -- changed "findMatch" highlighting -- switched warning color from cyan to yellow -- streamlined colors in overview ruler and minimap -- changed other editor highlighting -- debug colors adjusted -- other minor UI changes - -## 1.0.0 - -- Initial release -- improved overall UI visibility -- reduced brightness of foreground colors - -## Previous - -This theme is based on [PROxZIMA's Sweet Dracula](https://github.com/PROxZIMA/sweet-dracula) theme and VS Code's build-in Monokai theme. diff --git a/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/LICENSE.txt b/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/LICENSE.txt deleted file mode 100644 index b76b0644..00000000 --- a/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/LICENSE.txt +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016 Dracula Theme - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/README.md b/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/README.md deleted file mode 100644 index e2ed6b41..00000000 --- a/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# Sweet Dracula Monokai - -[![Preview theme in vscode.dev](https://img.shields.io/badge/preview_theme_on_vscode.dev-blue?style=for-the-badge&logo=visualstudiocode&color=007ACC)](https://vscode.dev/theme/lefd.sweetdracula-monokai) - -[![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/lefd.sweetdracula-monokai?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=lefd.sweetdracula-monokai) -[![Visual Studio Marketplace Installs](https://img.shields.io/visual-studio-marketplace/i/lefd.sweetdracula-monokai?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=lefd.sweetdracula-monokai) -[![Visual Studio Marketplace Downloads](https://img.shields.io/visual-studio-marketplace/d/lefd.sweetdracula-monokai?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=lefd.sweetdracula-monokai) -[![Open VSX Downloads](https://img.shields.io/open-vsx/dt/lefd/sweetdracula-monokai?label=Open%20VSX%20&style=flat-square)](https://open-vsx.org/extension/lefd/sweetdracula-monokai) - -**Sweet Dracula Monokai** - PROxZIMA's [Sweet Dracula theme](https://github.com/PROxZIMA/sweet-dracula) with small visibility improvements and Monokai-style syntax highlighting. - -## VSCode Screenshot - -![VS Code](https://github.com/LEFD/sweetdracula-monokai/raw/HEAD/assets/screenshot4.png) - -## Editor Settings in Screenshot - -Font used: [Fira Code](https://github.com/tonsky/FiraCode) with ligatures. - -```json -"editor.fontFamily": "Fira Code", -"editor.fontLigatures": "'ss03', 'ss07', 'ss09', 'ss10', 'cv14', 'cv25', 'cv26', 'cv27', 'cv32'", -"editor.fontSize": 15, -"editor.fontWeight": "400", -"editor.lineHeight": 25, -"editor.bracketPairColorization.enabled": true, -"editor.guides.bracketPairs": "active", -"editor.guides.bracketPairsHorizontal": "active" -"editor.renderWhitespace": "boundary", -``` - ---- - -Please let me know if you have spotted a pink `(FF00FF)` element, as I could not find all matching UI elements for every attribute I changed. - -Send me feedback on [GitHub](https://github.com/LEFD/sweetdracula-monokai). diff --git a/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/icon.png b/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/icon.png deleted file mode 100644 index 9223ee5e2373cb569e21875669ca96dd0d634bf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42959 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 JPDHLkV1k~57cl?; diff --git a/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/package.json b/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/package.json deleted file mode 100644 index 7bdfeb12..00000000 --- a/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "sweetdracula-monokai", - "displayName": "Sweet Dracula Monokai", - "description": "Sweet Dracula + Monokai syntax highlighting", - "version": "1.1.2", - "publisher": "lefd", - "repository": { - "type": "git", - "url": "https://github.com/LEFD/sweetdracula-monokai" - }, - "license": "MIT", - "engines": { - "vscode": "^1.63.0" - }, - "keywords": [ - "dracula", - "dark", - "theme", - "color-theme", - "monokai" - ], - "categories": [ - "Themes" - ], - "icon": "icon.png", - "contributes": { - "themes": [ - { - "label": "Sweet Dracula Monokai", - "uiTheme": "vs-dark", - "path": "./themes/sweetdracula-monokai-color-theme.json" - } - ] - }, - "__metadata": { - "id": "ec34bb72-0f59-41c0-abbd-6991596db28e", - "publisherId": "f1b353b4-2306-4062-b53a-4b499c02a9c8", - "publisherDisplayName": null, - "targetPlatform": "undefined", - "updated": false, - "isPreReleaseVersion": false, - "preRelease": false, - "installedTimestamp": 1651167578734 - } -} \ No newline at end of file diff --git a/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/themes/sweetdracula-monokai-color-theme.json b/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/themes/sweetdracula-monokai-color-theme.json deleted file mode 100644 index cb92dd90..00000000 --- a/vscodium/extensions/lefd.sweetdracula-monokai-1.1.2/themes/sweetdracula-monokai-color-theme.json +++ /dev/null @@ -1,2037 +0,0 @@ -{ -"name": "sweetdracula monokai", - "type": "dark", - "colorVars": { - "base": { - "background": "#161925", - "foreground": "#F8F8F2", - "fg-light": "#CCCCCC", - "cyan": "#8BE9FD", // -> blue done - "green": "#50FA7B", // -> green done - "orange": "#FFB86C", // -> orange done - "pink": "#FF79C6", // -> pink done - "purple": "#BD93F9", // -> purple done - "red": "#FF5555", // -> red done - "yellow": "#F1FA8C", // -> yellow done - "white": "#FFFFFF" - }, - "ansi": { - "color0": "#44475A", - "color1": "#DE312B", - "color2": "#2FD651", - "color3": "#D0D662", - "color4": "#9C6FCF", - "color5": "#DE559C", - "color6": "#6AC5D3", - "color7": "#D7D4C8", - "color8": "#656B84", - "color9": "#FF5555", - "color10": "#50FA7B", - "color11": "#F1FA8C", - "color12": "#BD93F9", - "color13": "#FF79C6", - "color14": "#8BE9FD", - "color15": "#F8F8F2" - }, - "misc": { - "comment": "#6272A4", - "activeBorder": "#6272A4", - "OLDBorder": "#BD93F922", - "NEWBorder": "#2B2940", - "lineHighlight": "#232634", - "container": "#232634", - "nonText": "#424450", - "tabDropBg": "#44475A70", - "bgLighter": "#424450", - "bgLight": "#343746", - "bgDark": "#21222C", - "bgDarker": "#191A21", - "purpleDarker": "#574473", - "selection": "#44475A", - "FocusBorder": "#3F4F81", - "NEWActiveListSelection": "#6272A488", //? change this to FocusBorder? - "menuHover": "#3A434D", - "inactiveListHighlight": "#232634BB", - }, - "monokai": { - "Background": "#272822", - "Comments": "#797979", - "White": "#F8F8F2", - "Yellow": "#E6DB74", - "Green": "#A6E22E", - "Orange": "#FD971F", - "Purple": "#AE81FF", - "Pink": "#F92672", - "Blue": "#66D9EF", - "Red": "#F44747", - }, - }, - "colors": { - //! Hex editor: changed values have a low contrast - // effected properties: "editor.foreground" & "minimapGutter.modifiedBackground" - "activityBar.background": "#232634", - "activityBar.foreground": "#F8F8F2", - "activityBar.border": "#232634", - "activityBar.activeBorder": "#FF79C6", - "activityBar.inactiveForeground": "#6272A4", - "activityBarBadge.background": "#DE559C", - "activityBarBadge.foreground": "#F8F8F2", - "badge.foreground": "#F8F8F2", - "badge.background": "#232634", - "focusBorder": "#3F4F81", //? make this the same color as cursor highlight - // "foreground": "#F8F8F2", - "selection.background": "#BD93F9", - "errorForeground": "#FF5555", - "breadcrumb.background": "#161925", - "breadcrumb.foreground": "#6272A4", - "breadcrumb.focusForeground": "#F8F8F2", - "breadcrumb.activeSelectionForeground": "#F8F8F2", - "breadcrumbPicker.background": "#161925", - "button.background": "#574473", - // "button.foreground": "#F8F8F2", - // "contrastBorder": "#191A21", // this moves some items by a couple pixels - "debugToolBar.background": "#161925", - "diffEditor.insertedTextBackground": "#50FA7B20", - "diffEditor.removedTextBackground": "#FF555550", - "dropdown.background": "#232634", - "dropdown.listBackground": "#232634", - "dropdown.border": "#6272A4", - // "dropdown.foreground": "#F8F8F2", - // "editor.foreground": "#F8F8F2", - "editor.background": "#161925", - "editorLineNumber.foreground": "#6272A4", - "editorLineNumber.activeForeground": "#8BE9FD", - "editorCursor.foreground": "#8BE9FD", - "editor.selectionBackground": "#44475A", - "editor.selectionHighlightBorder": "#44475A", - "editor.selectionForeground": "#8BE9FD", // make white - "editor.wordHighlightBackground": "#8BE9FD50", - "editor.wordHighlightStrongBackground": "#50FA7B50", - "editor.foldBackground": "#11131C", - "editor.findMatchBackground": "#FFB86C80", - "editor.findMatchHighlightBackground": "#FF79C640", - "editor.findRangeHighlightBackground": "#ff00ff", //? what is this? - "editor.hoverHighlightBackground": "#8BE9FD40", - "editorLink.activeForeground": "#8BE9FD", - "editor.rangeHighlightBackground": "#161925", - "editor.lineHighlightBackground": "#232634", - "editor.snippetTabstopHighlightBackground": "#8BE9FD20", - "editor.snippetTabstopHighlightBorder": "#8BE9FD80", - "editor.snippetFinalTabstopHighlightBackground": "#50FA7B20", - "editor.snippetFinalTabstopHighlightBorder": "#50FA7B", - "minimapSlider.background": "#4c4b5f40", - "minimapSlider.hoverBackground": "#4c4b5f60", // #161925 + ??????40 = #232634; - "minimap.selectionHighlight": "#44475A", - "minimap.findMatchHighlight": "#FF79C6", - "minimapSlider.activeBackground": "#6272A488", - "minimapGutter.modifiedBackground": "#8BE9FD80", - "minimapGutter.addedBackground": "#50FA7B80", - "minimapGutter.deletedBackground": "#FF555580", - "editorBracketMatch.background": "#FFD7001A", - "editorBracketMatch.border": "#FFD700", - "editorBracketPairGuide.activeBackground1": "#FFD70065", - "editorBracketPairGuide.background1": "#FFD70065", - "editorBracketHighlight.foreground1": "#FFD700", - "editorBracketPairGuide.activeBackground2": "#DA70D665", - "editorBracketPairGuide.background2": "#DA70D665", - "editorBracketHighlight.foreground2": "#DA70D6", - "editorBracketPairGuide.activeBackground3": "#87CEFA65", - "editorBracketPairGuide.background3": "#87CEFA65", - "editorBracketHighlight.foreground3": "#87CEFA", - "editorHoverWidget.highlightForeground": "#44475A", - "editorIndentGuide.background": "#42445075", - "editorWhitespace.foreground": "#424450", - "editorIndentGuide.activeBackground": "#6273a475", - "editorCodeLens.foreground": "#6272A4", - "editorOverviewRuler.border": "#2B294080", - "editorOverviewRuler.selectionHighlightForeground": "#44475A80", - "editorOverviewRuler.wordHighlightForeground": "#8BE9FD", - "editorOverviewRuler.wordHighlightStrongForeground": "#50FA7B", - "editorOverviewRuler.modifiedForeground": "#44475A", - "editorOverviewRuler.addedForeground": "#50FA7B80", - "editorOverviewRuler.deletedForeground": "#FF555580", - "editorOverviewRuler.errorForeground": "#FF555580", - "editorOverviewRuler.warningForeground": "#F1FA8C80", - "editorOverviewRuler.infoForeground": "#8BE9FD80", - "editorOverviewRuler.findMatchForeground": "#FF79C680", - "editorError.foreground": "#FF5555", - "editorWarning.foreground": "#F1FA8C", - "editorInfo.foreground": "#8BE9FD", - // "editorHint.foreground": "#ff00ff", //? what is this? - // "problemsErrorIcon.foreground" and stuff will default to "editorError.foreground" - "editorGutter.modifiedBackground": "#8BE9FD80", - "editorGutter.addedBackground": "#50FA7B80", - "editorGutter.deletedBackground": "#FF555580", - "editorGutter.foldingControlForeground": "#6272A4", - "editorGroup.border": "#2B2940", - "editorGroup.dropBackground": "#44475A70", - "editorGroupHeader.tabsBackground": "#11131C", - "tab.activeBackground": "#161925", - "tab.activeForeground": "#F8F8F2", - "tab.activeBorderTop": "#FF79C6", - "tab.unfocusedActiveBorderTop": "#232634BB", - "tab.unfocusedActiveBackground": "#161925", - "tab.border": "#11131C", - "tab.inactiveBackground": "#11131C", - "tab.inactiveForeground": "#6272A4", - "editorWidget.background": "#161925", - "editorWidget.border": "#6272A4", - "editorWidget.resizeBorder": "#BD93F9", - "editorSuggestWidget.background": "#161925", - "editorSuggestWidget.border": "#6272A4", - "editorSuggestWidget.foreground": "#F8F8F2", - "editorSuggestWidget.selectedBackground": "#6272A488", - "editorHoverWidget.background": "#161925", - "editorHoverWidget.border": "#6272A4", - "editorMarkerNavigation.background": "#21222C", - "extensionButton.prominentForeground": "#F8F8F2", - "extensionButton.prominentBackground": "#50FA7B90", - "extensionButton.prominentHoverBackground": "#50FA7B60", - "gitDecoration.modifiedResourceForeground": "#8BE9FD", - "gitDecoration.deletedResourceForeground": "#FF5555", - "gitDecoration.untrackedResourceForeground": "#50FA7B", - "gitDecoration.ignoredResourceForeground": "#6272A4", - "gitDecoration.conflictingResourceForeground": "#FFB86C", - "input.background": "#161925", - "input.foreground": "#F8F8F2", - "input.border": "#232634", - "input.placeholderForeground": "#6272A4", - "inputOption.activeBorder": "#6272A4", - "inputValidation.infoBorder": "#FF79C6", - "inputValidation.warningBorder": "#FFB86C", - "inputValidation.errorBorder": "#FF5555", - "list.activeSelectionBackground": "#6272A488", - "list.activeSelectionForeground": "#F8F8F2", - "list.dropBackground": "#44475A", - "list.focusBackground": "#232634", - "list.highlightForeground": "#8BE9FD", - "list.hoverBackground": "#232634", - "list.inactiveSelectionBackground": "#232634BB", - "list.hoverForeground": "#F8F8F2", - "list.focusForeground": "#F8F8F2", - "list.warningForeground": "#F1FA8C", - "merge.currentHeaderBackground": "#50FA7B90", - "merge.incomingHeaderBackground": "#BD93F990", - "editorOverviewRuler.currentContentForeground": "#50FA7B", - "editorOverviewRuler.incomingContentForeground": "#BD93F9", - "menubar.selectionBackground": "#232634", - "menu.background": "#161925", - "menu.selectionBackground": "#6272A488", - "menu.separatorBackground": "#6272A4", - "menu.foreground": "#CCCCCC", - "notificationCenter.border": "#6272A4", - "notificationCenterHeader.foreground": "#F8F8F2", - "notificationCenterHeader.background": "#232634", - "notificationToast.border": "#6272A4", - "notifications.foreground": "#F8F8F2", - "notifications.background": "#161925", - "notifications.border": "#6272A4", - "notificationLink.foreground": "#F8F8F2", - "notificationsErrorIcon.foreground": "#FF5555", - "notificationsInfoIcon.foreground": "#8BE9FD", - "notificationsWarningIcon.foreground": "#FFB86C", - "panel.background": "#161925", - "panel.border": "#2B2940", // border over terminal - "panelTitle.activeBorder": "#FF79C6", - "panelTitle.activeForeground": "#F8F8F2", - "panelTitle.inactiveForeground": "#6272A4", - "panelSectionHeader.background": "#11131C", - "peekView.border": "#6272A4", - "peekViewEditor.background": "#161925", - "peekViewEditor.matchHighlightBackground": "#F1FA8C80", - "peekViewResult.background": "#161925", - "peekViewResult.fileForeground": "#F8F8F2", - "peekViewResult.lineForeground": "#F8F8F2", - "peekViewResult.matchHighlightBackground": "#F1FA8C80", - "peekViewResult.selectionBackground": "#232634", - "peekViewResult.selectionForeground": "#F8F8F2", - "peekViewTitle.background": "#232634", - "peekViewTitleDescription.foreground": "#6272A4", - "peekViewTitleLabel.foreground": "#F8F8F2", - "progressBar.background": "#FF79C6", - "pickerGroup.border": "#BD93F9", - "pickerGroup.foreground": "#8BE9FD", - "scrollbarSlider.background": "#97B6FF4D", // #161925 + ??? =~ #3E4868 (high transparency) - "scrollbarSlider.hoverBackground": "#97B6FF5D", - "scrollbarSlider.activeBackground": "#97B6FF6D", - "settings.focusedRowBorder": "#3F4F81", - "sideBar.background": "#161925", - "sideBar.border": "#2B2940", - "sideBarTitle.foreground": "#F8F8F2", - "sideBarSectionHeader.background": "#11131C", - // "sideBarSectionHeader.foreground": "#FDFDFD", - "statusBar.background": "#11131C", - "statusBar.foreground": "#CCCCCC", - "statusBar.debuggingBackground": "#574473", - "statusBar.noFolderBackground": "#11131C", - "statusBar.noFolderForeground": "#CCCCCC", - "statusBarItem.prominentBackground": "#FF5555", - "statusBarItem.prominentHoverBackground": "#FFB86C", - "terminal.background": "#161925", - // "terminal.foreground": "#F8F8F2", - "terminal.ansiBrightBlack": "#666666", - "terminal.ansiBrightRed": "#f92672", - "terminal.ansiBrightGreen": "#A6E22E", - "terminal.ansiBrightYellow": "#e2e22e", - "terminal.ansiBrightBlue": "#819aff", - "terminal.ansiBrightMagenta": "#AE81FF", - "terminal.ansiBrightCyan": "#66D9EF", - "terminal.ansiBrightWhite": "#f8f8f2", - "terminal.ansiBlack": "#333333", - "terminal.ansiRed": "#C4265E", - "terminal.ansiGreen": "#86B42B", - "terminal.ansiYellow": "#B3B42B", - "terminal.ansiBlue": "#6A7EC8", - "terminal.ansiMagenta": "#8C6BC8", - "terminal.ansiCyan": "#56ADBC", - "terminal.ansiWhite": "#e3e3dd", - "terminal.selectionBackground": "#44475A", - "terminalCursor.background": "#161925", - "titleBar.activeBackground": "#161925", - "titleBar.inactiveBackground": "#161925", - "titleBar.inactiveForeground": "#6272A4", - "debugIcon.continueForeground": "#8BE9FD", - "debugIcon.startForeground": "#50FA7B", - "debugIcon.restartForeground": "#50FA7B", - "debugIcon.pauseForeground": "#8BE9FD", - "debugIcon.stepBackForeground": "#8BE9FD", - "debugIcon.stepIntoForeground": "#8BE9FD", - "debugIcon.stepOverForeground": "#8BE9FD", - "debugIcon.stepOutForeground": "#8BE9FD", - "debugIcon.stopForeground": "#FF5555", - "debugIcon.disconnectForeground": "#FF5555", - "debugTokenExpression.name": "#FF79C6", - "debugTokenExpression.value": "#6272A4", - "debugTokenExpression.string": "#F1FA8C", - "debugTokenExpression.boolean": "#8BE9FD", - "debugTokenExpression.number": "#50FA7B", - "debugTokenExpression.error": "#FF5555", - "debugIcon.breakpointForeground": "#FF79C6", - // "editor.stackFrameHighlightBackground": "#F1FA8C60", - // "editor.focusedStackFrameHighlightBackground": "#50FA7B60", - "debugView.valueChangedHighlight": "#3F4F81", - "debugView.exceptionLabelForeground": "#F8F8F2", - "debugView.exceptionLabelBackground": "#FF5555", - "debugView.stateLabelBackground": "#343746", - // "keybindingLabel.background": "#343746", - // "keybindingLabel.bottomBorder": "#424450", - // "keybindingLabel.border": "#424450", - "walkThrough.embeddedEditorBackground": "#232634" - }, - "tokenColors": [ - { - "scope": [ - "emphasis" - ], - "settings": { - "fontStyle": "italic" - } - }, - { - "scope": [ - "strong" - ], - "settings": { - "fontStyle": "bold" - } - }, - { - "scope": [ - "header" - ], - "settings": { - "foreground": "#AE81FF" - } - }, - { - "scope": [ - "source" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - //! I hope this is OK - // { - // "name": "Class definitions", - // "scope": ["entity.name.type.class"], - // "settings": { - // "foreground": "#A6E22E" - // } - // }, - { - "name": "Class name", - "scope": "entity.name.type, entity.name.class, entity.name.namespace, entity.name.scope-resolution", - "settings": { - "fontStyle": "underline", - "foreground": "#A6E22E" - } - }, - { - "name": "Storage Types", - "scope": [ - "storage.type" - ], - "settings": { - "fontStyle": "italic", - "foreground": "#66D9EF" - } - }, - { - "name": "Instance keywords (this, super, self, etc.)", - "scope": [ - "keyword.other.this", - "variable.language", - "variable.parameter.function.language.special" - ], - "settings": { - "foreground": "#FD971F" - } - }, - { - "name": "Inherited classes", - "scope": [ - "entity.other.inherited-class" - ], - "settings": { - "fontStyle": "italic underline", - "foreground": "#A6E22E" - // "foreground": "#66D9EF" - } - }, - { - "name": "Built-in classes", - "scope": [ - "support.class.builtin" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "Comments", - "scope": [ - "comment", - "punctuation.definition.comment", - "unused.comment", - "wildcard.comment" - ], - "settings": { - "foreground": "#6272A4" - } - }, - { - "name": "JSDoc comment keywords/classes", - "scope": [ - "comment keyword.codetag.notation", - "comment.block.documentation keyword", - "comment.block.documentation storage.type.class" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "JSDoc-style comment parameters", - "scope": [ - "comment.block.documentation variable" - ], - "settings": { - "foreground": "#FD971F" - } - }, - { - "name": "Constants", - "scope": [ - "constant" - ], - "settings": { - "foreground": "#AE81FF" - } - }, - { - "name": "User-defined constants", - "scope": [ - "variable.other.constant" - ], - "settings": { - "foreground": "#AE81FF" - } - }, - { - "name": "Constant escape sequences", - "scope": [ - "constant.character.escape", - "constant.character.string.escape", - "constant.regexp" - ], - "settings": { - "foreground": "#AE81FF" - } - }, - { - "name": "Dates and timestamps", - "scope": [ - "constant.other.date", - "constant.other.timestamp" - ], - "settings": { - "foreground": "#FD971F" - } - }, - { - "name": "Built-in constants", - "scope": [ - "support.variable", - "variable.other.predefined" - ], - "settings": { - "foreground": "#AE81FF" - } - }, - { - "name": "Function definitions", - "scope": [ - "meta.definition.function", - "meta.definition.method" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "Function parameters", - "scope": [ - "entity.name.variable.parameter", - "meta.at-rule.function variable", - "meta.at-rule.mixin variable", - "variable.parameter" - ], - "settings": { - "fontStyle": "italic", - "foreground": "#FD971F" - } - }, - { - "name": "Function invocation", - "scope": [ - "entity.name.function", - "meta.function-call.generic", - "meta.function-call.object", - "meta.function-call.php", - "meta.function-call.static", - "meta.method-call.java meta.method", - "meta.method.groovy", - "support.function.any-method.lua", - "keyword.operator.function.infix", - "support.function.gradient.css", - "support.function.misc.css", - "support.function.url.css", - "support.function.timing-function.css", - "support.function.transform.css" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "Decorators", - "scope": [ - "meta.decorator variable.other.readwrite", - "meta.decorator variable.other.property", - "meta.decorator variable.other.object" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "Magic functions", - "scope": [ - "support.function.magic" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Keywords", - "scope": [ - "keyword", - "punctuation.definition.keyword" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "Keyword \"new\"", - "scope": [ - "keyword.control.new", - "keyword.operator.new" - ], - "settings": { - "fontStyle": "bold" - } - }, - { - "name": "Separators", - "scope": [ - "entity.other.attribute-name.placeholder punctuation", - "entity.other.attribute-name.pseudo-class punctuation", - "entity.other.attribute-name.pseudo-element punctuation", - "meta.object-binding-pattern-variable punctuation.destructuring", - "punctuation.definition.entity.other.inherited-class", - "punctuation.separator.dictionary.key-value", - "punctuation.separator.hash", - "punctuation.separator.inheritance", - "punctuation.separator.key-value", - "punctuation.separator.namespace", - "punctuation.separator.pointer-access", - "punctuation.separator.slice", - "string.unquoted.heredoc punctuation.definition.string", - "punctuation.separator.annotation", - "punctuation.accessor" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "Variable interpolation operators", - "scope": [ - "meta.string-contents.quoted.double punctuation.definition.variable", - "punctuation.definition.interpolation.begin", - "punctuation.definition.interpolation.end", - "punctuation.definition.template-expression.begin", - "punctuation.definition.template-expression.end", - "punctuation.section.embedded.begin", - "punctuation.section.embedded.end" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "Strings", - "scope": [ - "string", - "punctuation.definition.string.begin", - "punctuation.definition.string.end", - "punctuation.definition.string.end source.js-ignored-vscode", - "punctuation.definition.string.end source.css-ignored-vscode", - "meta.embedded.line.css source.css" - ], - "settings": { - "foreground": "#E6DB74" - } - }, - { - "name": "Property Name", - "scope": [ - "support.type.property-name", - "punctuation.support.type.property-name.begin", - "punctuation.support.type.property-name.end" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Storage", - "scope": [ - "storage" - ], - "settings": { - "foreground": "#F92672" - } - }, - // { - // "name": "Types", - // "scope": ["entity.name.type"], - // "settings": { - // "foreground": "#66D9EF" - // } - // }, - { - "name": "Generics, templates, and mapped type declarations", - "scope": [ - "entity.name.type.type-parameter", - "meta.indexer.mappedtype.declaration entity.name.type", - "meta.type.parameters entity.name.type" - ], - "settings": { - "foreground": "#FD971F" - } - }, - { - "name": "Modifiers", - "scope": [ - "storage.modifier" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "Variables and object properties", - "scope": [ - "variable", - "support.variable.property" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - { - "name": "Destructuring value for alias", - "scope": [ - "meta.import variable.other.readwrite", - "meta.object-binding-pattern-variable variable.object.property" - ], - "settings": { - "foreground": "#FD971F" - } - }, - { - "name": "Destructuring value alias", - "scope": [ - "meta.import variable.other.readwrite.alias" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - { - "name": "C Types", - "scope": [ - "storage.type.c" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "CoffeeScript interpolation punctuation", - "scope": [ - "punctuation.section.embedded.coffee" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "Destructuring value for alias", - "scope": [ - "meta.variable.assignment.destructured.object.coffee variable" - ], - "settings": { - "foreground": "#FD971F" - } - }, - { - "name": "Destructuring value alias", - "scope": [ - "meta.variable.assignment.destructured.object.coffee variable variable" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - { - "name": "C# punctuation bounds", - "scope": [ - "punctuation.definition.tag.cs" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - { - "name": "C# Types", - "scope": [ - "keyword.type.cs", - "storage.type.cs" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "scope": [ - "meta.diff", - "meta.diff.header" - ], - "settings": { - "foreground": "#6272A4" - } - }, - { - "scope": [ - "markup.inserted" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "scope": [ - "markup.deleted" - ], - "settings": { - "foreground": "#F44747" - } - }, - { - "scope": [ - "markup.changed" - ], - "settings": { - "foreground": "#FD971F" - } - }, - { - "scope": [ - "invalid" - ], - "settings": { - "foreground": "#F44747", - "fontStyle": "underline italic" - } - }, - { - "scope": [ - "invalid.deprecated" - ], - "settings": { - "foreground": "#F8F8F2", - "fontStyle": "underline italic" - } - }, - { - "scope": [ - "entity.name.filename" - ], - "settings": { - "foreground": "#E6DB74" - } - }, - { - "scope": [ - "markup.error" - ], - "settings": { - "foreground": "#F44747" - } - }, - { - "name": "Elixir function definitions", - "scope": [ - "entity.name.function.elixir" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "Elixir atoms", - "scope": [ - "constant.other.symbol.elixir", - "constant.language.symbol.elixir" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Elixir module definitions", - "scope": [ - "entity.name.type.module.elixir" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "Elixir module variables", - "scope": [ - "variable.other.readwrite.module.elixir", - "variable.other.readwrite.module.elixir punctuation.definition.variable.elixir" - ], - "settings": { - "foreground": "#FD971F" - } - }, - { - "name": "Elixir separators", - "scope": [ - "punctuation.separator.method.elixir" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "Elixir interpolation", - "scope": [ - "punctuation.section.embedded.elixir" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "Elixir capture ampersands", - "scope": [ - "variable.other.anonymous.elixir punctuation.definition.variable.elixir" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "Go separators", - "scope": [ - "punctuation.other.period.go", - "punctuation.other.colon.go" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "Go Types", - "scope": [ - "source.go storage.type" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Go Types", - "scope": [ - "entity.name.type.go" - ], - "settings": { - "foreground": "#AE81FF" - } - }, - { - "name": "Go function definitions", - "scope": [ - "entity.name.function.go" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "Go function invocation", - "scope": [ - "support.function.go" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "GraphQL separators", - "scope": [ - "punctuation.colon.graphql" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "GraphQL keys", - "scope": [ - "variable.graphql", - "variable.arguments.graphql" - ], - "settings": { - "foreground": "#E6DB74" - } - }, - { - "name": "GraphQL types", - "scope": [ - "support.type.graphql", - "support.type.builtin.graphql", - "support.type.enum.graphql", - "entity.scalar.graphql" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "GraphQL actions (mutations, fragments, queries)", - "scope": [ - "entity.name.function.graphql" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "GraphQL variables", - "scope": [ - "meta.selectionset.graphql variable.graphql", - "variable.parameter.graphql" - ], - "settings": { - "foreground": "#FD971F" - } - }, - { - "name": "Groovy storage", - "scope": [ - "source.groovy storage.type.def" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "Groovy Types", - "scope": [ - "source.groovy storage.type", - "storage.type.groovy" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Groovy foreground resets", - "scope": [ - "keyword.operator.navigation.groovy" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - { - "name": "Haskell Types", - "scope": [ - "storage.type.haskell" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Haskell Pragmas", - "scope": [ - "meta.preprocessor.haskell" - ], - "settings": { - "foreground": "#6272A4" - } - }, - { - "name": "Haskell foreground resets", - "scope": [ - "constant.language.empty-list.haskell" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - { - "name": "JSX Tag Punctuation", - "scope": [ - "punctuation.definition.tag.begin.js", - "punctuation.definition.tag.end.js", - "punctuation.definition.tag.begin.tsx", - "punctuation.definition.tag.end.tsx" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "HTML tags", - "scope": [ - "entity.name.tag" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "HTML tags text", - "scope": [ - "text.html.derivative" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - { - "name": "HTML opening/closing", - "scope": [ - "punctuation.definition.tag" - ], - "settings": { - "foreground": "#6272A4" //? change to #CCCCCC - } - }, - { - "name": "Component tags", - "scope": [ - "entity.name.tag support.class.component.js", - "entity.name.tag support.class.component.tsx" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - { - "name": "Generic selectors", - "scope": [ - "meta.selector" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "Parent selectors (like `&`)", - "scope": [ - "entity.other.attribute-name.parent-selector" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "Attribute selector strings", - "scope": [ - "meta.attribute-selector.scss" - ], - "settings": { - "foreground": "#E6DB74" - } - }, - { - "name": "Attribute selector brackets", - "scope": [ - "punctuation.definition.attribute-selector.end.bracket.square.scss", - "punctuation.definition.attribute-selector.begin.bracket.square.scss" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - { - "name": "HTML/CSS attribute names", - "scope": [ - "entity.other.attribute-name" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "JSX / TSX / CSS foreground resets", - "scope": [ - "punctuation.section.embedded.begin.tsx", - "punctuation.section.embedded.end.tsx", - "punctuation.section.embedded.begin.jsx", - "punctuation.section.embedded.end.jsx", - "punctuation.separator.list.comma.css" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - { - "name": "CSS Property Keys", - "scope": [ - "support.constant.property-value.css" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "@media rules", - "scope": [ - "keyword.control.at-rule.media.scss", - "keyword.control.at-rule.media.scss punctuation.definition.keyword.scss" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "Java punctuation bounds", - "scope": [ - "storage.type.generic.java" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - { - "name": "Java Types", - "scope": [ - "source.java storage.type" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Java foreground resets", - "scope": [ - "keyword.operator.dereference.java", - "storage.modifier.import" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - { - "name": "JavaScript prototype prop", - "scope": [ - "support.variable.property.js" - ], - "settings": { - "foreground": "#AE81FF" - } - }, - { - "name": "JavaScript constant definitions", - "scope": [ - "variable.other.constant.js" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "JavaScript language classes", - "scope": [ - "support.class.console.js", - "support.type.object.module.js", - "support.class.promise.js", - "support.constant.json.js" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "JavaScript classes in use", - "scope": [ - "support.class.js" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "JS function definitions", - "scope": [ - "meta.object-literal.key.js entity.name.function.js", - "meta.var.expr.js meta.definition.variable.js entity.name.function.js", - "meta.definition.property.js entity.name.function.js" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "JS function invocation", - "scope": [ - "meta.function-call.js" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Makefile interpolation punctuation", - "scope": [ - "punctuation.definition.variable.makefile" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "Makefile keys", - "scope": [ - "entity.name.function.target.makefile" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Makefile prerequisite names", - "scope": [ - "meta.scope.prerequisites.makefile" - ], - "settings": { - "foreground": "#E6DB74" - } - }, - { - "name": "Underlined markdown", - "scope": [ - "markup.underline" - ], - "settings": { - "fontStyle": "underline" - } - }, - { - "name": "Bolded markdown", - "scope": [ - "markup.bold" - ], - "settings": { - "fontStyle": "bold", - "foreground": "#FD971F" - } - }, - { - "name": "Markdown headings", - "scope": [ - "markup.heading" - ], - "settings": { - "fontStyle": "bold", - "foreground": "#AE81FF" - } - }, - { - "name": "Markdown italics", - "scope": [ - "markup.italic" - ], - "settings": { - "fontStyle": "italic", - "foreground": "#E6DB74" - } - }, - { - "name": "Collections (bullets + lists)", - "scope": [ - "beginning.punctuation.definition.list.markdown", - "beginning.punctuation.definition.quote.markdown", - "punctuation.definition.link.restructuredtext" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Inline code", - "scope": [ - "markup.inline.raw", - "markup.raw.restructuredtext" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "Links", - "scope": [ - "markup.underline.link", - "markup.underline.link.image" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Link text, image alt text", - "scope": [ - "meta.link.reference.def.restructuredtext", - "punctuation.definition.directive.restructuredtext", - "string.other.link.description", - "string.other.link.title" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "Blockquotes", - "scope": [ - "entity.name.directive.restructuredtext", - "markup.quote" - ], - "settings": { - "fontStyle": "italic", - "foreground": "#E6DB74" - } - }, - { - "name": "Horizontal rule", - "scope": [ - "meta.separator.markdown" - ], - "settings": { - "foreground": "#6272A4" - } - }, - { - "name": "Code blocks", - "scope": [ - "fenced_code.block.language", - "markup.raw.inner.restructuredtext", - "markup.fenced_code.block.markdown punctuation.definition.markdown" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "Markdown constants", - "scope": [ - "punctuation.definition.constant.restructuredtext" - ], - "settings": { - "foreground": "#AE81FF" - } - }, - { - "name": "Braces in markdown headings", - "scope": [ - "markup.heading.markdown punctuation.definition.string.begin", - "markup.heading.markdown punctuation.definition.string.end" - ], - "settings": { - "foreground": "#AE81FF" - } - }, - { - "name": "Braces in markdown paragraphs", - "scope": [ - "meta.paragraph.markdown punctuation.definition.string.begin", - "meta.paragraph.markdown punctuation.definition.string.end" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - { - "name": "Braces in markdown blockquotes", - "scope": [ - "markup.quote.markdown meta.paragraph.markdown punctuation.definition.string.begin", - "markup.quote.markdown meta.paragraph.markdown punctuation.definition.string.end" - ], - "settings": { - "foreground": "#E6DB74" - } - }, - { - "name": "Objective-C Storage", - "scope": [ - "meta.implementation storage.type.objc", - "meta.interface-or-protocol storage.type.objc" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "Objective-C Types", - "scope": [ - "meta.protocol-list.objc", - "meta.return-type.objc", - "storage.type.objc" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "OCaml Types", - "scope": [ - "storage.type.ocaml" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Variables and object properties", - "scope": [ - "constant.other.key.perl" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - { - "name": "PHP instance keywords", - "scope": [ - "variable.language punctuation.definition.variable.php" - ], - "settings": { - "foreground": "#AE81FF" - } - }, - { - "name": "PHP function parameters", - "scope": [ - "meta.function.arguments variable.other.php" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "PHP interpolation operators", - "scope": [ - "punctuation.section.embedded.end source.php" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "PHP Types", - "scope": [ - "storage.type.php" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Powershell punctuation bounds", - "scope": [ - "keyword.operator.other.powershell", - "keyword.other.statement-separator.powershell" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - { - "name": "Powershell Types", - "scope": [ - "source.powershell entity.other.attribute-name" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Powershell constants", - "scope": [ - "support.constant" - ], - "settings": { - "foreground": "#AE81FF" - } - }, - { - "name": "Python Types", - "scope": [ - "source.python storage.type" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Python support types", - "scope": [ - "support.type.python" - ], - "settings": { - "fontStyle": "italic", - "foreground": "#66D9EF" - } - }, - { - "name": "Python function invocation", - "scope": [ - "meta.function-call.python support.type.python", - "meta.function-call.python support.function.builtin.python" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Python separators", - "scope": [ - "punctuation.separator.period.python", - "punctuation.separator.colon.python", - "punctuation.separator.dict.python", - "punctuation.section.function.begin.python" - ], - "settings": { - "foreground": "#F92672" - } - }, - //! this doesn't work properly - // { - // "name": "Python function parameter variables", - // "scope": [ - // "meta.item-access.python" - // ], - // "settings": { - // "foreground": "#FD971F" - // } - // }, - { - "name": "RegExp string", - "scope": [ - "string.regexp", - "constant.other.character-class.set.regexp", - "constant.character.escape.backslash.regexp" - ], - "settings": { - "foreground": "#E6DB74" - } - }, - { - "name": "RegExp Parenthesis", - "scope": [ - "support.other.parenthesis.regexp", - "support.other.escape.special.regexp" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "RegExp looks", - "scope": [ - "keyword.operator.lookahead", - "keyword.operator.lookbehind" - ], - "settings": { - "foreground": "#F44747" - } - }, - { - "name": "RegExp non-capture operators", - "scope": [ - "punctuation.definition.group.capture.regexp" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "RegExp start and end characters", - "scope": [ - "string.regexp punctuation.definition.string.begin", - "string.regexp punctuation.definition.string.end" - ], - "settings": { - "fontStyle": "italic", - "foreground": "#66D9EF" - } - }, - { - "name": "Character group", - "scope": [ - "punctuation.definition.character-class.regexp" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Capture groups", - "scope": [ - "punctuation.definition.group.regexp" - ], - "settings": { - "foreground": "#FD971F" - } - }, - { - "name": "Assertion operators", - "scope": [ - "punctuation.definition.group.assertion.regexp", - "keyword.operator.negation.regexp" - ], - "settings": { - "foreground": "#F44747" - } - }, - { - "name": "Positive lookaheads", - "scope": [ - "meta.assertion.look-ahead.regexp" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "Ruby instance variables", - "scope": [ - "variable.other.readwrite.instance.ruby", - "variable.other.readwrite.instance.ruby punctuation.definition.variable.ruby" - ], - "settings": { - "foreground": "#FD971F" - } - }, - { - "name": "Ruby class variables", - "scope": [ - "variable.other.readwrite.class.ruby", - "variable.other.readwrite.class.ruby punctuation.definition.variable.ruby" - ], - "settings": { - "foreground": "#FD971F" - } - }, - { - "name": "Ruby constant definitions", - "scope": [ - "variable.other.constant.ruby" - ], - "settings": { - "foreground": "#AE81FF" - } - }, - { - "name": "Ruby modules", - "scope": [ - "entity.name.type.module.ruby" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "Class definitions", - "scope": [ - "entity.name.type.class.ruby" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "Inherited classes", - "scope": [ - "entity.other.inherited-class.ruby" - ], - "settings": { - "foreground": "#AE81FF" - } - }, - { - "name": "Classes inline", - "scope": [ - "support.class.ruby" - ], - "settings": { - "foreground": "#AE81FF" - } - }, - { - "name": "Ruby function definitions", - "scope": [ - "meta.function.method.with-arguments.ruby entity.name.function.ruby", - "meta.function.method.without-arguments.ruby entity.name.function.ruby" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "Ruby function parameters", - "scope": [ - "variable.parameter.function.ruby" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - { - "name": "Ruby block function parameters", - "scope": [ - "variable.other.block.ruby" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - { - "name": "Ruby function invocation", - "scope": [ - "meta.function-call.ruby entity.name.function.ruby", - "support.function.kernel.ruby" - ], - "settings": { - "foreground": "#F8F8F2" - } - }, - { - "name": "Ruby separators", - "scope": [ - "punctuation.separator.method.ruby" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "Ruby interpolation", - "scope": [ - "punctuation.section.embedded.end source.ruby" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "Ruby symbols", - "scope": [ - "constant.language.symbol.hashkey.ruby", - "constant.language.symbol.hashkey.parameter.function.ruby", - "constant.language.symbol.ruby", - "constant.other.symbol.hashkey.ruby", - "constant.other.symbol.ruby", - "punctuation.definition.constant.ruby", - "punctuation.definition.constant.hashkey.ruby" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Rust Types", - "scope": [ - "storage.class.std.rust", - "storage.type.core.rust" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "Shell variables prefixed with \"$\"", - "scope": [ - "source.shell variable.other" - ], - "settings": { - "foreground": "#AE81FF" - } - }, - { - "name": "Swift instance keywords", - "scope": [ - "keyword.expressions-and-types.swift" - ], - "settings": { - "foreground": "#AE81FF" - } - }, - { - "name": "Swift separators", - "scope": [ - "punctuation.function.swift" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "Groovy Types", - "scope": [ - "keyword.primitive-datatypes.swift", - "storage.type.attribute.swift" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "TOML separators", - "scope": [ - "meta.group.double.toml", - "meta.group.toml" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "TOML keys", - "scope": [ - "entity.name.section.toml", - "entity.name.tag.yaml", - "variable.other.key.toml" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "TypeScript prototype prop", - "scope": [ - "support.variable.property.ts", - "support.variable.property.tsx" - ], - "settings": { - "foreground": "#AE81FF" - } - }, - { - "name": "TypeScript constant definitions", - "scope": [ - "variable.other.constant.ts", - "variable.other.constant.tsx" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "TypeScript language classes", - "scope": [ - "support.class.console.ts", - "support.type.object.module.ts", - "support.class.promise.ts", - "support.constant.json.ts", - "support.class.console.tsx", - "support.type.object.module.tsx", - "support.class.promise.tsx", - "support.constant.json.tsx" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "TypeScript classes in use", - "scope": [ - "support.class.ts", - "support.class.tsx" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "TS function definitions", - "scope": [ - "meta.object-literal.key.ts entity.name.function.ts", - "meta.var.expr.ts meta.definition.variable.ts entity.name.function.ts", - "meta.definition.property.ts entity.name.function.ts", - "meta.object-literal.key.tsx entity.name.function.tsx", - "meta.var.expr.tsx meta.definition.variable.tsx entity.name.function.tsx", - "meta.definition.property.tsx entity.name.function.tsx" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "TS function invocation", - "scope": [ - "meta.function-call.ts", - "meta.function-call.tsx" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "TS Typing Definitions", - "scope": [ - "entity.name.type.alias.ts", - "entity.name.type.interface.ts", - "entity.name.type.enum.ts", - "entity.name.type.alias.tsx", - "entity.name.type.interface.tsx", - "entity.name.type.enum.tsx" - ], - "settings": { - "foreground": "#A6E22E" - } - }, - { - "name": "TS Typing Uses", - "scope": [ - "support.type.primitive.ts", - "support.type.builtin.ts", - "entity.name.type.ts", - "support.type.primitive.tsx", - "support.type.builtin.tsx", - "entity.name.type.tsx" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "TS Generics / Type Parameters", - "scope": [ - "meta.type.parameters.ts support.type.primitive.ts", - "meta.type.parameters.ts entity.name.type.ts", - "meta.type.parameters.tsx support.type.primitive.tsx", - "meta.type.parameters.tsx entity.name.type.tsx" - ], - "settings": { - "foreground": "#FD971F" - } - }, - { - "name": "TS Generics Punctuation", - "scope": [ - "punctuation.definition.typeparameters.begin.ts", - "punctuation.definition.typeparameters.end.ts", - "punctuation.definition.typeparameters.begin.tsx", - "punctuation.definition.typeparameters.end.tsx" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "YAML separators", - "scope": [ - "punctuation.definition.block.scalar.folded.yaml", - "punctuation.definition.block.scalar.literal.yaml", - "punctuation.definition.block.sequence.item.yaml", - "punctuation.separator.key-value.mapping.yaml", - "support.other.chomping-indicator.yaml" - ], - "settings": { - "foreground": "#F92672" - } - }, - { - "name": "YAML keys", - "scope": [ - "entity.name.tag.yaml" - ], - "settings": { - "foreground": "#66D9EF" - } - }, - { - "name": "YAML aliases", - "scope": [ - "variable.other.alias.yaml" - ], - "settings": { - "fontStyle": "underline", - "foreground": "#A6E22E" - } - } - ] -} diff --git a/vscodium/extensions/icrawl.discord-vscode-5.8.0/.vsixmanifest b/vscodium/extensions/leonardssh.vscord-4.5.0/.vsixmanifest similarity index 73% rename from vscodium/extensions/icrawl.discord-vscode-5.8.0/.vsixmanifest rename to vscodium/extensions/leonardssh.vscord-4.5.0/.vsixmanifest index bcd9226d..1a5182a0 100644 --- a/vscodium/extensions/icrawl.discord-vscode-5.8.0/.vsixmanifest +++ b/vscodium/extensions/leonardssh.vscord-4.5.0/.vsixmanifest @@ -1,26 +1,26 @@ - - Discord Presence - Update your discord status with a rich presence. - discord,vscode,rich,presence,rich presence,rpc - Other + + Discord Rich Presence + Fully customizable VS Code extension to get Discord Rich Presence integration + discord,vscode,rich,presence,rich presence,rpc,game status + Visualization,Other Public - + - - - - - - + + + + + + diff --git a/vscodium/extensions/icrawl.discord-vscode-5.8.0/LICENSE.txt b/vscodium/extensions/leonardssh.vscord-4.5.0/LICENSE.txt similarity index 91% rename from vscodium/extensions/icrawl.discord-vscode-5.8.0/LICENSE.txt rename to vscodium/extensions/leonardssh.vscord-4.5.0/LICENSE.txt index d6315577..c4fb262c 100644 --- a/vscodium/extensions/icrawl.discord-vscode-5.8.0/LICENSE.txt +++ b/vscodium/extensions/leonardssh.vscord-4.5.0/LICENSE.txt @@ -1,7 +1,8 @@ MIT License -Copyright (c) 2017-2022 iCrawl -Copyright (c) 2017-2019 Khinenw +Copyright (c) 2020-2021 iCrawl +Copyright (c) 2020-2021 Satoqz +Copyright (c) 2020-2021 Narcis B. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/vscodium/extensions/leonardssh.vscord-4.5.0/README.md b/vscodium/extensions/leonardssh.vscord-4.5.0/README.md new file mode 100644 index 00000000..8757348c --- /dev/null +++ b/vscodium/extensions/leonardssh.vscord-4.5.0/README.md @@ -0,0 +1,122 @@ +

+ + VSCord Logo + +

+ +
+ +

+

+ + Visual Studio Marketplace Version + + + Visual Studio Marketplace Downloads + + + Visual Studio Marketplace Installs + + + Visual Studio Marketplace Rating + + + CD - Visual Studio Marketplace + +

+

+ + Open VSX Version + + + Open VSX Downloads + + + Open VSX Rating + + + CD - Open VSX Registry + +

+

+ + + +

+

+ +
+ +# Discord Rich Presence + +Remember to 🌟 this GitHub if you 💖 it. + +> Fully customizable VS Code extension to get Discord Rich Presence integration + +## 📌 Features + +- Switch between 2 IDE names (`Code` and `Visual Studio Code`) [(preview)](https://streamable.com/apjd4g) +- Highly customizable in using the extension settings +- Shows what you're working on in Visual Studio Code +- Shows the amount of problems in your workspace +- Shows the number of lines in your file and which line you're editing +- Shows the git repository and branch you are working on +- Respects Discords 15sec limit when it comes to updating your status +- Support for over 130+ of the most popular languages +- Enable/Disable RPC for individual workspaces +- Custom string support +- Stable or Insiders build detection +- Debug mode detection +- Easily manually reconnect to Discord Gateway +- Idle indication when you tab out for a while +- Button that sends you to the GitHub repository + +> All texts are fully customizable using variables and a multitude of config options + + + +![1](https://i.imgur.com/LaB4TqM.png) +![2](https://i.imgur.com/yTFIFiK.png) +![3](https://i.imgur.com/5OOkKUW.png) + +## 📥 Installation + +### Prerequisites + +**[Visual Studio Code](https://code.visualstudio.com/)** or **[Visual Studio Code Insiders](https://code.visualstudio.com/insiders/)** + +### Install + +Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter. + +``` +ext install LeonardSSH.vscord +``` + +**OR** + +Use the **[Extension Marketplace](https://code.visualstudio.com/docs/editor/extension-gallery)** + +![a4](https://i.imgur.com/qMzox38.gif) + +## 👨‍💻 Contributing + +To contribute to this repository, feel free to create a new fork of the repository and submit a pull request. + +1. Fork / Clone and select the `main` branch. +2. Create a new branch in your fork. +3. Make your changes. +4. Commit your changes, and push them. +5. Submit a Pull Request [here](https://github.com/LeonardSSH/vscord/pulls)! + +## 🎉 Thanks + +- [discordjs](https://github.com/discordjs/) - Creator of Discord RPC Client +- [iCrawl](https://github.com/iCrawl) - Creator of [discord-vscode](https://github.com/iCrawl/discord-vscode) +- [Satoqz](https://github.com/Satoqz) - Creator of [vscode-discord](https://github.com/Satoqz/vscode-discord/) + +_Much of the code in this repository is based on [iCrawl/discord-vscode](https://github.com/iCrawl/discord-vscode) & [Satoqz/vscode-discord](https://github.com/Satoqz/vscode-discord). This extension would not exist without them._ + +## 📋 License + +This project is licensed under the MIT License - see the [LICENSE](https://github.com/LeonardSSH/vscord/blob/HEAD/LICENSE) file for details. diff --git a/vscodium/extensions/leonardssh.vscord-4.5.0/assets/icon.png b/vscodium/extensions/leonardssh.vscord-4.5.0/assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..09b5ccd778b100a0dce9c7e464e26f424152b355 GIT binary patch literal 149381 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%0AS1uSk5|`C@ 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 __webpack_modules__={289:(module,exports,__webpack_require__)=>{var fs=__webpack_require__(7147),path=__webpack_require__(1017),fileURLToPath=__webpack_require__(2843),join=path.join,dirname=path.dirname,exists=fs.accessSync&&function(path){try{fs.accessSync(path)}catch(e){return!1}return!0}||fs.existsSync||path.existsSync,defaults={arrow:process.env.NODE_BINDINGS_ARROW||" → ",compiled:process.env.NODE_BINDINGS_COMPILED_DIR||"compiled",platform:process.platform,arch:process.arch,nodePreGyp:"node-v"+process.versions.modules+"-"+process.platform+"-"+process.arch,version:process.versions.node,bindings:"bindings.node",try:[["module_root","build","bindings"],["module_root","build","Debug","bindings"],["module_root","build","Release","bindings"],["module_root","out","Debug","bindings"],["module_root","Debug","bindings"],["module_root","out","Release","bindings"],["module_root","Release","bindings"],["module_root","build","default","bindings"],["module_root","compiled","version","platform","arch","bindings"],["module_root","addon-build","release","install-root","bindings"],["module_root","addon-build","debug","install-root","bindings"],["module_root","addon-build","default","install-root","bindings"],["module_root","lib","binding","nodePreGyp","bindings"]]};module.exports=exports=function bindings(opts){"string"==typeof opts?opts={bindings:opts}:opts||(opts={}),Object.keys(defaults).map((function(i){i in opts||(opts[i]=defaults[i])})),opts.module_root||(opts.module_root=exports.getRoot(exports.getFileName())),".node"!=path.extname(opts.bindings)&&(opts.bindings+=".node");for(var n,b,err,requireFunc=require,tries=[],i=0,l=opts.try.length;i{"use strict";module.exports={mask:(source,mask,output,offset,length)=>{for(var i=0;i{const length=buffer.length;for(var i=0;i{"use strict";try{module.exports=__webpack_require__(9516)(__dirname)}catch(e){module.exports=__webpack_require__(9376)}},4020:module=>{"use strict";var singleMatcher=new RegExp("%[a-f0-9]{2}","gi"),multiMatcher=new RegExp("(%[a-f0-9]{2})+","gi");function decodeComponents(components,split){try{return decodeURIComponent(components.join(""))}catch(err){}if(1===components.length)return components;split=split||1;var left=components.slice(0,split),right=components.slice(split);return Array.prototype.concat.call([],decodeComponents(left),decodeComponents(right))}function decode(input){try{return decodeURIComponent(input)}catch(err){for(var tokens=input.match(singleMatcher),i=1;i{"use strict";const EventEmitter=__webpack_require__(2361),{setTimeout,clearTimeout}=__webpack_require__(9512),fetch=__webpack_require__(6292),transports=__webpack_require__(1417),{RPCCommands,RPCEvents,RelationshipTypes}=__webpack_require__(1875),{pid:getPid,uuid}=__webpack_require__(6727);module.exports=class RPCClient extends EventEmitter{constructor(options={}){super(),this.options=options,this.accessToken=null,this.clientId=null,this.application=null,this.user=null;const Transport=transports[options.transport];if(!Transport)throw new TypeError("RPC_INVALID_TRANSPORT",options.transport);this.fetch=(method,path,{data,query}={})=>fetch(`${this.fetch.endpoint}${path}${query?new URLSearchParams(query):""}`,{method,body:data,headers:{Authorization:`Bearer ${this.accessToken}`}}).then((async r=>{const body=await r.json();if(!r.ok){const e=new Error(r.status);throw e.body=body,e}return body})),this.fetch.endpoint="https://discord.com/api",this.transport=new Transport(this),this.transport.on("message",this._onRpcMessage.bind(this)),this._expecting=new Map,this._connectPromise=void 0}connect(clientId){return this._connectPromise||(this._connectPromise=new Promise(((resolve,reject)=>{this.clientId=clientId;const timeout=setTimeout((()=>reject(new Error("RPC_CONNECTION_TIMEOUT"))),1e4);timeout.unref(),this.once("connected",(()=>{clearTimeout(timeout),resolve(this)})),this.transport.once("close",(()=>{this._expecting.forEach((e=>{e.reject(new Error("connection closed"))})),this.emit("disconnected"),reject(new Error("connection closed"))})),this.transport.connect().catch(reject)}))),this._connectPromise}async login(options={}){let{clientId,accessToken}=options;return await this.connect(clientId),options.scopes?(accessToken||(accessToken=await this.authorize(options)),this.authenticate(accessToken)):(this.emit("ready"),this)}request(cmd,args,evt){return new Promise(((resolve,reject)=>{const nonce=uuid();this.transport.send({cmd,args,evt,nonce}),this._expecting.set(nonce,{resolve,reject})}))}_onRpcMessage(message){if(message.cmd===RPCCommands.DISPATCH&&message.evt===RPCEvents.READY)message.data.user&&(this.user=message.data.user),this.emit("connected");else if(this._expecting.has(message.nonce)){const{resolve,reject}=this._expecting.get(message.nonce);if("ERROR"===message.evt){const e=new Error(message.data.message);e.code=message.data.code,e.data=message.data,reject(e)}else resolve(message.data);this._expecting.delete(message.nonce)}else this.emit(message.evt,message.data)}async authorize({scopes,clientSecret,rpcToken,redirectUri,prompt}={}){if(clientSecret&&!0===rpcToken){rpcToken=(await this.fetch("POST","/oauth2/token/rpc",{data:new URLSearchParams({client_id:this.clientId,client_secret:clientSecret})})).rpc_token}const{code}=await this.request("AUTHORIZE",{scopes,client_id:this.clientId,prompt,rpc_token:rpcToken});return(await this.fetch("POST","/oauth2/token",{data:new URLSearchParams({client_id:this.clientId,client_secret:clientSecret,code,grant_type:"authorization_code",redirect_uri:redirectUri})})).access_token}authenticate(accessToken){return this.request("AUTHENTICATE",{access_token:accessToken}).then((({application,user})=>(this.accessToken=accessToken,this.application=application,this.user=user,this.emit("ready"),this)))}getGuild(id,timeout){return this.request(RPCCommands.GET_GUILD,{guild_id:id,timeout})}getGuilds(timeout){return this.request(RPCCommands.GET_GUILDS,{timeout})}getChannel(id,timeout){return this.request(RPCCommands.GET_CHANNEL,{channel_id:id,timeout})}async getChannels(id,timeout){const{channels}=await this.request(RPCCommands.GET_CHANNELS,{timeout,guild_id:id});return channels}setCertifiedDevices(devices){return this.request(RPCCommands.SET_CERTIFIED_DEVICES,{devices:devices.map((d=>({type:d.type,id:d.uuid,vendor:d.vendor,model:d.model,related:d.related,echo_cancellation:d.echoCancellation,noise_suppression:d.noiseSuppression,automatic_gain_control:d.automaticGainControl,hardware_mute:d.hardwareMute})))})}setUserVoiceSettings(id,settings){return this.request(RPCCommands.SET_USER_VOICE_SETTINGS,{user_id:id,pan:settings.pan,mute:settings.mute,volume:settings.volume})}selectVoiceChannel(id,{timeout,force=!1}={}){return this.request(RPCCommands.SELECT_VOICE_CHANNEL,{channel_id:id,timeout,force})}selectTextChannel(id,{timeout}={}){return this.request(RPCCommands.SELECT_TEXT_CHANNEL,{channel_id:id,timeout})}getVoiceSettings(){return this.request(RPCCommands.GET_VOICE_SETTINGS).then((s=>({automaticGainControl:s.automatic_gain_control,echoCancellation:s.echo_cancellation,noiseSuppression:s.noise_suppression,qos:s.qos,silenceWarning:s.silence_warning,deaf:s.deaf,mute:s.mute,input:{availableDevices:s.input.available_devices,device:s.input.device_id,volume:s.input.volume},output:{availableDevices:s.output.available_devices,device:s.output.device_id,volume:s.output.volume},mode:{type:s.mode.type,autoThreshold:s.mode.auto_threshold,threshold:s.mode.threshold,shortcut:s.mode.shortcut,delay:s.mode.delay}})))}setVoiceSettings(args){return this.request(RPCCommands.SET_VOICE_SETTINGS,{automatic_gain_control:args.automaticGainControl,echo_cancellation:args.echoCancellation,noise_suppression:args.noiseSuppression,qos:args.qos,silence_warning:args.silenceWarning,deaf:args.deaf,mute:args.mute,input:args.input?{device_id:args.input.device,volume:args.input.volume}:void 0,output:args.output?{device_id:args.output.device,volume:args.output.volume}:void 0,mode:args.mode?{type:args.mode.type,auto_threshold:args.mode.autoThreshold,threshold:args.mode.threshold,shortcut:args.mode.shortcut,delay:args.mode.delay}:void 0})}captureShortcut(callback){const subid=function subKey(event,args){return`${event}${JSON.stringify(args)}`}(RPCEvents.CAPTURE_SHORTCUT_CHANGE),stop=()=>(this._subscriptions.delete(subid),this.request(RPCCommands.CAPTURE_SHORTCUT,{action:"STOP"}));return this._subscriptions.set(subid,(({shortcut})=>{callback(shortcut,stop)})),this.request(RPCCommands.CAPTURE_SHORTCUT,{action:"START"}).then((()=>stop))}setActivity(args={},pid=getPid()){let timestamps,assets,party,secrets;if(args.startTimestamp||args.endTimestamp){if(timestamps={start:args.startTimestamp,end:args.endTimestamp},timestamps.start instanceof Date&&(timestamps.start=Math.round(timestamps.start.getTime())),timestamps.end instanceof Date&&(timestamps.end=Math.round(timestamps.end.getTime())),timestamps.start>2147483647e3)throw new RangeError("timestamps.start must fit into a unix timestamp");if(timestamps.end>2147483647e3)throw new RangeError("timestamps.end must fit into a unix timestamp")}return(args.largeImageKey||args.largeImageText||args.smallImageKey||args.smallImageText)&&(assets={large_image:args.largeImageKey,large_text:args.largeImageText,small_image:args.smallImageKey,small_text:args.smallImageText}),(args.partySize||args.partyId||args.partyMax)&&(party={id:args.partyId},(args.partySize||args.partyMax)&&(party.size=[args.partySize,args.partyMax])),(args.matchSecret||args.joinSecret||args.spectateSecret)&&(secrets={match:args.matchSecret,join:args.joinSecret,spectate:args.spectateSecret}),this.request(RPCCommands.SET_ACTIVITY,{pid,activity:{state:args.state,details:args.details,timestamps,assets,party,secrets,buttons:args.buttons,instance:!!args.instance}})}clearActivity(pid=getPid()){return this.request(RPCCommands.SET_ACTIVITY,{pid})}sendJoinInvite(user){return this.request(RPCCommands.SEND_ACTIVITY_JOIN_INVITE,{user_id:user.id||user})}sendJoinRequest(user){return this.request(RPCCommands.SEND_ACTIVITY_JOIN_REQUEST,{user_id:user.id||user})}closeJoinRequest(user){return this.request(RPCCommands.CLOSE_ACTIVITY_JOIN_REQUEST,{user_id:user.id||user})}createLobby(type,capacity,metadata){return this.request(RPCCommands.CREATE_LOBBY,{type,capacity,metadata})}updateLobby(lobby,{type,owner,capacity,metadata}={}){return this.request(RPCCommands.UPDATE_LOBBY,{id:lobby.id||lobby,type,owner_id:owner&&owner.id||owner,capacity,metadata})}deleteLobby(lobby){return this.request(RPCCommands.DELETE_LOBBY,{id:lobby.id||lobby})}connectToLobby(id,secret){return this.request(RPCCommands.CONNECT_TO_LOBBY,{id,secret})}sendToLobby(lobby,data){return this.request(RPCCommands.SEND_TO_LOBBY,{id:lobby.id||lobby,data})}disconnectFromLobby(lobby){return this.request(RPCCommands.DISCONNECT_FROM_LOBBY,{id:lobby.id||lobby})}updateLobbyMember(lobby,user,metadata){return this.request(RPCCommands.UPDATE_LOBBY_MEMBER,{lobby_id:lobby.id||lobby,user_id:user.id||user,metadata})}getRelationships(){const types=Object.keys(RelationshipTypes);return this.request(RPCCommands.GET_RELATIONSHIPS).then((o=>o.relationships.map((r=>({...r,type:types[r.type]})))))}async subscribe(event,args){return await this.request(RPCCommands.SUBSCRIBE,args,event),{unsubscribe:()=>this.request(RPCCommands.UNSUBSCRIBE,args,event)}}async destroy(){await this.transport.close()}}},1875:(__unused_webpack_module,exports)=>{"use strict";function keyMirror(arr){const tmp={};for(const value of arr)tmp[value]=value;return tmp}exports.browser="undefined"!=typeof window,exports.RPCCommands=keyMirror(["DISPATCH","AUTHORIZE","AUTHENTICATE","GET_GUILD","GET_GUILDS","GET_CHANNEL","GET_CHANNELS","CREATE_CHANNEL_INVITE","GET_RELATIONSHIPS","GET_USER","SUBSCRIBE","UNSUBSCRIBE","SET_USER_VOICE_SETTINGS","SET_USER_VOICE_SETTINGS_2","SELECT_VOICE_CHANNEL","GET_SELECTED_VOICE_CHANNEL","SELECT_TEXT_CHANNEL","GET_VOICE_SETTINGS","SET_VOICE_SETTINGS_2","SET_VOICE_SETTINGS","CAPTURE_SHORTCUT","SET_ACTIVITY","SEND_ACTIVITY_JOIN_INVITE","CLOSE_ACTIVITY_JOIN_REQUEST","ACTIVITY_INVITE_USER","ACCEPT_ACTIVITY_INVITE","INVITE_BROWSER","DEEP_LINK","CONNECTIONS_CALLBACK","BRAINTREE_POPUP_BRIDGE_CALLBACK","GIFT_CODE_BROWSER","GUILD_TEMPLATE_BROWSER","OVERLAY","BROWSER_HANDOFF","SET_CERTIFIED_DEVICES","GET_IMAGE","CREATE_LOBBY","UPDATE_LOBBY","DELETE_LOBBY","UPDATE_LOBBY_MEMBER","CONNECT_TO_LOBBY","DISCONNECT_FROM_LOBBY","SEND_TO_LOBBY","SEARCH_LOBBIES","CONNECT_TO_LOBBY_VOICE","DISCONNECT_FROM_LOBBY_VOICE","SET_OVERLAY_LOCKED","OPEN_OVERLAY_ACTIVITY_INVITE","OPEN_OVERLAY_GUILD_INVITE","OPEN_OVERLAY_VOICE_SETTINGS","VALIDATE_APPLICATION","GET_ENTITLEMENT_TICKET","GET_APPLICATION_TICKET","START_PURCHASE","GET_SKUS","GET_ENTITLEMENTS","GET_NETWORKING_CONFIG","NETWORKING_SYSTEM_METRICS","NETWORKING_PEER_METRICS","NETWORKING_CREATE_TOKEN","SET_USER_ACHIEVEMENT","GET_USER_ACHIEVEMENTS"]),exports.RPCEvents=keyMirror(["CURRENT_USER_UPDATE","GUILD_STATUS","GUILD_CREATE","CHANNEL_CREATE","RELATIONSHIP_UPDATE","VOICE_CHANNEL_SELECT","VOICE_STATE_CREATE","VOICE_STATE_DELETE","VOICE_STATE_UPDATE","VOICE_SETTINGS_UPDATE","VOICE_SETTINGS_UPDATE_2","VOICE_CONNECTION_STATUS","SPEAKING_START","SPEAKING_STOP","GAME_JOIN","GAME_SPECTATE","ACTIVITY_JOIN","ACTIVITY_JOIN_REQUEST","ACTIVITY_SPECTATE","ACTIVITY_INVITE","NOTIFICATION_CREATE","MESSAGE_CREATE","MESSAGE_UPDATE","MESSAGE_DELETE","LOBBY_DELETE","LOBBY_UPDATE","LOBBY_MEMBER_CONNECT","LOBBY_MEMBER_DISCONNECT","LOBBY_MEMBER_UPDATE","LOBBY_MESSAGE","CAPTURE_SHORTCUT_CHANGE","OVERLAY","OVERLAY_UPDATE","ENTITLEMENT_CREATE","ENTITLEMENT_DELETE","USER_ACHIEVEMENT_UPDATE","READY","ERROR"]),exports.RPCErrors={CAPTURE_SHORTCUT_ALREADY_LISTENING:5004,GET_GUILD_TIMED_OUT:5002,INVALID_ACTIVITY_JOIN_REQUEST:4012,INVALID_ACTIVITY_SECRET:5005,INVALID_CHANNEL:4005,INVALID_CLIENTID:4007,INVALID_COMMAND:4002,INVALID_ENTITLEMENT:4015,INVALID_EVENT:4004,INVALID_GIFT_CODE:4016,INVALID_GUILD:4003,INVALID_INVITE:4011,INVALID_LOBBY:4013,INVALID_LOBBY_SECRET:4014,INVALID_ORIGIN:4008,INVALID_PAYLOAD:4e3,INVALID_PERMISSIONS:4006,INVALID_TOKEN:4009,INVALID_USER:4010,LOBBY_FULL:5007,NO_ELIGIBLE_ACTIVITY:5006,OAUTH2_ERROR:5e3,PURCHASE_CANCELED:5008,PURCHASE_ERROR:5009,RATE_LIMITED:5011,SELECT_CHANNEL_TIMED_OUT:5001,SELECT_VOICE_FORCE_REQUIRED:5003,SERVICE_UNAVAILABLE:1001,TRANSACTION_ABORTED:1002,UNAUTHORIZED_FOR_ACHIEVEMENT:5010,UNKNOWN_ERROR:1e3},exports.RPCCloseCodes={CLOSE_NORMAL:1e3,CLOSE_UNSUPPORTED:1003,CLOSE_ABNORMAL:1006,INVALID_CLIENTID:4e3,INVALID_ORIGIN:4001,RATELIMITED:4002,TOKEN_REVOKED:4003,INVALID_VERSION:4004,INVALID_ENCODING:4005},exports.LobbyTypes={PRIVATE:1,PUBLIC:2},exports.RelationshipTypes={NONE:0,FRIEND:1,BLOCKED:2,PENDING_INCOMING:3,PENDING_OUTGOING:4,IMPLICIT:5}},6277:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const util=__webpack_require__(6727);module.exports={Client:__webpack_require__(3457),register:id=>util.register(`discord-${id}`)}},1417:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";module.exports={ipc:__webpack_require__(7110),websocket:__webpack_require__(1572)}},7110:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const net=__webpack_require__(1808),EventEmitter=__webpack_require__(2361),fetch=__webpack_require__(6292),{uuid}=__webpack_require__(6727),OPCodes_HANDSHAKE=0,OPCodes_FRAME=1,OPCodes_CLOSE=2,OPCodes_PING=3,OPCodes_PONG=4;function getIPC(id=0){return new Promise(((resolve,reject)=>{const path=function getIPCPath(id){if("win32"===process.platform)return`\\\\?\\pipe\\discord-ipc-${id}`;const{env:{XDG_RUNTIME_DIR,TMPDIR,TMP,TEMP}}=process;return`${(XDG_RUNTIME_DIR||TMPDIR||TMP||TEMP||"/tmp").replace(/\/$/,"")}/discord-ipc-${id}`}(id),onerror=()=>{id<10?resolve(getIPC(id+1)):reject(new Error("Could not connect"))},sock=net.createConnection(path,(()=>{sock.removeListener("error",onerror),resolve(sock)}));sock.once("error",onerror)}))}async function findEndpoint(tries=0){if(tries>30)throw new Error("Could not find endpoint");const endpoint="http://127.0.0.1:"+(6463+tries%10);try{return 404===(await fetch(endpoint)).status?endpoint:findEndpoint(tries+1)}catch(e){return findEndpoint(tries+1)}}function encode(op,data){data=JSON.stringify(data);const len=Buffer.byteLength(data),packet=Buffer.alloc(8+len);return packet.writeInt32LE(op,0),packet.writeInt32LE(len,4),packet.write(data,8,len),packet}const working={full:"",op:void 0};function decode(socket,callback){const packet=socket.read();if(!packet)return;let raw,{op}=working;if(""===working.full){op=working.op=packet.readInt32LE(0);const len=packet.readInt32LE(4);raw=packet.slice(8,len+8)}else raw=packet.toString();try{callback({op,data:JSON.parse(working.full+raw)}),working.full="",working.op=void 0}catch(err){working.full+=raw}decode(socket,callback)}module.exports=class IPCTransport extends EventEmitter{constructor(client){super(),this.client=client,this.socket=null}async connect(){const socket=this.socket=await getIPC();socket.on("close",this.onClose.bind(this)),socket.on("error",this.onClose.bind(this)),this.emit("open"),socket.write(encode(OPCodes_HANDSHAKE,{v:1,client_id:this.client.clientId})),socket.pause(),socket.on("readable",(()=>{decode(socket,(({op,data})=>{switch(op){case OPCodes_PING:this.send(data,OPCodes_PONG);break;case OPCodes_FRAME:if(!data)return;"AUTHORIZE"===data.cmd&&"ERROR"!==data.evt&&findEndpoint().then((endpoint=>{this.client.request.endpoint=endpoint})).catch((e=>{this.client.emit("error",e)})),this.emit("message",data);break;case OPCodes_CLOSE:this.emit("close",data)}}))}))}onClose(e){this.emit("close",e)}send(data,op=OPCodes_FRAME){this.socket.write(encode(op,data))}async close(){return new Promise((r=>{this.once("close",r),this.send({},OPCodes_CLOSE),this.socket.end()}))}ping(){this.send(uuid(),OPCodes_PING)}},module.exports.encode=encode,module.exports.decode=decode},1572:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const EventEmitter=__webpack_require__(2361),{browser}=__webpack_require__(1875),WebSocket=browser?window.WebSocket:__webpack_require__(8777);module.exports=class WebSocketTransport extends EventEmitter{constructor(client){super(),this.client=client,this.ws=null,this.tries=0}async connect(){const port=6463+this.tries%10;this.tries+=1,this.ws=new WebSocket(`ws://127.0.0.1:${port}/?v=1&client_id=${this.client.clientId}`,browser?void 0:{origin:this.client.options.origin}),this.ws.onopen=this.onOpen.bind(this),this.ws.onclose=this.onClose.bind(this),this.ws.onerror=this.onError.bind(this),this.ws.onmessage=this.onMessage.bind(this)}onOpen(){this.emit("open")}onClose(event){event.wasClean&&this.emit("close",event)}onError(event){try{this.ws.close()}catch{}this.tries>20?this.emit("error",event.error):setTimeout((()=>{this.connect()}),250)}onMessage(event){var s;this.emit("message",(s=event.data,JSON.parse(s)))}send(data){var d;this.ws.send((d=data,JSON.stringify(d)))}ping(){}close(){return new Promise((r=>{this.once("close",r),this.ws.close()}))}}},6727:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";let register;try{const{app}=__webpack_require__(2163);register=app.setAsDefaultProtocolClient.bind(app)}catch(err){try{register=__webpack_require__(4658)}catch(e){}}"function"!=typeof register&&(register=()=>!1);module.exports={pid:function pid(){return"undefined"!=typeof process?process.pid:null},register,uuid:()=>{let uuid="";for(let i=0;i<32;i+=1){let n;if(8!==i&&12!==i&&16!==i&&20!==i||(uuid+="-"),12===i)n=4;else{const random=16*Math.random()|0;n=16===i?3&random|0:random}uuid+=n.toString(16)}return uuid}}},2163:(module,__unused_webpack_exports,__webpack_require__)=>{const fs=__webpack_require__(7147),path=__webpack_require__(1017),pathFile=path.join(__dirname,"path.txt");module.exports=function getElectronPath(){let executablePath;if(fs.existsSync(pathFile)&&(executablePath=fs.readFileSync(pathFile,"utf-8")),process.env.ELECTRON_OVERRIDE_DIST_PATH)return path.join(process.env.ELECTRON_OVERRIDE_DIST_PATH,executablePath||"electron");if(executablePath)return path.join(__dirname,"dist",executablePath);throw new Error("Electron failed to install correctly, please delete node_modules/electron and try installing again")}()},2843:(module,__unused_webpack_exports,__webpack_require__)=>{var sep=__webpack_require__(1017).sep||"/";module.exports=function fileUriToPath(uri){if("string"!=typeof uri||uri.length<=7||"file://"!=uri.substring(0,7))throw new TypeError("must pass in a file:// URI to convert to a file path");var rest=decodeURI(uri.substring(7)),firstSlash=rest.indexOf("/"),host=rest.substring(0,firstSlash),path=rest.substring(firstSlash+1);"localhost"==host&&(host="");host&&(host=sep+sep+host);path=path.replace(/^(.+)\|/,"$1:"),"\\"==sep&&(path=path.replace(/\//g,"\\"));/^.+\:/.test(path)||(path=sep+path);return host+path}},2806:module=>{"use strict";module.exports=function(obj,predicate){for(var ret={},keys=Object.keys(obj),isArr=Array.isArray(predicate),i=0;i{"use strict";var parseUrl=__webpack_require__(4305),isSsh=__webpack_require__(9073);module.exports=function gitUp(input){var output=parseUrl(input);output.token="";var splits=output.user.split(":");return 2===splits.length&&("x-oauth-basic"===splits[1]?output.token=splits[0]:"x-token-auth"===splits[0]&&(output.token=splits[1])),isSsh(output.protocols)||isSsh(input)?output.protocol="ssh":output.protocols.length?output.protocol=output.protocols[0]:output.protocol="file",output.href=output.href.replace(/\/$/,""),output}},3458:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var gitUp=__webpack_require__(9266);function gitUrlParse(url){if("string"!=typeof url)throw new Error("The url must be a string.");var urlInfo=gitUp(url),sourceParts=urlInfo.resource.split("."),splits=null;switch(urlInfo.toString=function(type){return gitUrlParse.stringify(this,type)},urlInfo.source=sourceParts.length>2?sourceParts.slice(1-sourceParts.length).join("."):urlInfo.source=urlInfo.resource,urlInfo.git_suffix=/\.git$/.test(urlInfo.pathname),urlInfo.name=decodeURIComponent(urlInfo.pathname.replace(/^\//,"").replace(/\.git$/,"")),urlInfo.owner=decodeURIComponent(urlInfo.user),urlInfo.source){case"git.cloudforge.com":urlInfo.owner=urlInfo.user,urlInfo.organization=sourceParts[0],urlInfo.source="cloudforge.com";break;case"visualstudio.com":if("vs-ssh.visualstudio.com"===urlInfo.resource){4===(splits=urlInfo.name.split("/")).length&&(urlInfo.organization=splits[1],urlInfo.owner=splits[2],urlInfo.name=splits[3],urlInfo.full_name=splits[2]+"/"+splits[3]);break}2===(splits=urlInfo.name.split("/")).length?(urlInfo.owner=splits[1],urlInfo.name=splits[1],urlInfo.full_name="_git/"+urlInfo.name):3===splits.length?(urlInfo.name=splits[2],"DefaultCollection"===splits[0]?(urlInfo.owner=splits[2],urlInfo.organization=splits[0],urlInfo.full_name=urlInfo.organization+"/_git/"+urlInfo.name):(urlInfo.owner=splits[0],urlInfo.full_name=urlInfo.owner+"/_git/"+urlInfo.name)):4===splits.length&&(urlInfo.organization=splits[0],urlInfo.owner=splits[1],urlInfo.name=splits[3],urlInfo.full_name=urlInfo.organization+"/"+urlInfo.owner+"/_git/"+urlInfo.name);break;case"dev.azure.com":case"azure.com":if("ssh.dev.azure.com"===urlInfo.resource){4===(splits=urlInfo.name.split("/")).length&&(urlInfo.organization=splits[1],urlInfo.owner=splits[2],urlInfo.name=splits[3]);break}5===(splits=urlInfo.name.split("/")).length?(urlInfo.organization=splits[0],urlInfo.owner=splits[1],urlInfo.name=splits[4],urlInfo.full_name="_git/"+urlInfo.name):3===splits.length?(urlInfo.name=splits[2],"DefaultCollection"===splits[0]?(urlInfo.owner=splits[2],urlInfo.organization=splits[0],urlInfo.full_name=urlInfo.organization+"/_git/"+urlInfo.name):(urlInfo.owner=splits[0],urlInfo.full_name=urlInfo.owner+"/_git/"+urlInfo.name)):4===splits.length&&(urlInfo.organization=splits[0],urlInfo.owner=splits[1],urlInfo.name=splits[3],urlInfo.full_name=urlInfo.organization+"/"+urlInfo.owner+"/_git/"+urlInfo.name),urlInfo.query&&urlInfo.query.path&&(urlInfo.filepath=urlInfo.query.path.replace(/^\/+/g,"")),urlInfo.query&&urlInfo.query.version&&(urlInfo.ref=urlInfo.query.version.replace(/^GB/,""));break;default:var nameIndex=(splits=urlInfo.name.split("/")).length-1;if(splits.length>=2){var dashIndex=splits.indexOf("-",2),blobIndex=splits.indexOf("blob",2),treeIndex=splits.indexOf("tree",2),commitIndex=splits.indexOf("commit",2),srcIndex=splits.indexOf("src",2),rawIndex=splits.indexOf("raw",2);nameIndex=dashIndex>0?dashIndex-1:blobIndex>0?blobIndex-1:treeIndex>0?treeIndex-1:commitIndex>0?commitIndex-1:srcIndex>0?srcIndex-1:rawIndex>0?rawIndex-1:nameIndex,urlInfo.owner=splits.slice(0,nameIndex).join("/"),urlInfo.name=splits[nameIndex],commitIndex&&(urlInfo.commit=splits[nameIndex+2])}urlInfo.ref="",urlInfo.filepathtype="",urlInfo.filepath="";var offsetNameIndex=splits.length>nameIndex&&"-"===splits[nameIndex+1]?nameIndex+1:nameIndex;splits.length>offsetNameIndex+2&&["raw","src","blob","tree"].indexOf(splits[offsetNameIndex+1])>=0&&(urlInfo.filepathtype=splits[offsetNameIndex+1],urlInfo.ref=splits[offsetNameIndex+2],splits.length>offsetNameIndex+3&&(urlInfo.filepath=splits.slice(offsetNameIndex+3).join("/"))),urlInfo.organization=urlInfo.owner}urlInfo.full_name||(urlInfo.full_name=urlInfo.owner,urlInfo.name&&(urlInfo.full_name&&(urlInfo.full_name+="/"),urlInfo.full_name+=urlInfo.name)),urlInfo.owner.startsWith("scm/")&&(urlInfo.source="bitbucket-server",urlInfo.owner=urlInfo.owner.replace("scm/",""),urlInfo.organization=urlInfo.owner,urlInfo.full_name=urlInfo.owner+"/"+urlInfo.name);var matches=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/.exec(urlInfo.pathname);return null!=matches&&(urlInfo.source="bitbucket-server","users"===matches[1]?urlInfo.owner="~"+matches[2]:urlInfo.owner=matches[2],urlInfo.organization=urlInfo.owner,urlInfo.name=matches[3],(splits=matches[4].split("/")).length>1&&(["raw","browse"].indexOf(splits[1])>=0?(urlInfo.filepathtype=splits[1],splits.length>2&&(urlInfo.filepath=splits.slice(2).join("/"))):"commits"===splits[1]&&splits.length>2&&(urlInfo.commit=splits[2])),urlInfo.full_name=urlInfo.owner+"/"+urlInfo.name,urlInfo.query.at?urlInfo.ref=urlInfo.query.at:urlInfo.ref=""),urlInfo}gitUrlParse.stringify=function(obj,type){type=type||(obj.protocols&&obj.protocols.length?obj.protocols.join("+"):obj.protocol);var port=obj.port?":"+obj.port:"",user=obj.user||"git",maybeGitSuffix=obj.git_suffix?".git":"";switch(type){case"ssh":return port?"ssh://"+user+"@"+obj.resource+port+"/"+obj.full_name+maybeGitSuffix:user+"@"+obj.resource+":"+obj.full_name+maybeGitSuffix;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return type+"://"+user+"@"+obj.resource+port+"/"+obj.full_name+maybeGitSuffix;case"http":case"https":return type+"://"+(obj.token?function buildToken(obj){if("bitbucket.org"===obj.source)return"x-token-auth:"+obj.token+"@";return obj.token+"@"}(obj):obj.user&&(obj.protocols.includes("http")||obj.protocols.includes("https"))?obj.user+"@":"")+obj.resource+port+"/"+function buildPath(obj){if("bitbucket-server"===obj.source)return"scm/"+obj.full_name;return""+obj.full_name}(obj)+maybeGitSuffix;default:return obj.href}},module.exports=gitUrlParse},9073:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var protocols=__webpack_require__(2337);module.exports=function isSsh(input){if(Array.isArray(input))return-1!==input.indexOf("ssh")||-1!==input.indexOf("rsync");if("string"!=typeof input)return!1;var prots=protocols(input);if(input=input.substring(input.indexOf("://")+3),isSsh(prots))return!0;var urlPortPattern=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!input.match(urlPortPattern)&&input.indexOf("@"){var fs=__webpack_require__(7147),path=__webpack_require__(1017),os=__webpack_require__(2037),runtimeRequire=require,vars=process.config&&process.config.variables||{},prebuildsOnly=!!process.env.PREBUILDS_ONLY,abi=process.versions.modules,runtime=function isElectron(){return!(!process.versions||!process.versions.electron)||(!!process.env.ELECTRON_RUN_AS_NODE||"undefined"!=typeof window&&window.process&&"renderer"===window.process.type)}()?"electron":"node",arch=os.arch(),platform=os.platform(),libc=process.env.LIBC||(function isAlpine(platform){return"linux"===platform&&fs.existsSync("/etc/alpine-release")}(platform)?"musl":"glibc"),armv=process.env.ARM_VERSION||("arm64"===arch?"8":vars.arm_version)||"",uv=(process.versions.uv||"").split(".")[0];function load(dir){return runtimeRequire(load.path(dir))}function readdirSync(dir){try{return fs.readdirSync(dir)}catch(err){return[]}}function getFirst(dir,filter){var files=readdirSync(dir).filter(filter);return files[0]&&path.join(dir,files[0])}function matchBuild(name){return/\.node$/.test(name)}function parseTuple(name){var arr=name.split("-");if(2===arr.length){var platform=arr[0],architectures=arr[1].split("+");if(platform&&architectures.length&&architectures.every(Boolean))return{name,platform,architectures}}}function matchTuple(platform,arch){return function(tuple){return null!=tuple&&(tuple.platform===platform&&tuple.architectures.includes(arch))}}function compareTuples(a,b){return a.architectures.length-b.architectures.length}function parseTags(file){var arr=file.split("."),tags={file,specificity:0};if("node"===arr.pop()){for(var i=0;ib.specificity?-1:1:0}}module.exports=load,load.path=function(dir){dir=path.resolve(dir||".");try{var name=runtimeRequire(path.join(dir,"package.json")).name.toUpperCase().replace(/-/g,"_");process.env[name+"_PREBUILD"]&&(dir=process.env[name+"_PREBUILD"])}catch(err){}if(!prebuildsOnly){var release=getFirst(path.join(dir,"build/Release"),matchBuild);if(release)return release;var debug=getFirst(path.join(dir,"build/Debug"),matchBuild);if(debug)return debug}var prebuild=resolve(dir);if(prebuild)return prebuild;var nearby=resolve(path.dirname(process.execPath));if(nearby)return nearby;var target=["platform="+platform,"arch="+arch,"runtime="+runtime,"abi="+abi,"uv="+uv,armv?"armv="+armv:"","libc="+libc,"node="+process.versions.node,process.versions.electron?"electron="+process.versions.electron:"","webpack=true"].filter(Boolean).join(" ");throw new Error("No native build was found for "+target+"\n loaded from: "+dir+"\n");function resolve(dir){var tuple=readdirSync(path.join(dir,"prebuilds")).map(parseTuple).filter(matchTuple(platform,arch)).sort(compareTuples)[0];if(tuple){var prebuilds=path.join(dir,"prebuilds",tuple.name),winner=readdirSync(prebuilds).map(parseTags).filter(matchTags(runtime,abi)).sort(compareTags(runtime))[0];return winner?path.join(prebuilds,winner.file):void 0}}},load.parseTags=parseTags,load.matchTags=matchTags,load.compareTags=compareTags,load.parseTuple=parseTuple,load.matchTuple=matchTuple,load.compareTuples=compareTuples},15:module=>{"use strict";const testParameter=(name,filters)=>filters.some((filter=>filter instanceof RegExp?filter.test(name):filter===name));module.exports=(urlString,options)=>{if(options={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...options},urlString=urlString.trim(),/^data:/i.test(urlString))return((urlString,{stripHash})=>{const match=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(urlString);if(!match)throw new Error(`Invalid URL: ${urlString}`);let{type,data,hash}=match.groups;const mediaType=type.split(";");hash=stripHash?"":hash;let isBase64=!1;"base64"===mediaType[mediaType.length-1]&&(mediaType.pop(),isBase64=!0);const mimeType=(mediaType.shift()||"").toLowerCase(),normalizedMediaType=[...mediaType.map((attribute=>{let[key,value=""]=attribute.split("=").map((string=>string.trim()));return"charset"===key&&(value=value.toLowerCase(),"us-ascii"===value)?"":`${key}${value?`=${value}`:""}`})).filter(Boolean)];return isBase64&&normalizedMediaType.push("base64"),(0!==normalizedMediaType.length||mimeType&&"text/plain"!==mimeType)&&normalizedMediaType.unshift(mimeType),`data:${normalizedMediaType.join(";")},${isBase64?data.trim():data}${hash?`#${hash}`:""}`})(urlString,options);if(/^view-source:/i.test(urlString))throw new Error("`view-source:` is not supported as it is a non-standard protocol");const hasRelativeProtocol=urlString.startsWith("//");!hasRelativeProtocol&&/^\.*\//.test(urlString)||(urlString=urlString.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,options.defaultProtocol));const urlObj=new URL(urlString);if(options.forceHttp&&options.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(options.forceHttp&&"https:"===urlObj.protocol&&(urlObj.protocol="http:"),options.forceHttps&&"http:"===urlObj.protocol&&(urlObj.protocol="https:"),options.stripAuthentication&&(urlObj.username="",urlObj.password=""),options.stripHash?urlObj.hash="":options.stripTextFragment&&(urlObj.hash=urlObj.hash.replace(/#?:~:text.*?$/i,"")),urlObj.pathname&&(urlObj.pathname=urlObj.pathname.replace(/(?0){let pathComponents=urlObj.pathname.split("/");const lastComponent=pathComponents[pathComponents.length-1];testParameter(lastComponent,options.removeDirectoryIndex)&&(pathComponents=pathComponents.slice(0,pathComponents.length-1),urlObj.pathname=pathComponents.slice(1).join("/")+"/")}if(urlObj.hostname&&(urlObj.hostname=urlObj.hostname.replace(/\.$/,""),options.stripWWW&&/^www\.(?!www\.)(?:[a-z\-\d]{1,63})\.(?:[a-z.\-\d]{2,63})$/.test(urlObj.hostname)&&(urlObj.hostname=urlObj.hostname.replace(/^www\./,""))),Array.isArray(options.removeQueryParameters))for(const key of[...urlObj.searchParams.keys()])testParameter(key,options.removeQueryParameters)&&urlObj.searchParams.delete(key);!0===options.removeQueryParameters&&(urlObj.search=""),options.sortQueryParameters&&urlObj.searchParams.sort(),options.removeTrailingSlash&&(urlObj.pathname=urlObj.pathname.replace(/\/$/,""));const oldUrlString=urlString;return urlString=urlObj.toString(),options.removeSingleSlash||"/"!==urlObj.pathname||oldUrlString.endsWith("/")||""!==urlObj.hash||(urlString=urlString.replace(/\/$/,"")),(options.removeTrailingSlash||"/"===urlObj.pathname)&&""===urlObj.hash&&options.removeSingleSlash&&(urlString=urlString.replace(/\/$/,"")),hasRelativeProtocol&&!options.normalizeProtocol&&(urlString=urlString.replace(/^http:\/\//,"//")),options.stripProtocol&&(urlString=urlString.replace(/^(?:https?:)?\/\//,"")),urlString}},6008:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var protocols=__webpack_require__(2337),isSsh=__webpack_require__(9073),qs=__webpack_require__(7563);module.exports=function parsePath(url){url=(url||"").trim();var output={protocols:protocols(url),protocol:null,port:null,resource:"",user:"",pathname:"",hash:"",search:"",href:url,query:Object.create(null)},protocolIndex=url.indexOf("://"),splits=null,parts=null;url.startsWith(".")&&(url.startsWith("./")&&(url=url.substring(2)),output.pathname=url,output.protocol="file");var firstChar=url.charAt(1);return output.protocol||(output.protocol=output.protocols[0],output.protocol||(isSsh(url)?output.protocol="ssh":"/"===firstChar||"~"===firstChar?(url=url.substring(2),output.protocol="file"):output.protocol="file")),-1!==protocolIndex&&(url=url.substring(protocolIndex+3)),parts=url.split(/\/|\\/),"file"!==output.protocol?output.resource=parts.shift():output.resource="",2===(splits=output.resource.split("@")).length&&(output.user=splits[0],output.resource=splits[1]),2===(splits=output.resource.split(":")).length&&(output.resource=splits[0],splits[1]?(output.port=Number(splits[1]),isNaN(output.port)&&(output.port=null,parts.unshift(splits[1]))):output.port=null),parts=parts.filter(Boolean),"file"===output.protocol?output.pathname=output.href:output.pathname=output.pathname||("file"!==output.protocol||"/"===output.href[0]?"/":"")+parts.join("/"),2===(splits=output.pathname.split("#")).length&&(output.pathname=splits[0],output.hash=splits[1]),2===(splits=output.pathname.split("?")).length&&(output.pathname=splits[0],output.search=splits[1]),output.query=qs.parse(output.search),output.href=output.href.replace(/\/$/,""),output.pathname=output.pathname.replace(/\/$/,""),output}},4305:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},parsePath=__webpack_require__(6008),normalizeUrl=__webpack_require__(15);module.exports=function parseUrl(url){var normalize=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if("string"!=typeof url||!url.trim())throw new Error("Invalid url.");normalize&&("object"!==(void 0===normalize?"undefined":_typeof(normalize))&&(normalize={stripHash:!1}),url=normalizeUrl(url,normalize));var parsed=parsePath(url);return parsed}},2337:module=>{"use strict";module.exports=function protocols(input,first){!0===first&&(first=0);var index=input.indexOf("://"),splits=input.substring(0,index).split("+").filter(Boolean);return"number"==typeof first?splits[first]:splits}},7563:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";const strictUriEncode=__webpack_require__(610),decodeComponent=__webpack_require__(4020),splitOnFirst=__webpack_require__(500),filterObject=__webpack_require__(2806);function validateArrayFormatSeparator(value){if("string"!=typeof value||1!==value.length)throw new TypeError("arrayFormatSeparator must be single character string")}function encode(value,options){return options.encode?options.strict?strictUriEncode(value):encodeURIComponent(value):value}function decode(value,options){return options.decode?decodeComponent(value):value}function keysSorter(input){return Array.isArray(input)?input.sort():"object"==typeof input?keysSorter(Object.keys(input)).sort(((a,b)=>Number(a)-Number(b))).map((key=>input[key])):input}function removeHash(input){const hashStart=input.indexOf("#");return-1!==hashStart&&(input=input.slice(0,hashStart)),input}function extract(input){const queryStart=(input=removeHash(input)).indexOf("?");return-1===queryStart?"":input.slice(queryStart+1)}function parseValue(value,options){return options.parseNumbers&&!Number.isNaN(Number(value))&&"string"==typeof value&&""!==value.trim()?value=Number(value):!options.parseBooleans||null===value||"true"!==value.toLowerCase()&&"false"!==value.toLowerCase()||(value="true"===value.toLowerCase()),value}function parse(query,options){validateArrayFormatSeparator((options=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},options)).arrayFormatSeparator);const formatter=function parserForArrayFormat(options){let result;switch(options.arrayFormat){case"index":return(key,value,accumulator)=>{result=/\[(\d*)\]$/.exec(key),key=key.replace(/\[\d*\]$/,""),result?(void 0===accumulator[key]&&(accumulator[key]={}),accumulator[key][result[1]]=value):accumulator[key]=value};case"bracket":return(key,value,accumulator)=>{result=/(\[\])$/.exec(key),key=key.replace(/\[\]$/,""),result?void 0!==accumulator[key]?accumulator[key]=[].concat(accumulator[key],value):accumulator[key]=[value]:accumulator[key]=value};case"comma":case"separator":return(key,value,accumulator)=>{const isArray="string"==typeof value&&value.includes(options.arrayFormatSeparator),isEncodedArray="string"==typeof value&&!isArray&&decode(value,options).includes(options.arrayFormatSeparator);value=isEncodedArray?decode(value,options):value;const newValue=isArray||isEncodedArray?value.split(options.arrayFormatSeparator).map((item=>decode(item,options))):null===value?value:decode(value,options);accumulator[key]=newValue};default:return(key,value,accumulator)=>{void 0!==accumulator[key]?accumulator[key]=[].concat(accumulator[key],value):accumulator[key]=value}}}(options),ret=Object.create(null);if("string"!=typeof query)return ret;if(!(query=query.trim().replace(/^[?#&]/,"")))return ret;for(const param of query.split("&")){if(""===param)continue;let[key,value]=splitOnFirst(options.decode?param.replace(/\+/g," "):param,"=");value=void 0===value?null:["comma","separator"].includes(options.arrayFormat)?value:decode(value,options),formatter(decode(key,options),value,ret)}for(const key of Object.keys(ret)){const value=ret[key];if("object"==typeof value&&null!==value)for(const k of Object.keys(value))value[k]=parseValue(value[k],options);else ret[key]=parseValue(value,options)}return!1===options.sort?ret:(!0===options.sort?Object.keys(ret).sort():Object.keys(ret).sort(options.sort)).reduce(((result,key)=>{const value=ret[key];return Boolean(value)&&"object"==typeof value&&!Array.isArray(value)?result[key]=keysSorter(value):result[key]=value,result}),Object.create(null))}exports.extract=extract,exports.parse=parse,exports.stringify=(object,options)=>{if(!object)return"";validateArrayFormatSeparator((options=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},options)).arrayFormatSeparator);const shouldFilter=key=>options.skipNull&&null==object[key]||options.skipEmptyString&&""===object[key],formatter=function encoderForArrayFormat(options){switch(options.arrayFormat){case"index":return key=>(result,value)=>{const index=result.length;return void 0===value||options.skipNull&&null===value||options.skipEmptyString&&""===value?result:null===value?[...result,[encode(key,options),"[",index,"]"].join("")]:[...result,[encode(key,options),"[",encode(index,options),"]=",encode(value,options)].join("")]};case"bracket":return key=>(result,value)=>void 0===value||options.skipNull&&null===value||options.skipEmptyString&&""===value?result:null===value?[...result,[encode(key,options),"[]"].join("")]:[...result,[encode(key,options),"[]=",encode(value,options)].join("")];case"comma":case"separator":return key=>(result,value)=>null==value||0===value.length?result:0===result.length?[[encode(key,options),"=",encode(value,options)].join("")]:[[result,encode(value,options)].join(options.arrayFormatSeparator)];default:return key=>(result,value)=>void 0===value||options.skipNull&&null===value||options.skipEmptyString&&""===value?result:null===value?[...result,encode(key,options)]:[...result,[encode(key,options),"=",encode(value,options)].join("")]}}(options),objectCopy={};for(const key of Object.keys(object))shouldFilter(key)||(objectCopy[key]=object[key]);const keys=Object.keys(objectCopy);return!1!==options.sort&&keys.sort(options.sort),keys.map((key=>{const value=object[key];return void 0===value?"":null===value?encode(key,options):Array.isArray(value)?value.reduce(formatter(key),[]).join("&"):encode(key,options)+"="+encode(value,options)})).filter((x=>x.length>0)).join("&")},exports.parseUrl=(url,options)=>{options=Object.assign({decode:!0},options);const[url_,hash]=splitOnFirst(url,"#");return Object.assign({url:url_.split("?")[0]||"",query:parse(extract(url),options)},options&&options.parseFragmentIdentifier&&hash?{fragmentIdentifier:decode(hash,options)}:{})},exports.stringifyUrl=(object,options)=>{options=Object.assign({encode:!0,strict:!0},options);const url=removeHash(object.url).split("?")[0]||"",queryFromUrl=exports.extract(object.url),parsedQueryFromUrl=exports.parse(queryFromUrl,{sort:!1}),query=Object.assign(parsedQueryFromUrl,object.query);let queryString=exports.stringify(query,options);queryString&&(queryString=`?${queryString}`);let hash=function getHash(url){let hash="";const hashStart=url.indexOf("#");return-1!==hashStart&&(hash=url.slice(hashStart)),hash}(object.url);return object.fragmentIdentifier&&(hash=`#${encode(object.fragmentIdentifier,options)}`),`${url}${queryString}${hash}`},exports.pick=(input,filter,options)=>{options=Object.assign({parseFragmentIdentifier:!0},options);const{url,query,fragmentIdentifier}=exports.parseUrl(input,options);return exports.stringifyUrl({url,query:filterObject(query,filter),fragmentIdentifier},options)},exports.exclude=(input,filter,options)=>{const exclusionFilter=Array.isArray(filter)?key=>!filter.includes(key):(key,value)=>!filter(key,value);return exports.pick(input,exclusionFilter,options)}},4658:(module,__unused_webpack_exports,__webpack_require__)=>{module.exports=__webpack_require__(289)("register-protocol-handler").registerProtocolHandler},500:module=>{"use strict";module.exports=(string,separator)=>{if("string"!=typeof string||"string"!=typeof separator)throw new TypeError("Expected the arguments to be of type `string`");if(""===separator)return[string];const separatorIndex=string.indexOf(separator);return-1===separatorIndex?[string]:[string.slice(0,separatorIndex),string.slice(separatorIndex+separator.length)]}},610:module=>{"use strict";module.exports=str=>encodeURIComponent(str).replace(/[!'()*]/g,(x=>`%${x.charCodeAt(0).toString(16).toUpperCase()}`))},4742:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var punycode=__webpack_require__(5477),mappingTable=__webpack_require__(2020),PROCESSING_OPTIONS={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(str){return str.split("\0").map((function(s){return s.normalize("NFC")})).join("\0")}function findStatus(val){for(var start=0,end=mappingTable.length-1;start<=end;){var mid=Math.floor((start+end)/2),target=mappingTable[mid];if(target[0][0]<=val&&target[0][1]>=val)return target;target[0][0]>val?end=mid-1:start=mid+1}return null}var regexAstralSymbols=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(string){return string.replace(regexAstralSymbols,"_").length}var combiningMarksRegex=/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/;function validateLabel(label,processing_option){"xn--"===label.substr(0,4)&&(label=punycode.toUnicode(label));var error=!1;(normalize(label)!==label||"-"===label[3]&&"-"===label[4]||"-"===label[0]||"-"===label[label.length-1]||-1!==label.indexOf(".")||0===label.search(combiningMarksRegex))&&(error=!0);for(var len=countSymbols(label),i=0;i253||0===total.length)&&(result.error=!0);for(var i=0;i63||0===labels.length){result.error=!0;break}}return result.error?null:labels.join(".")},module.exports.toUnicode=function(domain_name,useSTD3){var result=processing(domain_name,useSTD3,PROCESSING_OPTIONS.NONTRANSITIONAL);return{domain:result.string,error:result.error}},module.exports.PROCESSING_OPTIONS=PROCESSING_OPTIONS},4608:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{activate:()=>activate,cleanUp:()=>cleanUp,deactivate:()=>deactivate,listen:()=>listen,login:()=>login,registerComamnds:()=>registerComamnds,sendActivity:()=>sendActivity,toggleIdling:()=>toggleIdling});var src=__webpack_require__(6277);const external_vscode_namespaceObject=require("vscode"),outputChannel=external_vscode_namespaceObject.window.createOutputChannel("RPC");var LogLevel;!function(LogLevel){LogLevel.Info="INFO",LogLevel.Warn="WARN",LogLevel.Error="ERROR"}(LogLevel||(LogLevel={}));const logMessage=(message,logLevel)=>{const timestamp=(new Date).toLocaleTimeString();if("string"==typeof message)outputChannel.appendLine(`[${timestamp} - ${logLevel}] ${message}`);else if(message instanceof Error)outputChannel.appendLine(`[${timestamp} - ${logLevel}] ${message.message}`),message.stack&&outputChannel.appendLine(`[${timestamp} - ${logLevel}] ${message.stack}`);else if("object"==typeof message)try{const json=JSON.stringify(message,null,2);outputChannel.appendLine(`[${timestamp} - ${logLevel}] ${json}`)}catch{}},logInfo=message=>{logMessage(message,"INFO")},logError=message=>{logMessage(message,"ERROR")},throttle=(fn,delay)=>{let lastCalled=0;return(...args)=>{const now=(new Date).getTime();if(!(now-lastCalled{this.debug(2,"root(): window.onDidChangeActiveTextEditor"),this._file=e?(0,external_path_.parse)(e.document.fileName):void 0,this.updateGit()})),external_vscode_namespaceObject.workspace.onDidChangeWorkspaceFolders((()=>{this.debug(2,"root(): workspace.onDidChangeWorkspaceFolders"),this.updateGit()})),external_vscode_namespaceObject.extensions.onDidChange((()=>{this.debug(2,"root(): extensions.onDidChange"),this.ext()})))}get fileName(){const v=this._file?this._file.name+this._file.ext:void 0;return this.debug(4,`fileName(): ${v}`),v}get dirName(){const v=this._file?.dir.split(external_path_.sep).pop();return this.debug(4,`dirName(): ${v}`),v}get fullDirName(){const v=this._file?.dir;return this.debug(4,`fullDirName(): ${v}`),v}get workspace(){const v=external_vscode_namespaceObject.workspace.name;return this.debug(4,`workspace(): ${v}`),v}get workspaceFolder(){const uri=external_vscode_namespaceObject.window.activeTextEditor.document.uri;let v;return uri&&(v=external_vscode_namespaceObject.workspace.getWorkspaceFolder(uri)),this.debug(4,`workspaceFolder(): ${uri?"Found URI":"No URI"} ${v}`),v}get gitRepoPath(){const v=this._repo?.rootUri.fsPath;return this.debug(4,`gitRepoPath(): ${v}`),v}get gitRepoName(){const v=this._repo?.rootUri.fsPath.split(external_path_.sep).pop();return this.debug(4,`gitRepoName(): ${v}`),v}get gitRemoteName(){const v=this.gitRemoteUrl?.name;return this.debug(4,`gitRepoName(): ${v}`),v}get gitRemoteUrl(){const v=this._remote?.fetchUrl??this._remote?.pushUrl;if(this.debug(4,`gitRemoteUrl(): Url: ${v}`),v)return lib_default()(v)}get gitBranchName(){const v=this._repo?.state.HEAD?.name;return this.debug(4,`gitBranchName(): ${v}`),v}dispose(level=0){let disposeOf=[];switch(level){case 0:this.dispose(1),disposeOf=this.rootListeners,this.rootListeners=[];break;case 1:this.dispose(2),disposeOf=this.gitExtListeners,this.gitExtListeners=[];break;case 2:disposeOf=this.gitApiListeners,this.gitApiListeners=[]}for(const disposable of disposeOf)disposable?.dispose()}onUpdate(listener){return this.eventEmitter.event(listener)}ext(){const ext=external_vscode_namespaceObject.extensions.getExtension("vscode.git");this.debug(3,"ext(): "+(ext?"Extension":"undefined")),ext&&!this.gitExt?(this.debug(1,"ext(): Changed to Extension"),this.gitExt=ext,this.gitExt.isActive?(logInfo("[data.ts] ext(): Git extension is active"),this.api(this.gitExt.exports.enabled),this.gitExtListeners.push(this.gitExt.exports.onDidChangeEnablement((e=>this.api(e))))):(logInfo("[data.ts] ext(): activate"),ext.activate())):!ext&&this.gitExt&&(this.debug(2,"[data.ts] ext(): Changed to undefined"),this.gitExt=void 0,this.api(!1),this.dispose(1))}api(e){this.debug(2,`api(): ${e}`),e?(this.gitApi=this.gitExt?.exports.getAPI(1),this.debug(2,"api(): "+(this.gitApi?"gitApi":"undefined")),this.listeners()):(this.gitApi=void 0,this.dispose(2)),this.updateGit()}listeners(){this.gitApi&&this.gitApiListeners.push(this.gitApi.onDidOpenRepository((e=>{this.debug(1,`listeners(): Open Repo ${e.rootUri.fsPath.split(external_path_.sep).pop()}`),this.updateGit()})),this.gitApi.onDidCloseRepository((e=>{this.debug(1,`listeners(): Open Close ${e.rootUri.fsPath.split(external_path_.sep).pop()}`),this.updateGit()})),this.gitApi.onDidChangeState((e=>{this.debug(1,`listeners(): Change State ${e}`),this.updateGit()})))}updateGit(){if(this.debug(1,"[data.ts] updateGit()"),!this.gitApi)return this._repo=void 0,this._remote=void 0,void this.eventEmitter.fire();this._repo=this.repo(),this._remote=this.remote(),this.debug(2,`updateGit(): repo ${this.gitRepoPath}`),this.eventEmitter.fire()}repo(){if(!this.gitApi)return;const repos=this.gitApi.repositories;if(this._file){const testString=this._file.dir;return repos.filter((v=>v.rootUri.fsPath.length<=testString.length)).filter((v=>v.rootUri.fsPath===testString.substring(0,v.rootUri.fsPath.length))).sort(((a,b)=>b.rootUri.fsPath.length-a.rootUri.fsPath.length)).shift()}return this.debug(3,"repo(): no file open"),external_vscode_namespaceObject.workspace.workspaceFolders?external_vscode_namespaceObject.workspace.workspaceFolders.map((v=>[v])).sort(((a,b)=>a[0].index-b[0].index)).shift()?.map((workspace=>repos.filter((v=>v.rootUri.fsPath.length<=workspace.uri.fsPath.length)).filter((v=>v.rootUri.fsPath===workspace.uri.fsPath.substring(0,v.rootUri.fsPath.length))).sort(((a,b)=>a.rootUri.fsPath.length-b.rootUri.fsPath.length)).shift())).shift():void 0}remote(){const remotes=this._repo?.state.remotes;if(remotes)return remotes.find((v=>"origin"===v.name))??remotes[0]}debug(level,message){this._debug>=level&&logInfo(`[data.ts] ${message}`)}},isExcluded=(config,toMatch)=>{if(!config||!toMatch)return!1;if(!config.length)return!1;const ignorePattern=config.join("|");return new RegExp(ignorePattern,"gm").test(toMatch)},toLower=str=>str.toLocaleLowerCase(),toUpper=str=>str.toLocaleUpperCase(),toTitle=str=>toLower(str).replace(/^\w/,(c=>toUpper(c))),getFileIcon=name=>`https://raw.githubusercontent.com/LeonardSSH/vscord/main/assets/icons/${name}.png`;function resolveFileIcon(document){const config=getConfig(),filename=(0,external_path_.basename)(document.fileName),findKnownExtension=Object.keys(KNOWN_EXTENSIONS).find((key=>{if(filename.endsWith(key))return!0;const match=/^\/(.*)\/([mgiy]+)$/.exec(key);if(!match)return!1;return new RegExp(match[1],match[2]).test(filename)})),areLanguagesPrioritized=config.prioritizeLanguagesOverExtensions,findKnownLanguage=KNOWN_LANGUAGES.find((key=>key.language===document.languageId)),knownExtension=findKnownExtension?KNOWN_EXTENSIONS[findKnownExtension]:findKnownLanguage?findKnownLanguage.image:null,knownLanguage=findKnownLanguage?findKnownLanguage.image:knownExtension,fileIcon=areLanguagesPrioritized?knownLanguage:knownExtension;return"string"==typeof fileIcon?fileIcon:fileIcon?.image??"text"}let totalProblems=0;function activity(previous={},isViewing=!1){const config=getConfig(),{appName}=external_vscode_namespaceObject.env,insiders=appName.includes("Insiders"),defaultSmallImageKey=external_vscode_namespaceObject.debug.activeDebugSession?getFileIcon("debugging"):getFileIcon(insiders?"vscode-insiders":"vscode"),defaultSmallImageText=config.smallImage.replace("{app_name}",appName),defaultLargeImageText=config.largeImageIdling,removeDetails=config.removeDetails,removeLowerDetails=config.removeLowerDetails,removeLowerDetailsIdling=config.removeLowerDetailsIdling;let presence={details:removeDetails?void 0:details("detailsIdling","detailsViewing","detailsEditing","detailsDebugging",isViewing),state:removeLowerDetails||removeLowerDetailsIdling?void 0:details("lowerDetailsIdling","lowerDetailsViewing","lowerDetailsEditing","lowerDetailsDebugging",isViewing),startTimestamp:config.removeElapsedTime?void 0:previous.startTimestamp??Date.now(),largeImageKey:getFileIcon(insiders?"idle-vscode":"idle-vscode-insiders"),largeImageText:defaultLargeImageText,smallImageKey:defaultSmallImageKey,smallImageText:defaultSmallImageText};if(external_vscode_namespaceObject.window.activeTextEditor){const largeImageKey=resolveFileIcon(external_vscode_namespaceObject.window.activeTextEditor.document),largeImageText=config.largeImage.replace("{lang}",toLower(largeImageKey)).replace("{Lang}",toTitle(largeImageKey)).replace("{LANG}",toUpper(largeImageKey)).padEnd(2,"​​");let isWorkspaceExcluded=!1,workspaceExcludedText="No workspace ignore text provided.";if(dataClass.workspaceFolder&&"uri"in dataClass.workspaceFolder&&(isWorkspaceExcluded=isExcluded(config.ignoreWorkspaces,dataClass.workspaceFolder.uri.fsPath)),isWorkspaceExcluded&&dataClass.workspaceFolder&&dataClass.workspaceFolder.name){const ignoreWorkspacesText=config.ignoreWorkspacesText;workspaceExcludedText=null===(value=ignoreWorkspacesText)||"object"!=typeof value&&"function"!=typeof value?ignoreWorkspacesText||"No workspace ignore text provided.":ignoreWorkspacesText[dataClass.workspaceFolder.name]}if(presence={...presence,details:removeDetails?void 0:isWorkspaceExcluded?workspaceExcludedText:details("detailsIdling","detailsViewing","detailsEditing","detailsDebugging",isViewing),state:removeLowerDetails||isWorkspaceExcluded?void 0:details("lowerDetailsIdling","lowerDetailsViewing","lowerDetailsEditing","lowerDetailsDebugging",isViewing),largeImageKey:getFileIcon(largeImageKey),largeImageText},config.buttonEnabled&&dataClass.gitRemoteUrl){const gitRepo=dataClass.gitRemoteUrl.toString("https").replace(/\.git$/,""),gitOrg=dataClass.gitRemoteUrl.organization??dataClass.gitRemoteUrl.owner,isRepositoryExcluded=isExcluded(config.ignoreRepositories,gitRepo),isOrganizationExcluded=isExcluded(config.ignoreOrganizations,gitOrg),isNotExcluded=!isRepositoryExcluded&&!isWorkspaceExcluded&&!isOrganizationExcluded;gitRepo&&config.buttonActiveLabel&&isNotExcluded?presence={...presence,buttons:[{label:config.buttonActiveLabel,url:gitRepo}]}:!gitRepo&&config.buttonInactiveLabel&&config.buttonInactiveUrl&&(presence={...presence,buttons:[{label:config.buttonInactiveLabel,url:config.buttonInactiveUrl}]})}}var value;return presence}function details(idling,viewing,editing,debugging,isViewing){const config=getConfig();let raw=config[idling].replace("{empty}","​​");if(external_vscode_namespaceObject.window.activeTextEditor){const noWorkspaceFound=config.lowerDetailsNoWorkspaceFound.replace("{empty}","​​"),workspaceFolderName=dataClass.workspaceFolder?dataClass.workspaceFolder.name:noWorkspaceFound,workspaceName=dataClass.workspace?dataClass.workspace.replace("(Workspace)",""):workspaceFolderName,workspaceAndFolder=`${workspaceName}${"​​"===workspaceFolderName?"":` - ${workspaceFolderName}`}`,fileIcon=resolveFileIcon(external_vscode_namespaceObject.window.activeTextEditor.document),problems=config.showProblems?config.problemsText.replace("{problemsCount}",totalProblems.toString()):"";if(raw=config[external_vscode_namespaceObject.debug.activeDebugSession?debugging:isViewing?viewing:editing],dataClass.workspace){const name=dataClass.workspace,relativePath=external_vscode_namespaceObject.workspace.asRelativePath(external_vscode_namespaceObject.window.activeTextEditor.document.fileName).split(external_path_.sep);relativePath.splice(-1,1),raw=raw.replace("{full_dir_name}",`${name}${external_path_.sep}${relativePath.join(external_path_.sep)}`)}raw=function fileDetails(_raw,document,selection){let raw=_raw.slice();raw.includes("{total_lines}")&&(raw=raw.replace("{total_lines}",document.lineCount.toLocaleString()));raw.includes("{current_line}")&&(raw=raw.replace("{current_line}",(selection.active.line+1).toLocaleString()));raw.includes("{current_column}")&&(raw=raw.replace("{current_column}",(selection.active.character+1).toLocaleString()));return raw}(raw,external_vscode_namespaceObject.window.activeTextEditor.document,external_vscode_namespaceObject.window.activeTextEditor.selection),raw=raw.replace("{file_name}",dataClass.fileName??"​​").replace("{dir_name}",dataClass.dirName??"​​").replace("{workspace}",workspaceName).replace("{workspace_folder}",workspaceFolderName).replace("{workspace_and_folder}",workspaceAndFolder).replace("{lang}",toLower(fileIcon)).replace("{Lang}",toTitle(fileIcon)).replace("{LANG}",toUpper(fileIcon)).replace("{problems}",problems).replace("{git_repo}",dataClass.gitRemoteUrl?dataClass.gitRemoteUrl.name:dataClass.gitRepoName??"​​").replace("{git_branch}",dataClass.gitBranchName??"​​")}return raw}let rpc,idleCheckTimeout,timeout,state={},listeners=[];const statusBarIcon=external_vscode_namespaceObject.window.createStatusBarItem(external_vscode_namespaceObject.StatusBarAlignment.Left);statusBarIcon.text="$(pulse) Connecting to Discord Gateway...";const sendActivity=async(isViewing=!1)=>{state={...await activity(state,isViewing)},await(rpc?.setActivity(state))},listen=()=>{const config=getConfig(),fileSwitch=external_vscode_namespaceObject.window.onDidChangeActiveTextEditor((()=>sendActivity(!0))),fileEdit=external_vscode_namespaceObject.workspace.onDidChangeTextDocument(throttle((()=>sendActivity()),2e3)),debugStart=external_vscode_namespaceObject.debug.onDidStartDebugSession((()=>sendActivity())),debugEnd=external_vscode_namespaceObject.debug.onDidTerminateDebugSession((()=>sendActivity())),diagnosticsChange=external_vscode_namespaceObject.languages.onDidChangeDiagnostics((()=>function onDiagnosticsChange(){const diagnostics=external_vscode_namespaceObject.languages.getDiagnostics();let counted=0;diagnostics.forEach((diagnostic=>{diagnostic[1]&&diagnostic[1].forEach((diagnostic=>{diagnostic.severity!==external_vscode_namespaceObject.DiagnosticSeverity.Warning&&diagnostic.severity!==external_vscode_namespaceObject.DiagnosticSeverity.Error||counted++}))})),totalProblems=counted}())),changeWindowState=external_vscode_namespaceObject.window.onDidChangeWindowState((e=>toggleIdling(e))),gitListener=dataClass.onUpdate(throttle((()=>sendActivity()),2e3));config.showProblems&&listeners.push(diagnosticsChange),config.checkIdle&&listeners.push(changeWindowState),listeners.push(fileSwitch,fileEdit,debugStart,debugEnd,gitListener)},cleanUp=()=>{listeners.forEach((listener=>listener.dispose())),listeners=[]},toggleIdling=async windowState=>{const config=getConfig();0!==config.idleTimeout&&(windowState.focused?(idleCheckTimeout&&clearTimeout(idleCheckTimeout),await sendActivity()):idleCheckTimeout=setTimeout((async()=>{state={...state,smallImageKey:getFileIcon("idle"),smallImageText:config.idleText},await(rpc?.setActivity(state))}),1e3*config.idleTimeout))},login=async()=>{const config=getConfig();statusBarIcon.text="$(search-refresh) Connecting to Discord Gateway...",statusBarIcon.tooltip="Connecting to Discord Gateway...",rpc=new src.Client({transport:"ipc"}),rpc.on("ready",(async()=>{logInfo("Successfully connected to Discord"),cleanUp(),await sendActivity(),statusBarIcon.text="$(globe) Connected to Discord",statusBarIcon.tooltip="Connected to Discord",statusBarIcon.show(),listen(),timeout&&clearTimeout(timeout),timeout=setTimeout((()=>statusBarIcon.text="$(smiley)"),5e3)})),rpc.on("disconnected",(()=>{cleanUp(),rpc&&rpc.destroy(),statusBarIcon.text="$(search-refresh) Reconnect to Discord Gateway",statusBarIcon.command="rpc.reconnect",statusBarIcon.tooltip="Reconnect to Discord Gateway",statusBarIcon.show()}));const{clientId}=(config=>{const applicationIds=new Map;applicationIds.set("Code","782685898163617802"),applicationIds.set("Visual Studio Code","810516608442695700");const match=/(Code|Visual Studio Code)/i.exec(config.appName);let clientId=config.id;return null!==match&&applicationIds.has(match[0])&&(clientId=applicationIds.get(match[0])),{clientId}})(config);try{await rpc.login({clientId}),logInfo(`Successfully logged in to Discord with client ID ${clientId}`)}catch(error){logError(`Encountered following error while trying to login:\n${error}`),rpc&&rpc.destroy(),logInfo("[002] Destroyed Discord RPC client"),config.suppressNotifications||(error?.message?.includes("ENOENT")?external_vscode_namespaceObject.window.showErrorMessage("No Discord client detected"):external_vscode_namespaceObject.window.showErrorMessage(`Couldn't connect to Discord via RPC: ${error}`)),statusBarIcon.text="$(search-refresh) Reconnect to Discord Gateway",statusBarIcon.command="rpc.reconnect",statusBarIcon.tooltip="Reconnect to Discord Gateway"}},registerComamnds=ctx=>{const config=getConfig(),enable=async(update=!0)=>{if(update)try{await config.update("enabled",!0)}catch{}cleanUp(),statusBarIcon.text="$(search-refresh) Connecting to Discord Gateway...",statusBarIcon.tooltip="Connecting to Discord Gateway...",await login()},disable=async(update=!0)=>{if(update)try{await config.update("enabled",!1)}catch{}cleanUp(),rpc&&rpc.destroy(),logInfo("[003] Destroyed Discord RPC client"),statusBarIcon.hide()},enableCommand=external_vscode_namespaceObject.commands.registerCommand("rpc.enable",(async()=>{await disable(),await enable(),logInfo("Enabled Discord Rich Presence for this workspace."),config.suppressNotifications||await external_vscode_namespaceObject.window.showInformationMessage("Enabled Discord Rich Presence for this workspace.")})),disableCommand=external_vscode_namespaceObject.commands.registerCommand("rpc.disable",(async()=>{await disable(),logInfo("Disabled Discord Rich Presence for this workspace."),config.suppressNotifications||await external_vscode_namespaceObject.window.showInformationMessage("Disabled Discord Rich Presence for this workspace.")})),reconnectCommand=external_vscode_namespaceObject.commands.registerCommand("rpc.reconnect",(async()=>{logInfo("Reconnecting to Discord Gateway..."),await disable(!1),await enable(!1)})),disconnectCommand=external_vscode_namespaceObject.commands.registerCommand("rpc.disconnect",(async()=>{logInfo("Disconnecting from Discord Gateway..."),await disable(!1),statusBarIcon.text="$(search-refresh) Reconnect to Discord Gateway",statusBarIcon.command="rpc.reconnect",statusBarIcon.tooltip="Reconnect to Discord Gateway",statusBarIcon.show()}));ctx.subscriptions.push(enableCommand,disableCommand,reconnectCommand,disconnectCommand),logInfo("Registered Discord Rich Presence commands")};async function activate(ctx){logInfo("Discord Rich Presence for VS Code activated."),registerComamnds(ctx);try{await login()}catch(error){logError(`Failed to login to Discord: ${error}`)}}function deactivate(){logInfo("Discord Rich Presence for VS Code deactivated."),cleanUp(),timeout&&(clearTimeout(timeout),timeout=void 0),idleCheckTimeout&&(clearTimeout(idleCheckTimeout),idleCheckTimeout=void 0),rpc&&rpc.destroy(),logInfo("[004] Destroyed Discord RPC client")}},137:module=>{"use strict";module.exports=function isValidUTF8(buf){const len=buf.length;let i=0;for(;i=len||128!=(192&buf[i+1])||128!=(192&buf[i+2])||224===buf[i]&&128==(224&buf[i+1])||237===buf[i]&&160==(224&buf[i+1]))return!1;i+=3}else{if(240!=(248&buf[i]))return!1;if(i+3>=len||128!=(192&buf[i+1])||128!=(192&buf[i+2])||128!=(192&buf[i+3])||240===buf[i]&&128==(240&buf[i+1])||244===buf[i]&&buf[i+1]>143||buf[i]>244)return!1;i+=4}return!0}},311:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";try{module.exports=__webpack_require__(9516)(__dirname)}catch(e){module.exports=__webpack_require__(137)}},993:module=>{"use strict";var conversions={};function sign(x){return x<0?-1:1}function createNumberConversion(bitLength,typeOpts){typeOpts.unsigned||--bitLength;const lowerBound=typeOpts.unsigned?0:-Math.pow(2,bitLength),upperBound=Math.pow(2,bitLength)-1,moduloVal=typeOpts.moduloBitLength?Math.pow(2,typeOpts.moduloBitLength):Math.pow(2,bitLength),moduloBound=typeOpts.moduloBitLength?Math.pow(2,typeOpts.moduloBitLength-1):Math.pow(2,bitLength-1);return function(V,opts){opts||(opts={});let x=+V;if(opts.enforceRange){if(!Number.isFinite(x))throw new TypeError("Argument is not a finite number");if(x=sign(x)*Math.floor(Math.abs(x)),xupperBound)throw new TypeError("Argument is not in byte range");return x}if(!isNaN(x)&&opts.clamp)return x=function evenRound(x){return x%1==.5&&0==(1&x)?Math.floor(x):Math.round(x)}(x),xupperBound&&(x=upperBound),x;if(!Number.isFinite(x)||0===x)return 0;if(x=sign(x)*Math.floor(Math.abs(x)),x%=moduloVal,!typeOpts.unsigned&&x>=moduloBound)return x-moduloVal;if(typeOpts.unsigned)if(x<0)x+=moduloVal;else if(-0===x)return 0;return x}}module.exports=conversions,conversions.void=function(){},conversions.boolean=function(val){return!!val},conversions.byte=createNumberConversion(8,{unsigned:!1}),conversions.octet=createNumberConversion(8,{unsigned:!0}),conversions.short=createNumberConversion(16,{unsigned:!1}),conversions["unsigned short"]=createNumberConversion(16,{unsigned:!0}),conversions.long=createNumberConversion(32,{unsigned:!1}),conversions["unsigned long"]=createNumberConversion(32,{unsigned:!0}),conversions["long long"]=createNumberConversion(32,{unsigned:!1,moduloBitLength:64}),conversions["unsigned long long"]=createNumberConversion(32,{unsigned:!0,moduloBitLength:64}),conversions.double=function(V){const x=+V;if(!Number.isFinite(x))throw new TypeError("Argument is not a finite floating-point value");return x},conversions["unrestricted double"]=function(V){const x=+V;if(isNaN(x))throw new TypeError("Argument is NaN");return x},conversions.float=conversions.double,conversions["unrestricted float"]=conversions["unrestricted double"],conversions.DOMString=function(V,opts){return opts||(opts={}),opts.treatNullAsEmptyString&&null===V?"":String(V)},conversions.ByteString=function(V,opts){const x=String(V);let c;for(let i=0;void 0!==(c=x.codePointAt(i));++i)if(c>255)throw new TypeError("Argument is not a valid bytestring");return x},conversions.USVString=function(V){const S=String(V),n=S.length,U=[];for(let i=0;i57343)U.push(String.fromCodePoint(c));else if(56320<=c&&c<=57343)U.push(String.fromCodePoint(65533));else if(i===n-1)U.push(String.fromCodePoint(65533));else{const d=S.charCodeAt(i+1);if(56320<=d&&d<=57343){const a=1023&c,b=1023&d;U.push(String.fromCodePoint(65536+1024*a+b)),++i}else U.push(String.fromCodePoint(65533))}}return U.join("")},conversions.Date=function(V,opts){if(!(V instanceof Date))throw new TypeError("Argument is not a Date object");if(!isNaN(V))return V},conversions.RegExp=function(V,opts){return V instanceof RegExp||(V=new RegExp(V)),V}},9718:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";const usm=__webpack_require__(5341);exports.implementation=class URLImpl{constructor(constructorArgs){const url=constructorArgs[0],base=constructorArgs[1];let parsedBase=null;if(void 0!==base&&(parsedBase=usm.basicURLParse(base),"failure"===parsedBase))throw new TypeError("Invalid base URL");const parsedURL=usm.basicURLParse(url,{baseURL:parsedBase});if("failure"===parsedURL)throw new TypeError("Invalid URL");this._url=parsedURL}get href(){return usm.serializeURL(this._url)}set href(v){const parsedURL=usm.basicURLParse(v);if("failure"===parsedURL)throw new TypeError("Invalid URL");this._url=parsedURL}get origin(){return usm.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(v){usm.basicURLParse(v+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(v){usm.cannotHaveAUsernamePasswordPort(this._url)||usm.setTheUsername(this._url,v)}get password(){return this._url.password}set password(v){usm.cannotHaveAUsernamePasswordPort(this._url)||usm.setThePassword(this._url,v)}get host(){const url=this._url;return null===url.host?"":null===url.port?usm.serializeHost(url.host):usm.serializeHost(url.host)+":"+usm.serializeInteger(url.port)}set host(v){this._url.cannotBeABaseURL||usm.basicURLParse(v,{url:this._url,stateOverride:"host"})}get hostname(){return null===this._url.host?"":usm.serializeHost(this._url.host)}set hostname(v){this._url.cannotBeABaseURL||usm.basicURLParse(v,{url:this._url,stateOverride:"hostname"})}get port(){return null===this._url.port?"":usm.serializeInteger(this._url.port)}set port(v){usm.cannotHaveAUsernamePasswordPort(this._url)||(""===v?this._url.port=null:usm.basicURLParse(v,{url:this._url,stateOverride:"port"}))}get pathname(){return this._url.cannotBeABaseURL?this._url.path[0]:0===this._url.path.length?"":"/"+this._url.path.join("/")}set pathname(v){this._url.cannotBeABaseURL||(this._url.path=[],usm.basicURLParse(v,{url:this._url,stateOverride:"path start"}))}get search(){return null===this._url.query||""===this._url.query?"":"?"+this._url.query}set search(v){const url=this._url;if(""===v)return void(url.query=null);const input="?"===v[0]?v.substring(1):v;url.query="",usm.basicURLParse(input,{url,stateOverride:"query"})}get hash(){return null===this._url.fragment||""===this._url.fragment?"":"#"+this._url.fragment}set hash(v){if(""===v)return void(this._url.fragment=null);const input="#"===v[0]?v.substring(1):v;this._url.fragment="",usm.basicURLParse(input,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},4328:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const conversions=__webpack_require__(993),utils=__webpack_require__(9581),Impl=__webpack_require__(9718),impl=utils.implSymbol;function URL(url){if(!this||this[impl]||!(this instanceof URL))throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");const args=[];for(let i=0;i!!obj&&obj[impl]instanceof Impl.implementation,create(constructorArgs,privateData){let obj=Object.create(URL.prototype);return this.setup(obj,constructorArgs,privateData),obj},setup(obj,constructorArgs,privateData){privateData||(privateData={}),privateData.wrapper=obj,obj[impl]=new Impl.implementation(constructorArgs,privateData),obj[impl][utils.wrapperSymbol]=obj},interface:URL,expose:{Window:{URL},Worker:{URL}}}},7347:(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";exports.URL=__webpack_require__(4328).interface,__webpack_require__(5341).serializeURL,__webpack_require__(5341).serializeURLOrigin,__webpack_require__(5341).basicURLParse,__webpack_require__(5341).setTheUsername,__webpack_require__(5341).setThePassword,__webpack_require__(5341).serializeHost,__webpack_require__(5341).serializeInteger,__webpack_require__(5341).parseURL},5341:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const punycode=__webpack_require__(5477),tr46=__webpack_require__(4742),specialSchemes={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443},failure=Symbol("failure");function countSymbols(str){return punycode.ucs2.decode(str).length}function at(input,idx){const c=input[idx];return isNaN(c)?void 0:String.fromCodePoint(c)}function isASCIIDigit(c){return c>=48&&c<=57}function isASCIIAlpha(c){return c>=65&&c<=90||c>=97&&c<=122}function isASCIIHex(c){return isASCIIDigit(c)||c>=65&&c<=70||c>=97&&c<=102}function isSingleDot(buffer){return"."===buffer||"%2e"===buffer.toLowerCase()}function isWindowsDriveLetterString(string){return 2===string.length&&isASCIIAlpha(string.codePointAt(0))&&(":"===string[1]||"|"===string[1])}function isSpecialScheme(scheme){return void 0!==specialSchemes[scheme]}function isSpecial(url){return isSpecialScheme(url.scheme)}function percentEncode(c){let hex=c.toString(16).toUpperCase();return 1===hex.length&&(hex="0"+hex),"%"+hex}function isC0ControlPercentEncode(c){return c<=31||c>126}const extraPathPercentEncodeSet=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(c){return isC0ControlPercentEncode(c)||extraPathPercentEncodeSet.has(c)}const extraUserinfoPercentEncodeSet=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(c){return isPathPercentEncode(c)||extraUserinfoPercentEncodeSet.has(c)}function percentEncodeChar(c,encodeSetPredicate){const cStr=String.fromCodePoint(c);return encodeSetPredicate(c)?function utf8PercentEncode(c){const buf=new Buffer(c);let str="";for(let i=0;i=2&&"0"===input.charAt(0)&&"x"===input.charAt(1).toLowerCase()?(input=input.substring(2),R=16):input.length>=2&&"0"===input.charAt(0)&&(input=input.substring(1),R=8),""===input)return 0;return(10===R?/[^0-9]/:16===R?/[^0-9A-Fa-f]/:/[^0-7]/).test(input)?failure:parseInt(input,R)}function parseHost(input,isSpecialArg){if("["===input[0])return"]"!==input[input.length-1]?failure:function parseIPv6(input){const address=[0,0,0,0,0,0,0,0];let pieceIndex=0,compress=null,pointer=0;if(58===(input=punycode.ucs2.decode(input))[pointer]){if(58!==input[pointer+1])return failure;pointer+=2,++pieceIndex,compress=pieceIndex}for(;pointer6)return failure;let numbersSeen=0;for(;void 0!==input[pointer];){let ipv4Piece=null;if(numbersSeen>0){if(!(46===input[pointer]&&numbersSeen<4))return failure;++pointer}if(!isASCIIDigit(input[pointer]))return failure;for(;isASCIIDigit(input[pointer]);){const number=parseInt(at(input,pointer));if(null===ipv4Piece)ipv4Piece=number;else{if(0===ipv4Piece)return failure;ipv4Piece=10*ipv4Piece+number}if(ipv4Piece>255)return failure;++pointer}address[pieceIndex]=256*address[pieceIndex]+ipv4Piece,++numbersSeen,2!==numbersSeen&&4!==numbersSeen||++pieceIndex}if(4!==numbersSeen)return failure;break}if(58===input[pointer]){if(++pointer,void 0===input[pointer])return failure}else if(void 0!==input[pointer])return failure;address[pieceIndex]=value,++pieceIndex}if(null!==compress){let swaps=pieceIndex-compress;for(pieceIndex=7;0!==pieceIndex&&swaps>0;){const temp=address[compress+swaps-1];address[compress+swaps-1]=address[pieceIndex],address[pieceIndex]=temp,--pieceIndex,--swaps}}else if(null===compress&&8!==pieceIndex)return failure;return address}(input.substring(1,input.length-1));if(!isSpecialArg)return function parseOpaqueHost(input){if(function containsForbiddenHostCodePointExcludingPercent(string){return-1!==string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)}(input))return failure;let output="";const decoded=punycode.ucs2.decode(input);for(let i=0;i1&&parts.pop(),parts.length>4)return input;const numbers=[];for(const part of parts){if(""===part)return input;const n=parseIPv4Number(part);if(n===failure)return input;numbers.push(n)}for(let i=0;i255)return failure;if(numbers[numbers.length-1]>=Math.pow(256,5-numbers.length))return failure;let ipv4=numbers.pop(),counter=0;for(const n of numbers)ipv4+=n*Math.pow(256,3-counter),++counter;return ipv4}(asciiDomain);return"number"==typeof ipv4Host||ipv4Host===failure?ipv4Host:asciiDomain}function serializeHost(host){return"number"==typeof host?function serializeIPv4(address){let output="",n=address;for(let i=1;i<=4;++i)output=String(n%256)+output,4!==i&&(output="."+output),n=Math.floor(n/256);return output}(host):host instanceof Array?"["+function serializeIPv6(address){let output="";const compress=function findLongestZeroSequence(arr){let maxIdx=null,maxLen=1,currStart=null,currLen=0;for(let i=0;imaxLen&&(maxIdx=currStart,maxLen=currLen),currStart=null,currLen=0):(null===currStart&&(currStart=i),++currLen);return currLen>maxLen&&(maxIdx=currStart,maxLen=currLen),{idx:maxIdx,len:maxLen}}(address).idx;let ignore0=!1;for(let pieceIndex=0;pieceIndex<=7;++pieceIndex)ignore0&&0===address[pieceIndex]||(ignore0&&(ignore0=!1),compress!==pieceIndex?(output+=address[pieceIndex].toString(16),7!==pieceIndex&&(output+=":")):(output+=0===pieceIndex?"::":":",ignore0=!0));return output}(host)+"]":host}function shortenPath(url){const path=url.path;0!==path.length&&("file"===url.scheme&&1===path.length&&function isNormalizedWindowsDriveLetter(string){return/^[A-Za-z]:$/.test(string)}(path[0])||path.pop())}function includesCredentials(url){return""!==url.username||""!==url.password}function URLStateMachine(input,base,encodingOverride,url,stateOverride){if(this.pointer=0,this.input=input,this.base=base||null,this.encodingOverride=encodingOverride||"utf-8",this.stateOverride=stateOverride,this.url=url,this.failure=!1,this.parseError=!1,!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:!1};const res=function trimControlChars(url){return url.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}(this.input);res!==this.input&&(this.parseError=!0),this.input=res}const res=function trimTabAndNewline(url){return url.replace(/\u0009|\u000A|\u000D/g,"")}(this.input);for(res!==this.input&&(this.parseError=!0),this.input=res,this.state=stateOverride||"scheme start",this.buffer="",this.atFlag=!1,this.arrFlag=!1,this.passwordTokenSeenFlag=!1,this.input=punycode.ucs2.decode(this.input);this.pointer<=this.input.length;++this.pointer){const c=this.input[this.pointer],cStr=isNaN(c)?void 0:String.fromCodePoint(c),ret=this["parse "+this.state](c,cStr);if(!ret)break;if(ret===failure){this.failure=!0;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(c,cStr){if(isASCIIAlpha(c))this.buffer+=cStr.toLowerCase(),this.state="scheme";else{if(this.stateOverride)return this.parseError=!0,failure;this.state="no scheme",--this.pointer}return!0},URLStateMachine.prototype["parse scheme"]=function parseScheme(c,cStr){if(function isASCIIAlphanumeric(c){return isASCIIAlpha(c)||isASCIIDigit(c)}(c)||43===c||45===c||46===c)this.buffer+=cStr.toLowerCase();else if(58===c){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer))return!1;if(!isSpecial(this.url)&&isSpecialScheme(this.buffer))return!1;if((includesCredentials(this.url)||null!==this.url.port)&&"file"===this.buffer)return!1;if("file"===this.url.scheme&&(""===this.url.host||null===this.url.host))return!1}if(this.url.scheme=this.buffer,this.buffer="",this.stateOverride)return!1;"file"===this.url.scheme?(47===this.input[this.pointer+1]&&47===this.input[this.pointer+2]||(this.parseError=!0),this.state="file"):isSpecial(this.url)&&null!==this.base&&this.base.scheme===this.url.scheme?this.state="special relative or authority":isSpecial(this.url)?this.state="special authority slashes":47===this.input[this.pointer+1]?(this.state="path or authority",++this.pointer):(this.url.cannotBeABaseURL=!0,this.url.path.push(""),this.state="cannot-be-a-base-URL path")}else{if(this.stateOverride)return this.parseError=!0,failure;this.buffer="",this.state="no scheme",this.pointer=-1}return!0},URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(c){return null===this.base||this.base.cannotBeABaseURL&&35!==c?failure:(this.base.cannotBeABaseURL&&35===c?(this.url.scheme=this.base.scheme,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.url.cannotBeABaseURL=!0,this.state="fragment"):"file"===this.base.scheme?(this.state="file",--this.pointer):(this.state="relative",--this.pointer),!0)},URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(c){return 47===c&&47===this.input[this.pointer+1]?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="relative",--this.pointer),!0},URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(c){return 47===c?this.state="authority":(this.state="path",--this.pointer),!0},URLStateMachine.prototype["parse relative"]=function parseRelative(c){return this.url.scheme=this.base.scheme,isNaN(c)?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query):47===c?this.state="relative slash":63===c?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):35===c?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):isSpecial(this.url)&&92===c?(this.parseError=!0,this.state="relative slash"):(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(0,this.base.path.length-1),this.state="path",--this.pointer),!0},URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(c){return!isSpecial(this.url)||47!==c&&92!==c?47===c?this.state="authority":(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.state="path",--this.pointer):(92===c&&(this.parseError=!0),this.state="special authority ignore slashes"),!0},URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(c){return 47===c&&47===this.input[this.pointer+1]?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="special authority ignore slashes",--this.pointer),!0},URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(c){return 47!==c&&92!==c?(this.state="authority",--this.pointer):this.parseError=!0,!0},URLStateMachine.prototype["parse authority"]=function parseAuthority(c,cStr){if(64===c){this.parseError=!0,this.atFlag&&(this.buffer="%40"+this.buffer),this.atFlag=!0;const len=countSymbols(this.buffer);for(let pointer=0;pointerMath.pow(2,16)-1)return this.parseError=!0,failure;this.url.port=port===function defaultPort(scheme){return specialSchemes[scheme]}(this.url.scheme)?null:port,this.buffer=""}if(this.stateOverride)return!1;this.state="path start",--this.pointer}return!0};const fileOtherwiseCodePoints=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(c){return this.url.scheme="file",47===c||92===c?(92===c&&(this.parseError=!0),this.state="file slash"):null!==this.base&&"file"===this.base.scheme?isNaN(c)?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query):63===c?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):35===c?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):(this.input.length-this.pointer-1==0||!function isWindowsDriveLetterCodePoints(cp1,cp2){return isASCIIAlpha(cp1)&&(58===cp2||124===cp2)}(c,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!fileOtherwiseCodePoints.has(this.input[this.pointer+2])?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),shortenPath(this.url)):this.parseError=!0,this.state="path",--this.pointer):(this.state="path",--this.pointer),!0},URLStateMachine.prototype["parse file slash"]=function parseFileSlash(c){return 47===c||92===c?(92===c&&(this.parseError=!0),this.state="file host"):(null!==this.base&&"file"===this.base.scheme&&(!function isNormalizedWindowsDriveLetterString(string){return 2===string.length&&isASCIIAlpha(string.codePointAt(0))&&":"===string[1]}(this.base.path[0])?this.url.host=this.base.host:this.url.path.push(this.base.path[0])),this.state="path",--this.pointer),!0},URLStateMachine.prototype["parse file host"]=function parseFileHost(c,cStr){if(isNaN(c)||47===c||92===c||63===c||35===c)if(--this.pointer,!this.stateOverride&&isWindowsDriveLetterString(this.buffer))this.parseError=!0,this.state="path";else if(""===this.buffer){if(this.url.host="",this.stateOverride)return!1;this.state="path start"}else{let host=parseHost(this.buffer,isSpecial(this.url));if(host===failure)return failure;if("localhost"===host&&(host=""),this.url.host=host,this.stateOverride)return!1;this.buffer="",this.state="path start"}else this.buffer+=cStr;return!0},URLStateMachine.prototype["parse path start"]=function parsePathStart(c){return isSpecial(this.url)?(92===c&&(this.parseError=!0),this.state="path",47!==c&&92!==c&&--this.pointer):this.stateOverride||63!==c?this.stateOverride||35!==c?void 0!==c&&(this.state="path",47!==c&&--this.pointer):(this.url.fragment="",this.state="fragment"):(this.url.query="",this.state="query"),!0},URLStateMachine.prototype["parse path"]=function parsePath(c){if(isNaN(c)||47===c||isSpecial(this.url)&&92===c||!this.stateOverride&&(63===c||35===c)){if(isSpecial(this.url)&&92===c&&(this.parseError=!0),!function isDoubleDot(buffer){return".."===(buffer=buffer.toLowerCase())||"%2e."===buffer||".%2e"===buffer||"%2e%2e"===buffer}(this.buffer)?!isSingleDot(this.buffer)||47===c||isSpecial(this.url)&&92===c?isSingleDot(this.buffer)||("file"===this.url.scheme&&0===this.url.path.length&&isWindowsDriveLetterString(this.buffer)&&(""!==this.url.host&&null!==this.url.host&&(this.parseError=!0,this.url.host=""),this.buffer=this.buffer[0]+":"),this.url.path.push(this.buffer)):this.url.path.push(""):(shortenPath(this.url),47===c||isSpecial(this.url)&&92===c||this.url.path.push("")),this.buffer="","file"===this.url.scheme&&(void 0===c||63===c||35===c))for(;this.url.path.length>1&&""===this.url.path[0];)this.parseError=!0,this.url.path.shift();63===c&&(this.url.query="",this.state="query"),35===c&&(this.url.fragment="",this.state="fragment")}else 37!==c||isASCIIHex(this.input[this.pointer+1])&&isASCIIHex(this.input[this.pointer+2])||(this.parseError=!0),this.buffer+=percentEncodeChar(c,isPathPercentEncode);return!0},URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(c){return 63===c?(this.url.query="",this.state="query"):35===c?(this.url.fragment="",this.state="fragment"):(isNaN(c)||37===c||(this.parseError=!0),37!==c||isASCIIHex(this.input[this.pointer+1])&&isASCIIHex(this.input[this.pointer+2])||(this.parseError=!0),isNaN(c)||(this.url.path[0]=this.url.path[0]+percentEncodeChar(c,isC0ControlPercentEncode))),!0},URLStateMachine.prototype["parse query"]=function parseQuery(c,cStr){if(isNaN(c)||!this.stateOverride&&35===c){isSpecial(this.url)&&"ws"!==this.url.scheme&&"wss"!==this.url.scheme||(this.encodingOverride="utf-8");const buffer=new Buffer(this.buffer);for(let i=0;i126||34===buffer[i]||35===buffer[i]||60===buffer[i]||62===buffer[i]?this.url.query+=percentEncode(buffer[i]):this.url.query+=String.fromCodePoint(buffer[i]);this.buffer="",35===c&&(this.url.fragment="",this.state="fragment")}else 37!==c||isASCIIHex(this.input[this.pointer+1])&&isASCIIHex(this.input[this.pointer+2])||(this.parseError=!0),this.buffer+=cStr;return!0},URLStateMachine.prototype["parse fragment"]=function parseFragment(c){return isNaN(c)||(0===c?this.parseError=!0:(37!==c||isASCIIHex(this.input[this.pointer+1])&&isASCIIHex(this.input[this.pointer+2])||(this.parseError=!0),this.url.fragment+=percentEncodeChar(c,isC0ControlPercentEncode))),!0},module.exports.serializeURL=function serializeURL(url,excludeFragment){let output=url.scheme+":";if(null!==url.host?(output+="//",""===url.username&&""===url.password||(output+=url.username,""!==url.password&&(output+=":"+url.password),output+="@"),output+=serializeHost(url.host),null!==url.port&&(output+=":"+url.port)):null===url.host&&"file"===url.scheme&&(output+="//"),url.cannotBeABaseURL)output+=url.path[0];else for(const string of url.path)output+="/"+string;return null!==url.query&&(output+="?"+url.query),excludeFragment||null===url.fragment||(output+="#"+url.fragment),output},module.exports.serializeURLOrigin=function(url){switch(url.scheme){case"blob":try{return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return function serializeOrigin(tuple){let result=tuple.scheme+"://";return result+=serializeHost(tuple.host),null!==tuple.port&&(result+=":"+tuple.port),result}({scheme:url.scheme,host:url.host,port:url.port});case"file":return"file://";default:return"null"}},module.exports.basicURLParse=function(input,options){void 0===options&&(options={});const usm=new URLStateMachine(input,options.baseURL,options.encodingOverride,options.url,options.stateOverride);return usm.failure?"failure":usm.url},module.exports.setTheUsername=function(url,username){url.username="";const decoded=punycode.ucs2.decode(username);for(let i=0;i{"use strict";module.exports.mixin=function mixin(target,source){const keys=Object.getOwnPropertyNames(source);for(let i=0;i{"use strict";const WebSocket=__webpack_require__(8762);WebSocket.createWebSocketStream=__webpack_require__(404),WebSocket.Server=__webpack_require__(9284),WebSocket.Receiver=__webpack_require__(2957),WebSocket.Sender=__webpack_require__(7330),module.exports=WebSocket},977:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const{EMPTY_BUFFER}=__webpack_require__(1872);function concat(list,totalLength){if(0===list.length)return EMPTY_BUFFER;if(1===list.length)return list[0];const target=Buffer.allocUnsafe(totalLength);let offset=0;for(let i=0;i{"use strict";module.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),EMPTY_BUFFER:Buffer.alloc(0),NOOP:()=>{}}},62:module=>{"use strict";class Event{constructor(type,target){this.target=target,this.type=type}}class MessageEvent extends Event{constructor(data,target){super("message",target),this.data=data}}class CloseEvent extends Event{constructor(code,reason,target){super("close",target),this.wasClean=target._closeFrameReceived&&target._closeFrameSent,this.reason=reason,this.code=code}}class OpenEvent extends Event{constructor(target){super("open",target)}}class ErrorEvent extends Event{constructor(error,target){super("error",target),this.message=error.message,this.error=error}}const EventTarget={addEventListener(type,listener,options){if("function"!=typeof listener)return;function onMessage(data){listener.call(this,new MessageEvent(data,this))}function onClose(code,message){listener.call(this,new CloseEvent(code,message,this))}function onError(error){listener.call(this,new ErrorEvent(error,this))}function onOpen(){listener.call(this,new OpenEvent(this))}const method=options&&options.once?"once":"on";"message"===type?(onMessage._listener=listener,this[method](type,onMessage)):"close"===type?(onClose._listener=listener,this[method](type,onClose)):"error"===type?(onError._listener=listener,this[method](type,onError)):"open"===type?(onOpen._listener=listener,this[method](type,onOpen)):this[method](type,listener)},removeEventListener(type,listener){const listeners=this.listeners(type);for(let i=0;i{"use strict";const tokenChars=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function push(dest,name,elem){void 0===dest[name]?dest[name]=[elem]:dest[name].push(elem)}module.exports={format:function format(extensions){return Object.keys(extensions).map((extension=>{let configurations=extensions[extension];return Array.isArray(configurations)||(configurations=[configurations]),configurations.map((params=>[extension].concat(Object.keys(params).map((k=>{let values=params[k];return Array.isArray(values)||(values=[values]),values.map((v=>!0===v?k:`${k}=${v}`)).join("; ")}))).join("; "))).join(", ")})).join(", ")},parse:function parse(header){const offers=Object.create(null);if(void 0===header||""===header)return offers;let extensionName,paramName,params=Object.create(null),mustUnescape=!1,isEscaping=!1,inQuotes=!1,start=-1,end=-1,i=0;for(;i{"use strict";const kDone=Symbol("kDone"),kRun=Symbol("kRun");module.exports=class Limiter{constructor(concurrency){this[kDone]=()=>{this.pending--,this[kRun]()},this.concurrency=concurrency||1/0,this.jobs=[],this.pending=0}add(job){this.jobs.push(job),this[kRun]()}[kRun](){if(this.pending!==this.concurrency&&this.jobs.length){const job=this.jobs.shift();this.pending++,job(this[kDone])}}}},5196:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const zlib=__webpack_require__(9796),bufferUtil=__webpack_require__(977),Limiter=__webpack_require__(305),{kStatusCode,NOOP}=__webpack_require__(1872),TRAILER=Buffer.from([0,0,255,255]),kPerMessageDeflate=Symbol("permessage-deflate"),kTotalLength=Symbol("total-length"),kCallback=Symbol("callback"),kBuffers=Symbol("buffers"),kError=Symbol("error");let zlibLimiter;function deflateOnData(chunk){this[kBuffers].push(chunk),this[kTotalLength]+=chunk.length}function inflateOnData(chunk){this[kTotalLength]+=chunk.length,this[kPerMessageDeflate]._maxPayload<1||this[kTotalLength]<=this[kPerMessageDeflate]._maxPayload?this[kBuffers].push(chunk):(this[kError]=new RangeError("Max payload size exceeded"),this[kError].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[kError][kStatusCode]=1009,this.removeListener("data",inflateOnData),this.reset())}function inflateOnError(err){this[kPerMessageDeflate]._inflate=null,err[kStatusCode]=1007,this[kCallback](err)}module.exports=class PerMessageDeflate{constructor(options,isServer,maxPayload){if(this._maxPayload=0|maxPayload,this._options=options||{},this._threshold=void 0!==this._options.threshold?this._options.threshold:1024,this._isServer=!!isServer,this._deflate=null,this._inflate=null,this.params=null,!zlibLimiter){const concurrency=void 0!==this._options.concurrencyLimit?this._options.concurrencyLimit:10;zlibLimiter=new Limiter(concurrency)}}static get extensionName(){return"permessage-deflate"}offer(){const params={};return this._options.serverNoContextTakeover&&(params.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(params.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(params.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?params.client_max_window_bits=this._options.clientMaxWindowBits:null==this._options.clientMaxWindowBits&&(params.client_max_window_bits=!0),params}accept(configurations){return configurations=this.normalizeParams(configurations),this.params=this._isServer?this.acceptAsServer(configurations):this.acceptAsClient(configurations),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){const callback=this._deflate[kCallback];this._deflate.close(),this._deflate=null,callback&&callback(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(offers){const opts=this._options,accepted=offers.find((params=>!(!1===opts.serverNoContextTakeover&¶ms.server_no_context_takeover||params.server_max_window_bits&&(!1===opts.serverMaxWindowBits||"number"==typeof opts.serverMaxWindowBits&&opts.serverMaxWindowBits>params.server_max_window_bits)||"number"==typeof opts.clientMaxWindowBits&&!params.client_max_window_bits)));if(!accepted)throw new Error("None of the extension offers can be accepted");return opts.serverNoContextTakeover&&(accepted.server_no_context_takeover=!0),opts.clientNoContextTakeover&&(accepted.client_no_context_takeover=!0),"number"==typeof opts.serverMaxWindowBits&&(accepted.server_max_window_bits=opts.serverMaxWindowBits),"number"==typeof opts.clientMaxWindowBits?accepted.client_max_window_bits=opts.clientMaxWindowBits:!0!==accepted.client_max_window_bits&&!1!==opts.clientMaxWindowBits||delete accepted.client_max_window_bits,accepted}acceptAsClient(response){const params=response[0];if(!1===this._options.clientNoContextTakeover&¶ms.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(params.client_max_window_bits){if(!1===this._options.clientMaxWindowBits||"number"==typeof this._options.clientMaxWindowBits&¶ms.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"')}else"number"==typeof this._options.clientMaxWindowBits&&(params.client_max_window_bits=this._options.clientMaxWindowBits);return params}normalizeParams(configurations){return configurations.forEach((params=>{Object.keys(params).forEach((key=>{let value=params[key];if(value.length>1)throw new Error(`Parameter "${key}" must have only a single value`);if(value=value[0],"client_max_window_bits"===key){if(!0!==value){const num=+value;if(!Number.isInteger(num)||num<8||num>15)throw new TypeError(`Invalid value for parameter "${key}": ${value}`);value=num}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${key}": ${value}`)}else if("server_max_window_bits"===key){const num=+value;if(!Number.isInteger(num)||num<8||num>15)throw new TypeError(`Invalid value for parameter "${key}": ${value}`);value=num}else{if("client_no_context_takeover"!==key&&"server_no_context_takeover"!==key)throw new Error(`Unknown parameter "${key}"`);if(!0!==value)throw new TypeError(`Invalid value for parameter "${key}": ${value}`)}params[key]=value}))})),configurations}decompress(data,fin,callback){zlibLimiter.add((done=>{this._decompress(data,fin,((err,result)=>{done(),callback(err,result)}))}))}compress(data,fin,callback){zlibLimiter.add((done=>{this._compress(data,fin,((err,result)=>{done(),callback(err,result)}))}))}_decompress(data,fin,callback){const endpoint=this._isServer?"client":"server";if(!this._inflate){const key=`${endpoint}_max_window_bits`,windowBits="number"!=typeof this.params[key]?zlib.Z_DEFAULT_WINDOWBITS:this.params[key];this._inflate=zlib.createInflateRaw({...this._options.zlibInflateOptions,windowBits}),this._inflate[kPerMessageDeflate]=this,this._inflate[kTotalLength]=0,this._inflate[kBuffers]=[],this._inflate.on("error",inflateOnError),this._inflate.on("data",inflateOnData)}this._inflate[kCallback]=callback,this._inflate.write(data),fin&&this._inflate.write(TRAILER),this._inflate.flush((()=>{const err=this._inflate[kError];if(err)return this._inflate.close(),this._inflate=null,void callback(err);const data=bufferUtil.concat(this._inflate[kBuffers],this._inflate[kTotalLength]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[kTotalLength]=0,this._inflate[kBuffers]=[],fin&&this.params[`${endpoint}_no_context_takeover`]&&this._inflate.reset()),callback(null,data)}))}_compress(data,fin,callback){const endpoint=this._isServer?"server":"client";if(!this._deflate){const key=`${endpoint}_max_window_bits`,windowBits="number"!=typeof this.params[key]?zlib.Z_DEFAULT_WINDOWBITS:this.params[key];this._deflate=zlib.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits}),this._deflate[kTotalLength]=0,this._deflate[kBuffers]=[],this._deflate.on("error",NOOP),this._deflate.on("data",deflateOnData)}this._deflate[kCallback]=callback,this._deflate.write(data),this._deflate.flush(zlib.Z_SYNC_FLUSH,(()=>{if(!this._deflate)return;let data=bufferUtil.concat(this._deflate[kBuffers],this._deflate[kTotalLength]);fin&&(data=data.slice(0,data.length-4)),this._deflate[kCallback]=null,this._deflate[kTotalLength]=0,this._deflate[kBuffers]=[],fin&&this.params[`${endpoint}_no_context_takeover`]&&this._deflate.reset(),callback(null,data)}))}}},2957:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const{Writable}=__webpack_require__(2781),PerMessageDeflate=__webpack_require__(5196),{BINARY_TYPES,EMPTY_BUFFER,kStatusCode,kWebSocket}=__webpack_require__(1872),{concat,toArrayBuffer,unmask}=__webpack_require__(977),{isValidStatusCode,isValidUTF8}=__webpack_require__(6746);function error(ErrorCtor,message,prefix,statusCode,errorCode){const err=new ErrorCtor(prefix?`Invalid WebSocket frame: ${message}`:message);return Error.captureStackTrace(err,error),err.code=errorCode,err[kStatusCode]=statusCode,err}module.exports=class Receiver extends Writable{constructor(binaryType,extensions,isServer,maxPayload){super(),this._binaryType=binaryType||BINARY_TYPES[0],this[kWebSocket]=void 0,this._extensions=extensions||{},this._isServer=!!isServer,this._maxPayload=0|maxPayload,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._state=0,this._loop=!1}_write(chunk,encoding,cb){if(8===this._opcode&&0==this._state)return cb();this._bufferedBytes+=chunk.length,this._buffers.push(chunk),this.startLoop(cb)}consume(n){if(this._bufferedBytes-=n,n===this._buffers[0].length)return this._buffers.shift();if(n=buf.length?dst.set(this._buffers.shift(),offset):(dst.set(new Uint8Array(buf.buffer,buf.byteOffset,n),offset),this._buffers[0]=buf.slice(n)),n-=buf.length}while(n>0);return dst}startLoop(cb){let err;this._loop=!0;do{switch(this._state){case 0:err=this.getInfo();break;case 1:err=this.getPayloadLength16();break;case 2:err=this.getPayloadLength64();break;case 3:this.getMask();break;case 4:err=this.getData(cb);break;default:return void(this._loop=!1)}}while(this._loop);cb(err)}getInfo(){if(this._bufferedBytes<2)return void(this._loop=!1);const buf=this.consume(2);if(0!=(48&buf[0]))return this._loop=!1,error(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");const compressed=64==(64&buf[0]);if(compressed&&!this._extensions[PerMessageDeflate.extensionName])return this._loop=!1,error(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(this._fin=128==(128&buf[0]),this._opcode=15&buf[0],this._payloadLength=127&buf[1],0===this._opcode){if(compressed)return this._loop=!1,error(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(!this._fragmented)return this._loop=!1,error(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented)return this._loop=!1,error(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");this._compressed=compressed}else{if(!(this._opcode>7&&this._opcode<11))return this._loop=!1,error(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");if(!this._fin)return this._loop=!1,error(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");if(compressed)return this._loop=!1,error(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(this._payloadLength>125)return this._loop=!1,error(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH")}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=128==(128&buf[1]),this._isServer){if(!this._masked)return this._loop=!1,error(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK")}else if(this._masked)return this._loop=!1,error(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");if(126===this._payloadLength)this._state=1;else{if(127!==this._payloadLength)return this.haveLength();this._state=2}}getPayloadLength16(){if(!(this._bufferedBytes<2))return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength();this._loop=!1}getPayloadLength64(){if(this._bufferedBytes<8)return void(this._loop=!1);const buf=this.consume(8),num=buf.readUInt32BE(0);return num>Math.pow(2,21)-1?(this._loop=!1,error(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH")):(this._payloadLength=num*Math.pow(2,32)+buf.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,error(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");this._masked?this._state=3:this._state=4}getMask(){this._bufferedBytes<4?this._loop=!1:(this._mask=this.consume(4),this._state=4)}getData(cb){let data=EMPTY_BUFFER;if(this._payloadLength){if(this._bufferedBytes7?this.controlMessage(data):this._compressed?(this._state=5,void this.decompress(data,cb)):(data.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(data)),this.dataMessage())}decompress(data,cb){this._extensions[PerMessageDeflate.extensionName].decompress(data,this._fin,((err,buf)=>{if(err)return cb(err);if(buf.length){if(this._messageLength+=buf.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return cb(error(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._fragments.push(buf)}const er=this.dataMessage();if(er)return cb(er);this.startLoop(cb)}))}dataMessage(){if(this._fin){const messageLength=this._messageLength,fragments=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let data;data="nodebuffer"===this._binaryType?concat(fragments,messageLength):"arraybuffer"===this._binaryType?toArrayBuffer(concat(fragments,messageLength)):fragments,this.emit("message",data)}else{const buf=concat(fragments,messageLength);if(!isValidUTF8(buf))return this._loop=!1,error(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");this.emit("message",buf.toString())}}this._state=0}controlMessage(data){if(8===this._opcode)if(this._loop=!1,0===data.length)this.emit("conclude",1005,""),this.end();else{if(1===data.length)return error(RangeError,"invalid payload length 1",!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");{const code=data.readUInt16BE(0);if(!isValidStatusCode(code))return error(RangeError,`invalid status code ${code}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");const buf=data.slice(2);if(!isValidUTF8(buf))return error(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");this.emit("conclude",code,buf.toString()),this.end()}}else 9===this._opcode?this.emit("ping",data):this.emit("pong",data);this._state=0}}},7330:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";__webpack_require__(1808),__webpack_require__(4404);const{randomFillSync}=__webpack_require__(6113),PerMessageDeflate=__webpack_require__(5196),{EMPTY_BUFFER}=__webpack_require__(1872),{isValidStatusCode}=__webpack_require__(6746),{mask:applyMask,toBuffer}=__webpack_require__(977),mask=Buffer.alloc(4);class Sender{constructor(socket,extensions){this._extensions=extensions||{},this._socket=socket,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(data,options){const merge=options.mask&&options.readOnly;let offset=options.mask?6:2,payloadLength=data.length;data.length>=65536?(offset+=8,payloadLength=127):data.length>125&&(offset+=2,payloadLength=126);const target=Buffer.allocUnsafe(merge?data.length+offset:offset);return target[0]=options.fin?128|options.opcode:options.opcode,options.rsv1&&(target[0]|=64),target[1]=payloadLength,126===payloadLength?target.writeUInt16BE(data.length,2):127===payloadLength&&(target.writeUInt32BE(0,2),target.writeUInt32BE(data.length,6)),options.mask?(randomFillSync(mask,0,4),target[1]|=128,target[offset-4]=mask[0],target[offset-3]=mask[1],target[offset-2]=mask[2],target[offset-1]=mask[3],merge?(applyMask(data,mask,target,offset,data.length),[target]):(applyMask(data,mask,data,0,data.length),[target,data])):[target,data]}close(code,data,mask,cb){let buf;if(void 0===code)buf=EMPTY_BUFFER;else{if("number"!=typeof code||!isValidStatusCode(code))throw new TypeError("First argument must be a valid error code number");if(void 0===data||""===data)buf=Buffer.allocUnsafe(2),buf.writeUInt16BE(code,0);else{const length=Buffer.byteLength(data);if(length>123)throw new RangeError("The message must not be greater than 123 bytes");buf=Buffer.allocUnsafe(2+length),buf.writeUInt16BE(code,0),buf.write(data,2)}}this._deflating?this.enqueue([this.doClose,buf,mask,cb]):this.doClose(buf,mask,cb)}doClose(data,mask,cb){this.sendFrame(Sender.frame(data,{fin:!0,rsv1:!1,opcode:8,mask,readOnly:!1}),cb)}ping(data,mask,cb){const buf=toBuffer(data);if(buf.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPing,buf,mask,toBuffer.readOnly,cb]):this.doPing(buf,mask,toBuffer.readOnly,cb)}doPing(data,mask,readOnly,cb){this.sendFrame(Sender.frame(data,{fin:!0,rsv1:!1,opcode:9,mask,readOnly}),cb)}pong(data,mask,cb){const buf=toBuffer(data);if(buf.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPong,buf,mask,toBuffer.readOnly,cb]):this.doPong(buf,mask,toBuffer.readOnly,cb)}doPong(data,mask,readOnly,cb){this.sendFrame(Sender.frame(data,{fin:!0,rsv1:!1,opcode:10,mask,readOnly}),cb)}send(data,options,cb){const buf=toBuffer(data),perMessageDeflate=this._extensions[PerMessageDeflate.extensionName];let opcode=options.binary?2:1,rsv1=options.compress;if(this._firstFragment?(this._firstFragment=!1,rsv1&&perMessageDeflate&&(rsv1=buf.length>=perMessageDeflate._threshold),this._compress=rsv1):(rsv1=!1,opcode=0),options.fin&&(this._firstFragment=!0),perMessageDeflate){const opts={fin:options.fin,rsv1,opcode,mask:options.mask,readOnly:toBuffer.readOnly};this._deflating?this.enqueue([this.dispatch,buf,this._compress,opts,cb]):this.dispatch(buf,this._compress,opts,cb)}else this.sendFrame(Sender.frame(buf,{fin:options.fin,rsv1:!1,opcode,mask:options.mask,readOnly:toBuffer.readOnly}),cb)}dispatch(data,compress,options,cb){if(!compress)return void this.sendFrame(Sender.frame(data,options),cb);const perMessageDeflate=this._extensions[PerMessageDeflate.extensionName];this._bufferedBytes+=data.length,this._deflating=!0,perMessageDeflate.compress(data,options.fin,((_,buf)=>{if(this._socket.destroyed){const err=new Error("The socket was closed while data was being compressed");"function"==typeof cb&&cb(err);for(let i=0;i{"use strict";const{Duplex}=__webpack_require__(2781);function emitClose(stream){stream.emit("close")}function duplexOnEnd(){!this.destroyed&&this._writableState.finished&&this.destroy()}function duplexOnError(err){this.removeListener("error",duplexOnError),this.destroy(),0===this.listenerCount("error")&&this.emit("error",err)}module.exports=function createWebSocketStream(ws,options){let resumeOnReceiverDrain=!0,terminateOnDestroy=!0;function receiverOnDrain(){resumeOnReceiverDrain&&ws._socket.resume()}ws.readyState===ws.CONNECTING?ws.once("open",(function open(){ws._receiver.removeAllListeners("drain"),ws._receiver.on("drain",receiverOnDrain)})):(ws._receiver.removeAllListeners("drain"),ws._receiver.on("drain",receiverOnDrain));const duplex=new Duplex({...options,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return ws.on("message",(function message(msg){duplex.push(msg)||(resumeOnReceiverDrain=!1,ws._socket.pause())})),ws.once("error",(function error(err){duplex.destroyed||(terminateOnDestroy=!1,duplex.destroy(err))})),ws.once("close",(function close(){duplex.destroyed||duplex.push(null)})),duplex._destroy=function(err,callback){if(ws.readyState===ws.CLOSED)return callback(err),void process.nextTick(emitClose,duplex);let called=!1;ws.once("error",(function error(err){called=!0,callback(err)})),ws.once("close",(function close(){called||callback(err),process.nextTick(emitClose,duplex)})),terminateOnDestroy&&ws.terminate()},duplex._final=function(callback){ws.readyState!==ws.CONNECTING?null!==ws._socket&&(ws._socket._writableState.finished?(callback(),duplex._readableState.endEmitted&&duplex.destroy()):(ws._socket.once("finish",(function finish(){callback()})),ws.close())):ws.once("open",(function open(){duplex._final(callback)}))},duplex._read=function(){ws.readyState!==ws.OPEN&&ws.readyState!==ws.CLOSING||resumeOnReceiverDrain||(resumeOnReceiverDrain=!0,ws._receiver._writableState.needDrain||ws._socket.resume())},duplex._write=function(chunk,encoding,callback){ws.readyState!==ws.CONNECTING?ws.send(chunk,callback):ws.once("open",(function open(){duplex._write(chunk,encoding,callback)}))},duplex.on("end",duplexOnEnd),duplex.on("error",duplexOnError),duplex}},6746:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";function isValidStatusCode(code){return code>=1e3&&code<=1014&&1004!==code&&1005!==code&&1006!==code||code>=3e3&&code<=4999}function _isValidUTF8(buf){const len=buf.length;let i=0;for(;i=len||128!=(192&buf[i+1])||128!=(192&buf[i+2])||224===buf[i]&&128==(224&buf[i+1])||237===buf[i]&&160==(224&buf[i+1]))return!1;i+=3}else{if(240!=(248&buf[i]))return!1;if(i+3>=len||128!=(192&buf[i+1])||128!=(192&buf[i+2])||128!=(192&buf[i+3])||240===buf[i]&&128==(240&buf[i+1])||244===buf[i]&&buf[i+1]>143||buf[i]>244)return!1;i+=4}return!0}try{let isValidUTF8=__webpack_require__(311);"object"==typeof isValidUTF8&&(isValidUTF8=isValidUTF8.Validation.isValidUTF8),module.exports={isValidStatusCode,isValidUTF8:buf=>buf.length<150?_isValidUTF8(buf):isValidUTF8(buf)}}catch(e){module.exports={isValidStatusCode,isValidUTF8:_isValidUTF8}}},9284:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const EventEmitter=__webpack_require__(2361),http=__webpack_require__(3685),{createHash}=(__webpack_require__(5687),__webpack_require__(1808),__webpack_require__(4404),__webpack_require__(6113)),PerMessageDeflate=__webpack_require__(5196),WebSocket=__webpack_require__(8762),{format,parse}=__webpack_require__(1503),{GUID,kWebSocket}=__webpack_require__(1872),keyRegex=/^[+/0-9A-Za-z]{22}==$/;function emitClose(server){server._state=2,server.emit("close")}function socketOnError(){this.destroy()}function abortHandshake(socket,code,message,headers){socket.writable&&(message=message||http.STATUS_CODES[code],headers={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(message),...headers},socket.write(`HTTP/1.1 ${code} ${http.STATUS_CODES[code]}\r\n`+Object.keys(headers).map((h=>`${h}: ${headers[h]}`)).join("\r\n")+"\r\n\r\n"+message)),socket.removeListener("error",socketOnError),socket.destroy()}function trim(str){return str.trim()}module.exports=class WebSocketServer extends EventEmitter{constructor(options,callback){if(super(),null==(options={maxPayload:104857600,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,...options}).port&&!options.server&&!options.noServer||null!=options.port&&(options.server||options.noServer)||options.server&&options.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(null!=options.port?(this._server=http.createServer(((req,res)=>{const body=http.STATUS_CODES[426];res.writeHead(426,{"Content-Length":body.length,"Content-Type":"text/plain"}),res.end(body)})),this._server.listen(options.port,options.host,options.backlog,callback)):options.server&&(this._server=options.server),this._server){const emitConnection=this.emit.bind(this,"connection");this._removeListeners=function addListeners(server,map){for(const event of Object.keys(map))server.on(event,map[event]);return function removeListeners(){for(const event of Object.keys(map))server.removeListener(event,map[event])}}(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(req,socket,head)=>{this.handleUpgrade(req,socket,head,emitConnection)}})}!0===options.perMessageDeflate&&(options.perMessageDeflate={}),options.clientTracking&&(this.clients=new Set),this.options=options,this._state=0}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(cb){if(cb&&this.once("close",cb),2===this._state)return void process.nextTick(emitClose,this);if(1===this._state)return;if(this._state=1,this.clients)for(const client of this.clients)client.terminate();const server=this._server;server&&(this._removeListeners(),this._removeListeners=this._server=null,null!=this.options.port)?server.close(emitClose.bind(void 0,this)):process.nextTick(emitClose,this)}shouldHandle(req){if(this.options.path){const index=req.url.indexOf("?");if((-1!==index?req.url.slice(0,index):req.url)!==this.options.path)return!1}return!0}handleUpgrade(req,socket,head,cb){socket.on("error",socketOnError);const key=void 0!==req.headers["sec-websocket-key"]&&req.headers["sec-websocket-key"].trim(),version=+req.headers["sec-websocket-version"],extensions={};if("GET"!==req.method||"websocket"!==req.headers.upgrade.toLowerCase()||!key||!keyRegex.test(key)||8!==version&&13!==version||!this.shouldHandle(req))return abortHandshake(socket,400);if(this.options.perMessageDeflate){const perMessageDeflate=new PerMessageDeflate(this.options.perMessageDeflate,!0,this.options.maxPayload);try{const offers=parse(req.headers["sec-websocket-extensions"]);offers[PerMessageDeflate.extensionName]&&(perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]),extensions[PerMessageDeflate.extensionName]=perMessageDeflate)}catch(err){return abortHandshake(socket,400)}}if(this.options.verifyClient){const info={origin:req.headers[""+(8===version?"sec-websocket-origin":"origin")],secure:!(!req.socket.authorized&&!req.socket.encrypted),req};if(2===this.options.verifyClient.length)return void this.options.verifyClient(info,((verified,code,message,headers)=>{if(!verified)return abortHandshake(socket,code||401,message,headers);this.completeUpgrade(key,extensions,req,socket,head,cb)}));if(!this.options.verifyClient(info))return abortHandshake(socket,401)}this.completeUpgrade(key,extensions,req,socket,head,cb)}completeUpgrade(key,extensions,req,socket,head,cb){if(!socket.readable||!socket.writable)return socket.destroy();if(socket[kWebSocket])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>0)return abortHandshake(socket,503);const headers=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${createHash("sha1").update(key+GUID).digest("base64")}`],ws=new WebSocket(null);let protocol=req.headers["sec-websocket-protocol"];if(protocol&&(protocol=protocol.split(",").map(trim),protocol=this.options.handleProtocols?this.options.handleProtocols(protocol,req):protocol[0],protocol&&(headers.push(`Sec-WebSocket-Protocol: ${protocol}`),ws._protocol=protocol)),extensions[PerMessageDeflate.extensionName]){const params=extensions[PerMessageDeflate.extensionName].params,value=format({[PerMessageDeflate.extensionName]:[params]});headers.push(`Sec-WebSocket-Extensions: ${value}`),ws._extensions=extensions}this.emit("headers",headers,req),socket.write(headers.concat("\r\n").join("\r\n")),socket.removeListener("error",socketOnError),ws.setSocket(socket,head,this.options.maxPayload),this.clients&&(this.clients.add(ws),ws.on("close",(()=>this.clients.delete(ws)))),cb(ws,req)}}},8762:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";const EventEmitter=__webpack_require__(2361),https=__webpack_require__(5687),http=__webpack_require__(3685),net=__webpack_require__(1808),tls=__webpack_require__(4404),{randomBytes,createHash}=__webpack_require__(6113),{Readable}=__webpack_require__(2781),{URL}=__webpack_require__(7310),PerMessageDeflate=__webpack_require__(5196),Receiver=__webpack_require__(2957),Sender=__webpack_require__(7330),{BINARY_TYPES,EMPTY_BUFFER,GUID,kStatusCode,kWebSocket,NOOP}=__webpack_require__(1872),{addEventListener,removeEventListener}=__webpack_require__(62),{format,parse}=__webpack_require__(1503),{toBuffer}=__webpack_require__(977),readyStates=["CONNECTING","OPEN","CLOSING","CLOSED"],protocolVersions=[8,13];class WebSocket extends EventEmitter{constructor(address,protocols,options){super(),this._binaryType=BINARY_TYPES[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage="",this._closeTimer=null,this._extensions={},this._protocol="",this._readyState=WebSocket.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,null!==address?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,Array.isArray(protocols)?protocols=protocols.join(", "):"object"==typeof protocols&&null!==protocols&&(options=protocols,protocols=void 0),initAsClient(this,address,protocols,options)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(type){BINARY_TYPES.includes(type)&&(this._binaryType=type,this._receiver&&(this._receiver._binaryType=type))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get onclose(){}set onclose(listener){}get onerror(){}set onerror(listener){}get onopen(){}set onopen(listener){}get onmessage(){}set onmessage(listener){}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(socket,head,maxPayload){const receiver=new Receiver(this.binaryType,this._extensions,this._isServer,maxPayload);this._sender=new Sender(socket,this._extensions),this._receiver=receiver,this._socket=socket,receiver[kWebSocket]=this,socket[kWebSocket]=this,receiver.on("conclude",receiverOnConclude),receiver.on("drain",receiverOnDrain),receiver.on("error",receiverOnError),receiver.on("message",receiverOnMessage),receiver.on("ping",receiverOnPing),receiver.on("pong",receiverOnPong),socket.setTimeout(0),socket.setNoDelay(),head.length>0&&socket.unshift(head),socket.on("close",socketOnClose),socket.on("data",socketOnData),socket.on("end",socketOnEnd),socket.on("error",socketOnError),this._readyState=WebSocket.OPEN,this.emit("open")}emitClose(){if(!this._socket)return this._readyState=WebSocket.CLOSED,void this.emit("close",this._closeCode,this._closeMessage);this._extensions[PerMessageDeflate.extensionName]&&this._extensions[PerMessageDeflate.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=WebSocket.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(code,data){if(this.readyState!==WebSocket.CLOSED){if(this.readyState===WebSocket.CONNECTING){const msg="WebSocket was closed before the connection was established";return abortHandshake(this,this._req,msg)}this.readyState!==WebSocket.CLOSING?(this._readyState=WebSocket.CLOSING,this._sender.close(code,data,!this._isServer,(err=>{err||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())})),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),3e4)):this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end()}}ping(data,mask,cb){if(this.readyState===WebSocket.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");"function"==typeof data?(cb=data,data=mask=void 0):"function"==typeof mask&&(cb=mask,mask=void 0),"number"==typeof data&&(data=data.toString()),this.readyState===WebSocket.OPEN?(void 0===mask&&(mask=!this._isServer),this._sender.ping(data||EMPTY_BUFFER,mask,cb)):sendAfterClose(this,data,cb)}pong(data,mask,cb){if(this.readyState===WebSocket.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");"function"==typeof data?(cb=data,data=mask=void 0):"function"==typeof mask&&(cb=mask,mask=void 0),"number"==typeof data&&(data=data.toString()),this.readyState===WebSocket.OPEN?(void 0===mask&&(mask=!this._isServer),this._sender.pong(data||EMPTY_BUFFER,mask,cb)):sendAfterClose(this,data,cb)}send(data,options,cb){if(this.readyState===WebSocket.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof options&&(cb=options,options={}),"number"==typeof data&&(data=data.toString()),this.readyState!==WebSocket.OPEN)return void sendAfterClose(this,data,cb);const opts={binary:"string"!=typeof data,mask:!this._isServer,compress:!0,fin:!0,...options};this._extensions[PerMessageDeflate.extensionName]||(opts.compress=!1),this._sender.send(data||EMPTY_BUFFER,opts,cb)}terminate(){if(this.readyState!==WebSocket.CLOSED){if(this.readyState===WebSocket.CONNECTING){const msg="WebSocket was closed before the connection was established";return abortHandshake(this,this._req,msg)}this._socket&&(this._readyState=WebSocket.CLOSING,this._socket.destroy())}}}function initAsClient(websocket,address,protocols,options){const opts={protocolVersion:protocolVersions[1],maxPayload:104857600,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...options,createConnection:void 0,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:void 0,host:void 0,path:void 0,port:void 0};if(!protocolVersions.includes(opts.protocolVersion))throw new RangeError(`Unsupported protocol version: ${opts.protocolVersion} (supported versions: ${protocolVersions.join(", ")})`);let parsedUrl;address instanceof URL?(parsedUrl=address,websocket._url=address.href):(parsedUrl=new URL(address),websocket._url=address);const isUnixSocket="ws+unix:"===parsedUrl.protocol;if(!(parsedUrl.host||isUnixSocket&&parsedUrl.pathname)){const err=new Error(`Invalid URL: ${websocket.url}`);if(0===websocket._redirects)throw err;return void emitErrorAndClose(websocket,err)}const isSecure="wss:"===parsedUrl.protocol||"https:"===parsedUrl.protocol,defaultPort=isSecure?443:80,key=randomBytes(16).toString("base64"),get=isSecure?https.get:http.get;let perMessageDeflate;if(opts.createConnection=isSecure?tlsConnect:netConnect,opts.defaultPort=opts.defaultPort||defaultPort,opts.port=parsedUrl.port||defaultPort,opts.host=parsedUrl.hostname.startsWith("[")?parsedUrl.hostname.slice(1,-1):parsedUrl.hostname,opts.headers={"Sec-WebSocket-Version":opts.protocolVersion,"Sec-WebSocket-Key":key,Connection:"Upgrade",Upgrade:"websocket",...opts.headers},opts.path=parsedUrl.pathname+parsedUrl.search,opts.timeout=opts.handshakeTimeout,opts.perMessageDeflate&&(perMessageDeflate=new PerMessageDeflate(!0!==opts.perMessageDeflate?opts.perMessageDeflate:{},!1,opts.maxPayload),opts.headers["Sec-WebSocket-Extensions"]=format({[PerMessageDeflate.extensionName]:perMessageDeflate.offer()})),protocols&&(opts.headers["Sec-WebSocket-Protocol"]=protocols),opts.origin&&(opts.protocolVersion<13?opts.headers["Sec-WebSocket-Origin"]=opts.origin:opts.headers.Origin=opts.origin),(parsedUrl.username||parsedUrl.password)&&(opts.auth=`${parsedUrl.username}:${parsedUrl.password}`),isUnixSocket){const parts=opts.path.split(":");opts.socketPath=parts[0],opts.path=parts[1]}let req=websocket._req=get(opts);opts.timeout&&req.on("timeout",(()=>{abortHandshake(websocket,req,"Opening handshake has timed out")})),req.on("error",(err=>{null===req||req.aborted||(req=websocket._req=null,emitErrorAndClose(websocket,err))})),req.on("response",(res=>{const location=res.headers.location,statusCode=res.statusCode;if(location&&opts.followRedirects&&statusCode>=300&&statusCode<400){if(++websocket._redirects>opts.maxRedirects)return void abortHandshake(websocket,req,"Maximum redirects exceeded");let addr;req.abort();try{addr=new URL(location,address)}catch(err){return void emitErrorAndClose(websocket,err)}initAsClient(websocket,addr,protocols,options)}else websocket.emit("unexpected-response",req,res)||abortHandshake(websocket,req,`Unexpected server response: ${res.statusCode}`)})),req.on("upgrade",((res,socket,head)=>{if(websocket.emit("upgrade",res),websocket.readyState!==WebSocket.CONNECTING)return;req=websocket._req=null;const digest=createHash("sha1").update(key+GUID).digest("base64");if(res.headers["sec-websocket-accept"]!==digest)return void abortHandshake(websocket,socket,"Invalid Sec-WebSocket-Accept header");const serverProt=res.headers["sec-websocket-protocol"],protList=(protocols||"").split(/, */);let protError;if(!protocols&&serverProt?protError="Server sent a subprotocol but none was requested":protocols&&!serverProt?protError="Server sent no subprotocol":serverProt&&!protList.includes(serverProt)&&(protError="Server sent an invalid subprotocol"),protError)return void abortHandshake(websocket,socket,protError);serverProt&&(websocket._protocol=serverProt);const secWebSocketExtensions=res.headers["sec-websocket-extensions"];if(void 0!==secWebSocketExtensions){if(!perMessageDeflate){return void abortHandshake(websocket,socket,"Server sent a Sec-WebSocket-Extensions header but no extension was requested")}let extensions;try{extensions=parse(secWebSocketExtensions)}catch(err){return void abortHandshake(websocket,socket,"Invalid Sec-WebSocket-Extensions header")}const extensionNames=Object.keys(extensions);if(extensionNames.length){if(1!==extensionNames.length||extensionNames[0]!==PerMessageDeflate.extensionName){return void abortHandshake(websocket,socket,"Server indicated an extension that was not requested")}try{perMessageDeflate.accept(extensions[PerMessageDeflate.extensionName])}catch(err){return void abortHandshake(websocket,socket,"Invalid Sec-WebSocket-Extensions header")}websocket._extensions[PerMessageDeflate.extensionName]=perMessageDeflate}}websocket.setSocket(socket,head,opts.maxPayload)}))}function emitErrorAndClose(websocket,err){websocket._readyState=WebSocket.CLOSING,websocket.emit("error",err),websocket.emitClose()}function netConnect(options){return options.path=options.socketPath,net.connect(options)}function tlsConnect(options){return options.path=void 0,options.servername||""===options.servername||(options.servername=net.isIP(options.host)?"":options.host),tls.connect(options)}function abortHandshake(websocket,stream,message){websocket._readyState=WebSocket.CLOSING;const err=new Error(message);Error.captureStackTrace(err,abortHandshake),stream.setHeader?(stream.abort(),stream.socket&&!stream.socket.destroyed&&stream.socket.destroy(),stream.once("abort",websocket.emitClose.bind(websocket)),websocket.emit("error",err)):(stream.destroy(err),stream.once("error",websocket.emit.bind(websocket,"error")),stream.once("close",websocket.emitClose.bind(websocket)))}function sendAfterClose(websocket,data,cb){if(data){const length=toBuffer(data).length;websocket._socket?websocket._sender._bufferedBytes+=length:websocket._bufferedAmount+=length}if(cb){cb(new Error(`WebSocket is not open: readyState ${websocket.readyState} (${readyStates[websocket.readyState]})`))}}function receiverOnConclude(code,reason){const websocket=this[kWebSocket];websocket._closeFrameReceived=!0,websocket._closeMessage=reason,websocket._closeCode=code,void 0!==websocket._socket[kWebSocket]&&(websocket._socket.removeListener("data",socketOnData),process.nextTick(resume,websocket._socket),1005===code?websocket.close():websocket.close(code,reason))}function receiverOnDrain(){this[kWebSocket]._socket.resume()}function receiverOnError(err){const websocket=this[kWebSocket];void 0!==websocket._socket[kWebSocket]&&(websocket._socket.removeListener("data",socketOnData),process.nextTick(resume,websocket._socket),websocket.close(err[kStatusCode])),websocket.emit("error",err)}function receiverOnFinish(){this[kWebSocket].emitClose()}function receiverOnMessage(data){this[kWebSocket].emit("message",data)}function receiverOnPing(data){const websocket=this[kWebSocket];websocket.pong(data,!websocket._isServer,NOOP),websocket.emit("ping",data)}function receiverOnPong(data){this[kWebSocket].emit("pong",data)}function resume(stream){stream.resume()}function socketOnClose(){const websocket=this[kWebSocket];let chunk;this.removeListener("close",socketOnClose),this.removeListener("data",socketOnData),this.removeListener("end",socketOnEnd),websocket._readyState=WebSocket.CLOSING,this._readableState.endEmitted||websocket._closeFrameReceived||websocket._receiver._writableState.errorEmitted||null===(chunk=websocket._socket.read())||websocket._receiver.write(chunk),websocket._receiver.end(),this[kWebSocket]=void 0,clearTimeout(websocket._closeTimer),websocket._receiver._writableState.finished||websocket._receiver._writableState.errorEmitted?websocket.emitClose():(websocket._receiver.on("error",receiverOnFinish),websocket._receiver.on("finish",receiverOnFinish))}function socketOnData(chunk){this[kWebSocket]._receiver.write(chunk)||this.pause()}function socketOnEnd(){const websocket=this[kWebSocket];websocket._readyState=WebSocket.CLOSING,websocket._receiver.end(),this.end()}function socketOnError(){const websocket=this[kWebSocket];this.removeListener("error",socketOnError),this.on("error",NOOP),websocket&&(websocket._readyState=WebSocket.CLOSING,this.destroy())}Object.defineProperty(WebSocket,"CONNECTING",{enumerable:!0,value:readyStates.indexOf("CONNECTING")}),Object.defineProperty(WebSocket.prototype,"CONNECTING",{enumerable:!0,value:readyStates.indexOf("CONNECTING")}),Object.defineProperty(WebSocket,"OPEN",{enumerable:!0,value:readyStates.indexOf("OPEN")}),Object.defineProperty(WebSocket.prototype,"OPEN",{enumerable:!0,value:readyStates.indexOf("OPEN")}),Object.defineProperty(WebSocket,"CLOSING",{enumerable:!0,value:readyStates.indexOf("CLOSING")}),Object.defineProperty(WebSocket.prototype,"CLOSING",{enumerable:!0,value:readyStates.indexOf("CLOSING")}),Object.defineProperty(WebSocket,"CLOSED",{enumerable:!0,value:readyStates.indexOf("CLOSED")}),Object.defineProperty(WebSocket.prototype,"CLOSED",{enumerable:!0,value:readyStates.indexOf("CLOSED")}),["binaryType","bufferedAmount","extensions","protocol","readyState","url"].forEach((property=>{Object.defineProperty(WebSocket.prototype,property,{enumerable:!0})})),["open","error","close","message"].forEach((method=>{Object.defineProperty(WebSocket.prototype,`on${method}`,{enumerable:!0,get(){const listeners=this.listeners(method);for(let i=0;i{"use strict";module.exports=require("crypto")},2361:module=>{"use strict";module.exports=require("events")},7147:module=>{"use strict";module.exports=require("fs")},3685:module=>{"use strict";module.exports=require("http")},5687:module=>{"use strict";module.exports=require("https")},1808:module=>{"use strict";module.exports=require("net")},2037:module=>{"use strict";module.exports=require("os")},1017:module=>{"use strict";module.exports=require("path")},5477:module=>{"use strict";module.exports=require("punycode")},2781:module=>{"use strict";module.exports=require("stream")},9512:module=>{"use strict";module.exports=require("timers")},4404:module=>{"use strict";module.exports=require("tls")},7310:module=>{"use strict";module.exports=require("url")},9796:module=>{"use strict";module.exports=require("zlib")},6292:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__,Headers:()=>Headers,Request:()=>Request,Response:()=>Response,FetchError:()=>FetchError});var stream__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(2781),http__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(3685),url__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7310),whatwg_url__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(7347),https__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(5687),zlib__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(9796);const Readable=stream__WEBPACK_IMPORTED_MODULE_0__.Readable,BUFFER=Symbol("buffer"),TYPE=Symbol("type");class Blob{constructor(){this[TYPE]="";const blobParts=arguments[0],options=arguments[1],buffers=[];let size=0;if(blobParts){const a=blobParts,length=Number(a.length);for(let i=0;i1&&void 0!==arguments[1]?arguments[1]:{},_ref$size=_ref.size;let size=void 0===_ref$size?0:_ref$size;var _ref$timeout=_ref.timeout;let timeout=void 0===_ref$timeout?0:_ref$timeout;null==body?body=null:isURLSearchParams(body)?body=Buffer.from(body.toString()):isBlob(body)||Buffer.isBuffer(body)||("[object ArrayBuffer]"===Object.prototype.toString.call(body)?body=Buffer.from(body):ArrayBuffer.isView(body)?body=Buffer.from(body.buffer,body.byteOffset,body.byteLength):body instanceof stream__WEBPACK_IMPORTED_MODULE_0__||(body=Buffer.from(String(body)))),this[INTERNALS]={body,disturbed:!1,error:null},this.size=size,this.timeout=timeout,body instanceof stream__WEBPACK_IMPORTED_MODULE_0__&&body.on("error",(function(err){const error="AbortError"===err.name?err:new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`,"system",err);_this[INTERNALS].error=error}))}function consumeBody(){var _this4=this;if(this[INTERNALS].disturbed)return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[INTERNALS].disturbed=!0,this[INTERNALS].error)return Body.Promise.reject(this[INTERNALS].error);let body=this.body;if(null===body)return Body.Promise.resolve(Buffer.alloc(0));if(isBlob(body)&&(body=body.stream()),Buffer.isBuffer(body))return Body.Promise.resolve(body);if(!(body instanceof stream__WEBPACK_IMPORTED_MODULE_0__))return Body.Promise.resolve(Buffer.alloc(0));let accum=[],accumBytes=0,abort=!1;return new Body.Promise((function(resolve,reject){let resTimeout;_this4.timeout&&(resTimeout=setTimeout((function(){abort=!0,reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`,"body-timeout"))}),_this4.timeout)),body.on("error",(function(err){"AbortError"===err.name?(abort=!0,reject(err)):reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`,"system",err))})),body.on("data",(function(chunk){if(!abort&&null!==chunk){if(_this4.size&&accumBytes+chunk.length>_this4.size)return abort=!0,void reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`,"max-size"));accumBytes+=chunk.length,accum.push(chunk)}})),body.on("end",(function(){if(!abort){clearTimeout(resTimeout);try{resolve(Buffer.concat(accum,accumBytes))}catch(err){reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`,"system",err))}}}))}))}function isURLSearchParams(obj){return"object"==typeof obj&&"function"==typeof obj.append&&"function"==typeof obj.delete&&"function"==typeof obj.get&&"function"==typeof obj.getAll&&"function"==typeof obj.has&&"function"==typeof obj.set&&("URLSearchParams"===obj.constructor.name||"[object URLSearchParams]"===Object.prototype.toString.call(obj)||"function"==typeof obj.sort)}function isBlob(obj){return"object"==typeof obj&&"function"==typeof obj.arrayBuffer&&"string"==typeof obj.type&&"function"==typeof obj.stream&&"function"==typeof obj.constructor&&"string"==typeof obj.constructor.name&&/^(Blob|File)$/.test(obj.constructor.name)&&/^(Blob|File)$/.test(obj[Symbol.toStringTag])}function clone(instance){let p1,p2,body=instance.body;if(instance.bodyUsed)throw new Error("cannot clone body after it is used");return body instanceof stream__WEBPACK_IMPORTED_MODULE_0__&&"function"!=typeof body.getBoundary&&(p1=new PassThrough,p2=new PassThrough,body.pipe(p1),body.pipe(p2),instance[INTERNALS].body=p1,body=p2),body}function extractContentType(body){return null===body?null:"string"==typeof body?"text/plain;charset=UTF-8":isURLSearchParams(body)?"application/x-www-form-urlencoded;charset=UTF-8":isBlob(body)?body.type||null:Buffer.isBuffer(body)||"[object ArrayBuffer]"===Object.prototype.toString.call(body)||ArrayBuffer.isView(body)?null:"function"==typeof body.getBoundary?`multipart/form-data;boundary=${body.getBoundary()}`:body instanceof stream__WEBPACK_IMPORTED_MODULE_0__?null:"text/plain;charset=UTF-8"}function getTotalBytes(instance){const body=instance.body;return null===body?0:isBlob(body)?body.size:Buffer.isBuffer(body)?body.length:body&&"function"==typeof body.getLengthSync&&(body._lengthRetrievers&&0==body._lengthRetrievers.length||body.hasKnownLength&&body.hasKnownLength())?body.getLengthSync():null}Body.prototype={get body(){return this[INTERNALS].body},get bodyUsed(){return this[INTERNALS].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(buf){return buf.buffer.slice(buf.byteOffset,buf.byteOffset+buf.byteLength)}))},blob(){let ct=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(buf){return Object.assign(new Blob([],{type:ct.toLowerCase()}),{[BUFFER]:buf})}))},json(){var _this2=this;return consumeBody.call(this).then((function(buffer){try{return JSON.parse(buffer.toString())}catch(err){return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(buffer){return buffer.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var _this3=this;return consumeBody.call(this).then((function(buffer){return function convertBody(buffer,headers){if("function"!=typeof convert)throw new Error("The package `encoding` must be installed to use the textConverted() function");const ct=headers.get("content-type");let res,str,charset="utf-8";ct&&(res=/charset=([^;]*)/i.exec(ct));str=buffer.slice(0,1024).toString(),!res&&str&&(res=/0&&void 0!==arguments[0]?arguments[0]:void 0;if(this[MAP]=Object.create(null),init instanceof Headers){const rawHeaders=init.raw(),headerNames=Object.keys(rawHeaders);for(const headerName of headerNames)for(const value of rawHeaders[headerName])this.append(headerName,value)}else if(null==init);else{if("object"!=typeof init)throw new TypeError("Provided initializer must be an object");{const method=init[Symbol.iterator];if(null!=method){if("function"!=typeof method)throw new TypeError("Header pairs must be iterable");const pairs=[];for(const pair of init){if("object"!=typeof pair||"function"!=typeof pair[Symbol.iterator])throw new TypeError("Each header pair must be iterable");pairs.push(Array.from(pair))}for(const pair of pairs){if(2!==pair.length)throw new TypeError("Each header pair must be a name/value tuple");this.append(pair[0],pair[1])}}else for(const key of Object.keys(init)){const value=init[key];this.append(key,value)}}}}get(name){validateName(name=`${name}`);const key=find(this[MAP],name);return void 0===key?null:this[MAP][key].join(", ")}forEach(callback){let thisArg=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,pairs=getHeaders(this),i=0;for(;i1&&void 0!==arguments[1]?arguments[1]:"key+value";const keys=Object.keys(headers[MAP]).sort();return keys.map("key"===kind?function(k){return k.toLowerCase()}:"value"===kind?function(k){return headers[MAP][k].join(", ")}:function(k){return[k.toLowerCase(),headers[MAP][k].join(", ")]})}Headers.prototype.entries=Headers.prototype[Symbol.iterator],Object.defineProperty(Headers.prototype,Symbol.toStringTag,{value:"Headers",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(Headers.prototype,{get:{enumerable:!0},forEach:{enumerable:!0},set:{enumerable:!0},append:{enumerable:!0},has:{enumerable:!0},delete:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0}});const INTERNAL=Symbol("internal");function createHeadersIterator(target,kind){const iterator=Object.create(HeadersIteratorPrototype);return iterator[INTERNAL]={target,kind,index:0},iterator}const HeadersIteratorPrototype=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==HeadersIteratorPrototype)throw new TypeError("Value of `this` is not a HeadersIterator");var _INTERNAL=this[INTERNAL];const target=_INTERNAL.target,kind=_INTERNAL.kind,index=_INTERNAL.index,values=getHeaders(target,kind);return index>=values.length?{value:void 0,done:!0}:(this[INTERNAL].index=index+1,{value:values[index],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));function exportNodeCompatibleHeaders(headers){const obj=Object.assign({__proto__:null},headers[MAP]),hostHeaderKey=find(headers[MAP],"Host");return void 0!==hostHeaderKey&&(obj[hostHeaderKey]=obj[hostHeaderKey][0]),obj}Object.defineProperty(HeadersIteratorPrototype,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});const INTERNALS$1=Symbol("Response internals"),STATUS_CODES=http__WEBPACK_IMPORTED_MODULE_1__.STATUS_CODES;class Response{constructor(){let body=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,opts=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Body.call(this,body,opts);const status=opts.status||200,headers=new Headers(opts.headers);if(null!=body&&!headers.has("Content-Type")){const contentType=extractContentType(body);contentType&&headers.append("Content-Type",contentType)}this[INTERNALS$1]={url:opts.url,status,statusText:opts.statusText||STATUS_CODES[status],headers,counter:opts.counter}}get url(){return this[INTERNALS$1].url||""}get status(){return this[INTERNALS$1].status}get ok(){return this[INTERNALS$1].status>=200&&this[INTERNALS$1].status<300}get redirected(){return this[INTERNALS$1].counter>0}get statusText(){return this[INTERNALS$1].statusText}get headers(){return this[INTERNALS$1].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype),Object.defineProperties(Response.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}}),Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});const INTERNALS$2=Symbol("Request internals"),URL=url__WEBPACK_IMPORTED_MODULE_2__.URL||whatwg_url__WEBPACK_IMPORTED_MODULE_3__.URL,parse_url=url__WEBPACK_IMPORTED_MODULE_2__.parse,format_url=url__WEBPACK_IMPORTED_MODULE_2__.format;function parseURL(urlStr){return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)&&(urlStr=new URL(urlStr).toString()),parse_url(urlStr)}const streamDestructionSupported="destroy"in stream__WEBPACK_IMPORTED_MODULE_0__.Readable.prototype;function isRequest(input){return"object"==typeof input&&"object"==typeof input[INTERNALS$2]}class Request{constructor(input){let parsedURL,init=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};isRequest(input)?parsedURL=parseURL(input.url):(parsedURL=input&&input.href?parseURL(input.href):parseURL(`${input}`),input={});let method=init.method||input.method||"GET";if(method=method.toUpperCase(),(null!=init.body||isRequest(input)&&null!==input.body)&&("GET"===method||"HEAD"===method))throw new TypeError("Request with GET/HEAD method cannot have body");let inputBody=null!=init.body?init.body:isRequest(input)&&null!==input.body?clone(input):null;Body.call(this,inputBody,{timeout:init.timeout||input.timeout||0,size:init.size||input.size||0});const headers=new Headers(init.headers||input.headers||{});if(null!=inputBody&&!headers.has("Content-Type")){const contentType=extractContentType(inputBody);contentType&&headers.append("Content-Type",contentType)}let signal=isRequest(input)?input.signal:null;if("signal"in init&&(signal=init.signal),null!=signal&&!function isAbortSignal(signal){const proto=signal&&"object"==typeof signal&&Object.getPrototypeOf(signal);return!(!proto||"AbortSignal"!==proto.constructor.name)}(signal))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[INTERNALS$2]={method,redirect:init.redirect||input.redirect||"follow",headers,parsedURL,signal},this.follow=void 0!==init.follow?init.follow:void 0!==input.follow?input.follow:20,this.compress=void 0!==init.compress?init.compress:void 0===input.compress||input.compress,this.counter=init.counter||input.counter||0,this.agent=init.agent||input.agent}get method(){return this[INTERNALS$2].method}get url(){return format_url(this[INTERNALS$2].parsedURL)}get headers(){return this[INTERNALS$2].headers}get redirect(){return this[INTERNALS$2].redirect}get signal(){return this[INTERNALS$2].signal}clone(){return new Request(this)}}function AbortError(message){Error.call(this,message),this.type="aborted",this.message=message,Error.captureStackTrace(this,this.constructor)}Body.mixIn(Request.prototype),Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(Request.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}}),AbortError.prototype=Object.create(Error.prototype),AbortError.prototype.constructor=AbortError,AbortError.prototype.name="AbortError";const URL$1=url__WEBPACK_IMPORTED_MODULE_2__.URL||whatwg_url__WEBPACK_IMPORTED_MODULE_3__.URL,PassThrough$1=stream__WEBPACK_IMPORTED_MODULE_0__.PassThrough;function fetch(url,opts){if(!fetch.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return Body.Promise=fetch.Promise,new fetch.Promise((function(resolve,reject){const request=new Request(url,opts),options=function getNodeRequestOptions(request){const parsedURL=request[INTERNALS$2].parsedURL,headers=new Headers(request[INTERNALS$2].headers);if(headers.has("Accept")||headers.set("Accept","*/*"),!parsedURL.protocol||!parsedURL.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(parsedURL.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(request.signal&&request.body instanceof stream__WEBPACK_IMPORTED_MODULE_0__.Readable&&!streamDestructionSupported)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let contentLengthValue=null;if(null==request.body&&/^(POST|PUT)$/i.test(request.method)&&(contentLengthValue="0"),null!=request.body){const totalBytes=getTotalBytes(request);"number"==typeof totalBytes&&(contentLengthValue=String(totalBytes))}contentLengthValue&&headers.set("Content-Length",contentLengthValue),headers.has("User-Agent")||headers.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),request.compress&&!headers.has("Accept-Encoding")&&headers.set("Accept-Encoding","gzip,deflate");let agent=request.agent;return"function"==typeof agent&&(agent=agent(parsedURL)),headers.has("Connection")||agent||headers.set("Connection","close"),Object.assign({},parsedURL,{method:request.method,headers:exportNodeCompatibleHeaders(headers),agent})}(request),send=("https:"===options.protocol?https__WEBPACK_IMPORTED_MODULE_4__:http__WEBPACK_IMPORTED_MODULE_1__).request,signal=request.signal;let response=null;const abort=function abort(){let error=new AbortError("The user aborted a request.");reject(error),request.body&&request.body instanceof stream__WEBPACK_IMPORTED_MODULE_0__.Readable&&request.body.destroy(error),response&&response.body&&response.body.emit("error",error)};if(signal&&signal.aborted)return void abort();const abortAndFinalize=function abortAndFinalize(){abort(),finalize()},req=send(options);let reqTimeout;function finalize(){req.abort(),signal&&signal.removeEventListener("abort",abortAndFinalize),clearTimeout(reqTimeout)}signal&&signal.addEventListener("abort",abortAndFinalize),request.timeout&&req.once("socket",(function(socket){reqTimeout=setTimeout((function(){reject(new FetchError(`network timeout at: ${request.url}`,"request-timeout")),finalize()}),request.timeout)})),req.on("error",(function(err){reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`,"system",err)),finalize()})),req.on("response",(function(res){clearTimeout(reqTimeout);const headers=function createHeadersLenient(obj){const headers=new Headers;for(const name of Object.keys(obj))if(!invalidTokenRegex.test(name))if(Array.isArray(obj[name]))for(const val of obj[name])invalidHeaderCharRegex.test(val)||(void 0===headers[MAP][name]?headers[MAP][name]=[val]:headers[MAP][name].push(val));else invalidHeaderCharRegex.test(obj[name])||(headers[MAP][name]=[obj[name]]);return headers}(res.headers);if(fetch.isRedirect(res.statusCode)){const location=headers.get("Location");let locationURL=null;try{locationURL=null===location?null:new URL$1(location,request.url).toString()}catch(err){if("manual"!==request.redirect)return reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`,"invalid-redirect")),void finalize()}switch(request.redirect){case"error":return reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`,"no-redirect")),void finalize();case"manual":if(null!==locationURL)try{headers.set("Location",locationURL)}catch(err){reject(err)}break;case"follow":if(null===locationURL)break;if(request.counter>=request.follow)return reject(new FetchError(`maximum redirect reached at: ${request.url}`,"max-redirect")),void finalize();const requestOpts={headers:new Headers(request.headers),follow:request.follow,counter:request.counter+1,agent:request.agent,compress:request.compress,method:request.method,body:request.body,signal:request.signal,timeout:request.timeout,size:request.size};if(!function isDomainOrSubdomain(destination,original){const orig=new URL$1(original).hostname,dest=new URL$1(destination).hostname;return orig===dest||"."===orig[orig.length-dest.length-1]&&orig.endsWith(dest)}(request.url,locationURL))for(const name of["authorization","www-authenticate","cookie","cookie2"])requestOpts.headers.delete(name);return 303!==res.statusCode&&request.body&&null===getTotalBytes(request)?(reject(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect")),void finalize()):(303!==res.statusCode&&(301!==res.statusCode&&302!==res.statusCode||"POST"!==request.method)||(requestOpts.method="GET",requestOpts.body=void 0,requestOpts.headers.delete("content-length")),resolve(fetch(new Request(locationURL,requestOpts))),void finalize())}}res.once("end",(function(){signal&&signal.removeEventListener("abort",abortAndFinalize)}));let body=res.pipe(new PassThrough$1);const response_options={url:request.url,status:res.statusCode,statusText:res.statusMessage,headers,size:request.size,timeout:request.timeout,counter:request.counter},codings=headers.get("Content-Encoding");if(!request.compress||"HEAD"===request.method||null===codings||204===res.statusCode||304===res.statusCode)return response=new Response(body,response_options),void resolve(response);const zlibOptions={flush:zlib__WEBPACK_IMPORTED_MODULE_5__.Z_SYNC_FLUSH,finishFlush:zlib__WEBPACK_IMPORTED_MODULE_5__.Z_SYNC_FLUSH};if("gzip"==codings||"x-gzip"==codings)return body=body.pipe(zlib__WEBPACK_IMPORTED_MODULE_5__.createGunzip(zlibOptions)),response=new Response(body,response_options),void resolve(response);if("deflate"!=codings&&"x-deflate"!=codings){if("br"==codings&&"function"==typeof zlib__WEBPACK_IMPORTED_MODULE_5__.createBrotliDecompress)return body=body.pipe(zlib__WEBPACK_IMPORTED_MODULE_5__.createBrotliDecompress()),response=new Response(body,response_options),void resolve(response);response=new Response(body,response_options),resolve(response)}else{res.pipe(new PassThrough$1).once("data",(function(chunk){body=8==(15&chunk[0])?body.pipe(zlib__WEBPACK_IMPORTED_MODULE_5__.createInflate()):body.pipe(zlib__WEBPACK_IMPORTED_MODULE_5__.createInflateRaw()),response=new Response(body,response_options),resolve(response)}))}})),function writeToStream(dest,instance){const body=instance.body;null===body?dest.end():isBlob(body)?body.stream().pipe(dest):Buffer.isBuffer(body)?(dest.write(body),dest.end()):body.pipe(dest)}(req,request)}))}fetch.isRedirect=function(code){return 301===code||302===code||303===code||307===code||308===code},fetch.Promise=global.Promise;const __WEBPACK_DEFAULT_EXPORT__=fetch},2020:module=>{"use strict";module.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}},__webpack_module_cache__={};function __webpack_require__(moduleId){var cachedModule=__webpack_module_cache__[moduleId];if(void 0!==cachedModule)return cachedModule.exports;var module=__webpack_module_cache__[moduleId]={exports:{}};return __webpack_modules__[moduleId](module,module.exports,__webpack_require__),module.exports}__webpack_require__.n=module=>{var getter=module&&module.__esModule?()=>module.default:()=>module;return __webpack_require__.d(getter,{a:getter}),getter},__webpack_require__.d=(exports,definition)=>{for(var key in definition)__webpack_require__.o(definition,key)&&!__webpack_require__.o(exports,key)&&Object.defineProperty(exports,key,{enumerable:!0,get:definition[key]})},__webpack_require__.o=(obj,prop)=>Object.prototype.hasOwnProperty.call(obj,prop),__webpack_require__.r=exports=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})};var __webpack_exports__=__webpack_require__(4608);module.exports=__webpack_exports__})(); +//# sourceMappingURL=extension.js.map \ No newline at end of file diff --git a/vscodium/extensions/leonardssh.vscord-4.5.0/dist/extension.js.LICENSE.txt b/vscodium/extensions/leonardssh.vscord-4.5.0/dist/extension.js.LICENSE.txt new file mode 100644 index 00000000..a7424ec2 --- /dev/null +++ b/vscodium/extensions/leonardssh.vscord-4.5.0/dist/extension.js.LICENSE.txt @@ -0,0 +1,9 @@ +/*! + * buildToken + * Builds OAuth token prefix (helper function) + * + * @name buildToken + * @function + * @param {GitUrl} obj The parsed Git url object. + * @return {String} token prefix + */ diff --git a/vscodium/extensions/leonardssh.vscord-4.5.0/dist/extension.js.map b/vscodium/extensions/leonardssh.vscord-4.5.0/dist/extension.js.map new file mode 100644 index 00000000..d9b9b0ef --- /dev/null +++ b/vscodium/extensions/leonardssh.vscord-4.5.0/dist/extension.js.map @@ -0,0 +1 @@ +{"version":3,"file":"extension.js","mappings":"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C7B7L,MAAM8L,GAAMA,EAAEC,cAAc9R,KAAKiG,IAAM,IACnCA,EACHiE,KAAMwH,MAAMzL,EAAEiE,YAUpBlE,gBAAgBiH,MAAOrF,MAErB,aADM5C,KAAK0C,QAAQQ,YAAY6J,UAAWnK,KAAMqF,OACzC,CACL+E,YAAa,IAAMhN,KAAK0C,QAAQQ,YAAY+J,YAAarK,KAAMqF,QAOnEjH,sBACQhB,KAAKM,UAAU4M,iEC7oBzB,SAASC,UAAUC,KACjB,MAAMC,IAAM,GACZ,IAAK,MAAMC,SAASF,IAClBC,IAAIC,OAASA,MAEf,OAAOD,IAITzS,QAAQ2S,QAA4B,oBAAXC,OAEzB5S,QAAQsI,YAAciK,UAAU,CAC9B,WACA,YACA,eACA,YACA,aACA,cACA,eACA,wBACA,oBACA,WACA,YACA,cACA,0BACA,4BACA,uBACA,6BACA,sBACA,qBACA,uBACA,qBACA,mBACA,eACA,4BACA,8BACA,uBACA,yBACA,iBACA,YACA,uBACA,kCACA,oBACA,yBACA,UACA,kBACA,wBACA,YACA,eACA,eACA,eACA,sBACA,mBACA,wBACA,gBACA,iBACA,yBACA,8BACA,qBACA,+BACA,4BACA,8BACA,uBACA,yBACA,yBACA,iBACA,WACA,mBACA,wBACA,4BACA,0BACA,0BACA,uBACA,0BAGFvS,QAAQwI,UAAY+J,UAAU,CAC5B,sBACA,eACA,eACA,iBACA,sBACA,uBACA,qBACA,qBACA,qBACA,wBACA,0BACA,0BACA,iBACA,gBACA,YACA,gBACA,gBACA,wBACA,oBACA,kBACA,sBACA,iBACA,iBACA,iBACA,eACA,eACA,uBACA,0BACA,sBACA,gBACA,0BACA,UACA,iBACA,qBACA,qBACA,0BACA,QACA,UAGFvS,QAAQ6S,UAAY,CAClBC,mCAAoC,KACpCC,oBAAqB,KACrBC,8BAA+B,KAC/BC,wBAAyB,KACzBC,gBAAiB,KACjBC,iBAAkB,KAClBC,gBAAiB,KACjBC,oBAAqB,KACrBC,cAAe,KACfC,kBAAmB,KACnBC,cAAe,KACfC,eAAgB,KAChBC,cAAe,KACfC,qBAAsB,KACtBC,eAAgB,KAChBC,gBAAiB,IACjBC,oBAAqB,KACrBC,cAAe,KACfC,aAAc,KACdC,WAAY,KACZC,qBAAsB,KACtBC,aAAc,IACdC,kBAAmB,KACnBC,eAAgB,KAChBC,aAAc,KACdC,yBAA0B,KAC1BC,4BAA6B,KAC7BC,oBAAqB,KACrBC,oBAAqB,KACrBC,6BAA8B,KAC9BC,cAAe,KAGjB5U,QAAQ6U,cAAgB,CACtBC,aAAc,IACdC,kBAAmB,KACnBC,eAAgB,KAChB7B,iBAAkB,IAClBS,eAAgB,KAChBqB,YAAa,KACbC,cAAe,KACfC,gBAAiB,KACjBC,iBAAkB,MAGpBpV,QAAQqV,WAAa,CACnBC,QAAS,EACTC,OAAQ,GAGVvV,QAAQ+R,kBAAoB,CAC1ByD,KAAM,EACNC,OAAQ,EACRC,QAAS,EACTC,iBAAkB,EAClBC,iBAAkB,EAClBC,SAAU,8EC9KZ,MAAMC,KAAO,oBAAQ,MAErB/V,OAAOC,QAAU,CACf+V,OAAQ,oBAAQ,MAChBC,SAASxM,IACAsM,KAAKE,SAAS,WAAWxM,kFCLpCzJ,OAAOC,QAAU,CACfiW,IAAK,oBAAQ,MACbC,UAAW,oBAAQ,kFCFrB,MAAMC,IAAM,oBAAQ,MACdxR,aAAe,oBAAQ,MACvBC,MAAQ,oBAAQ,OAChB,MAAW,oBAAQ,MAEnBwR,kBACO,EADPA,cAEG,EAFHA,cAGG,EAHHA,aAIE,EAJFA,aAKE,EAYR,SAASC,OAAO7M,GAAK,GACnB,OAAO,IAAIvC,SAAQ,CAAC7F,QAAS8F,UAC3B,MAAM3I,KAXV,SAAS+X,WAAW9M,IAClB,GAAyB,UAArBvK,QAAQK,SACV,MAAO,4BAA4BkK,KAErC,MAAQtK,KAAK,gBAAiB,OAAQ,IAAK,OAAaD,QAExD,MAAO,IADQsX,iBAAmBC,QAAUC,KAAOC,MAAQ,QAC1CtS,QAAQ,MAAO,mBAAmBoF,KAKpC8M,CAAW9M,IAClBmN,QAAU,KACVnN,GAAK,GACPpI,QAAQiV,OAAO7M,GAAK,IAEpBtC,OAAO,IAAI1F,MAAM,uBAGfoV,KAAOT,IAAIU,iBAAiBtY,MAAM,KACtCqY,KAAKE,eAAe,QAASH,SAC7BvV,QAAQwV,SAEVA,KAAKtP,KAAK,QAASqP,YAIvBvQ,eAAe2Q,aAAajW,MAAQ,GAClC,GAAIA,MAAQ,GACV,MAAM,IAAIU,MAAM,2BAElB,MAAMsE,SAAW,qBAAoB,KAAQhF,MAAQ,IACrD,IAEE,OAAiB,aADD8D,MAAMkB,WAChBU,OACGV,SAEFiR,aAAajW,MAAQ,GAC5B,MAAOjC,GACP,OAAOkY,aAAajW,MAAQ,IAIhC,SAASkW,OAAOC,GAAIrR,MAClBA,KAAO0H,KAAKC,UAAU3H,MACtB,MAAMsR,IAAMC,OAAOC,WAAWxR,MACxByR,OAASF,OAAOG,MAAM,EAAIJ,KAIhC,OAHAG,OAAOE,aAAaN,GAAI,GACxBI,OAAOE,aAAaL,IAAK,GACzBG,OAAOG,MAAM5R,KAAM,EAAGsR,KACfG,OAGT,MAAMI,QAAU,CACdC,KAAM,GACNT,QAAIlQ,GAGN,SAASjD,OAAO6T,OAAQzK,UACtB,MAAMmK,OAASM,OAAOC,OACtB,IAAKP,OACH,OAGF,IACIQ,KADA,IAASJ,QAEb,GAAqB,KAAjBA,QAAQC,KAAa,CACvBT,GAAKQ,QAAQR,GAAKI,OAAOS,YAAY,GACrC,MAAMZ,IAAMG,OAAOS,YAAY,GAC/BD,IAAMR,OAAO7T,MAAM,EAAG0T,IAAM,QAE5BW,IAAMR,OAAOU,WAGf,IAEE7K,SAAS,CAAE+J,GAAIrR,KADF0H,KAAK0K,MAAMP,QAAQC,KAAOG,OAEvCJ,QAAQC,KAAO,GACfD,QAAQR,QAAKlQ,EACb,MAAOnG,KACP6W,QAAQC,MAAQG,IAGlB/T,OAAO6T,OAAQzK,UAwEjBnN,OAAOC,QArEP,MAAMiY,qBAAqBtT,aACzBM,YAAYiT,QACV/S,QACAC,KAAK8S,OAASA,OACd9S,KAAKuS,OAAS,KAGhBvR,gBACE,MAAMuR,OAASvS,KAAKuS,aAAetB,SACnCsB,OAAOlR,GAAG,QAASrB,KAAK+S,QAAQxR,KAAKvB,OACrCuS,OAAOlR,GAAG,QAASrB,KAAK+S,QAAQxR,KAAKvB,OACrCA,KAAKqC,KAAK,QACVkQ,OAAOH,MAAMR,OAAOZ,kBAAmB,CACrCgC,EAAG,EACHrP,UAAW3D,KAAK8S,OAAO5S,YAEzBqS,OAAOU,QACPV,OAAOlR,GAAG,YAAY,KACpB3C,OAAO6T,QAAQ,EAAGV,GAAIrR,SACpB,OAAQqR,IACN,KAAKb,aACHhR,KAAKgD,KAAKxC,KAAMwQ,cAChB,MACF,KAAKA,cACH,IAAKxQ,KACH,OAEe,cAAbA,KAAKmC,KAAoC,UAAbnC,KAAKqC,KACnC8O,eACG5Q,MAAML,WACLV,KAAK8S,OAAOpQ,QAAQhC,SAAWA,YAEhC4B,OAAO7I,IACNuG,KAAK8S,OAAOzQ,KAAK,QAAS5I,MAGhCuG,KAAKqC,KAAK,UAAW7B,MACrB,MACF,KAAKwQ,cACHhR,KAAKqC,KAAK,QAAS7B,aAS7BuS,QAAQtZ,GACNuG,KAAKqC,KAAK,QAAS5I,GAGrBuJ,KAAKxC,KAAMqR,GAAKb,eACdhR,KAAKuS,OAAOH,MAAMR,OAAOC,GAAIrR,OAG/BQ,cACE,OAAO,IAAIa,SAASZ,IAClBjB,KAAKkC,KAAK,QAASjB,GACnBjB,KAAKgD,KAAK,GAAIgO,eACdhR,KAAKuS,OAAOtJ,SAIhBiK,OACElT,KAAKgD,KAAKD,OAAQiO,gBAKtBrW,OAAOC,QAAQgX,OAASA,OACxBjX,OAAOC,QAAQ8D,OAASA,kFC1KxB,MAAMa,aAAe,oBAAQ,OACvB,SAAc,oBAAQ,MAGtB4T,UAAY5F,QAAUC,OAAO2F,UAAY,oBAAQ,MAsEvDxY,OAAOC,QAjEP,MAAMwY,2BAA2B7T,aAC/BM,YAAYiT,QACV/S,QACAC,KAAK8S,OAASA,OACd9S,KAAKqT,GAAK,KACVrT,KAAKtE,MAAQ,EAGfsF,gBACE,MAAMsS,KAAO,KAAQtT,KAAKtE,MAAQ,GAClCsE,KAAKtE,OAAS,EAEdsE,KAAKqT,GAAK,IAAIF,UACZ,kBAAkBG,uBAAuBtT,KAAK8S,OAAO5S,WACrDqN,aAAU5L,EAAY,CAAE4R,OAAQvT,KAAK8S,OAAOhT,QAAQyT,SAEtDvT,KAAKqT,GAAGG,OAASxT,KAAKyT,OAAOlS,KAAKvB,MAClCA,KAAKqT,GAAGK,QAAU1T,KAAK+S,QAAQxR,KAAKvB,MACpCA,KAAKqT,GAAG9B,QAAUvR,KAAK2T,QAAQpS,KAAKvB,MACpCA,KAAKqT,GAAGO,UAAY5T,KAAK6T,UAAUtS,KAAKvB,MAG1CyT,SACEzT,KAAKqC,KAAK,QAGZ0Q,QAAQ9K,OACDA,MAAM6L,UAGX9T,KAAKqC,KAAK,QAAS4F,OAGrB0L,QAAQ1L,OACN,IACEjI,KAAKqT,GAAGnG,QACR,OAEElN,KAAKtE,MAAQ,GACfsE,KAAKqC,KAAK,QAAS4F,MAAM8L,OAEzB/R,YAAW,KACThC,KAAK4B,YACJ,KAIPiS,UAAU5L,OAjDG,IAACrB,EAkDZ5G,KAAKqC,KAAK,WAlDEuE,EAkDgBqB,MAAMzH,KAlDhB0H,KAAK0K,MAAMhM,KAqD/B5D,KAAKxC,MAtDM,IAACyE,EAuDVjF,KAAKqT,GAAGrQ,MAvDEiC,EAuDQzE,KAvDF0H,KAAKC,UAAUlD,KA0DjCiO,QAEAhG,QACE,OAAO,IAAIrL,SAASZ,IAClBjB,KAAKkC,KAAK,QAASjB,GACnBjB,KAAKqT,GAAGnG,wFCrEd,IAAI0D,SACJ,IACE,MAAM,KAAU,oBAAQ,MACxBA,SAAWoD,IAAIC,2BAA2B1S,KAAKyS,KAC/C,MAAOxY,KACP,IACEoV,SAAW,oBAAQ,MACnB,MAAOnX,KAGa,mBAAbmX,WACTA,SAAW,KAAM,GAgCnBjW,OAAOC,QAAU,CACf8E,IA9BF,SAASA,MACP,MAAuB,oBAAZ7F,QACFA,QAAQ6F,IAEV,MA2BPkR,SACA7N,KAzBe,KACf,IAAIA,KAAO,GACX,IAAK,IAAI9H,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAAG,CAI9B,IAAIK,EACJ,GAJU,IAANL,GAAiB,KAANA,GAAkB,KAANA,GAAkB,KAANA,IACrC8H,MAAQ,KAGA,KAAN9H,EACFK,EAAI,MACC,CACL,MAAM4Y,OAAyB,GAAhB/K,KAAK+K,SAAgB,EAElC5Y,EADQ,KAANL,EACY,EAATiZ,OAAc,EAEfA,OAGRnR,MAAQzH,EAAEqX,SAAS,IAErB,OAAO5P,qEC1CT,MAAM7J,GAAK,oBAAQ,MACbC,KAAO,oBAAQ,MAEfgb,SAAWhb,KAAKE,KAAKsE,UAAW,YAiBtChD,OAAOC,QAfP,SAASwZ,kBACP,IAAIC,eAIJ,GAHInb,GAAGQ,WAAWya,YAChBE,eAAiBnb,GAAGob,aAAaH,SAAU,UAEzCta,QAAQC,IAAIya,4BACd,OAAOpb,KAAKE,KAAKQ,QAAQC,IAAIya,4BAA6BF,gBAAkB,YAE9E,GAAIA,eACF,OAAOlb,KAAKE,KAAKsE,UAAW,OAAQ0W,gBAEpC,MAAM,IAAIjY,MAAM,sGAIHgY,iECfjB,IAAII,IAAM,+BAAuB,IAMjC7Z,OAAOC,QAUP,SAAS6Z,cAAeC,KACtB,GAAI,iBAAmBA,KACnBA,IAAI9Y,QAAU,GACd,WAAa8Y,IAAIC,UAAU,EAAG,GAChC,MAAM,IAAI5V,UAAU,wDAGtB,IAAI6V,KAAOC,UAAUH,IAAIC,UAAU,IAC/BG,WAAaF,KAAK5X,QAAQ,KAC1B+X,KAAOH,KAAKD,UAAU,EAAGG,YACzB3b,KAAOyb,KAAKD,UAAUG,WAAa,GAMnC,aAAeC,OAAMA,KAAO,IAE5BA,OACFA,KAAOP,IAAMA,IAAMO,MAUrB5b,KAAOA,KAAK6F,QAAQ,UAAW,OAGpB,MAAPwV,MACFrb,KAAOA,KAAK6F,QAAQ,MAAO,OAGzB,QAAQ9C,KAAK/C,QAIfA,KAAOqb,IAAMrb,MAGf,OAAO4b,KAAO5b,kCC/DhBwB,OAAOC,QAAU,SAAUoa,IAAKC,WAK/B,IAJA,IAAIC,IAAM,GACNna,KAAOD,OAAOC,KAAKia,KACnBG,MAAQ7W,MAAM8W,QAAQH,WAEjBha,EAAI,EAAGA,EAAIF,KAAKa,OAAQX,IAAK,CACrC,IAAIqE,IAAMvE,KAAKE,GACXoa,IAAML,IAAI1V,MAEV6V,OAAoC,IAA5BF,UAAUjY,QAAQsC,KAAc2V,UAAU3V,IAAK+V,IAAKL,QAC/DE,IAAI5V,KAAO+V,KAIb,OAAOH,gFCXR,IAAII,SAAW,oBAAQ,MACnBC,MAAQ,oBAAQ,MA+CpB5a,OAAOC,QAzBP,SAAS4a,MAAM7W,OACX,IAAIpB,OAAS+X,SAAS3W,OACtBpB,OAAOkY,MAAQ,GAEf,IAAIC,OAASnY,OAAO6C,KAAKnC,MAAM,KAkB/B,OAjBsB,IAAlByX,OAAO9Z,SACW,kBAAd8Z,OAAO,GACPnY,OAAOkY,MAAQC,OAAO,GACD,iBAAdA,OAAO,KACdnY,OAAOkY,MAAQC,OAAO,KAI1BH,MAAMhY,OAAOoY,YAAcJ,MAAM5W,OACjCpB,OAAOqY,SAAW,MACXrY,OAAOoY,UAAU/Z,OACxB2B,OAAOqY,SAAWrY,OAAOoY,UAAU,GAEnCpY,OAAOqY,SAAW,OAGtBrY,OAAOsY,KAAOtY,OAAOsY,KAAK7W,QAAQ,MAAO,IAClCzB,mFC/CX,IAAIiY,MAAQ,oBAAQ,MAiCpB,SAASM,YAAYC,KAEjB,GAAmB,iBAARA,IACP,MAAM,IAAI3Z,MAAM,6BAGpB,IAAI4Z,QAAUR,MAAMO,KAChBE,YAAcD,QAAQE,SAASjY,MAAM,KACrCyX,OAAS,KAcb,OAZAM,QAAQrD,SAAW,SAAUzN,MACzB,OAAO4Q,YAAY3N,UAAUnI,KAAMkF,OAGvC8Q,QAAQ1Y,OAAS2Y,YAAYra,OAAS,EAAIqa,YAAY7X,MAAM,EAAI6X,YAAYra,QAAQvC,KAAK,KAAO2c,QAAQ1Y,OAAS0Y,QAAQE,SAIzHF,QAAQG,WAAa,SAASja,KAAK8Z,QAAQI,UAC3CJ,QAAQK,KAAOnY,mBAAmB8X,QAAQI,SAASpX,QAAQ,MAAO,IAAIA,QAAQ,SAAU,KACxFgX,QAAQpK,MAAQ1N,mBAAmB8X,QAAQ5V,MAEnC4V,QAAQ1Y,QACZ,IAAK,qBACD0Y,QAAQpK,MAAQoK,QAAQ5V,KACxB4V,QAAQM,aAAeL,YAAY,GACnCD,QAAQ1Y,OAAS,iBACjB,MACJ,IAAK,mBAED,GAAyB,4BAArB0Y,QAAQE,SAAwC,CAE1B,KADtBR,OAASM,QAAQK,KAAKpY,MAAM,MACjBrC,SACPoa,QAAQM,aAAeZ,OAAO,GAC9BM,QAAQpK,MAAQ8J,OAAO,GACvBM,QAAQK,KAAOX,OAAO,GACtBM,QAAQO,UAAYb,OAAO,GAAK,IAAMA,OAAO,IAEjD,MAGsB,KADtBA,OAASM,QAAQK,KAAKpY,MAAM,MACjBrC,QACPoa,QAAQpK,MAAQ8J,OAAO,GACvBM,QAAQK,KAAOX,OAAO,GACtBM,QAAQO,UAAY,QAAUP,QAAQK,MACb,IAAlBX,OAAO9Z,QACdoa,QAAQK,KAAOX,OAAO,GACJ,sBAAdA,OAAO,IACPM,QAAQpK,MAAQ8J,OAAO,GACvBM,QAAQM,aAAeZ,OAAO,GAC9BM,QAAQO,UAAYP,QAAQM,aAAe,SAAWN,QAAQK,OAE9DL,QAAQpK,MAAQ8J,OAAO,GACvBM,QAAQO,UAAYP,QAAQpK,MAAQ,SAAWoK,QAAQK,OAElC,IAAlBX,OAAO9Z,SACdoa,QAAQM,aAAeZ,OAAO,GAC9BM,QAAQpK,MAAQ8J,OAAO,GACvBM,QAAQK,KAAOX,OAAO,GACtBM,QAAQO,UAAYP,QAAQM,aAAe,IAAMN,QAAQpK,MAAQ,SAAWoK,QAAQK,MAExF,MAIR,IAAK,gBACL,IAAK,YACD,GAAyB,sBAArBL,QAAQE,SAAkC,CAEpB,KADtBR,OAASM,QAAQK,KAAKpY,MAAM,MACjBrC,SACPoa,QAAQM,aAAeZ,OAAO,GAC9BM,QAAQpK,MAAQ8J,OAAO,GACvBM,QAAQK,KAAOX,OAAO,IAE1B,MAGsB,KADtBA,OAASM,QAAQK,KAAKpY,MAAM,MACjBrC,QACPoa,QAAQM,aAAeZ,OAAO,GAC9BM,QAAQpK,MAAQ8J,OAAO,GACvBM,QAAQK,KAAOX,OAAO,GACtBM,QAAQO,UAAY,QAAUP,QAAQK,MACb,IAAlBX,OAAO9Z,QACdoa,QAAQK,KAAOX,OAAO,GACJ,sBAAdA,OAAO,IACPM,QAAQpK,MAAQ8J,OAAO,GACvBM,QAAQM,aAAeZ,OAAO,GAC9BM,QAAQO,UAAYP,QAAQM,aAAe,SAAWN,QAAQK,OAE9DL,QAAQpK,MAAQ8J,OAAO,GACvBM,QAAQO,UAAYP,QAAQpK,MAAQ,SAAWoK,QAAQK,OAElC,IAAlBX,OAAO9Z,SACdoa,QAAQM,aAAeZ,OAAO,GAC9BM,QAAQpK,MAAQ8J,OAAO,GACvBM,QAAQK,KAAOX,OAAO,GACtBM,QAAQO,UAAYP,QAAQM,aAAe,IAAMN,QAAQpK,MAAQ,SAAWoK,QAAQK,MAEpFL,QAAQvV,OAASuV,QAAQvV,MAAY,OACrCuV,QAAQQ,SAAWR,QAAQvV,MAAY,KAAEzB,QAAQ,QAAS,KAE1DgX,QAAQvV,OAASuV,QAAQvV,MAAe,UAExCuV,QAAQS,IAAMT,QAAQvV,MAAe,QAAEzB,QAAQ,MAAO,KAE1D,MAER,QAEI,IAAI0X,WADJhB,OAASM,QAAQK,KAAKpY,MAAM,MACLrC,OAAS,EAChC,GAAI8Z,OAAO9Z,QAAU,EAAG,CACpB,IAAI+a,UAAYjB,OAAO1Y,QAAQ,IAAK,GAChC4Z,UAAYlB,OAAO1Y,QAAQ,OAAQ,GACnC6Z,UAAYnB,OAAO1Y,QAAQ,OAAQ,GACnC8Z,YAAcpB,OAAO1Y,QAAQ,SAAU,GACvC+Z,SAAWrB,OAAO1Y,QAAQ,MAAO,GACjCga,SAAWtB,OAAO1Y,QAAQ,MAAO,GACrC0Z,UAAYC,UAAY,EAAIA,UAAY,EAAIC,UAAY,EAAIA,UAAY,EAAIC,UAAY,EAAIA,UAAY,EAAIC,YAAc,EAAIA,YAAc,EAAIC,SAAW,EAAIA,SAAW,EAAIC,SAAW,EAAIA,SAAW,EAAIN,UAE5MV,QAAQpK,MAAQ8J,OAAOtX,MAAM,EAAGsY,WAAWrd,KAAK,KAChD2c,QAAQK,KAAOX,OAAOgB,WAClBI,cACAd,QAAQiB,OAASvB,OAAOgB,UAAY,IAI5CV,QAAQS,IAAM,GACdT,QAAQkB,aAAe,GACvBlB,QAAQQ,SAAW,GACnB,IAAIW,gBAAkBzB,OAAO9Z,OAAS8a,WAAuC,MAA1BhB,OAAOgB,UAAY,GAAaA,UAAY,EAAIA,UAC/FhB,OAAO9Z,OAASub,gBAAkB,GAAK,CAAC,MAAO,MAAO,OAAQ,QAAQna,QAAQ0Y,OAAOyB,gBAAkB,KAAO,IAC9GnB,QAAQkB,aAAexB,OAAOyB,gBAAkB,GAChDnB,QAAQS,IAAMf,OAAOyB,gBAAkB,GACnCzB,OAAO9Z,OAASub,gBAAkB,IAClCnB,QAAQQ,SAAWd,OAAOtX,MAAM+Y,gBAAkB,GAAG9d,KAAK,OAGlE2c,QAAQM,aAAeN,QAAQpK,MAIlCoK,QAAQO,YACTP,QAAQO,UAAYP,QAAQpK,MACxBoK,QAAQK,OACRL,QAAQO,YAAcP,QAAQO,WAAa,KAC3CP,QAAQO,WAAaP,QAAQK,OAIjCL,QAAQpK,MAAMwL,WAAW,UACzBpB,QAAQ1Y,OAAS,mBACjB0Y,QAAQpK,MAAQoK,QAAQpK,MAAM5M,QAAQ,OAAQ,IAC9CgX,QAAQM,aAAeN,QAAQpK,MAC/BoK,QAAQO,UAAYP,QAAQpK,MAAQ,IAAMoK,QAAQK,MAGtD,IACIgB,QADY,mDACQlY,KAAK6W,QAAQI,UA+BrC,OA9Be,MAAXiB,UACArB,QAAQ1Y,OAAS,mBACE,UAAf+Z,QAAQ,GACRrB,QAAQpK,MAAQ,IAAMyL,QAAQ,GAE9BrB,QAAQpK,MAAQyL,QAAQ,GAG5BrB,QAAQM,aAAeN,QAAQpK,MAC/BoK,QAAQK,KAAOgB,QAAQ,IAEvB3B,OAAS2B,QAAQ,GAAGpZ,MAAM,MACfrC,OAAS,IACZ,CAAC,MAAO,UAAUoB,QAAQ0Y,OAAO,KAAO,GACxCM,QAAQkB,aAAexB,OAAO,GAC1BA,OAAO9Z,OAAS,IAChBoa,QAAQQ,SAAWd,OAAOtX,MAAM,GAAG/E,KAAK,OAEvB,YAAdqc,OAAO,IAAoBA,OAAO9Z,OAAS,IAClDoa,QAAQiB,OAASvB,OAAO,KAGhCM,QAAQO,UAAYP,QAAQpK,MAAQ,IAAMoK,QAAQK,KAE9CL,QAAQvV,MAAM6W,GACdtB,QAAQS,IAAMT,QAAQvV,MAAM6W,GAE5BtB,QAAQS,IAAM,IAGfT,QAaXF,YAAY3N,UAAY,SAAU6M,IAAK9P,MACnCA,KAAOA,OAAS8P,IAAIW,WAAaX,IAAIW,UAAU/Z,OAASoZ,IAAIW,UAAUtc,KAAK,KAAO2b,IAAIY,UACtF,IAAItC,KAAO0B,IAAI1B,KAAO,IAAM0B,IAAI1B,KAAO,GACnClT,KAAO4U,IAAI5U,MAAQ,MACnBmX,eAAiBvC,IAAImB,WAAa,OAAS,GAC/C,OAAQjR,MACJ,IAAK,MACD,OAAIoO,KAAa,SAAWlT,KAAO,IAAM4U,IAAIkB,SAAW5C,KAAO,IAAM0B,IAAIuB,UAAYgB,eAA2BnX,KAAO,IAAM4U,IAAIkB,SAAW,IAAMlB,IAAIuB,UAAYgB,eACtK,IAAK,UACL,IAAK,UACL,IAAK,MACL,IAAK,OACD,OAAOrS,KAAO,MAAQ9E,KAAO,IAAM4U,IAAIkB,SAAW5C,KAAO,IAAM0B,IAAIuB,UAAYgB,eACnF,IAAK,OACL,IAAK,QAED,OAAOrS,KAAO,OADH8P,IAAIS,MAgB3B,SAAS+B,WAAWxC,KAChB,GACS,kBADDA,IAAI1X,OAEJ,MAAO,gBAAkB0X,IAAIS,MAAQ,IAErC,OAAOT,IAAIS,MAAQ,IArBI+B,CAAWxC,KAAOA,IAAI5U,OAAS4U,IAAIW,UAAU8B,SAAS,SAAWzC,IAAIW,UAAU8B,SAAS,UAAYzC,IAAI5U,KAAO,IAAM,IAC/G4U,IAAIkB,SAAW5C,KAAO,IAwB/D,SAASoE,UAAU1C,KACf,GACS,qBADDA,IAAI1X,OAEJ,MAAO,OAAS0X,IAAIuB,UAEpB,MAAO,GAAKvB,IAAIuB,UA7ByCmB,CAAU1C,KAAOuC,eAC9E,QACI,OAAOvC,IAAIa,OAgCvBlb,OAAOC,QAAUkb,uFC3RjB,IAAIH,UAAY,oBAAQ,MAgCxBhb,OAAOC,QArBP,SAAS2a,MAAM5W,OAEX,GAAIL,MAAM8W,QAAQzW,OACd,OAAiC,IAA1BA,MAAM3B,QAAQ,SAA6C,IAA5B2B,MAAM3B,QAAQ,SAGxD,GAAqB,iBAAV2B,MACP,OAAO,EAGX,IAAIgZ,MAAQhC,UAAUhX,OAEtB,GADAA,MAAQA,MAAMgW,UAAUhW,MAAM3B,QAAQ,OAAS,GAC3CuY,MAAMoC,OACN,OAAO,EAIX,IAAIC,eAAiB,IAAI/Z,OAAO,2BAChC,OAAQc,MAAME,MAAM+Y,iBAAmBjZ,MAAM3B,QAAQ,KAAO2B,MAAM3B,QAAQ,oEChC9E,IAAI9D,GAAK,oBAAQ,MACbC,KAAO,oBAAQ,MACf0e,GAAK,oBAAQ,MAGbC,eAA6D,QAE7DC,KAAQle,QAAQme,QAAUne,QAAQme,OAAOC,WAAc,GACvDC,gBAAkBre,QAAQC,IAAIqe,eAC9BC,IAAMve,QAAQQ,SAASC,QACvB+d,QA8KJ,SAASC,aACP,SAAIze,QAAQQ,WAAYR,QAAQQ,SAASke,cACrC1e,QAAQC,IAAI0e,sBACS,oBAAXhL,QAA0BA,OAAO3T,SAAmC,aAAxB2T,OAAO3T,QAAQqL,MAjL7DoT,GAAe,WAAa,OACtCne,KAAO0d,GAAG1d,OACVD,SAAW2d,GAAG3d,WACdue,KAAO5e,QAAQC,IAAI4e,OAiLvB,SAASC,SAAUze,UACjB,MAAoB,UAAbA,UAAwBhB,GAAGQ,WAAW,uBAlLfif,CAASze,UAAY,OAAS,SAC1D0e,KAAO/e,QAAQC,IAAI+e,cAAyB,UAAT1e,KAAmB,IAAM4d,KAAKe,cAAgB,GACjFC,IAAMlf,QAAQQ,SAAS0e,IAAM,IAAI9a,MAAM,KAAK,GAIhD,SAAS+a,KAAM7b,KACb,OAAO2a,eAAekB,KAAK7f,KAAKgE,MAuDlC,SAAS8b,YAAa9b,KACpB,IACE,OAAOjE,GAAG+f,YAAY9b,KACtB,MAAO3B,KACP,MAAO,IAIX,SAAS0d,SAAU/b,IAAKgc,QACtB,IAAIC,MAAQH,YAAY9b,KAAKgc,OAAOA,QACpC,OAAOC,MAAM,IAAMjgB,KAAKE,KAAK8D,IAAKic,MAAM,IAG1C,SAASC,WAAYhD,MACnB,MAAO,UAAUna,KAAKma,MAGxB,SAASiD,WAAYjD,MAEnB,IAAIjJ,IAAMiJ,KAAKpY,MAAM,KACrB,GAAmB,IAAfmP,IAAIxR,OAAR,CAEA,IAAI1B,SAAWkT,IAAI,GACfmM,cAAgBnM,IAAI,GAAGnP,MAAM,KAEjC,GAAK/D,UACAqf,cAAc3d,QACd2d,cAAcC,MAAMC,SAEzB,MAAO,CAAEpD,KAAMnc,SAAUqf,gBAG3B,SAASG,WAAYxf,SAAUC,MAC7B,OAAO,SAAUwf,OACf,OAAa,MAATA,QACAA,MAAMzf,WAAaA,UAChByf,MAAMJ,cAAc9B,SAAStd,QAIxC,SAASyf,cAAevd,EAAGd,GAEzB,OAAOc,EAAEkd,cAAc3d,OAASL,EAAEge,cAAc3d,OAGlD,SAASie,UAAW5c,MAClB,IAAImQ,IAAMnQ,KAAKgB,MAAM,KAEjB6b,KAAO,CAAE7c,KAAY8c,YAAa,GAEtC,GAAkB,SAHF3M,IAAI4M,MAGpB,CAEA,IAAK,IAAI/e,EAAI,EAAGA,EAAImS,IAAIxR,OAAQX,IAAK,CACnC,IAAIgf,IAAM7M,IAAInS,GAEd,GAAY,SAARgf,KAA0B,aAARA,KAA8B,gBAARA,IAC1CH,KAAKzB,QAAU4B,SACV,GAAY,SAARA,IACTH,KAAKI,MAAO,OACP,GAAwB,QAApBD,IAAI7b,MAAM,EAAG,GACtB0b,KAAK1B,IAAM6B,IAAI7b,MAAM,QAChB,GAAwB,OAApB6b,IAAI7b,MAAM,EAAG,GACtB0b,KAAKf,GAAKkB,IAAI7b,MAAM,QACf,GAAwB,SAApB6b,IAAI7b,MAAM,EAAG,GACtB0b,KAAKlB,KAAOqB,IAAI7b,MAAM,OACjB,IAAY,UAAR6b,KAA2B,SAARA,IAG5B,SAFAH,KAAKrB,KAAOwB,IAKdH,KAAKC,cAGP,OAAOD,MAGT,SAASK,UAAW9B,QAASD,KAC3B,OAAO,SAAU0B,MACf,OAAY,MAARA,SACAA,KAAKzB,UAAYA,UAUzB,SAAS+B,gBAAiBN,MACxB,MAAwB,SAAjBA,KAAKzB,SAAsByB,KAAKI,KAXJE,CAAgBN,WAC7CA,KAAK1B,MAAQA,MAAQ0B,KAAKI,UAC1BJ,KAAKf,IAAMe,KAAKf,KAAOA,QACvBe,KAAKlB,MAAQkB,KAAKlB,OAASA,SAC3BkB,KAAKrB,MAAQqB,KAAKrB,OAASA,WAUnC,SAAS4B,YAAahC,SAEpB,OAAO,SAAUhc,EAAGd,GAClB,OAAIc,EAAEgc,UAAY9c,EAAE8c,QACXhc,EAAEgc,UAAYA,SAAW,EAAI,EAC3Bhc,EAAE+b,MAAQ7c,EAAE6c,IACd/b,EAAE+b,KAAO,EAAI,EACX/b,EAAE0d,cAAgBxe,EAAEwe,YACtB1d,EAAE0d,YAAcxe,EAAEwe,aAAe,EAAI,EAErC,GAlKbpf,OAAOC,QAAUoe,KAMjBA,KAAK7f,KAAO,SAAUgE,KACpBA,IAAMhE,KAAK6C,QAAQmB,KAAO,KAE1B,IACE,IAAIkZ,KAAOyB,eAAe3e,KAAKE,KAAK8D,IAAK,iBAAiBkZ,KAAKiE,cAActb,QAAQ,KAAM,KACvFnF,QAAQC,IAAIuc,KAAO,eAAclZ,IAAMtD,QAAQC,IAAIuc,KAAO,cAC9D,MAAO7a,MAET,IAAK0c,cAAe,CAClB,IAAIqC,QAAUrB,SAAS/f,KAAKE,KAAK8D,IAAK,iBAAkBkc,YACxD,GAAIkB,QAAS,OAAOA,QAEpB,IAAIC,MAAQtB,SAAS/f,KAAKE,KAAK8D,IAAK,eAAgBkc,YACpD,GAAImB,MAAO,OAAOA,MAGpB,IAAIC,SAAWze,QAAQmB,KACvB,GAAIsd,SAAU,OAAOA,SAErB,IAAIC,OAAS1e,QAAQ7C,KAAKG,QAAQO,QAAQ8gB,WAC1C,GAAID,OAAQ,OAAOA,OAEnB,IAAIE,OAAS,CACX,YAAc1gB,SACd,QAAUC,KACV,WAAake,QACb,OAASD,IACT,MAAQW,GACRH,KAAO,QAAUA,KAAO,GACxB,QAAUH,KACV,QAAU5e,QAAQQ,SAASG,KAC3BX,QAAQQ,SAASke,SAAW,YAAc1e,QAAQQ,SAASke,SAAW,GAC1B,gBAC5CY,OAAOM,SAASpgB,KAAK,KAEvB,MAAM,IAAI+C,MAAM,iCAAmCwe,OAAS,sBAAwBzd,IAAM,MAE1F,SAASnB,QAASmB,KAEhB,IACIwc,MADSV,YAAY9f,KAAKE,KAAK8D,IAAK,cAAcnC,IAAIse,YACvCH,OAAOO,WAAWxf,SAAUC,OAAO0gB,KAAKjB,eAAe,GAC1E,GAAKD,MAAL,CAGA,IAAImB,UAAY3hB,KAAKE,KAAK8D,IAAK,YAAawc,MAAMtD,MAG9C0E,OAFS9B,YAAY6B,WAAW9f,IAAI6e,WAChBV,OAAOgB,UAAU9B,QAASD,MAC1ByC,KAAKR,YAAYhC,UAAU,GACnD,OAAI0C,OAAe5hB,KAAKE,KAAKyhB,UAAWC,OAAO9d,WAA/C,KA6HJ+b,KAAKa,UAAYA,UACjBb,KAAKmB,UAAYA,UACjBnB,KAAKqB,YAAcA,YACnBrB,KAAKM,WAAaA,WAClBN,KAAKU,WAAaA,WAClBV,KAAKY,cAAgBA,wCCtMrB,MAGMoB,cAAgB,CAAC3E,KAAM4E,UACrBA,QAAQC,MAAK/B,QAAUA,kBAAkBtb,OAASsb,OAAOjd,KAAKma,MAAQ8C,SAAW9C,OAgNzF1b,OAAOC,QA1Jc,CAACugB,UAAWrb,WAqBhC,GApBAA,QAAU,CACTsb,gBAAiB,QACjBC,mBAAmB,EACnBC,WAAW,EACXC,YAAY,EACZC,qBAAqB,EACrBC,WAAW,EACXC,mBAAmB,EACnBC,UAAU,EACVC,sBAAuB,CAAC,aACxBC,qBAAqB,EACrBC,mBAAmB,EACnBC,sBAAsB,EACtBC,qBAAqB,KAClBlc,SAGJqb,UAAYA,UAAUc,OAGlB,UAAU/f,KAAKif,WAClB,MAzEuB,EAACA,WAAYM,cACrC,MAAM5c,MAAQ,0DAA0DM,KAAKgc,WAE7E,IAAKtc,MACJ,MAAM,IAAIzC,MAAM,gBAAgB+e,aAGjC,IAAI,KAAK,KAAM,MAAUtc,MAAMqd,OAC/B,MAAMC,UAAYjX,KAAKjH,MAAM,KAC7Bme,KAAOX,UAAY,GAAKW,KAExB,IAAIC,UAAW,EACyB,WAApCF,UAAUA,UAAUvgB,OAAS,KAChCugB,UAAUnC,MACVqC,UAAW,GAIZ,MAAMC,UAAYH,UAAUI,SAAW,IAAIC,cAkBrCC,oBAAsB,IAjBTN,UACjBnhB,KAAI0hB,YACJ,IAAKpd,IAAKgO,MAAQ,IAAMoP,UAAUze,MAAM,KAAKjD,KAAI2hB,QAAUA,OAAOV,SAGlE,MAAY,YAAR3c,MACHgO,MAAQA,MAAMkP,cA/Be,aAiCzBlP,OACI,GAIF,GAAGhO,MAAMgO,MAAQ,IAAIA,QAAU,QAEtC6L,OAAOM,UAcT,OARI4C,UACHI,oBAAoB1gB,KAAK,WAGS,IAA/B0gB,oBAAoB7gB,QAAiB0gB,UAnDP,eAmDmBA,WACpDG,oBAAoBG,QAAQN,UAGtB,QAAQG,oBAAoBpjB,KAAK,QAAQgjB,SAAW7b,KAAKyb,OAASzb,OAAO4b,KAAO,IAAIA,OAAS,MAyB5FS,CAAiB1B,UAAWrb,SAGpC,GAAI,iBAAiB5D,KAAKif,WACzB,MAAM,IAAI/e,MAAM,oEAGjB,MAAM0gB,oBAAsB3B,UAAU/D,WAAW,OAC1B0F,qBAAuB,SAAS5gB,KAAKif,aAI3DA,UAAYA,UAAUnc,QAAQ,2BAA4Bc,QAAQsb,kBAGnE,MAAM2B,OAAS,IAAIC,IAAI7B,WAEvB,GAAIrb,QAAQwb,WAAaxb,QAAQyb,WAChC,MAAM,IAAInf,MAAM,oEA8BjB,GA3BI0D,QAAQwb,WAAiC,WAApByB,OAAOnH,WAC/BmH,OAAOnH,SAAW,SAGf9V,QAAQyb,YAAkC,UAApBwB,OAAOnH,WAChCmH,OAAOnH,SAAW,UAIf9V,QAAQ0b,sBACXuB,OAAOE,SAAW,GAClBF,OAAOG,SAAW,IAIfpd,QAAQ2b,UACXsB,OAAOX,KAAO,GACJtc,QAAQ4b,oBAClBqB,OAAOX,KAAOW,OAAOX,KAAKpd,QAAQ,iBAAkB,KAIjD+d,OAAO3G,WACV2G,OAAO3G,SAAW2G,OAAO3G,SAASpX,QAAQ,4CAA6C,MAIpF+d,OAAO3G,SACV,IACC2G,OAAO3G,SAAWvB,UAAUkI,OAAO3G,UAClC,MAAO+G,IAQV,IAJqC,IAAjCrd,QAAQic,uBACXjc,QAAQic,qBAAuB,CAAC,oBAG7Bzd,MAAM8W,QAAQtV,QAAQic,uBAAyBjc,QAAQic,qBAAqBngB,OAAS,EAAG,CAC3F,IAAIwhB,eAAiBL,OAAO3G,SAASnY,MAAM,KAC3C,MAAMof,cAAgBD,eAAeA,eAAexhB,OAAS,GAEzDof,cAAcqC,cAAevd,QAAQic,wBACxCqB,eAAiBA,eAAehf,MAAM,EAAGgf,eAAexhB,OAAS,GACjEmhB,OAAO3G,SAAWgH,eAAehf,MAAM,GAAG/E,KAAK,KAAO,KAmBxD,GAfI0jB,OAAOO,WAEVP,OAAOO,SAAWP,OAAOO,SAASte,QAAQ,MAAO,IAG7Cc,QAAQ6b,UAAY,4DAA4Dzf,KAAK6gB,OAAOO,YAK/FP,OAAOO,SAAWP,OAAOO,SAASte,QAAQ,SAAU,MAKlDV,MAAM8W,QAAQtV,QAAQ8b,uBACzB,IAAK,MAAMtc,MAAO,IAAIyd,OAAOQ,aAAaxiB,QACrCigB,cAAc1b,IAAKQ,QAAQ8b,wBAC9BmB,OAAOQ,aAAa/Z,OAAOlE,MAKQ,IAAlCQ,QAAQ8b,wBACXmB,OAAOS,OAAS,IAIb1d,QAAQkc,qBACXe,OAAOQ,aAAa1C,OAGjB/a,QAAQ+b,sBACXkB,OAAO3G,SAAW2G,OAAO3G,SAASpX,QAAQ,MAAO,KAGlD,MAAMye,aAAetC,UAwBrB,OArBAA,UAAY4B,OAAOpK,WAEd7S,QAAQgc,mBAAyC,MAApBiB,OAAO3G,UAAqBqH,aAAaC,SAAS,MAAwB,KAAhBX,OAAOX,OAClGjB,UAAYA,UAAUnc,QAAQ,MAAO,MAIjCc,QAAQ+b,qBAA2C,MAApBkB,OAAO3G,WAAqC,KAAhB2G,OAAOX,MAAetc,QAAQgc,oBAC7FX,UAAYA,UAAUnc,QAAQ,MAAO,KAIlC8d,sBAAwBhd,QAAQub,oBACnCF,UAAYA,UAAUnc,QAAQ,aAAc,OAIzCc,QAAQ6d,gBACXxC,UAAYA,UAAUnc,QAAQ,oBAAqB,KAG7Cmc,sFCjNR,IAAIxF,UAAY,oBAAQ,MACpBJ,MAAQ,oBAAQ,MAChBqI,GAAK,oBAAQ,MA+HjBjjB,OAAOC,QAzGP,SAASijB,UAAU9H,KACfA,KAAOA,KAAO,IAAIkG,OAClB,IAAI1e,OAAS,CACToY,UAAWA,UAAUI,KACrBH,SAAU,KACVtC,KAAM,KACN4C,SAAU,GACV9V,KAAM,GACNgW,SAAU,GACVgG,KAAM,GACNoB,OAAQ,GACR3H,KAAME,IACNtV,MAAO3F,OAAOgjB,OAAO,OAErBC,cAAgBhI,IAAI/Y,QAAQ,OAE5B0Y,OAAS,KACTsI,MAAQ,KAERjI,IAAIqB,WAAW,OACXrB,IAAIqB,WAAW,QACfrB,IAAMA,IAAIpB,UAAU,IAExBpX,OAAO6Y,SAAWL,IAClBxY,OAAOqY,SAAW,QAGtB,IAAIqI,UAAYlI,IAAImI,OAAO,GA2E3B,OA1EK3gB,OAAOqY,WACRrY,OAAOqY,SAAWrY,OAAOoY,UAAU,GAC9BpY,OAAOqY,WACJL,MAAMQ,KACNxY,OAAOqY,SAAW,MACG,MAAdqI,WAAmC,MAAdA,WAC5BlI,IAAMA,IAAIpB,UAAU,GACpBpX,OAAOqY,SAAW,QAElBrY,OAAOqY,SAAW,UAKP,IAAnBmI,gBACAhI,IAAMA,IAAIpB,UAAUoJ,cAAgB,IAGxCC,MAAQjI,IAAI9X,MAAM,SACM,SAApBV,OAAOqY,SACPrY,OAAO2Y,SAAW8H,MAAMzB,QAExBhf,OAAO2Y,SAAW,GAKA,KADtBR,OAASnY,OAAO2Y,SAASjY,MAAM,MACpBrC,SACP2B,OAAO6C,KAAOsV,OAAO,GACrBnY,OAAO2Y,SAAWR,OAAO,IAKP,KADtBA,OAASnY,OAAO2Y,SAASjY,MAAM,MACpBrC,SACP2B,OAAO2Y,SAAWR,OAAO,GACrBA,OAAO,IACPnY,OAAO+V,KAAO6K,OAAOzI,OAAO,IACxB0I,MAAM7gB,OAAO+V,QACb/V,OAAO+V,KAAO,KACd0K,MAAMpB,QAAQlH,OAAO,MAGzBnY,OAAO+V,KAAO,MAKtB0K,MAAQA,MAAM7E,OAAOM,SAGG,SAApBlc,OAAOqY,SACPrY,OAAO6Y,SAAW7Y,OAAOsY,KAEzBtY,OAAO6Y,SAAW7Y,OAAO6Y,WAAiC,SAApB7Y,OAAOqY,UAA0C,MAAnBrY,OAAOsY,KAAK,GAAa,IAAM,IAAMmI,MAAM3kB,KAAK,KAKlG,KADtBqc,OAASnY,OAAO6Y,SAASnY,MAAM,MACpBrC,SACP2B,OAAO6Y,SAAWV,OAAO,GACzBnY,OAAO6e,KAAO1G,OAAO,IAKH,KADtBA,OAASnY,OAAO6Y,SAASnY,MAAM,MACpBrC,SACP2B,OAAO6Y,SAAWV,OAAO,GACzBnY,OAAOigB,OAAS9H,OAAO,IAG3BnY,OAAOkD,MAAQmd,GAAGhL,MAAMrV,OAAOigB,QAC/BjgB,OAAOsY,KAAOtY,OAAOsY,KAAK7W,QAAQ,MAAO,IACzCzB,OAAO6Y,SAAW7Y,OAAO6Y,SAASpX,QAAQ,MAAO,IAC1CzB,mFC/HX,IAAI8gB,QAA4B,mBAAXC,QAAoD,iBAApBA,OAAOC,SAAwB,SAAUvJ,KAAO,cAAcA,KAAS,SAAUA,KAAO,OAAOA,KAAyB,mBAAXsJ,QAAyBtJ,IAAInV,cAAgBye,QAAUtJ,MAAQsJ,OAAO/f,UAAY,gBAAkByW,KAElQ6I,UAAY,oBAAQ,MACpBW,aAAe,oBAAQ,IAiD3B7jB,OAAOC,QAlBP,SAAS0a,SAASS,KACd,IAAI0I,UAAYC,UAAU9iB,OAAS,QAAsB+F,IAAjB+c,UAAU,IAAmBA,UAAU,GAE/E,GAAmB,iBAAR3I,MAAqBA,IAAIkG,OAChC,MAAM,IAAI7f,MAAM,gBAEhBqiB,YAC8E,iBAApD,IAAdA,UAA4B,YAAcJ,QAAQI,cAC1DA,UAAY,CACRhD,WAAW,IAGnB1F,IAAMyI,aAAazI,IAAK0I,YAE5B,IAAIE,OAASd,UAAU9H,KACvB,OAAO4I,oCCvCXhkB,OAAOC,QAAU,SAAS+a,UAAUhX,MAAOigB,QAEzB,IAAVA,QACAA,MAAQ,GAGZ,IAAIC,MAAQlgB,MAAM3B,QAAQ,OACtB0Y,OAAS/W,MAAMgW,UAAU,EAAGkK,OAAO5gB,MAAM,KAAKkb,OAAOM,SAEzD,MAAqB,iBAAVmF,MACAlJ,OAAOkJ,OAGXlJ,mFCxBX,MAAMoJ,gBAAkB,oBAAQ,KAC1BC,gBAAkB,oBAAQ,MAC1BC,aAAe,oBAAQ,KACvBC,aAAe,oBAAQ,MA4I7B,SAASC,6BAA6B5R,OACrC,GAAqB,iBAAVA,OAAuC,IAAjBA,MAAM1R,OACtC,MAAM,IAAImD,UAAU,wDAItB,SAAS6S,OAAOtE,MAAOxN,SACtB,OAAIA,QAAQ8R,OACJ9R,QAAQqf,OAASL,gBAAgBxR,OAAS8R,mBAAmB9R,OAG9DA,MAGR,SAAS5O,OAAO4O,MAAOxN,SACtB,OAAIA,QAAQpB,OACJqgB,gBAAgBzR,OAGjBA,MAGR,SAAS+R,WAAW1gB,OACnB,OAAIL,MAAM8W,QAAQzW,OACVA,MAAMkc,OAGO,iBAAVlc,MACH0gB,WAAWvkB,OAAOC,KAAK4D,QAC5Bkc,MAAK,CAACxe,EAAGd,IAAM4iB,OAAO9hB,GAAK8hB,OAAO5iB,KAClCP,KAAIsE,KAAOX,MAAMW,OAGbX,MAGR,SAAS2gB,WAAW3gB,OACnB,MAAM4gB,UAAY5gB,MAAM3B,QAAQ,KAKhC,OAJmB,IAAfuiB,YACH5gB,MAAQA,MAAMP,MAAM,EAAGmhB,YAGjB5gB,MAaR,SAAS6gB,QAAQ7gB,OAEhB,MAAM8gB,YADN9gB,MAAQ2gB,WAAW3gB,QACM3B,QAAQ,KACjC,OAAoB,IAAhByiB,WACI,GAGD9gB,MAAMP,MAAMqhB,WAAa,GAGjC,SAASC,WAAWpS,MAAOxN,SAO1B,OANIA,QAAQ6f,eAAiBxB,OAAOC,MAAMD,OAAO7Q,SAA6B,iBAAVA,OAAuC,KAAjBA,MAAM2O,OAC/F3O,MAAQ6Q,OAAO7Q,QACLxN,QAAQ8f,eAA2B,OAAVtS,OAA2C,SAAxBA,MAAMkP,eAAoD,UAAxBlP,MAAMkP,gBAC9FlP,MAAgC,SAAxBA,MAAMkP,eAGRlP,MAGR,SAASsF,MAAMnS,MAAOX,SAUrBof,8BATApf,QAAUhF,OAAO+kB,OAAO,CACvBnhB,QAAQ,EACRmc,MAAM,EACNiF,YAAa,OACbC,qBAAsB,IACtBJ,cAAc,EACdC,eAAe,GACb9f,UAEkCigB,sBAErC,MAAMC,UArJP,SAASC,qBAAqBngB,SAC7B,IAAIV,OAEJ,OAAQU,QAAQggB,aACf,IAAK,QACJ,MAAO,CAACxgB,IAAKgO,MAAO4S,eACnB9gB,OAAS,aAAaD,KAAKG,KAE3BA,IAAMA,IAAIN,QAAQ,WAAY,IAEzBI,aAKoBuC,IAArBue,YAAY5gB,OACf4gB,YAAY5gB,KAAO,IAGpB4gB,YAAY5gB,KAAKF,OAAO,IAAMkO,OAR7B4S,YAAY5gB,KAAOgO,OAWtB,IAAK,UACJ,MAAO,CAAChO,IAAKgO,MAAO4S,eACnB9gB,OAAS,UAAUD,KAAKG,KACxBA,IAAMA,IAAIN,QAAQ,QAAS,IAEtBI,YAKoBuC,IAArBue,YAAY5gB,KAKhB4gB,YAAY5gB,KAAO,GAAGd,OAAO0hB,YAAY5gB,KAAMgO,OAJ9C4S,YAAY5gB,KAAO,CAACgO,OALpB4S,YAAY5gB,KAAOgO,OAYtB,IAAK,QACL,IAAK,YACJ,MAAO,CAAChO,IAAKgO,MAAO4S,eACnB,MAAM9K,QAA2B,iBAAV9H,OAAsBA,MAAMmK,SAAS3X,QAAQigB,sBAC9DI,eAAmC,iBAAV7S,QAAuB8H,SAAW1W,OAAO4O,MAAOxN,SAAS2X,SAAS3X,QAAQigB,sBACzGzS,MAAQ6S,eAAiBzhB,OAAO4O,MAAOxN,SAAWwN,MAClD,MAAM8S,SAAWhL,SAAW+K,eAAiB7S,MAAMrP,MAAM6B,QAAQigB,sBAAsB/kB,KAAIqlB,MAAQ3hB,OAAO2hB,KAAMvgB,WAAsB,OAAVwN,MAAiBA,MAAQ5O,OAAO4O,MAAOxN,SACnKogB,YAAY5gB,KAAO8gB,UAGrB,QACC,MAAO,CAAC9gB,IAAKgO,MAAO4S,oBACMve,IAArBue,YAAY5gB,KAKhB4gB,YAAY5gB,KAAO,GAAGd,OAAO0hB,YAAY5gB,KAAMgO,OAJ9C4S,YAAY5gB,KAAOgO,QAgGL2S,CAAqBngB,SAGjCoV,IAAMpa,OAAOgjB,OAAO,MAE1B,GAAqB,iBAAVrd,MACV,OAAOyU,IAKR,KAFAzU,MAAQA,MAAMwb,OAAOjd,QAAQ,SAAU,KAGtC,OAAOkW,IAGR,IAAK,MAAMoL,SAAS7f,MAAMxC,MAAM,KAAM,CACrC,GAAc,KAAVqiB,MACH,SAGD,IAAKhhB,IAAKgO,OAAS0R,aAAalf,QAAQpB,OAAS4hB,MAAMthB,QAAQ,MAAO,KAAOshB,MAAO,KAIpFhT,WAAkB3L,IAAV2L,MAAsB,KAAO,CAAC,QAAS,aAAamK,SAAS3X,QAAQggB,aAAexS,MAAQ5O,OAAO4O,MAAOxN,SAClHkgB,UAAUthB,OAAOY,IAAKQ,SAAUwN,MAAO4H,KAGxC,IAAK,MAAM5V,OAAOxE,OAAOC,KAAKma,KAAM,CACnC,MAAM5H,MAAQ4H,IAAI5V,KAClB,GAAqB,iBAAVgO,OAAgC,OAAVA,MAChC,IAAK,MAAMiT,KAAKzlB,OAAOC,KAAKuS,OAC3BA,MAAMiT,GAAKb,WAAWpS,MAAMiT,GAAIzgB,cAGjCoV,IAAI5V,KAAOogB,WAAWpS,MAAOxN,SAI/B,OAAqB,IAAjBA,QAAQ+a,KACJ3F,MAGiB,IAAjBpV,QAAQ+a,KAAgB/f,OAAOC,KAAKma,KAAK2F,OAAS/f,OAAOC,KAAKma,KAAK2F,KAAK/a,QAAQ+a,OAAO2F,QAAO,CAACphB,OAAQE,OAC9G,MAAMgO,MAAQ4H,IAAI5V,KAQlB,OAPIma,QAAQnM,QAA2B,iBAAVA,QAAuBhP,MAAM8W,QAAQ9H,OAEjElO,OAAOE,KAAO+f,WAAW/R,OAEzBlO,OAAOE,KAAOgO,MAGRlO,SACLtE,OAAOgjB,OAAO,OAGlBljB,QAAQ4kB,QAAUA,QAClB5kB,QAAQgY,MAAQA,MAEhBhY,QAAQuN,UAAY,CAACsY,OAAQ3gB,WAC5B,IAAK2gB,OACJ,MAAO,GAURvB,8BAPApf,QAAUhF,OAAO+kB,OAAO,CACvBjO,QAAQ,EACRuN,QAAQ,EACRW,YAAa,OACbC,qBAAsB,KACpBjgB,UAEkCigB,sBAErC,MAAMW,aAAephB,KACnBQ,QAAQ6gB,UA3SwBrT,MA2SMmT,OAAOnhB,MAC7CQ,QAAQ8gB,iBAAmC,KAAhBH,OAAOnhB,KAG9B0gB,UA7SP,SAASa,sBAAsB/gB,SAC9B,OAAQA,QAAQggB,aACf,IAAK,QACJ,OAAOxgB,KAAO,CAACF,OAAQkO,SACtB,MAAMuR,MAAQzf,OAAOxD,OAErB,YACW+F,IAAV2L,OACCxN,QAAQ6gB,UAAsB,OAAVrT,OACpBxN,QAAQ8gB,iBAA6B,KAAVtT,MAErBlO,OAGM,OAAVkO,MACI,IAAIlO,OAAQ,CAACwS,OAAOtS,IAAKQ,SAAU,IAAK+e,MAAO,KAAKxlB,KAAK,KAG1D,IACH+F,OACH,CAACwS,OAAOtS,IAAKQ,SAAU,IAAK8R,OAAOiN,MAAO/e,SAAU,KAAM8R,OAAOtE,MAAOxN,UAAUzG,KAAK,MAI1F,IAAK,UACJ,OAAOiG,KAAO,CAACF,OAAQkO,aAEX3L,IAAV2L,OACCxN,QAAQ6gB,UAAsB,OAAVrT,OACpBxN,QAAQ8gB,iBAA6B,KAAVtT,MAErBlO,OAGM,OAAVkO,MACI,IAAIlO,OAAQ,CAACwS,OAAOtS,IAAKQ,SAAU,MAAMzG,KAAK,KAG/C,IAAI+F,OAAQ,CAACwS,OAAOtS,IAAKQ,SAAU,MAAO8R,OAAOtE,MAAOxN,UAAUzG,KAAK,KAGhF,IAAK,QACL,IAAK,YACJ,OAAOiG,KAAO,CAACF,OAAQkO,QAClBA,MAAAA,OAA0D,IAAjBA,MAAM1R,OAC3CwD,OAGc,IAAlBA,OAAOxD,OACH,CAAC,CAACgW,OAAOtS,IAAKQ,SAAU,IAAK8R,OAAOtE,MAAOxN,UAAUzG,KAAK,KAG3D,CAAC,CAAC+F,OAAQwS,OAAOtE,MAAOxN,UAAUzG,KAAKyG,QAAQigB,uBAGxD,QACC,OAAOzgB,KAAO,CAACF,OAAQkO,aAEX3L,IAAV2L,OACCxN,QAAQ6gB,UAAsB,OAAVrT,OACpBxN,QAAQ8gB,iBAA6B,KAAVtT,MAErBlO,OAGM,OAAVkO,MACI,IAAIlO,OAAQwS,OAAOtS,IAAKQ,UAGzB,IAAIV,OAAQ,CAACwS,OAAOtS,IAAKQ,SAAU,IAAK8R,OAAOtE,MAAOxN,UAAUzG,KAAK,MAwO7DwnB,CAAsB/gB,SAElCghB,WAAa,GAEnB,IAAK,MAAMxhB,OAAOxE,OAAOC,KAAK0lB,QACxBC,aAAaphB,OACjBwhB,WAAWxhB,KAAOmhB,OAAOnhB,MAI3B,MAAMvE,KAAOD,OAAOC,KAAK+lB,YAMzB,OAJqB,IAAjBhhB,QAAQ+a,MACX9f,KAAK8f,KAAK/a,QAAQ+a,MAGZ9f,KAAKC,KAAIsE,MACf,MAAMgO,MAAQmT,OAAOnhB,KAErB,YAAcqC,IAAV2L,MACI,GAGM,OAAVA,MACIsE,OAAOtS,IAAKQ,SAGhBxB,MAAM8W,QAAQ9H,OACVA,MACLkT,OAAOR,UAAU1gB,KAAM,IACvBjG,KAAK,KAGDuY,OAAOtS,IAAKQ,SAAW,IAAM8R,OAAOtE,MAAOxN,YAChDqZ,QAAO4H,GAAKA,EAAEnlB,OAAS,IAAGvC,KAAK,MAGnCuB,QAAQ0a,SAAW,CAACS,IAAKjW,WACxBA,QAAUhF,OAAO+kB,OAAO,CACvBnhB,QAAQ,GACNoB,SAEH,MAAOkhB,KAAM5E,MAAQ4C,aAAajJ,IAAK,KAEvC,OAAOjb,OAAO+kB,OACb,CACC9J,IAAKiL,KAAK/iB,MAAM,KAAK,IAAM,GAC3BwC,MAAOmS,MAAM4M,QAAQzJ,KAAMjW,UAE5BA,SAAWA,QAAQmhB,yBAA2B7E,KAAO,CAAC8E,mBAAoBxiB,OAAO0d,KAAMtc,UAAY,KAIrGlF,QAAQumB,aAAe,CAACV,OAAQ3gB,WAC/BA,QAAUhF,OAAO+kB,OAAO,CACvBjO,QAAQ,EACRuN,QAAQ,GACNrf,SAEH,MAAMiW,IAAMuJ,WAAWmB,OAAO1K,KAAK9X,MAAM,KAAK,IAAM,GAC9CmjB,aAAexmB,QAAQ4kB,QAAQiB,OAAO1K,KACtCsL,mBAAqBzmB,QAAQgY,MAAMwO,aAAc,CAACvG,MAAM,IAExDpa,MAAQ3F,OAAO+kB,OAAOwB,mBAAoBZ,OAAOhgB,OACvD,IAAI6gB,YAAc1mB,QAAQuN,UAAU1H,MAAOX,SACvCwhB,cACHA,YAAc,IAAIA,eAGnB,IAAIlF,KA7LL,SAASmF,QAAQxL,KAChB,IAAIqG,KAAO,GACX,MAAMmD,UAAYxJ,IAAI/Y,QAAQ,KAK9B,OAJmB,IAAfuiB,YACHnD,KAAOrG,IAAI3X,MAAMmhB,YAGXnD,KAsLImF,CAAQd,OAAO1K,KAK1B,OAJI0K,OAAOS,qBACV9E,KAAO,IAAIxK,OAAO6O,OAAOS,mBAAoBphB,YAGvC,GAAGiW,MAAMuL,cAAclF,QAG/BxhB,QAAQ4mB,KAAO,CAAC7iB,MAAOwa,OAAQrZ,WAC9BA,QAAUhF,OAAO+kB,OAAO,CACvBoB,yBAAyB,GACvBnhB,SAEH,MAAM,IAAI,MAAO,oBAAwBlF,QAAQ0a,SAAS3W,MAAOmB,SACjE,OAAOlF,QAAQumB,aAAa,CAC3BpL,IACAtV,MAAOwe,aAAaxe,MAAO0Y,QAC3B+H,oBACEphB,UAGJlF,QAAQ6mB,QAAU,CAAC9iB,MAAOwa,OAAQrZ,WACjC,MAAM4hB,gBAAkBpjB,MAAM8W,QAAQ+D,QAAU7Z,MAAQ6Z,OAAO1B,SAASnY,KAAO,CAACA,IAAKgO,SAAW6L,OAAO7Z,IAAKgO,OAE5G,OAAO1S,QAAQ4mB,KAAK7iB,MAAO+iB,gBAAiB5hB,wEClZ7CnF,OAAOC,QAAU,oBAAQ,IAAR,CAAoB,6BAA6B+mB,mDCElEhnB,OAAOC,QAAU,CAAC+hB,OAAQiF,aACzB,GAAwB,iBAAXjF,QAA4C,iBAAdiF,UAC1C,MAAM,IAAI7iB,UAAU,iDAGrB,GAAkB,KAAd6iB,UACH,MAAO,CAACjF,QAGT,MAAMkF,eAAiBlF,OAAO3f,QAAQ4kB,WAEtC,OAAwB,IAApBC,eACI,CAAClF,QAGF,CACNA,OAAOve,MAAM,EAAGyjB,gBAChBlF,OAAOve,MAAMyjB,eAAiBD,UAAUhmB,qCClB1CjB,OAAOC,QAAUknB,KAAO1C,mBAAmB0C,KAAK9iB,QAAQ,YAAY+hB,GAAK,IAAIA,EAAEgB,WAAW,GAAGpP,SAAS,IAAI2H,6FCC1G,IAAI0H,SAAW,oBAAQ,MACnBC,aAAe,oBAAQ,MAEvBC,mBAAqB,CACvBC,aAAc,EACdC,gBAAiB,GAGnB,SAAS3D,UAAUqD,KACjB,OAAOA,IAAI7jB,MAAM,MAAUjD,KAAI,SAAU4L,GAAK,OAAOA,EAAE6X,UAAU,UAAWplB,KAAK,MAGnF,SAASgpB,WAAWhN,KAIlB,IAHA,IAAIrM,MAAQ,EACRC,IAAMgZ,aAAarmB,OAAS,EAEzBoN,OAASC,KAAK,CACnB,IAAIqZ,IAAMnZ,KAAKoZ,OAAOvZ,MAAQC,KAAO,GAEjC2R,OAASqH,aAAaK,KAC1B,GAAI1H,OAAO,GAAG,IAAMvF,KAAOuF,OAAO,GAAG,IAAMvF,IACzC,OAAOuF,OACEA,OAAO,GAAG,GAAKvF,IACxBpM,IAAMqZ,IAAM,EAEZtZ,MAAQsZ,IAAM,EAIlB,OAAO,KAGT,IAAIE,mBAAqB,kCAEzB,SAASC,aAAa9F,QACpB,OAAOA,OAEJ3d,QAAQwjB,mBAAoB,KAE5B5mB,OAwDL,IAAI8mB,oBAAsB,oqFAE1B,SAASC,cAAcC,MAAOC,mBACD,SAAvBD,MAAME,OAAO,EAAG,KAClBF,MAAQZ,SAASe,UAAUH,QAI7B,IAAI7O,OAAQ,GAER0K,UAAUmE,SAAWA,OACP,MAAbA,MAAM,IAA2B,MAAbA,MAAM,IACd,MAAbA,MAAM,IAA0C,MAA5BA,MAAMA,MAAMhnB,OAAS,KACjB,IAAxBgnB,MAAM5lB,QAAQ,MACwB,IAAtC4lB,MAAMpF,OAAOkF,wBACf3O,OAAQ,GAIV,IADA,IAAIjC,IAAM2Q,aAAaG,OACd3nB,EAAI,EAAGA,EAAI6W,MAAO7W,EAAG,CAC5B,IAAImG,OAASihB,WAAWO,MAAMI,YAAY/nB,IAC1C,GAAKgoB,aAAef,mBAAmBC,cAA8B,UAAd/gB,OAAO,IACzD6hB,aAAef,mBAAmBE,iBACpB,UAAdhhB,OAAO,IAAgC,cAAdA,OAAO,GAAqB,CACxD2S,OAAQ,EACR,OAIJ,MAAO,CACL6O,MACA7O,OAIJ,SAASkP,WAAWC,YAAaC,QAASN,mBACxC,IAAIzjB,OAzFN,SAASgkB,SAASF,YAAaC,QAASN,mBAKtC,IAJA,IAAIQ,UAAW,EACXC,UAAY,GAEZxR,IAAM2Q,aAAaS,aACdjoB,EAAI,EAAGA,EAAI6W,MAAO7W,EAAG,CAC5B,IAAIsoB,UAAYL,YAAYF,YAAY/nB,GACpCmG,OAASihB,WAAWkB,WAExB,OAAQniB,OAAO,IACb,IAAK,aACHiiB,UAAW,EACXC,WAAaE,OAAOC,cAAcF,WAClC,MACF,IAAK,UACH,MACF,IAAK,SACHD,WAAaE,OAAOC,cAAc5nB,MAAM2nB,OAAQpiB,OAAO,IACvD,MACF,IAAK,YAEDkiB,WADET,oBAAsBX,mBAAmBC,aAC9BqB,OAAOC,cAAc5nB,MAAM2nB,OAAQpiB,OAAO,IAE1CoiB,OAAOC,cAAcF,WAEpC,MACF,IAAK,QACHD,WAAaE,OAAOC,cAAcF,WAClC,MACF,IAAK,yBACCJ,SACFE,UAAW,EACXC,WAAaE,OAAOC,cAAcF,YAElCD,WAAaE,OAAOC,cAAc5nB,MAAM2nB,OAAQpiB,OAAO,IAEzD,MACF,IAAK,wBACC+hB,UACFE,UAAW,GAGbC,WAAaE,OAAOC,cAAcF,YAKxC,MAAO,CACL5G,OAAQ2G,UACRvP,MAAOsP,UAwCID,CAASF,YAAaC,QAASN,mBAC5CzjB,OAAOud,OAAS8B,UAAUrf,OAAOud,QAGjC,IADA,IAAI+G,OAAStkB,OAAOud,OAAO1e,MAAM,KACxBhD,EAAI,EAAGA,EAAIyoB,OAAO9nB,SAAUX,EACnC,IACE,IAAI0oB,WAAahB,cAAce,OAAOzoB,IACtCyoB,OAAOzoB,GAAK0oB,WAAWf,MACvBxjB,OAAO2U,MAAQ3U,OAAO2U,OAAS4P,WAAW5P,MAC1C,MAAMta,GACN2F,OAAO2U,OAAQ,EAInB,MAAO,CACL4I,OAAQ+G,OAAOrqB,KAAK,KACpB0a,MAAO3U,OAAO2U,OAIlBpZ,OAAOC,QAAQgpB,QAAU,SAASV,YAAaC,QAASN,kBAAmBgB,iBACzE,IAAIzkB,OAAS6jB,WAAWC,YAAaC,QAASN,mBAC1Ca,OAAStkB,OAAOud,OAAO1e,MAAM,KAUjC,GATAylB,OAASA,OAAO1oB,KAAI,SAASW,GAC3B,IACE,OAAOqmB,SAAS4B,QAAQjoB,GACxB,MAAMlC,GAEN,OADA2F,OAAO2U,OAAQ,EACRpY,MAIPkoB,gBAAiB,CACnB,IAAIC,MAAQJ,OAAOtlB,MAAM,EAAGslB,OAAO9nB,OAAS,GAAGvC,KAAK,KAAKuC,QACrDkoB,MAAMloB,OAAS,KAAwB,IAAjBkoB,MAAMloB,UAC9BwD,OAAO2U,OAAQ,GAGjB,IAAK,IAAI9Y,EAAE,EAAGA,EAAIyoB,OAAO9nB,SAAUX,EACjC,GAAIyoB,OAAO9nB,OAAS,IAAwB,IAAlB8nB,OAAO9nB,OAAc,CAC7CwD,OAAO2U,OAAQ,EACf,OAKN,OAAI3U,OAAO2U,MAAc,KAClB2P,OAAOrqB,KAAK,MAGrBsB,OAAOC,QAAQmoB,UAAY,SAASG,YAAaC,SAC/C,IAAI/jB,OAAS6jB,WAAWC,YAAaC,QAASjB,mBAAmBE,iBAEjE,MAAO,CACL2B,OAAQ3kB,OAAOud,OACf5I,MAAO3U,OAAO2U,QAIlBpZ,OAAOC,QAAQsnB,mBAAqBA,4aChMpC,MAAM,gCAA+B8B,QAAQ,UCCvCC,cAAgB,gCAAAzW,OAAA,oBAA2B,OAC1C,IAAI0W,UACX,SAAWA,UACPA,SAAe,KAAI,OACnBA,SAAe,KAAI,OACnBA,SAAgB,MAAI,QAHxB,CAIGA,WAAaA,SAAW,KAC3B,MAAMC,WAAa,CAAChoB,QAASioB,YACzB,MAAMC,WAAY,IAAInb,MAAOob,qBAC7B,GAAuB,iBAAZnoB,QACP8nB,cAAcM,WAAW,IAAIF,eAAeD,aAAajoB,gBAExD,GAAIA,mBAAmBC,MACxB6nB,cAAcM,WAAW,IAAIF,eAAeD,aAAajoB,QAAQA,WAC7DA,QAAQqoB,OACRP,cAAcM,WAAW,IAAIF,eAAeD,aAAajoB,QAAQqoB,cAGpE,GAAuB,iBAAZroB,QACZ,IACI,MAAM+E,KAAOgH,KAAKC,UAAUhM,QAAS,KAAM,GAC3C8nB,cAAcM,WAAW,IAAIF,eAAeD,aAAaljB,QAE7D,SAGKujB,QAAWtoB,UACpBgoB,WAAWhoB,QAAS,SAKXuoB,SAAYvoB,UACrBgoB,WAAWhoB,QAAS,UClCXwoB,SAAW,CAACC,GAAIld,SACzB,IAAImd,WAAa,EACjB,MAAO,IAAIjiB,QACP,MAAMkiB,KAAM,IAAI5b,MAAOG,UACvB,KAAIyb,IAAMD,WAAand,OAIvB,OADAmd,WAAaC,IACNF,MAAMhiB,QCPd,SAASmiB,YACZ,OAAO,gCAAAC,UAAA,iBAA2B,4neCDzB,iBAAkB,iBAAsB,0BAS9C,IAAIC,YAqCAC,cApCX,SAAWD,aACPA,YAAgB,GAAI,KACpBA,YAAqB,QAAI,UACzBA,YAA2B,cAAI,gBAC/BA,YAA4B,eAAI,iBAChCA,YAA4B,eAAI,iBAChCA,YAA8B,iBAAI,mBAClCA,YAAgC,mBAAI,qBACpCA,YAAiC,oBAAI,sBACrCA,YAAiC,oBAAI,sBACrCA,YAAmC,sBAAI,wBACvCA,YAA0C,6BAAI,+BAC9CA,YAA8B,iBAAI,mBAClCA,YAAwB,WAAI,aAC5BA,YAAwB,WAAI,aAC5BA,YAA+B,kBAAI,oBACnCA,YAA2B,cAAI,gBAC/BA,YAAgC,mBAAI,qBACpCA,YAAsC,yBAAI,2BAC1CA,YAA8B,iBAAI,mBAClCA,YAAkC,qBAAI,uBACtCA,YAAyB,YAAI,cAC7BA,YAAuB,UAAI,YAC3BA,YAAsB,SAAI,WAC1BA,YAAqB,QAAI,UACzBA,YAA0B,aAAI,eAC9BA,YAA0B,aAAI,eAC9BA,YAA2B,cAAI,gBAC/BA,YAA+B,kBAAI,oBACnCA,YAAiC,oBAAI,sBACrCA,YAA+B,kBAAI,oBACnCA,YAAgC,mBAAI,qBACpCA,YAAiC,oBAAI,sBACrCA,YAAmC,sBAAI,wBACvCA,YAA+C,kCAAI,oCAlCvD,CAmCGA,cAAgBA,YAAc,KAEjC,SAAWC,cACPA,aAAoB,MAAI,UACxBA,aAAuB,SAAI,cAC3BA,aAAsB,QAAI,aAC1BA,aAA0B,YAAI,kBAC9BA,aAAwB,UAAI,cAC5BA,aAA8B,gBAAI,cAClCA,aAA8B,gBAAI,qBAClCA,aAAiC,mBAAI,yBACrCA,aAAgC,kBAAI,SACpCA,aAAgC,kBAAI,SACpCA,aAAgC,kBAAI,SACpCA,aAAyB,WAAI,gBAC7BA,aAA0B,YAAI,iBAC9BA,aAA4B,cAAI,mBAChCA,aAAsB,QAAI,aAC1BA,aAAuB,SAAI,aAC3BA,aAA4B,cAAI,kBAChCA,aAAsB,QAAI,aAC1BA,aAAwB,UAAI,eAnBhC,CAoBGA,eAAiBA,aAAe,uHC6J5B,MAAMC,UAAY,IA5NlB,MAAMC,KACTC,MACAC,MACAC,QACAC,OACAC,aAAe,IAAI,gCAAAlmB,aACnBmmB,cAAgB,GAChBC,gBAAkB,GAClBC,gBAAkB,GAClBC,OACAC,OACAjmB,YAAYkmB,WAAa,GACrB/lB,KAAKwlB,OAASO,WACd/lB,KAAKqlB,MAAQ,gCAAA7X,OAAA,kBACP,iBAAAoF,OAAM,gCAAApF,OAAA,yCACN7L,EACN3B,KAAKgmB,MACLhmB,KAAKimB,IAAIjmB,KAAK6lB,QAAQjrB,QAAQsrB,UAAW,GACzClmB,KAAK0lB,cAAc3pB,KAAK,gCAAAyR,OAAA,6BAAoC/T,IACxDuG,KAAKwa,MAAM,EAAG,8CACdxa,KAAKqlB,MAAQ5rB,GAAI,iBAAAmZ,OAAMnZ,EAAE0sB,SAAS5pB,eAAYoF,EAC9C3B,KAAKomB,eACL,gCAAApB,UAAA,6BAAsC,KACtChlB,KAAKwa,MAAM,EAAG,iDACdxa,KAAKomB,eACL,gCAAAC,WAAA,aAAuB,KACvBrmB,KAAKwa,MAAM,EAAG,kCACdxa,KAAKgmB,UAGTzpB,eACA,MAAMyW,EAAIhT,KAAKqlB,MAAQrlB,KAAKqlB,MAAMhP,KAAOrW,KAAKqlB,MAAMW,SAAMrkB,EAE1D,OADA3B,KAAKwa,MAAM,EAAG,eAAexH,KACtBA,EAEPsT,cACA,MAAMtT,EAAIhT,KAAKqlB,OAAOloB,IAAIc,MAAM,eAAAuW,KAAKwF,MAErC,OADAha,KAAKwa,MAAM,EAAG,cAAcxH,KACrBA,EAEPuT,kBACA,MAAMvT,EAAIhT,KAAKqlB,OAAOloB,IAEtB,OADA6C,KAAKwa,MAAM,EAAG,kBAAkBxH,KACzBA,EAEPgS,gBACA,MAAMhS,EAAI,gCAAAgS,UAAA,KAEV,OADAhlB,KAAKwa,MAAM,EAAG,gBAAgBxH,KACvBA,EAEPwT,sBACA,MAAM9R,IAAM,gCAAAlH,OAAA,8BACZ,IAAIwF,EAKJ,OAJI0B,MACA1B,EAAI,gCAAAgS,UAAA,mBAA6BtQ,MAErC1U,KAAKwa,MAAM,EAAG,sBAAsB9F,IAAM,YAAc,YAAY1B,KAC7DA,EAEPyT,kBACA,MAAMzT,EAAIhT,KAAKslB,OAAOoB,QAAQC,OAE9B,OADA3mB,KAAKwa,MAAM,EAAG,kBAAkBxH,KACzBA,EAEP4T,kBACA,MAAM5T,EAAIhT,KAAKslB,OAAOoB,QAAQC,OAAO1oB,MAAM,eAAAuW,KAAKwF,MAEhD,OADAha,KAAKwa,MAAM,EAAG,kBAAkBxH,KACzBA,EAEP6T,oBACA,MAAM7T,EAAIhT,KAAK8mB,cAAczQ,KAE7B,OADArW,KAAKwa,MAAM,EAAG,kBAAkBxH,KACzBA,EAEP8T,mBACA,MAAM9T,EAAIhT,KAAKulB,SAASwB,UAAY/mB,KAAKulB,SAASyB,QAElD,GADAhnB,KAAKwa,MAAM,EAAG,wBAAwBxH,KACjCA,EAGL,OAAO,cAAYA,GAEnBiU,oBACA,MAAMjU,EAAIhT,KAAKslB,OAAO7a,MAAMyc,MAAM7Q,KAElC,OADArW,KAAKwa,MAAM,EAAG,oBAAoBxH,KAC3BA,EAEXmU,QAAQC,MAAQ,GACZ,IAAIC,UAAY,GAChB,OAAQD,OACJ,KAAK,EACDpnB,KAAKmnB,QAAQ,GACbE,UAAYrnB,KAAK0lB,cACjB1lB,KAAK0lB,cAAgB,GACrB,MACJ,KAAK,EACD1lB,KAAKmnB,QAAQ,GACbE,UAAYrnB,KAAK2lB,gBACjB3lB,KAAK2lB,gBAAkB,GACvB,MACJ,KAAK,EACD0B,UAAYrnB,KAAK4lB,gBACjB5lB,KAAK4lB,gBAAkB,GAG/B,IAAK,MAAM0B,cAAcD,UACrBC,YAAYH,UAGpBI,SAASC,UACL,OAAOxnB,KAAKylB,aAAaxd,MAAMuf,UAEnCxB,MACI,MAAMA,IAAM,gCAAAK,WAAA,aAAwB,cACpCrmB,KAAKwa,MAAM,EAAG,WAAUwL,IAAM,YAAc,cAExCA,MAAQhmB,KAAK6lB,QACb7lB,KAAKwa,MAAM,EAAG,+BACdxa,KAAK6lB,OAASG,IACVhmB,KAAK6lB,OAAO4B,UACZhD,QAAQ,4CACRzkB,KAAKimB,IAAIjmB,KAAK6lB,OAAOjrB,QAAQsrB,SAC7BlmB,KAAK2lB,gBAAgB5pB,KAAKiE,KAAK6lB,OAAOjrB,QAAQ8sB,uBAAuBjuB,GAAMuG,KAAKimB,IAAIxsB,QAGpFgrB,QAAQ,6BACHuB,IAAI2B,cAGP3B,KAAOhmB,KAAK6lB,SAClB7lB,KAAKwa,MAAM,EAAG,yCACdxa,KAAK6lB,YAASlkB,EACd3B,KAAKimB,KAAI,GACTjmB,KAAKmnB,QAAQ,IAGrBlB,IAAIxsB,GACAuG,KAAKwa,MAAM,EAAG,UAAU/gB,KACpBA,GACAuG,KAAK8lB,OAAS9lB,KAAK6lB,QAAQjrB,QAAQgtB,OA5I3B,GA6IR5nB,KAAKwa,MAAM,EAAG,WAAUxa,KAAK8lB,OAAS,SAAW,cACjD9lB,KAAK6nB,cAGL7nB,KAAK8lB,YAASnkB,EACd3B,KAAKmnB,QAAQ,IAEjBnnB,KAAKomB,YAETyB,YACS7nB,KAAK8lB,QAGV9lB,KAAK4lB,gBAAgB7pB,KAAKiE,KAAK8lB,OAAOgC,qBAAqBruB,IACvDuG,KAAKwa,MAAM,EAAG,0BAA0B/gB,EAAEitB,QAAQC,OAAO1oB,MAAM,eAAAuW,KAAKwF,SACpEha,KAAKomB,eACLpmB,KAAK8lB,OAAOiC,sBAAsBtuB,IAClCuG,KAAKwa,MAAM,EAAG,2BAA2B/gB,EAAEitB,QAAQC,OAAO1oB,MAAM,eAAAuW,KAAKwF,SACrEha,KAAKomB,eACLpmB,KAAK8lB,OAAOkC,kBAAkBvuB,IAC9BuG,KAAKwa,MAAM,EAAG,6BAA6B/gB,KAC3CuG,KAAKomB,gBAGbA,YAEI,GADApmB,KAAKwa,MAAM,EAAG,0BACTxa,KAAK8lB,OAIN,OAHA9lB,KAAKslB,WAAQ3jB,EACb3B,KAAKulB,aAAU5jB,OACf3B,KAAKylB,aAAawC,OAGtBjoB,KAAKslB,MAAQtlB,KAAKkoB,OAClBloB,KAAKulB,QAAUvlB,KAAKmoB,SACpBnoB,KAAKwa,MAAM,EAAG,qBAAqBxa,KAAKymB,eACxCzmB,KAAKylB,aAAawC,OAEtBC,OACI,IAAKloB,KAAK8lB,OACN,OAEJ,MAAMsC,MAAQpoB,KAAK8lB,OAAOuC,aAC1B,GAAIroB,KAAKqlB,MAAO,CACZ,MAAMiD,WAAatoB,KAAKqlB,MAAMloB,IAC9B,OAAQirB,MACHjP,QAAQnG,GAAMA,EAAE0T,QAAQC,OAAO/qB,QAAU0sB,WAAW1sB,SACpDud,QAAQnG,GAAMA,EAAE0T,QAAQC,SAAW2B,WAAW3T,UAAU,EAAG3B,EAAE0T,QAAQC,OAAO/qB,UAC5Eif,MAAK,CAACxe,EAAGd,IAAMA,EAAEmrB,QAAQC,OAAO/qB,OAASS,EAAEqqB,QAAQC,OAAO/qB,SAE1D2gB,QAGT,OADAvc,KAAKwa,MAAM,EAAG,wBACT,gCAAAwK,UAAA,iBAGE,gCAAAA,UAAA,sBACGhS,GAAM,CAACA,KACZ6H,MAAK,CAACxe,EAAGd,IAAMc,EAAE,GAAGwiB,MAAQtjB,EAAE,GAAGsjB,QACjCtC,SACCvhB,KAAKgqB,WAAcoD,MACpBjP,QAAQnG,GAAMA,EAAE0T,QAAQC,OAAO/qB,QAAUopB,UAAUtQ,IAAIiS,OAAO/qB,SAC9Dud,QAAQnG,GAAMA,EAAE0T,QAAQC,SACzB3B,UAAUtQ,IAAIiS,OAAOhS,UAAU,EAAG3B,EAAE0T,QAAQC,OAAO/qB,UAClDif,MAAK,CAACxe,EAAGd,IAAMc,EAAEqqB,QAAQC,OAAO/qB,OAASL,EAAEmrB,QAAQC,OAAO/qB,SAC1D2gB,UACAA,aAbL,EAeJ4L,SACI,MAAMI,QAAUvoB,KAAKslB,OAAO7a,MAAM8d,QAClC,GAAKA,QAGL,OAAOA,QAAQC,MAAMxV,GAAiB,WAAXA,EAAEqD,QAAsBkS,QAAQ,GAE/D/N,MAAM4M,MAAOjrB,SACL6D,KAAKwlB,QAAU4B,OACf3C,QAAQ,aAAatoB,aC7NpBssB,WAAa,CAACzQ,OAAQ0Q,WAC/B,IAAK1Q,SAAW0Q,QACZ,OAAO,EAEX,IAAK1Q,OAAOpc,OACR,OAAO,EAEX,MAAM+sB,cAAgB3Q,OAAO3e,KAAK,KAGlC,OAFc,IAAIwE,OAAO8qB,cAAe,MACjBzsB,KAAKwsB,UCNnBE,QAAW9G,KAAQA,IAAI+G,oBACvBC,QAAWhH,KAAQA,IAAIiH,oBACvBC,QAAWlH,KAAQ8G,QAAQ9G,KAAK9iB,QAAQ,OAAQiqB,GAAMH,QAAQG,KAC9DC,YAAe7S,MAAS,yEAAyEA,WACvG,SAAS8S,gBAAgBhD,UAC5B,MAAMnO,OAAS+M,YACTqE,UAAW,iBAAAC,UAASlD,SAAS5pB,UAC7B+sB,mBAAqBxuB,OAAOC,KAAKwuB,kBAAkBf,MAAMlpB,MAC3D,GAAI8pB,SAAS1L,SAASpe,KAClB,OAAO,EAEX,MAAMT,MAAQ,sBAAsBM,KAAKG,KACzC,IAAKT,MACD,OAAO,EAGX,OADc,IAAIhB,OAAOgB,MAAM,GAAIA,MAAM,IAC5B3C,KAAKktB,aAEhBI,wBAA0BxR,OAAkF,kCAC5GyR,kBAAoBC,gBAAgBlB,MAAMlpB,KAAQA,IAAIqqB,WAAaxD,SAASyD,aAC5EC,eAAiBP,mBACjBC,iBAAiBD,oBACjBG,kBACIA,kBAAkBK,MAClB,KACJC,cAAgBN,kBAAoBA,kBAAkBK,MAAQD,eAC9DG,SAAWR,wBAA0BO,cAAgBF,eAC3D,MAA2B,iBAAbG,SAAwBA,SAAWA,UAAUF,OAAS,OCtBxE,IAAIG,cAAgB,EAgBb,SAASzf,SAAS0f,SAAW,GAAIC,WAAY,GAChD,MAAMnS,OAAS+M,aACT,SAAc,gCAAAjrB,IACdswB,SAAWC,QAAQ5S,SAAS,YAC5B6S,qBAAuB,gCAAA9P,MAAA,mBACvB0O,YJtByB,aIwBrBA,YADJkB,SJrB+B,kBADT,UIyBtBG,sBAAwBvS,OAAoC,WAAEhZ,QAAQ,aAA4BqrB,SAClGG,sBAAwBxS,OAAgD,iBACxEyS,cAAgBzS,OAA0C,cAC1D0S,mBAAqB1S,OAAoD,mBACzE2S,yBAA2B3S,OAAgE,yBACjG,IAAI4S,SAAW,CACXlgB,QAAS+f,mBACH9oB,EACA+I,QAAQ,gBAAqC,iBAAuC,iBAAuC,mBAA2Cyf,WAC5K1f,MAAOigB,oBAAsBC,8BACvBhpB,EACA+I,QAAQ,qBAA+C,sBAAiD,sBAAiD,wBAAqDyf,WACpNrhB,eAAgBkP,OAAkD,uBAC5DrW,EACAuoB,SAASphB,gBAAkBI,KAAK4b,MACtCvb,cACM2f,YADSkB,SJ3Cc,cACS,wBI6CtC5gB,eAAgBghB,sBAChB/gB,cAAe6gB,qBACf5gB,eAAgB6gB,uBAEpB,GAAI,gCAAA/c,OAAA,iBAAyB,CACzB,MAAMjE,cAAgB4f,gBAAgB,gCAAA3b,OAAA,2BAChChE,eAAiBwO,OAAoC,WACtDhZ,QAAQ,SAAkC4pB,QAAQrf,gBAClDvK,QAAQ,SAAkCgqB,QAAQzf,gBAClDvK,QAAQ,SAAkC8pB,QAAQvf,gBAClDshB,OAAO,EJ1DM,MI2DlB,IAAIC,qBAAsB,EACtBC,sBAAwB,qCAI5B,GAHI5F,UAAUqB,iBAAmB,QAASrB,UAAUqB,kBAChDsE,oBAAsBrC,WAAWzQ,OAAgD,iBAAGmN,UAAUqB,gBAAgB9R,IAAIiS,SAElHmE,qBAAuB3F,UAAUqB,iBAAmBrB,UAAUqB,gBAAgBnQ,KAAM,CACpF,MAAM2U,qBAAuBhT,OAAwD,qBACrF+S,sBCpES,QADIzd,MDqEoB0d,uBCpEE,iBAAV1d,OAAuC,mBAAVA,MDuEhD0d,sBAEI,qCAHFA,qBAAqB7F,UAAUqB,gBAAgBnQ,MAoB3D,GAfAuU,SAAW,IACJA,SACHlgB,QAAS+f,mBACH9oB,EACAmpB,oBACIC,sBACArgB,QAAQ,gBAAqC,iBAAuC,iBAAuC,mBAA2Cyf,WAChL1f,MAAOigB,oBAEDI,yBADAnpB,EAGI+I,QAAQ,qBAA+C,sBAAiD,sBAAiD,wBAAqDyf,WACxN5gB,cAAe2f,YAAY3f,eAC3BC,gBAEAwO,OAA0C,eAAKmN,UAAU2B,aAAc,CACvE,MAAMmE,QAAU9F,UAAU2B,aAAanU,SAAS,SAAS3T,QAAQ,SAAU,IACrEksB,OAAS/F,UAAU2B,aAAaxQ,cAAgB6O,UAAU2B,aAAalb,MACvEuf,qBAAuB1C,WAAWzQ,OAAoD,mBAAGiT,SACzFG,uBAAyB3C,WAAWzQ,OAAsD,oBAAGkT,QAC7FG,eAAiBF,uBAAyBL,sBAAwBM,uBACpEH,SAAWjT,OAAkD,mBAAKqT,cAClET,SAAW,IACJA,SACHjgB,QAAS,CACL,CACIiY,MAAO5K,OAAkD,kBACzDjC,IAAKkV,YAKXA,SACNjT,OAAsD,qBACtDA,OAAkD,oBAClD4S,SAAW,IACJA,SACHjgB,QAAS,CACL,CACIiY,MAAO5K,OAAsD,oBAC7DjC,IAAKiC,OAAkD,uBCpH3D,IAAC1K,MD2HrB,OAAOsd,SAEX,SAASlgB,QAAQ4gB,OAAQC,QAASC,QAASC,UAAWtB,WAClD,MAAMnS,OAAS+M,YACf,IAAItS,IAAMuF,OAAOsT,QAAQtsB,QAAQ,UJ5HX,MI6HtB,GAAI,gCAAAwO,OAAA,iBAAyB,CACzB,MAAMke,iBAAmB1T,OAAwE,6BAAEhZ,QAAQ,UJ9HzF,MI+HZ2sB,oBAAsBxG,UAAUqB,gBAChCrB,UAAUqB,gBAAgBnQ,KAC1BqV,iBACAE,cAAgBzG,UAAUH,UAC1BG,UAAUH,UAAUhmB,QAAQ,cJpIrB,IIqIP2sB,oBACAE,mBAAqB,GAAGD,gBJrIZ,OIqI4BD,oBAAqC,GAAK,MAAMA,wBACxF3B,SAAWb,gBAAgB,gCAAA3b,OAAA,2BAC3Bse,SAAW9T,OAAwC,aACnDA,OAAwC,aAAEhZ,QAAQ,kBAAuCirB,cAActX,YACvG,GAEN,GADAF,IAAMuF,OAAO,gCAAAwC,MAAA,mBAA2BiR,UAAYtB,UAAYoB,QAAUC,SACtErG,UAAUH,UAAW,CACrB,MAAM3O,KAAO8O,UAAUH,UACjB+G,aAAe,gCAAA/G,UAAA,eACD,gCAAAxX,OAAA,oCACfvP,MAAM,eAAAuW,KACXuX,aAAaC,QAAQ,EAAG,GACxBvZ,IAAMA,IAAIzT,QAAQ,kBAAqC,GAAGqX,OAAO,eAAA7B,MAAMuX,aAAa1yB,KAAK,eAAAmb,QAE7F/B,IAkBR,SAASwZ,YAAYC,KAAM/F,SAAUgG,WACjC,IAAI1Z,IAAMyZ,KAAK9tB,QACXqU,IAAIgF,SAAS,mBACbhF,IAAMA,IAAIzT,QAAQ,gBAAkCmnB,SAASiG,UAAUC,mBAEvE5Z,IAAIgF,SAAS,oBACbhF,IAAMA,IAAIzT,QAAQ,kBAAqCmtB,UAAUG,OAAOC,KAAO,GAAGF,mBAElF5Z,IAAIgF,SAAS,sBACbhF,IAAMA,IAAIzT,QAAQ,oBAAyCmtB,UAAUG,OAAOE,UAAY,GAAGH,mBAE/F,OAAO5Z,IA7BGwZ,CAAYxZ,IAAK,gCAAAjF,OAAA,0BAAkC,gCAAAA,OAAA,4BACzDiF,IAAMA,IACDzT,QAAQ,cAA8BmmB,UAAU5oB,UJrJnC,MIsJbyC,QAAQ,aAA4BmmB,UAAUmB,SJtJjC,MIuJbtnB,QAAQ,cAA+B4sB,eACvC5sB,QAAQ,qBAA4C2sB,qBACpD3sB,QAAQ,yBAAmD6sB,oBAC3D7sB,QAAQ,SAAkC4pB,QAAQoB,WAClDhrB,QAAQ,SAAkCgqB,QAAQgB,WAClDhrB,QAAQ,SAAkC8pB,QAAQkB,WAClDhrB,QAAQ,aAA6B8sB,UACrC9sB,QAAQ,aAA4BmmB,UAAU2B,aAC7C3B,UAAU2B,aAAazQ,KACvB8O,UAAUyB,aJhKE,MIiKb5nB,QAAQ,eAAgCmmB,UAAU8B,eJjKrC,MImKtB,OAAOxU,IE5JX,IACIga,IAEAC,iBACA3qB,QAJA0I,MAAQ,GAERod,UAAY,GAGhB,MAAM8E,cAAgB,gCAAAnf,OAAA,oBAA2B,gCAAAof,mBAAA,MACjDD,cAAcE,KAAO,4CACd,MAAMC,aAAe9rB,MAAOmpB,WAAY,KAC3C1f,MAAQ,UACMD,SAASC,MAAO0f,kBAExBsC,KAAKhkB,YAAYgC,SAEdsiB,OAAS,KAClB,MAAM/U,OAAS+M,YACTiI,WAAa,gCAAAxf,OAAA,6BAAmC,IAAMsf,cAAa,KACnEG,SAAW,gCAAAjI,UAAA,wBAAkCL,UAAS,IAAMmI,gBAAgB,MAC5EI,WAAa,gCAAA1S,MAAA,wBAA6B,IAAMsS,iBAChDK,SAAW,gCAAA3S,MAAA,4BAAiC,IAAMsS,iBAClDM,kBAAoB,gCAAAC,UAAA,wBAAiC,IFpBxD,SAASC,sBACZ,MAAMC,YAAc,gCAAAF,UAAA,iBACpB,IAAIG,QAAU,EACdD,YAAYnrB,SAASqrB,aACbA,WAAW,IACXA,WAAW,GAAGrrB,SAASqrB,aACfA,WAAWC,WAAa,gCAAAC,mBAAA,SACxBF,WAAWC,WAAa,gCAAAC,mBAAA,OACxBH,gBAKhBvD,cAAgBuD,QEOiDF,KAC3DM,kBAAoB,gCAAApgB,OAAA,wBAA+B/T,GAAMo0B,aAAap0B,KACtEq0B,YAAc3I,UAAUoC,SAAS5C,UAAS,IAAMmI,gBAAgB,MAClE9U,OAAwC,cACxC6P,UAAU9rB,KAAKqxB,mBAEfpV,OAAkC,WAClC6P,UAAU9rB,KAAK6xB,mBAEnB/F,UAAU9rB,KAAKixB,WAAYC,SAAUC,WAAYC,SAAUW,cAElDC,QAAU,KACnBlG,UAAUzlB,SAASolB,UAAaA,SAASL,YACzCU,UAAY,IAEHgG,aAAe7sB,MAAOgtB,cAC/B,MAAMhW,OAAS+M,YACiC,IAA5C/M,OAAsC,cAClCgW,YAAYC,SACRvB,kBACAvqB,aAAauqB,wBAEXI,gBAGNJ,iBAAmB1qB,YAAWhB,UAC1ByJ,MAAQ,IACDA,MACHhB,cAAeyf,YNrDC,QMsDhBxf,eAAgBsO,OAAgC,gBAE9CyU,KAAKhkB,YAAYgC,UACkB,IAA1CuN,OAAsC,eAIxCkW,MAAQltB,UACjB,MAAMgX,OAAS+M,YACf4H,cAAcE,KAAO,qDACrBF,cAAcwB,QAAU,mCACxB1B,IAAM,IAAI,IAAA9b,OAAO,CAAErQ,UAAW,QAC9BmsB,IAAIprB,GAAG,SAASL,UACZyjB,QAAQ,qCACRsJ,gBACMjB,eACNH,cAAcE,KAAO,gCACrBF,cAAcwB,QAAU,uBACxBxB,cAAcyB,OACdrB,SACIhrB,SACAI,aAAaJ,SAEjBA,QAAUC,YAAW,IAAO2qB,cAAcE,KAAO,aAAc,QAEnEJ,IAAIprB,GAAG,gBAAgB,KACnB0sB,UACAtB,KAAOA,IAAI4B,UACX1B,cAAcE,KAAO,iDACrBF,cAAc2B,QAAU,gBACxB3B,cAAcwB,QAAU,+BACxBxB,cAAcyB,UAElB,MAAM,UC3FsB,CAACpW,SAC7B,MAAMuW,eAAiB,IAAI9sB,IAC3B8sB,eAAetrB,IAAI,OAAQ,sBAC3BsrB,eAAetrB,IAAI,qBAAsB,sBACzC,MAAMpE,MAAQ,6BAA6BM,KAAK6Y,OAA8B,SAC9E,IAAI9X,SAAW8X,OAAoB,GAInC,OAHc,OAAVnZ,OAAkB0vB,eAAejrB,IAAIzE,MAAM,MAC3CqB,SAAWquB,eAAehrB,IAAI1E,MAAM,KAEjC,CAAEqB,WDkFYsuB,CAAiBxW,QACtC,UACUyU,IAAIyB,MAAM,CAAEhuB,WAClBukB,QAAQ,oDAAoDvkB,YAEhE,MAAO6T,OACH2Q,SAAS,uDAAuD3Q,SAChE0Y,KAAOA,IAAI4B,UACX5J,QAAQ,sCACHzM,OAA0D,wBAC3DjE,OAAO5X,SAASsb,SAAS,UACd,gCAAAjK,OAAA,iBAAwB,8BACxB,gCAAAA,OAAA,iBAAwB,wCAAwCuG,UAE/E4Y,cAAcE,KAAO,iDACrBF,cAAc2B,QAAU,gBACxB3B,cAAcwB,QAAU,iCAGnBM,iBAAoBC,MAC7B,MAAM1W,OAAS+M,YACT4J,OAAS3tB,MAAO4tB,QAAS,KAC3B,GAAIA,OACA,UACU5W,OAAO4W,OAAO,WAAW,GAEnC,OAEJb,UACApB,cAAcE,KAAO,qDACrBF,cAAcwB,QAAU,yCAClBD,SAEJW,QAAU7tB,MAAO4tB,QAAS,KAC5B,GAAIA,OACA,UACU5W,OAAO4W,OAAO,WAAW,GAEnC,OAEJb,UACAtB,KAAOA,IAAI4B,UACX5J,QAAQ,sCACRkI,cAAcmC,QAEZC,cAAgB,gCAAAC,SAAA,gBAAyB,cAAchuB,gBACnD6tB,gBACAF,SACNlK,QAAQ,qDACHzM,OAA0D,6BACrD,gCAAAxK,OAAA,uBAA8B,wDAGtCyhB,eAAiB,gCAAAD,SAAA,gBAAyB,eAAehuB,gBACrD6tB,UACNpK,QAAQ,sDACHzM,OAA0D,6BACrD,gCAAAxK,OAAA,uBAA8B,yDAGtC0hB,iBAAmB,gCAAAF,SAAA,gBAAyB,iBAAiBhuB,UAC/DyjB,QAAQ,4CACFoK,SAAQ,SACRF,QAAO,MAEXQ,kBAAoB,gCAAAH,SAAA,gBAAyB,kBAAkBhuB,UACjEyjB,QAAQ,+CACFoK,SAAQ,GACdlC,cAAcE,KAAO,iDACrBF,cAAc2B,QAAU,gBACxB3B,cAAcwB,QAAU,+BACxBxB,cAAcyB,UAElBM,IAAIU,cAAcrzB,KAAKgzB,cAAeE,eAAgBC,iBAAkBC,mBACxE1K,QAAQ,8CAELzjB,eAAe2mB,SAAS+G,KAC3BjK,QAAQ,gDACRgK,iBAAiBC,KACjB,UACUR,QAEV,MAAOna,OACH2Q,SAAS,+BAA+B3Q,UAGzC,SAASsb,aACZ5K,QAAQ,kDACRsJ,UACIhsB,UACAI,aAAaJ,SACbA,aAAUJ,GAEV+qB,mBACAvqB,aAAauqB,kBACbA,sBAAmB/qB,GAEvB8qB,KAAOA,IAAI4B,UACX5J,QAAQ,kEEhIZ9pB,OAAOC,QAlDP,SAAS00B,YAAYC,KACnB,MAAMzd,IAAMyd,IAAI3zB,OAChB,IAAIX,EAAI,EAER,KAAOA,EAAI6W,KACT,GAAwB,IAAV,IAATyd,IAAIt0B,IACPA,SACK,GAAwB,MAAV,IAATs0B,IAAIt0B,IAAqB,CACnC,GACEA,EAAI,IAAM6W,KACc,MAAV,IAAbyd,IAAIt0B,EAAI,KACW,MAAV,IAATs0B,IAAIt0B,IAEL,OAAO,EAGTA,GAAK,OACA,GAAwB,MAAV,IAATs0B,IAAIt0B,IAAqB,CACnC,GACEA,EAAI,GAAK6W,KACe,MAAV,IAAbyd,IAAIt0B,EAAI,KACe,MAAV,IAAbs0B,IAAIt0B,EAAI,KACE,MAAXs0B,IAAIt0B,IAAuC,MAAV,IAAbs0B,IAAIt0B,EAAI,KACjB,MAAXs0B,IAAIt0B,IAAuC,MAAV,IAAbs0B,IAAIt0B,EAAI,IAE5B,OAAO,EAGTA,GAAK,MACA,IAAwB,MAAV,IAATs0B,IAAIt0B,IAcd,OAAO,EAbP,GACEA,EAAI,GAAK6W,KACe,MAAV,IAAbyd,IAAIt0B,EAAI,KACe,MAAV,IAAbs0B,IAAIt0B,EAAI,KACe,MAAV,IAAbs0B,IAAIt0B,EAAI,KACE,MAAXs0B,IAAIt0B,IAAuC,MAAV,IAAbs0B,IAAIt0B,EAAI,KACjB,MAAXs0B,IAAIt0B,IAAes0B,IAAIt0B,EAAI,GAAK,KAAQs0B,IAAIt0B,GAAK,IAEjD,OAAO,EAGTA,GAAK,EAMT,OAAO,6ECxDT,IACEN,OAAOC,QAAU,oBAAQ,KAAR,CAA0B+C,WAC3C,MAAOlE,GACPkB,OAAOC,QAAU,oBAAjB,iCCHF,IAAI40B,YAAc,GAGlB,SAASC,KAAK1O,GACV,OAAOA,EAAI,GAAK,EAAI,EAYxB,SAAS2O,uBAAuBC,UAAWC,UAClCA,SAASC,YACRF,UAEN,MAAMG,WAAaF,SAASC,SAAW,GAAK1mB,KAAK4mB,IAAI,EAAGJ,WAClDK,WAAa7mB,KAAK4mB,IAAI,EAAGJ,WAAa,EAEtCM,UAAYL,SAASM,gBAAkB/mB,KAAK4mB,IAAI,EAAGH,SAASM,iBAAmB/mB,KAAK4mB,IAAI,EAAGJ,WAC3FQ,YAAcP,SAASM,gBAAkB/mB,KAAK4mB,IAAI,EAAGH,SAASM,gBAAkB,GAAK/mB,KAAK4mB,IAAI,EAAGJ,UAAY,GAEnH,OAAO,SAASS,EAAGv1B,MACVA,OAAMA,KAAO,IAElB,IAAIkmB,GAAKqP,EAET,GAAIv1B,KAAKw1B,aAAc,CACnB,IAAKlS,OAAOmS,SAASvP,GACjB,MAAM,IAAIhiB,UAAU,mCAIxB,GADAgiB,EAAI0O,KAAK1O,GAAK5X,KAAKoZ,MAAMpZ,KAAKonB,IAAIxP,IAC9BA,EAAI+O,YAAc/O,EAAIiP,WACtB,MAAM,IAAIjxB,UAAU,iCAGxB,OAAOgiB,EAGX,IAAK3C,MAAM2C,IAAMlmB,KAAK21B,MAKlB,OAJAzP,EAtCZ,SAAS0P,UAAU1P,GAEf,OAAKA,EAAI,GAAO,IAAmB,IAAP,EAAJA,GACb5X,KAAKoZ,MAAMxB,GAEX5X,KAAKC,MAAM2X,GAiCV0P,CAAU1P,GAEVA,EAAI+O,aAAY/O,EAAI+O,YACpB/O,EAAIiP,aAAYjP,EAAIiP,YACjBjP,EAGX,IAAK5C,OAAOmS,SAASvP,IAAY,IAANA,EACvB,OAAO,EAMX,GAHAA,EAAI0O,KAAK1O,GAAK5X,KAAKoZ,MAAMpZ,KAAKonB,IAAIxP,IAClCA,GAAQkP,WAEHL,SAASC,UAAY9O,GAAKoP,YAC3B,OAAOpP,EAAIkP,UACR,GAAIL,SAASC,SAChB,GAAI9O,EAAI,EACNA,GAAKkP,eACA,IAAW,IAAPlP,EACT,OAAO,EAIb,OAAOA,GApEfpmB,OAAOC,QAAU40B,YAwEjBA,YAAkB,KAAI,aAItBA,YAAqB,QAAI,SAAUna,KAC/B,QAASA,KAGbma,YAAkB,KAAIE,uBAAuB,EAAG,CAAEG,UAAU,IAC5DL,YAAmB,MAAIE,uBAAuB,EAAG,CAAEG,UAAU,IAE7DL,YAAmB,MAAIE,uBAAuB,GAAI,CAAEG,UAAU,IAC9DL,YAAY,kBAAoBE,uBAAuB,GAAI,CAAEG,UAAU,IAEvEL,YAAkB,KAAIE,uBAAuB,GAAI,CAAEG,UAAU,IAC7DL,YAAY,iBAAmBE,uBAAuB,GAAI,CAAEG,UAAU,IAEtEL,YAAY,aAAeE,uBAAuB,GAAI,CAAEG,UAAU,EAAOK,gBAAiB,KAC1FV,YAAY,sBAAwBE,uBAAuB,GAAI,CAAEG,UAAU,EAAMK,gBAAiB,KAElGV,YAAoB,OAAI,SAAUY,GAC9B,MAAMrP,GAAKqP,EAEX,IAAKjS,OAAOmS,SAASvP,GACjB,MAAM,IAAIhiB,UAAU,iDAGxB,OAAOgiB,GAGXyO,YAAY,uBAAyB,SAAUY,GAC3C,MAAMrP,GAAKqP,EAEX,GAAIhS,MAAM2C,GACN,MAAM,IAAIhiB,UAAU,mBAGxB,OAAOgiB,GAIXyO,YAAmB,MAAIA,YAAoB,OAC3CA,YAAY,sBAAwBA,YAAY,uBAEhDA,YAAuB,UAAI,SAAUY,EAAGv1B,MAGpC,OAFKA,OAAMA,KAAO,IAEdA,KAAK61B,wBAAgC,OAANN,EACxB,GAGJ5M,OAAO4M,IAGlBZ,YAAwB,WAAI,SAAUY,EAAGv1B,MACrC,MAAMkmB,EAAIyC,OAAO4M,GACjB,IAAInH,EACJ,IAAK,IAAIhuB,EAAI,OAA8B0G,KAA1BsnB,EAAIlI,EAAEiC,YAAY/nB,MAAqBA,EACpD,GAAIguB,EAAI,IACJ,MAAM,IAAIlqB,UAAU,sCAI5B,OAAOgiB,GAGXyO,YAAuB,UAAI,SAAUY,GACjC,MAAMO,EAAInN,OAAO4M,GACX90B,EAAIq1B,EAAE/0B,OACNg1B,EAAI,GACV,IAAK,IAAI31B,EAAI,EAAGA,EAAIK,IAAKL,EAAG,CACxB,MAAMguB,EAAI0H,EAAE5O,WAAW9mB,GACvB,GAAIguB,EAAI,OAAUA,EAAI,MAClB2H,EAAE70B,KAAKynB,OAAOC,cAAcwF,SACzB,GAAI,OAAUA,GAAKA,GAAK,MAC3B2H,EAAE70B,KAAKynB,OAAOC,cAAc,aAE5B,GAAIxoB,IAAMK,EAAI,EACVs1B,EAAE70B,KAAKynB,OAAOC,cAAc,YACzB,CACH,MAAMxe,EAAI0rB,EAAE5O,WAAW9mB,EAAI,GAC3B,GAAI,OAAUgK,GAAKA,GAAK,MAAQ,CAC5B,MAAM5I,EAAQ,KAAJ4sB,EACJ1tB,EAAQ,KAAJ0J,EACV2rB,EAAE70B,KAAKynB,OAAOC,cAAc,MAAY,KAAWpnB,EAAId,MACrDN,OAEF21B,EAAE70B,KAAKynB,OAAOC,cAAc,SAM5C,OAAOmN,EAAEv3B,KAAK,KAGlBm2B,YAAkB,KAAI,SAAUY,EAAGv1B,MAC/B,KAAMu1B,aAAalnB,MACf,MAAM,IAAInK,UAAU,iCAExB,IAAIqf,MAAMgS,GAIV,OAAOA,GAGXZ,YAAoB,OAAI,SAAUY,EAAGv1B,MAKjC,OAJMu1B,aAAavyB,SACfuyB,EAAI,IAAIvyB,OAAOuyB,IAGZA,8EC1LX,MAAMS,IAAM,oBAAQ,MAEpBj2B,QAAQk2B,eAAiB,MAAMC,QAC7BlxB,YAAYmxB,iBACV,MAAMjb,IAAMib,gBAAgB,GACtBC,KAAOD,gBAAgB,GAE7B,IAAIE,WAAa,KACjB,QAAavvB,IAATsvB,OACFC,WAAaL,IAAIM,cAAcF,MACZ,YAAfC,YACF,MAAM,IAAInyB,UAAU,oBAIxB,MAAMqyB,UAAYP,IAAIM,cAAcpb,IAAK,CAAEsb,QAASH,aACpD,GAAkB,YAAdE,UACF,MAAM,IAAIryB,UAAU,eAGtBiB,KAAKsxB,KAAOF,UAKVvb,WACF,OAAOgb,IAAIU,aAAavxB,KAAKsxB,MAG3Bzb,SAAK7C,GACP,MAAMoe,UAAYP,IAAIM,cAAcne,GACpC,GAAkB,YAAdoe,UACF,MAAM,IAAIryB,UAAU,eAGtBiB,KAAKsxB,KAAOF,UAGV7d,aACF,OAAOsd,IAAIW,mBAAmBxxB,KAAKsxB,MAGjC1b,eACF,OAAO5V,KAAKsxB,KAAKG,OAAS,IAGxB7b,aAAS5C,GACX6d,IAAIM,cAAcne,EAAI,IAAK,CAAE+C,IAAK/V,KAAKsxB,KAAMI,cAAe,iBAG1DzU,eACF,OAAOjd,KAAKsxB,KAAKrU,SAGfA,aAASjK,GACP6d,IAAIc,gCAAgC3xB,KAAKsxB,OAI7CT,IAAIe,eAAe5xB,KAAKsxB,KAAMte,GAG5BkK,eACF,OAAOld,KAAKsxB,KAAKpU,SAGfA,aAASlK,GACP6d,IAAIc,gCAAgC3xB,KAAKsxB,OAI7CT,IAAIgB,eAAe7xB,KAAKsxB,KAAMte,GAG5B+B,WACF,MAAMgB,IAAM/V,KAAKsxB,KAEjB,OAAiB,OAAbvb,IAAIhB,KACC,GAGQ,OAAbgB,IAAIzC,KACCud,IAAIiB,cAAc/b,IAAIhB,MAGxB8b,IAAIiB,cAAc/b,IAAIhB,MAAQ,IAAM8b,IAAIkB,iBAAiBhc,IAAIzC,MAGlEyB,SAAK/B,GACHhT,KAAKsxB,KAAKU,kBAIdnB,IAAIM,cAAcne,EAAG,CAAE+C,IAAK/V,KAAKsxB,KAAMI,cAAe,SAGpDpU,eACF,OAAuB,OAAnBtd,KAAKsxB,KAAKvc,KACL,GAGF8b,IAAIiB,cAAc9xB,KAAKsxB,KAAKvc,MAGjCuI,aAAStK,GACPhT,KAAKsxB,KAAKU,kBAIdnB,IAAIM,cAAcne,EAAG,CAAE+C,IAAK/V,KAAKsxB,KAAMI,cAAe,aAGpDpe,WACF,OAAuB,OAAnBtT,KAAKsxB,KAAKhe,KACL,GAGFud,IAAIkB,iBAAiB/xB,KAAKsxB,KAAKhe,MAGpCA,SAAKN,GACH6d,IAAIc,gCAAgC3xB,KAAKsxB,QAInC,KAANte,EACFhT,KAAKsxB,KAAKhe,KAAO,KAEjBud,IAAIM,cAAcne,EAAG,CAAE+C,IAAK/V,KAAKsxB,KAAMI,cAAe,UAItDtb,eACF,OAAIpW,KAAKsxB,KAAKU,iBACLhyB,KAAKsxB,KAAKn4B,KAAK,GAGM,IAA1B6G,KAAKsxB,KAAKn4B,KAAKyC,OACV,GAGF,IAAMoE,KAAKsxB,KAAKn4B,KAAKE,KAAK,KAG/B+c,aAASpD,GACPhT,KAAKsxB,KAAKU,mBAIdhyB,KAAKsxB,KAAKn4B,KAAO,GACjB03B,IAAIM,cAAcne,EAAG,CAAE+C,IAAK/V,KAAKsxB,KAAMI,cAAe,gBAGpDlU,aACF,OAAwB,OAApBxd,KAAKsxB,KAAK7wB,OAAsC,KAApBT,KAAKsxB,KAAK7wB,MACjC,GAGF,IAAMT,KAAKsxB,KAAK7wB,MAGrB+c,WAAOxK,GAGT,MAAM+C,IAAM/V,KAAKsxB,KAEjB,GAAU,KAANte,EAEF,YADA+C,IAAItV,MAAQ,MAId,MAAM9B,MAAiB,MAATqU,EAAE,GAAaA,EAAE2B,UAAU,GAAK3B,EAC9C+C,IAAItV,MAAQ,GACZowB,IAAIM,cAAcxyB,MAAO,CAAEoX,IAAK2b,cAAe,UAG7CtV,WACF,OAA2B,OAAvBpc,KAAKsxB,KAAKW,UAA4C,KAAvBjyB,KAAKsxB,KAAKW,SACpC,GAGF,IAAMjyB,KAAKsxB,KAAKW,SAGrB7V,SAAKpJ,GACP,GAAU,KAANA,EAEF,YADAhT,KAAKsxB,KAAKW,SAAW,MAIvB,MAAMtzB,MAAiB,MAATqU,EAAE,GAAaA,EAAE2B,UAAU,GAAK3B,EAC9ChT,KAAKsxB,KAAKW,SAAW,GACrBpB,IAAIM,cAAcxyB,MAAO,CAAEoX,IAAK/V,KAAKsxB,KAAMI,cAAe,aAG5DQ,SACE,OAAOlyB,KAAK6V,kFCnMhB,MAAM2Z,YAAc,oBAAQ,KACtB2C,MAAQ,oBAAQ,MAChBC,KAAO,oBAAQ,MAEfC,KAAOF,MAAMG,WAEnB,SAAStV,IAAIjH,KACX,IAAK/V,MAAQA,KAAKqyB,SAAWryB,gBAAgBgd,KAC3C,MAAM,IAAIje,UAAU,yHAEtB,GAAI2f,UAAU9iB,OAAS,EACrB,MAAM,IAAImD,UAAU,4DAA8D2f,UAAU9iB,OAAS,aAEvG,MAAMgH,KAAO,GACb,IAAK,IAAI3H,EAAI,EAAGA,EAAIyjB,UAAU9iB,QAAUX,EAAI,IAAKA,EAC/C2H,KAAK3H,GAAKyjB,UAAUzjB,GAEtB2H,KAAK,GAAK4sB,YAAuB,UAAE5sB,KAAK,SACxBjB,IAAZiB,KAAK,KACTA,KAAK,GAAK4sB,YAAuB,UAAE5sB,KAAK,KAGxCjI,OAAOC,QAAQ23B,MAAMvyB,KAAM4C,MAG7Boa,IAAIze,UAAU2zB,OAAS,SAASA,SAC9B,IAAKlyB,OAASrF,OAAOC,QAAQ43B,GAAGxyB,MAC9B,MAAM,IAAIjB,UAAU,sBAEtB,MAAM6D,KAAO,GACb,IAAK,IAAI3H,EAAI,EAAGA,EAAIyjB,UAAU9iB,QAAUX,EAAI,IAAKA,EAC/C2H,KAAK3H,GAAKyjB,UAAUzjB,GAEtB,OAAO+E,KAAKqyB,MAAMH,OAAOr2B,MAAMmE,KAAKqyB,MAAOzvB,OAE7C9H,OAAO23B,eAAezV,IAAIze,UAAW,OAAQ,CAC3CgF,MACE,OAAOvD,KAAKqyB,MAAMxc,MAEpB5S,IAAImtB,GACFA,EAAIZ,YAAuB,UAAEY,GAC7BpwB,KAAKqyB,MAAMxc,KAAOua,GAEpBsC,YAAY,EACZC,cAAc,IAGhB3V,IAAIze,UAAUoU,SAAW,WACvB,IAAK3S,OAASrF,OAAOC,QAAQ43B,GAAGxyB,MAC9B,MAAM,IAAIjB,UAAU,sBAEtB,OAAOiB,KAAK6V,MAGd/a,OAAO23B,eAAezV,IAAIze,UAAW,SAAU,CAC7CgF,MACE,OAAOvD,KAAKqyB,MAAM9e,QAEpBmf,YAAY,EACZC,cAAc,IAGhB73B,OAAO23B,eAAezV,IAAIze,UAAW,WAAY,CAC/CgF,MACE,OAAOvD,KAAKqyB,MAAMzc,UAEpB3S,IAAImtB,GACFA,EAAIZ,YAAuB,UAAEY,GAC7BpwB,KAAKqyB,MAAMzc,SAAWwa,GAExBsC,YAAY,EACZC,cAAc,IAGhB73B,OAAO23B,eAAezV,IAAIze,UAAW,WAAY,CAC/CgF,MACE,OAAOvD,KAAKqyB,MAAMpV,UAEpBha,IAAImtB,GACFA,EAAIZ,YAAuB,UAAEY,GAC7BpwB,KAAKqyB,MAAMpV,SAAWmT,GAExBsC,YAAY,EACZC,cAAc,IAGhB73B,OAAO23B,eAAezV,IAAIze,UAAW,WAAY,CAC/CgF,MACE,OAAOvD,KAAKqyB,MAAMnV,UAEpBja,IAAImtB,GACFA,EAAIZ,YAAuB,UAAEY,GAC7BpwB,KAAKqyB,MAAMnV,SAAWkT,GAExBsC,YAAY,EACZC,cAAc,IAGhB73B,OAAO23B,eAAezV,IAAIze,UAAW,OAAQ,CAC3CgF,MACE,OAAOvD,KAAKqyB,MAAMtd,MAEpB9R,IAAImtB,GACFA,EAAIZ,YAAuB,UAAEY,GAC7BpwB,KAAKqyB,MAAMtd,KAAOqb,GAEpBsC,YAAY,EACZC,cAAc,IAGhB73B,OAAO23B,eAAezV,IAAIze,UAAW,WAAY,CAC/CgF,MACE,OAAOvD,KAAKqyB,MAAM/U,UAEpBra,IAAImtB,GACFA,EAAIZ,YAAuB,UAAEY,GAC7BpwB,KAAKqyB,MAAM/U,SAAW8S,GAExBsC,YAAY,EACZC,cAAc,IAGhB73B,OAAO23B,eAAezV,IAAIze,UAAW,OAAQ,CAC3CgF,MACE,OAAOvD,KAAKqyB,MAAM/e,MAEpBrQ,IAAImtB,GACFA,EAAIZ,YAAuB,UAAEY,GAC7BpwB,KAAKqyB,MAAM/e,KAAO8c,GAEpBsC,YAAY,EACZC,cAAc,IAGhB73B,OAAO23B,eAAezV,IAAIze,UAAW,WAAY,CAC/CgF,MACE,OAAOvD,KAAKqyB,MAAMjc,UAEpBnT,IAAImtB,GACFA,EAAIZ,YAAuB,UAAEY,GAC7BpwB,KAAKqyB,MAAMjc,SAAWga,GAExBsC,YAAY,EACZC,cAAc,IAGhB73B,OAAO23B,eAAezV,IAAIze,UAAW,SAAU,CAC7CgF,MACE,OAAOvD,KAAKqyB,MAAM7U,QAEpBva,IAAImtB,GACFA,EAAIZ,YAAuB,UAAEY,GAC7BpwB,KAAKqyB,MAAM7U,OAAS4S,GAEtBsC,YAAY,EACZC,cAAc,IAGhB73B,OAAO23B,eAAezV,IAAIze,UAAW,OAAQ,CAC3CgF,MACE,OAAOvD,KAAKqyB,MAAMjW,MAEpBnZ,IAAImtB,GACFA,EAAIZ,YAAuB,UAAEY,GAC7BpwB,KAAKqyB,MAAMjW,KAAOgU,GAEpBsC,YAAY,EACZC,cAAc,IAIhBh4B,OAAOC,QAAU,CACf43B,GAAGxd,OACQA,KAAOA,IAAIqd,gBAAiBD,KAAKtB,eAE5ChT,OAAOkT,gBAAiB4B,aACtB,IAAI5d,IAAMla,OAAOgjB,OAAOd,IAAIze,WAE5B,OADAyB,KAAKuyB,MAAMvd,IAAKgc,gBAAiB4B,aAC1B5d,KAETud,MAAMvd,IAAKgc,gBAAiB4B,aACrBA,cAAaA,YAAc,IAChCA,YAAYC,QAAU7d,IAEtBA,IAAIqd,MAAQ,IAAID,KAAKtB,eAAeE,gBAAiB4B,aACrD5d,IAAIqd,MAAMF,MAAMW,eAAiB9d,KAEnC+d,UAAW/V,IACXgW,OAAQ,CACNC,OAAQ,CAAEjW,KACVkW,OAAQ,CAAElW,kFC9LdpiB,QAAQoiB,IAAM,oBAAd,gBACA,uCACA,6CACA,wCACA,yCACA,yCACA,wCACA,2CACA,8GCTA,MAAMgF,SAAW,oBAAQ,MACnBmR,KAAO,oBAAQ,MAEfC,eAAiB,CACrBC,IAAK,GACLp2B,KAAM,KACNq2B,OAAQ,GACRC,KAAM,GACNC,MAAO,IACPngB,GAAI,GACJogB,IAAK,KAGDC,QAAUpV,OAAO,WAEvB,SAASmE,aAAaX,KACpB,OAAOE,SAAS2R,KAAKj1B,OAAOojB,KAAKlmB,OAGnC,SAAS0b,GAAG3Y,MAAOi1B,KACjB,MAAM3K,EAAItqB,MAAMi1B,KAChB,OAAOxV,MAAM6K,QAAKtnB,EAAY6hB,OAAOC,cAAcwF,GAGrD,SAAS4K,aAAa5K,GACpB,OAAOA,GAAK,IAAQA,GAAK,GAG3B,SAAS6K,aAAa7K,GACpB,OAAQA,GAAK,IAAQA,GAAK,IAAUA,GAAK,IAAQA,GAAK,IAOxD,SAAS8K,WAAW9K,GAClB,OAAO4K,aAAa5K,IAAOA,GAAK,IAAQA,GAAK,IAAUA,GAAK,IAAQA,GAAK,IAG3E,SAAS+K,YAAYt2B,QACnB,MAAkB,MAAXA,QAA2C,QAAzBA,OAAO8e,cAYlC,SAASyX,2BAA2BtX,QAClC,OAAyB,IAAlBA,OAAO/gB,QAAgBk4B,aAAanX,OAAOqG,YAAY,MAAsB,MAAdrG,OAAO,IAA4B,MAAdA,OAAO,IAepG,SAASuX,gBAAgBzC,QACvB,YAAkC9vB,IAA3ByxB,eAAe3B,QAGxB,SAAS0C,UAAUpe,KACjB,OAAOme,gBAAgBne,IAAI0b,QAO7B,SAAS2C,cAAcnL,GACrB,IAAIoL,IAAMpL,EAAEtW,SAAS,IAAI2H,cAKzB,OAJmB,IAAf+Z,IAAIz4B,SACNy4B,IAAM,IAAMA,KAGP,IAAMA,IA+Bf,SAASC,yBAAyBrL,GAChC,OAAOA,GAAK,IAAQA,EAAI,IAG1B,MAAMsL,0BAA4B,IAAIC,IAAI,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,MAC5E,SAASC,oBAAoBxL,GAC3B,OAAOqL,yBAAyBrL,IAAMsL,0BAA0BjxB,IAAI2lB,GAGtE,MAAMyL,8BACJ,IAAIF,IAAI,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,MAC/C,SAASG,wBAAwB1L,GAC/B,OAAOwL,oBAAoBxL,IAAMyL,8BAA8BpxB,IAAI2lB,GAGrE,SAAS2L,kBAAkB3L,EAAG4L,oBAC5B,MAAMC,KAAOtR,OAAOC,cAAcwF,GAElC,OAAI4L,mBAAmB5L,GA9CzB,SAAS8L,kBAAkB9L,GACzB,MAAMsG,IAAM,IAAIxd,OAAOkX,GAEvB,IAAInH,IAAM,GAEV,IAAK,IAAI7mB,EAAI,EAAGA,EAAIs0B,IAAI3zB,SAAUX,EAChC6mB,KAAOsS,cAAc7E,IAAIt0B,IAG3B,OAAO6mB,IAsCEiT,CAAkBD,MAGpBA,KAGT,SAASE,gBAAgBr2B,OACvB,IAAIs2B,EAAI,GAUR,GARIt2B,MAAM/C,QAAU,GAAyB,MAApB+C,MAAMuf,OAAO,IAAgD,MAAlCvf,MAAMuf,OAAO,GAAG1B,eAClE7d,MAAQA,MAAMgW,UAAU,GACxBsgB,EAAI,IACKt2B,MAAM/C,QAAU,GAAyB,MAApB+C,MAAMuf,OAAO,KAC3Cvf,MAAQA,MAAMgW,UAAU,GACxBsgB,EAAI,GAGQ,KAAVt2B,MACF,OAAO,EAIT,OADoB,KAANs2B,EAAW,SAAkB,KAANA,EAAW,eAAiB,UACvD/4B,KAAKyC,OACN+0B,QAGFwB,SAASv2B,MAAOs2B,GA8NzB,SAASE,UAAUx2B,MAAOy2B,cACxB,GAAiB,MAAbz2B,MAAM,GACR,MAAgC,MAA5BA,MAAMA,MAAM/C,OAAS,GAChB83B,QAlKb,SAAS2B,UAAU12B,OACjB,MAAM22B,QAAU,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACtC,IAAIC,WAAa,EACbC,SAAW,KACXC,QAAU,EAId,GAAuB,MAFvB92B,MAAQqjB,SAAS2R,KAAKj1B,OAAOC,QAEnB82B,SAAiB,CACzB,GAA2B,KAAvB92B,MAAM82B,QAAU,GAClB,OAAO/B,QAGT+B,SAAW,IACTF,WACFC,SAAWD,WAGb,KAAOE,QAAU92B,MAAM/C,QAAQ,CAC7B,GAAmB,IAAf25B,WACF,OAAO7B,QAGT,GAAuB,KAAnB/0B,MAAM82B,SAAiB,CACzB,GAAiB,OAAbD,SACF,OAAO9B,UAEP+B,UACAF,WACFC,SAAWD,WACX,SAGF,IAAIjoB,MAAQ,EACR1R,OAAS,EAEb,KAAOA,OAAS,GAAKm4B,WAAWp1B,MAAM82B,WACpCnoB,MAAgB,GAARA,MAAe4nB,SAAS5d,GAAG3Y,MAAO82B,SAAU,MAClDA,UACA75B,OAGJ,GAAuB,KAAnB+C,MAAM82B,SAAiB,CACzB,GAAe,IAAX75B,OACF,OAAO83B,QAKT,GAFA+B,SAAW75B,OAEP25B,WAAa,EACf,OAAO7B,QAGT,IAAIgC,YAAc,EAElB,UAA0B/zB,IAAnBhD,MAAM82B,UAAwB,CACnC,IAAIE,UAAY,KAEhB,GAAID,YAAc,EAAG,CACnB,KAAuB,KAAnB/2B,MAAM82B,UAAmBC,YAAc,GAGzC,OAAOhC,UAFL+B,QAMN,IAAK5B,aAAal1B,MAAM82B,UACtB,OAAO/B,QAGT,KAAOG,aAAal1B,MAAM82B,WAAW,CACnC,MAAMG,OAASV,SAAS5d,GAAG3Y,MAAO82B,UAClC,GAAkB,OAAdE,UACFA,UAAYC,WACP,IAAkB,IAAdD,UACT,OAAOjC,QAEPiC,UAAwB,GAAZA,UAAiBC,OAE/B,GAAID,UAAY,IACd,OAAOjC,UAEP+B,QAGJH,QAAQC,YAAoC,IAAtBD,QAAQC,YAAsBI,YAElDD,YAEkB,IAAhBA,aAAqC,IAAhBA,eACrBH,WAIN,GAAoB,IAAhBG,YACF,OAAOhC,QAGT,MACK,GAAuB,KAAnB/0B,MAAM82B,UAEf,KADEA,aACqB9zB,IAAnBhD,MAAM82B,SACR,OAAO/B,aAEJ,QAAuB/xB,IAAnBhD,MAAM82B,SACf,OAAO/B,QAGT4B,QAAQC,YAAcjoB,QACpBioB,WAGJ,GAAiB,OAAbC,SAAmB,CACrB,IAAIK,MAAQN,WAAaC,SAEzB,IADAD,WAAa,EACS,IAAfA,YAAoBM,MAAQ,GAAG,CACpC,MAAMC,KAAOR,QAAQE,SAAWK,MAAQ,GACxCP,QAAQE,SAAWK,MAAQ,GAAKP,QAAQC,YACxCD,QAAQC,YAAcO,OACpBP,aACAM,YAEC,GAAiB,OAAbL,UAAoC,IAAfD,WAC9B,OAAO7B,QAGT,OAAO4B,QAuCED,CAAU12B,MAAMgW,UAAU,EAAGhW,MAAM/C,OAAS,IAGrD,IAAKw5B,aACH,OAqBJ,SAASW,gBAAgBp3B,OACvB,GAhWF,SAASq3B,+CAA+CrZ,QACtD,OAAqF,IAA9EA,OAAOa,OAAO,2DA+VjBwY,CAA+Cr3B,OACjD,OAAO+0B,QAGT,IAAIn2B,OAAS,GACb,MAAM04B,QAAUjU,SAAS2R,KAAKj1B,OAAOC,OACrC,IAAK,IAAI1D,EAAI,EAAGA,EAAIg7B,QAAQr6B,SAAUX,EACpCsC,QAAUq3B,kBAAkBqB,QAAQh7B,GAAIq5B,0BAE1C,OAAO/2B,OA/BEw4B,CAAgBp3B,OAGzB,MAAMolB,OAxSR,SAASmS,kBAAkBpU,KACzB,MAAMnjB,MAAQ,IAAIoT,OAAO+P,KACnBvkB,OAAS,GACf,IAAK,IAAItC,EAAI,EAAGA,EAAI0D,MAAM/C,SAAUX,EACjB,KAAb0D,MAAM1D,GACRsC,OAAOxB,KAAK4C,MAAM1D,IACI,KAAb0D,MAAM1D,IAAa84B,WAAWp1B,MAAM1D,EAAI,KAAO84B,WAAWp1B,MAAM1D,EAAI,KAC7EsC,OAAOxB,KAAKm5B,SAASv2B,MAAMP,MAAMnD,EAAI,EAAGA,EAAI,GAAG0X,WAAY,KAC3D1X,GAAK,GAELsC,OAAOxB,KAAK4C,MAAM1D,IAGtB,OAAO,IAAI8W,OAAOxU,QAAQoV,WA2RXujB,CAAkBv3B,OAC3Bw3B,YAAchD,KAAKvP,QAAQG,QAAQ,EAAOoP,KAAKjR,mBAAmBE,iBAAiB,GACzF,GAAoB,OAAhB+T,YACF,OAAOzC,QAGT,GAvVF,SAAS0C,+BAA+BzZ,QACtC,OAAuF,IAAhFA,OAAOa,OAAO,6DAsVjB4Y,CAA+BD,aACjC,OAAOzC,QAGT,MAAM2C,SAlPR,SAASC,UAAU33B,OACjB,MAAMqf,MAAQrf,MAAMV,MAAM,KAO1B,GANgC,KAA5B+f,MAAMA,MAAMpiB,OAAS,IACnBoiB,MAAMpiB,OAAS,GACjBoiB,MAAMhE,MAINgE,MAAMpiB,OAAS,EACjB,OAAO+C,MAGT,MAAM43B,QAAU,GAChB,IAAK,MAAMC,QAAQxY,MAAO,CACxB,GAAa,KAATwY,KACF,OAAO73B,MAET,MAAMrD,EAAI05B,gBAAgBwB,MAC1B,GAAIl7B,IAAMo4B,QACR,OAAO/0B,MAGT43B,QAAQx6B,KAAKT,GAGf,IAAK,IAAIL,EAAI,EAAGA,EAAIs7B,QAAQ36B,OAAS,IAAKX,EACxC,GAAIs7B,QAAQt7B,GAAK,IACf,OAAOy4B,QAGX,GAAI6C,QAAQA,QAAQ36B,OAAS,IAAMuN,KAAK4mB,IAAI,IAAK,EAAIwG,QAAQ36B,QAC3D,OAAO83B,QAGT,IAAI+C,KAAOF,QAAQvc,MACf0c,QAAU,EAEd,IAAK,MAAMp7B,KAAKi7B,QACdE,MAAQn7B,EAAI6N,KAAK4mB,IAAI,IAAK,EAAI2G,WAC5BA,QAGJ,OAAOD,KAwMUH,CAAUH,aAC3B,MAAwB,iBAAbE,UAAyBA,WAAa3C,QACxC2C,SAGFF,YAmDT,SAASrE,cAAc/c,MACrB,MAAoB,iBAATA,KA9Pb,SAAS4hB,cAAcrB,SACrB,IAAI/3B,OAAS,GACTjC,EAAIg6B,QAER,IAAK,IAAIr6B,EAAI,EAAGA,GAAK,IAAKA,EACxBsC,OAASimB,OAAOloB,EAAI,KAAOiC,OACjB,IAANtC,IACFsC,OAAS,IAAMA,QAEjBjC,EAAI6N,KAAKoZ,MAAMjnB,EAAI,KAGrB,OAAOiC,OAmPEo5B,CAAc5hB,MAInBA,gBAAgBzW,MACX,IApHX,SAASs4B,cAActB,SACrB,IAAI/3B,OAAS,GACb,MACMi4B,SAuER,SAASqB,wBAAwBzpB,KAC/B,IAAI0pB,OAAS,KACTC,OAAS,EACTC,UAAY,KACZC,QAAU,EAEd,IAAK,IAAIh8B,EAAI,EAAGA,EAAImS,IAAIxR,SAAUX,EACjB,IAAXmS,IAAInS,IACFg8B,QAAUF,SACZD,OAASE,UACTD,OAASE,SAGXD,UAAY,KACZC,QAAU,IAEQ,OAAdD,YACFA,UAAY/7B,KAEZg8B,SAUN,OALIA,QAAUF,SACZD,OAASE,UACTD,OAASE,SAGJ,CACLrD,IAAKkD,OACLhlB,IAAKilB,QAvGWF,CAAwBvB,SACf1B,IAC3B,IAAIsD,SAAU,EAEd,IAAK,IAAI3B,WAAa,EAAGA,YAAc,IAAKA,WACtC2B,SAAmC,IAAxB5B,QAAQC,cAEZ2B,UACTA,SAAU,GAGR1B,WAAaD,YAOjBh4B,QAAU+3B,QAAQC,YAAY5iB,SAAS,IAEpB,IAAf4iB,aACFh4B,QAAU,OARVA,QADiC,IAAfg4B,WAAmB,KAAO,IAE5C2B,SAAU,IAWd,OAAO35B,OAyFQq5B,CAAc7hB,MAAQ,IAG9BA,KAWT,SAASoiB,YAAYphB,KACnB,MAAM5c,KAAO4c,IAAI5c,KACG,IAAhBA,KAAKyC,SAGU,SAAfma,IAAI0b,QAAqC,IAAhBt4B,KAAKyC,QAepC,SAASw7B,+BAA+Bza,QACtC,MAAO,cAAczgB,KAAKygB,QAhBwBya,CAA+Bj+B,KAAK,KAItFA,KAAK6gB,OAGP,SAASqd,oBAAoBthB,KAC3B,MAAwB,KAAjBA,IAAIkH,UAAoC,KAAjBlH,IAAImH,SAWpC,SAASoa,gBAAgB34B,MAAOsyB,KAAMsG,iBAAkBxhB,IAAK2b,eAU3D,GATA1xB,KAAKy1B,QAAU,EACfz1B,KAAKrB,MAAQA,MACbqB,KAAKixB,KAAOA,MAAQ,KACpBjxB,KAAKu3B,iBAAmBA,kBAAoB,QAC5Cv3B,KAAK0xB,cAAgBA,cACrB1xB,KAAK+V,IAAMA,IACX/V,KAAK0zB,SAAU,EACf1zB,KAAKw3B,YAAa,GAEbx3B,KAAK+V,IAAK,CACb/V,KAAK+V,IAAM,CACT0b,OAAQ,GACRxU,SAAU,GACVC,SAAU,GACVnI,KAAM,KACNzB,KAAM,KACNna,KAAM,GACNsH,MAAO,KACPwxB,SAAU,KAEVD,kBAAkB,GAGpB,MAAMyF,IAxDV,SAASC,iBAAiB3hB,KACxB,OAAOA,IAAI/W,QAAQ,mDAAoD,IAuDzD04B,CAAiB13B,KAAKrB,OAC9B84B,MAAQz3B,KAAKrB,QACfqB,KAAKw3B,YAAa,GAEpBx3B,KAAKrB,MAAQ84B,IAGf,MAAMA,IA3DR,SAASE,kBAAkB5hB,KACzB,OAAOA,IAAI/W,QAAQ,wBAAyB,IA0DhC24B,CAAkB33B,KAAKrB,OAenC,IAdI84B,MAAQz3B,KAAKrB,QACfqB,KAAKw3B,YAAa,GAEpBx3B,KAAKrB,MAAQ84B,IAEbz3B,KAAKyK,MAAQinB,eAAiB,eAE9B1xB,KAAKtC,OAAS,GACdsC,KAAK43B,QAAS,EACd53B,KAAK63B,SAAU,EACf73B,KAAK83B,uBAAwB,EAE7B93B,KAAKrB,MAAQqjB,SAAS2R,KAAKj1B,OAAOsB,KAAKrB,OAEhCqB,KAAKy1B,SAAWz1B,KAAKrB,MAAM/C,SAAUoE,KAAKy1B,QAAS,CACxD,MAAMxM,EAAIjpB,KAAKrB,MAAMqB,KAAKy1B,SACpBX,KAAO1W,MAAM6K,QAAKtnB,EAAY6hB,OAAOC,cAAcwF,GAGnD/T,IAAMlV,KAAK,SAAWA,KAAKyK,OAAOwe,EAAG6L,MAC3C,IAAK5f,IACH,MACK,GAAIA,MAAQwe,QAAS,CAC1B1zB,KAAK0zB,SAAU,EACf,QAKN4D,gBAAgB/4B,UAAU,sBAAwB,SAASw5B,iBAAiB9O,EAAG6L,MAC7E,GAAIhB,aAAa7K,GACfjpB,KAAKtC,QAAUo3B,KAAKtY,cACpBxc,KAAKyK,MAAQ,aACR,IAAKzK,KAAK0xB,cAKf,OADA1xB,KAAKw3B,YAAa,EACX9D,QAJP1zB,KAAKyK,MAAQ,cACXzK,KAAKy1B,QAMT,OAAO,GAGT6B,gBAAgB/4B,UAAU,gBAAkB,SAASy5B,YAAY/O,EAAG6L,MAClE,GA1iBF,SAASmD,oBAAoBhP,GAC3B,OAAO6K,aAAa7K,IAAM4K,aAAa5K,GAyiBnCgP,CAAoBhP,IAAY,KAANA,GAAkB,KAANA,GAAkB,KAANA,EACpDjpB,KAAKtC,QAAUo3B,KAAKtY,mBACf,GAAU,KAANyM,EAAU,CACnB,GAAIjpB,KAAK0xB,cAAe,CACtB,GAAIyC,UAAUn0B,KAAK+V,OAASme,gBAAgBl0B,KAAKtC,QAC/C,OAAO,EAGT,IAAKy2B,UAAUn0B,KAAK+V,MAAQme,gBAAgBl0B,KAAKtC,QAC/C,OAAO,EAGT,IAAK25B,oBAAoBr3B,KAAK+V,MAA0B,OAAlB/V,KAAK+V,IAAIzC,OAAkC,SAAhBtT,KAAKtC,OACpE,OAAO,EAGT,GAAwB,SAApBsC,KAAK+V,IAAI0b,SAAwC,KAAlBzxB,KAAK+V,IAAIhB,MAAiC,OAAlB/U,KAAK+V,IAAIhB,MAClE,OAAO,EAKX,GAFA/U,KAAK+V,IAAI0b,OAASzxB,KAAKtC,OACvBsC,KAAKtC,OAAS,GACVsC,KAAK0xB,cACP,OAAO,EAEe,SAApB1xB,KAAK+V,IAAI0b,QAC0B,KAAjCzxB,KAAKrB,MAAMqB,KAAKy1B,QAAU,IAA8C,KAAjCz1B,KAAKrB,MAAMqB,KAAKy1B,QAAU,KACnEz1B,KAAKw3B,YAAa,GAEpBx3B,KAAKyK,MAAQ,QACJ0pB,UAAUn0B,KAAK+V,MAAsB,OAAd/V,KAAKixB,MAAiBjxB,KAAKixB,KAAKQ,SAAWzxB,KAAK+V,IAAI0b,OACpFzxB,KAAKyK,MAAQ,gCACJ0pB,UAAUn0B,KAAK+V,KACxB/V,KAAKyK,MAAQ,4BAC6B,KAAjCzK,KAAKrB,MAAMqB,KAAKy1B,QAAU,IACnCz1B,KAAKyK,MAAQ,sBACXzK,KAAKy1B,UAEPz1B,KAAK+V,IAAIic,kBAAmB,EAC5BhyB,KAAK+V,IAAI5c,KAAK4C,KAAK,IACnBiE,KAAKyK,MAAQ,iCAEV,IAAKzK,KAAK0xB,cAMf,OADA1xB,KAAKw3B,YAAa,EACX9D,QALP1zB,KAAKtC,OAAS,GACdsC,KAAKyK,MAAQ,YACbzK,KAAKy1B,SAAW,EAMlB,OAAO,GAGT6B,gBAAgB/4B,UAAU,mBAAqB,SAAS25B,cAAcjP,GACpE,OAAkB,OAAdjpB,KAAKixB,MAAkBjxB,KAAKixB,KAAKe,kBAA0B,KAAN/I,EAChDyK,SACE1zB,KAAKixB,KAAKe,kBAA0B,KAAN/I,GACvCjpB,KAAK+V,IAAI0b,OAASzxB,KAAKixB,KAAKQ,OAC5BzxB,KAAK+V,IAAI5c,KAAO6G,KAAKixB,KAAK93B,KAAKiF,QAC/B4B,KAAK+V,IAAItV,MAAQT,KAAKixB,KAAKxwB,MAC3BT,KAAK+V,IAAIkc,SAAW,GACpBjyB,KAAK+V,IAAIic,kBAAmB,EAC5BhyB,KAAKyK,MAAQ,YACiB,SAArBzK,KAAKixB,KAAKQ,QACnBzxB,KAAKyK,MAAQ,SACXzK,KAAKy1B,UAEPz1B,KAAKyK,MAAQ,aACXzK,KAAKy1B,UAGF,IAGT6B,gBAAgB/4B,UAAU,uCAAyC,SAAS45B,gCAAgClP,GAU1G,OATU,KAANA,GAA6C,KAAjCjpB,KAAKrB,MAAMqB,KAAKy1B,QAAU,IACxCz1B,KAAKyK,MAAQ,qCACXzK,KAAKy1B,UAEPz1B,KAAKw3B,YAAa,EAClBx3B,KAAKyK,MAAQ,aACXzK,KAAKy1B,UAGF,GAGT6B,gBAAgB/4B,UAAU,2BAA6B,SAAS65B,qBAAqBnP,GAQnF,OAPU,KAANA,EACFjpB,KAAKyK,MAAQ,aAEbzK,KAAKyK,MAAQ,SACXzK,KAAKy1B,UAGF,GAGT6B,gBAAgB/4B,UAAU,kBAAoB,SAAS85B,cAAcpP,GA0CnE,OAzCAjpB,KAAK+V,IAAI0b,OAASzxB,KAAKixB,KAAKQ,OACxBrT,MAAM6K,IACRjpB,KAAK+V,IAAIkH,SAAWjd,KAAKixB,KAAKhU,SAC9Bjd,KAAK+V,IAAImH,SAAWld,KAAKixB,KAAK/T,SAC9Bld,KAAK+V,IAAIhB,KAAO/U,KAAKixB,KAAKlc,KAC1B/U,KAAK+V,IAAIzC,KAAOtT,KAAKixB,KAAK3d,KAC1BtT,KAAK+V,IAAI5c,KAAO6G,KAAKixB,KAAK93B,KAAKiF,QAC/B4B,KAAK+V,IAAItV,MAAQT,KAAKixB,KAAKxwB,OACZ,KAANwoB,EACTjpB,KAAKyK,MAAQ,iBACE,KAANwe,GACTjpB,KAAK+V,IAAIkH,SAAWjd,KAAKixB,KAAKhU,SAC9Bjd,KAAK+V,IAAImH,SAAWld,KAAKixB,KAAK/T,SAC9Bld,KAAK+V,IAAIhB,KAAO/U,KAAKixB,KAAKlc,KAC1B/U,KAAK+V,IAAIzC,KAAOtT,KAAKixB,KAAK3d,KAC1BtT,KAAK+V,IAAI5c,KAAO6G,KAAKixB,KAAK93B,KAAKiF,QAC/B4B,KAAK+V,IAAItV,MAAQ,GACjBT,KAAKyK,MAAQ,SACE,KAANwe,GACTjpB,KAAK+V,IAAIkH,SAAWjd,KAAKixB,KAAKhU,SAC9Bjd,KAAK+V,IAAImH,SAAWld,KAAKixB,KAAK/T,SAC9Bld,KAAK+V,IAAIhB,KAAO/U,KAAKixB,KAAKlc,KAC1B/U,KAAK+V,IAAIzC,KAAOtT,KAAKixB,KAAK3d,KAC1BtT,KAAK+V,IAAI5c,KAAO6G,KAAKixB,KAAK93B,KAAKiF,QAC/B4B,KAAK+V,IAAItV,MAAQT,KAAKixB,KAAKxwB,MAC3BT,KAAK+V,IAAIkc,SAAW,GACpBjyB,KAAKyK,MAAQ,YACJ0pB,UAAUn0B,KAAK+V,MAAc,KAANkT,GAChCjpB,KAAKw3B,YAAa,EAClBx3B,KAAKyK,MAAQ,mBAEbzK,KAAK+V,IAAIkH,SAAWjd,KAAKixB,KAAKhU,SAC9Bjd,KAAK+V,IAAImH,SAAWld,KAAKixB,KAAK/T,SAC9Bld,KAAK+V,IAAIhB,KAAO/U,KAAKixB,KAAKlc,KAC1B/U,KAAK+V,IAAIzC,KAAOtT,KAAKixB,KAAK3d,KAC1BtT,KAAK+V,IAAI5c,KAAO6G,KAAKixB,KAAK93B,KAAKiF,MAAM,EAAG4B,KAAKixB,KAAK93B,KAAKyC,OAAS,GAEhEoE,KAAKyK,MAAQ,SACXzK,KAAKy1B,UAGF,GAGT6B,gBAAgB/4B,UAAU,wBAA0B,SAAS+5B,mBAAmBrP,GAiB9E,OAhBIkL,UAAUn0B,KAAK+V,MAAe,KAANkT,GAAkB,KAANA,EAKvB,KAANA,EACTjpB,KAAKyK,MAAQ,aAEbzK,KAAK+V,IAAIkH,SAAWjd,KAAKixB,KAAKhU,SAC9Bjd,KAAK+V,IAAImH,SAAWld,KAAKixB,KAAK/T,SAC9Bld,KAAK+V,IAAIhB,KAAO/U,KAAKixB,KAAKlc,KAC1B/U,KAAK+V,IAAIzC,KAAOtT,KAAKixB,KAAK3d,KAC1BtT,KAAKyK,MAAQ,SACXzK,KAAKy1B,UAZG,KAANxM,IACFjpB,KAAKw3B,YAAa,GAEpBx3B,KAAKyK,MAAQ,qCAYR,GAGT6sB,gBAAgB/4B,UAAU,mCAAqC,SAASg6B,6BAA6BtP,GAUnG,OATU,KAANA,GAA6C,KAAjCjpB,KAAKrB,MAAMqB,KAAKy1B,QAAU,IACxCz1B,KAAKyK,MAAQ,qCACXzK,KAAKy1B,UAEPz1B,KAAKw3B,YAAa,EAClBx3B,KAAKyK,MAAQ,qCACXzK,KAAKy1B,UAGF,GAGT6B,gBAAgB/4B,UAAU,0CAA4C,SAASi6B,mCAAmCvP,GAQhH,OAPU,KAANA,GAAkB,KAANA,GACdjpB,KAAKyK,MAAQ,cACXzK,KAAKy1B,SAEPz1B,KAAKw3B,YAAa,GAGb,GAGTF,gBAAgB/4B,UAAU,mBAAqB,SAASk6B,eAAexP,EAAG6L,MACxE,GAAU,KAAN7L,EAAU,CACZjpB,KAAKw3B,YAAa,EACdx3B,KAAK43B,SACP53B,KAAKtC,OAAS,MAAQsC,KAAKtC,QAE7BsC,KAAK43B,QAAS,EAGd,MAAM9lB,IAAM2Q,aAAaziB,KAAKtC,QAC9B,IAAK,IAAI+3B,QAAU,EAAGA,QAAU3jB,MAAO2jB,QAAS,CAC9C,MAAMlS,UAAYvjB,KAAKtC,OAAOslB,YAAYyS,SAE1C,GAAkB,KAAdlS,YAAqBvjB,KAAK83B,sBAAuB,CACnD93B,KAAK83B,uBAAwB,EAC7B,SAEF,MAAMY,kBAAoB9D,kBAAkBrR,UAAWoR,yBACnD30B,KAAK83B,sBACP93B,KAAK+V,IAAImH,UAAYwb,kBAErB14B,KAAK+V,IAAIkH,UAAYyb,kBAGzB14B,KAAKtC,OAAS,QACT,GAAI0gB,MAAM6K,IAAY,KAANA,GAAkB,KAANA,GAAkB,KAANA,GACnCkL,UAAUn0B,KAAK+V,MAAc,KAANkT,EAAW,CAC5C,GAAIjpB,KAAK43B,QAA0B,KAAhB53B,KAAKtC,OAEtB,OADAsC,KAAKw3B,YAAa,EACX9D,QAET1zB,KAAKy1B,SAAWhT,aAAaziB,KAAKtC,QAAU,EAC5CsC,KAAKtC,OAAS,GACdsC,KAAKyK,MAAQ,YAEbzK,KAAKtC,QAAUo3B,KAGjB,OAAO,GAGTwC,gBAAgB/4B,UAAU,kBAC1B+4B,gBAAgB/4B,UAAU,cAAgB,SAASo6B,cAAc1P,EAAG6L,MAClE,GAAI90B,KAAK0xB,eAAqC,SAApB1xB,KAAK+V,IAAI0b,SAC/BzxB,KAAKy1B,QACPz1B,KAAKyK,MAAQ,iBACR,GAAU,KAANwe,GAAajpB,KAAK63B,QAiBtB,GAAIzZ,MAAM6K,IAAY,KAANA,GAAkB,KAANA,GAAkB,KAANA,GACnCkL,UAAUn0B,KAAK+V,MAAc,KAANkT,EAAW,CAE5C,KADEjpB,KAAKy1B,QACHtB,UAAUn0B,KAAK+V,MAAwB,KAAhB/V,KAAKtC,OAE9B,OADAsC,KAAKw3B,YAAa,EACX9D,QACF,GAAI1zB,KAAK0xB,eAAiC,KAAhB1xB,KAAKtC,SAC1B25B,oBAAoBr3B,KAAK+V,MAA0B,OAAlB/V,KAAK+V,IAAIzC,MAEpD,OADAtT,KAAKw3B,YAAa,GACX,EAGT,MAAMziB,KAAOogB,UAAUn1B,KAAKtC,OAAQy2B,UAAUn0B,KAAK+V,MACnD,GAAIhB,OAAS2e,QACX,OAAOA,QAMT,GAHA1zB,KAAK+V,IAAIhB,KAAOA,KAChB/U,KAAKtC,OAAS,GACdsC,KAAKyK,MAAQ,aACTzK,KAAK0xB,cACP,OAAO,OAGC,KAANzI,EACFjpB,KAAK63B,SAAU,EACA,KAAN5O,IACTjpB,KAAK63B,SAAU,GAEjB73B,KAAKtC,QAAUo3B,SA9CqB,CACpC,GAAoB,KAAhB90B,KAAKtC,OAEP,OADAsC,KAAKw3B,YAAa,EACX9D,QAGT,MAAM3e,KAAOogB,UAAUn1B,KAAKtC,OAAQy2B,UAAUn0B,KAAK+V,MACnD,GAAIhB,OAAS2e,QACX,OAAOA,QAMT,GAHA1zB,KAAK+V,IAAIhB,KAAOA,KAChB/U,KAAKtC,OAAS,GACdsC,KAAKyK,MAAQ,OACc,aAAvBzK,KAAK0xB,cACP,OAAO,EAkCX,OAAO,GAGT4F,gBAAgB/4B,UAAU,cAAgB,SAASq6B,UAAU3P,EAAG6L,MAC9D,GAAIjB,aAAa5K,GACfjpB,KAAKtC,QAAUo3B,SACV,MAAI1W,MAAM6K,IAAY,KAANA,GAAkB,KAANA,GAAkB,KAANA,GACnCkL,UAAUn0B,KAAK+V,MAAc,KAANkT,GACxBjpB,KAAK0xB,eAiBd,OADA1xB,KAAKw3B,YAAa,EACX9D,QAhBP,GAAoB,KAAhB1zB,KAAKtC,OAAe,CACtB,MAAM4V,KAAO4hB,SAASl1B,KAAKtC,QAC3B,GAAI4V,KAAOnK,KAAK4mB,IAAI,EAAG,IAAM,EAE3B,OADA/vB,KAAKw3B,YAAa,EACX9D,QAET1zB,KAAK+V,IAAIzC,KAAOA,OAvyBtB,SAASulB,YAAYpH,QACnB,OAAO2B,eAAe3B,QAsyBOoH,CAAY74B,KAAK+V,IAAI0b,QAAU,KAAOne,KAC/DtT,KAAKtC,OAAS,GAEhB,GAAIsC,KAAK0xB,cACP,OAAO,EAET1xB,KAAKyK,MAAQ,eACXzK,KAAKy1B,QAMT,OAAO,GAGT,MAAMqD,wBAA0B,IAAItE,IAAI,CAAC,GAAI,GAAI,GAAI,KAErD8C,gBAAgB/4B,UAAU,cAAgB,SAASw6B,UAAU9P,GA4C3D,OA3CAjpB,KAAK+V,IAAI0b,OAAS,OAER,KAANxI,GAAkB,KAANA,GACJ,KAANA,IACFjpB,KAAKw3B,YAAa,GAEpBx3B,KAAKyK,MAAQ,cACU,OAAdzK,KAAKixB,MAAsC,SAArBjxB,KAAKixB,KAAKQ,OACrCrT,MAAM6K,IACRjpB,KAAK+V,IAAIhB,KAAO/U,KAAKixB,KAAKlc,KAC1B/U,KAAK+V,IAAI5c,KAAO6G,KAAKixB,KAAK93B,KAAKiF,QAC/B4B,KAAK+V,IAAItV,MAAQT,KAAKixB,KAAKxwB,OACZ,KAANwoB,GACTjpB,KAAK+V,IAAIhB,KAAO/U,KAAKixB,KAAKlc,KAC1B/U,KAAK+V,IAAI5c,KAAO6G,KAAKixB,KAAK93B,KAAKiF,QAC/B4B,KAAK+V,IAAItV,MAAQ,GACjBT,KAAKyK,MAAQ,SACE,KAANwe,GACTjpB,KAAK+V,IAAIhB,KAAO/U,KAAKixB,KAAKlc,KAC1B/U,KAAK+V,IAAI5c,KAAO6G,KAAKixB,KAAK93B,KAAKiF,QAC/B4B,KAAK+V,IAAItV,MAAQT,KAAKixB,KAAKxwB,MAC3BT,KAAK+V,IAAIkc,SAAW,GACpBjyB,KAAKyK,MAAQ,aAETzK,KAAKrB,MAAM/C,OAASoE,KAAKy1B,QAAU,GAAM,IA92BnD,SAASuD,+BAA+BC,IAAKC,KAC3C,OAAOpF,aAAamF,OAAiB,KAARC,KAAsB,MAARA,KA82BlCF,CAA+B/P,EAAGjpB,KAAKrB,MAAMqB,KAAKy1B,QAAU,KAC5Dz1B,KAAKrB,MAAM/C,OAASoE,KAAKy1B,QAAU,GAAK,IACvCqD,wBAAwBx1B,IAAItD,KAAKrB,MAAMqB,KAAKy1B,QAAU,KAC1Dz1B,KAAK+V,IAAIhB,KAAO/U,KAAKixB,KAAKlc,KAC1B/U,KAAK+V,IAAI5c,KAAO6G,KAAKixB,KAAK93B,KAAKiF,QAC/B+4B,YAAYn3B,KAAK+V,MAEjB/V,KAAKw3B,YAAa,EAGpBx3B,KAAKyK,MAAQ,SACXzK,KAAKy1B,UAGTz1B,KAAKyK,MAAQ,SACXzK,KAAKy1B,UAGF,GAGT6B,gBAAgB/4B,UAAU,oBAAsB,SAAS46B,eAAelQ,GAkBtE,OAjBU,KAANA,GAAkB,KAANA,GACJ,KAANA,IACFjpB,KAAKw3B,YAAa,GAEpBx3B,KAAKyK,MAAQ,cAEK,OAAdzK,KAAKixB,MAAsC,SAArBjxB,KAAKixB,KAAKQ,UAn4BxC,SAAS2H,qCAAqCzc,QAC5C,OAAyB,IAAlBA,OAAO/gB,QAAgBk4B,aAAanX,OAAOqG,YAAY,KAAqB,MAAdrG,OAAO,GAm4BpEyc,CAAqCp5B,KAAKixB,KAAK93B,KAAK,IAGtD6G,KAAK+V,IAAIhB,KAAO/U,KAAKixB,KAAKlc,KAF1B/U,KAAK+V,IAAI5c,KAAK4C,KAAKiE,KAAKixB,KAAK93B,KAAK,KAKtC6G,KAAKyK,MAAQ,SACXzK,KAAKy1B,UAGF,GAGT6B,gBAAgB/4B,UAAU,mBAAqB,SAAS86B,cAAcpQ,EAAG6L,MACvE,GAAI1W,MAAM6K,IAAY,KAANA,GAAkB,KAANA,GAAkB,KAANA,GAAkB,KAANA,EAElD,KADEjpB,KAAKy1B,SACFz1B,KAAK0xB,eAAiBuC,2BAA2Bj0B,KAAKtC,QACzDsC,KAAKw3B,YAAa,EAClBx3B,KAAKyK,MAAQ,YACR,GAAoB,KAAhBzK,KAAKtC,OAAe,CAE7B,GADAsC,KAAK+V,IAAIhB,KAAO,GACZ/U,KAAK0xB,cACP,OAAO,EAET1xB,KAAKyK,MAAQ,iBACR,CACL,IAAIsK,KAAOogB,UAAUn1B,KAAKtC,OAAQy2B,UAAUn0B,KAAK+V,MACjD,GAAIhB,OAAS2e,QACX,OAAOA,QAOT,GALa,cAAT3e,OACFA,KAAO,IAET/U,KAAK+V,IAAIhB,KAAOA,KAEZ/U,KAAK0xB,cACP,OAAO,EAGT1xB,KAAKtC,OAAS,GACdsC,KAAKyK,MAAQ,kBAGfzK,KAAKtC,QAAUo3B,KAGjB,OAAO,GAGTwC,gBAAgB/4B,UAAU,oBAAsB,SAAS+6B,eAAerQ,GAuBtE,OAtBIkL,UAAUn0B,KAAK+V,MACP,KAANkT,IACFjpB,KAAKw3B,YAAa,GAEpBx3B,KAAKyK,MAAQ,OAEH,KAANwe,GAAkB,KAANA,KACZjpB,KAAKy1B,SAECz1B,KAAK0xB,eAAuB,KAANzI,EAGtBjpB,KAAK0xB,eAAuB,KAANzI,OAGjBtnB,IAANsnB,IACTjpB,KAAKyK,MAAQ,OACH,KAANwe,KACAjpB,KAAKy1B,UALTz1B,KAAK+V,IAAIkc,SAAW,GACpBjyB,KAAKyK,MAAQ,aAJbzK,KAAK+V,IAAItV,MAAQ,GACjBT,KAAKyK,MAAQ,UAWR,GAGT6sB,gBAAgB/4B,UAAU,cAAgB,SAASsf,UAAUoL,GAC3D,GAAI7K,MAAM6K,IAAY,KAANA,GAAakL,UAAUn0B,KAAK+V,MAAc,KAANkT,IAC9CjpB,KAAK0xB,gBAAwB,KAANzI,GAAkB,KAANA,GAAY,CAwBnD,GAvBIkL,UAAUn0B,KAAK+V,MAAc,KAANkT,IACzBjpB,KAAKw3B,YAAa,IAh+BxB,SAAS+B,YAAY77B,QAEnB,MAAkB,QADlBA,OAASA,OAAO8e,gBACqB,SAAX9e,QAAgC,SAAXA,QAAgC,WAAXA,OAi+B9D67B,CAAYv5B,KAAKtC,SAKVs2B,YAAYh0B,KAAKtC,SAAiB,KAANurB,GAC1BkL,UAAUn0B,KAAK+V,MAAc,KAANkT,EAExB+K,YAAYh0B,KAAKtC,UACH,SAApBsC,KAAK+V,IAAI0b,QAA8C,IAAzBzxB,KAAK+V,IAAI5c,KAAKyC,QAAgBq4B,2BAA2Bj0B,KAAKtC,UACxE,KAAlBsC,KAAK+V,IAAIhB,MAAiC,OAAlB/U,KAAK+V,IAAIhB,OACnC/U,KAAKw3B,YAAa,EAClBx3B,KAAK+V,IAAIhB,KAAO,IAElB/U,KAAKtC,OAASsC,KAAKtC,OAAO,GAAK,KAEjCsC,KAAK+V,IAAI5c,KAAK4C,KAAKiE,KAAKtC,SATxBsC,KAAK+V,IAAI5c,KAAK4C,KAAK,KANnBo7B,YAAYn3B,KAAK+V,KACP,KAANkT,GAAckL,UAAUn0B,KAAK+V,MAAc,KAANkT,GACvCjpB,KAAK+V,IAAI5c,KAAK4C,KAAK,KAevBiE,KAAKtC,OAAS,GACU,SAApBsC,KAAK+V,IAAI0b,cAA4B9vB,IAANsnB,GAAyB,KAANA,GAAkB,KAANA,GAChE,KAAOjpB,KAAK+V,IAAI5c,KAAKyC,OAAS,GAA0B,KAArBoE,KAAK+V,IAAI5c,KAAK,IAC/C6G,KAAKw3B,YAAa,EAClBx3B,KAAK+V,IAAI5c,KAAKojB,QAGR,KAAN0M,IACFjpB,KAAK+V,IAAItV,MAAQ,GACjBT,KAAKyK,MAAQ,SAEL,KAANwe,IACFjpB,KAAK+V,IAAIkc,SAAW,GACpBjyB,KAAKyK,MAAQ,iBAKL,KAANwe,GACA8K,WAAW/zB,KAAKrB,MAAMqB,KAAKy1B,QAAU,KACpC1B,WAAW/zB,KAAKrB,MAAMqB,KAAKy1B,QAAU,MACxCz1B,KAAKw3B,YAAa,GAGpBx3B,KAAKtC,QAAUk3B,kBAAkB3L,EAAGwL,qBAGtC,OAAO,GAGT6C,gBAAgB/4B,UAAU,mCAAqC,SAASi7B,0BAA0BvQ,GAwBhG,OAvBU,KAANA,GACFjpB,KAAK+V,IAAItV,MAAQ,GACjBT,KAAKyK,MAAQ,SACE,KAANwe,GACTjpB,KAAK+V,IAAIkc,SAAW,GACpBjyB,KAAKyK,MAAQ,aAGR2T,MAAM6K,IAAY,KAANA,IACfjpB,KAAKw3B,YAAa,GAGV,KAANvO,GACE8K,WAAW/zB,KAAKrB,MAAMqB,KAAKy1B,QAAU,KACrC1B,WAAW/zB,KAAKrB,MAAMqB,KAAKy1B,QAAU,MACzCz1B,KAAKw3B,YAAa,GAGfpZ,MAAM6K,KACTjpB,KAAK+V,IAAI5c,KAAK,GAAK6G,KAAK+V,IAAI5c,KAAK,GAAKy7B,kBAAkB3L,EAAGqL,6BAIxD,GAGTgD,gBAAgB/4B,UAAU,eAAiB,SAASk7B,WAAWxQ,EAAG6L,MAChE,GAAI1W,MAAM6K,KAAQjpB,KAAK0xB,eAAuB,KAANzI,EAAW,CAC5CkL,UAAUn0B,KAAK+V,MAA4B,OAApB/V,KAAK+V,IAAI0b,QAAuC,QAApBzxB,KAAK+V,IAAI0b,SAC/DzxB,KAAKu3B,iBAAmB,SAG1B,MAAM75B,OAAS,IAAIqU,OAAO/R,KAAKtC,QAC/B,IAAK,IAAIzC,EAAI,EAAGA,EAAIyC,OAAO9B,SAAUX,EAC/ByC,OAAOzC,GAAK,IAAQyC,OAAOzC,GAAK,KAAsB,KAAdyC,OAAOzC,IAA6B,KAAdyC,OAAOzC,IACvD,KAAdyC,OAAOzC,IAA6B,KAAdyC,OAAOzC,GAC/B+E,KAAK+V,IAAItV,OAAS2zB,cAAc12B,OAAOzC,IAEvC+E,KAAK+V,IAAItV,OAAS+iB,OAAOC,cAAc/lB,OAAOzC,IAIlD+E,KAAKtC,OAAS,GACJ,KAANurB,IACFjpB,KAAK+V,IAAIkc,SAAW,GACpBjyB,KAAKyK,MAAQ,iBAIL,KAANwe,GACA8K,WAAW/zB,KAAKrB,MAAMqB,KAAKy1B,QAAU,KACpC1B,WAAW/zB,KAAKrB,MAAMqB,KAAKy1B,QAAU,MACxCz1B,KAAKw3B,YAAa,GAGpBx3B,KAAKtC,QAAUo3B,KAGjB,OAAO,GAGTwC,gBAAgB/4B,UAAU,kBAAoB,SAASm7B,cAAczQ,GAenE,OAdI7K,MAAM6K,KACO,IAANA,EACTjpB,KAAKw3B,YAAa,GAGR,KAANvO,GACA8K,WAAW/zB,KAAKrB,MAAMqB,KAAKy1B,QAAU,KACpC1B,WAAW/zB,KAAKrB,MAAMqB,KAAKy1B,QAAU,MACxCz1B,KAAKw3B,YAAa,GAGpBx3B,KAAK+V,IAAIkc,UAAY2C,kBAAkB3L,EAAGqL,6BAGrC,GAuDT35B,OAAOC,QAAQ22B,aApDf,SAASA,aAAaxb,IAAK4jB,iBACzB,IAAIp8B,OAASwY,IAAI0b,OAAS,IAqB1B,GApBiB,OAAb1b,IAAIhB,MACNxX,QAAU,KAEW,KAAjBwY,IAAIkH,UAAoC,KAAjBlH,IAAImH,WAC7B3f,QAAUwY,IAAIkH,SACO,KAAjBlH,IAAImH,WACN3f,QAAU,IAAMwY,IAAImH,UAEtB3f,QAAU,KAGZA,QAAUu0B,cAAc/b,IAAIhB,MAEX,OAAbgB,IAAIzC,OACN/V,QAAU,IAAMwY,IAAIzC,OAEA,OAAbyC,IAAIhB,MAAgC,SAAfgB,IAAI0b,SAClCl0B,QAAU,MAGRwY,IAAIic,iBACNz0B,QAAUwY,IAAI5c,KAAK,QAEnB,IAAK,MAAMwjB,UAAU5G,IAAI5c,KACvBoE,QAAU,IAAMof,OAYpB,OARkB,OAAd5G,IAAItV,QACNlD,QAAU,IAAMwY,IAAItV,OAGjBk5B,iBAAoC,OAAjB5jB,IAAIkc,WAC1B10B,QAAU,IAAMwY,IAAIkc,UAGf10B,QAgBT5C,OAAOC,QAAQ42B,mBAAqB,SAAUzb,KAE5C,OAAQA,IAAI0b,QACV,IAAK,OACH,IACE,OAAO92B,OAAOC,QAAQ42B,mBAAmB72B,OAAOC,QAAQg/B,SAAS7jB,IAAI5c,KAAK,KAC1E,MAAOM,GAEP,MAAO,OAEX,IAAK,MACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,KACL,IAAK,MACH,OA7BN,SAASogC,gBAAgBlgB,OACvB,IAAIva,OAASua,MAAM8X,OAAS,MAO5B,OANAryB,QAAU0yB,cAAcnY,MAAM5E,MAEX,OAAf4E,MAAMrG,OACRlU,QAAU,IAAMua,MAAMrG,MAGjBlU,OAqBIy6B,CAAgB,CACrBpI,OAAQ1b,IAAI0b,OACZ1c,KAAMgB,IAAIhB,KACVzB,KAAMyC,IAAIzC,OAEd,IAAK,OAEH,MAAO,UACT,QAEE,MAAO,SAIb3Y,OAAOC,QAAQu2B,cAAgB,SAAUxyB,MAAOmB,cAC9B6B,IAAZ7B,UACFA,QAAU,IAGZ,MAAM+wB,IAAM,IAAIyG,gBAAgB34B,MAAOmB,QAAQuxB,QAASvxB,QAAQy3B,iBAAkBz3B,QAAQiW,IAAKjW,QAAQ4xB,eACvG,OAAIb,IAAI6C,QACC,UAGF7C,IAAI9a,KAGbpb,OAAOC,QAAQg3B,eAAiB,SAAU7b,IAAKkH,UAC7ClH,IAAIkH,SAAW,GACf,MAAMgZ,QAAUjU,SAAS2R,KAAKj1B,OAAOue,UACrC,IAAK,IAAIhiB,EAAI,EAAGA,EAAIg7B,QAAQr6B,SAAUX,EACpC8a,IAAIkH,UAAY2X,kBAAkBqB,QAAQh7B,GAAI05B,0BAIlDh6B,OAAOC,QAAQi3B,eAAiB,SAAU9b,IAAKmH,UAC7CnH,IAAImH,SAAW,GACf,MAAM+Y,QAAUjU,SAAS2R,KAAKj1B,OAAOwe,UACrC,IAAK,IAAIjiB,EAAI,EAAGA,EAAIg7B,QAAQr6B,SAAUX,EACpC8a,IAAImH,UAAY0X,kBAAkBqB,QAAQh7B,GAAI05B,0BAIlDh6B,OAAOC,QAAQk3B,cAAgBA,cAE/Bn3B,OAAOC,QAAQ+2B,gCA7wBf,SAASA,gCAAgC5b,KACvC,OAAoB,OAAbA,IAAIhB,MAA8B,KAAbgB,IAAIhB,MAAegB,IAAIic,kBAAmC,SAAfjc,IAAI0b,QA8wB7E92B,OAAOC,QAAQm3B,iBAAmB,SAAU+H,SAC1C,OAAOtW,OAAOsW,UAGhBn/B,OAAOC,QAAQg/B,SAAW,SAAUj7B,MAAOmB,SAMzC,YALgB6B,IAAZ7B,UACFA,QAAU,IAILnF,OAAOC,QAAQu2B,cAAcxyB,MAAO,CAAE0yB,QAASvxB,QAAQuxB,QAASkG,iBAAkBz3B,QAAQy3B,gDC7wCnG58B,OAAOC,QAAQm/B,MAAQ,SAASA,MAAMnf,OAAQtd,QAC5C,MAAMvC,KAAOD,OAAOk/B,oBAAoB18B,QACxC,IAAK,IAAIrC,EAAI,EAAGA,EAAIF,KAAKa,SAAUX,EACjCH,OAAO23B,eAAe7X,OAAQ7f,KAAKE,GAAIH,OAAOm/B,yBAAyB38B,OAAQvC,KAAKE,MAIxFN,OAAOC,QAAQk4B,cAAgBxU,OAAO,WACtC3jB,OAAOC,QAAQ03B,WAAahU,OAAO,QAEnC3jB,OAAOC,QAAQs/B,eAAiB,SAAU7H,MACxC,OAAOA,KAAK13B,OAAOC,QAAQk4B,gBAG7Bn4B,OAAOC,QAAQu/B,eAAiB,SAAUtH,SACxC,OAAOA,QAAQl4B,OAAOC,QAAQ03B,wFCfhC,MAAMnf,UAAY,oBAAQ,MAE1BA,UAAUinB,sBAAwB,oBAAQ,KAC1CjnB,UAAUknB,OAAS,oBAAQ,MAC3BlnB,UAAUmnB,SAAW,oBAAQ,MAC7BnnB,UAAUonB,OAAS,oBAAQ,MAE3B5/B,OAAOC,QAAUuY,oFCPjB,MAAM,cAAmB,oBAAQ,MAUjC,SAAS3U,OAAOg8B,KAAMC,aACpB,GAAoB,IAAhBD,KAAK5+B,OAAc,OAAO8+B,aAC9B,GAAoB,IAAhBF,KAAK5+B,OAAc,OAAO4+B,KAAK,GAEnC,MAAM5f,OAAS7I,OAAO4oB,YAAYF,aAClC,IAAIj9B,OAAS,EAEb,IAAK,IAAIvC,EAAI,EAAGA,EAAIu/B,KAAK5+B,OAAQX,IAAK,CACpC,MAAMs0B,IAAMiL,KAAKv/B,GACjB2f,OAAO3X,IAAIssB,IAAK/xB,QAChBA,QAAU+xB,IAAI3zB,OAGhB,OAAI4B,OAASi9B,YAAoB7f,OAAOxc,MAAM,EAAGZ,QAE1Cod,OAaT,SAASggB,MAAMt9B,OAAQD,KAAME,OAAQC,OAAQ5B,QAC3C,IAAK,IAAIX,EAAI,EAAGA,EAAIW,OAAQX,IAC1BsC,OAAOC,OAASvC,GAAKqC,OAAOrC,GAAKoC,KAAS,EAAJpC,GAW1C,SAAS4/B,QAAQn9B,OAAQL,MAEvB,MAAMzB,OAAS8B,OAAO9B,OACtB,IAAK,IAAIX,EAAI,EAAGA,EAAIW,OAAQX,IAC1ByC,OAAOzC,IAAMoC,KAAS,EAAJpC,GAWtB,SAAS6/B,cAAcvL,KACrB,OAAIA,IAAIvd,aAAeud,IAAI7xB,OAAOsU,WACzBud,IAAI7xB,OAGN6xB,IAAI7xB,OAAOU,MAAMmxB,IAAIwL,WAAYxL,IAAIwL,WAAaxL,IAAIvd,YAW/D,SAASgpB,SAASx6B,MAGhB,GAFAw6B,SAASC,UAAW,EAEhBlpB,OAAOmpB,SAAS16B,MAAO,OAAOA,KAElC,IAAI+uB,IAWJ,OATI/uB,gBAAgB26B,YAClB5L,IAAMxd,OAAOqpB,KAAK56B,MACT26B,YAAYE,OAAO76B,MAC5B+uB,IAAMxd,OAAOqpB,KAAK56B,KAAK9C,OAAQ8C,KAAKu6B,WAAYv6B,KAAKwR,aAErDud,IAAMxd,OAAOqpB,KAAK56B,MAClBw6B,SAASC,UAAW,GAGf1L,IAGT,IACE,MAAM+L,WAAa,oBAAQ,MACrBC,GAAKD,WAAWE,YAAcF,WAEpC3gC,OAAOC,QAAU,CACf4D,OACAnB,KAAKC,OAAQD,KAAME,OAAQC,OAAQ5B,QAC7BA,OAAS,GAAIg/B,MAAMt9B,OAAQD,KAAME,OAAQC,OAAQ5B,QAChD2/B,GAAGl+B,KAAKC,OAAQD,KAAME,OAAQC,OAAQ5B,SAE7Ck/B,cACAE,SACAv9B,OAAOC,OAAQL,MACTK,OAAO9B,OAAS,GAAIi/B,QAAQn9B,OAAQL,MACnCk+B,GAAG99B,OAAOC,OAAQL,QAG3B,MAAO5D,GACPkB,OAAOC,QAAU,CACf4D,OACAnB,KAAMu9B,MACNE,cACAE,SACAv9B,OAAQo9B,sCC5HZlgC,OAAOC,QAAU,CACf6gC,aAAc,CAAC,aAAc,cAAe,aAC5CC,KAAM,uCACNC,YAAard,OAAO,eACpBsd,WAAYtd,OAAO,aACnBoc,aAAc3oB,OAAOG,MAAM,GAC3B2pB,KAAM,kCCDR,MAAMC,MAQJj8B,YAAYqF,KAAM0V,QAChB5a,KAAK4a,OAASA,OACd5a,KAAKkF,KAAOA,MAUhB,MAAM62B,qBAAqBD,MAQzBj8B,YAAYW,KAAMoa,QAChB7a,MAAM,UAAW6a,QAEjB5a,KAAKQ,KAAOA,MAUhB,MAAMw7B,mBAAmBF,MAWvBj8B,YAAY5D,KAAMggC,OAAQrhB,QACxB7a,MAAM,QAAS6a,QAEf5a,KAAK8T,SAAW8G,OAAOshB,qBAAuBthB,OAAOuhB,gBACrDn8B,KAAKi8B,OAASA,OACdj8B,KAAK/D,KAAOA,MAUhB,MAAMmgC,kBAAkBN,MAOtBj8B,YAAY+a,QACV7a,MAAM,OAAQ6a,SAUlB,MAAMyhB,mBAAmBP,MAQvBj8B,YAAYkU,MAAO6G,QACjB7a,MAAM,QAAS6a,QAEf5a,KAAK7D,QAAU4X,MAAM5X,QACrB6D,KAAK+T,MAAQA,OAUjB,MAAMuoB,YAAc,CAalBC,iBAAiBr3B,KAAMsiB,SAAU1nB,SAC/B,GAAwB,mBAAb0nB,SAAyB,OAEpC,SAAS3T,UAAUrT,MACjBgnB,SAAS/oB,KAAKuB,KAAM,IAAI+7B,aAAav7B,KAAMR,OAG7C,SAAS+S,QAAQ9W,KAAME,SACrBqrB,SAAS/oB,KAAKuB,KAAM,IAAIg8B,WAAW//B,KAAME,QAAS6D,OAGpD,SAAS2T,QAAQI,OACfyT,SAAS/oB,KAAKuB,KAAM,IAAIq8B,WAAWtoB,MAAO/T,OAG5C,SAASyT,SACP+T,SAAS/oB,KAAKuB,KAAM,IAAIo8B,UAAUp8B,OAGpC,MAAMO,OAAST,SAAWA,QAAQoC,KAAO,OAAS,KAErC,YAATgD,MACF2O,UAAU2oB,UAAYhV,SACtBxnB,KAAKO,QAAQ2E,KAAM2O,YACD,UAAT3O,MACT6N,QAAQypB,UAAYhV,SACpBxnB,KAAKO,QAAQ2E,KAAM6N,UACD,UAAT7N,MACTyO,QAAQ6oB,UAAYhV,SACpBxnB,KAAKO,QAAQ2E,KAAMyO,UACD,SAATzO,MACTuO,OAAO+oB,UAAYhV,SACnBxnB,KAAKO,QAAQ2E,KAAMuO,SAEnBzT,KAAKO,QAAQ2E,KAAMsiB,WAWvBiV,oBAAoBv3B,KAAMsiB,UACxB,MAAMK,UAAY7nB,KAAK6nB,UAAU3iB,MAEjC,IAAK,IAAIjK,EAAI,EAAGA,EAAI4sB,UAAUjsB,OAAQX,IAChC4sB,UAAU5sB,KAAOusB,UAAYK,UAAU5sB,GAAGuhC,YAAchV,UAC1DxnB,KAAK0R,eAAexM,KAAM2iB,UAAU5sB,MAM5CN,OAAOC,QAAU0hC,wCCzKjB,MAAMI,WAAa,CACjB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAa/C,SAAS3gC,KAAK4gC,KAAMtmB,KAAMumB,WACLj7B,IAAfg7B,KAAKtmB,MAAqBsmB,KAAKtmB,MAAQ,CAACumB,MACvCD,KAAKtmB,MAAMta,KAAK6gC,MAyLvBjiC,OAAOC,QAAU,CAAEiiC,OAxBnB,SAASA,OAAOxW,YACd,OAAOvrB,OAAOC,KAAKsrB,YAChBrrB,KAAK8hC,YACJ,IAAIC,eAAiB1W,WAAWyW,WAEhC,OADKx+B,MAAM8W,QAAQ2nB,kBAAiBA,eAAiB,CAACA,iBAC/CA,eACJ/hC,KAAKgiC,QACG,CAACF,WACLt+B,OACC1D,OAAOC,KAAKiiC,QAAQhiC,KAAKulB,IACvB,IAAI0c,OAASD,OAAOzc,GAEpB,OADKjiB,MAAM8W,QAAQ6nB,UAASA,OAAS,CAACA,SAC/BA,OACJjiC,KAAKgY,IAAa,IAANA,EAAauN,EAAI,GAAGA,KAAKvN,MACrC3Z,KAAK,UAGXA,KAAK,QAETA,KAAK,SAETA,KAAK,OAGiBuZ,MA/K3B,SAASA,MAAMsqB,QACb,MAAMC,OAASriC,OAAOgjB,OAAO,MAE7B,QAAenc,IAAXu7B,QAAmC,KAAXA,OAAe,OAAOC,OAElD,IAIIC,cACAC,UALAL,OAASliC,OAAOgjB,OAAO,MACvBwf,cAAe,EACfC,YAAa,EACbC,UAAW,EAGXx0B,OAAS,EACTC,KAAO,EACPhO,EAAI,EAER,KAAOA,EAAIiiC,OAAOthC,OAAQX,IAAK,CAC7B,MAAMgB,KAAOihC,OAAOnb,WAAW9mB,GAE/B,QAAsB0G,IAAlBy7B,cACF,IAAa,IAATn0B,KAAmC,IAArByzB,WAAWzgC,OACZ,IAAX+M,QAAcA,MAAQ/N,QACrB,GAAa,KAATgB,MAAoC,IAATA,MACvB,IAATgN,MAAyB,IAAXD,QAAcC,IAAMhO,OACjC,IAAa,KAATgB,MAAoC,KAATA,KAgBpC,MAAM,IAAIwhC,YAAY,iCAAiCxiC,KAhBM,CAC7D,IAAe,IAAX+N,MACF,MAAM,IAAIy0B,YAAY,iCAAiCxiC,MAG5C,IAATgO,MAAYA,IAAMhO,GACtB,MAAMob,KAAO6mB,OAAO9+B,MAAM4K,MAAOC,KACpB,KAAThN,MACFF,KAAKohC,OAAQ9mB,KAAM2mB,QACnBA,OAASliC,OAAOgjB,OAAO,OAEvBsf,cAAgB/mB,KAGlBrN,MAAQC,KAAO,QAIZ,QAAkBtH,IAAd07B,UACT,IAAa,IAATp0B,KAAmC,IAArByzB,WAAWzgC,OACZ,IAAX+M,QAAcA,MAAQ/N,QACrB,GAAa,KAATgB,MAA0B,IAATA,MACb,IAATgN,MAAyB,IAAXD,QAAcC,IAAMhO,QACjC,GAAa,KAATgB,MAA0B,KAATA,KAAe,CACzC,IAAe,IAAX+M,MACF,MAAM,IAAIy0B,YAAY,iCAAiCxiC,MAG5C,IAATgO,MAAYA,IAAMhO,GACtBc,KAAKihC,OAAQE,OAAO9+B,MAAM4K,MAAOC,MAAM,GAC1B,KAAThN,OACFF,KAAKohC,OAAQC,cAAeJ,QAC5BA,OAASliC,OAAOgjB,OAAO,MACvBsf,mBAAgBz7B,GAGlBqH,MAAQC,KAAO,MACV,IAAa,KAAThN,OAAsC,IAAX+M,QAAyB,IAATC,IAIpD,MAAM,IAAIw0B,YAAY,iCAAiCxiC,KAHvDoiC,UAAYH,OAAO9+B,MAAM4K,MAAO/N,GAChC+N,MAAQC,KAAO,OAUjB,GAAIs0B,WAAY,CACd,GAAyB,IAArBb,WAAWzgC,MACb,MAAM,IAAIwhC,YAAY,iCAAiCxiC,MAE1C,IAAX+N,MAAcA,MAAQ/N,EAChBqiC,eAAcA,cAAe,GACvCC,YAAa,OACR,GAAIC,SACT,GAAyB,IAArBd,WAAWzgC,OACE,IAAX+M,QAAcA,MAAQ/N,QACrB,GAAa,KAATgB,OAAsC,IAAX+M,MACpCw0B,UAAW,EACXv0B,IAAMhO,MACD,IAAa,KAATgB,KAGT,MAAM,IAAIwhC,YAAY,iCAAiCxiC,KAFvDsiC,YAAa,OAIV,GAAa,KAATthC,MAA8C,KAA7BihC,OAAOnb,WAAW9mB,EAAI,GAChDuiC,UAAW,OACN,IAAa,IAATv0B,KAAmC,IAArByzB,WAAWzgC,OACnB,IAAX+M,QAAcA,MAAQ/N,QACrB,IAAe,IAAX+N,OAA0B,KAAT/M,MAA0B,IAATA,KAEtC,IAAa,KAATA,MAA0B,KAATA,KAqB1B,MAAM,IAAIwhC,YAAY,iCAAiCxiC,KArBd,CACzC,IAAe,IAAX+N,MACF,MAAM,IAAIy0B,YAAY,iCAAiCxiC,MAG5C,IAATgO,MAAYA,IAAMhO,GACtB,IAAIqS,MAAQ4vB,OAAO9+B,MAAM4K,MAAOC,KAC5Bq0B,eACFhwB,MAAQA,MAAMtO,QAAQ,MAAO,IAC7Bs+B,cAAe,GAEjBvhC,KAAKihC,OAAQK,UAAW/vB,OACX,KAATrR,OACFF,KAAKohC,OAAQC,cAAeJ,QAC5BA,OAASliC,OAAOgjB,OAAO,MACvBsf,mBAAgBz7B,GAGlB07B,eAAY17B,EACZqH,MAAQC,KAAO,QApBF,IAATA,MAAYA,IAAMhO,GA2B5B,IAAe,IAAX+N,OAAgBw0B,SAClB,MAAM,IAAIC,YAAY,4BAGX,IAATx0B,MAAYA,IAAMhO,GACtB,MAAMwa,MAAQynB,OAAO9+B,MAAM4K,MAAOC,KAclC,YAbsBtH,IAAlBy7B,cACFrhC,KAAKohC,OAAQ1nB,MAAOunB,cAEFr7B,IAAd07B,UACFthC,KAAKihC,OAAQvnB,OAAO,GAEpB1Z,KAAKihC,OAAQK,UADJC,aACe7nB,MAAMzW,QAAQ,MAAO,IAErByW,OAE1B1Z,KAAKohC,OAAQC,cAAeJ,SAGvBG,oCC1LT,MAAMO,MAAQpf,OAAO,SACfqf,KAAOrf,OAAO,QAmDpB3jB,OAAOC,QA7CP,MAAMgjC,QAOJ/9B,YAAYg+B,aACV79B,KAAK09B,OAAS,KACZ19B,KAAK89B,UACL99B,KAAK29B,SAEP39B,KAAK69B,YAAcA,aAAeE,EAAAA,EAClC/9B,KAAKg+B,KAAO,GACZh+B,KAAK89B,QAAU,EASjBG,IAAIC,KACFl+B,KAAKg+B,KAAKjiC,KAAKmiC,KACfl+B,KAAK29B,QAQP,CAACA,QACC,GAAI39B,KAAK89B,UAAY99B,KAAK69B,aAEtB79B,KAAKg+B,KAAKpiC,OAAQ,CACpB,MAAMsiC,IAAMl+B,KAAKg+B,KAAKzhB,QAEtBvc,KAAK89B,UACLI,IAAIl+B,KAAK09B,sFC/Cf,MAAMS,KAAO,oBAAQ,MAEf7C,WAAa,oBAAQ,KACrBsC,QAAU,oBAAQ,MAClB,YAAa,MAAW,oBAAQ,MAEhCQ,QAAUrsB,OAAOqpB,KAAK,CAAC,EAAM,EAAM,IAAM,MACzCiD,mBAAqB/f,OAAO,sBAC5BggB,aAAehgB,OAAO,gBACtBigB,UAAYjgB,OAAO,YACnBkgB,SAAWlgB,OAAO,WAClBmgB,OAASngB,OAAO,SAStB,IAAIogB,YAocJ,SAASC,cAAcC,OACrB5+B,KAAKw+B,UAAUziC,KAAK6iC,OACpB5+B,KAAKs+B,eAAiBM,MAAMhjC,OAS9B,SAASijC,cAAcD,OACrB5+B,KAAKs+B,eAAiBM,MAAMhjC,OAG1BoE,KAAKq+B,oBAAoBS,YAAc,GACvC9+B,KAAKs+B,eAAiBt+B,KAAKq+B,oBAAoBS,YAE/C9+B,KAAKw+B,UAAUziC,KAAK6iC,QAItB5+B,KAAKy+B,QAAU,IAAIn1B,WAAW,6BAC9BtJ,KAAKy+B,QAAQxiC,KAAO,oCACpB+D,KAAKy+B,QAAQ9C,aAAe,KAC5B37B,KAAK0R,eAAe,OAAQmtB,eAC5B7+B,KAAK++B,SASP,SAASC,eAAexjC,KAKtBwE,KAAKq+B,oBAAoBY,SAAW,KACpCzjC,IAAImgC,aAAe,KACnB37B,KAAKu+B,WAAW/iC,KAlDlBb,OAAOC,QAvbP,MAAMskC,kBAyBJr/B,YAAYC,QAASq/B,SAAUC,YAW7B,GAVAp/B,KAAK8+B,YAA2B,EAAbM,WACnBp/B,KAAKq/B,SAAWv/B,SAAW,GAC3BE,KAAKs/B,gBACyB39B,IAA5B3B,KAAKq/B,SAAS73B,UAA0BxH,KAAKq/B,SAAS73B,UAAY,KACpExH,KAAKu/B,YAAcJ,SACnBn/B,KAAKw/B,SAAW,KAChBx/B,KAAKi/B,SAAW,KAEhBj/B,KAAKg9B,OAAS,MAET0B,YAAa,CAChB,MAAMb,iBAC+Bl8B,IAAnC3B,KAAKq/B,SAASI,iBACVz/B,KAAKq/B,SAASI,iBACd,GACNf,YAAc,IAAId,QAAQC,cAOnBT,2BACT,MAAO,qBASTsC,QACE,MAAM1C,OAAS,GAiBf,OAfIh9B,KAAKq/B,SAASM,0BAChB3C,OAAO4C,4BAA6B,GAElC5/B,KAAKq/B,SAASQ,0BAChB7C,OAAO8C,4BAA6B,GAElC9/B,KAAKq/B,SAASU,sBAChB/C,OAAOgD,uBAAyBhgC,KAAKq/B,SAASU,qBAE5C//B,KAAKq/B,SAASY,oBAChBjD,OAAOkD,uBAAyBlgC,KAAKq/B,SAASY,oBACA,MAArCjgC,KAAKq/B,SAASY,sBACvBjD,OAAOkD,wBAAyB,GAG3BlD,OAUTmD,OAAOpD,gBAOL,OANAA,eAAiB/8B,KAAKogC,gBAAgBrD,gBAEtC/8B,KAAKg9B,OAASh9B,KAAKu/B,UACfv/B,KAAKqgC,eAAetD,gBACpB/8B,KAAKsgC,eAAevD,gBAEjB/8B,KAAKg9B,OAQduD,UAME,GALIvgC,KAAKi/B,WACPj/B,KAAKi/B,SAAS/xB,QACdlN,KAAKi/B,SAAW,MAGdj/B,KAAKw/B,SAAU,CACjB,MAAM13B,SAAW9H,KAAKw/B,SAASjB,WAE/Bv+B,KAAKw/B,SAAStyB,QACdlN,KAAKw/B,SAAW,KAEZ13B,UACFA,SACE,IAAI1L,MACF,kEAcVikC,eAAelD,QACb,MAAMtiC,KAAOmF,KAAKq/B,SACZmB,SAAWrD,OAAO3U,MAAMwU,WAEQ,IAAjCniC,KAAK8kC,yBACJ3C,OAAO4C,4BACR5C,OAAOgD,0BACwB,IAA7BnlC,KAAKklC,qBACiC,iBAA7BllC,KAAKklC,qBACXllC,KAAKklC,oBAAsB/C,OAAOgD,yBACH,iBAA7BnlC,KAAKolC,sBACVjD,OAAOkD,0BAQd,IAAKM,SACH,MAAM,IAAIpkC,MAAM,gDAqBlB,OAlBIvB,KAAK8kC,0BACPa,SAASZ,4BAA6B,GAEpC/kC,KAAKglC,0BACPW,SAASV,4BAA6B,GAEA,iBAA7BjlC,KAAKklC,sBACdS,SAASR,uBAAyBnlC,KAAKklC,qBAED,iBAA7BllC,KAAKolC,oBACdO,SAASN,uBAAyBrlC,KAAKolC,qBAEH,IAApCO,SAASN,yBACoB,IAA7BrlC,KAAKolC,4BAEEO,SAASN,uBAGXM,SAUTF,eAAeG,UACb,MAAMzD,OAASyD,SAAS,GAExB,IAC4C,IAA1CzgC,KAAKq/B,SAASQ,yBACd7C,OAAO8C,2BAEP,MAAM,IAAI1jC,MAAM,qDAGlB,GAAK4gC,OAAOkD,wBAIL,IACiC,IAAtClgC,KAAKq/B,SAASY,qBACgC,iBAAtCjgC,KAAKq/B,SAASY,qBACpBjD,OAAOkD,uBAAyBlgC,KAAKq/B,SAASY,oBAEhD,MAAM,IAAI7jC,MACR,gEAT+C,iBAAtC4D,KAAKq/B,SAASY,sBACvBjD,OAAOkD,uBAAyBlgC,KAAKq/B,SAASY,qBAYlD,OAAOjD,OAUToD,gBAAgBrD,gBAkDd,OAjDAA,eAAe36B,SAAS46B,SACtBliC,OAAOC,KAAKiiC,QAAQ56B,SAAS9C,MAC3B,IAAIgO,MAAQ0vB,OAAO19B,KAEnB,GAAIgO,MAAM1R,OAAS,EACjB,MAAM,IAAIQ,MAAM,cAAckD,sCAKhC,GAFAgO,MAAQA,MAAM,GAEF,2BAARhO,KACF,IAAc,IAAVgO,MAAgB,CAClB,MAAMozB,KAAOpzB,MACb,IAAK6Q,OAAOwiB,UAAUD,MAAQA,IAAM,GAAKA,IAAM,GAC7C,MAAM,IAAI3hC,UACR,gCAAgCO,SAASgO,SAG7CA,MAAQozB,SACH,IAAK1gC,KAAKu/B,UACf,MAAM,IAAIxgC,UACR,gCAAgCO,SAASgO,cAGxC,GAAY,2BAARhO,IAAkC,CAC3C,MAAMohC,KAAOpzB,MACb,IAAK6Q,OAAOwiB,UAAUD,MAAQA,IAAM,GAAKA,IAAM,GAC7C,MAAM,IAAI3hC,UACR,gCAAgCO,SAASgO,SAG7CA,MAAQozB,QACH,IACG,+BAARphC,KACQ,+BAARA,IAQA,MAAM,IAAIlD,MAAM,sBAAsBkD,QANtC,IAAc,IAAVgO,MACF,MAAM,IAAIvO,UACR,gCAAgCO,SAASgO,SAO/C0vB,OAAO19B,KAAOgO,YAIXyvB,eAWT6D,WAAWpgC,KAAMqgC,IAAK/4B,UACpB42B,YAAYT,KAAK6C,OACf9gC,KAAK+gC,YAAYvgC,KAAMqgC,KAAK,CAACrlC,IAAK4D,UAChC0hC,OACAh5B,SAAStM,IAAK4D,cAapBo2B,SAASh1B,KAAMqgC,IAAK/4B,UAClB42B,YAAYT,KAAK6C,OACf9gC,KAAKghC,UAAUxgC,KAAMqgC,KAAK,CAACrlC,IAAK4D,UAC9B0hC,OACAh5B,SAAStM,IAAK4D,cAapB2hC,YAAYvgC,KAAMqgC,IAAK/4B,UACrB,MAAMpH,SAAWV,KAAKu/B,UAAY,SAAW,SAE7C,IAAKv/B,KAAKi/B,SAAU,CAClB,MAAM3/B,IAAM,GAAGoB,2BACTugC,WACwB,iBAArBjhC,KAAKg9B,OAAO19B,KACf6+B,KAAK+C,qBACLlhC,KAAKg9B,OAAO19B,KAElBU,KAAKi/B,SAAWd,KAAKgD,iBAAiB,IACjCnhC,KAAKq/B,SAAS+B,mBACjBH,aAEFjhC,KAAKi/B,SAASZ,oBAAsBr+B,KACpCA,KAAKi/B,SAASX,cAAgB,EAC9Bt+B,KAAKi/B,SAAST,UAAY,GAC1Bx+B,KAAKi/B,SAAS59B,GAAG,QAAS29B,gBAC1Bh/B,KAAKi/B,SAAS59B,GAAG,OAAQw9B,eAG3B7+B,KAAKi/B,SAASV,WAAaz2B,SAE3B9H,KAAKi/B,SAAS7sB,MAAM5R,MAChBqgC,KAAK7gC,KAAKi/B,SAAS7sB,MAAMgsB,SAE7Bp+B,KAAKi/B,SAASoC,OAAM,KAClB,MAAM7lC,IAAMwE,KAAKi/B,SAASR,QAE1B,GAAIjjC,IAIF,OAHAwE,KAAKi/B,SAAS/xB,QACdlN,KAAKi/B,SAAW,UAChBn3B,SAAStM,KAIX,MAAMgF,KAAO86B,WAAW98B,OACtBwB,KAAKi/B,SAAST,UACdx+B,KAAKi/B,SAASX,eAGZt+B,KAAKi/B,SAASqC,eAAeC,YAC/BvhC,KAAKi/B,SAAS/xB,QACdlN,KAAKi/B,SAAW,OAEhBj/B,KAAKi/B,SAASX,cAAgB,EAC9Bt+B,KAAKi/B,SAAST,UAAY,GAEtBqC,KAAO7gC,KAAKg9B,OAAO,GAAGt8B,iCACxBV,KAAKi/B,SAASF,SAIlBj3B,SAAS,KAAMtH,SAYnBwgC,UAAUxgC,KAAMqgC,IAAK/4B,UACnB,MAAMpH,SAAWV,KAAKu/B,UAAY,SAAW,SAE7C,IAAKv/B,KAAKw/B,SAAU,CAClB,MAAMlgC,IAAM,GAAGoB,2BACTugC,WACwB,iBAArBjhC,KAAKg9B,OAAO19B,KACf6+B,KAAK+C,qBACLlhC,KAAKg9B,OAAO19B,KAElBU,KAAKw/B,SAAWrB,KAAKqD,iBAAiB,IACjCxhC,KAAKq/B,SAASoC,mBACjBR,aAGFjhC,KAAKw/B,SAASlB,cAAgB,EAC9Bt+B,KAAKw/B,SAAShB,UAAY,GAQ1Bx+B,KAAKw/B,SAASn+B,GAAG,QAASw6B,MAC1B77B,KAAKw/B,SAASn+B,GAAG,OAAQs9B,eAG3B3+B,KAAKw/B,SAASjB,WAAaz2B,SAE3B9H,KAAKw/B,SAASptB,MAAM5R,MACpBR,KAAKw/B,SAAS6B,MAAMlD,KAAKuD,cAAc,KACrC,IAAK1hC,KAAKw/B,SAIR,OAGF,IAAIh/B,KAAO86B,WAAW98B,OACpBwB,KAAKw/B,SAAShB,UACdx+B,KAAKw/B,SAASlB,eAGZuC,MAAKrgC,KAAOA,KAAKpC,MAAM,EAAGoC,KAAK5E,OAAS,IAM5CoE,KAAKw/B,SAASjB,WAAa,KAE3Bv+B,KAAKw/B,SAASlB,cAAgB,EAC9Bt+B,KAAKw/B,SAAShB,UAAY,GAEtBqC,KAAO7gC,KAAKg9B,OAAO,GAAGt8B,iCACxBV,KAAKw/B,SAAST,QAGhBj3B,SAAS,KAAMtH,sFC3crB,MAAM,UAAe,oBAAQ,MAEvB0+B,kBAAoB,oBAAQ,OAC5B,aACQ,aACA,YACD,YAET,oBAAQ,OACN,OAAQ,cAAe,QAAa,oBAAQ,MAC5C,kBAAmB,aAAkB,oBAAQ,MAykBnD,SAASnrB,MAAM4tB,UAAWxlC,QAASylC,OAAQC,WAAYC,WACrD,MAAMtmC,IAAM,IAAImmC,UACdC,OAAS,4BAA4BzlC,UAAYA,SAMnD,OAHAC,MAAMW,kBAAkBvB,IAAKuY,OAC7BvY,IAAIS,KAAO6lC,UACXtmC,IAAImgC,aAAekG,WACZrmC,IAtBTb,OAAOC,QA7iBP,MAAM0/B,iBAAiByH,SAUrBliC,YAAYmiC,WAAY3b,WAAY8Y,SAAUC,YAC5Cr/B,QAEAC,KAAKiiC,YAAcD,YAAcvG,aAAa,GAC9Cz7B,KAAK47B,iBAAcj6B,EACnB3B,KAAKkiC,YAAc7b,YAAc,GACjCrmB,KAAKu/B,YAAcJ,SACnBn/B,KAAK8+B,YAA2B,EAAbM,WAEnBp/B,KAAKmiC,eAAiB,EACtBniC,KAAKoiC,SAAW,GAEhBpiC,KAAKqiC,aAAc,EACnBriC,KAAKsiC,eAAiB,EACtBtiC,KAAK46B,WAAQj5B,EACb3B,KAAKuiC,YAAc,EACnBviC,KAAKwiC,SAAU,EACfxiC,KAAKyiC,MAAO,EACZziC,KAAK0iC,QAAU,EAEf1iC,KAAK2iC,oBAAsB,EAC3B3iC,KAAK4iC,eAAiB,EACtB5iC,KAAK6iC,WAAa,GAElB7iC,KAAK8iC,OA9CQ,EA+Cb9iC,KAAK+iC,OAAQ,EAWfC,OAAOpE,MAAOqE,SAAUC,IACtB,GAAqB,IAAjBljC,KAAK0iC,SA3DI,GA2DgB1iC,KAAK8iC,OAAoB,OAAOI,KAE7DljC,KAAKmiC,gBAAkBvD,MAAMhjC,OAC7BoE,KAAKoiC,SAASrmC,KAAK6iC,OACnB5+B,KAAKmjC,UAAUD,IAUjBE,QAAQ9nC,GAGN,GAFA0E,KAAKmiC,gBAAkB7mC,EAEnBA,IAAM0E,KAAKoiC,SAAS,GAAGxmC,OAAQ,OAAOoE,KAAKoiC,SAAS7lB,QAExD,GAAIjhB,EAAI0E,KAAKoiC,SAAS,GAAGxmC,OAAQ,CAC/B,MAAM2zB,IAAMvvB,KAAKoiC,SAAS,GAE1B,OADApiC,KAAKoiC,SAAS,GAAK7S,IAAInxB,MAAM9C,GACtBi0B,IAAInxB,MAAM,EAAG9C,GAGtB,MAAM+nC,IAAMtxB,OAAO4oB,YAAYr/B,GAE/B,EAAG,CACD,MAAMi0B,IAAMvvB,KAAKoiC,SAAS,GACpB5kC,OAAS6lC,IAAIznC,OAASN,EAExBA,GAAKi0B,IAAI3zB,OACXynC,IAAIpgC,IAAIjD,KAAKoiC,SAAS7lB,QAAS/e,SAE/B6lC,IAAIpgC,IAAI,IAAIqgC,WAAW/T,IAAI7xB,OAAQ6xB,IAAIwL,WAAYz/B,GAAIkC,QACvDwC,KAAKoiC,SAAS,GAAK7S,IAAInxB,MAAM9C,IAG/BA,GAAKi0B,IAAI3zB,aACFN,EAAI,GAEb,OAAO+nC,IASTF,UAAUD,IACR,IAAI1nC,IACJwE,KAAK+iC,OAAQ,EAEb,GACE,OAAQ/iC,KAAK8iC,QACX,KAnHS,EAoHPtnC,IAAMwE,KAAKujC,UACX,MACF,KArHsB,EAsHpB/nC,IAAMwE,KAAKwjC,qBACX,MACF,KAvHsB,EAwHpBhoC,IAAMwE,KAAKyjC,qBACX,MACF,KAzHS,EA0HPzjC,KAAK0jC,UACL,MACF,KA3HS,EA4HPloC,IAAMwE,KAAK2jC,QAAQT,IACnB,MACF,QAGE,YADAljC,KAAK+iC,OAAQ,UAGV/iC,KAAK+iC,OAEdG,GAAG1nC,KASL+nC,UACE,GAAIvjC,KAAKmiC,eAAiB,EAExB,YADAniC,KAAK+iC,OAAQ,GAIf,MAAMxT,IAAMvvB,KAAKojC,QAAQ,GAEzB,GAAwB,IAAV,GAAT7T,IAAI,IAEP,OADAvvB,KAAK+iC,OAAQ,EACNhvB,MACLzK,WACA,+BACA,EACA,KACA,6BAIJ,MAAMs6B,WAAiC,KAAV,GAATrU,IAAI,IAExB,GAAIqU,aAAe5jC,KAAKkiC,YAAYhD,kBAAkB9B,eAEpD,OADAp9B,KAAK+iC,OAAQ,EACNhvB,MACLzK,WACA,sBACA,EACA,KACA,2BAQJ,GAJAtJ,KAAKyiC,KAA2B,MAAV,IAATlT,IAAI,IACjBvvB,KAAK0iC,QAAmB,GAATnT,IAAI,GACnBvvB,KAAKsiC,eAA0B,IAAT/S,IAAI,GAEL,IAAjBvvB,KAAK0iC,QAAkB,CACzB,GAAIkB,WAEF,OADA5jC,KAAK+iC,OAAQ,EACNhvB,MACLzK,WACA,sBACA,EACA,KACA,2BAIJ,IAAKtJ,KAAKuiC,YAER,OADAviC,KAAK+iC,OAAQ,EACNhvB,MACLzK,WACA,oBACA,EACA,KACA,yBAIJtJ,KAAK0iC,QAAU1iC,KAAKuiC,iBACf,GAAqB,IAAjBviC,KAAK0iC,SAAqC,IAAjB1iC,KAAK0iC,QAAkB,CACzD,GAAI1iC,KAAKuiC,YAEP,OADAviC,KAAK+iC,OAAQ,EACNhvB,MACLzK,WACA,kBAAkBtJ,KAAK0iC,WACvB,EACA,KACA,yBAIJ1iC,KAAKqiC,YAAcuB,eACd,MAAI5jC,KAAK0iC,QAAU,GAAQ1iC,KAAK0iC,QAAU,IAmC/C,OADA1iC,KAAK+iC,OAAQ,EACNhvB,MACLzK,WACA,kBAAkBtJ,KAAK0iC,WACvB,EACA,KACA,yBAvCF,IAAK1iC,KAAKyiC,KAER,OADAziC,KAAK+iC,OAAQ,EACNhvB,MACLzK,WACA,mBACA,EACA,KACA,uBAIJ,GAAIs6B,WAEF,OADA5jC,KAAK+iC,OAAQ,EACNhvB,MACLzK,WACA,sBACA,EACA,KACA,2BAIJ,GAAItJ,KAAKsiC,eAAiB,IAExB,OADAtiC,KAAK+iC,OAAQ,EACNhvB,MACLzK,WACA,0BAA0BtJ,KAAKsiC,kBAC/B,EACA,KACA,yCAiBN,GAHKtiC,KAAKyiC,MAASziC,KAAKuiC,cAAaviC,KAAKuiC,YAAcviC,KAAK0iC,SAC7D1iC,KAAKwiC,QAA8B,MAAV,IAATjT,IAAI,IAEhBvvB,KAAKu/B,WACP,IAAKv/B,KAAKwiC,QAER,OADAxiC,KAAK+iC,OAAQ,EACNhvB,MACLzK,WACA,oBACA,EACA,KACA,6BAGC,GAAItJ,KAAKwiC,QAEd,OADAxiC,KAAK+iC,OAAQ,EACNhvB,MACLzK,WACA,sBACA,EACA,KACA,0BAIJ,GAA4B,MAAxBtJ,KAAKsiC,eAAwBtiC,KAAK8iC,OA/RZ,MAgSrB,IAA4B,MAAxB9iC,KAAKsiC,eACT,OAAOtiC,KAAK6jC,aADqB7jC,KAAK8iC,OA/RjB,GAyS5BU,qBACE,KAAIxjC,KAAKmiC,eAAiB,GAM1B,OADAniC,KAAKsiC,eAAiBtiC,KAAKojC,QAAQ,GAAGU,aAAa,GAC5C9jC,KAAK6jC,aALV7jC,KAAK+iC,OAAQ,EAcjBU,qBACE,GAAIzjC,KAAKmiC,eAAiB,EAExB,YADAniC,KAAK+iC,OAAQ,GAIf,MAAMxT,IAAMvvB,KAAKojC,QAAQ,GACnB1C,IAAMnR,IAAIwU,aAAa,GAM7B,OAAIrD,IAAMv3B,KAAK4mB,IAAI,EAAG,IAAW,GAC/B/vB,KAAK+iC,OAAQ,EACNhvB,MACLzK,WACA,0DACA,EACA,KACA,4CAIJtJ,KAAKsiC,eAAiB5B,IAAMv3B,KAAK4mB,IAAI,EAAG,IAAMR,IAAIwU,aAAa,GACxD/jC,KAAK6jC,cASdA,aACE,GAAI7jC,KAAKsiC,gBAAkBtiC,KAAK0iC,QAAU,IACxC1iC,KAAK2iC,qBAAuB3iC,KAAKsiC,eAC7BtiC,KAAK2iC,oBAAsB3iC,KAAK8+B,aAAe9+B,KAAK8+B,YAAc,GAEpE,OADA9+B,KAAK+iC,OAAQ,EACNhvB,MACLzK,WACA,6BACA,EACA,KACA,qCAKFtJ,KAAKwiC,QAASxiC,KAAK8iC,OAzWV,EA0WR9iC,KAAK8iC,OAzWG,EAiXfY,UACM1jC,KAAKmiC,eAAiB,EACxBniC,KAAK+iC,OAAQ,GAIf/iC,KAAK46B,MAAQ56B,KAAKojC,QAAQ,GAC1BpjC,KAAK8iC,OAxXQ,GAkYfa,QAAQT,IACN,IAAI1iC,KAAOk6B,aAEX,GAAI16B,KAAKsiC,eAAgB,CACvB,GAAItiC,KAAKmiC,eAAiBniC,KAAKsiC,eAE7B,YADAtiC,KAAK+iC,OAAQ,GAIfviC,KAAOR,KAAKojC,QAAQpjC,KAAKsiC,gBACrBtiC,KAAKwiC,SAAS/kC,OAAO+C,KAAMR,KAAK46B,OAGtC,OAAI56B,KAAK0iC,QAAU,EAAa1iC,KAAKgkC,eAAexjC,MAEhDR,KAAKqiC,aACPriC,KAAK8iC,OAjZO,OAkZZ9iC,KAAK4gC,WAAWpgC,KAAM0iC,MAIpB1iC,KAAK5E,SAKPoE,KAAK4iC,eAAiB5iC,KAAK2iC,oBAC3B3iC,KAAK6iC,WAAW9mC,KAAKyE,OAGhBR,KAAKikC,eAUdrD,WAAWpgC,KAAM0iC,IACWljC,KAAKkiC,YAAYhD,kBAAkB9B,eAE3CwD,WAAWpgC,KAAMR,KAAKyiC,MAAM,CAACjnC,IAAK+zB,OAClD,GAAI/zB,IAAK,OAAO0nC,GAAG1nC,KAEnB,GAAI+zB,IAAI3zB,OAAQ,CAEd,GADAoE,KAAK4iC,gBAAkBrT,IAAI3zB,OACvBoE,KAAK4iC,eAAiB5iC,KAAK8+B,aAAe9+B,KAAK8+B,YAAc,EAC/D,OAAOoE,GACLnvB,MACEzK,WACA,6BACA,EACA,KACA,sCAKNtJ,KAAK6iC,WAAW9mC,KAAKwzB,KAGvB,MAAM2U,GAAKlkC,KAAKikC,cAChB,GAAIC,GAAI,OAAOhB,GAAGgB,IAElBlkC,KAAKmjC,UAAUD,OAUnBe,cACE,GAAIjkC,KAAKyiC,KAAM,CACb,MAAM0B,cAAgBnkC,KAAK4iC,eACrBwB,UAAYpkC,KAAK6iC,WAOvB,GALA7iC,KAAK2iC,oBAAsB,EAC3B3iC,KAAK4iC,eAAiB,EACtB5iC,KAAKuiC,YAAc,EACnBviC,KAAK6iC,WAAa,GAEG,IAAjB7iC,KAAK0iC,QAAe,CACtB,IAAIliC,KAGFA,KADuB,eAArBR,KAAKiiC,YACAzjC,OAAO4lC,UAAWD,eACK,gBAArBnkC,KAAKiiC,YACPnH,cAAct8B,OAAO4lC,UAAWD,gBAEhCC,UAGTpkC,KAAKqC,KAAK,UAAW7B,UAChB,CACL,MAAM+uB,IAAM/wB,OAAO4lC,UAAWD,eAE9B,IAAK7U,YAAYC,KAEf,OADAvvB,KAAK+iC,OAAQ,EACNhvB,MACL3X,MACA,0BACA,EACA,KACA,uBAIJ4D,KAAKqC,KAAK,UAAWktB,IAAI5c,aAI7B3S,KAAK8iC,OA1fQ,EAogBfkB,eAAexjC,MACb,GAAqB,IAAjBR,KAAK0iC,QAGP,GAFA1iC,KAAK+iC,OAAQ,EAEO,IAAhBviC,KAAK5E,OACPoE,KAAKqC,KAAK,WAAY,KAAM,IAC5BrC,KAAKiJ,UACA,IAAoB,IAAhBzI,KAAK5E,OACd,OAAOmY,MACLzK,WACA,4BACA,EACA,KACA,yCAEG,CACL,MAAMrN,KAAOuE,KAAKsjC,aAAa,GAE/B,IAAKO,kBAAkBpoC,MACrB,OAAO8X,MACLzK,WACA,uBAAuBrN,QACvB,EACA,KACA,6BAIJ,MAAMszB,IAAM/uB,KAAKpC,MAAM,GAEvB,IAAKkxB,YAAYC,KACf,OAAOxb,MACL3X,MACA,0BACA,EACA,KACA,uBAIJ4D,KAAKqC,KAAK,WAAYpG,KAAMszB,IAAI5c,YAChC3S,KAAKiJ,YAEmB,IAAjBjJ,KAAK0iC,QACd1iC,KAAKqC,KAAK,OAAQ7B,MAElBR,KAAKqC,KAAK,OAAQ7B,MAGpBR,KAAK8iC,OArjBQ,+ECVL,oBAAQ,MACR,oBAAQ,MADpB,MAEM,gBAAqB,oBAAQ,MAE7B5D,kBAAoB,oBAAQ,OAC5B,cAAmB,oBAAQ,OAC3B,mBAAwB,oBAAQ,OAC9B7hC,KAAMinC,UAAS,UAAe,oBAAQ,KAExCjnC,KAAO0U,OAAOG,MAAM,GAK1B,MAAMqoB,OAOJ16B,YAAY0S,OAAQ8T,YAClBrmB,KAAKkiC,YAAc7b,YAAc,GACjCrmB,KAAKukC,QAAUhyB,OAEfvS,KAAKwkC,gBAAiB,EACtBxkC,KAAKghC,WAAY,EAEjBhhC,KAAKmiC,eAAiB,EACtBniC,KAAKykC,YAAa,EAClBzkC,KAAK0kC,OAAS,GAoBhBC,aAAankC,KAAMV,SACjB,MAAM8kC,MAAQ9kC,QAAQzC,MAAQyC,QAAQm7B,SACtC,IAAIz9B,OAASsC,QAAQzC,KAAO,EAAI,EAC5BwnC,cAAgBrkC,KAAK5E,OAErB4E,KAAK5E,QAAU,OACjB4B,QAAU,EACVqnC,cAAgB,KACPrkC,KAAK5E,OAAS,MACvB4B,QAAU,EACVqnC,cAAgB,KAGlB,MAAMjqB,OAAS7I,OAAO4oB,YAAYiK,MAAQpkC,KAAK5E,OAAS4B,OAASA,QAcjE,OAZAod,OAAO,GAAK9a,QAAQ+gC,IAAuB,IAAjB/gC,QAAQglC,OAAgBhlC,QAAQglC,OACtDhlC,QAAQilC,OAAMnqB,OAAO,IAAM,IAE/BA,OAAO,GAAKiqB,cAEU,MAAlBA,cACFjqB,OAAOoqB,cAAcxkC,KAAK5E,OAAQ,GACP,MAAlBipC,gBACTjqB,OAAOqqB,cAAc,EAAG,GACxBrqB,OAAOqqB,cAAczkC,KAAK5E,OAAQ,IAG/BkE,QAAQzC,MAEb6nC,eAAe7nC,KAAM,EAAG,GAExBud,OAAO,IAAM,IACbA,OAAOpd,OAAS,GAAKH,KAAK,GAC1Bud,OAAOpd,OAAS,GAAKH,KAAK,GAC1Bud,OAAOpd,OAAS,GAAKH,KAAK,GAC1Bud,OAAOpd,OAAS,GAAKH,KAAK,GAEtBunC,OACFN,UAAU9jC,KAAMnD,KAAMud,OAAQpd,OAAQgD,KAAK5E,QACpC,CAACgf,UAGV0pB,UAAU9jC,KAAMnD,KAAMmD,KAAM,EAAGA,KAAK5E,QAC7B,CAACgf,OAAQpa,QAhBU,CAACoa,OAAQpa,MA4BrC0M,MAAMjR,KAAMuE,KAAMnD,KAAM6lC,IACtB,IAAI3T,IAEJ,QAAa5tB,IAAT1F,KACFszB,IAAMmL,iBACD,IAAoB,iBAATz+B,OAAsBooC,kBAAkBpoC,MACxD,MAAM,IAAI8C,UAAU,oDACf,QAAa4C,IAATnB,MAA+B,KAATA,KAC/B+uB,IAAMxd,OAAO4oB,YAAY,GACzBpL,IAAIyV,cAAc/oC,KAAM,OACnB,CACL,MAAML,OAASmW,OAAOC,WAAWxR,MAEjC,GAAI5E,OAAS,IACX,MAAM,IAAI0N,WAAW,kDAGvBimB,IAAMxd,OAAO4oB,YAAY,EAAI/+B,QAC7B2zB,IAAIyV,cAAc/oC,KAAM,GACxBszB,IAAInd,MAAM5R,KAAM,IAGdR,KAAKykC,WACPzkC,KAAKmlC,QAAQ,CAACnlC,KAAKolC,QAAS7V,IAAKlyB,KAAM6lC,KAEvCljC,KAAKolC,QAAQ7V,IAAKlyB,KAAM6lC,IAY5BkC,QAAQ5kC,KAAMnD,KAAM6lC,IAClBljC,KAAKqlC,UACH9K,OAAO+K,MAAM9kC,KAAM,CACjBqgC,KAAK,EACLkE,MAAM,EACND,OAAQ,EACRznC,KACA49B,UAAU,IAEZiI,IAYJhwB,KAAK1S,KAAMnD,KAAM6lC,IACf,MAAM3T,IAAMyL,SAASx6B,MAErB,GAAI+uB,IAAI3zB,OAAS,IACf,MAAM,IAAI0N,WAAW,oDAGnBtJ,KAAKykC,WACPzkC,KAAKmlC,QAAQ,CAACnlC,KAAKulC,OAAQhW,IAAKlyB,KAAM29B,SAASC,SAAUiI,KAEzDljC,KAAKulC,OAAOhW,IAAKlyB,KAAM29B,SAASC,SAAUiI,IAa9CqC,OAAO/kC,KAAMnD,KAAM49B,SAAUiI,IAC3BljC,KAAKqlC,UACH9K,OAAO+K,MAAM9kC,KAAM,CACjBqgC,KAAK,EACLkE,MAAM,EACND,OAAQ,EACRznC,KACA49B,WAEFiI,IAYJsC,KAAKhlC,KAAMnD,KAAM6lC,IACf,MAAM3T,IAAMyL,SAASx6B,MAErB,GAAI+uB,IAAI3zB,OAAS,IACf,MAAM,IAAI0N,WAAW,oDAGnBtJ,KAAKykC,WACPzkC,KAAKmlC,QAAQ,CAACnlC,KAAKylC,OAAQlW,IAAKlyB,KAAM29B,SAASC,SAAUiI,KAEzDljC,KAAKylC,OAAOlW,IAAKlyB,KAAM29B,SAASC,SAAUiI,IAa9CuC,OAAOjlC,KAAMnD,KAAM49B,SAAUiI,IAC3BljC,KAAKqlC,UACH9K,OAAO+K,MAAM9kC,KAAM,CACjBqgC,KAAK,EACLkE,MAAM,EACND,OAAQ,GACRznC,KACA49B,WAEFiI,IAoBJlgC,KAAKxC,KAAMV,QAASojC,IAClB,MAAM3T,IAAMyL,SAASx6B,MACfklC,kBAAoB1lC,KAAKkiC,YAAYhD,kBAAkB9B,eAC7D,IAAI0H,OAAShlC,QAAQ6lC,OAAS,EAAI,EAC9BZ,KAAOjlC,QAAQ01B,SAenB,GAbIx1B,KAAKwkC,gBACPxkC,KAAKwkC,gBAAiB,EAClBO,MAAQW,oBACVX,KAAOxV,IAAI3zB,QAAU8pC,kBAAkBpG,YAEzCt/B,KAAKghC,UAAY+D,OAEjBA,MAAO,EACPD,OAAS,GAGPhlC,QAAQ+gC,MAAK7gC,KAAKwkC,gBAAiB,GAEnCkB,kBAAmB,CACrB,MAAM7qC,KAAO,CACXgmC,IAAK/gC,QAAQ+gC,IACbkE,KACAD,OACAznC,KAAMyC,QAAQzC,KACd49B,SAAUD,SAASC,UAGjBj7B,KAAKykC,WACPzkC,KAAKmlC,QAAQ,CAACnlC,KAAK4lC,SAAUrW,IAAKvvB,KAAKghC,UAAWnmC,KAAMqoC,KAExDljC,KAAK4lC,SAASrW,IAAKvvB,KAAKghC,UAAWnmC,KAAMqoC,SAG3CljC,KAAKqlC,UACH9K,OAAO+K,MAAM/V,IAAK,CAChBsR,IAAK/gC,QAAQ+gC,IACbkE,MAAM,EACND,OACAznC,KAAMyC,QAAQzC,KACd49B,SAAUD,SAASC,WAErBiI,IAwBN0C,SAASplC,KAAMg1B,SAAU11B,QAASojC,IAChC,IAAK1N,SAEH,YADAx1B,KAAKqlC,UAAU9K,OAAO+K,MAAM9kC,KAAMV,SAAUojC,IAI9C,MAAMwC,kBAAoB1lC,KAAKkiC,YAAYhD,kBAAkB9B,eAE7Dp9B,KAAKmiC,gBAAkB3hC,KAAK5E,OAC5BoE,KAAKykC,YAAa,EAClBiB,kBAAkBlQ,SAASh1B,KAAMV,QAAQ+gC,KAAK,CAAC1jB,EAAGoS,OAChD,GAAIvvB,KAAKukC,QAAQsB,UAAjB,CACE,MAAMrqC,IAAM,IAAIY,MACd,yDAGgB,mBAAP8mC,IAAmBA,GAAG1nC,KAEjC,IAAK,IAAIP,EAAI,EAAGA,EAAI+E,KAAK0kC,OAAO9oC,OAAQX,IAAK,CAC3C,MAAM6M,SAAW9H,KAAK0kC,OAAOzpC,GAAG,GAER,mBAAb6M,UAAyBA,SAAStM,WAMjDwE,KAAKmiC,gBAAkB3hC,KAAK5E,OAC5BoE,KAAKykC,YAAa,EAClB3kC,QAAQm7B,UAAW,EACnBj7B,KAAKqlC,UAAU9K,OAAO+K,MAAM/V,IAAKzvB,SAAUojC,IAC3CljC,KAAK8lC,aASTA,UACE,MAAQ9lC,KAAKykC,YAAczkC,KAAK0kC,OAAO9oC,QAAQ,CAC7C,MAAMohC,OAASh9B,KAAK0kC,OAAOnoB,QAE3Bvc,KAAKmiC,gBAAkBnF,OAAO,GAAGphC,OACjCmqC,QAAQlqC,MAAMmhC,OAAO,GAAIh9B,KAAMg9B,OAAO5+B,MAAM,KAUhD+mC,QAAQnI,QACNh9B,KAAKmiC,gBAAkBnF,OAAO,GAAGphC,OACjCoE,KAAK0kC,OAAO3oC,KAAKihC,QAUnBqI,UAAU7K,KAAM0I,IACM,IAAhB1I,KAAK5+B,QACPoE,KAAKukC,QAAQyB,OACbhmC,KAAKukC,QAAQnyB,MAAMooB,KAAK,IACxBx6B,KAAKukC,QAAQnyB,MAAMooB,KAAK,GAAI0I,IAC5BljC,KAAKukC,QAAQ0B,UAEbjmC,KAAKukC,QAAQnyB,MAAMooB,KAAK,GAAI0I,KAKlCvoC,OAAOC,QAAU2/B,iFCtZjB,MAAM,QAAa,oBAAQ,MAQ3B,SAAS2L,UAAUC,QACjBA,OAAO9jC,KAAK,SAQd,SAAS+jC,eACFpmC,KAAK6lC,WAAa7lC,KAAKqmC,eAAeC,UACzCtmC,KAAKquB,UAUT,SAASkY,cAAc/qC,KACrBwE,KAAK0R,eAAe,QAAS60B,eAC7BvmC,KAAKquB,UAC+B,IAAhCruB,KAAKwmC,cAAc,UAErBxmC,KAAKqC,KAAK,QAAS7G,KA+IvBb,OAAOC,QAnIP,SAASw/B,sBAAsB/mB,GAAIvT,SACjC,IAAI2mC,uBAAwB,EACxBC,oBAAqB,EAEzB,SAASC,kBACHF,uBAAuBpzB,GAAGkxB,QAAQqC,SAGpCvzB,GAAGwzB,aAAexzB,GAAGyzB,WACvBzzB,GAAGnR,KAAK,QAAQ,SAAS6kC,OACvB1zB,GAAG2zB,UAAUC,mBAAmB,SAChC5zB,GAAG2zB,UAAU3lC,GAAG,QAASslC,qBAG3BtzB,GAAG2zB,UAAUC,mBAAmB,SAChC5zB,GAAG2zB,UAAU3lC,GAAG,QAASslC,kBAG3B,MAAMO,OAAS,IAAIC,OAAO,IACrBrnC,QACHsnC,aAAa,EACblB,WAAW,EACXmB,YAAY,EACZC,oBAAoB,IAyGtB,OAtGAj0B,GAAGhS,GAAG,WAAW,SAASlF,QAAQorC,KAC3BL,OAAOnrC,KAAKwrC,OACfd,uBAAwB,EACxBpzB,GAAGkxB,QAAQtxB,YAIfI,GAAGnR,KAAK,SAAS,SAAS6R,MAAMvY,KAC1B0rC,OAAOrB,YAWXa,oBAAqB,EACrBQ,OAAO7Y,QAAQ7yB,SAGjB6X,GAAGnR,KAAK,SAAS,SAASgL,QACpBg6B,OAAOrB,WAEXqB,OAAOnrC,KAAK,SAGdmrC,OAAOM,SAAW,SAAUhsC,IAAKsM,UAC/B,GAAIuL,GAAGwzB,aAAexzB,GAAGo0B,OAGvB,OAFA3/B,SAAStM,UACT3B,QAAQ6tC,SAASxB,UAAWgB,QAI9B,IAAIS,QAAS,EAEbt0B,GAAGnR,KAAK,SAAS,SAAS6R,MAAMvY,KAC9BmsC,QAAS,EACT7/B,SAAStM,QAGX6X,GAAGnR,KAAK,SAAS,SAASgL,QACnBy6B,QAAQ7/B,SAAStM,KACtB3B,QAAQ6tC,SAASxB,UAAWgB,WAG1BR,oBAAoBrzB,GAAGu0B,aAG7BV,OAAOW,OAAS,SAAU//B,UACpBuL,GAAGwzB,aAAexzB,GAAGyzB,WAWN,OAAfzzB,GAAGkxB,UAEHlxB,GAAGkxB,QAAQ8B,eAAeC,UAC5Bx+B,WACIo/B,OAAO5F,eAAeC,YAAY2F,OAAO7Y,YAE7Chb,GAAGkxB,QAAQriC,KAAK,UAAU,SAAS4lC,SAIjChgC,cAEFuL,GAAGnG,UAtBHmG,GAAGnR,KAAK,QAAQ,SAAS6kC,OACvBG,OAAOW,OAAO//B,cAyBpBo/B,OAAOa,MAAQ,WAEV10B,GAAGwzB,aAAexzB,GAAG20B,MAAQ30B,GAAGwzB,aAAexzB,GAAG40B,SAClDxB,wBAEDA,uBAAwB,EACnBpzB,GAAG2zB,UAAUX,eAAe6B,WAAW70B,GAAGkxB,QAAQqC,WAI3DM,OAAOlE,OAAS,SAAUpE,MAAOqE,SAAUn7B,UACrCuL,GAAGwzB,aAAexzB,GAAGyzB,WAOzBzzB,GAAGrQ,KAAK47B,MAAO92B,UANbuL,GAAGnR,KAAK,QAAQ,SAAS6kC,OACvBG,OAAOlE,OAAOpE,MAAOqE,SAAUn7B,cAQrCo/B,OAAO7lC,GAAG,MAAO+kC,aACjBc,OAAO7lC,GAAG,QAASklC,eACZW,mFCvKT,SAAS7C,kBAAkBpoC,MACzB,OACGA,MAAQ,KACPA,MAAQ,MACC,OAATA,MACS,OAATA,MACS,OAATA,MACDA,MAAQ,KAAQA,MAAQ,KAa7B,SAASksC,aAAa5Y,KACpB,MAAMzd,IAAMyd,IAAI3zB,OAChB,IAAIX,EAAI,EAER,KAAOA,EAAI6W,KACT,GAAwB,IAAV,IAATyd,IAAIt0B,IAEPA,SACK,GAAwB,MAAV,IAATs0B,IAAIt0B,IAAqB,CAEnC,GACEA,EAAI,IAAM6W,KACc,MAAV,IAAbyd,IAAIt0B,EAAI,KACW,MAAV,IAATs0B,IAAIt0B,IAEL,OAAO,EAGTA,GAAK,OACA,GAAwB,MAAV,IAATs0B,IAAIt0B,IAAqB,CAEnC,GACEA,EAAI,GAAK6W,KACe,MAAV,IAAbyd,IAAIt0B,EAAI,KACe,MAAV,IAAbs0B,IAAIt0B,EAAI,KACG,MAAXs0B,IAAIt0B,IAAuC,MAAV,IAAbs0B,IAAIt0B,EAAI,KACjB,MAAXs0B,IAAIt0B,IAAuC,MAAV,IAAbs0B,IAAIt0B,EAAI,IAE7B,OAAO,EAGTA,GAAK,MACA,IAAwB,MAAV,IAATs0B,IAAIt0B,IAgBd,OAAO,EAdP,GACEA,EAAI,GAAK6W,KACe,MAAV,IAAbyd,IAAIt0B,EAAI,KACe,MAAV,IAAbs0B,IAAIt0B,EAAI,KACe,MAAV,IAAbs0B,IAAIt0B,EAAI,KACG,MAAXs0B,IAAIt0B,IAAuC,MAAV,IAAbs0B,IAAIt0B,EAAI,KACjB,MAAXs0B,IAAIt0B,IAAes0B,IAAIt0B,EAAI,GAAK,KACjCs0B,IAAIt0B,GAAK,IAET,OAAO,EAGTA,GAAK,EAMT,OAAO,EAGT,IACE,IAAIq0B,YAAc,oBAAQ,KAGC,iBAAhBA,cACTA,YAAcA,YAAY8Y,WAAW9Y,aAGvC30B,OAAOC,QAAU,CACfypC,kBACA/U,YAAYC,KACHA,IAAI3zB,OAAS,IAAMusC,aAAa5Y,KAAOD,YAAYC,MAG9D,MAAO91B,GACPkB,OAAOC,QAAU,CACfypC,kBACA/U,YAAa6Y,0FCjGjB,MAAM5oC,aAAe,oBAAQ,MACvBg0B,KAAO,oBAAQ,OAIf,aAHQ,oBAAQ,MACV,oBAAQ,MACR,oBAAQ,MACG,oBAAQ,OAEzB2L,kBAAoB,oBAAQ,MAC5B/rB,UAAY,oBAAQ,OACpB,OAAQ,OAAY,oBAAQ,OAC5B,KAAM,YAAiB,oBAAQ,MAE/Bk1B,SAAW,wBAqXjB,SAASnC,UAAUoC,QACjBA,OAAOxF,OAlXM,EAmXbwF,OAAOjmC,KAAK,SAQd,SAASkmC,gBACPvoC,KAAKquB,UAYP,SAASma,eAAej2B,OAAQtW,KAAME,QAAS0E,SACzC0R,OAAOk2B,WACTtsC,QAAUA,SAAWo3B,KAAKmV,aAAazsC,MACvC4E,QAAU,CACR8nC,WAAY,QACZ,eAAgB,YAChB,iBAAkB52B,OAAOC,WAAW7V,YACjC0E,SAGL0R,OAAOH,MACL,YAAYnW,QAAQs3B,KAAKmV,aAAazsC,YACpCnB,OAAOC,KAAK8F,SACT7F,KAAK4tC,GAAM,GAAGA,MAAM/nC,QAAQ+nC,OAC5BvvC,KAAK,QACR,WACA8C,UAINoW,OAAOb,eAAe,QAAS62B,eAC/Bh2B,OAAO8b,UAWT,SAASpS,KAAK6F,KACZ,OAAOA,IAAI7F,OApFbthB,OAAOC,QA9UP,MAAMiuC,wBAAwBtpC,aAuB5BM,YAAYC,QAASgI,UAkBnB,GAjBA/H,QAkBmB,OAhBnBD,QAAU,CACRs/B,WAAY,UACZsG,mBAAmB,EACnBoD,gBAAiB,KACjBC,gBAAgB,EAChBC,aAAc,KACdC,UAAU,EACVC,QAAS,KACTZ,OAAQ,KACRvzB,KAAM,KACN5b,KAAM,KACNma,KAAM,QACHxT,UAIMwT,OAAiBxT,QAAQwoC,SAAWxoC,QAAQmpC,UACpC,MAAhBnpC,QAAQwT,OAAiBxT,QAAQwoC,QAAUxoC,QAAQmpC,WACnDnpC,QAAQwoC,QAAUxoC,QAAQmpC,SAE3B,MAAM,IAAIlqC,UACR,qFAyBJ,GApBoB,MAAhBe,QAAQwT,MACVtT,KAAKmpC,QAAU5V,KAAK6V,cAAa,CAACC,IAAK5R,OACrC,MAAM72B,KAAO2yB,KAAKmV,aAAa,KAE/BjR,IAAI6R,UAAU,IAAK,CACjB,iBAAkB1oC,KAAKhF,OACvB,eAAgB,eAElB67B,IAAIxuB,IAAIrI,SAEVZ,KAAKmpC,QAAQpc,OACXjtB,QAAQwT,KACRxT,QAAQiV,KACRjV,QAAQopC,QACRphC,WAEOhI,QAAQwoC,SACjBtoC,KAAKmpC,QAAUrpC,QAAQwoC,QAGrBtoC,KAAKmpC,QAAS,CAChB,MAAMI,eAAiBvpC,KAAKqC,KAAKd,KAAKvB,KAAM,cAE5CA,KAAKwpC,iBA+QX,SAASC,aAAanB,OAAQttC,KAC5B,IAAK,MAAMiN,SAASnN,OAAOC,KAAKC,KAAMstC,OAAOjnC,GAAG4G,MAAOjN,IAAIiN,QAE3D,OAAO,SAASyhC,kBACd,IAAK,MAAMzhC,SAASnN,OAAOC,KAAKC,KAC9BstC,OAAO52B,eAAezJ,MAAOjN,IAAIiN,SApRTwhC,CAAazpC,KAAKmpC,QAAS,CACjDQ,UAAW3pC,KAAKqC,KAAKd,KAAKvB,KAAM,aAChC+T,MAAO/T,KAAKqC,KAAKd,KAAKvB,KAAM,SAC5B4pC,QAAS,CAACP,IAAK92B,OAAQs3B,QACrB7pC,KAAK8pC,cAAcT,IAAK92B,OAAQs3B,KAAMN,oBAKV,IAA9BzpC,QAAQ4lC,oBAA4B5lC,QAAQ4lC,kBAAoB,IAChE5lC,QAAQipC,iBAAgB/oC,KAAK+pC,QAAU,IAAIvV,KAC/Cx0B,KAAKF,QAAUA,QACfE,KAAK8iC,OAhGO,EA4GdxN,UACE,GAAIt1B,KAAKF,QAAQmpC,SACf,MAAM,IAAI7sC,MAAM,8CAGlB,OAAK4D,KAAKmpC,QACHnpC,KAAKmpC,QAAQ7T,UADM,KAU5BpoB,MAAMg2B,IAGJ,GAFIA,IAAIljC,KAAKkC,KAAK,QAASghC,IA1HhB,IA4HPljC,KAAK8iC,OAEP,YADAjpC,QAAQ6tC,SAASxB,UAAWlmC,MAI9B,GAlIY,IAkIRA,KAAK8iC,OAAoB,OAM7B,GALA9iC,KAAK8iC,OAnIO,EAwIR9iC,KAAK+pC,QACP,IAAK,MAAMj3B,UAAU9S,KAAK+pC,QAASj3B,OAAO80B,YAG5C,MAAMU,OAAStoC,KAAKmpC,QAEhBb,SACFtoC,KAAKwpC,mBACLxpC,KAAKwpC,iBAAmBxpC,KAAKmpC,QAAU,KAKd,MAArBnpC,KAAKF,QAAQwT,MACfg1B,OAAOp7B,MAAMg5B,UAAU3kC,UAAKI,EAAW3B,OAK3CnG,QAAQ6tC,SAASxB,UAAWlmC,MAU9BgqC,aAAaX,KACX,GAAIrpC,KAAKF,QAAQ3G,KAAM,CACrB,MAAM0lB,MAAQwqB,IAAItzB,IAAI/Y,QAAQ,KAG9B,KAF4B,IAAX6hB,MAAewqB,IAAItzB,IAAI3X,MAAM,EAAGygB,OAASwqB,IAAItzB,OAE7C/V,KAAKF,QAAQ3G,KAAM,OAAO,EAG7C,OAAO,EAaT2wC,cAAcT,IAAK92B,OAAQs3B,KAAM3G,IAC/B3wB,OAAOlR,GAAG,QAASknC,eAEnB,MAAMjpC,SACiCqC,IAArC0nC,IAAIxoC,QAAQ,sBACRwoC,IAAIxoC,QAAQ,qBAAqBob,OAEjC1hB,SAAW8uC,IAAIxoC,QAAQ,yBACvBwlB,WAAa,GAEnB,GACiB,QAAfgjB,IAAI9oC,QACkC,cAAtC8oC,IAAIxoC,QAAQ+oC,QAAQptB,gBACnBld,MACA+oC,SAASnsC,KAAKoD,MACF,IAAZ/E,SAA6B,KAAZA,UACjByF,KAAKgqC,aAAaX,KAEnB,OAAOb,eAAej2B,OAAQ,KAGhC,GAAIvS,KAAKF,QAAQ4lC,kBAAmB,CAClC,MAAMA,kBAAoB,IAAIxG,kBAC5Bl/B,KAAKF,QAAQ4lC,mBACb,EACA1lC,KAAKF,QAAQs/B,YAGf,IACE,MAAMjC,OAASvqB,MAAMy2B,IAAIxoC,QAAQ,6BAE7Bs8B,OAAO+B,kBAAkB9B,iBAC3BsI,kBAAkBvF,OAAOhD,OAAO+B,kBAAkB9B,gBAClD/W,WAAW6Y,kBAAkB9B,eAAiBsI,mBAEhD,MAAOlqC,KACP,OAAOgtC,eAAej2B,OAAQ,MAOlC,GAAIvS,KAAKF,QAAQkpC,aAAc,CAC7B,MAAMiB,KAAO,CACX12B,OACE81B,IAAIxoC,QAAQ,IAAe,IAAZtG,QAAgB,uBAAyB,WAC1D2vC,UAAWb,IAAI92B,OAAO43B,aAAcd,IAAI92B,OAAO63B,WAC/Cf,KAGF,GAAyC,IAArCrpC,KAAKF,QAAQkpC,aAAaptC,OAQ5B,YAPAoE,KAAKF,QAAQkpC,aAAaiB,MAAM,CAACI,SAAUpuC,KAAME,QAAS0E,WACxD,IAAKwpC,SACH,OAAO7B,eAAej2B,OAAQtW,MAAQ,IAAKE,QAAS0E,SAGtDb,KAAKsqC,gBAAgBhrC,IAAK+mB,WAAYgjB,IAAK92B,OAAQs3B,KAAM3G,OAK7D,IAAKljC,KAAKF,QAAQkpC,aAAaiB,MAAO,OAAOzB,eAAej2B,OAAQ,KAGtEvS,KAAKsqC,gBAAgBhrC,IAAK+mB,WAAYgjB,IAAK92B,OAAQs3B,KAAM3G,IAgB3DoH,gBAAgBhrC,IAAK+mB,WAAYgjB,IAAK92B,OAAQs3B,KAAM3G,IAIlD,IAAK3wB,OAAOg4B,WAAah4B,OAAOk2B,SAAU,OAAOl2B,OAAO8b,UAExD,GAAI9b,OAAOqpB,YACT,MAAM,IAAIx/B,MACR,6GAKJ,GAAI4D,KAAK8iC,OAzRG,EAyRe,OAAO0F,eAAej2B,OAAQ,KAEzD,MAIM1R,QAAU,CACd,mCACA,qBACA,sBACA,yBARa2pC,WAAW,QACvB5b,OAAOtvB,IAAMo8B,MACb+O,OAAO,aASJp3B,GAAK,IAAIF,UAAU,MACzB,IAAIyC,SAAWyzB,IAAIxoC,QAAQ,0BAoB3B,GAlBI+U,WACFA,SAAWA,SAAS3X,MAAM,KAAKjD,IAAIihB,MAMjCrG,SADE5V,KAAKF,QAAQgpC,gBACJ9oC,KAAKF,QAAQgpC,gBAAgBlzB,SAAUyzB,KAEvCzzB,SAAS,GAGlBA,WACF/U,QAAQ9E,KAAK,2BAA2B6Z,YACxCvC,GAAGq3B,UAAY90B,WAIfyQ,WAAW6Y,kBAAkB9B,eAAgB,CAC/C,MAAMJ,OAAS3W,WAAW6Y,kBAAkB9B,eAAeJ,OACrD1vB,MAAQuvB,OAAO,CACnB,CAACqC,kBAAkB9B,eAAgB,CAACJ,UAEtCn8B,QAAQ9E,KAAK,6BAA6BuR,SAC1C+F,GAAG6uB,YAAc7b,WAMnBrmB,KAAKqC,KAAK,UAAWxB,QAASwoC,KAE9B92B,OAAOH,MAAMvR,QAAQrC,OAAO,QAAQnF,KAAK,SACzCkZ,OAAOb,eAAe,QAAS62B,eAE/Bl1B,GAAGs3B,UAAUp4B,OAAQs3B,KAAM7pC,KAAKF,QAAQs/B,YAEpCp/B,KAAK+pC,UACP/pC,KAAK+pC,QAAQ9L,IAAI5qB,IACjBA,GAAGhS,GAAG,SAAS,IAAMrB,KAAK+pC,QAAQvmC,OAAO6P,OAG3C6vB,GAAG7vB,GAAIg2B,kFCjWX,MAAM9pC,aAAe,oBAAQ,MACvBi0B,MAAQ,oBAAQ,MAChBD,KAAO,oBAAQ,MACfxiB,IAAM,oBAAQ,MACd65B,IAAM,oBAAQ,OACd,YAAa,YAAiB,oBAAQ,OACtC,UAAe,oBAAQ,OACvB,KAAU,oBAAQ,MAElB1L,kBAAoB,oBAAQ,MAC5B5E,SAAW,oBAAQ,MACnBC,OAAS,oBAAQ,OACjB,aACQ,aACA,KACR,YACO,WACD,MAER,oBAAQ,OACN,iBAAkB,qBAA0B,oBAAQ,KACpD,OAAQ,OAAY,oBAAQ,OAC5B,UAAe,oBAAQ,KAEvBsQ,YAAc,CAAC,aAAc,OAAQ,UAAW,UAChDC,iBAAmB,CAAC,EAAG,IAQ7B,MAAM33B,kBAAkB5T,aAQtBM,YAAYy1B,QAAS3f,UAAW7V,SAC9BC,QAEAC,KAAKiiC,YAAcxG,aAAa,GAChCz7B,KAAK+qC,WAAa,KAClB/qC,KAAKk8B,qBAAsB,EAC3Bl8B,KAAKm8B,iBAAkB,EACvBn8B,KAAKgrC,cAAgB,GACrBhrC,KAAKirC,YAAc,KACnBjrC,KAAKkiC,YAAc,GACnBliC,KAAK0qC,UAAY,GACjB1qC,KAAKkrC,YAAc/3B,UAAU2zB,WAC7B9mC,KAAKgnC,UAAY,KACjBhnC,KAAKmrC,QAAU,KACfnrC,KAAKukC,QAAU,KAEC,OAAZjP,SACFt1B,KAAKorC,gBAAkB,EACvBprC,KAAKu/B,WAAY,EACjBv/B,KAAKqrC,WAAa,EAEd/sC,MAAM8W,QAAQO,WAChBA,UAAYA,UAAUtc,KAAK,MACG,iBAAdsc,WAAwC,OAAdA,YAC1C7V,QAAU6V,UACVA,eAAYhU,GAGd2pC,aAAatrC,KAAMs1B,QAAS3f,UAAW7V,UAEvCE,KAAKu/B,WAAY,EAWjByC,iBACF,OAAOhiC,KAAKiiC,YAGVD,eAAW98B,MACRu2B,aAAahkB,SAASvS,QAE3BlF,KAAKiiC,YAAc/8B,KAKflF,KAAKgnC,YAAWhnC,KAAKgnC,UAAU/E,YAAc/8B,OAM/CqmC,qBACF,OAAKvrC,KAAKukC,QAEHvkC,KAAKukC,QAAQ8B,eAAezqC,OAASoE,KAAKmrC,QAAQhJ,eAF/BniC,KAAKorC,gBAQ7B/kB,iBACF,OAAOvrB,OAAOC,KAAKiF,KAAKkiC,aAAa7oC,OAOnCqa,eAKAA,YAAQ8T,WAMRjW,eAKAA,YAAQiW,WAMRhU,cAKAA,WAAOgU,WAMP5T,iBAKAA,cAAU4T,WAKV5R,eACF,OAAO5V,KAAK0qC,UAMV7D,iBACF,OAAO7mC,KAAKkrC,YAMVn1B,UACF,OAAO/V,KAAKsxB,KAYdqZ,UAAUp4B,OAAQs3B,KAAMzK,YACtB,MAAMoM,SAAW,IAAIlR,SACnBt6B,KAAKgiC,WACLhiC,KAAKkiC,YACLliC,KAAKu/B,UACLH,YAGFp/B,KAAKmrC,QAAU,IAAI5Q,OAAOhoB,OAAQvS,KAAKkiC,aACvCliC,KAAKgnC,UAAYwE,SACjBxrC,KAAKukC,QAAUhyB,OAEfi5B,SAAS5P,YAAc57B,KACvBuS,OAAOqpB,YAAc57B,KAErBwrC,SAASnqC,GAAG,WAAYoqC,oBACxBD,SAASnqC,GAAG,QAASslC,iBACrB6E,SAASnqC,GAAG,QAASqqC,iBACrBF,SAASnqC,GAAG,UAAWsqC,mBACvBH,SAASnqC,GAAG,OAAQuqC,gBACpBJ,SAASnqC,GAAG,OAAQwqC,gBAEpBt5B,OAAOvQ,WAAW,GAClBuQ,OAAOu5B,aAEHjC,KAAKjuC,OAAS,GAAG2W,OAAOqK,QAAQitB,MAEpCt3B,OAAOlR,GAAG,QAAS0qC,eACnBx5B,OAAOlR,GAAG,OAAQ2qC,cAClBz5B,OAAOlR,GAAG,MAAO4qC,aACjB15B,OAAOlR,GAAG,QAASknC,eAEnBvoC,KAAKkrC,YAAc/3B,UAAU60B,KAC7BhoC,KAAKqC,KAAK,QAQZ6jC,YACE,IAAKlmC,KAAKukC,QAGR,OAFAvkC,KAAKkrC,YAAc/3B,UAAUs0B,YAC7BznC,KAAKqC,KAAK,QAASrC,KAAK+qC,WAAY/qC,KAAKgrC,eAIvChrC,KAAKkiC,YAAYhD,kBAAkB9B,gBACrCp9B,KAAKkiC,YAAYhD,kBAAkB9B,eAAemD,UAGpDvgC,KAAKgnC,UAAUC,qBACfjnC,KAAKkrC,YAAc/3B,UAAUs0B,OAC7BznC,KAAKqC,KAAK,QAASrC,KAAK+qC,WAAY/qC,KAAKgrC,eAsB3C99B,MAAMjR,KAAMuE,MACV,GAAIR,KAAK6mC,aAAe1zB,UAAUs0B,OAAlC,CACA,GAAIznC,KAAK6mC,aAAe1zB,UAAU2zB,WAAY,CAC5C,MAAMS,IAAM,6DACZ,OAAOiB,eAAexoC,KAAMA,KAAKksC,KAAM3E,KAGrCvnC,KAAK6mC,aAAe1zB,UAAU80B,SAWlCjoC,KAAKkrC,YAAc/3B,UAAU80B,QAC7BjoC,KAAKmrC,QAAQj+B,MAAMjR,KAAMuE,MAAOR,KAAKu/B,WAAY/jC,MAK3CA,MAEJwE,KAAKm8B,iBAAkB,GAGrBn8B,KAAKk8B,qBACLl8B,KAAKgnC,UAAUX,eAAe8F,eAE9BnsC,KAAKukC,QAAQt7B,UAOjBjJ,KAAKirC,YAAcjpC,WACjBhC,KAAKukC,QAAQlW,QAAQ9sB,KAAKvB,KAAKukC,SArRhB,MAsPbvkC,KAAKm8B,kBACJn8B,KAAKk8B,qBAAuBl8B,KAAKgnC,UAAUX,eAAe8F,eAE3DnsC,KAAKukC,QAAQt7B,OAyCnBiK,KAAK1S,KAAMnD,KAAM6lC,IACf,GAAIljC,KAAK6mC,aAAe1zB,UAAU2zB,WAChC,MAAM,IAAI1qC,MAAM,oDAGE,mBAAToE,MACT0iC,GAAK1iC,KACLA,KAAOnD,UAAOsE,GACW,mBAATtE,OAChB6lC,GAAK7lC,KACLA,UAAOsE,GAGW,iBAATnB,OAAmBA,KAAOA,KAAKmS,YAEtC3S,KAAK6mC,aAAe1zB,UAAU60B,WAKrBrmC,IAATtE,OAAoBA,MAAQ2C,KAAKu/B,WACrCv/B,KAAKmrC,QAAQj4B,KAAK1S,MAAQk6B,aAAcr9B,KAAM6lC,KAL5CkJ,eAAepsC,KAAMQ,KAAM0iC,IAgB/BsC,KAAKhlC,KAAMnD,KAAM6lC,IACf,GAAIljC,KAAK6mC,aAAe1zB,UAAU2zB,WAChC,MAAM,IAAI1qC,MAAM,oDAGE,mBAAToE,MACT0iC,GAAK1iC,KACLA,KAAOnD,UAAOsE,GACW,mBAATtE,OAChB6lC,GAAK7lC,KACLA,UAAOsE,GAGW,iBAATnB,OAAmBA,KAAOA,KAAKmS,YAEtC3S,KAAK6mC,aAAe1zB,UAAU60B,WAKrBrmC,IAATtE,OAAoBA,MAAQ2C,KAAKu/B,WACrCv/B,KAAKmrC,QAAQ3F,KAAKhlC,MAAQk6B,aAAcr9B,KAAM6lC,KAL5CkJ,eAAepsC,KAAMQ,KAAM0iC,IAuB/BlgC,KAAKxC,KAAMV,QAASojC,IAClB,GAAIljC,KAAK6mC,aAAe1zB,UAAU2zB,WAChC,MAAM,IAAI1qC,MAAM,oDAUlB,GAPuB,mBAAZ0D,UACTojC,GAAKpjC,QACLA,QAAU,IAGQ,iBAATU,OAAmBA,KAAOA,KAAKmS,YAEtC3S,KAAK6mC,aAAe1zB,UAAU60B,KAEhC,YADAoE,eAAepsC,KAAMQ,KAAM0iC,IAI7B,MAAMroC,KAAO,CACX8qC,OAAwB,iBAATnlC,KACfnD,MAAO2C,KAAKu/B,UACZ/J,UAAU,EACVqL,KAAK,KACF/gC,SAGAE,KAAKkiC,YAAYhD,kBAAkB9B,iBACtCviC,KAAK26B,UAAW,GAGlBx1B,KAAKmrC,QAAQnoC,KAAKxC,MAAQk6B,aAAc7/B,KAAMqoC,IAQhD0E,YACE,GAAI5nC,KAAK6mC,aAAe1zB,UAAUs0B,OAAlC,CACA,GAAIznC,KAAK6mC,aAAe1zB,UAAU2zB,WAAY,CAC5C,MAAMS,IAAM,6DACZ,OAAOiB,eAAexoC,KAAMA,KAAKksC,KAAM3E,KAGrCvnC,KAAKukC,UACPvkC,KAAKkrC,YAAc/3B,UAAU80B,QAC7BjoC,KAAKukC,QAAQlW,aAgJnB,SAASid,aAAax6B,UAAWwkB,QAAS3f,UAAW7V,SACnD,MAAMjF,KAAO,CACXwxC,gBAAiBvB,iBAAiB,GAClC1L,WAAY,UACZsG,mBAAmB,EACnB4G,iBAAiB,EACjBC,aAAc,MACXzsC,QACH2R,sBAAkB9P,EAClB6qC,gBAAY7qC,EACZ2b,cAAU3b,EACViU,cAAUjU,EACVI,aAASJ,EACTpB,YAAQoB,EACRoT,UAAMpT,EACNxI,UAAMwI,EACN2R,UAAM3R,GAGR,IAAKmpC,iBAAiBrzB,SAAS5c,KAAKwxC,iBAClC,MAAM,IAAI/iC,WACR,iCAAiCzO,KAAKwxC,wCACZvB,iBAAiBzxC,KAAK,UAIpD,IAAIozC,UAEAnX,mBAAmBtY,KACrByvB,UAAYnX,QACZxkB,UAAUwgB,KAAOgE,QAAQzf,OAEzB42B,UAAY,IAAIzvB,IAAIsY,SACpBxkB,UAAUwgB,KAAOgE,SAGnB,MAAMoX,aAAsC,aAAvBD,UAAU72B,SAE/B,KAAK62B,UAAU13B,MAAU23B,cAAiBD,UAAUr2B,UAAW,CAC7D,MAAM5a,IAAM,IAAIY,MAAM,gBAAgB0U,UAAUiF,OAEhD,GAA6B,IAAzBjF,UAAUu6B,WACZ,MAAM7vC,IAGN,YADAmxC,kBAAkB77B,UAAWtV,KAKjC,MAAMoxC,SACmB,SAAvBH,UAAU72B,UAA8C,WAAvB62B,UAAU72B,SACvCijB,YAAc+T,SAAW,IAAM,GAC/BttC,IAAMutC,YAAY,IAAIl6B,SAAS,UAC/BpP,IAAMqpC,SAAWpZ,MAAMjwB,IAAMgwB,KAAKhwB,IACxC,IAAImiC,kBA0CJ,GAxCA7qC,KAAK4W,iBAAmBm7B,SAAWE,WAAaC,WAChDlyC,KAAKg+B,YAAch+B,KAAKg+B,aAAeA,YACvCh+B,KAAKyY,KAAOm5B,UAAUn5B,MAAQulB,YAC9Bh+B,KAAKka,KAAO03B,UAAUnvB,SAASlG,WAAW,KACtCq1B,UAAUnvB,SAASlf,MAAM,GAAI,GAC7BquC,UAAUnvB,SACdziB,KAAKgG,QAAU,CACb,wBAAyBhG,KAAKwxC,gBAC9B,oBAAqB/sC,IACrBqpC,WAAY,UACZqE,QAAS,eACNnyC,KAAKgG,SAEVhG,KAAK1B,KAAOszC,UAAUr2B,SAAWq2B,UAAUjvB,OAC3C3iB,KAAKkH,QAAUlH,KAAKoyC,iBAEhBpyC,KAAK6qC,oBACPA,kBAAoB,IAAIxG,mBACK,IAA3BrkC,KAAK6qC,kBAA6B7qC,KAAK6qC,kBAAoB,IAC3D,EACA7qC,KAAKukC,YAEPvkC,KAAKgG,QAAQ,4BAA8Bg8B,OAAO,CAChD,CAACqC,kBAAkB9B,eAAgBsI,kBAAkBhG,WAGrD/pB,YACF9a,KAAKgG,QAAQ,0BAA4B8U,WAEvC9a,KAAK0Y,SACH1Y,KAAKwxC,gBAAkB,GACzBxxC,KAAKgG,QAAQ,wBAA0BhG,KAAK0Y,OAE5C1Y,KAAKgG,QAAQqsC,OAASryC,KAAK0Y,SAG3Bk5B,UAAUxvB,UAAYwvB,UAAUvvB,YAClCriB,KAAKsyC,KAAO,GAAGV,UAAUxvB,YAAYwvB,UAAUvvB,YAG7CwvB,aAAc,CAChB,MAAM1uB,MAAQnjB,KAAK1B,KAAK8E,MAAM,KAE9BpD,KAAK2xC,WAAaxuB,MAAM,GACxBnjB,KAAK1B,KAAO6kB,MAAM,GAGpB,IAAIqrB,IAAOv4B,UAAUo7B,KAAO3oC,IAAI1I,MAE5BA,KAAKkH,SACPsnC,IAAIhoC,GAAG,WAAW,KAChBmnC,eAAe13B,UAAWu4B,IAAK,sCAInCA,IAAIhoC,GAAG,SAAU7F,MACH,OAAR6tC,KAAgBA,IAAI+D,UAExB/D,IAAMv4B,UAAUo7B,KAAO,KACvBS,kBAAkB77B,UAAWtV,SAG/B6tC,IAAIhoC,GAAG,YAAao2B,MAClB,MAAM4V,SAAW5V,IAAI52B,QAAQwsC,SACvBxL,WAAapK,IAAIoK,WAEvB,GACEwL,UACAxyC,KAAKyxC,iBACLzK,YAAc,KACdA,WAAa,IACb,CACA,KAAM/wB,UAAUu6B,WAAaxwC,KAAK0xC,aAEhC,YADA/D,eAAe13B,UAAWu4B,IAAK,8BAMjC,IAAIiE,KAFJjE,IAAIkE,QAIJ,IACED,KAAO,IAAItwB,IAAIqwB,SAAU/X,SACzB,MAAO95B,KAEP,YADAmxC,kBAAkB77B,UAAWtV,KAI/B8vC,aAAax6B,UAAWw8B,KAAM33B,UAAW7V,cAC/BgR,UAAUzO,KAAK,sBAAuBgnC,IAAK5R,MACrD+Q,eACE13B,UACAu4B,IACA,+BAA+B5R,IAAIoK,iBAKzCwH,IAAIhoC,GAAG,WAAW,CAACo2B,IAAKllB,OAAQs3B,QAO9B,GANA/4B,UAAUzO,KAAK,UAAWo1B,KAMtB3mB,UAAU+1B,aAAe1zB,UAAU2zB,WAAY,OAEnDuC,IAAMv4B,UAAUo7B,KAAO,KAEvB,MAAMzB,OAASD,WAAW,QACvB5b,OAAOtvB,IAAMo8B,MACb+O,OAAO,UAEV,GAAIhT,IAAI52B,QAAQ,0BAA4B4pC,OAE1C,YADAjC,eAAe13B,UAAWyB,OAAQ,uCAIpC,MAAMi7B,WAAa/V,IAAI52B,QAAQ,0BACzB4sC,UAAY93B,WAAa,IAAI1X,MAAM,OACzC,IAAIyvC,UAUJ,IARK/3B,WAAa63B,WAChBE,UAAY,mDACH/3B,YAAc63B,WACvBE,UAAY,6BACHF,aAAeC,SAASh2B,SAAS+1B,cAC1CE,UAAY,sCAGVA,UAEF,YADAlF,eAAe13B,UAAWyB,OAAQm7B,WAIhCF,aAAY18B,UAAU45B,UAAY8C,YAEtC,MAAMG,uBAAyBlW,IAAI52B,QAAQ,4BAE3C,QAA+Bc,IAA3BgsC,uBAAsC,CACxC,IAAKjI,kBAAmB,CAKtB,YADA8C,eAAe13B,UAAWyB,OAFxB,gFAMJ,IAAI8T,WAEJ,IACEA,WAAazT,MAAM+6B,wBACnB,MAAOnyC,KAGP,YADAgtC,eAAe13B,UAAWyB,OADV,2CAKlB,MAAMq7B,eAAiB9yC,OAAOC,KAAKsrB,YAEnC,GAAIunB,eAAehyC,OAAQ,CACzB,GAC4B,IAA1BgyC,eAAehyC,QACfgyC,eAAe,KAAO1O,kBAAkB9B,cACxC,CAIA,YADAoL,eAAe13B,UAAWyB,OADxB,wDAKJ,IACEmzB,kBAAkBvF,OAAO9Z,WAAW6Y,kBAAkB9B,gBACtD,MAAO5hC,KAGP,YADAgtC,eAAe13B,UAAWyB,OADV,2CAKlBzB,UAAUoxB,YAAYhD,kBAAkB9B,eACtCsI,mBAIN50B,UAAU65B,UAAUp4B,OAAQs3B,KAAMhvC,KAAKukC,eAW3C,SAASuN,kBAAkB77B,UAAWtV,KACpCsV,UAAUo6B,YAAc/3B,UAAU80B,QAClCn3B,UAAUzO,KAAK,QAAS7G,KACxBsV,UAAUo1B,YAUZ,SAAS6G,WAAWjtC,SAElB,OADAA,QAAQ3G,KAAO2G,QAAQ0sC,WAChBz7B,IAAInP,QAAQ9B,SAUrB,SAASgtC,WAAWhtC,SAOlB,OANAA,QAAQ3G,UAAOwI,EAEV7B,QAAQ+tC,YAAqC,KAAvB/tC,QAAQ+tC,aACjC/tC,QAAQ+tC,WAAa98B,IAAI+8B,KAAKhuC,QAAQiV,MAAQ,GAAKjV,QAAQiV,MAGtD61B,IAAIhpC,QAAQ9B,SAYrB,SAAS0oC,eAAe13B,UAAWq1B,OAAQhqC,SACzC2U,UAAUo6B,YAAc/3B,UAAU80B,QAElC,MAAMzsC,IAAM,IAAIY,MAAMD,SACtBC,MAAMW,kBAAkBvB,IAAKgtC,gBAEzBrC,OAAO4H,WACT5H,OAAOoH,QAEHpH,OAAO5zB,SAAW4zB,OAAO5zB,OAAOszB,WAMlCM,OAAO5zB,OAAO8b,UAGhB8X,OAAOjkC,KAAK,QAAS4O,UAAUo1B,UAAU3kC,KAAKuP,YAC9CA,UAAUzO,KAAK,QAAS7G,OAExB2qC,OAAO9X,QAAQ7yB,KACf2qC,OAAOjkC,KAAK,QAAS4O,UAAUzO,KAAKd,KAAKuP,UAAW,UACpDq1B,OAAOjkC,KAAK,QAAS4O,UAAUo1B,UAAU3kC,KAAKuP,aAalD,SAASs7B,eAAet7B,UAAWtQ,KAAM0iC,IACvC,GAAI1iC,KAAM,CACR,MAAM5E,OAASo/B,SAASx6B,MAAM5E,OAQ1BkV,UAAUyzB,QAASzzB,UAAUq6B,QAAQhJ,gBAAkBvmC,OACtDkV,UAAUs6B,iBAAmBxvC,OAGpC,GAAIsnC,GAAI,CAKNA,GAJY,IAAI9mC,MACd,qCAAqC0U,UAAU+1B,eACzCgE,YAAY/5B,UAAU+1B,kBAalC,SAAS4E,mBAAmBxvC,KAAMggC,QAChC,MAAMnrB,UAAY9Q,KAAK47B,YAEvB9qB,UAAUorB,qBAAsB,EAChCprB,UAAUk6B,cAAgB/O,OAC1BnrB,UAAUi6B,WAAa9uC,UAEe0F,IAAlCmP,UAAUyzB,QAAQ3I,cAEtB9qB,UAAUyzB,QAAQ7yB,eAAe,OAAQs6B,cACzCnyC,QAAQ6tC,SAASd,OAAQ91B,UAAUyzB,SAEtB,OAATtoC,KAAe6U,UAAU5D,QACxB4D,UAAU5D,MAAMjR,KAAMggC,SAQ7B,SAAS0K,kBACP3mC,KAAK47B,YAAY2I,QAAQqC,SAS3B,SAAS8E,gBAAgBlwC,KACvB,MAAMsV,UAAY9Q,KAAK47B,iBAEej6B,IAAlCmP,UAAUyzB,QAAQ3I,cACpB9qB,UAAUyzB,QAAQ7yB,eAAe,OAAQs6B,cAMzCnyC,QAAQ6tC,SAASd,OAAQ91B,UAAUyzB,SAEnCzzB,UAAU5D,MAAM1R,IAAImgC,eAGtB7qB,UAAUzO,KAAK,QAAS7G,KAQ1B,SAASwyC,mBACPhuC,KAAK47B,YAAYsK,YASnB,SAASyF,kBAAkBnrC,MACzBR,KAAK47B,YAAYv5B,KAAK,UAAW7B,MASnC,SAASorC,eAAeprC,MACtB,MAAMsQ,UAAY9Q,KAAK47B,YAEvB9qB,UAAU00B,KAAKhlC,MAAOsQ,UAAUyuB,UAAW1D,MAC3C/qB,UAAUzO,KAAK,OAAQ7B,MASzB,SAASqrC,eAAerrC,MACtBR,KAAK47B,YAAYv5B,KAAK,OAAQ7B,MAShC,SAASomC,OAAOT,QACdA,OAAOS,SAQT,SAASmF,gBACP,MAAMj7B,UAAY9Q,KAAK47B,YAQvB,IAAIgD,MANJ5+B,KAAK0R,eAAe,QAASq6B,eAC7B/rC,KAAK0R,eAAe,OAAQs6B,cAC5BhsC,KAAK0R,eAAe,MAAOu6B,aAE3Bn7B,UAAUo6B,YAAc/3B,UAAU80B,QAc/BjoC,KAAKshC,eAAeC,YACpBzwB,UAAUorB,qBACVprB,UAAUk2B,UAAUX,eAAe8F,cACG,QAAtCvN,MAAQ9tB,UAAUyzB,QAAQ/xB,SAE3B1B,UAAUk2B,UAAU50B,MAAMwsB,OAG5B9tB,UAAUk2B,UAAU/9B,MAEpBjJ,KAAK47B,iBAAcj6B,EAEnBQ,aAAa2O,UAAUm6B,aAGrBn6B,UAAUk2B,UAAUX,eAAeC,UACnCx1B,UAAUk2B,UAAUX,eAAe8F,aAEnCr7B,UAAUo1B,aAEVp1B,UAAUk2B,UAAU3lC,GAAG,QAAS2sC,kBAChCl9B,UAAUk2B,UAAU3lC,GAAG,SAAU2sC,mBAUrC,SAAShC,aAAapN,OACf5+B,KAAK47B,YAAYoL,UAAU50B,MAAMwsB,QACpC5+B,KAAKiT,QAST,SAASg5B,cACP,MAAMn7B,UAAY9Q,KAAK47B,YAEvB9qB,UAAUo6B,YAAc/3B,UAAU80B,QAClCn3B,UAAUk2B,UAAU/9B,MACpBjJ,KAAKiJ,MAQP,SAASs/B,gBACP,MAAMz3B,UAAY9Q,KAAK47B,YAEvB57B,KAAK0R,eAAe,QAAS62B,eAC7BvoC,KAAKqB,GAAG,QAASw6B,MAEb/qB,YACFA,UAAUo6B,YAAc/3B,UAAU80B,QAClCjoC,KAAKquB,WA9qBTvzB,OAAO23B,eAAetf,UAAW,aAAc,CAC7Cuf,YAAY,EACZplB,MAAOu9B,YAAY7tC,QAAQ,gBAO7BlC,OAAO23B,eAAetf,UAAU5U,UAAW,aAAc,CACvDm0B,YAAY,EACZplB,MAAOu9B,YAAY7tC,QAAQ,gBAO7BlC,OAAO23B,eAAetf,UAAW,OAAQ,CACvCuf,YAAY,EACZplB,MAAOu9B,YAAY7tC,QAAQ,UAO7BlC,OAAO23B,eAAetf,UAAU5U,UAAW,OAAQ,CACjDm0B,YAAY,EACZplB,MAAOu9B,YAAY7tC,QAAQ,UAO7BlC,OAAO23B,eAAetf,UAAW,UAAW,CAC1Cuf,YAAY,EACZplB,MAAOu9B,YAAY7tC,QAAQ,aAO7BlC,OAAO23B,eAAetf,UAAU5U,UAAW,UAAW,CACpDm0B,YAAY,EACZplB,MAAOu9B,YAAY7tC,QAAQ,aAO7BlC,OAAO23B,eAAetf,UAAW,SAAU,CACzCuf,YAAY,EACZplB,MAAOu9B,YAAY7tC,QAAQ,YAO7BlC,OAAO23B,eAAetf,UAAU5U,UAAW,SAAU,CACnDm0B,YAAY,EACZplB,MAAOu9B,YAAY7tC,QAAQ,YAG7B,CACE,aACA,iBACA,aACA,WACA,aACA,OACAoF,SAAS6rC,WACTnzC,OAAO23B,eAAetf,UAAU5U,UAAW0vC,SAAU,CAAEvb,YAAY,OAOrE,CAAC,OAAQ,QAAS,QAAS,WAAWtwB,SAAS7B,SAC7CzF,OAAO23B,eAAetf,UAAU5U,UAAW,KAAKgC,SAAU,CACxDmyB,YAAY,EACZnvB,MACE,MAAMskB,UAAY7nB,KAAK6nB,UAAUtnB,QACjC,IAAK,IAAItF,EAAI,EAAGA,EAAI4sB,UAAUjsB,OAAQX,IACpC,GAAI4sB,UAAU5sB,GAAGuhC,UAAW,OAAO3U,UAAU5sB,GAAGuhC,WAKpDv5B,IAAIukB,UACF,MAAMK,UAAY7nB,KAAK6nB,UAAUtnB,QACjC,IAAK,IAAItF,EAAI,EAAGA,EAAI4sB,UAAUjsB,OAAQX,IAIhC4sB,UAAU5sB,GAAGuhC,WAAWx8B,KAAK0R,eAAenR,OAAQsnB,UAAU5sB,IAEpE+E,KAAKu8B,iBAAiBh8B,OAAQinB,gBAKpCrU,UAAU5U,UAAUg+B,iBAAmBA,iBACvCppB,UAAU5U,UAAUk+B,oBAAsBA,oBAE1C9hC,OAAOC,QAAUuY,sCC5iBjBxY,OAAOC,QAAUopB,QAAQ,sCCAzBrpB,OAAOC,QAAUopB,QAAQ,sCCAzBrpB,OAAOC,QAAUopB,QAAQ,kCCAzBrpB,OAAOC,QAAUopB,QAAQ,oCCAzBrpB,OAAOC,QAAUopB,QAAQ,qCCAzBrpB,OAAOC,QAAUopB,QAAQ,mCCAzBrpB,OAAOC,QAAUopB,QAAQ,kCCAzBrpB,OAAOC,QAAUopB,QAAQ,oCCAzBrpB,OAAOC,QAAUopB,QAAQ,wCCAzBrpB,OAAOC,QAAUopB,QAAQ,sCCAzBrpB,OAAOC,QAAUopB,QAAQ,sCCAzBrpB,OAAOC,QAAUopB,QAAQ,mCCAzBrpB,OAAOC,QAAUopB,QAAQ,mCCAzBrpB,OAAOC,QAAUopB,QAAQ,srBCUzB,MAAMkqB,SAAW,6CAEXC,OAAS7vB,OAAO,UAChB8vB,KAAO9vB,OAAO,QAEpB,MAAM+vB,KACLxuC,cACCG,KAAKouC,MAAQ,GAEb,MAAME,UAAY5vB,UAAU,GACtB5e,QAAU4e,UAAU,GAEpB6vB,QAAU,GAChB,IAAIrkC,KAAO,EAEX,GAAIokC,UAAW,CACd,MAAMjyC,EAAIiyC,UACJ1yC,OAASuiB,OAAO9hB,EAAET,QACxB,IAAK,IAAIX,EAAI,EAAGA,EAAIW,OAAQX,IAAK,CAChC,MAAMuzC,QAAUnyC,EAAEpB,GAClB,IAAIyC,OAEHA,OADG8wC,mBAAmBz8B,OACby8B,QACCrT,YAAYE,OAAOmT,SACpBz8B,OAAOqpB,KAAKoT,QAAQ9wC,OAAQ8wC,QAAQzT,WAAYyT,QAAQx8B,YACvDw8B,mBAAmBrT,YACpBppB,OAAOqpB,KAAKoT,SACXA,mBAAmBH,KACpBG,QAAQL,QAERp8B,OAAOqpB,KAAwB,iBAAZoT,QAAuBA,QAAUhrB,OAAOgrB,UAErEtkC,MAAQxM,OAAO9B,OACf2yC,QAAQxyC,KAAK2B,SAIfsC,KAAKmuC,QAAUp8B,OAAOvT,OAAO+vC,SAE7B,IAAIrpC,KAAOpF,cAA4B6B,IAAjB7B,QAAQoF,MAAsBse,OAAO1jB,QAAQoF,MAAMsX,cACrEtX,OAAS,mBAAmBhJ,KAAKgJ,QACpClF,KAAKouC,MAAQlpC,MAGXgF,WACH,OAAOlK,KAAKmuC,QAAQvyC,OAEjBsJ,WACH,OAAOlF,KAAKouC,MAEbvhB,OACC,OAAOhrB,QAAQ7F,QAAQgE,KAAKmuC,QAAQx7B,YAErC87B,cACC,MAAMlf,IAAMvvB,KAAKmuC,QACXO,GAAKnf,IAAI7xB,OAAOU,MAAMmxB,IAAIwL,WAAYxL,IAAIwL,WAAaxL,IAAIvd,YACjE,OAAOnQ,QAAQ7F,QAAQ0yC,IAExBvI,SACC,MAAMoE,SAAW,IAAI2D,SAIrB,OAHA3D,SAASxC,MAAQ,aACjBwC,SAASxuC,KAAKiE,KAAKmuC,SACnB5D,SAASxuC,KAAK,MACPwuC,SAER53B,WACC,MAAO,gBAERvU,QACC,MAAM8L,KAAOlK,KAAKkK,KAEZlB,MAAQ0V,UAAU,GAClBzV,IAAMyV,UAAU,GACtB,IAAIiwB,cAAeC,YAElBD,mBADahtC,IAAVqH,MACa,EACNA,MAAQ,EACFG,KAAK0lC,IAAI3kC,KAAOlB,MAAO,GAEvBG,KAAK2lC,IAAI9lC,MAAOkB,MAGhC0kC,iBADWjtC,IAARsH,IACWiB,KACJjB,IAAM,EACFE,KAAK0lC,IAAI3kC,KAAOjB,IAAK,GAErBE,KAAK2lC,IAAI7lC,IAAKiB,MAE7B,MAAM6kC,KAAO5lC,KAAK0lC,IAAID,YAAcD,cAAe,GAG7CK,aADShvC,KAAKmuC,QACQ/vC,MAAMuwC,cAAeA,cAAgBI,MAC3DE,KAAO,IAAIZ,KAAK,GAAI,CAAEnpC,KAAMwZ,UAAU,KAE5C,OADAuwB,KAAKd,QAAUa,aACRC,MA+BT,SAASC,WAAW/yC,QAAS+I,KAAMiqC,aACjC/yC,MAAMqC,KAAKuB,KAAM7D,SAEjB6D,KAAK7D,QAAUA,QACf6D,KAAKkF,KAAOA,KAGRiqC,cACFnvC,KAAK/D,KAAO+D,KAAKovC,MAAQD,YAAYlzC,MAIvCG,MAAMW,kBAAkBiD,KAAMA,KAAKH,aAOrC,IAAIwvC,QA9CJv0C,OAAOw0C,iBAAiBjB,KAAK9vC,UAAW,CACvC2L,KAAM,CAAEwoB,YAAY,GACpBxtB,KAAM,CAAEwtB,YAAY,GACpBt0B,MAAO,CAAEs0B,YAAY,KAGtB53B,OAAO23B,eAAe4b,KAAK9vC,UAAW+f,OAAOixB,YAAa,CACzDjiC,MAAO,OACPm7B,UAAU,EACV/V,YAAY,EACZC,cAAc,IAgCfuc,WAAW3wC,UAAYzD,OAAOgjB,OAAO1hB,MAAMmC,WAC3C2wC,WAAW3wC,UAAUsB,YAAcqvC,WACnCA,WAAW3wC,UAAU8X,KAAO,aAG5B,IACCg5B,QAAUrrB,QAAQ,YAAYqrB,QAC7B,MAAO51C,IAET,MAAM+1C,UAAYlxB,OAAO,kBAGnBmxB,YAAc,gDAWpB,SAASC,KAAK9uC,MACb,IAAI+uC,MAAQ3vC,KAER4vC,KAAOlxB,UAAU9iB,OAAS,QAAsB+F,IAAjB+c,UAAU,GAAmBA,UAAU,GAAK,GAC3EmxB,UAAYD,KAAK1lC,KAErB,IAAIA,UAAqBvI,IAAdkuC,UAA0B,EAAIA,UACzC,IAAIC,aAAeF,KAAK7tC,QACxB,IAAIA,aAA2BJ,IAAjBmuC,aAA6B,EAAIA,aAEnC,MAARlvC,KAEHA,KAAO,KACGmvC,kBAAkBnvC,MAE5BA,KAAOmR,OAAOqpB,KAAKx6B,KAAK+R,YACdq9B,OAAOpvC,OAAkBmR,OAAOmpB,SAASt6B,QAA2D,yBAAzC9F,OAAOyD,UAAUoU,SAASlU,KAAKmC,MAEpGA,KAAOmR,OAAOqpB,KAAKx6B,MACTu6B,YAAYE,OAAOz6B,MAE7BA,KAAOmR,OAAOqpB,KAAKx6B,KAAKlD,OAAQkD,KAAKm6B,WAAYn6B,KAAKoR,YAC5CpR,gBAAgB,sCAG1BA,KAAOmR,OAAOqpB,KAAK5X,OAAO5iB,SAE3BZ,KAAKwvC,WAAa,CACjB5uC,KACAqvC,WAAW,EACXl8B,MAAO,MAER/T,KAAKkK,KAAOA,KACZlK,KAAK+B,QAAUA,QAEXnB,gBAAgB,qCACnBA,KAAKS,GAAG,SAAS,SAAU7F,KAC1B,MAAMuY,MAAqB,eAAbvY,IAAI6a,KAAwB7a,IAAM,IAAI0zC,WAAW,+CAA+CS,MAAM55B,QAAQva,IAAIW,UAAW,SAAUX,KACrJm0C,MAAMH,WAAWz7B,MAAQA,SA0H5B,SAASm8B,cACR,IAAIC,OAASnwC,KAEb,GAAIA,KAAKwvC,WAAWS,UACnB,OAAOP,KAAK7tC,QAAQC,OAAO,IAAI/C,UAAU,0BAA0BiB,KAAK+V,QAKzE,GAFA/V,KAAKwvC,WAAWS,WAAY,EAExBjwC,KAAKwvC,WAAWz7B,MACnB,OAAO27B,KAAK7tC,QAAQC,OAAO9B,KAAKwvC,WAAWz7B,OAG5C,IAAInT,KAAOZ,KAAKY,KAGhB,GAAa,OAATA,KACH,OAAO8uC,KAAK7tC,QAAQ7F,QAAQ+V,OAAOG,MAAM,IAS1C,GALI89B,OAAOpvC,QACVA,KAAOA,KAAKulC,UAITp0B,OAAOmpB,SAASt6B,MACnB,OAAO8uC,KAAK7tC,QAAQ7F,QAAQ4E,MAI7B,KAAMA,gBAAgB,qCACrB,OAAO8uC,KAAK7tC,QAAQ7F,QAAQ+V,OAAOG,MAAM,IAK1C,IAAIk+B,MAAQ,GACRC,WAAa,EACb9C,OAAQ,EAEZ,OAAO,IAAImC,KAAK7tC,SAAQ,SAAU7F,QAAS8F,QAC1C,IAAIwuC,WAGAH,OAAOpuC,UACVuuC,WAAatuC,YAAW,WACvBurC,OAAQ,EACRzrC,OAAO,IAAIotC,WAAW,0CAA0CiB,OAAOp6B,aAAao6B,OAAOpuC,aAAc,mBACvGouC,OAAOpuC,UAIXnB,KAAKS,GAAG,SAAS,SAAU7F,KACT,eAAbA,IAAI6a,MAEPk3B,OAAQ,EACRzrC,OAAOtG,MAGPsG,OAAO,IAAIotC,WAAW,+CAA+CiB,OAAOp6B,QAAQva,IAAIW,UAAW,SAAUX,SAI/GoF,KAAKS,GAAG,QAAQ,SAAUu9B,OACzB,IAAI2O,OAAmB,OAAV3O,MAAb,CAIA,GAAIuR,OAAOjmC,MAAQmmC,WAAazR,MAAMhjC,OAASu0C,OAAOjmC,KAGrD,OAFAqjC,OAAQ,OACRzrC,OAAO,IAAIotC,WAAW,mBAAmBiB,OAAOp6B,mBAAmBo6B,OAAOjmC,OAAQ,aAInFmmC,YAAczR,MAAMhjC,OACpBw0C,MAAMr0C,KAAK6iC,WAGZh+B,KAAKS,GAAG,OAAO,WACd,IAAIksC,MAAJ,CAIAprC,aAAamuC,YAEb,IACCt0C,QAAQ+V,OAAOvT,OAAO4xC,MAAOC,aAC5B,MAAO70C,KAERsG,OAAO,IAAIotC,WAAW,kDAAkDiB,OAAOp6B,QAAQva,IAAIW,UAAW,SAAUX,cA8EpH,SAASu0C,kBAAkB/6B,KAE1B,MAAmB,iBAARA,KAA0C,mBAAfA,IAAIu7B,QAA+C,mBAAfv7B,IAAIxR,QAA4C,mBAAZwR,IAAIzR,KAA4C,mBAAfyR,IAAIw7B,QAA4C,mBAAZx7B,IAAI1R,KAAyC,mBAAZ0R,IAAI/R,MAKxL,oBAAzB+R,IAAInV,YAAYwW,MAAsE,6BAAxCvb,OAAOyD,UAAUoU,SAASlU,KAAKuW,MAA2D,mBAAbA,IAAI6F,MAQvI,SAASm1B,OAAOh7B,KACf,MAAsB,iBAARA,KAA+C,mBAApBA,IAAIy5B,aAAkD,iBAAbz5B,IAAI9P,MAA2C,mBAAf8P,IAAImxB,QAAoD,mBAApBnxB,IAAInV,aAA8D,iBAAzBmV,IAAInV,YAAYwW,MAAqB,gBAAgBna,KAAK8Y,IAAInV,YAAYwW,OAAS,gBAAgBna,KAAK8Y,IAAIsJ,OAAOixB,cASnT,SAASkB,MAAM7lC,UACd,IAAI8lC,GAAIC,GACJ/vC,KAAOgK,SAAShK,KAGpB,GAAIgK,SAASgmC,SACZ,MAAM,IAAIx0C,MAAM,sCAgBjB,OAXIwE,gBAAgB,qCAAsC,mBAArBA,KAAKiwC,cAEzCH,GAAK,IAAIjB,YACTkB,GAAK,IAAIlB,YACT7uC,KAAKkwC,KAAKJ,IACV9vC,KAAKkwC,KAAKH,IAEV/lC,SAAS4kC,WAAW5uC,KAAO8vC,GAC3B9vC,KAAO+vC,IAGD/vC,KAYR,SAASmwC,mBAAmBnwC,MAC3B,OAAa,OAATA,KAEI,KACmB,iBAATA,KAEV,2BACGmvC,kBAAkBnvC,MAErB,kDACGovC,OAAOpvC,MAEVA,KAAKsE,MAAQ,KACV6M,OAAOmpB,SAASt6B,OAGyB,yBAAzC9F,OAAOyD,UAAUoU,SAASlU,KAAKmC,OAG/Bu6B,YAAYE,OAAOz6B,MAJtB,KAO+B,mBAArBA,KAAKiwC,YAEf,gCAAgCjwC,KAAKiwC,gBAClCjwC,gBAAgB,oCAGnB,KAGA,2BAaT,SAASowC,cAAcpmC,UACtB,MAAMhK,KAAOgK,SAAShK,KAGtB,OAAa,OAATA,KAEI,EACGovC,OAAOpvC,MACVA,KAAKsJ,KACF6H,OAAOmpB,SAASt6B,MAEnBA,KAAKhF,OACFgF,MAAsC,mBAAvBA,KAAKqwC,gBAE1BrwC,KAAKswC,mBAAsD,GAAjCtwC,KAAKswC,kBAAkBt1C,QACrDgF,KAAKuwC,gBAAkBvwC,KAAKuwC,kBAEpBvwC,KAAKqwC,gBAKN,KA1ZTvB,KAAKnxC,UAAY,CACZqC,WACH,OAAOZ,KAAKwvC,WAAW5uC,MAGpBgwC,eACH,OAAO5wC,KAAKwvC,WAAWS,WAQxBxB,cACC,OAAOyB,YAAYzxC,KAAKuB,MAAMe,MAAK,SAAUwuB,KAC5C,OAAOA,IAAI7xB,OAAOU,MAAMmxB,IAAIwL,WAAYxL,IAAIwL,WAAaxL,IAAIvd,gBAS/Di9B,OACC,IAAImC,GAAKpxC,KAAKa,SAAWb,KAAKa,QAAQ0C,IAAI,iBAAmB,GAC7D,OAAO2sC,YAAYzxC,KAAKuB,MAAMe,MAAK,SAAUwuB,KAC5C,OAAOz0B,OAAO+kB,OAEd,IAAIwuB,KAAK,GAAI,CACZnpC,KAAMksC,GAAG50B,gBACN,CACH,CAAC2xB,QAAS5e,UAUbruB,OACC,IAAImwC,OAASrxC,KAEb,OAAOkwC,YAAYzxC,KAAKuB,MAAMe,MAAK,SAAUrD,QAC5C,IACC,OAAOwK,KAAK0K,MAAMlV,OAAOiV,YACxB,MAAOnX,KACR,OAAOk0C,KAAK7tC,QAAQC,OAAO,IAAIotC,WAAW,iCAAiCmC,OAAOt7B,eAAeva,IAAIW,UAAW,sBAUnH0wB,OACC,OAAOqjB,YAAYzxC,KAAKuB,MAAMe,MAAK,SAAUrD,QAC5C,OAAOA,OAAOiV,eAShBjV,SACC,OAAOwyC,YAAYzxC,KAAKuB,OASzBsxC,gBACC,IAAIC,OAASvxC,KAEb,OAAOkwC,YAAYzxC,KAAKuB,MAAMe,MAAK,SAAUrD,QAC5C,OAwIH,SAAS8zC,YAAY9zC,OAAQmD,SAC5B,GAAuB,mBAAZwuC,QACV,MAAM,IAAIjzC,MAAM,gFAGjB,MAAMg1C,GAAKvwC,QAAQ0C,IAAI,gBACvB,IACIk0B,IAAK3V,IADL2vB,QAAU,QAIVL,KACH3Z,IAAM,mBAAmBt4B,KAAKiyC,KAI/BtvB,IAAMpkB,OAAOU,MAAM,EAAG,MAAMuU,YAGvB8kB,KAAO3V,MACX2V,IAAM,iCAAiCt4B,KAAK2iB,OAIxC2V,KAAO3V,MACX2V,IAAM,yEAAyEt4B,KAAK2iB,KAC/E2V,MACJA,IAAM,yEAAyEt4B,KAAK2iB,KAChF2V,KACHA,IAAIzd,OAIFyd,MACHA,IAAM,gBAAgBt4B,KAAKs4B,IAAIzd,UAK5Byd,KAAO3V,MACX2V,IAAM,mCAAmCt4B,KAAK2iB,MAI3C2V,MACHga,QAAUha,IAAIzd,MAIE,WAAZy3B,SAAoC,QAAZA,UAC3BA,QAAU,YAKZ,OAAOpC,QAAQ3xC,OAAQ,QAAS+zC,SAAS9+B,WA9LhC6+B,CAAY9zC,OAAQ6zC,OAAO1wC,cAMrC/F,OAAOw0C,iBAAiBI,KAAKnxC,UAAW,CACvCqC,KAAM,CAAE8xB,YAAY,GACpBke,SAAU,CAAEle,YAAY,GACxB+b,YAAa,CAAE/b,YAAY,GAC3Buc,KAAM,CAAEvc,YAAY,GACpBxxB,KAAM,CAAEwxB,YAAY,GACpB7F,KAAM,CAAE6F,YAAY,KAGrBgd,KAAKgC,MAAQ,SAAUC,OACtB,IAAK,MAAMt7B,QAAQvb,OAAOk/B,oBAAoB0V,KAAKnxC,WAElD,KAAM8X,QAAQs7B,OAAQ,CACrB,MAAMC,KAAO92C,OAAOm/B,yBAAyByV,KAAKnxC,UAAW8X,MAC7Dvb,OAAO23B,eAAekf,MAAOt7B,KAAMu7B,QA+UtClC,KAAK7tC,QAAUgwC,OAAOhwC,QAQtB,MAAMiwC,kBAAoB,gCACpBC,uBAAyB,0BAE/B,SAASC,aAAa37B,MAErB,GADAA,KAAO,GAAGA,OACNy7B,kBAAkB51C,KAAKma,OAAkB,KAATA,KACnC,MAAM,IAAItX,UAAU,GAAGsX,wCAIzB,SAAS47B,cAAc3kC,OAEtB,GADAA,MAAQ,GAAGA,QACPykC,uBAAuB71C,KAAKoR,OAC/B,MAAM,IAAIvO,UAAU,GAAGuO,0CAYzB,SAASkb,KAAKxtB,IAAKqb,MAClBA,KAAOA,KAAKmG,cACZ,IAAK,MAAMld,OAAOtE,IACjB,GAAIsE,IAAIkd,gBAAkBnG,KACzB,OAAO/W,IAMV,MAAM4yC,IAAM5zB,OAAO,OACnB,MAAM6zB,QAOLtyC,cACC,IAAIuyC,KAAO1zB,UAAU9iB,OAAS,QAAsB+F,IAAjB+c,UAAU,GAAmBA,UAAU,QAAK/c,EAI/E,GAFA3B,KAAKkyC,KAAOp3C,OAAOgjB,OAAO,MAEtBs0B,gBAAgBD,QAApB,CACC,MAAME,WAAaD,KAAK3/B,MAClB6/B,YAAcx3C,OAAOC,KAAKs3C,YAEhC,IAAK,MAAME,cAAcD,YACxB,IAAK,MAAMhlC,SAAS+kC,WAAWE,YAC9BvyC,KAAKuwC,OAAOgC,WAAYjlC,YAS3B,GAAY,MAAR8kC,UAAqB,IAAoB,iBAATA,KA+BnC,MAAM,IAAIrzC,UAAU,0CA/BkC,CACtD,MAAMwB,OAAS6xC,KAAK9zB,OAAOC,UAC3B,GAAc,MAAVhe,OAAgB,CACnB,GAAsB,mBAAXA,OACV,MAAM,IAAIxB,UAAU,iCAKrB,MAAMyzC,MAAQ,GACd,IAAK,MAAMC,QAAQL,KAAM,CACxB,GAAoB,iBAATK,MAAsD,mBAA1BA,KAAKn0B,OAAOC,UAClD,MAAM,IAAIxf,UAAU,qCAErByzC,MAAMz2C,KAAKuC,MAAM88B,KAAKqX,OAGvB,IAAK,MAAMA,QAAQD,MAAO,CACzB,GAAoB,IAAhBC,KAAK72C,OACR,MAAM,IAAImD,UAAU,+CAErBiB,KAAKuwC,OAAOkC,KAAK,GAAIA,KAAK,UAI3B,IAAK,MAAMnzC,OAAOxE,OAAOC,KAAKq3C,MAAO,CACpC,MAAM9kC,MAAQ8kC,KAAK9yC,KACnBU,KAAKuwC,OAAOjxC,IAAKgO,UAcrB/J,IAAI8S,MAEH27B,aADA37B,KAAO,GAAGA,QAEV,MAAM/W,IAAMkpB,KAAKxoB,KAAKkyC,KAAM77B,MAC5B,YAAY1U,IAARrC,IACI,KAGDU,KAAKkyC,KAAK5yC,KAAKjG,KAAK,MAU5B+I,QAAQ0F,UACP,IAAI4qC,QAAUh0B,UAAU9iB,OAAS,QAAsB+F,IAAjB+c,UAAU,GAAmBA,UAAU,QAAK/c,EAE9E6wC,MAAQG,WAAW3yC,MACnB/E,EAAI,EACR,KAAOA,EAAIu3C,MAAM52C,QAAQ,CACxB,IAAIg3C,SAAWJ,MAAMv3C,GACrB,MAAMob,KAAOu8B,SAAS,GAChBtlC,MAAQslC,SAAS,GAEvB9qC,SAASrJ,KAAKi0C,QAASplC,MAAO+I,KAAMrW,MACpCwyC,MAAQG,WAAW3yC,MACnB/E,KAWFgI,IAAIoT,KAAM/I,OAETA,MAAQ,GAAGA,QACX0kC,aAFA37B,KAAO,GAAGA,QAGV47B,cAAc3kC,OACd,MAAMhO,IAAMkpB,KAAKxoB,KAAKkyC,KAAM77B,MAC5BrW,KAAKkyC,UAAavwC,IAARrC,IAAoBA,IAAM+W,MAAQ,CAAC/I,OAU9CijC,OAAOl6B,KAAM/I,OAEZA,MAAQ,GAAGA,QACX0kC,aAFA37B,KAAO,GAAGA,QAGV47B,cAAc3kC,OACd,MAAMhO,IAAMkpB,KAAKxoB,KAAKkyC,KAAM77B,WAChB1U,IAARrC,IACHU,KAAKkyC,KAAK5yC,KAAKvD,KAAKuR,OAEpBtN,KAAKkyC,KAAK77B,MAAQ,CAAC/I,OAUrBhK,IAAI+S,MAGH,OADA27B,aADA37B,KAAO,GAAGA,aAEuB1U,IAA1B6mB,KAAKxoB,KAAKkyC,KAAM77B,MASxB7S,OAAO6S,MAEN27B,aADA37B,KAAO,GAAGA,QAEV,MAAM/W,IAAMkpB,KAAKxoB,KAAKkyC,KAAM77B,WAChB1U,IAARrC,YACIU,KAAKkyC,KAAK5yC,KASnBmT,MACC,OAAOzS,KAAKkyC,KAQbn3C,OACC,OAAO83C,sBAAsB7yC,KAAM,OAQpCi9B,SACC,OAAO4V,sBAAsB7yC,KAAM,SAUpC,CAACse,OAAOC,YACP,OAAOs0B,sBAAsB7yC,KAAM,cAwBrC,SAAS2yC,WAAW9xC,SACnB,IAAIiyC,KAAOp0B,UAAU9iB,OAAS,QAAsB+F,IAAjB+c,UAAU,GAAmBA,UAAU,GAAK,YAE/E,MAAM3jB,KAAOD,OAAOC,KAAK8F,QAAQqxC,MAAMr3B,OACvC,OAAO9f,KAAKC,IAAa,QAAT83C,KAAiB,SAAUvyB,GAC1C,OAAOA,EAAE/D,eACG,UAATs2B,KAAmB,SAAUvyB,GAChC,OAAO1f,QAAQqxC,KAAK3xB,GAAGlnB,KAAK,OACzB,SAAUknB,GACb,MAAO,CAACA,EAAE/D,cAAe3b,QAAQqxC,KAAK3xB,GAAGlnB,KAAK,SA9BhD84C,QAAQ5zC,UAAUc,QAAU8yC,QAAQ5zC,UAAU+f,OAAOC,UAErDzjB,OAAO23B,eAAe0f,QAAQ5zC,UAAW+f,OAAOixB,YAAa,CAC5DjiC,MAAO,UACPm7B,UAAU,EACV/V,YAAY,EACZC,cAAc,IAGf73B,OAAOw0C,iBAAiB6C,QAAQ5zC,UAAW,CAC1CgF,IAAK,CAAEmvB,YAAY,GACnBtwB,QAAS,CAAEswB,YAAY,GACvBzvB,IAAK,CAAEyvB,YAAY,GACnB6d,OAAQ,CAAE7d,YAAY,GACtBpvB,IAAK,CAAEovB,YAAY,GACnBlvB,OAAQ,CAAEkvB,YAAY,GACtB33B,KAAM,CAAE23B,YAAY,GACpBuK,OAAQ,CAAEvK,YAAY,GACtBrzB,QAAS,CAAEqzB,YAAY,KAgBxB,MAAMqgB,SAAWz0B,OAAO,YAExB,SAASu0B,sBAAsBj4B,OAAQk4B,MACtC,MAAMv0B,SAAWzjB,OAAOgjB,OAAOk1B,0BAM/B,OALAz0B,SAASw0B,UAAY,CACpBn4B,OACAk4B,KACAj0B,MAAO,GAEDN,SAGR,MAAMy0B,yBAA2Bl4C,OAAOm4C,eAAe,CACtDC,OAEC,IAAKlzC,MAAQlF,OAAOq4C,eAAenzC,QAAUgzC,yBAC5C,MAAM,IAAIj0C,UAAU,4CAGrB,IAAIq0C,UAAYpzC,KAAK+yC,UACrB,MAAMn4B,OAASw4B,UAAUx4B,OACnBk4B,KAAOM,UAAUN,KACjBj0B,MAAQu0B,UAAUv0B,MAElBoe,OAAS0V,WAAW/3B,OAAQk4B,MAElC,OAAIj0B,OADQoe,OAAOrhC,OAEX,CACN0R,WAAO3L,EACPm/B,MAAM,IAIR9gC,KAAK+yC,UAAUl0B,MAAQA,MAAQ,EAExB,CACNvR,MAAO2vB,OAAOpe,OACdiiB,MAAM,MAGNhmC,OAAOq4C,eAAer4C,OAAOq4C,eAAe,GAAG70B,OAAOC,eAezD,SAAS80B,4BAA4BxyC,SACpC,MAAMmU,IAAMla,OAAO+kB,OAAO,CAAEyzB,UAAW,MAAQzyC,QAAQqxC,MAIjDqB,cAAgB/qB,KAAK3nB,QAAQqxC,KAAM,QAKzC,YAJsBvwC,IAAlB4xC,gBACHv+B,IAAIu+B,eAAiBv+B,IAAIu+B,eAAe,IAGlCv+B,IAvBRla,OAAO23B,eAAeugB,yBAA0B10B,OAAOixB,YAAa,CACnEjiC,MAAO,kBACPm7B,UAAU,EACV/V,YAAY,EACZC,cAAc,IAqDf,MAAM6gB,YAAcl1B,OAAO,sBAGrBoqB,aAAe,+CASrB,MAAM+K,SACL5zC,cACC,IAAIe,KAAO8d,UAAU9iB,OAAS,QAAsB+F,IAAjB+c,UAAU,GAAmBA,UAAU,GAAK,KAC3E7jB,KAAO6jB,UAAU9iB,OAAS,QAAsB+F,IAAjB+c,UAAU,GAAmBA,UAAU,GAAK,GAE/EgxB,KAAKjxC,KAAKuB,KAAMY,KAAM/F,MAEtB,MAAMuG,OAASvG,KAAKuG,QAAU,IACxBP,QAAU,IAAIsxC,QAAQt3C,KAAKgG,SAEjC,GAAY,MAARD,OAAiBC,QAAQyC,IAAI,gBAAiB,CACjD,MAAMowC,YAAc3C,mBAAmBnwC,MACnC8yC,aACH7yC,QAAQ0vC,OAAO,eAAgBmD,aAIjC1zC,KAAKwzC,aAAe,CACnBz9B,IAAKlb,KAAKkb,IACV3U,OACAuyC,WAAY94C,KAAK84C,YAAcjL,aAAatnC,QAC5CP,QACA61B,QAAS77B,KAAK67B,SAIZ3gB,UACH,OAAO/V,KAAKwzC,aAAaz9B,KAAO,GAG7B3U,aACH,OAAOpB,KAAKwzC,aAAapyC,OAMtBD,SACH,OAAOnB,KAAKwzC,aAAapyC,QAAU,KAAOpB,KAAKwzC,aAAapyC,OAAS,IAGlEwyC,iBACH,OAAO5zC,KAAKwzC,aAAa9c,QAAU,EAGhCid,iBACH,OAAO3zC,KAAKwzC,aAAaG,WAGtB9yC,cACH,OAAOb,KAAKwzC,aAAa3yC,QAQ1B4vC,QACC,OAAO,IAAIgD,SAAShD,MAAMzwC,MAAO,CAChC+V,IAAK/V,KAAK+V,IACV3U,OAAQpB,KAAKoB,OACbuyC,WAAY3zC,KAAK2zC,WACjB9yC,QAASb,KAAKa,QACdM,GAAInB,KAAKmB,GACTyyC,WAAY5zC,KAAK4zC,cAKpBlE,KAAKgC,MAAM+B,SAASl1C,WAEpBzD,OAAOw0C,iBAAiBmE,SAASl1C,UAAW,CAC3CwX,IAAK,CAAE2c,YAAY,GACnBtxB,OAAQ,CAAEsxB,YAAY,GACtBvxB,GAAI,CAAEuxB,YAAY,GAClBkhB,WAAY,CAAElhB,YAAY,GAC1BihB,WAAY,CAAEjhB,YAAY,GAC1B7xB,QAAS,CAAE6xB,YAAY,GACvB+d,MAAO,CAAE/d,YAAY,KAGtB53B,OAAO23B,eAAeghB,SAASl1C,UAAW+f,OAAOixB,YAAa,CAC7DjiC,MAAO,WACPm7B,UAAU,EACV/V,YAAY,EACZC,cAAc,IAGf,MAAMkhB,YAAcv1B,OAAO,qBACrBtB,IAAM,sCAAW,4CAGjB82B,UAAY,uCACZC,WAAa,wCAQnB,SAASna,SAASoa,QAWjB,MALI,4BAA4B70C,KAAK60C,UACpCA,OAAS,IAAIh3B,IAAIg3B,QAAQrhC,YAInBmhC,UAAUE,QAGlB,MAAMC,2BAA6B,YAAa,uDAQhD,SAASC,UAAUv1C,OAClB,MAAwB,iBAAVA,OAAoD,iBAAvBA,MAAMk1C,aAelD,MAAMM,QACLt0C,YAAYlB,OACX,IAEIyyB,UAFAghB,KAAO1zB,UAAU9iB,OAAS,QAAsB+F,IAAjB+c,UAAU,GAAmBA,UAAU,GAAK,GAK1Ew1B,UAAUv1C,OAYdyyB,UAAYwI,SAASj7B,MAAMoX,MAP1Bqb,UAJGzyB,OAASA,MAAMkX,KAIN+jB,SAASj7B,MAAMkX,MAGf+jB,SAAS,GAAGj7B,SAEzBA,MAAQ,IAKT,IAAI4B,OAAS6xC,KAAK7xC,QAAU5B,MAAM4B,QAAU,MAG5C,GAFAA,OAASA,OAAO+Z,eAEE,MAAb83B,KAAKxxC,MAAgBszC,UAAUv1C,QAAyB,OAAfA,MAAMiC,QAA8B,QAAXL,QAA+B,SAAXA,QAC1F,MAAM,IAAIxB,UAAU,iDAGrB,IAAIq1C,UAAyB,MAAbhC,KAAKxxC,KAAewxC,KAAKxxC,KAAOszC,UAAUv1C,QAAyB,OAAfA,MAAMiC,KAAgB6vC,MAAM9xC,OAAS,KAEzG+wC,KAAKjxC,KAAKuB,KAAMo0C,UAAW,CAC1BryC,QAASqwC,KAAKrwC,SAAWpD,MAAMoD,SAAW,EAC1CmI,KAAMkoC,KAAKloC,MAAQvL,MAAMuL,MAAQ,IAGlC,MAAMrJ,QAAU,IAAIsxC,QAAQC,KAAKvxC,SAAWlC,MAAMkC,SAAW,IAE7D,GAAiB,MAAbuzC,YAAsBvzC,QAAQyC,IAAI,gBAAiB,CACtD,MAAMowC,YAAc3C,mBAAmBqD,WACnCV,aACH7yC,QAAQ0vC,OAAO,eAAgBmD,aAIjC,IAAIW,OAASH,UAAUv1C,OAASA,MAAM01C,OAAS,KAG/C,GAFI,WAAYjC,OAAMiC,OAASjC,KAAKiC,QAEtB,MAAVA,SA5DN,SAASC,cAAcD,QACtB,MAAM1C,MAAQ0C,QAA4B,iBAAXA,QAAuBv5C,OAAOq4C,eAAekB,QAC5E,SAAU1C,OAAoC,gBAA3BA,MAAM9xC,YAAYwW,MA0Dbi+B,CAAcD,QACpC,MAAM,IAAIt1C,UAAU,mDAGrBiB,KAAK6zC,aAAe,CACnBtzC,OACAg0C,SAAUnC,KAAKmC,UAAY51C,MAAM41C,UAAY,SAC7C1zC,QACAuwB,UACAijB,QAIDr0C,KAAKw0C,YAAyB7yC,IAAhBywC,KAAKoC,OAAuBpC,KAAKoC,YAA0B7yC,IAAjBhD,MAAM61C,OAAuB71C,MAAM61C,OAAS,GACpGx0C,KAAKw1B,cAA6B7zB,IAAlBywC,KAAK5c,SAAyB4c,KAAK5c,cAA8B7zB,IAAnBhD,MAAM62B,UAAyB72B,MAAM62B,SACnGx1B,KAAK02B,QAAU0b,KAAK1b,SAAW/3B,MAAM+3B,SAAW,EAChD12B,KAAKy0C,MAAQrC,KAAKqC,OAAS91C,MAAM81C,MAG9Bl0C,aACH,OAAOP,KAAK6zC,aAAatzC,OAGtBwV,UACH,OAAOg+B,WAAW/zC,KAAK6zC,aAAaziB,WAGjCvwB,cACH,OAAOb,KAAK6zC,aAAahzC,QAGtB0zC,eACH,OAAOv0C,KAAK6zC,aAAaU,SAGtBF,aACH,OAAOr0C,KAAK6zC,aAAaQ,OAQ1B5D,QACC,OAAO,IAAI0D,QAAQn0C,OA0GrB,SAAS00C,WAAWv4C,SAClBC,MAAMqC,KAAKuB,KAAM7D,SAEjB6D,KAAKkF,KAAO,UACZlF,KAAK7D,QAAUA,QAGfC,MAAMW,kBAAkBiD,KAAMA,KAAKH,aA7GrC6vC,KAAKgC,MAAMyC,QAAQ51C,WAEnBzD,OAAO23B,eAAe0hB,QAAQ51C,UAAW+f,OAAOixB,YAAa,CAC5DjiC,MAAO,UACPm7B,UAAU,EACV/V,YAAY,EACZC,cAAc,IAGf73B,OAAOw0C,iBAAiB6E,QAAQ51C,UAAW,CAC1CgC,OAAQ,CAAEmyB,YAAY,GACtB3c,IAAK,CAAE2c,YAAY,GACnB7xB,QAAS,CAAE6xB,YAAY,GACvB6hB,SAAU,CAAE7hB,YAAY,GACxB+d,MAAO,CAAE/d,YAAY,GACrB2hB,OAAQ,CAAE3hB,YAAY,KAiGvBgiB,WAAWn2C,UAAYzD,OAAOgjB,OAAO1hB,MAAMmC,WAC3Cm2C,WAAWn2C,UAAUsB,YAAc60C,WACnCA,WAAWn2C,UAAU8X,KAAO,aAE5B,MAAMs+B,MAAQ,sCAAW,4CAGnBC,cAAgB,gDAgBtB,SAASp1C,MAAMuW,IAAKlb,MAGnB,IAAK2E,MAAMqC,QACV,MAAM,IAAIzF,MAAM,0EAMjB,OAHAszC,KAAK7tC,QAAUrC,MAAMqC,QAGd,IAAIrC,MAAMqC,SAAQ,SAAU7F,QAAS8F,QAE3C,MAAMY,QAAU,IAAIyxC,QAAQp+B,IAAKlb,MAC3BiF,QA5HR,SAAS+0C,sBAAsBnyC,SAC9B,MAAM0uB,UAAY1uB,QAAQmxC,aAAaziB,UACjCvwB,QAAU,IAAIsxC,QAAQzvC,QAAQmxC,aAAahzC,SAQjD,GALKA,QAAQyC,IAAI,WAChBzC,QAAQoC,IAAI,SAAU,QAIlBmuB,UAAUxb,WAAawb,UAAU9T,SACrC,MAAM,IAAIve,UAAU,oCAGrB,IAAK,YAAY7C,KAAKk1B,UAAUxb,UAC/B,MAAM,IAAI7W,UAAU,wCAGrB,GAAI2D,QAAQ2xC,QAAU3xC,QAAQ9B,gBAAgB,+CAAoBqzC,2BACjE,MAAM,IAAI73C,MAAM,mFAIjB,IAAI04C,mBAAqB,KAIzB,GAHoB,MAAhBpyC,QAAQ9B,MAAgB,gBAAgB1E,KAAKwG,QAAQnC,UACxDu0C,mBAAqB,KAEF,MAAhBpyC,QAAQ9B,KAAc,CACzB,MAAMm0C,WAAa/D,cAActuC,SACP,iBAAfqyC,aACVD,mBAAqBtxB,OAAOuxB,aAG1BD,oBACHj0C,QAAQoC,IAAI,iBAAkB6xC,oBAI1Bj0C,QAAQyC,IAAI,eAChBzC,QAAQoC,IAAI,aAAc,0DAIvBP,QAAQ8yB,WAAa30B,QAAQyC,IAAI,oBACpCzC,QAAQoC,IAAI,kBAAmB,gBAGhC,IAAIwxC,MAAQ/xC,QAAQ+xC,MAYpB,MAXqB,mBAAVA,QACVA,MAAQA,MAAMrjB,YAGVvwB,QAAQyC,IAAI,eAAkBmxC,OAClC5zC,QAAQoC,IAAI,aAAc,SAMpBnI,OAAO+kB,OAAO,GAAIuR,UAAW,CACnC7wB,OAAQmC,QAAQnC,OAChBM,QAASwyC,4BAA4BxyC,SACrC4zC,QA8DgBI,CAAsBnyC,SAEhCM,MAA6B,WAArBlD,QAAQ8V,SAAwB,mCAAQ,mCAAMlT,QACtD2xC,OAAS3xC,QAAQ2xC,OAEvB,IAAI5T,SAAW,KAEf,MAAM8M,MAAQ,SAASA,QACtB,IAAIx5B,MAAQ,IAAI2gC,WAAW,+BAC3B5yC,OAAOiS,OACHrR,QAAQ9B,MAAQ8B,QAAQ9B,gBAAgB,8CAC3C8B,QAAQ9B,KAAKytB,QAAQta,OAEjB0sB,UAAaA,SAAS7/B,MAC3B6/B,SAAS7/B,KAAKyB,KAAK,QAAS0R,QAG7B,GAAIsgC,QAAUA,OAAOjH,QAEpB,YADAG,QAID,MAAMyH,iBAAmB,SAASA,mBACjCzH,QACA0H,YAIK5L,IAAMrmC,KAAKlD,SACjB,IAAIo1C,WAMJ,SAASD,WACR5L,IAAIkE,QACA8G,QAAQA,OAAO5X,oBAAoB,QAASuY,kBAChD7yC,aAAa+yC,YAPVb,QACHA,OAAO9X,iBAAiB,QAASyY,kBAS9BtyC,QAAQX,SACXsnC,IAAInnC,KAAK,UAAU,SAAUqQ,QAC5B2iC,WAAalzC,YAAW,WACvBF,OAAO,IAAIotC,WAAW,uBAAuBxsC,QAAQqT,MAAO,oBAC5Dk/B,aACEvyC,QAAQX,YAIbsnC,IAAIhoC,GAAG,SAAS,SAAU7F,KACzBsG,OAAO,IAAIotC,WAAW,cAAcxsC,QAAQqT,uBAAuBva,IAAIW,UAAW,SAAUX,MAC5Fy5C,cAGD5L,IAAIhoC,GAAG,YAAY,SAAUo2B,KAC5Bt1B,aAAa+yC,YAEb,MAAMr0C,QA/dT,SAASs0C,qBAAqBngC,KAC7B,MAAMnU,QAAU,IAAIsxC,QACpB,IAAK,MAAM97B,QAAQvb,OAAOC,KAAKia,KAC9B,IAAI88B,kBAAkB51C,KAAKma,MAG3B,GAAI/X,MAAM8W,QAAQJ,IAAIqB,OACrB,IAAK,MAAMhB,OAAOL,IAAIqB,MACjB07B,uBAAuB71C,KAAKmZ,YAGL1T,IAAvBd,QAAQqxC,KAAK77B,MAChBxV,QAAQqxC,KAAK77B,MAAQ,CAAChB,KAEtBxU,QAAQqxC,KAAK77B,MAAMta,KAAKsZ,WAGf08B,uBAAuB71C,KAAK8Y,IAAIqB,SAC3CxV,QAAQqxC,KAAK77B,MAAQ,CAACrB,IAAIqB,QAG5B,OAAOxV,QA0cWs0C,CAAqB1d,IAAI52B,SAGzC,GAAIrB,MAAM41C,WAAW3d,IAAIoK,YAAa,CAErC,MAAMwL,SAAWxsC,QAAQ0C,IAAI,YAG7B,IAAI8xC,YAAc,KAClB,IACCA,YAA2B,OAAbhI,SAAoB,KAAO,IAAIsH,MAAMtH,SAAU3qC,QAAQqT,KAAKpD,WACzE,MAAOnX,KAIR,GAAyB,WAArBkH,QAAQ6xC,SAGX,OAFAzyC,OAAO,IAAIotC,WAAW,wDAAwD7B,WAAY,0BAC1F4H,WAMF,OAAQvyC,QAAQ6xC,UACf,IAAK,QAGJ,OAFAzyC,OAAO,IAAIotC,WAAW,0EAA0ExsC,QAAQqT,MAAO,qBAC/Gk/B,WAED,IAAK,SAEJ,GAAoB,OAAhBI,YAEH,IACCx0C,QAAQoC,IAAI,WAAYoyC,aACvB,MAAO75C,KAERsG,OAAOtG,KAGT,MACD,IAAK,SAEJ,GAAoB,OAAhB65C,YACH,MAID,GAAI3yC,QAAQg0B,SAAWh0B,QAAQ8xC,OAG9B,OAFA1yC,OAAO,IAAIotC,WAAW,gCAAgCxsC,QAAQqT,MAAO,sBACrEk/B,WAMD,MAAMK,YAAc,CACnBz0C,QAAS,IAAIsxC,QAAQzvC,QAAQ7B,SAC7B2zC,OAAQ9xC,QAAQ8xC,OAChB9d,QAASh0B,QAAQg0B,QAAU,EAC3B+d,MAAO/xC,QAAQ+xC,MACfjf,SAAU9yB,QAAQ8yB,SAClBj1B,OAAQmC,QAAQnC,OAChBK,KAAM8B,QAAQ9B,KACdyzC,OAAQ3xC,QAAQ2xC,OAChBtyC,QAASW,QAAQX,QACjBmI,KAAMxH,QAAQwH,MAGf,IAzJsB,SAASqrC,oBAAoBC,YAAaC,UACrE,MAAMC,KAAO,IAAIf,MAAMc,UAAUn4B,SAC3Bqf,KAAO,IAAIgY,MAAMa,aAAal4B,SAEpC,OAAOo4B,OAAS/Y,MAAgD,MAAxC+Y,KAAKA,KAAK95C,OAAS+gC,KAAK/gC,OAAS,IAAc85C,KAAKh4B,SAASif,MAqJ3E4Y,CAAoB7yC,QAAQqT,IAAKs/B,aACrC,IAAK,MAAMh/B,OAAQ,CAAC,gBAAiB,mBAAoB,SAAU,WAClEi/B,YAAYz0C,QAAQ2C,OAAO6S,MAK7B,OAAuB,MAAnBohB,IAAIoK,YAAsBn/B,QAAQ9B,MAAmC,OAA3BowC,cAActuC,UAC3DZ,OAAO,IAAIotC,WAAW,2DAA4D,8BAClF+F,aAKsB,MAAnBxd,IAAIoK,aAA0C,MAAnBpK,IAAIoK,YAAyC,MAAnBpK,IAAIoK,YAA0C,SAAnBn/B,QAAQnC,UAC3F+0C,YAAY/0C,OAAS,MACrB+0C,YAAY10C,UAAOe,EACnB2zC,YAAYz0C,QAAQ2C,OAAO,mBAI5BxH,QAAQwD,MAAM,IAAI20C,QAAQkB,YAAaC,oBACvCL,aAMHxd,IAAIv1B,KAAK,OAAO,WACXmyC,QAAQA,OAAO5X,oBAAoB,QAASuY,qBAEjD,IAAIp0C,KAAO62B,IAAIqZ,KAAK,IAAI8D,eAExB,MAAMe,iBAAmB,CACxB5/B,IAAKrT,QAAQqT,IACb3U,OAAQq2B,IAAIoK,WACZ8R,WAAYlc,IAAIme,cAChB/0C,QACAqJ,KAAMxH,QAAQwH,KACdnI,QAASW,QAAQX,QACjB20B,QAASh0B,QAAQg0B,SAIZmf,QAAUh1C,QAAQ0C,IAAI,oBAU5B,IAAKb,QAAQ8yB,UAA+B,SAAnB9yB,QAAQnC,QAAiC,OAAZs1C,SAAuC,MAAnBpe,IAAIoK,YAAyC,MAAnBpK,IAAIoK,WAGvG,OAFApB,SAAW,IAAIgT,SAAS7yC,KAAM+0C,uBAC9B35C,QAAQykC,UAST,MAAMqV,YAAc,CACnBzU,MAAO,+CACP0U,YAAa,gDAId,GAAe,QAAXF,SAAgC,UAAXA,QAIxB,OAHAj1C,KAAOA,KAAKkwC,KAAK,+CAAkBgF,cACnCrV,SAAW,IAAIgT,SAAS7yC,KAAM+0C,uBAC9B35C,QAAQykC,UAKT,GAAe,WAAXoV,SAAmC,aAAXA,QAA5B,CAkBA,GAAe,MAAXA,SAA0D,mBAAhC,yDAI7B,OAHAj1C,KAAOA,KAAKkwC,KAAK,4DACjBrQ,SAAW,IAAIgT,SAAS7yC,KAAM+0C,uBAC9B35C,QAAQykC,UAKTA,SAAW,IAAIgT,SAAS7yC,KAAM+0C,kBAC9B35C,QAAQykC,cA3BR,CAGahJ,IAAIqZ,KAAK,IAAI8D,eACrB1yC,KAAK,QAAQ,SAAU08B,OAGzBh+B,KADyB,IAAV,GAAXg+B,MAAM,IACHh+B,KAAKkwC,KAAK,mDAEVlwC,KAAKkwC,KAAK,sDAElBrQ,SAAW,IAAIgT,SAAS7yC,KAAM+0C,kBAC9B35C,QAAQykC,iBAt/Bb,SAASuV,cAAcrZ,KAAM/xB,UAC5B,MAAMhK,KAAOgK,SAAShK,KAGT,OAATA,KAEH+7B,KAAK1zB,MACK+mC,OAAOpvC,MACjBA,KAAKulC,SAAS2K,KAAKnU,MACT5qB,OAAOmpB,SAASt6B,OAE1B+7B,KAAKvqB,MAAMxR,MACX+7B,KAAK1zB,OAGLrI,KAAKkwC,KAAKnU,MAy/BVqZ,CAAc3M,IAAK3mC,YASrBlD,MAAM41C,WAAa,SAAUn5C,MAC5B,OAAgB,MAATA,MAAyB,MAATA,MAAyB,MAATA,MAAyB,MAATA,MAAyB,MAATA,MAIxEuD,MAAMqC,QAAUgwC,OAAOhwC,QAEvB,oj8PCnpDIo0C,yBAA2B,GAG/B,SAASC,oBAAoBC,UAE5B,IAAIC,aAAeH,yBAAyBE,UAC5C,QAAqBx0C,IAAjBy0C,aACH,OAAOA,aAAax7C,QAGrB,IAAID,OAASs7C,yBAAyBE,UAAY,CAGjDv7C,QAAS,IAOV,OAHAy7C,oBAAoBF,UAAUx7C,OAAQA,OAAOC,QAASs7C,qBAG/Cv7C,OAAOC,QCpBfs7C,oBAAoB56C,EAAKX,SACxB,IAAI27C,OAAS37C,QAAUA,OAAO47C,WAC7B,IAAO57C,OAAiB,QACxB,IAAM,OAEP,OADAu7C,oBAAoBjxC,EAAEqxC,OAAQ,CAAEj6C,EAAGi6C,SAC5BA,QCLRJ,oBAAoBjxC,EAAI,CAACrK,QAAS47C,cACjC,IAAI,IAAIl3C,OAAOk3C,WACXN,oBAAoBrpC,EAAE2pC,WAAYl3C,OAAS42C,oBAAoBrpC,EAAEjS,QAAS0E,MAC5ExE,OAAO23B,eAAe73B,QAAS0E,IAAK,CAAEozB,YAAY,EAAMnvB,IAAKizC,WAAWl3C,QCJ3E42C,oBAAoBrpC,EAAI,CAACmI,IAAKyhC,OAAU37C,OAAOyD,UAAUm4C,eAAej4C,KAAKuW,IAAKyhC,MCClFP,oBAAoBj1C,EAAKrG,UACH,oBAAX0jB,QAA0BA,OAAOixB,aAC1Cz0C,OAAO23B,eAAe73B,QAAS0jB,OAAOixB,YAAa,CAAEjiC,MAAO,WAE7DxS,OAAO23B,eAAe73B,QAAS,aAAc,CAAE0S,OAAO,KCFvD,IAAIqpC,oBAAsBT,oBAAoB","sources":["webpack://vscord/./node_modules/bindings/bindings.js","webpack://vscord/./node_modules/bufferutil/fallback.js","webpack://vscord/./node_modules/bufferutil/index.js","webpack://vscord/./node_modules/decode-uri-component/index.js","webpack://vscord/./node_modules/discord-rpc/src/client.js","webpack://vscord/./node_modules/discord-rpc/src/constants.js","webpack://vscord/./node_modules/discord-rpc/src/index.js","webpack://vscord/./node_modules/discord-rpc/src/transports/index.js","webpack://vscord/./node_modules/discord-rpc/src/transports/ipc.js","webpack://vscord/./node_modules/discord-rpc/src/transports/websocket.js","webpack://vscord/./node_modules/discord-rpc/src/util.js","webpack://vscord/./node_modules/electron/index.js","webpack://vscord/./node_modules/file-uri-to-path/index.js","webpack://vscord/./node_modules/filter-obj/index.js","webpack://vscord/./node_modules/git-up/lib/index.js","webpack://vscord/./node_modules/git-url-parse/lib/index.js","webpack://vscord/./node_modules/is-ssh/lib/index.js","webpack://vscord/./node_modules/node-gyp-build/index.js","webpack://vscord/./node_modules/normalize-url/index.js","webpack://vscord/./node_modules/parse-path/lib/index.js","webpack://vscord/./node_modules/parse-url/lib/index.js","webpack://vscord/./node_modules/protocols/lib/index.js","webpack://vscord/./node_modules/query-string/index.js","webpack://vscord/./node_modules/register-scheme/index.js","webpack://vscord/./node_modules/split-on-first/index.js","webpack://vscord/./node_modules/strict-uri-encode/index.js","webpack://vscord/./node_modules/tr46/index.js","webpack://vscord/external commonjs \"vscode\"","webpack://vscord/./src/logger.ts","webpack://vscord/./src/helpers/throttle.ts","webpack://vscord/./src/config.ts","webpack://vscord/./src/constants.ts","webpack://vscord/./src/data.ts","webpack://vscord/./src/helpers/isExcluded.ts","webpack://vscord/./src/helpers/resolveFileIcon.ts","webpack://vscord/./src/activity.ts","webpack://vscord/./src/helpers/isObject.ts","webpack://vscord/./src/extension.ts","webpack://vscord/./src/helpers/getApplicationId.ts","webpack://vscord/./node_modules/utf-8-validate/fallback.js","webpack://vscord/./node_modules/utf-8-validate/index.js","webpack://vscord/./node_modules/webidl-conversions/lib/index.js","webpack://vscord/./node_modules/whatwg-url/lib/URL-impl.js","webpack://vscord/./node_modules/whatwg-url/lib/URL.js","webpack://vscord/./node_modules/whatwg-url/lib/public-api.js","webpack://vscord/./node_modules/whatwg-url/lib/url-state-machine.js","webpack://vscord/./node_modules/whatwg-url/lib/utils.js","webpack://vscord/./node_modules/ws/index.js","webpack://vscord/./node_modules/ws/lib/buffer-util.js","webpack://vscord/./node_modules/ws/lib/constants.js","webpack://vscord/./node_modules/ws/lib/event-target.js","webpack://vscord/./node_modules/ws/lib/extension.js","webpack://vscord/./node_modules/ws/lib/limiter.js","webpack://vscord/./node_modules/ws/lib/permessage-deflate.js","webpack://vscord/./node_modules/ws/lib/receiver.js","webpack://vscord/./node_modules/ws/lib/sender.js","webpack://vscord/./node_modules/ws/lib/stream.js","webpack://vscord/./node_modules/ws/lib/validation.js","webpack://vscord/./node_modules/ws/lib/websocket-server.js","webpack://vscord/./node_modules/ws/lib/websocket.js","webpack://vscord/external node-commonjs \"crypto\"","webpack://vscord/external node-commonjs \"events\"","webpack://vscord/external node-commonjs \"fs\"","webpack://vscord/external node-commonjs \"http\"","webpack://vscord/external node-commonjs \"https\"","webpack://vscord/external node-commonjs \"net\"","webpack://vscord/external node-commonjs \"os\"","webpack://vscord/external node-commonjs \"path\"","webpack://vscord/external node-commonjs \"punycode\"","webpack://vscord/external node-commonjs \"stream\"","webpack://vscord/external node-commonjs \"timers\"","webpack://vscord/external node-commonjs \"tls\"","webpack://vscord/external node-commonjs \"url\"","webpack://vscord/external node-commonjs \"zlib\"","webpack://vscord/./node_modules/node-fetch/lib/index.mjs","webpack://vscord/webpack/bootstrap","webpack://vscord/webpack/runtime/compat get default export","webpack://vscord/webpack/runtime/define property getters","webpack://vscord/webpack/runtime/hasOwnProperty shorthand","webpack://vscord/webpack/runtime/make namespace object","webpack://vscord/webpack/startup"],"sourcesContent":["/**\n * Module dependencies.\n */\n\nvar fs = require('fs'),\n path = require('path'),\n fileURLToPath = require('file-uri-to-path'),\n join = path.join,\n dirname = path.dirname,\n exists =\n (fs.accessSync &&\n function(path) {\n try {\n fs.accessSync(path);\n } catch (e) {\n return false;\n }\n return true;\n }) ||\n fs.existsSync ||\n path.existsSync,\n defaults = {\n arrow: process.env.NODE_BINDINGS_ARROW || ' → ',\n compiled: process.env.NODE_BINDINGS_COMPILED_DIR || 'compiled',\n platform: process.platform,\n arch: process.arch,\n nodePreGyp:\n 'node-v' +\n process.versions.modules +\n '-' +\n process.platform +\n '-' +\n process.arch,\n version: process.versions.node,\n bindings: 'bindings.node',\n try: [\n // node-gyp's linked version in the \"build\" dir\n ['module_root', 'build', 'bindings'],\n // node-waf and gyp_addon (a.k.a node-gyp)\n ['module_root', 'build', 'Debug', 'bindings'],\n ['module_root', 'build', 'Release', 'bindings'],\n // Debug files, for development (legacy behavior, remove for node v0.9)\n ['module_root', 'out', 'Debug', 'bindings'],\n ['module_root', 'Debug', 'bindings'],\n // Release files, but manually compiled (legacy behavior, remove for node v0.9)\n ['module_root', 'out', 'Release', 'bindings'],\n ['module_root', 'Release', 'bindings'],\n // Legacy from node-waf, node <= 0.4.x\n ['module_root', 'build', 'default', 'bindings'],\n // Production \"Release\" buildtype binary (meh...)\n ['module_root', 'compiled', 'version', 'platform', 'arch', 'bindings'],\n // node-qbs builds\n ['module_root', 'addon-build', 'release', 'install-root', 'bindings'],\n ['module_root', 'addon-build', 'debug', 'install-root', 'bindings'],\n ['module_root', 'addon-build', 'default', 'install-root', 'bindings'],\n // node-pre-gyp path ./lib/binding/{node_abi}-{platform}-{arch}\n ['module_root', 'lib', 'binding', 'nodePreGyp', 'bindings']\n ]\n };\n\n/**\n * The main `bindings()` function loads the compiled bindings for a given module.\n * It uses V8's Error API to determine the parent filename that this function is\n * being invoked from, which is then used to find the root directory.\n */\n\nfunction bindings(opts) {\n // Argument surgery\n if (typeof opts == 'string') {\n opts = { bindings: opts };\n } else if (!opts) {\n opts = {};\n }\n\n // maps `defaults` onto `opts` object\n Object.keys(defaults).map(function(i) {\n if (!(i in opts)) opts[i] = defaults[i];\n });\n\n // Get the module root\n if (!opts.module_root) {\n opts.module_root = exports.getRoot(exports.getFileName());\n }\n\n // Ensure the given bindings name ends with .node\n if (path.extname(opts.bindings) != '.node') {\n opts.bindings += '.node';\n }\n\n // https://github.com/webpack/webpack/issues/4175#issuecomment-342931035\n var requireFunc =\n typeof __webpack_require__ === 'function'\n ? __non_webpack_require__\n : require;\n\n var tries = [],\n i = 0,\n l = opts.try.length,\n n,\n b,\n err;\n\n for (; i < l; i++) {\n n = join.apply(\n null,\n opts.try[i].map(function(p) {\n return opts[p] || p;\n })\n );\n tries.push(n);\n try {\n b = opts.path ? requireFunc.resolve(n) : requireFunc(n);\n if (!opts.path) {\n b.path = n;\n }\n return b;\n } catch (e) {\n if (e.code !== 'MODULE_NOT_FOUND' &&\n e.code !== 'QUALIFIED_PATH_RESOLUTION_FAILED' &&\n !/not find/i.test(e.message)) {\n throw e;\n }\n }\n }\n\n err = new Error(\n 'Could not locate the bindings file. Tried:\\n' +\n tries\n .map(function(a) {\n return opts.arrow + a;\n })\n .join('\\n')\n );\n err.tries = tries;\n throw err;\n}\nmodule.exports = exports = bindings;\n\n/**\n * Gets the filename of the JavaScript file that invokes this function.\n * Used to help find the root directory of a module.\n * Optionally accepts an filename argument to skip when searching for the invoking filename\n */\n\nexports.getFileName = function getFileName(calling_file) {\n var origPST = Error.prepareStackTrace,\n origSTL = Error.stackTraceLimit,\n dummy = {},\n fileName;\n\n Error.stackTraceLimit = 10;\n\n Error.prepareStackTrace = function(e, st) {\n for (var i = 0, l = st.length; i < l; i++) {\n fileName = st[i].getFileName();\n if (fileName !== __filename) {\n if (calling_file) {\n if (fileName !== calling_file) {\n return;\n }\n } else {\n return;\n }\n }\n }\n };\n\n // run the 'prepareStackTrace' function above\n Error.captureStackTrace(dummy);\n dummy.stack;\n\n // cleanup\n Error.prepareStackTrace = origPST;\n Error.stackTraceLimit = origSTL;\n\n // handle filename that starts with \"file://\"\n var fileSchema = 'file://';\n if (fileName.indexOf(fileSchema) === 0) {\n fileName = fileURLToPath(fileName);\n }\n\n return fileName;\n};\n\n/**\n * Gets the root directory of a module, given an arbitrary filename\n * somewhere in the module tree. The \"root directory\" is the directory\n * containing the `package.json` file.\n *\n * In: /home/nate/node-native-module/lib/index.js\n * Out: /home/nate/node-native-module\n */\n\nexports.getRoot = function getRoot(file) {\n var dir = dirname(file),\n prev;\n while (true) {\n if (dir === '.') {\n // Avoids an infinite loop in rare cases, like the REPL\n dir = process.cwd();\n }\n if (\n exists(join(dir, 'package.json')) ||\n exists(join(dir, 'node_modules'))\n ) {\n // Found the 'package.json' file or 'node_modules' dir; we're done\n return dir;\n }\n if (prev === dir) {\n // Got to the top\n throw new Error(\n 'Could not find module root given file: \"' +\n file +\n '\". Do you have a `package.json` file? '\n );\n }\n // Try the parent dir next\n prev = dir;\n dir = join(dir, '..');\n }\n};\n","'use strict';\n\n/**\n * Masks a buffer using the given mask.\n *\n * @param {Buffer} source The buffer to mask\n * @param {Buffer} mask The mask to use\n * @param {Buffer} output The buffer where to store the result\n * @param {Number} offset The offset at which to start writing\n * @param {Number} length The number of bytes to mask.\n * @public\n */\nconst mask = (source, mask, output, offset, length) => {\n for (var i = 0; i < length; i++) {\n output[offset + i] = source[i] ^ mask[i & 3];\n }\n};\n\n/**\n * Unmasks a buffer using the given mask.\n *\n * @param {Buffer} buffer The buffer to unmask\n * @param {Buffer} mask The mask to use\n * @public\n */\nconst unmask = (buffer, mask) => {\n // Required until https://github.com/nodejs/node/issues/9006 is resolved.\n const length = buffer.length;\n for (var i = 0; i < length; i++) {\n buffer[i] ^= mask[i & 3];\n }\n};\n\nmodule.exports = { mask, unmask };\n","'use strict';\n\ntry {\n module.exports = require('node-gyp-build')(__dirname);\n} catch (e) {\n module.exports = require('./fallback');\n}\n","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp(token, 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn decodeURIComponent(components.join(''));\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher);\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher);\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","'use strict';\n\nconst EventEmitter = require('events');\nconst { setTimeout, clearTimeout } = require('timers');\nconst fetch = require('node-fetch');\nconst transports = require('./transports');\nconst { RPCCommands, RPCEvents, RelationshipTypes } = require('./constants');\nconst { pid: getPid, uuid } = require('./util');\n\nfunction subKey(event, args) {\n return `${event}${JSON.stringify(args)}`;\n}\n\n/**\n * @typedef {RPCClientOptions}\n * @extends {ClientOptions}\n * @prop {string} transport RPC transport. one of `ipc` or `websocket`\n */\n\n/**\n * The main hub for interacting with Discord RPC\n * @extends {BaseClient}\n */\nclass RPCClient extends EventEmitter {\n /**\n * @param {RPCClientOptions} [options] Options for the client.\n * You must provide a transport\n */\n constructor(options = {}) {\n super();\n\n this.options = options;\n\n this.accessToken = null;\n this.clientId = null;\n\n /**\n * Application used in this client\n * @type {?ClientApplication}\n */\n this.application = null;\n\n /**\n * User used in this application\n * @type {?User}\n */\n this.user = null;\n\n const Transport = transports[options.transport];\n if (!Transport) {\n throw new TypeError('RPC_INVALID_TRANSPORT', options.transport);\n }\n\n this.fetch = (method, path, { data, query } = {}) =>\n fetch(`${this.fetch.endpoint}${path}${query ? new URLSearchParams(query) : ''}`, {\n method,\n body: data,\n headers: {\n Authorization: `Bearer ${this.accessToken}`,\n },\n }).then(async (r) => {\n const body = await r.json();\n if (!r.ok) {\n const e = new Error(r.status);\n e.body = body;\n throw e;\n }\n return body;\n });\n\n this.fetch.endpoint = 'https://discord.com/api';\n\n /**\n * Raw transport userd\n * @type {RPCTransport}\n * @private\n */\n this.transport = new Transport(this);\n this.transport.on('message', this._onRpcMessage.bind(this));\n\n /**\n * Map of nonces being expected from the transport\n * @type {Map}\n * @private\n */\n this._expecting = new Map();\n\n this._connectPromise = undefined;\n }\n\n /**\n * Search and connect to RPC\n */\n connect(clientId) {\n if (this._connectPromise) {\n return this._connectPromise;\n }\n this._connectPromise = new Promise((resolve, reject) => {\n this.clientId = clientId;\n const timeout = setTimeout(() => reject(new Error('RPC_CONNECTION_TIMEOUT')), 10e3);\n timeout.unref();\n this.once('connected', () => {\n clearTimeout(timeout);\n resolve(this);\n });\n this.transport.once('close', () => {\n this._expecting.forEach((e) => {\n e.reject(new Error('connection closed'));\n });\n this.emit('disconnected');\n reject(new Error('connection closed'));\n });\n this.transport.connect().catch(reject);\n });\n return this._connectPromise;\n }\n\n /**\n * @typedef {RPCLoginOptions}\n * @param {string} clientId Client ID\n * @param {string} [clientSecret] Client secret\n * @param {string} [accessToken] Access token\n * @param {string} [rpcToken] RPC token\n * @param {string} [tokenEndpoint] Token endpoint\n * @param {string[]} [scopes] Scopes to authorize with\n */\n\n /**\n * Performs authentication flow. Automatically calls Client#connect if needed.\n * @param {RPCLoginOptions} options Options for authentication.\n * At least one property must be provided to perform login.\n * @example client.login({ clientId: '1234567', clientSecret: 'abcdef123' });\n * @returns {Promise}\n */\n async login(options = {}) {\n let { clientId, accessToken } = options;\n await this.connect(clientId);\n if (!options.scopes) {\n this.emit('ready');\n return this;\n }\n if (!accessToken) {\n accessToken = await this.authorize(options);\n }\n return this.authenticate(accessToken);\n }\n\n /**\n * Request\n * @param {string} cmd Command\n * @param {Object} [args={}] Arguments\n * @param {string} [evt] Event\n * @returns {Promise}\n * @private\n */\n request(cmd, args, evt) {\n return new Promise((resolve, reject) => {\n const nonce = uuid();\n this.transport.send({ cmd, args, evt, nonce });\n this._expecting.set(nonce, { resolve, reject });\n });\n }\n\n /**\n * Message handler\n * @param {Object} message message\n * @private\n */\n _onRpcMessage(message) {\n if (message.cmd === RPCCommands.DISPATCH && message.evt === RPCEvents.READY) {\n if (message.data.user) {\n this.user = message.data.user;\n }\n this.emit('connected');\n } else if (this._expecting.has(message.nonce)) {\n const { resolve, reject } = this._expecting.get(message.nonce);\n if (message.evt === 'ERROR') {\n const e = new Error(message.data.message);\n e.code = message.data.code;\n e.data = message.data;\n reject(e);\n } else {\n resolve(message.data);\n }\n this._expecting.delete(message.nonce);\n } else {\n this.emit(message.evt, message.data);\n }\n }\n\n /**\n * Authorize\n * @param {Object} options options\n * @returns {Promise}\n * @private\n */\n async authorize({ scopes, clientSecret, rpcToken, redirectUri, prompt } = {}) {\n if (clientSecret && rpcToken === true) {\n const body = await this.fetch('POST', '/oauth2/token/rpc', {\n data: new URLSearchParams({\n client_id: this.clientId,\n client_secret: clientSecret,\n }),\n });\n rpcToken = body.rpc_token;\n }\n\n const { code } = await this.request('AUTHORIZE', {\n scopes,\n client_id: this.clientId,\n prompt,\n rpc_token: rpcToken,\n });\n\n const response = await this.fetch('POST', '/oauth2/token', {\n data: new URLSearchParams({\n client_id: this.clientId,\n client_secret: clientSecret,\n code,\n grant_type: 'authorization_code',\n redirect_uri: redirectUri,\n }),\n });\n\n return response.access_token;\n }\n\n /**\n * Authenticate\n * @param {string} accessToken access token\n * @returns {Promise}\n * @private\n */\n authenticate(accessToken) {\n return this.request('AUTHENTICATE', { access_token: accessToken })\n .then(({ application, user }) => {\n this.accessToken = accessToken;\n this.application = application;\n this.user = user;\n this.emit('ready');\n return this;\n });\n }\n\n\n /**\n * Fetch a guild\n * @param {Snowflake} id Guild ID\n * @param {number} [timeout] Timeout request\n * @returns {Promise}\n */\n getGuild(id, timeout) {\n return this.request(RPCCommands.GET_GUILD, { guild_id: id, timeout });\n }\n\n /**\n * Fetch all guilds\n * @param {number} [timeout] Timeout request\n * @returns {Promise>}\n */\n getGuilds(timeout) {\n return this.request(RPCCommands.GET_GUILDS, { timeout });\n }\n\n /**\n * Get a channel\n * @param {Snowflake} id Channel ID\n * @param {number} [timeout] Timeout request\n * @returns {Promise}\n */\n getChannel(id, timeout) {\n return this.request(RPCCommands.GET_CHANNEL, { channel_id: id, timeout });\n }\n\n /**\n * Get all channels\n * @param {Snowflake} [id] Guild ID\n * @param {number} [timeout] Timeout request\n * @returns {Promise>}\n */\n async getChannels(id, timeout) {\n const { channels } = await this.request(RPCCommands.GET_CHANNELS, {\n timeout,\n guild_id: id,\n });\n return channels;\n }\n\n /**\n * @typedef {CertifiedDevice}\n * @prop {string} type One of `AUDIO_INPUT`, `AUDIO_OUTPUT`, `VIDEO_INPUT`\n * @prop {string} uuid This device's Windows UUID\n * @prop {object} vendor Vendor information\n * @prop {string} vendor.name Vendor's name\n * @prop {string} vendor.url Vendor's url\n * @prop {object} model Model information\n * @prop {string} model.name Model's name\n * @prop {string} model.url Model's url\n * @prop {string[]} related Array of related product's Windows UUIDs\n * @prop {boolean} echoCancellation If the device has echo cancellation\n * @prop {boolean} noiseSuppression If the device has noise suppression\n * @prop {boolean} automaticGainControl If the device has automatic gain control\n * @prop {boolean} hardwareMute If the device has a hardware mute\n */\n\n /**\n * Tell discord which devices are certified\n * @param {CertifiedDevice[]} devices Certified devices to send to discord\n * @returns {Promise}\n */\n setCertifiedDevices(devices) {\n return this.request(RPCCommands.SET_CERTIFIED_DEVICES, {\n devices: devices.map((d) => ({\n type: d.type,\n id: d.uuid,\n vendor: d.vendor,\n model: d.model,\n related: d.related,\n echo_cancellation: d.echoCancellation,\n noise_suppression: d.noiseSuppression,\n automatic_gain_control: d.automaticGainControl,\n hardware_mute: d.hardwareMute,\n })),\n });\n }\n\n /**\n * @typedef {UserVoiceSettings}\n * @prop {Snowflake} id ID of the user these settings apply to\n * @prop {?Object} [pan] Pan settings, an object with `left` and `right` set between\n * 0.0 and 1.0, inclusive\n * @prop {?number} [volume=100] The volume\n * @prop {bool} [mute] If the user is muted\n */\n\n /**\n * Set the voice settings for a user, by id\n * @param {Snowflake} id ID of the user to set\n * @param {UserVoiceSettings} settings Settings\n * @returns {Promise}\n */\n setUserVoiceSettings(id, settings) {\n return this.request(RPCCommands.SET_USER_VOICE_SETTINGS, {\n user_id: id,\n pan: settings.pan,\n mute: settings.mute,\n volume: settings.volume,\n });\n }\n\n /**\n * Move the user to a voice channel\n * @param {Snowflake} id ID of the voice channel\n * @param {Object} [options] Options\n * @param {number} [options.timeout] Timeout for the command\n * @param {boolean} [options.force] Force this move. This should only be done if you\n * have explicit permission from the user.\n * @returns {Promise}\n */\n selectVoiceChannel(id, { timeout, force = false } = {}) {\n return this.request(RPCCommands.SELECT_VOICE_CHANNEL, { channel_id: id, timeout, force });\n }\n\n /**\n * Move the user to a text channel\n * @param {Snowflake} id ID of the voice channel\n * @param {Object} [options] Options\n * @param {number} [options.timeout] Timeout for the command\n * have explicit permission from the user.\n * @returns {Promise}\n */\n selectTextChannel(id, { timeout } = {}) {\n return this.request(RPCCommands.SELECT_TEXT_CHANNEL, { channel_id: id, timeout });\n }\n\n /**\n * Get current voice settings\n * @returns {Promise}\n */\n getVoiceSettings() {\n return this.request(RPCCommands.GET_VOICE_SETTINGS)\n .then((s) => ({\n automaticGainControl: s.automatic_gain_control,\n echoCancellation: s.echo_cancellation,\n noiseSuppression: s.noise_suppression,\n qos: s.qos,\n silenceWarning: s.silence_warning,\n deaf: s.deaf,\n mute: s.mute,\n input: {\n availableDevices: s.input.available_devices,\n device: s.input.device_id,\n volume: s.input.volume,\n },\n output: {\n availableDevices: s.output.available_devices,\n device: s.output.device_id,\n volume: s.output.volume,\n },\n mode: {\n type: s.mode.type,\n autoThreshold: s.mode.auto_threshold,\n threshold: s.mode.threshold,\n shortcut: s.mode.shortcut,\n delay: s.mode.delay,\n },\n }));\n }\n\n /**\n * Set current voice settings, overriding the current settings until this session disconnects.\n * This also locks the settings for any other rpc sessions which may be connected.\n * @param {Object} args Settings\n * @returns {Promise}\n */\n setVoiceSettings(args) {\n return this.request(RPCCommands.SET_VOICE_SETTINGS, {\n automatic_gain_control: args.automaticGainControl,\n echo_cancellation: args.echoCancellation,\n noise_suppression: args.noiseSuppression,\n qos: args.qos,\n silence_warning: args.silenceWarning,\n deaf: args.deaf,\n mute: args.mute,\n input: args.input ? {\n device_id: args.input.device,\n volume: args.input.volume,\n } : undefined,\n output: args.output ? {\n device_id: args.output.device,\n volume: args.output.volume,\n } : undefined,\n mode: args.mode ? {\n type: args.mode.type,\n auto_threshold: args.mode.autoThreshold,\n threshold: args.mode.threshold,\n shortcut: args.mode.shortcut,\n delay: args.mode.delay,\n } : undefined,\n });\n }\n\n /**\n * Capture a shortcut using the client\n * The callback takes (key, stop) where `stop` is a function that will stop capturing.\n * This `stop` function must be called before disconnecting or else the user will have\n * to restart their client.\n * @param {Function} callback Callback handling keys\n * @returns {Promise}\n */\n captureShortcut(callback) {\n const subid = subKey(RPCEvents.CAPTURE_SHORTCUT_CHANGE);\n const stop = () => {\n this._subscriptions.delete(subid);\n return this.request(RPCCommands.CAPTURE_SHORTCUT, { action: 'STOP' });\n };\n this._subscriptions.set(subid, ({ shortcut }) => {\n callback(shortcut, stop);\n });\n return this.request(RPCCommands.CAPTURE_SHORTCUT, { action: 'START' })\n .then(() => stop);\n }\n\n /**\n * Sets the presence for the logged in user.\n * @param {object} args The rich presence to pass.\n * @param {number} [pid] The application's process ID. Defaults to the executing process' PID.\n * @returns {Promise}\n */\n setActivity(args = {}, pid = getPid()) {\n let timestamps;\n let assets;\n let party;\n let secrets;\n if (args.startTimestamp || args.endTimestamp) {\n timestamps = {\n start: args.startTimestamp,\n end: args.endTimestamp,\n };\n if (timestamps.start instanceof Date) {\n timestamps.start = Math.round(timestamps.start.getTime());\n }\n if (timestamps.end instanceof Date) {\n timestamps.end = Math.round(timestamps.end.getTime());\n }\n if (timestamps.start > 2147483647000) {\n throw new RangeError('timestamps.start must fit into a unix timestamp');\n }\n if (timestamps.end > 2147483647000) {\n throw new RangeError('timestamps.end must fit into a unix timestamp');\n }\n }\n if (\n args.largeImageKey || args.largeImageText\n || args.smallImageKey || args.smallImageText\n ) {\n assets = {\n large_image: args.largeImageKey,\n large_text: args.largeImageText,\n small_image: args.smallImageKey,\n small_text: args.smallImageText,\n };\n }\n if (args.partySize || args.partyId || args.partyMax) {\n party = { id: args.partyId };\n if (args.partySize || args.partyMax) {\n party.size = [args.partySize, args.partyMax];\n }\n }\n if (args.matchSecret || args.joinSecret || args.spectateSecret) {\n secrets = {\n match: args.matchSecret,\n join: args.joinSecret,\n spectate: args.spectateSecret,\n };\n }\n\n return this.request(RPCCommands.SET_ACTIVITY, {\n pid,\n activity: {\n state: args.state,\n details: args.details,\n timestamps,\n assets,\n party,\n secrets,\n buttons: args.buttons,\n instance: !!args.instance,\n },\n });\n }\n\n /**\n * Clears the currently set presence, if any. This will hide the \"Playing X\" message\n * displayed below the user's name.\n * @param {number} [pid] The application's process ID. Defaults to the executing process' PID.\n * @returns {Promise}\n */\n clearActivity(pid = getPid()) {\n return this.request(RPCCommands.SET_ACTIVITY, {\n pid,\n });\n }\n\n /**\n * Invite a user to join the game the RPC user is currently playing\n * @param {User} user The user to invite\n * @returns {Promise}\n */\n sendJoinInvite(user) {\n return this.request(RPCCommands.SEND_ACTIVITY_JOIN_INVITE, {\n user_id: user.id || user,\n });\n }\n\n /**\n * Request to join the game the user is playing\n * @param {User} user The user whose game you want to request to join\n * @returns {Promise}\n */\n sendJoinRequest(user) {\n return this.request(RPCCommands.SEND_ACTIVITY_JOIN_REQUEST, {\n user_id: user.id || user,\n });\n }\n\n /**\n * Reject a join request from a user\n * @param {User} user The user whose request you wish to reject\n * @returns {Promise}\n */\n closeJoinRequest(user) {\n return this.request(RPCCommands.CLOSE_ACTIVITY_JOIN_REQUEST, {\n user_id: user.id || user,\n });\n }\n\n createLobby(type, capacity, metadata) {\n return this.request(RPCCommands.CREATE_LOBBY, {\n type,\n capacity,\n metadata,\n });\n }\n\n updateLobby(lobby, { type, owner, capacity, metadata } = {}) {\n return this.request(RPCCommands.UPDATE_LOBBY, {\n id: lobby.id || lobby,\n type,\n owner_id: (owner && owner.id) || owner,\n capacity,\n metadata,\n });\n }\n\n deleteLobby(lobby) {\n return this.request(RPCCommands.DELETE_LOBBY, {\n id: lobby.id || lobby,\n });\n }\n\n connectToLobby(id, secret) {\n return this.request(RPCCommands.CONNECT_TO_LOBBY, {\n id,\n secret,\n });\n }\n\n sendToLobby(lobby, data) {\n return this.request(RPCCommands.SEND_TO_LOBBY, {\n id: lobby.id || lobby,\n data,\n });\n }\n\n disconnectFromLobby(lobby) {\n return this.request(RPCCommands.DISCONNECT_FROM_LOBBY, {\n id: lobby.id || lobby,\n });\n }\n\n updateLobbyMember(lobby, user, metadata) {\n return this.request(RPCCommands.UPDATE_LOBBY_MEMBER, {\n lobby_id: lobby.id || lobby,\n user_id: user.id || user,\n metadata,\n });\n }\n\n getRelationships() {\n const types = Object.keys(RelationshipTypes);\n return this.request(RPCCommands.GET_RELATIONSHIPS)\n .then((o) => o.relationships.map((r) => ({\n ...r,\n type: types[r.type],\n })));\n }\n\n /**\n * Subscribe to an event\n * @param {string} event Name of event e.g. `MESSAGE_CREATE`\n * @param {Object} [args] Args for event e.g. `{ channel_id: '1234' }`\n * @returns {Promise}\n */\n async subscribe(event, args) {\n await this.request(RPCCommands.SUBSCRIBE, args, event);\n return {\n unsubscribe: () => this.request(RPCCommands.UNSUBSCRIBE, args, event),\n };\n }\n\n /**\n * Destroy the client\n */\n async destroy() {\n await this.transport.close();\n }\n}\n\nmodule.exports = RPCClient;\n","'use strict';\n\nfunction keyMirror(arr) {\n const tmp = {};\n for (const value of arr) {\n tmp[value] = value;\n }\n return tmp;\n}\n\n\nexports.browser = typeof window !== 'undefined';\n\nexports.RPCCommands = keyMirror([\n 'DISPATCH',\n 'AUTHORIZE',\n 'AUTHENTICATE',\n 'GET_GUILD',\n 'GET_GUILDS',\n 'GET_CHANNEL',\n 'GET_CHANNELS',\n 'CREATE_CHANNEL_INVITE',\n 'GET_RELATIONSHIPS',\n 'GET_USER',\n 'SUBSCRIBE',\n 'UNSUBSCRIBE',\n 'SET_USER_VOICE_SETTINGS',\n 'SET_USER_VOICE_SETTINGS_2',\n 'SELECT_VOICE_CHANNEL',\n 'GET_SELECTED_VOICE_CHANNEL',\n 'SELECT_TEXT_CHANNEL',\n 'GET_VOICE_SETTINGS',\n 'SET_VOICE_SETTINGS_2',\n 'SET_VOICE_SETTINGS',\n 'CAPTURE_SHORTCUT',\n 'SET_ACTIVITY',\n 'SEND_ACTIVITY_JOIN_INVITE',\n 'CLOSE_ACTIVITY_JOIN_REQUEST',\n 'ACTIVITY_INVITE_USER',\n 'ACCEPT_ACTIVITY_INVITE',\n 'INVITE_BROWSER',\n 'DEEP_LINK',\n 'CONNECTIONS_CALLBACK',\n 'BRAINTREE_POPUP_BRIDGE_CALLBACK',\n 'GIFT_CODE_BROWSER',\n 'GUILD_TEMPLATE_BROWSER',\n 'OVERLAY',\n 'BROWSER_HANDOFF',\n 'SET_CERTIFIED_DEVICES',\n 'GET_IMAGE',\n 'CREATE_LOBBY',\n 'UPDATE_LOBBY',\n 'DELETE_LOBBY',\n 'UPDATE_LOBBY_MEMBER',\n 'CONNECT_TO_LOBBY',\n 'DISCONNECT_FROM_LOBBY',\n 'SEND_TO_LOBBY',\n 'SEARCH_LOBBIES',\n 'CONNECT_TO_LOBBY_VOICE',\n 'DISCONNECT_FROM_LOBBY_VOICE',\n 'SET_OVERLAY_LOCKED',\n 'OPEN_OVERLAY_ACTIVITY_INVITE',\n 'OPEN_OVERLAY_GUILD_INVITE',\n 'OPEN_OVERLAY_VOICE_SETTINGS',\n 'VALIDATE_APPLICATION',\n 'GET_ENTITLEMENT_TICKET',\n 'GET_APPLICATION_TICKET',\n 'START_PURCHASE',\n 'GET_SKUS',\n 'GET_ENTITLEMENTS',\n 'GET_NETWORKING_CONFIG',\n 'NETWORKING_SYSTEM_METRICS',\n 'NETWORKING_PEER_METRICS',\n 'NETWORKING_CREATE_TOKEN',\n 'SET_USER_ACHIEVEMENT',\n 'GET_USER_ACHIEVEMENTS',\n]);\n\nexports.RPCEvents = keyMirror([\n 'CURRENT_USER_UPDATE',\n 'GUILD_STATUS',\n 'GUILD_CREATE',\n 'CHANNEL_CREATE',\n 'RELATIONSHIP_UPDATE',\n 'VOICE_CHANNEL_SELECT',\n 'VOICE_STATE_CREATE',\n 'VOICE_STATE_DELETE',\n 'VOICE_STATE_UPDATE',\n 'VOICE_SETTINGS_UPDATE',\n 'VOICE_SETTINGS_UPDATE_2',\n 'VOICE_CONNECTION_STATUS',\n 'SPEAKING_START',\n 'SPEAKING_STOP',\n 'GAME_JOIN',\n 'GAME_SPECTATE',\n 'ACTIVITY_JOIN',\n 'ACTIVITY_JOIN_REQUEST',\n 'ACTIVITY_SPECTATE',\n 'ACTIVITY_INVITE',\n 'NOTIFICATION_CREATE',\n 'MESSAGE_CREATE',\n 'MESSAGE_UPDATE',\n 'MESSAGE_DELETE',\n 'LOBBY_DELETE',\n 'LOBBY_UPDATE',\n 'LOBBY_MEMBER_CONNECT',\n 'LOBBY_MEMBER_DISCONNECT',\n 'LOBBY_MEMBER_UPDATE',\n 'LOBBY_MESSAGE',\n 'CAPTURE_SHORTCUT_CHANGE',\n 'OVERLAY',\n 'OVERLAY_UPDATE',\n 'ENTITLEMENT_CREATE',\n 'ENTITLEMENT_DELETE',\n 'USER_ACHIEVEMENT_UPDATE',\n 'READY',\n 'ERROR',\n]);\n\nexports.RPCErrors = {\n CAPTURE_SHORTCUT_ALREADY_LISTENING: 5004,\n GET_GUILD_TIMED_OUT: 5002,\n INVALID_ACTIVITY_JOIN_REQUEST: 4012,\n INVALID_ACTIVITY_SECRET: 5005,\n INVALID_CHANNEL: 4005,\n INVALID_CLIENTID: 4007,\n INVALID_COMMAND: 4002,\n INVALID_ENTITLEMENT: 4015,\n INVALID_EVENT: 4004,\n INVALID_GIFT_CODE: 4016,\n INVALID_GUILD: 4003,\n INVALID_INVITE: 4011,\n INVALID_LOBBY: 4013,\n INVALID_LOBBY_SECRET: 4014,\n INVALID_ORIGIN: 4008,\n INVALID_PAYLOAD: 4000,\n INVALID_PERMISSIONS: 4006,\n INVALID_TOKEN: 4009,\n INVALID_USER: 4010,\n LOBBY_FULL: 5007,\n NO_ELIGIBLE_ACTIVITY: 5006,\n OAUTH2_ERROR: 5000,\n PURCHASE_CANCELED: 5008,\n PURCHASE_ERROR: 5009,\n RATE_LIMITED: 5011,\n SELECT_CHANNEL_TIMED_OUT: 5001,\n SELECT_VOICE_FORCE_REQUIRED: 5003,\n SERVICE_UNAVAILABLE: 1001,\n TRANSACTION_ABORTED: 1002,\n UNAUTHORIZED_FOR_ACHIEVEMENT: 5010,\n UNKNOWN_ERROR: 1000,\n};\n\nexports.RPCCloseCodes = {\n CLOSE_NORMAL: 1000,\n CLOSE_UNSUPPORTED: 1003,\n CLOSE_ABNORMAL: 1006,\n INVALID_CLIENTID: 4000,\n INVALID_ORIGIN: 4001,\n RATELIMITED: 4002,\n TOKEN_REVOKED: 4003,\n INVALID_VERSION: 4004,\n INVALID_ENCODING: 4005,\n};\n\nexports.LobbyTypes = {\n PRIVATE: 1,\n PUBLIC: 2,\n};\n\nexports.RelationshipTypes = {\n NONE: 0,\n FRIEND: 1,\n BLOCKED: 2,\n PENDING_INCOMING: 3,\n PENDING_OUTGOING: 4,\n IMPLICIT: 5,\n};\n","'use strict';\n\nconst util = require('./util');\n\nmodule.exports = {\n Client: require('./client'),\n register(id) {\n return util.register(`discord-${id}`);\n },\n};\n","'use strict';\n\nmodule.exports = {\n ipc: require('./ipc'),\n websocket: require('./websocket'),\n};\n","'use strict';\n\nconst net = require('net');\nconst EventEmitter = require('events');\nconst fetch = require('node-fetch');\nconst { uuid } = require('../util');\n\nconst OPCodes = {\n HANDSHAKE: 0,\n FRAME: 1,\n CLOSE: 2,\n PING: 3,\n PONG: 4,\n};\n\nfunction getIPCPath(id) {\n if (process.platform === 'win32') {\n return `\\\\\\\\?\\\\pipe\\\\discord-ipc-${id}`;\n }\n const { env: { XDG_RUNTIME_DIR, TMPDIR, TMP, TEMP } } = process;\n const prefix = XDG_RUNTIME_DIR || TMPDIR || TMP || TEMP || '/tmp';\n return `${prefix.replace(/\\/$/, '')}/discord-ipc-${id}`;\n}\n\nfunction getIPC(id = 0) {\n return new Promise((resolve, reject) => {\n const path = getIPCPath(id);\n const onerror = () => {\n if (id < 10) {\n resolve(getIPC(id + 1));\n } else {\n reject(new Error('Could not connect'));\n }\n };\n const sock = net.createConnection(path, () => {\n sock.removeListener('error', onerror);\n resolve(sock);\n });\n sock.once('error', onerror);\n });\n}\n\nasync function findEndpoint(tries = 0) {\n if (tries > 30) {\n throw new Error('Could not find endpoint');\n }\n const endpoint = `http://127.0.0.1:${6463 + (tries % 10)}`;\n try {\n const r = await fetch(endpoint);\n if (r.status === 404) {\n return endpoint;\n }\n return findEndpoint(tries + 1);\n } catch (e) {\n return findEndpoint(tries + 1);\n }\n}\n\nfunction encode(op, data) {\n data = JSON.stringify(data);\n const len = Buffer.byteLength(data);\n const packet = Buffer.alloc(8 + len);\n packet.writeInt32LE(op, 0);\n packet.writeInt32LE(len, 4);\n packet.write(data, 8, len);\n return packet;\n}\n\nconst working = {\n full: '',\n op: undefined,\n};\n\nfunction decode(socket, callback) {\n const packet = socket.read();\n if (!packet) {\n return;\n }\n\n let { op } = working;\n let raw;\n if (working.full === '') {\n op = working.op = packet.readInt32LE(0);\n const len = packet.readInt32LE(4);\n raw = packet.slice(8, len + 8);\n } else {\n raw = packet.toString();\n }\n\n try {\n const data = JSON.parse(working.full + raw);\n callback({ op, data }); // eslint-disable-line callback-return\n working.full = '';\n working.op = undefined;\n } catch (err) {\n working.full += raw;\n }\n\n decode(socket, callback);\n}\n\nclass IPCTransport extends EventEmitter {\n constructor(client) {\n super();\n this.client = client;\n this.socket = null;\n }\n\n async connect() {\n const socket = this.socket = await getIPC();\n socket.on('close', this.onClose.bind(this));\n socket.on('error', this.onClose.bind(this));\n this.emit('open');\n socket.write(encode(OPCodes.HANDSHAKE, {\n v: 1,\n client_id: this.client.clientId,\n }));\n socket.pause();\n socket.on('readable', () => {\n decode(socket, ({ op, data }) => {\n switch (op) {\n case OPCodes.PING:\n this.send(data, OPCodes.PONG);\n break;\n case OPCodes.FRAME:\n if (!data) {\n return;\n }\n if (data.cmd === 'AUTHORIZE' && data.evt !== 'ERROR') {\n findEndpoint()\n .then((endpoint) => {\n this.client.request.endpoint = endpoint;\n })\n .catch((e) => {\n this.client.emit('error', e);\n });\n }\n this.emit('message', data);\n break;\n case OPCodes.CLOSE:\n this.emit('close', data);\n break;\n default:\n break;\n }\n });\n });\n }\n\n onClose(e) {\n this.emit('close', e);\n }\n\n send(data, op = OPCodes.FRAME) {\n this.socket.write(encode(op, data));\n }\n\n async close() {\n return new Promise((r) => {\n this.once('close', r);\n this.send({}, OPCodes.CLOSE);\n this.socket.end();\n });\n }\n\n ping() {\n this.send(uuid(), OPCodes.PING);\n }\n}\n\nmodule.exports = IPCTransport;\nmodule.exports.encode = encode;\nmodule.exports.decode = decode;\n","'use strict';\n\nconst EventEmitter = require('events');\nconst { browser } = require('../constants');\n\n// eslint-disable-next-line\nconst WebSocket = browser ? window.WebSocket : require('ws');\n\nconst pack = (d) => JSON.stringify(d);\nconst unpack = (s) => JSON.parse(s);\n\nclass WebSocketTransport extends EventEmitter {\n constructor(client) {\n super();\n this.client = client;\n this.ws = null;\n this.tries = 0;\n }\n\n async connect() {\n const port = 6463 + (this.tries % 10);\n this.tries += 1;\n\n this.ws = new WebSocket(\n `ws://127.0.0.1:${port}/?v=1&client_id=${this.client.clientId}`,\n browser ? undefined : { origin: this.client.options.origin },\n );\n this.ws.onopen = this.onOpen.bind(this);\n this.ws.onclose = this.onClose.bind(this);\n this.ws.onerror = this.onError.bind(this);\n this.ws.onmessage = this.onMessage.bind(this);\n }\n\n onOpen() {\n this.emit('open');\n }\n\n onClose(event) {\n if (!event.wasClean) {\n return;\n }\n this.emit('close', event);\n }\n\n onError(event) {\n try {\n this.ws.close();\n } catch {} // eslint-disable-line no-empty\n\n if (this.tries > 20) {\n this.emit('error', event.error);\n } else {\n setTimeout(() => {\n this.connect();\n }, 250);\n }\n }\n\n onMessage(event) {\n this.emit('message', unpack(event.data));\n }\n\n send(data) {\n this.ws.send(pack(data));\n }\n\n ping() {} // eslint-disable-line no-empty-function\n\n close() {\n return new Promise((r) => {\n this.once('close', r);\n this.ws.close();\n });\n }\n}\n\nmodule.exports = WebSocketTransport;\n","'use strict';\n\nlet register;\ntry {\n const { app } = require('electron');\n register = app.setAsDefaultProtocolClient.bind(app);\n} catch (err) {\n try {\n register = require('register-scheme');\n } catch (e) {} // eslint-disable-line no-empty\n}\n\nif (typeof register !== 'function') {\n register = () => false;\n}\n\nfunction pid() {\n if (typeof process !== 'undefined') {\n return process.pid;\n }\n return null;\n}\n\nconst uuid4122 = () => {\n let uuid = '';\n for (let i = 0; i < 32; i += 1) {\n if (i === 8 || i === 12 || i === 16 || i === 20) {\n uuid += '-';\n }\n let n;\n if (i === 12) {\n n = 4;\n } else {\n const random = Math.random() * 16 | 0;\n if (i === 16) {\n n = (random & 3) | 0;\n } else {\n n = random;\n }\n }\n uuid += n.toString(16);\n }\n return uuid;\n};\n\nmodule.exports = {\n pid,\n register,\n uuid: uuid4122,\n};\n","const fs = require('fs');\nconst path = require('path');\n\nconst pathFile = path.join(__dirname, 'path.txt');\n\nfunction getElectronPath () {\n let executablePath;\n if (fs.existsSync(pathFile)) {\n executablePath = fs.readFileSync(pathFile, 'utf-8');\n }\n if (process.env.ELECTRON_OVERRIDE_DIST_PATH) {\n return path.join(process.env.ELECTRON_OVERRIDE_DIST_PATH, executablePath || 'electron');\n }\n if (executablePath) {\n return path.join(__dirname, 'dist', executablePath);\n } else {\n throw new Error('Electron failed to install correctly, please delete node_modules/electron and try installing again');\n }\n}\n\nmodule.exports = getElectronPath();\n","\n/**\n * Module dependencies.\n */\n\nvar sep = require('path').sep || '/';\n\n/**\n * Module exports.\n */\n\nmodule.exports = fileUriToPath;\n\n/**\n * File URI to Path function.\n *\n * @param {String} uri\n * @return {String} path\n * @api public\n */\n\nfunction fileUriToPath (uri) {\n if ('string' != typeof uri ||\n uri.length <= 7 ||\n 'file://' != uri.substring(0, 7)) {\n throw new TypeError('must pass in a file:// URI to convert to a file path');\n }\n\n var rest = decodeURI(uri.substring(7));\n var firstSlash = rest.indexOf('/');\n var host = rest.substring(0, firstSlash);\n var path = rest.substring(firstSlash + 1);\n\n // 2. Scheme Definition\n // As a special case, can be the string \"localhost\" or the empty\n // string; this is interpreted as \"the machine from which the URL is\n // being interpreted\".\n if ('localhost' == host) host = '';\n\n if (host) {\n host = sep + sep + host;\n }\n\n // 3.2 Drives, drive letters, mount points, file system root\n // Drive letters are mapped into the top of a file URI in various ways,\n // depending on the implementation; some applications substitute\n // vertical bar (\"|\") for the colon after the drive letter, yielding\n // \"file:///c|/tmp/test.txt\". In some cases, the colon is left\n // unchanged, as in \"file:///c:/tmp/test.txt\". In other cases, the\n // colon is simply omitted, as in \"file:///c/tmp/test.txt\".\n path = path.replace(/^(.+)\\|/, '$1:');\n\n // for Windows, we need to invert the path separators from what a URI uses\n if (sep == '\\\\') {\n path = path.replace(/\\//g, '\\\\');\n }\n\n if (/^.+\\:/.test(path)) {\n // has Windows drive at beginning of path\n } else {\n // unix path…\n path = sep + path;\n }\n\n return host + path;\n}\n","'use strict';\nmodule.exports = function (obj, predicate) {\n\tvar ret = {};\n\tvar keys = Object.keys(obj);\n\tvar isArr = Array.isArray(predicate);\n\n\tfor (var i = 0; i < keys.length; i++) {\n\t\tvar key = keys[i];\n\t\tvar val = obj[key];\n\n\t\tif (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n\t\t\tret[key] = val;\n\t\t}\n\t}\n\n\treturn ret;\n};\n","\"use strict\";\n\n// Dependencies\n\nvar parseUrl = require(\"parse-url\"),\n isSsh = require(\"is-ssh\");\n\n/**\n * gitUp\n * Parses the input url.\n *\n * @name gitUp\n * @function\n * @param {String} input The input url.\n * @return {Object} An object containing the following fields:\n *\n * - `protocols` (Array): An array with the url protocols (usually it has one element).\n * - `port` (null|Number): The domain port.\n * - `resource` (String): The url domain (including subdomains).\n * - `user` (String): The authentication user (usually for ssh urls).\n * - `pathname` (String): The url pathname.\n * - `hash` (String): The url hash.\n * - `search` (String): The url querystring value.\n * - `href` (String): The input url.\n * - `protocol` (String): The git url protocol.\n * - `token` (String): The oauth token (could appear in the https urls).\n */\nfunction gitUp(input) {\n var output = parseUrl(input);\n output.token = \"\";\n\n var splits = output.user.split(\":\");\n if (splits.length === 2) {\n if (splits[1] === \"x-oauth-basic\") {\n output.token = splits[0];\n } else if (splits[0] === \"x-token-auth\") {\n output.token = splits[1];\n }\n }\n\n if (isSsh(output.protocols) || isSsh(input)) {\n output.protocol = \"ssh\";\n } else if (output.protocols.length) {\n output.protocol = output.protocols[0];\n } else {\n output.protocol = \"file\";\n }\n\n output.href = output.href.replace(/\\/$/, \"\");\n return output;\n}\n\nmodule.exports = gitUp;","\"use strict\";\n\nvar gitUp = require(\"git-up\");\n\n/**\n * gitUrlParse\n * Parses a Git url.\n *\n * @name gitUrlParse\n * @function\n * @param {String} url The Git url to parse.\n * @return {GitUrl} The `GitUrl` object containing:\n *\n * - `protocols` (Array): An array with the url protocols (usually it has one element).\n * - `port` (null|Number): The domain port.\n * - `resource` (String): The url domain (including subdomains).\n * - `user` (String): The authentication user (usually for ssh urls).\n * - `pathname` (String): The url pathname.\n * - `hash` (String): The url hash.\n * - `search` (String): The url querystring value.\n * - `href` (String): The input url.\n * - `protocol` (String): The git url protocol.\n * - `token` (String): The oauth token (could appear in the https urls).\n * - `source` (String): The Git provider (e.g. `\"github.com\"`).\n * - `owner` (String): The repository owner.\n * - `name` (String): The repository name.\n * - `ref` (String): The repository ref (e.g., \"master\" or \"dev\").\n * - `filepath` (String): A filepath relative to the repository root.\n * - `filepathtype` (String): The type of filepath in the url (\"blob\" or \"tree\").\n * - `full_name` (String): The owner and name values in the `owner/name` format.\n * - `toString` (Function): A function to stringify the parsed url into another url type.\n * - `organization` (String): The organization the owner belongs to. This is CloudForge specific.\n * - `git_suffix` (Boolean): Whether to add the `.git` suffix or not.\n *\n */\nfunction gitUrlParse(url) {\n\n if (typeof url !== \"string\") {\n throw new Error(\"The url must be a string.\");\n }\n\n var urlInfo = gitUp(url),\n sourceParts = urlInfo.resource.split(\".\"),\n splits = null;\n\n urlInfo.toString = function (type) {\n return gitUrlParse.stringify(this, type);\n };\n\n urlInfo.source = sourceParts.length > 2 ? sourceParts.slice(1 - sourceParts.length).join(\".\") : urlInfo.source = urlInfo.resource;\n\n // Note: Some hosting services (e.g. Visual Studio Team Services) allow whitespace characters\n // in the repository and owner names so we decode the URL pieces to get the correct result\n urlInfo.git_suffix = /\\.git$/.test(urlInfo.pathname);\n urlInfo.name = decodeURIComponent(urlInfo.pathname.replace(/^\\//, '').replace(/\\.git$/, \"\"));\n urlInfo.owner = decodeURIComponent(urlInfo.user);\n\n switch (urlInfo.source) {\n case \"git.cloudforge.com\":\n urlInfo.owner = urlInfo.user;\n urlInfo.organization = sourceParts[0];\n urlInfo.source = \"cloudforge.com\";\n break;\n case \"visualstudio.com\":\n // Handle VSTS SSH URLs\n if (urlInfo.resource === 'vs-ssh.visualstudio.com') {\n splits = urlInfo.name.split(\"/\");\n if (splits.length === 4) {\n urlInfo.organization = splits[1];\n urlInfo.owner = splits[2];\n urlInfo.name = splits[3];\n urlInfo.full_name = splits[2] + '/' + splits[3];\n }\n break;\n } else {\n splits = urlInfo.name.split(\"/\");\n if (splits.length === 2) {\n urlInfo.owner = splits[1];\n urlInfo.name = splits[1];\n urlInfo.full_name = '_git/' + urlInfo.name;\n } else if (splits.length === 3) {\n urlInfo.name = splits[2];\n if (splits[0] === 'DefaultCollection') {\n urlInfo.owner = splits[2];\n urlInfo.organization = splits[0];\n urlInfo.full_name = urlInfo.organization + '/_git/' + urlInfo.name;\n } else {\n urlInfo.owner = splits[0];\n urlInfo.full_name = urlInfo.owner + '/_git/' + urlInfo.name;\n }\n } else if (splits.length === 4) {\n urlInfo.organization = splits[0];\n urlInfo.owner = splits[1];\n urlInfo.name = splits[3];\n urlInfo.full_name = urlInfo.organization + '/' + urlInfo.owner + '/_git/' + urlInfo.name;\n }\n break;\n }\n\n // Azure DevOps (formerly Visual Studio Team Services)\n case \"dev.azure.com\":\n case \"azure.com\":\n if (urlInfo.resource === 'ssh.dev.azure.com') {\n splits = urlInfo.name.split(\"/\");\n if (splits.length === 4) {\n urlInfo.organization = splits[1];\n urlInfo.owner = splits[2];\n urlInfo.name = splits[3];\n }\n break;\n } else {\n splits = urlInfo.name.split(\"/\");\n if (splits.length === 5) {\n urlInfo.organization = splits[0];\n urlInfo.owner = splits[1];\n urlInfo.name = splits[4];\n urlInfo.full_name = '_git/' + urlInfo.name;\n } else if (splits.length === 3) {\n urlInfo.name = splits[2];\n if (splits[0] === 'DefaultCollection') {\n urlInfo.owner = splits[2];\n urlInfo.organization = splits[0];\n urlInfo.full_name = urlInfo.organization + '/_git/' + urlInfo.name;\n } else {\n urlInfo.owner = splits[0];\n urlInfo.full_name = urlInfo.owner + '/_git/' + urlInfo.name;\n }\n } else if (splits.length === 4) {\n urlInfo.organization = splits[0];\n urlInfo.owner = splits[1];\n urlInfo.name = splits[3];\n urlInfo.full_name = urlInfo.organization + '/' + urlInfo.owner + '/_git/' + urlInfo.name;\n }\n if (urlInfo.query && urlInfo.query['path']) {\n urlInfo.filepath = urlInfo.query['path'].replace(/^\\/+/g, ''); // Strip leading slash (/)\n }\n if (urlInfo.query && urlInfo.query['version']) {\n // version=GB\n urlInfo.ref = urlInfo.query['version'].replace(/^GB/, ''); // remove GB\n }\n break;\n }\n default:\n splits = urlInfo.name.split(\"/\");\n var nameIndex = splits.length - 1;\n if (splits.length >= 2) {\n var dashIndex = splits.indexOf(\"-\", 2);\n var blobIndex = splits.indexOf(\"blob\", 2);\n var treeIndex = splits.indexOf(\"tree\", 2);\n var commitIndex = splits.indexOf(\"commit\", 2);\n var srcIndex = splits.indexOf(\"src\", 2);\n var rawIndex = splits.indexOf(\"raw\", 2);\n nameIndex = dashIndex > 0 ? dashIndex - 1 : blobIndex > 0 ? blobIndex - 1 : treeIndex > 0 ? treeIndex - 1 : commitIndex > 0 ? commitIndex - 1 : srcIndex > 0 ? srcIndex - 1 : rawIndex > 0 ? rawIndex - 1 : nameIndex;\n\n urlInfo.owner = splits.slice(0, nameIndex).join('/');\n urlInfo.name = splits[nameIndex];\n if (commitIndex) {\n urlInfo.commit = splits[nameIndex + 2];\n }\n }\n\n urlInfo.ref = \"\";\n urlInfo.filepathtype = \"\";\n urlInfo.filepath = \"\";\n var offsetNameIndex = splits.length > nameIndex && splits[nameIndex + 1] === \"-\" ? nameIndex + 1 : nameIndex;\n if (splits.length > offsetNameIndex + 2 && [\"raw\", \"src\", \"blob\", \"tree\"].indexOf(splits[offsetNameIndex + 1]) >= 0) {\n urlInfo.filepathtype = splits[offsetNameIndex + 1];\n urlInfo.ref = splits[offsetNameIndex + 2];\n if (splits.length > offsetNameIndex + 3) {\n urlInfo.filepath = splits.slice(offsetNameIndex + 3).join('/');\n }\n }\n urlInfo.organization = urlInfo.owner;\n break;\n }\n\n if (!urlInfo.full_name) {\n urlInfo.full_name = urlInfo.owner;\n if (urlInfo.name) {\n urlInfo.full_name && (urlInfo.full_name += \"/\");\n urlInfo.full_name += urlInfo.name;\n }\n }\n // Bitbucket Server\n if (urlInfo.owner.startsWith(\"scm/\")) {\n urlInfo.source = \"bitbucket-server\";\n urlInfo.owner = urlInfo.owner.replace(\"scm/\", \"\");\n urlInfo.organization = urlInfo.owner;\n urlInfo.full_name = urlInfo.owner + \"/\" + urlInfo.name;\n }\n\n var bitbucket = /(projects|users)\\/(.*?)\\/repos\\/(.*?)((\\/.*$)|$)/;\n var matches = bitbucket.exec(urlInfo.pathname);\n if (matches != null) {\n urlInfo.source = \"bitbucket-server\";\n if (matches[1] === \"users\") {\n urlInfo.owner = \"~\" + matches[2];\n } else {\n urlInfo.owner = matches[2];\n }\n\n urlInfo.organization = urlInfo.owner;\n urlInfo.name = matches[3];\n\n splits = matches[4].split(\"/\");\n if (splits.length > 1) {\n if ([\"raw\", \"browse\"].indexOf(splits[1]) >= 0) {\n urlInfo.filepathtype = splits[1];\n if (splits.length > 2) {\n urlInfo.filepath = splits.slice(2).join('/');\n }\n } else if (splits[1] === \"commits\" && splits.length > 2) {\n urlInfo.commit = splits[2];\n }\n }\n urlInfo.full_name = urlInfo.owner + \"/\" + urlInfo.name;\n\n if (urlInfo.query.at) {\n urlInfo.ref = urlInfo.query.at;\n } else {\n urlInfo.ref = \"\";\n }\n }\n return urlInfo;\n}\n\n/**\n * stringify\n * Stringifies a `GitUrl` object.\n *\n * @name stringify\n * @function\n * @param {GitUrl} obj The parsed Git url object.\n * @param {String} type The type of the stringified url (default `obj.protocol`).\n * @return {String} The stringified url.\n */\ngitUrlParse.stringify = function (obj, type) {\n type = type || (obj.protocols && obj.protocols.length ? obj.protocols.join('+') : obj.protocol);\n var port = obj.port ? \":\" + obj.port : '';\n var user = obj.user || 'git';\n var maybeGitSuffix = obj.git_suffix ? \".git\" : \"\";\n switch (type) {\n case \"ssh\":\n if (port) return \"ssh://\" + user + \"@\" + obj.resource + port + \"/\" + obj.full_name + maybeGitSuffix;else return user + \"@\" + obj.resource + \":\" + obj.full_name + maybeGitSuffix;\n case \"git+ssh\":\n case \"ssh+git\":\n case \"ftp\":\n case \"ftps\":\n return type + \"://\" + user + \"@\" + obj.resource + port + \"/\" + obj.full_name + maybeGitSuffix;\n case \"http\":\n case \"https\":\n var auth = obj.token ? buildToken(obj) : obj.user && (obj.protocols.includes('http') || obj.protocols.includes('https')) ? obj.user + \"@\" : \"\";\n return type + \"://\" + auth + obj.resource + port + \"/\" + buildPath(obj) + maybeGitSuffix;\n default:\n return obj.href;\n }\n};\n\n/*!\n * buildToken\n * Builds OAuth token prefix (helper function)\n *\n * @name buildToken\n * @function\n * @param {GitUrl} obj The parsed Git url object.\n * @return {String} token prefix\n */\nfunction buildToken(obj) {\n switch (obj.source) {\n case \"bitbucket.org\":\n return \"x-token-auth:\" + obj.token + \"@\";\n default:\n return obj.token + \"@\";\n }\n}\n\nfunction buildPath(obj) {\n switch (obj.source) {\n case \"bitbucket-server\":\n return \"scm/\" + obj.full_name;\n default:\n return \"\" + obj.full_name;\n\n }\n}\n\nmodule.exports = gitUrlParse;","\"use strict\";\n\n// Dependencies\nvar protocols = require(\"protocols\");\n\n/**\n * isSsh\n * Checks if an input value is a ssh url or not.\n *\n * @name isSsh\n * @function\n * @param {String|Array} input The input url or an array of protocols.\n * @return {Boolean} `true` if the input is a ssh url, `false` otherwise.\n */\nfunction isSsh(input) {\n\n if (Array.isArray(input)) {\n return input.indexOf(\"ssh\") !== -1 || input.indexOf(\"rsync\") !== -1;\n }\n\n if (typeof input !== \"string\") {\n return false;\n }\n\n var prots = protocols(input);\n input = input.substring(input.indexOf(\"://\") + 3);\n if (isSsh(prots)) {\n return true;\n }\n\n // TODO This probably could be improved :)\n var urlPortPattern = new RegExp('\\.([a-zA-Z\\\\d]+):(\\\\d+)\\/');\n return !input.match(urlPortPattern) && input.indexOf(\"@\") < input.indexOf(\":\");\n}\n\nmodule.exports = isSsh;","var fs = require('fs')\nvar path = require('path')\nvar os = require('os')\n\n// Workaround to fix webpack's build warnings: 'the request of a dependency is an expression'\nvar runtimeRequire = typeof __webpack_require__ === 'function' ? __non_webpack_require__ : require // eslint-disable-line\n\nvar vars = (process.config && process.config.variables) || {}\nvar prebuildsOnly = !!process.env.PREBUILDS_ONLY\nvar abi = process.versions.modules // TODO: support old node where this is undef\nvar runtime = isElectron() ? 'electron' : 'node'\nvar arch = os.arch()\nvar platform = os.platform()\nvar libc = process.env.LIBC || (isAlpine(platform) ? 'musl' : 'glibc')\nvar armv = process.env.ARM_VERSION || (arch === 'arm64' ? '8' : vars.arm_version) || ''\nvar uv = (process.versions.uv || '').split('.')[0]\n\nmodule.exports = load\n\nfunction load (dir) {\n return runtimeRequire(load.path(dir))\n}\n\nload.path = function (dir) {\n dir = path.resolve(dir || '.')\n\n try {\n var name = runtimeRequire(path.join(dir, 'package.json')).name.toUpperCase().replace(/-/g, '_')\n if (process.env[name + '_PREBUILD']) dir = process.env[name + '_PREBUILD']\n } catch (err) {}\n\n if (!prebuildsOnly) {\n var release = getFirst(path.join(dir, 'build/Release'), matchBuild)\n if (release) return release\n\n var debug = getFirst(path.join(dir, 'build/Debug'), matchBuild)\n if (debug) return debug\n }\n\n var prebuild = resolve(dir)\n if (prebuild) return prebuild\n\n var nearby = resolve(path.dirname(process.execPath))\n if (nearby) return nearby\n\n var target = [\n 'platform=' + platform,\n 'arch=' + arch,\n 'runtime=' + runtime,\n 'abi=' + abi,\n 'uv=' + uv,\n armv ? 'armv=' + armv : '',\n 'libc=' + libc,\n 'node=' + process.versions.node,\n process.versions.electron ? 'electron=' + process.versions.electron : '',\n typeof __webpack_require__ === 'function' ? 'webpack=true' : '' // eslint-disable-line\n ].filter(Boolean).join(' ')\n\n throw new Error('No native build was found for ' + target + '\\n loaded from: ' + dir + '\\n')\n\n function resolve (dir) {\n // Find matching \"prebuilds/-\" directory\n var tuples = readdirSync(path.join(dir, 'prebuilds')).map(parseTuple)\n var tuple = tuples.filter(matchTuple(platform, arch)).sort(compareTuples)[0]\n if (!tuple) return\n\n // Find most specific flavor first\n var prebuilds = path.join(dir, 'prebuilds', tuple.name)\n var parsed = readdirSync(prebuilds).map(parseTags)\n var candidates = parsed.filter(matchTags(runtime, abi))\n var winner = candidates.sort(compareTags(runtime))[0]\n if (winner) return path.join(prebuilds, winner.file)\n }\n}\n\nfunction readdirSync (dir) {\n try {\n return fs.readdirSync(dir)\n } catch (err) {\n return []\n }\n}\n\nfunction getFirst (dir, filter) {\n var files = readdirSync(dir).filter(filter)\n return files[0] && path.join(dir, files[0])\n}\n\nfunction matchBuild (name) {\n return /\\.node$/.test(name)\n}\n\nfunction parseTuple (name) {\n // Example: darwin-x64+arm64\n var arr = name.split('-')\n if (arr.length !== 2) return\n\n var platform = arr[0]\n var architectures = arr[1].split('+')\n\n if (!platform) return\n if (!architectures.length) return\n if (!architectures.every(Boolean)) return\n\n return { name, platform, architectures }\n}\n\nfunction matchTuple (platform, arch) {\n return function (tuple) {\n if (tuple == null) return false\n if (tuple.platform !== platform) return false\n return tuple.architectures.includes(arch)\n }\n}\n\nfunction compareTuples (a, b) {\n // Prefer single-arch prebuilds over multi-arch\n return a.architectures.length - b.architectures.length\n}\n\nfunction parseTags (file) {\n var arr = file.split('.')\n var extension = arr.pop()\n var tags = { file: file, specificity: 0 }\n\n if (extension !== 'node') return\n\n for (var i = 0; i < arr.length; i++) {\n var tag = arr[i]\n\n if (tag === 'node' || tag === 'electron' || tag === 'node-webkit') {\n tags.runtime = tag\n } else if (tag === 'napi') {\n tags.napi = true\n } else if (tag.slice(0, 3) === 'abi') {\n tags.abi = tag.slice(3)\n } else if (tag.slice(0, 2) === 'uv') {\n tags.uv = tag.slice(2)\n } else if (tag.slice(0, 4) === 'armv') {\n tags.armv = tag.slice(4)\n } else if (tag === 'glibc' || tag === 'musl') {\n tags.libc = tag\n } else {\n continue\n }\n\n tags.specificity++\n }\n\n return tags\n}\n\nfunction matchTags (runtime, abi) {\n return function (tags) {\n if (tags == null) return false\n if (tags.runtime !== runtime && !runtimeAgnostic(tags)) return false\n if (tags.abi !== abi && !tags.napi) return false\n if (tags.uv && tags.uv !== uv) return false\n if (tags.armv && tags.armv !== armv) return false\n if (tags.libc && tags.libc !== libc) return false\n\n return true\n }\n}\n\nfunction runtimeAgnostic (tags) {\n return tags.runtime === 'node' && tags.napi\n}\n\nfunction compareTags (runtime) {\n // Precedence: non-agnostic runtime, abi over napi, then by specificity.\n return function (a, b) {\n if (a.runtime !== b.runtime) {\n return a.runtime === runtime ? -1 : 1\n } else if (a.abi !== b.abi) {\n return a.abi ? -1 : 1\n } else if (a.specificity !== b.specificity) {\n return a.specificity > b.specificity ? -1 : 1\n } else {\n return 0\n }\n }\n}\n\nfunction isElectron () {\n if (process.versions && process.versions.electron) return true\n if (process.env.ELECTRON_RUN_AS_NODE) return true\n return typeof window !== 'undefined' && window.process && window.process.type === 'renderer'\n}\n\nfunction isAlpine (platform) {\n return platform === 'linux' && fs.existsSync('/etc/alpine-release')\n}\n\n// Exposed for unit tests\n// TODO: move to lib\nload.parseTags = parseTags\nload.matchTags = matchTags\nload.compareTags = compareTags\nload.parseTuple = parseTuple\nload.matchTuple = matchTuple\nload.compareTuples = compareTuples\n","'use strict';\n\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\nconst DATA_URL_DEFAULT_MIME_TYPE = 'text/plain';\nconst DATA_URL_DEFAULT_CHARSET = 'us-ascii';\n\nconst testParameter = (name, filters) => {\n\treturn filters.some(filter => filter instanceof RegExp ? filter.test(name) : filter === name);\n};\n\nconst normalizeDataURL = (urlString, {stripHash}) => {\n\tconst match = /^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(urlString);\n\n\tif (!match) {\n\t\tthrow new Error(`Invalid URL: ${urlString}`);\n\t}\n\n\tlet {type, data, hash} = match.groups;\n\tconst mediaType = type.split(';');\n\thash = stripHash ? '' : hash;\n\n\tlet isBase64 = false;\n\tif (mediaType[mediaType.length - 1] === 'base64') {\n\t\tmediaType.pop();\n\t\tisBase64 = true;\n\t}\n\n\t// Lowercase MIME type\n\tconst mimeType = (mediaType.shift() || '').toLowerCase();\n\tconst attributes = mediaType\n\t\t.map(attribute => {\n\t\t\tlet [key, value = ''] = attribute.split('=').map(string => string.trim());\n\n\t\t\t// Lowercase `charset`\n\t\t\tif (key === 'charset') {\n\t\t\t\tvalue = value.toLowerCase();\n\n\t\t\t\tif (value === DATA_URL_DEFAULT_CHARSET) {\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn `${key}${value ? `=${value}` : ''}`;\n\t\t})\n\t\t.filter(Boolean);\n\n\tconst normalizedMediaType = [\n\t\t...attributes\n\t];\n\n\tif (isBase64) {\n\t\tnormalizedMediaType.push('base64');\n\t}\n\n\tif (normalizedMediaType.length !== 0 || (mimeType && mimeType !== DATA_URL_DEFAULT_MIME_TYPE)) {\n\t\tnormalizedMediaType.unshift(mimeType);\n\t}\n\n\treturn `data:${normalizedMediaType.join(';')},${isBase64 ? data.trim() : data}${hash ? `#${hash}` : ''}`;\n};\n\nconst normalizeUrl = (urlString, options) => {\n\toptions = {\n\t\tdefaultProtocol: 'http:',\n\t\tnormalizeProtocol: true,\n\t\tforceHttp: false,\n\t\tforceHttps: false,\n\t\tstripAuthentication: true,\n\t\tstripHash: false,\n\t\tstripTextFragment: true,\n\t\tstripWWW: true,\n\t\tremoveQueryParameters: [/^utm_\\w+/i],\n\t\tremoveTrailingSlash: true,\n\t\tremoveSingleSlash: true,\n\t\tremoveDirectoryIndex: false,\n\t\tsortQueryParameters: true,\n\t\t...options\n\t};\n\n\turlString = urlString.trim();\n\n\t// Data URL\n\tif (/^data:/i.test(urlString)) {\n\t\treturn normalizeDataURL(urlString, options);\n\t}\n\n\tif (/^view-source:/i.test(urlString)) {\n\t\tthrow new Error('`view-source:` is not supported as it is a non-standard protocol');\n\t}\n\n\tconst hasRelativeProtocol = urlString.startsWith('//');\n\tconst isRelativeUrl = !hasRelativeProtocol && /^\\.*\\//.test(urlString);\n\n\t// Prepend protocol\n\tif (!isRelativeUrl) {\n\t\turlString = urlString.replace(/^(?!(?:\\w+:)?\\/\\/)|^\\/\\//, options.defaultProtocol);\n\t}\n\n\tconst urlObj = new URL(urlString);\n\n\tif (options.forceHttp && options.forceHttps) {\n\t\tthrow new Error('The `forceHttp` and `forceHttps` options cannot be used together');\n\t}\n\n\tif (options.forceHttp && urlObj.protocol === 'https:') {\n\t\turlObj.protocol = 'http:';\n\t}\n\n\tif (options.forceHttps && urlObj.protocol === 'http:') {\n\t\turlObj.protocol = 'https:';\n\t}\n\n\t// Remove auth\n\tif (options.stripAuthentication) {\n\t\turlObj.username = '';\n\t\turlObj.password = '';\n\t}\n\n\t// Remove hash\n\tif (options.stripHash) {\n\t\turlObj.hash = '';\n\t} else if (options.stripTextFragment) {\n\t\turlObj.hash = urlObj.hash.replace(/#?:~:text.*?$/i, '');\n\t}\n\n\t// Remove duplicate slashes if not preceded by a protocol\n\tif (urlObj.pathname) {\n\t\turlObj.pathname = urlObj.pathname.replace(/(? 0) {\n\t\tlet pathComponents = urlObj.pathname.split('/');\n\t\tconst lastComponent = pathComponents[pathComponents.length - 1];\n\n\t\tif (testParameter(lastComponent, options.removeDirectoryIndex)) {\n\t\t\tpathComponents = pathComponents.slice(0, pathComponents.length - 1);\n\t\t\turlObj.pathname = pathComponents.slice(1).join('/') + '/';\n\t\t}\n\t}\n\n\tif (urlObj.hostname) {\n\t\t// Remove trailing dot\n\t\turlObj.hostname = urlObj.hostname.replace(/\\.$/, '');\n\n\t\t// Remove `www.`\n\t\tif (options.stripWWW && /^www\\.(?!www\\.)(?:[a-z\\-\\d]{1,63})\\.(?:[a-z.\\-\\d]{2,63})$/.test(urlObj.hostname)) {\n\t\t\t// Each label should be max 63 at length (min: 1).\n\t\t\t// Source: https://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names\n\t\t\t// Each TLD should be up to 63 characters long (min: 2).\n\t\t\t// It is technically possible to have a single character TLD, but none currently exist.\n\t\t\turlObj.hostname = urlObj.hostname.replace(/^www\\./, '');\n\t\t}\n\t}\n\n\t// Remove query unwanted parameters\n\tif (Array.isArray(options.removeQueryParameters)) {\n\t\tfor (const key of [...urlObj.searchParams.keys()]) {\n\t\t\tif (testParameter(key, options.removeQueryParameters)) {\n\t\t\t\turlObj.searchParams.delete(key);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (options.removeQueryParameters === true) {\n\t\turlObj.search = '';\n\t}\n\n\t// Sort query parameters\n\tif (options.sortQueryParameters) {\n\t\turlObj.searchParams.sort();\n\t}\n\n\tif (options.removeTrailingSlash) {\n\t\turlObj.pathname = urlObj.pathname.replace(/\\/$/, '');\n\t}\n\n\tconst oldUrlString = urlString;\n\n\t// Take advantage of many of the Node `url` normalizations\n\turlString = urlObj.toString();\n\n\tif (!options.removeSingleSlash && urlObj.pathname === '/' && !oldUrlString.endsWith('/') && urlObj.hash === '') {\n\t\turlString = urlString.replace(/\\/$/, '');\n\t}\n\n\t// Remove ending `/` unless removeSingleSlash is false\n\tif ((options.removeTrailingSlash || urlObj.pathname === '/') && urlObj.hash === '' && options.removeSingleSlash) {\n\t\turlString = urlString.replace(/\\/$/, '');\n\t}\n\n\t// Restore relative protocol, if applicable\n\tif (hasRelativeProtocol && !options.normalizeProtocol) {\n\t\turlString = urlString.replace(/^http:\\/\\//, '//');\n\t}\n\n\t// Remove http/https\n\tif (options.stripProtocol) {\n\t\turlString = urlString.replace(/^(?:https?:)?\\/\\//, '');\n\t}\n\n\treturn urlString;\n};\n\nmodule.exports = normalizeUrl;\n","\"use strict\";\n\n// Dependencies\nvar protocols = require(\"protocols\"),\n isSsh = require(\"is-ssh\"),\n qs = require(\"query-string\");\n\n/**\n * parsePath\n * Parses the input url.\n *\n * @name parsePath\n * @function\n * @param {String} url The input url.\n * @return {Object} An object containing the following fields:\n *\n * - `protocols` (Array): An array with the url protocols (usually it has one element).\n * - `protocol` (String): The first protocol, `\"ssh\"` (if the url is a ssh url) or `\"file\"`.\n * - `port` (null|Number): The domain port.\n * - `resource` (String): The url domain (including subdomains).\n * - `user` (String): The authentication user (usually for ssh urls).\n * - `pathname` (String): The url pathname.\n * - `hash` (String): The url hash.\n * - `search` (String): The url querystring value.\n * - `href` (String): The input url.\n * - `query` (Object): The url querystring, parsed as object.\n */\nfunction parsePath(url) {\n url = (url || \"\").trim();\n var output = {\n protocols: protocols(url),\n protocol: null,\n port: null,\n resource: \"\",\n user: \"\",\n pathname: \"\",\n hash: \"\",\n search: \"\",\n href: url,\n query: Object.create(null)\n },\n protocolIndex = url.indexOf(\"://\"),\n resourceIndex = -1,\n splits = null,\n parts = null;\n\n if (url.startsWith(\".\")) {\n if (url.startsWith(\"./\")) {\n url = url.substring(2);\n }\n output.pathname = url;\n output.protocol = \"file\";\n }\n\n var firstChar = url.charAt(1);\n if (!output.protocol) {\n output.protocol = output.protocols[0];\n if (!output.protocol) {\n if (isSsh(url)) {\n output.protocol = \"ssh\";\n } else if (firstChar === \"/\" || firstChar === \"~\") {\n url = url.substring(2);\n output.protocol = \"file\";\n } else {\n output.protocol = \"file\";\n }\n }\n }\n\n if (protocolIndex !== -1) {\n url = url.substring(protocolIndex + 3);\n }\n\n parts = url.split(/\\/|\\\\/);\n if (output.protocol !== \"file\") {\n output.resource = parts.shift();\n } else {\n output.resource = \"\";\n }\n\n // user@domain\n splits = output.resource.split(\"@\");\n if (splits.length === 2) {\n output.user = splits[0];\n output.resource = splits[1];\n }\n\n // domain.com:port\n splits = output.resource.split(\":\");\n if (splits.length === 2) {\n output.resource = splits[0];\n if (splits[1]) {\n output.port = Number(splits[1]);\n if (isNaN(output.port)) {\n output.port = null;\n parts.unshift(splits[1]);\n }\n } else {\n output.port = null;\n }\n }\n\n // Remove empty elements\n parts = parts.filter(Boolean);\n\n // Stringify the pathname\n if (output.protocol === \"file\") {\n output.pathname = output.href;\n } else {\n output.pathname = output.pathname || (output.protocol !== \"file\" || output.href[0] === \"/\" ? \"/\" : \"\") + parts.join(\"/\");\n }\n\n // #some-hash\n splits = output.pathname.split(\"#\");\n if (splits.length === 2) {\n output.pathname = splits[0];\n output.hash = splits[1];\n }\n\n // ?foo=bar\n splits = output.pathname.split(\"?\");\n if (splits.length === 2) {\n output.pathname = splits[0];\n output.search = splits[1];\n }\n\n output.query = qs.parse(output.search);\n output.href = output.href.replace(/\\/$/, \"\");\n output.pathname = output.pathname.replace(/\\/$/, \"\");\n return output;\n}\n\nmodule.exports = parsePath;","\"use strict\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar parsePath = require(\"parse-path\"),\n normalizeUrl = require(\"normalize-url\");\n\n/**\n * parseUrl\n * Parses the input url.\n *\n * **Note**: This *throws* if invalid urls are provided.\n *\n * @name parseUrl\n * @function\n * @param {String} url The input url.\n * @param {Boolean|Object} normalize Wheter to normalize the url or not.\n * Default is `false`. If `true`, the url will\n * be normalized. If an object, it will be the\n * options object sent to [`normalize-url`](https://github.com/sindresorhus/normalize-url).\n *\n * For SSH urls, normalize won't work.\n *\n * @return {Object} An object containing the following fields:\n *\n * - `protocols` (Array): An array with the url protocols (usually it has one element).\n * - `protocol` (String): The first protocol, `\"ssh\"` (if the url is a ssh url) or `\"file\"`.\n * - `port` (null|Number): The domain port.\n * - `resource` (String): The url domain (including subdomains).\n * - `user` (String): The authentication user (usually for ssh urls).\n * - `pathname` (String): The url pathname.\n * - `hash` (String): The url hash.\n * - `search` (String): The url querystring value.\n * - `href` (String): The input url.\n * - `query` (Object): The url querystring, parsed as object.\n */\nfunction parseUrl(url) {\n var normalize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (typeof url !== \"string\" || !url.trim()) {\n throw new Error(\"Invalid url.\");\n }\n if (normalize) {\n if ((typeof normalize === \"undefined\" ? \"undefined\" : _typeof(normalize)) !== \"object\") {\n normalize = {\n stripHash: false\n };\n }\n url = normalizeUrl(url, normalize);\n }\n var parsed = parsePath(url);\n return parsed;\n}\n\nmodule.exports = parseUrl;","\"use strict\";\n\n/**\n * protocols\n * Returns the protocols of an input url.\n *\n * @name protocols\n * @function\n * @param {String} input The input url.\n * @param {Boolean|Number} first If `true`, the first protocol will be returned. If number, it will represent the zero-based index of the protocols array.\n * @return {Array|String} The array of protocols or the specified protocol.\n */\nmodule.exports = function protocols(input, first) {\n\n if (first === true) {\n first = 0;\n }\n\n var index = input.indexOf(\"://\"),\n splits = input.substring(0, index).split(\"+\").filter(Boolean);\n\n if (typeof first === \"number\") {\n return splits[first];\n }\n\n return splits;\n};","'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\nconst filterObject = require('filter-obj');\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (value === null || value === undefined || value.length === 0) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(query, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn ret;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of query.split('&')) {\n\t\tif (param === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : ['comma', 'separator'].includes(options.arrayFormat) ? value : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key])) ||\n\t\t(options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const key of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (url, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url_, hash] = splitOnFirst(url, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url_.split('?')[0] || '',\n\t\t\tquery: parse(extract(url), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (object, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true\n\t}, options);\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(object.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, object.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\thash = `#${encode(object.fragmentIdentifier, options)}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n\nexports.pick = (input, filter, options) => {\n\toptions = Object.assign({\n\t\tparseFragmentIdentifier: true\n\t}, options);\n\n\tconst {url, query, fragmentIdentifier} = exports.parseUrl(input, options);\n\treturn exports.stringifyUrl({\n\t\turl,\n\t\tquery: filterObject(query, filter),\n\t\tfragmentIdentifier\n\t}, options);\n};\n\nexports.exclude = (input, filter, options) => {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn exports.pick(input, exclusionFilter, options);\n};\n","module.exports = require('bindings')('register-protocol-handler').registerProtocolHandler;\n","'use strict';\n\nmodule.exports = (string, separator) => {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (separator === '') {\n\t\treturn [string];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [string];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n};\n","'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n","\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"vscode\");","import { window } from 'vscode';\nconst outputChannel = window.createOutputChannel('RPC');\nexport var LogLevel;\n(function (LogLevel) {\n LogLevel[\"Info\"] = \"INFO\";\n LogLevel[\"Warn\"] = \"WARN\";\n LogLevel[\"Error\"] = \"ERROR\";\n})(LogLevel || (LogLevel = {}));\nconst logMessage = (message, logLevel) => {\n const timestamp = new Date().toLocaleTimeString();\n if (typeof message === 'string') {\n outputChannel.appendLine(`[${timestamp} - ${logLevel}] ${message}`);\n }\n else if (message instanceof Error) {\n outputChannel.appendLine(`[${timestamp} - ${logLevel}] ${message.message}`);\n if (message.stack) {\n outputChannel.appendLine(`[${timestamp} - ${logLevel}] ${message.stack}`);\n }\n }\n else if (typeof message === 'object') {\n try {\n const json = JSON.stringify(message, null, 2);\n outputChannel.appendLine(`[${timestamp} - ${logLevel}] ${json}`);\n }\n catch { }\n }\n};\nexport const logInfo = (message) => {\n logMessage(message, \"INFO\" /* Info */);\n};\nexport const logWarn = (message) => {\n logMessage(message, \"WARN\" /* Warn */);\n};\nexport const logError = (message) => {\n logMessage(message, \"ERROR\" /* Error */);\n};\n","export const throttle = (fn, delay) => {\n let lastCalled = 0;\n return (...args) => {\n const now = new Date().getTime();\n if (now - lastCalled < delay) {\n return;\n }\n lastCalled = now;\n return fn(...args);\n };\n};\n","import { workspace } from 'vscode';\nexport function getConfig() {\n return workspace.getConfiguration('rpc');\n}\n","import lang from './data/languages.json';\nexport const { KNOWN_EXTENSIONS, KNOWN_LANGUAGES } = lang;\nexport const EMPTY = '';\nexport const FAKE_EMPTY = '\\u200b\\u200b';\nexport const IDLE_SMALL_IMAGE_KEY = 'idle';\nexport const IDLE_VSCODE_IMAGE_KEY = 'idle-vscode';\nexport const IDLE_VSCODE_INSIDERS_IMAGE_KEY = 'idle-vscode-insiders';\nexport const DEBUGGING_IMAGE_KEY = 'debugging';\nexport const VSCODE_IMAGE_KEY = 'vscode';\nexport const VSCODE_INSIDERS_IMAGE_KEY = 'vscode-insiders';\nexport var CONFIG_KEYS;\n(function (CONFIG_KEYS) {\n CONFIG_KEYS[\"Id\"] = \"id\";\n CONFIG_KEYS[\"Enabled\"] = \"enabled\";\n CONFIG_KEYS[\"DetailsIdling\"] = \"detailsIdling\";\n CONFIG_KEYS[\"DetailsViewing\"] = \"detailsViewing\";\n CONFIG_KEYS[\"DetailsEditing\"] = \"detailsEditing\";\n CONFIG_KEYS[\"DetailsDebugging\"] = \"detailsDebugging\";\n CONFIG_KEYS[\"LowerDetailsIdling\"] = \"lowerDetailsIdling\";\n CONFIG_KEYS[\"LowerDetailsViewing\"] = \"lowerDetailsViewing\";\n CONFIG_KEYS[\"LowerDetailsEditing\"] = \"lowerDetailsEditing\";\n CONFIG_KEYS[\"LowerDetailsDebugging\"] = \"lowerDetailsDebugging\";\n CONFIG_KEYS[\"LowerDetailsNoWorkspaceFound\"] = \"lowerDetailsNoWorkspaceFound\";\n CONFIG_KEYS[\"LargeImageIdling\"] = \"largeImageIdling\";\n CONFIG_KEYS[\"LargeImage\"] = \"largeImage\";\n CONFIG_KEYS[\"SmallImage\"] = \"smallImage\";\n CONFIG_KEYS[\"RemoveElapsedTime\"] = \"removeElapsedTime\";\n CONFIG_KEYS[\"RemoveDetails\"] = \"removeDetails\";\n CONFIG_KEYS[\"RemoveLowerDetails\"] = \"removeLowerDetails\";\n CONFIG_KEYS[\"RemoveLowerDetailsIdling\"] = \"removeLowerDetailsIdling\";\n CONFIG_KEYS[\"IgnoreWorkspaces\"] = \"ignoreWorkspaces\";\n CONFIG_KEYS[\"IgnoreWorkspacesText\"] = \"ignoreWorkspacesText\";\n CONFIG_KEYS[\"IdleTimeout\"] = \"idleTimeout\";\n CONFIG_KEYS[\"CheckIdle\"] = \"checkIdle\";\n CONFIG_KEYS[\"IdleText\"] = \"idleText\";\n CONFIG_KEYS[\"AppName\"] = \"appName\";\n CONFIG_KEYS[\"ShowProblems\"] = \"showProblems\";\n CONFIG_KEYS[\"ProblemsText\"] = \"problemsText\";\n CONFIG_KEYS[\"ButtonEnabled\"] = \"buttonEnabled\";\n CONFIG_KEYS[\"ButtonActiveLabel\"] = \"buttonActiveLabel\";\n CONFIG_KEYS[\"ButtonInactiveLabel\"] = \"buttonInactiveLabel\";\n CONFIG_KEYS[\"ButtonInactiveUrl\"] = \"buttonInactiveUrl\";\n CONFIG_KEYS[\"IgnoreRepositories\"] = \"ignoreRepositories\";\n CONFIG_KEYS[\"IgnoreOrganizations\"] = \"ignoreOrganizations\";\n CONFIG_KEYS[\"SuppressNotifications\"] = \"suppressNotifications\";\n CONFIG_KEYS[\"PrioritizeLanguagesOverExtensions\"] = \"prioritizeLanguagesOverExtensions\";\n})(CONFIG_KEYS || (CONFIG_KEYS = {}));\nexport var REPLACE_KEYS;\n(function (REPLACE_KEYS) {\n REPLACE_KEYS[\"Empty\"] = \"{empty}\";\n REPLACE_KEYS[\"FileName\"] = \"{file_name}\";\n REPLACE_KEYS[\"DirName\"] = \"{dir_name}\";\n REPLACE_KEYS[\"FullDirName\"] = \"{full_dir_name}\";\n REPLACE_KEYS[\"Workspace\"] = \"{workspace}\";\n REPLACE_KEYS[\"VSCodeWorkspace\"] = \"(Workspace)\";\n REPLACE_KEYS[\"WorkspaceFolder\"] = \"{workspace_folder}\";\n REPLACE_KEYS[\"WorkspaceAndFolder\"] = \"{workspace_and_folder}\";\n REPLACE_KEYS[\"LanguageLowerCase\"] = \"{lang}\";\n REPLACE_KEYS[\"LanguageTitleCase\"] = \"{Lang}\";\n REPLACE_KEYS[\"LanguageUpperCase\"] = \"{LANG}\";\n REPLACE_KEYS[\"TotalLines\"] = \"{total_lines}\";\n REPLACE_KEYS[\"CurrentLine\"] = \"{current_line}\";\n REPLACE_KEYS[\"CurrentColumn\"] = \"{current_column}\";\n REPLACE_KEYS[\"AppName\"] = \"{app_name}\";\n REPLACE_KEYS[\"Problems\"] = \"{problems}\";\n REPLACE_KEYS[\"ProblemsCount\"] = \"{problemsCount}\";\n REPLACE_KEYS[\"GitRepo\"] = \"{git_repo}\";\n REPLACE_KEYS[\"GitBranch\"] = \"{git_branch}\";\n})(REPLACE_KEYS || (REPLACE_KEYS = {}));\n","import gitUrlParse from 'git-url-parse';\nimport { parse, sep } from 'path';\nimport { EventEmitter, extensions, window, workspace } from 'vscode';\nimport { logInfo } from './logger';\nconst API_VERSION = 1;\nexport class Data {\n _file;\n _repo;\n _remote;\n _debug;\n eventEmitter = new EventEmitter();\n rootListeners = [];\n gitExtListeners = [];\n gitApiListeners = [];\n gitExt;\n gitApi;\n constructor(debugLevel = 0) {\n this._debug = debugLevel;\n this._file = window.activeTextEditor\n ? parse(window.activeTextEditor.document.fileName)\n : undefined;\n this.ext();\n this.api(this.gitExt?.exports.enabled || false);\n this.rootListeners.push(window.onDidChangeActiveTextEditor((e) => {\n this.debug(2, `root(): window.onDidChangeActiveTextEditor`);\n this._file = e ? parse(e.document.fileName) : undefined;\n this.updateGit();\n }), workspace.onDidChangeWorkspaceFolders(() => {\n this.debug(2, `root(): workspace.onDidChangeWorkspaceFolders`);\n this.updateGit();\n }), extensions.onDidChange(() => {\n this.debug(2, `root(): extensions.onDidChange`);\n this.ext();\n }));\n }\n get fileName() {\n const v = this._file ? this._file.name + this._file.ext : undefined;\n this.debug(4, `fileName(): ${v}`);\n return v;\n }\n get dirName() {\n const v = this._file?.dir.split(sep).pop();\n this.debug(4, `dirName(): ${v}`);\n return v;\n }\n get fullDirName() {\n const v = this._file?.dir;\n this.debug(4, `fullDirName(): ${v}`);\n return v;\n }\n get workspace() {\n const v = workspace.name;\n this.debug(4, `workspace(): ${v}`);\n return v;\n }\n get workspaceFolder() {\n const uri = window?.activeTextEditor?.document.uri;\n let v = undefined;\n if (uri) {\n v = workspace.getWorkspaceFolder(uri);\n }\n this.debug(4, `workspaceFolder(): ${uri ? 'Found URI' : 'No URI'} ${v}`);\n return v;\n }\n get gitRepoPath() {\n const v = this._repo?.rootUri.fsPath;\n this.debug(4, `gitRepoPath(): ${v}`);\n return v;\n }\n get gitRepoName() {\n const v = this._repo?.rootUri.fsPath.split(sep).pop();\n this.debug(4, `gitRepoName(): ${v}`);\n return v;\n }\n get gitRemoteName() {\n const v = this.gitRemoteUrl?.name;\n this.debug(4, `gitRepoName(): ${v}`);\n return v;\n }\n get gitRemoteUrl() {\n const v = this._remote?.fetchUrl ?? this._remote?.pushUrl;\n this.debug(4, `gitRemoteUrl(): Url: ${v}`);\n if (!v) {\n return;\n }\n return gitUrlParse(v);\n }\n get gitBranchName() {\n const v = this._repo?.state.HEAD?.name;\n this.debug(4, `gitBranchName(): ${v}`);\n return v;\n }\n dispose(level = 0) {\n let disposeOf = [];\n switch (level) {\n case 0:\n this.dispose(1);\n disposeOf = this.rootListeners;\n this.rootListeners = [];\n break;\n case 1:\n this.dispose(2);\n disposeOf = this.gitExtListeners;\n this.gitExtListeners = [];\n break;\n case 2:\n disposeOf = this.gitApiListeners;\n this.gitApiListeners = [];\n break;\n }\n for (const disposable of disposeOf) {\n disposable?.dispose();\n }\n }\n onUpdate(listener) {\n return this.eventEmitter.event(listener);\n }\n ext() {\n const ext = extensions.getExtension('vscode.git');\n this.debug(3, `ext(): ${ext ? 'Extension' : 'undefined'}`);\n // Changed to Extension\n if (ext && !this.gitExt) {\n this.debug(1, `ext(): Changed to Extension`);\n this.gitExt = ext;\n if (this.gitExt.isActive) {\n logInfo(`[data.ts] ext(): Git extension is active`);\n this.api(this.gitExt.exports.enabled);\n this.gitExtListeners.push(this.gitExt.exports.onDidChangeEnablement((e) => this.api(e)));\n }\n else {\n logInfo(`[data.ts] ext(): activate`);\n void ext.activate();\n }\n }\n else if (!ext && this.gitExt) {\n this.debug(2, `[data.ts] ext(): Changed to undefined`);\n this.gitExt = undefined;\n this.api(false);\n this.dispose(1);\n }\n }\n api(e) {\n this.debug(2, `api(): ${e}`);\n if (e) {\n this.gitApi = this.gitExt?.exports.getAPI(API_VERSION);\n this.debug(2, `api(): ${this.gitApi ? 'gitApi' : 'undefined'}`);\n this.listeners();\n }\n else {\n this.gitApi = undefined;\n this.dispose(2);\n }\n this.updateGit();\n }\n listeners() {\n if (!this.gitApi) {\n return;\n }\n this.gitApiListeners.push(this.gitApi.onDidOpenRepository((e) => {\n this.debug(1, `listeners(): Open Repo ${e.rootUri.fsPath.split(sep).pop()}`);\n this.updateGit();\n }), this.gitApi.onDidCloseRepository((e) => {\n this.debug(1, `listeners(): Open Close ${e.rootUri.fsPath.split(sep).pop()}`);\n this.updateGit();\n }), this.gitApi.onDidChangeState((e) => {\n this.debug(1, `listeners(): Change State ${e}`);\n this.updateGit();\n }));\n }\n updateGit() {\n this.debug(1, `[data.ts] updateGit()`);\n if (!this.gitApi) {\n this._repo = undefined;\n this._remote = undefined;\n this.eventEmitter.fire();\n return;\n }\n this._repo = this.repo();\n this._remote = this.remote();\n this.debug(2, `updateGit(): repo ${this.gitRepoPath}`);\n this.eventEmitter.fire();\n }\n repo() {\n if (!this.gitApi) {\n return;\n }\n const repos = this.gitApi.repositories;\n if (this._file) {\n const testString = this._file.dir;\n return (repos\n .filter((v) => v.rootUri.fsPath.length <= testString.length)\n .filter((v) => v.rootUri.fsPath === testString.substring(0, v.rootUri.fsPath.length))\n .sort((a, b) => b.rootUri.fsPath.length - a.rootUri.fsPath.length)\n // get first element\n .shift());\n }\n this.debug(3, `repo(): no file open`);\n if (!workspace.workspaceFolders) {\n return undefined;\n }\n return workspace.workspaceFolders\n .map((v) => [v])\n .sort((a, b) => a[0].index - b[0].index)\n .shift()\n ?.map((workspace) => repos\n .filter((v) => v.rootUri.fsPath.length <= workspace.uri.fsPath.length)\n .filter((v) => v.rootUri.fsPath ===\n workspace.uri.fsPath.substring(0, v.rootUri.fsPath.length))\n .sort((a, b) => a.rootUri.fsPath.length - b.rootUri.fsPath.length)\n .shift())\n .shift();\n }\n remote() {\n const remotes = this._repo?.state.remotes;\n if (!remotes) {\n return;\n }\n return remotes.find((v) => v.name === 'origin') ?? remotes[0];\n }\n debug(level, message) {\n if (this._debug >= level) {\n logInfo(`[data.ts] ${message}`);\n }\n }\n}\nexport const dataClass = new Data();\n","export const isExcluded = (config, toMatch) => {\n if (!config || !toMatch) {\n return false;\n }\n if (!config.length) {\n return false;\n }\n const ignorePattern = config.join('|');\n const regex = new RegExp(ignorePattern, 'gm');\n const excluded = regex.test(toMatch);\n return excluded;\n};\n","import { basename } from 'path';\nimport { getConfig } from '../config';\nimport { KNOWN_EXTENSIONS, KNOWN_LANGUAGES } from '../constants';\nexport const toLower = (str) => str.toLocaleLowerCase();\nexport const toUpper = (str) => str.toLocaleUpperCase();\nexport const toTitle = (str) => toLower(str).replace(/^\\w/, (c) => toUpper(c));\nexport const getFileIcon = (name) => `https://raw.githubusercontent.com/LeonardSSH/vscord/main/assets/icons/${name}.png`;\nexport function resolveFileIcon(document) {\n const config = getConfig();\n const filename = basename(document.fileName);\n const findKnownExtension = Object.keys(KNOWN_EXTENSIONS).find((key) => {\n if (filename.endsWith(key)) {\n return true;\n }\n const match = /^\\/(.*)\\/([mgiy]+)$/.exec(key);\n if (!match) {\n return false;\n }\n const regex = new RegExp(match[1], match[2]);\n return regex.test(filename);\n });\n const areLanguagesPrioritized = config[\"prioritizeLanguagesOverExtensions\" /* PrioritizeLanguagesOverExtensions */];\n const findKnownLanguage = KNOWN_LANGUAGES.find((key) => key.language === document.languageId);\n const knownExtension = findKnownExtension\n ? KNOWN_EXTENSIONS[findKnownExtension]\n : findKnownLanguage\n ? findKnownLanguage.image\n : null;\n const knownLanguage = findKnownLanguage ? findKnownLanguage.image : knownExtension;\n const fileIcon = areLanguagesPrioritized ? knownLanguage : knownExtension;\n return typeof fileIcon === 'string' ? fileIcon : fileIcon?.image ?? 'text';\n}\n","import { getConfig } from './config';\nimport { debug, DiagnosticSeverity, env, languages, window, workspace } from 'vscode';\nimport { DEBUGGING_IMAGE_KEY, EMPTY, FAKE_EMPTY, IDLE_VSCODE_IMAGE_KEY, IDLE_VSCODE_INSIDERS_IMAGE_KEY, VSCODE_IMAGE_KEY, VSCODE_INSIDERS_IMAGE_KEY } from './constants';\nimport { sep } from 'path';\nimport { dataClass } from './data';\nimport { isObject } from './helpers/isObject';\nimport { isExcluded } from './helpers/isExcluded';\nimport { getFileIcon, resolveFileIcon, toLower, toTitle, toUpper } from './helpers/resolveFileIcon';\nlet totalProblems = 0;\nexport function onDiagnosticsChange() {\n const diagnostics = languages.getDiagnostics();\n let counted = 0;\n diagnostics.forEach((diagnostic) => {\n if (diagnostic[1]) {\n diagnostic[1].forEach((diagnostic) => {\n if (diagnostic.severity === DiagnosticSeverity.Warning ||\n diagnostic.severity === DiagnosticSeverity.Error) {\n counted++;\n }\n });\n }\n });\n totalProblems = counted;\n}\nexport function activity(previous = {}, isViewing = false) {\n const config = getConfig();\n const { appName } = env;\n const insiders = appName.includes('Insiders');\n const defaultSmallImageKey = debug.activeDebugSession\n ? getFileIcon(DEBUGGING_IMAGE_KEY)\n : insiders\n ? getFileIcon(VSCODE_INSIDERS_IMAGE_KEY)\n : getFileIcon(VSCODE_IMAGE_KEY);\n const defaultSmallImageText = config[\"smallImage\" /* SmallImage */].replace(\"{app_name}\" /* AppName */, appName);\n const defaultLargeImageText = config[\"largeImageIdling\" /* LargeImageIdling */];\n const removeDetails = config[\"removeDetails\" /* RemoveDetails */];\n const removeLowerDetails = config[\"removeLowerDetails\" /* RemoveLowerDetails */];\n const removeLowerDetailsIdling = config[\"removeLowerDetailsIdling\" /* RemoveLowerDetailsIdling */];\n let presence = {\n details: removeDetails\n ? undefined\n : details(\"detailsIdling\" /* DetailsIdling */, \"detailsViewing\" /* DetailsViewing */, \"detailsEditing\" /* DetailsEditing */, \"detailsDebugging\" /* DetailsDebugging */, isViewing),\n state: removeLowerDetails || removeLowerDetailsIdling\n ? undefined\n : details(\"lowerDetailsIdling\" /* LowerDetailsIdling */, \"lowerDetailsViewing\" /* LowerDetailsViewing */, \"lowerDetailsEditing\" /* LowerDetailsEditing */, \"lowerDetailsDebugging\" /* LowerDetailsDebugging */, isViewing),\n startTimestamp: config[\"removeElapsedTime\" /* RemoveElapsedTime */]\n ? undefined\n : previous.startTimestamp ?? Date.now(),\n largeImageKey: insiders\n ? getFileIcon(IDLE_VSCODE_IMAGE_KEY)\n : getFileIcon(IDLE_VSCODE_INSIDERS_IMAGE_KEY),\n largeImageText: defaultLargeImageText,\n smallImageKey: defaultSmallImageKey,\n smallImageText: defaultSmallImageText\n };\n if (window.activeTextEditor) {\n const largeImageKey = resolveFileIcon(window.activeTextEditor.document);\n const largeImageText = config[\"largeImage\" /* LargeImage */]\n .replace(\"{lang}\" /* LanguageLowerCase */, toLower(largeImageKey))\n .replace(\"{Lang}\" /* LanguageTitleCase */, toTitle(largeImageKey))\n .replace(\"{LANG}\" /* LanguageUpperCase */, toUpper(largeImageKey))\n .padEnd(2, FAKE_EMPTY);\n let isWorkspaceExcluded = false;\n let workspaceExcludedText = 'No workspace ignore text provided.';\n if (dataClass.workspaceFolder && 'uri' in dataClass.workspaceFolder) {\n isWorkspaceExcluded = isExcluded(config[\"ignoreWorkspaces\" /* IgnoreWorkspaces */], dataClass.workspaceFolder.uri.fsPath);\n }\n if (isWorkspaceExcluded && dataClass.workspaceFolder && dataClass.workspaceFolder.name) {\n const ignoreWorkspacesText = config[\"ignoreWorkspacesText\" /* IgnoreWorkspacesText */];\n workspaceExcludedText = isObject(ignoreWorkspacesText)\n ? // @ts-ignore Element implicitly has an 'any' type because index expression is not of type 'number'.\n ignoreWorkspacesText[dataClass.workspaceFolder.name]\n : ignoreWorkspacesText\n ? ignoreWorkspacesText\n : 'No workspace ignore text provided.';\n }\n presence = {\n ...presence,\n details: removeDetails\n ? undefined\n : isWorkspaceExcluded\n ? workspaceExcludedText\n : details(\"detailsIdling\" /* DetailsIdling */, \"detailsViewing\" /* DetailsViewing */, \"detailsEditing\" /* DetailsEditing */, \"detailsDebugging\" /* DetailsDebugging */, isViewing),\n state: removeLowerDetails\n ? undefined\n : isWorkspaceExcluded\n ? undefined\n : details(\"lowerDetailsIdling\" /* LowerDetailsIdling */, \"lowerDetailsViewing\" /* LowerDetailsViewing */, \"lowerDetailsEditing\" /* LowerDetailsEditing */, \"lowerDetailsDebugging\" /* LowerDetailsDebugging */, isViewing),\n largeImageKey: getFileIcon(largeImageKey),\n largeImageText\n };\n if (config[\"buttonEnabled\" /* ButtonEnabled */] && dataClass.gitRemoteUrl) {\n const gitRepo = dataClass.gitRemoteUrl.toString('https').replace(/\\.git$/, '');\n const gitOrg = dataClass.gitRemoteUrl.organization ?? dataClass.gitRemoteUrl.owner;\n const isRepositoryExcluded = isExcluded(config[\"ignoreRepositories\" /* IgnoreRepositories */], gitRepo);\n const isOrganizationExcluded = isExcluded(config[\"ignoreOrganizations\" /* IgnoreOrganizations */], gitOrg);\n const isNotExcluded = !isRepositoryExcluded && !isWorkspaceExcluded && !isOrganizationExcluded;\n if (gitRepo && config[\"buttonActiveLabel\" /* ButtonActiveLabel */] && isNotExcluded) {\n presence = {\n ...presence,\n buttons: [\n {\n label: config[\"buttonActiveLabel\" /* ButtonActiveLabel */],\n url: gitRepo\n }\n ]\n };\n }\n else if (!gitRepo &&\n config[\"buttonInactiveLabel\" /* ButtonInactiveLabel */] &&\n config[\"buttonInactiveUrl\" /* ButtonInactiveUrl */]) {\n presence = {\n ...presence,\n buttons: [\n {\n label: config[\"buttonInactiveLabel\" /* ButtonInactiveLabel */],\n url: config[\"buttonInactiveUrl\" /* ButtonInactiveUrl */]\n }\n ]\n };\n }\n }\n }\n return presence;\n}\nfunction details(idling, viewing, editing, debugging, isViewing) {\n const config = getConfig();\n let raw = config[idling].replace(\"{empty}\" /* Empty */, FAKE_EMPTY);\n if (window.activeTextEditor) {\n const noWorkspaceFound = config[\"lowerDetailsNoWorkspaceFound\" /* LowerDetailsNoWorkspaceFound */].replace(\"{empty}\" /* Empty */, FAKE_EMPTY);\n const workspaceFolderName = dataClass.workspaceFolder\n ? dataClass.workspaceFolder.name\n : noWorkspaceFound;\n const workspaceName = dataClass.workspace\n ? dataClass.workspace.replace(\"(Workspace)\" /* VSCodeWorkspace */, EMPTY)\n : workspaceFolderName;\n const workspaceAndFolder = `${workspaceName}${workspaceFolderName === FAKE_EMPTY ? '' : ` - ${workspaceFolderName}`}`;\n const fileIcon = resolveFileIcon(window.activeTextEditor.document);\n const problems = config[\"showProblems\" /* ShowProblems */]\n ? config[\"problemsText\" /* ProblemsText */].replace(\"{problemsCount}\" /* ProblemsCount */, totalProblems.toString())\n : '';\n raw = config[debug.activeDebugSession ? debugging : isViewing ? viewing : editing];\n if (dataClass.workspace) {\n const name = dataClass.workspace;\n const relativePath = workspace\n .asRelativePath(window.activeTextEditor.document.fileName)\n .split(sep);\n relativePath.splice(-1, 1);\n raw = raw.replace(\"{full_dir_name}\" /* FullDirName */, `${name}${sep}${relativePath.join(sep)}`);\n }\n raw = fileDetails(raw, window.activeTextEditor.document, window.activeTextEditor.selection);\n raw = raw\n .replace(\"{file_name}\" /* FileName */, dataClass.fileName ?? FAKE_EMPTY)\n .replace(\"{dir_name}\" /* DirName */, dataClass.dirName ?? FAKE_EMPTY)\n .replace(\"{workspace}\" /* Workspace */, workspaceName)\n .replace(\"{workspace_folder}\" /* WorkspaceFolder */, workspaceFolderName)\n .replace(\"{workspace_and_folder}\" /* WorkspaceAndFolder */, workspaceAndFolder)\n .replace(\"{lang}\" /* LanguageLowerCase */, toLower(fileIcon))\n .replace(\"{Lang}\" /* LanguageTitleCase */, toTitle(fileIcon))\n .replace(\"{LANG}\" /* LanguageUpperCase */, toUpper(fileIcon))\n .replace(\"{problems}\" /* Problems */, problems)\n .replace(\"{git_repo}\" /* GitRepo */, dataClass.gitRemoteUrl\n ? dataClass.gitRemoteUrl.name\n : dataClass.gitRepoName ?? FAKE_EMPTY)\n .replace(\"{git_branch}\" /* GitBranch */, dataClass.gitBranchName ?? FAKE_EMPTY);\n }\n return raw;\n}\nfunction fileDetails(_raw, document, selection) {\n let raw = _raw.slice();\n if (raw.includes(\"{total_lines}\" /* TotalLines */)) {\n raw = raw.replace(\"{total_lines}\" /* TotalLines */, document.lineCount.toLocaleString());\n }\n if (raw.includes(\"{current_line}\" /* CurrentLine */)) {\n raw = raw.replace(\"{current_line}\" /* CurrentLine */, (selection.active.line + 1).toLocaleString());\n }\n if (raw.includes(\"{current_column}\" /* CurrentColumn */)) {\n raw = raw.replace(\"{current_column}\" /* CurrentColumn */, (selection.active.character + 1).toLocaleString());\n }\n return raw;\n}\n","export const isObject = (value) => {\n return value !== null && (typeof value === 'object' || typeof value === 'function');\n};\n","import { Client } from 'discord-rpc';\nimport { logError, logInfo } from './logger';\nimport { commands, debug, languages, StatusBarAlignment, window, workspace } from 'vscode';\nimport { throttle } from './helpers/throttle';\nimport { activity, onDiagnosticsChange } from './activity';\nimport { getConfig } from './config';\nimport { IDLE_SMALL_IMAGE_KEY } from './constants';\nimport { getApplicationId } from './helpers/getApplicationId';\nimport { dataClass } from './data';\nimport { getFileIcon } from './helpers/resolveFileIcon';\nlet state = {};\nlet rpc = undefined;\nlet listeners = [];\nlet idleCheckTimeout = undefined;\nlet timeout = undefined;\nconst statusBarIcon = window.createStatusBarItem(StatusBarAlignment.Left);\nstatusBarIcon.text = '$(pulse) Connecting to Discord Gateway...';\nexport const sendActivity = async (isViewing = false) => {\n state = {\n ...(await activity(state, isViewing))\n };\n await rpc?.setActivity(state);\n};\nexport const listen = () => {\n const config = getConfig();\n const fileSwitch = window.onDidChangeActiveTextEditor(() => sendActivity(true));\n const fileEdit = workspace.onDidChangeTextDocument(throttle(() => sendActivity(), 2000));\n const debugStart = debug.onDidStartDebugSession(() => sendActivity());\n const debugEnd = debug.onDidTerminateDebugSession(() => sendActivity());\n const diagnosticsChange = languages.onDidChangeDiagnostics(() => onDiagnosticsChange());\n const changeWindowState = window.onDidChangeWindowState((e) => toggleIdling(e));\n const gitListener = dataClass.onUpdate(throttle(() => sendActivity(), 2000));\n if (config[\"showProblems\" /* ShowProblems */]) {\n listeners.push(diagnosticsChange);\n }\n if (config[\"checkIdle\" /* CheckIdle */]) {\n listeners.push(changeWindowState);\n }\n listeners.push(fileSwitch, fileEdit, debugStart, debugEnd, gitListener);\n};\nexport const cleanUp = () => {\n listeners.forEach((listener) => listener.dispose());\n listeners = [];\n};\nexport const toggleIdling = async (windowState) => {\n const config = getConfig();\n if (config[\"idleTimeout\" /* IdleTimeout */] !== 0) {\n if (windowState.focused) {\n if (idleCheckTimeout) {\n clearTimeout(idleCheckTimeout);\n }\n await sendActivity();\n }\n else {\n idleCheckTimeout = setTimeout(async () => {\n state = {\n ...state,\n smallImageKey: getFileIcon(IDLE_SMALL_IMAGE_KEY),\n smallImageText: config[\"idleText\" /* IdleText */]\n };\n await rpc?.setActivity(state);\n }, config[\"idleTimeout\" /* IdleTimeout */] * 1000);\n }\n }\n};\nexport const login = async () => {\n const config = getConfig();\n statusBarIcon.text = '$(search-refresh) Connecting to Discord Gateway...';\n statusBarIcon.tooltip = 'Connecting to Discord Gateway...';\n rpc = new Client({ transport: 'ipc' });\n rpc.on('ready', async () => {\n logInfo('Successfully connected to Discord');\n cleanUp();\n await sendActivity();\n statusBarIcon.text = '$(globe) Connected to Discord';\n statusBarIcon.tooltip = 'Connected to Discord';\n statusBarIcon.show();\n listen();\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => (statusBarIcon.text = '$(smiley)'), 5000);\n });\n rpc.on('disconnected', () => {\n cleanUp();\n rpc && rpc.destroy();\n statusBarIcon.text = '$(search-refresh) Reconnect to Discord Gateway';\n statusBarIcon.command = 'rpc.reconnect';\n statusBarIcon.tooltip = 'Reconnect to Discord Gateway';\n statusBarIcon.show();\n });\n const { clientId } = getApplicationId(config);\n try {\n await rpc.login({ clientId });\n logInfo(`Successfully logged in to Discord with client ID ${clientId}`);\n }\n catch (error) {\n logError(`Encountered following error while trying to login:\\n${error}`);\n rpc && rpc.destroy();\n logInfo(`[002] Destroyed Discord RPC client`);\n if (!config[\"suppressNotifications\" /* SuppressNotifications */]) {\n error?.message?.includes('ENOENT')\n ? void window.showErrorMessage('No Discord client detected')\n : void window.showErrorMessage(`Couldn't connect to Discord via RPC: ${error}`);\n }\n statusBarIcon.text = '$(search-refresh) Reconnect to Discord Gateway';\n statusBarIcon.command = 'rpc.reconnect';\n statusBarIcon.tooltip = 'Reconnect to Discord Gateway';\n }\n};\nexport const registerComamnds = (ctx) => {\n const config = getConfig();\n const enable = async (update = true) => {\n if (update) {\n try {\n await config.update('enabled', true);\n }\n catch { }\n }\n cleanUp();\n statusBarIcon.text = '$(search-refresh) Connecting to Discord Gateway...';\n statusBarIcon.tooltip = 'Connecting to Discord Gateway...';\n await login();\n };\n const disable = async (update = true) => {\n if (update) {\n try {\n await config.update('enabled', false);\n }\n catch { }\n }\n cleanUp();\n rpc && rpc.destroy();\n logInfo(`[003] Destroyed Discord RPC client`);\n statusBarIcon.hide();\n };\n const enableCommand = commands.registerCommand('rpc.enable', async () => {\n await disable();\n await enable();\n logInfo('Enabled Discord Rich Presence for this workspace.');\n if (!config[\"suppressNotifications\" /* SuppressNotifications */]) {\n await window.showInformationMessage('Enabled Discord Rich Presence for this workspace.');\n }\n });\n const disableCommand = commands.registerCommand('rpc.disable', async () => {\n await disable();\n logInfo('Disabled Discord Rich Presence for this workspace.');\n if (!config[\"suppressNotifications\" /* SuppressNotifications */]) {\n await window.showInformationMessage('Disabled Discord Rich Presence for this workspace.');\n }\n });\n const reconnectCommand = commands.registerCommand('rpc.reconnect', async () => {\n logInfo('Reconnecting to Discord Gateway...');\n await disable(false);\n await enable(false);\n });\n const disconnectCommand = commands.registerCommand('rpc.disconnect', async () => {\n logInfo('Disconnecting from Discord Gateway...');\n await disable(false);\n statusBarIcon.text = '$(search-refresh) Reconnect to Discord Gateway';\n statusBarIcon.command = 'rpc.reconnect';\n statusBarIcon.tooltip = 'Reconnect to Discord Gateway';\n statusBarIcon.show();\n });\n ctx.subscriptions.push(enableCommand, disableCommand, reconnectCommand, disconnectCommand);\n logInfo('Registered Discord Rich Presence commands');\n};\nexport async function activate(ctx) {\n logInfo('Discord Rich Presence for VS Code activated.');\n registerComamnds(ctx);\n try {\n await login();\n }\n catch (error) {\n logError(`Failed to login to Discord: ${error}`);\n }\n}\nexport function deactivate() {\n logInfo('Discord Rich Presence for VS Code deactivated.');\n cleanUp();\n if (timeout) {\n clearTimeout(timeout);\n timeout = undefined;\n }\n if (idleCheckTimeout) {\n clearTimeout(idleCheckTimeout);\n idleCheckTimeout = undefined;\n }\n rpc && rpc.destroy();\n logInfo(`[004] Destroyed Discord RPC client`);\n}\n","export const getApplicationId = (config) => {\n const applicationIds = new Map();\n applicationIds.set('Code', '782685898163617802');\n applicationIds.set('Visual Studio Code', '810516608442695700');\n const match = /(Code|Visual Studio Code)/i.exec(config[\"appName\" /* AppName */]);\n let clientId = config[\"id\" /* Id */];\n if (match !== null && applicationIds.has(match[0])) {\n clientId = applicationIds.get(match[0]);\n }\n return { clientId };\n};\n","'use strict';\n\n/**\n * Checks if a given buffer contains only correct UTF-8.\n * Ported from https://www.cl.cam.ac.uk/%7Emgk25/ucs/utf8_check.c by\n * Markus Kuhn.\n *\n * @param {Buffer} buf The buffer to check\n * @return {Boolean} `true` if `buf` contains only correct UTF-8, else `false`\n * @public\n */\nfunction isValidUTF8(buf) {\n const len = buf.length;\n let i = 0;\n\n while (i < len) {\n if ((buf[i] & 0x80) === 0x00) { // 0xxxxxxx\n i++;\n } else if ((buf[i] & 0xe0) === 0xc0) { // 110xxxxx 10xxxxxx\n if (\n i + 1 === len ||\n (buf[i + 1] & 0xc0) !== 0x80 ||\n (buf[i] & 0xfe) === 0xc0 // overlong\n ) {\n return false;\n }\n\n i += 2;\n } else if ((buf[i] & 0xf0) === 0xe0) { // 1110xxxx 10xxxxxx 10xxxxxx\n if (\n i + 2 >= len ||\n (buf[i + 1] & 0xc0) !== 0x80 ||\n (buf[i + 2] & 0xc0) !== 0x80 ||\n buf[i] === 0xe0 && (buf[i + 1] & 0xe0) === 0x80 || // overlong\n buf[i] === 0xed && (buf[i + 1] & 0xe0) === 0xa0 // surrogate (U+D800 - U+DFFF)\n ) {\n return false;\n }\n\n i += 3;\n } else if ((buf[i] & 0xf8) === 0xf0) { // 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx\n if (\n i + 3 >= len ||\n (buf[i + 1] & 0xc0) !== 0x80 ||\n (buf[i + 2] & 0xc0) !== 0x80 ||\n (buf[i + 3] & 0xc0) !== 0x80 ||\n buf[i] === 0xf0 && (buf[i + 1] & 0xf0) === 0x80 || // overlong\n buf[i] === 0xf4 && buf[i + 1] > 0x8f || buf[i] > 0xf4 // > U+10FFFF\n ) {\n return false;\n }\n\n i += 4;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = isValidUTF8;\n","'use strict';\n\ntry {\n module.exports = require('node-gyp-build')(__dirname);\n} catch (e) {\n module.exports = require('./fallback');\n}\n","\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n","\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n","\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n","\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n","\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n","'use strict';\n\nconst WebSocket = require('./lib/websocket');\n\nWebSocket.createWebSocketStream = require('./lib/stream');\nWebSocket.Server = require('./lib/websocket-server');\nWebSocket.Receiver = require('./lib/receiver');\nWebSocket.Sender = require('./lib/sender');\n\nmodule.exports = WebSocket;\n","'use strict';\n\nconst { EMPTY_BUFFER } = require('./constants');\n\n/**\n * Merges an array of buffers into a new buffer.\n *\n * @param {Buffer[]} list The array of buffers to concat\n * @param {Number} totalLength The total length of buffers in the list\n * @return {Buffer} The resulting buffer\n * @public\n */\nfunction concat(list, totalLength) {\n if (list.length === 0) return EMPTY_BUFFER;\n if (list.length === 1) return list[0];\n\n const target = Buffer.allocUnsafe(totalLength);\n let offset = 0;\n\n for (let i = 0; i < list.length; i++) {\n const buf = list[i];\n target.set(buf, offset);\n offset += buf.length;\n }\n\n if (offset < totalLength) return target.slice(0, offset);\n\n return target;\n}\n\n/**\n * Masks a buffer using the given mask.\n *\n * @param {Buffer} source The buffer to mask\n * @param {Buffer} mask The mask to use\n * @param {Buffer} output The buffer where to store the result\n * @param {Number} offset The offset at which to start writing\n * @param {Number} length The number of bytes to mask.\n * @public\n */\nfunction _mask(source, mask, output, offset, length) {\n for (let i = 0; i < length; i++) {\n output[offset + i] = source[i] ^ mask[i & 3];\n }\n}\n\n/**\n * Unmasks a buffer using the given mask.\n *\n * @param {Buffer} buffer The buffer to unmask\n * @param {Buffer} mask The mask to use\n * @public\n */\nfunction _unmask(buffer, mask) {\n // Required until https://github.com/nodejs/node/issues/9006 is resolved.\n const length = buffer.length;\n for (let i = 0; i < length; i++) {\n buffer[i] ^= mask[i & 3];\n }\n}\n\n/**\n * Converts a buffer to an `ArrayBuffer`.\n *\n * @param {Buffer} buf The buffer to convert\n * @return {ArrayBuffer} Converted buffer\n * @public\n */\nfunction toArrayBuffer(buf) {\n if (buf.byteLength === buf.buffer.byteLength) {\n return buf.buffer;\n }\n\n return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n}\n\n/**\n * Converts `data` to a `Buffer`.\n *\n * @param {*} data The data to convert\n * @return {Buffer} The buffer\n * @throws {TypeError}\n * @public\n */\nfunction toBuffer(data) {\n toBuffer.readOnly = true;\n\n if (Buffer.isBuffer(data)) return data;\n\n let buf;\n\n if (data instanceof ArrayBuffer) {\n buf = Buffer.from(data);\n } else if (ArrayBuffer.isView(data)) {\n buf = Buffer.from(data.buffer, data.byteOffset, data.byteLength);\n } else {\n buf = Buffer.from(data);\n toBuffer.readOnly = false;\n }\n\n return buf;\n}\n\ntry {\n const bufferUtil = require('bufferutil');\n const bu = bufferUtil.BufferUtil || bufferUtil;\n\n module.exports = {\n concat,\n mask(source, mask, output, offset, length) {\n if (length < 48) _mask(source, mask, output, offset, length);\n else bu.mask(source, mask, output, offset, length);\n },\n toArrayBuffer,\n toBuffer,\n unmask(buffer, mask) {\n if (buffer.length < 32) _unmask(buffer, mask);\n else bu.unmask(buffer, mask);\n }\n };\n} catch (e) /* istanbul ignore next */ {\n module.exports = {\n concat,\n mask: _mask,\n toArrayBuffer,\n toBuffer,\n unmask: _unmask\n };\n}\n","'use strict';\n\nmodule.exports = {\n BINARY_TYPES: ['nodebuffer', 'arraybuffer', 'fragments'],\n GUID: '258EAFA5-E914-47DA-95CA-C5AB0DC85B11',\n kStatusCode: Symbol('status-code'),\n kWebSocket: Symbol('websocket'),\n EMPTY_BUFFER: Buffer.alloc(0),\n NOOP: () => {}\n};\n","'use strict';\n\n/**\n * Class representing an event.\n *\n * @private\n */\nclass Event {\n /**\n * Create a new `Event`.\n *\n * @param {String} type The name of the event\n * @param {Object} target A reference to the target to which the event was\n * dispatched\n */\n constructor(type, target) {\n this.target = target;\n this.type = type;\n }\n}\n\n/**\n * Class representing a message event.\n *\n * @extends Event\n * @private\n */\nclass MessageEvent extends Event {\n /**\n * Create a new `MessageEvent`.\n *\n * @param {(String|Buffer|ArrayBuffer|Buffer[])} data The received data\n * @param {WebSocket} target A reference to the target to which the event was\n * dispatched\n */\n constructor(data, target) {\n super('message', target);\n\n this.data = data;\n }\n}\n\n/**\n * Class representing a close event.\n *\n * @extends Event\n * @private\n */\nclass CloseEvent extends Event {\n /**\n * Create a new `CloseEvent`.\n *\n * @param {Number} code The status code explaining why the connection is being\n * closed\n * @param {String} reason A human-readable string explaining why the\n * connection is closing\n * @param {WebSocket} target A reference to the target to which the event was\n * dispatched\n */\n constructor(code, reason, target) {\n super('close', target);\n\n this.wasClean = target._closeFrameReceived && target._closeFrameSent;\n this.reason = reason;\n this.code = code;\n }\n}\n\n/**\n * Class representing an open event.\n *\n * @extends Event\n * @private\n */\nclass OpenEvent extends Event {\n /**\n * Create a new `OpenEvent`.\n *\n * @param {WebSocket} target A reference to the target to which the event was\n * dispatched\n */\n constructor(target) {\n super('open', target);\n }\n}\n\n/**\n * Class representing an error event.\n *\n * @extends Event\n * @private\n */\nclass ErrorEvent extends Event {\n /**\n * Create a new `ErrorEvent`.\n *\n * @param {Object} error The error that generated this event\n * @param {WebSocket} target A reference to the target to which the event was\n * dispatched\n */\n constructor(error, target) {\n super('error', target);\n\n this.message = error.message;\n this.error = error;\n }\n}\n\n/**\n * This provides methods for emulating the `EventTarget` interface. It's not\n * meant to be used directly.\n *\n * @mixin\n */\nconst EventTarget = {\n /**\n * Register an event listener.\n *\n * @param {String} type A string representing the event type to listen for\n * @param {Function} listener The listener to add\n * @param {Object} [options] An options object specifies characteristics about\n * the event listener\n * @param {Boolean} [options.once=false] A `Boolean`` indicating that the\n * listener should be invoked at most once after being added. If `true`,\n * the listener would be automatically removed when invoked.\n * @public\n */\n addEventListener(type, listener, options) {\n if (typeof listener !== 'function') return;\n\n function onMessage(data) {\n listener.call(this, new MessageEvent(data, this));\n }\n\n function onClose(code, message) {\n listener.call(this, new CloseEvent(code, message, this));\n }\n\n function onError(error) {\n listener.call(this, new ErrorEvent(error, this));\n }\n\n function onOpen() {\n listener.call(this, new OpenEvent(this));\n }\n\n const method = options && options.once ? 'once' : 'on';\n\n if (type === 'message') {\n onMessage._listener = listener;\n this[method](type, onMessage);\n } else if (type === 'close') {\n onClose._listener = listener;\n this[method](type, onClose);\n } else if (type === 'error') {\n onError._listener = listener;\n this[method](type, onError);\n } else if (type === 'open') {\n onOpen._listener = listener;\n this[method](type, onOpen);\n } else {\n this[method](type, listener);\n }\n },\n\n /**\n * Remove an event listener.\n *\n * @param {String} type A string representing the event type to remove\n * @param {Function} listener The listener to remove\n * @public\n */\n removeEventListener(type, listener) {\n const listeners = this.listeners(type);\n\n for (let i = 0; i < listeners.length; i++) {\n if (listeners[i] === listener || listeners[i]._listener === listener) {\n this.removeListener(type, listeners[i]);\n }\n }\n }\n};\n\nmodule.exports = EventTarget;\n","'use strict';\n\n//\n// Allowed token characters:\n//\n// '!', '#', '$', '%', '&', ''', '*', '+', '-',\n// '.', 0-9, A-Z, '^', '_', '`', a-z, '|', '~'\n//\n// tokenChars[32] === 0 // ' '\n// tokenChars[33] === 1 // '!'\n// tokenChars[34] === 0 // '\"'\n// ...\n//\n// prettier-ignore\nconst tokenChars = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 15\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 31\n 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, // 32 - 47\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, // 48 - 63\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 64 - 79\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, // 80 - 95\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 96 - 111\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0 // 112 - 127\n];\n\n/**\n * Adds an offer to the map of extension offers or a parameter to the map of\n * parameters.\n *\n * @param {Object} dest The map of extension offers or parameters\n * @param {String} name The extension or parameter name\n * @param {(Object|Boolean|String)} elem The extension parameters or the\n * parameter value\n * @private\n */\nfunction push(dest, name, elem) {\n if (dest[name] === undefined) dest[name] = [elem];\n else dest[name].push(elem);\n}\n\n/**\n * Parses the `Sec-WebSocket-Extensions` header into an object.\n *\n * @param {String} header The field value of the header\n * @return {Object} The parsed object\n * @public\n */\nfunction parse(header) {\n const offers = Object.create(null);\n\n if (header === undefined || header === '') return offers;\n\n let params = Object.create(null);\n let mustUnescape = false;\n let isEscaping = false;\n let inQuotes = false;\n let extensionName;\n let paramName;\n let start = -1;\n let end = -1;\n let i = 0;\n\n for (; i < header.length; i++) {\n const code = header.charCodeAt(i);\n\n if (extensionName === undefined) {\n if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (code === 0x20 /* ' ' */ || code === 0x09 /* '\\t' */) {\n if (end === -1 && start !== -1) end = i;\n } else if (code === 0x3b /* ';' */ || code === 0x2c /* ',' */) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n const name = header.slice(start, end);\n if (code === 0x2c) {\n push(offers, name, params);\n params = Object.create(null);\n } else {\n extensionName = name;\n }\n\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n } else if (paramName === undefined) {\n if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (code === 0x20 || code === 0x09) {\n if (end === -1 && start !== -1) end = i;\n } else if (code === 0x3b || code === 0x2c) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n push(params, header.slice(start, end), true);\n if (code === 0x2c) {\n push(offers, extensionName, params);\n params = Object.create(null);\n extensionName = undefined;\n }\n\n start = end = -1;\n } else if (code === 0x3d /* '=' */ && start !== -1 && end === -1) {\n paramName = header.slice(start, i);\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n } else {\n //\n // The value of a quoted-string after unescaping must conform to the\n // token ABNF, so only token characters are valid.\n // Ref: https://tools.ietf.org/html/rfc6455#section-9.1\n //\n if (isEscaping) {\n if (tokenChars[code] !== 1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n if (start === -1) start = i;\n else if (!mustUnescape) mustUnescape = true;\n isEscaping = false;\n } else if (inQuotes) {\n if (tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (code === 0x22 /* '\"' */ && start !== -1) {\n inQuotes = false;\n end = i;\n } else if (code === 0x5c /* '\\' */) {\n isEscaping = true;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n } else if (code === 0x22 && header.charCodeAt(i - 1) === 0x3d) {\n inQuotes = true;\n } else if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (start !== -1 && (code === 0x20 || code === 0x09)) {\n if (end === -1) end = i;\n } else if (code === 0x3b || code === 0x2c) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n let value = header.slice(start, end);\n if (mustUnescape) {\n value = value.replace(/\\\\/g, '');\n mustUnescape = false;\n }\n push(params, paramName, value);\n if (code === 0x2c) {\n push(offers, extensionName, params);\n params = Object.create(null);\n extensionName = undefined;\n }\n\n paramName = undefined;\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n }\n }\n\n if (start === -1 || inQuotes) {\n throw new SyntaxError('Unexpected end of input');\n }\n\n if (end === -1) end = i;\n const token = header.slice(start, end);\n if (extensionName === undefined) {\n push(offers, token, params);\n } else {\n if (paramName === undefined) {\n push(params, token, true);\n } else if (mustUnescape) {\n push(params, paramName, token.replace(/\\\\/g, ''));\n } else {\n push(params, paramName, token);\n }\n push(offers, extensionName, params);\n }\n\n return offers;\n}\n\n/**\n * Builds the `Sec-WebSocket-Extensions` header field value.\n *\n * @param {Object} extensions The map of extensions and parameters to format\n * @return {String} A string representing the given object\n * @public\n */\nfunction format(extensions) {\n return Object.keys(extensions)\n .map((extension) => {\n let configurations = extensions[extension];\n if (!Array.isArray(configurations)) configurations = [configurations];\n return configurations\n .map((params) => {\n return [extension]\n .concat(\n Object.keys(params).map((k) => {\n let values = params[k];\n if (!Array.isArray(values)) values = [values];\n return values\n .map((v) => (v === true ? k : `${k}=${v}`))\n .join('; ');\n })\n )\n .join('; ');\n })\n .join(', ');\n })\n .join(', ');\n}\n\nmodule.exports = { format, parse };\n","'use strict';\n\nconst kDone = Symbol('kDone');\nconst kRun = Symbol('kRun');\n\n/**\n * A very simple job queue with adjustable concurrency. Adapted from\n * https://github.com/STRML/async-limiter\n */\nclass Limiter {\n /**\n * Creates a new `Limiter`.\n *\n * @param {Number} [concurrency=Infinity] The maximum number of jobs allowed\n * to run concurrently\n */\n constructor(concurrency) {\n this[kDone] = () => {\n this.pending--;\n this[kRun]();\n };\n this.concurrency = concurrency || Infinity;\n this.jobs = [];\n this.pending = 0;\n }\n\n /**\n * Adds a job to the queue.\n *\n * @param {Function} job The job to run\n * @public\n */\n add(job) {\n this.jobs.push(job);\n this[kRun]();\n }\n\n /**\n * Removes a job from the queue and runs it if possible.\n *\n * @private\n */\n [kRun]() {\n if (this.pending === this.concurrency) return;\n\n if (this.jobs.length) {\n const job = this.jobs.shift();\n\n this.pending++;\n job(this[kDone]);\n }\n }\n}\n\nmodule.exports = Limiter;\n","'use strict';\n\nconst zlib = require('zlib');\n\nconst bufferUtil = require('./buffer-util');\nconst Limiter = require('./limiter');\nconst { kStatusCode, NOOP } = require('./constants');\n\nconst TRAILER = Buffer.from([0x00, 0x00, 0xff, 0xff]);\nconst kPerMessageDeflate = Symbol('permessage-deflate');\nconst kTotalLength = Symbol('total-length');\nconst kCallback = Symbol('callback');\nconst kBuffers = Symbol('buffers');\nconst kError = Symbol('error');\n\n//\n// We limit zlib concurrency, which prevents severe memory fragmentation\n// as documented in https://github.com/nodejs/node/issues/8871#issuecomment-250915913\n// and https://github.com/websockets/ws/issues/1202\n//\n// Intentionally global; it's the global thread pool that's an issue.\n//\nlet zlibLimiter;\n\n/**\n * permessage-deflate implementation.\n */\nclass PerMessageDeflate {\n /**\n * Creates a PerMessageDeflate instance.\n *\n * @param {Object} [options] Configuration options\n * @param {Boolean} [options.serverNoContextTakeover=false] Request/accept\n * disabling of server context takeover\n * @param {Boolean} [options.clientNoContextTakeover=false] Advertise/\n * acknowledge disabling of client context takeover\n * @param {(Boolean|Number)} [options.serverMaxWindowBits] Request/confirm the\n * use of a custom server window size\n * @param {(Boolean|Number)} [options.clientMaxWindowBits] Advertise support\n * for, or request, a custom client window size\n * @param {Object} [options.zlibDeflateOptions] Options to pass to zlib on\n * deflate\n * @param {Object} [options.zlibInflateOptions] Options to pass to zlib on\n * inflate\n * @param {Number} [options.threshold=1024] Size (in bytes) below which\n * messages should not be compressed\n * @param {Number} [options.concurrencyLimit=10] The number of concurrent\n * calls to zlib\n * @param {Boolean} [isServer=false] Create the instance in either server or\n * client mode\n * @param {Number} [maxPayload=0] The maximum allowed message length\n */\n constructor(options, isServer, maxPayload) {\n this._maxPayload = maxPayload | 0;\n this._options = options || {};\n this._threshold =\n this._options.threshold !== undefined ? this._options.threshold : 1024;\n this._isServer = !!isServer;\n this._deflate = null;\n this._inflate = null;\n\n this.params = null;\n\n if (!zlibLimiter) {\n const concurrency =\n this._options.concurrencyLimit !== undefined\n ? this._options.concurrencyLimit\n : 10;\n zlibLimiter = new Limiter(concurrency);\n }\n }\n\n /**\n * @type {String}\n */\n static get extensionName() {\n return 'permessage-deflate';\n }\n\n /**\n * Create an extension negotiation offer.\n *\n * @return {Object} Extension parameters\n * @public\n */\n offer() {\n const params = {};\n\n if (this._options.serverNoContextTakeover) {\n params.server_no_context_takeover = true;\n }\n if (this._options.clientNoContextTakeover) {\n params.client_no_context_takeover = true;\n }\n if (this._options.serverMaxWindowBits) {\n params.server_max_window_bits = this._options.serverMaxWindowBits;\n }\n if (this._options.clientMaxWindowBits) {\n params.client_max_window_bits = this._options.clientMaxWindowBits;\n } else if (this._options.clientMaxWindowBits == null) {\n params.client_max_window_bits = true;\n }\n\n return params;\n }\n\n /**\n * Accept an extension negotiation offer/response.\n *\n * @param {Array} configurations The extension negotiation offers/reponse\n * @return {Object} Accepted configuration\n * @public\n */\n accept(configurations) {\n configurations = this.normalizeParams(configurations);\n\n this.params = this._isServer\n ? this.acceptAsServer(configurations)\n : this.acceptAsClient(configurations);\n\n return this.params;\n }\n\n /**\n * Releases all resources used by the extension.\n *\n * @public\n */\n cleanup() {\n if (this._inflate) {\n this._inflate.close();\n this._inflate = null;\n }\n\n if (this._deflate) {\n const callback = this._deflate[kCallback];\n\n this._deflate.close();\n this._deflate = null;\n\n if (callback) {\n callback(\n new Error(\n 'The deflate stream was closed while data was being processed'\n )\n );\n }\n }\n }\n\n /**\n * Accept an extension negotiation offer.\n *\n * @param {Array} offers The extension negotiation offers\n * @return {Object} Accepted configuration\n * @private\n */\n acceptAsServer(offers) {\n const opts = this._options;\n const accepted = offers.find((params) => {\n if (\n (opts.serverNoContextTakeover === false &&\n params.server_no_context_takeover) ||\n (params.server_max_window_bits &&\n (opts.serverMaxWindowBits === false ||\n (typeof opts.serverMaxWindowBits === 'number' &&\n opts.serverMaxWindowBits > params.server_max_window_bits))) ||\n (typeof opts.clientMaxWindowBits === 'number' &&\n !params.client_max_window_bits)\n ) {\n return false;\n }\n\n return true;\n });\n\n if (!accepted) {\n throw new Error('None of the extension offers can be accepted');\n }\n\n if (opts.serverNoContextTakeover) {\n accepted.server_no_context_takeover = true;\n }\n if (opts.clientNoContextTakeover) {\n accepted.client_no_context_takeover = true;\n }\n if (typeof opts.serverMaxWindowBits === 'number') {\n accepted.server_max_window_bits = opts.serverMaxWindowBits;\n }\n if (typeof opts.clientMaxWindowBits === 'number') {\n accepted.client_max_window_bits = opts.clientMaxWindowBits;\n } else if (\n accepted.client_max_window_bits === true ||\n opts.clientMaxWindowBits === false\n ) {\n delete accepted.client_max_window_bits;\n }\n\n return accepted;\n }\n\n /**\n * Accept the extension negotiation response.\n *\n * @param {Array} response The extension negotiation response\n * @return {Object} Accepted configuration\n * @private\n */\n acceptAsClient(response) {\n const params = response[0];\n\n if (\n this._options.clientNoContextTakeover === false &&\n params.client_no_context_takeover\n ) {\n throw new Error('Unexpected parameter \"client_no_context_takeover\"');\n }\n\n if (!params.client_max_window_bits) {\n if (typeof this._options.clientMaxWindowBits === 'number') {\n params.client_max_window_bits = this._options.clientMaxWindowBits;\n }\n } else if (\n this._options.clientMaxWindowBits === false ||\n (typeof this._options.clientMaxWindowBits === 'number' &&\n params.client_max_window_bits > this._options.clientMaxWindowBits)\n ) {\n throw new Error(\n 'Unexpected or invalid parameter \"client_max_window_bits\"'\n );\n }\n\n return params;\n }\n\n /**\n * Normalize parameters.\n *\n * @param {Array} configurations The extension negotiation offers/reponse\n * @return {Array} The offers/response with normalized parameters\n * @private\n */\n normalizeParams(configurations) {\n configurations.forEach((params) => {\n Object.keys(params).forEach((key) => {\n let value = params[key];\n\n if (value.length > 1) {\n throw new Error(`Parameter \"${key}\" must have only a single value`);\n }\n\n value = value[0];\n\n if (key === 'client_max_window_bits') {\n if (value !== true) {\n const num = +value;\n if (!Number.isInteger(num) || num < 8 || num > 15) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n value = num;\n } else if (!this._isServer) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n } else if (key === 'server_max_window_bits') {\n const num = +value;\n if (!Number.isInteger(num) || num < 8 || num > 15) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n value = num;\n } else if (\n key === 'client_no_context_takeover' ||\n key === 'server_no_context_takeover'\n ) {\n if (value !== true) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n } else {\n throw new Error(`Unknown parameter \"${key}\"`);\n }\n\n params[key] = value;\n });\n });\n\n return configurations;\n }\n\n /**\n * Decompress data. Concurrency limited.\n *\n * @param {Buffer} data Compressed data\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @public\n */\n decompress(data, fin, callback) {\n zlibLimiter.add((done) => {\n this._decompress(data, fin, (err, result) => {\n done();\n callback(err, result);\n });\n });\n }\n\n /**\n * Compress data. Concurrency limited.\n *\n * @param {Buffer} data Data to compress\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @public\n */\n compress(data, fin, callback) {\n zlibLimiter.add((done) => {\n this._compress(data, fin, (err, result) => {\n done();\n callback(err, result);\n });\n });\n }\n\n /**\n * Decompress data.\n *\n * @param {Buffer} data Compressed data\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @private\n */\n _decompress(data, fin, callback) {\n const endpoint = this._isServer ? 'client' : 'server';\n\n if (!this._inflate) {\n const key = `${endpoint}_max_window_bits`;\n const windowBits =\n typeof this.params[key] !== 'number'\n ? zlib.Z_DEFAULT_WINDOWBITS\n : this.params[key];\n\n this._inflate = zlib.createInflateRaw({\n ...this._options.zlibInflateOptions,\n windowBits\n });\n this._inflate[kPerMessageDeflate] = this;\n this._inflate[kTotalLength] = 0;\n this._inflate[kBuffers] = [];\n this._inflate.on('error', inflateOnError);\n this._inflate.on('data', inflateOnData);\n }\n\n this._inflate[kCallback] = callback;\n\n this._inflate.write(data);\n if (fin) this._inflate.write(TRAILER);\n\n this._inflate.flush(() => {\n const err = this._inflate[kError];\n\n if (err) {\n this._inflate.close();\n this._inflate = null;\n callback(err);\n return;\n }\n\n const data = bufferUtil.concat(\n this._inflate[kBuffers],\n this._inflate[kTotalLength]\n );\n\n if (this._inflate._readableState.endEmitted) {\n this._inflate.close();\n this._inflate = null;\n } else {\n this._inflate[kTotalLength] = 0;\n this._inflate[kBuffers] = [];\n\n if (fin && this.params[`${endpoint}_no_context_takeover`]) {\n this._inflate.reset();\n }\n }\n\n callback(null, data);\n });\n }\n\n /**\n * Compress data.\n *\n * @param {Buffer} data Data to compress\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @private\n */\n _compress(data, fin, callback) {\n const endpoint = this._isServer ? 'server' : 'client';\n\n if (!this._deflate) {\n const key = `${endpoint}_max_window_bits`;\n const windowBits =\n typeof this.params[key] !== 'number'\n ? zlib.Z_DEFAULT_WINDOWBITS\n : this.params[key];\n\n this._deflate = zlib.createDeflateRaw({\n ...this._options.zlibDeflateOptions,\n windowBits\n });\n\n this._deflate[kTotalLength] = 0;\n this._deflate[kBuffers] = [];\n\n //\n // An `'error'` event is emitted, only on Node.js < 10.0.0, if the\n // `zlib.DeflateRaw` instance is closed while data is being processed.\n // This can happen if `PerMessageDeflate#cleanup()` is called at the wrong\n // time due to an abnormal WebSocket closure.\n //\n this._deflate.on('error', NOOP);\n this._deflate.on('data', deflateOnData);\n }\n\n this._deflate[kCallback] = callback;\n\n this._deflate.write(data);\n this._deflate.flush(zlib.Z_SYNC_FLUSH, () => {\n if (!this._deflate) {\n //\n // The deflate stream was closed while data was being processed.\n //\n return;\n }\n\n let data = bufferUtil.concat(\n this._deflate[kBuffers],\n this._deflate[kTotalLength]\n );\n\n if (fin) data = data.slice(0, data.length - 4);\n\n //\n // Ensure that the callback will not be called again in\n // `PerMessageDeflate#cleanup()`.\n //\n this._deflate[kCallback] = null;\n\n this._deflate[kTotalLength] = 0;\n this._deflate[kBuffers] = [];\n\n if (fin && this.params[`${endpoint}_no_context_takeover`]) {\n this._deflate.reset();\n }\n\n callback(null, data);\n });\n }\n}\n\nmodule.exports = PerMessageDeflate;\n\n/**\n * The listener of the `zlib.DeflateRaw` stream `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction deflateOnData(chunk) {\n this[kBuffers].push(chunk);\n this[kTotalLength] += chunk.length;\n}\n\n/**\n * The listener of the `zlib.InflateRaw` stream `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction inflateOnData(chunk) {\n this[kTotalLength] += chunk.length;\n\n if (\n this[kPerMessageDeflate]._maxPayload < 1 ||\n this[kTotalLength] <= this[kPerMessageDeflate]._maxPayload\n ) {\n this[kBuffers].push(chunk);\n return;\n }\n\n this[kError] = new RangeError('Max payload size exceeded');\n this[kError].code = 'WS_ERR_UNSUPPORTED_MESSAGE_LENGTH';\n this[kError][kStatusCode] = 1009;\n this.removeListener('data', inflateOnData);\n this.reset();\n}\n\n/**\n * The listener of the `zlib.InflateRaw` stream `'error'` event.\n *\n * @param {Error} err The emitted error\n * @private\n */\nfunction inflateOnError(err) {\n //\n // There is no need to call `Zlib#close()` as the handle is automatically\n // closed when an error is emitted.\n //\n this[kPerMessageDeflate]._inflate = null;\n err[kStatusCode] = 1007;\n this[kCallback](err);\n}\n","'use strict';\n\nconst { Writable } = require('stream');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst {\n BINARY_TYPES,\n EMPTY_BUFFER,\n kStatusCode,\n kWebSocket\n} = require('./constants');\nconst { concat, toArrayBuffer, unmask } = require('./buffer-util');\nconst { isValidStatusCode, isValidUTF8 } = require('./validation');\n\nconst GET_INFO = 0;\nconst GET_PAYLOAD_LENGTH_16 = 1;\nconst GET_PAYLOAD_LENGTH_64 = 2;\nconst GET_MASK = 3;\nconst GET_DATA = 4;\nconst INFLATING = 5;\n\n/**\n * HyBi Receiver implementation.\n *\n * @extends Writable\n */\nclass Receiver extends Writable {\n /**\n * Creates a Receiver instance.\n *\n * @param {String} [binaryType=nodebuffer] The type for binary data\n * @param {Object} [extensions] An object containing the negotiated extensions\n * @param {Boolean} [isServer=false] Specifies whether to operate in client or\n * server mode\n * @param {Number} [maxPayload=0] The maximum allowed message length\n */\n constructor(binaryType, extensions, isServer, maxPayload) {\n super();\n\n this._binaryType = binaryType || BINARY_TYPES[0];\n this[kWebSocket] = undefined;\n this._extensions = extensions || {};\n this._isServer = !!isServer;\n this._maxPayload = maxPayload | 0;\n\n this._bufferedBytes = 0;\n this._buffers = [];\n\n this._compressed = false;\n this._payloadLength = 0;\n this._mask = undefined;\n this._fragmented = 0;\n this._masked = false;\n this._fin = false;\n this._opcode = 0;\n\n this._totalPayloadLength = 0;\n this._messageLength = 0;\n this._fragments = [];\n\n this._state = GET_INFO;\n this._loop = false;\n }\n\n /**\n * Implements `Writable.prototype._write()`.\n *\n * @param {Buffer} chunk The chunk of data to write\n * @param {String} encoding The character encoding of `chunk`\n * @param {Function} cb Callback\n * @private\n */\n _write(chunk, encoding, cb) {\n if (this._opcode === 0x08 && this._state == GET_INFO) return cb();\n\n this._bufferedBytes += chunk.length;\n this._buffers.push(chunk);\n this.startLoop(cb);\n }\n\n /**\n * Consumes `n` bytes from the buffered data.\n *\n * @param {Number} n The number of bytes to consume\n * @return {Buffer} The consumed bytes\n * @private\n */\n consume(n) {\n this._bufferedBytes -= n;\n\n if (n === this._buffers[0].length) return this._buffers.shift();\n\n if (n < this._buffers[0].length) {\n const buf = this._buffers[0];\n this._buffers[0] = buf.slice(n);\n return buf.slice(0, n);\n }\n\n const dst = Buffer.allocUnsafe(n);\n\n do {\n const buf = this._buffers[0];\n const offset = dst.length - n;\n\n if (n >= buf.length) {\n dst.set(this._buffers.shift(), offset);\n } else {\n dst.set(new Uint8Array(buf.buffer, buf.byteOffset, n), offset);\n this._buffers[0] = buf.slice(n);\n }\n\n n -= buf.length;\n } while (n > 0);\n\n return dst;\n }\n\n /**\n * Starts the parsing loop.\n *\n * @param {Function} cb Callback\n * @private\n */\n startLoop(cb) {\n let err;\n this._loop = true;\n\n do {\n switch (this._state) {\n case GET_INFO:\n err = this.getInfo();\n break;\n case GET_PAYLOAD_LENGTH_16:\n err = this.getPayloadLength16();\n break;\n case GET_PAYLOAD_LENGTH_64:\n err = this.getPayloadLength64();\n break;\n case GET_MASK:\n this.getMask();\n break;\n case GET_DATA:\n err = this.getData(cb);\n break;\n default:\n // `INFLATING`\n this._loop = false;\n return;\n }\n } while (this._loop);\n\n cb(err);\n }\n\n /**\n * Reads the first two bytes of a frame.\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n getInfo() {\n if (this._bufferedBytes < 2) {\n this._loop = false;\n return;\n }\n\n const buf = this.consume(2);\n\n if ((buf[0] & 0x30) !== 0x00) {\n this._loop = false;\n return error(\n RangeError,\n 'RSV2 and RSV3 must be clear',\n true,\n 1002,\n 'WS_ERR_UNEXPECTED_RSV_2_3'\n );\n }\n\n const compressed = (buf[0] & 0x40) === 0x40;\n\n if (compressed && !this._extensions[PerMessageDeflate.extensionName]) {\n this._loop = false;\n return error(\n RangeError,\n 'RSV1 must be clear',\n true,\n 1002,\n 'WS_ERR_UNEXPECTED_RSV_1'\n );\n }\n\n this._fin = (buf[0] & 0x80) === 0x80;\n this._opcode = buf[0] & 0x0f;\n this._payloadLength = buf[1] & 0x7f;\n\n if (this._opcode === 0x00) {\n if (compressed) {\n this._loop = false;\n return error(\n RangeError,\n 'RSV1 must be clear',\n true,\n 1002,\n 'WS_ERR_UNEXPECTED_RSV_1'\n );\n }\n\n if (!this._fragmented) {\n this._loop = false;\n return error(\n RangeError,\n 'invalid opcode 0',\n true,\n 1002,\n 'WS_ERR_INVALID_OPCODE'\n );\n }\n\n this._opcode = this._fragmented;\n } else if (this._opcode === 0x01 || this._opcode === 0x02) {\n if (this._fragmented) {\n this._loop = false;\n return error(\n RangeError,\n `invalid opcode ${this._opcode}`,\n true,\n 1002,\n 'WS_ERR_INVALID_OPCODE'\n );\n }\n\n this._compressed = compressed;\n } else if (this._opcode > 0x07 && this._opcode < 0x0b) {\n if (!this._fin) {\n this._loop = false;\n return error(\n RangeError,\n 'FIN must be set',\n true,\n 1002,\n 'WS_ERR_EXPECTED_FIN'\n );\n }\n\n if (compressed) {\n this._loop = false;\n return error(\n RangeError,\n 'RSV1 must be clear',\n true,\n 1002,\n 'WS_ERR_UNEXPECTED_RSV_1'\n );\n }\n\n if (this._payloadLength > 0x7d) {\n this._loop = false;\n return error(\n RangeError,\n `invalid payload length ${this._payloadLength}`,\n true,\n 1002,\n 'WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH'\n );\n }\n } else {\n this._loop = false;\n return error(\n RangeError,\n `invalid opcode ${this._opcode}`,\n true,\n 1002,\n 'WS_ERR_INVALID_OPCODE'\n );\n }\n\n if (!this._fin && !this._fragmented) this._fragmented = this._opcode;\n this._masked = (buf[1] & 0x80) === 0x80;\n\n if (this._isServer) {\n if (!this._masked) {\n this._loop = false;\n return error(\n RangeError,\n 'MASK must be set',\n true,\n 1002,\n 'WS_ERR_EXPECTED_MASK'\n );\n }\n } else if (this._masked) {\n this._loop = false;\n return error(\n RangeError,\n 'MASK must be clear',\n true,\n 1002,\n 'WS_ERR_UNEXPECTED_MASK'\n );\n }\n\n if (this._payloadLength === 126) this._state = GET_PAYLOAD_LENGTH_16;\n else if (this._payloadLength === 127) this._state = GET_PAYLOAD_LENGTH_64;\n else return this.haveLength();\n }\n\n /**\n * Gets extended payload length (7+16).\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n getPayloadLength16() {\n if (this._bufferedBytes < 2) {\n this._loop = false;\n return;\n }\n\n this._payloadLength = this.consume(2).readUInt16BE(0);\n return this.haveLength();\n }\n\n /**\n * Gets extended payload length (7+64).\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n getPayloadLength64() {\n if (this._bufferedBytes < 8) {\n this._loop = false;\n return;\n }\n\n const buf = this.consume(8);\n const num = buf.readUInt32BE(0);\n\n //\n // The maximum safe integer in JavaScript is 2^53 - 1. An error is returned\n // if payload length is greater than this number.\n //\n if (num > Math.pow(2, 53 - 32) - 1) {\n this._loop = false;\n return error(\n RangeError,\n 'Unsupported WebSocket frame: payload length > 2^53 - 1',\n false,\n 1009,\n 'WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH'\n );\n }\n\n this._payloadLength = num * Math.pow(2, 32) + buf.readUInt32BE(4);\n return this.haveLength();\n }\n\n /**\n * Payload length has been read.\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n haveLength() {\n if (this._payloadLength && this._opcode < 0x08) {\n this._totalPayloadLength += this._payloadLength;\n if (this._totalPayloadLength > this._maxPayload && this._maxPayload > 0) {\n this._loop = false;\n return error(\n RangeError,\n 'Max payload size exceeded',\n false,\n 1009,\n 'WS_ERR_UNSUPPORTED_MESSAGE_LENGTH'\n );\n }\n }\n\n if (this._masked) this._state = GET_MASK;\n else this._state = GET_DATA;\n }\n\n /**\n * Reads mask bytes.\n *\n * @private\n */\n getMask() {\n if (this._bufferedBytes < 4) {\n this._loop = false;\n return;\n }\n\n this._mask = this.consume(4);\n this._state = GET_DATA;\n }\n\n /**\n * Reads data bytes.\n *\n * @param {Function} cb Callback\n * @return {(Error|RangeError|undefined)} A possible error\n * @private\n */\n getData(cb) {\n let data = EMPTY_BUFFER;\n\n if (this._payloadLength) {\n if (this._bufferedBytes < this._payloadLength) {\n this._loop = false;\n return;\n }\n\n data = this.consume(this._payloadLength);\n if (this._masked) unmask(data, this._mask);\n }\n\n if (this._opcode > 0x07) return this.controlMessage(data);\n\n if (this._compressed) {\n this._state = INFLATING;\n this.decompress(data, cb);\n return;\n }\n\n if (data.length) {\n //\n // This message is not compressed so its lenght is the sum of the payload\n // length of all fragments.\n //\n this._messageLength = this._totalPayloadLength;\n this._fragments.push(data);\n }\n\n return this.dataMessage();\n }\n\n /**\n * Decompresses data.\n *\n * @param {Buffer} data Compressed data\n * @param {Function} cb Callback\n * @private\n */\n decompress(data, cb) {\n const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n\n perMessageDeflate.decompress(data, this._fin, (err, buf) => {\n if (err) return cb(err);\n\n if (buf.length) {\n this._messageLength += buf.length;\n if (this._messageLength > this._maxPayload && this._maxPayload > 0) {\n return cb(\n error(\n RangeError,\n 'Max payload size exceeded',\n false,\n 1009,\n 'WS_ERR_UNSUPPORTED_MESSAGE_LENGTH'\n )\n );\n }\n\n this._fragments.push(buf);\n }\n\n const er = this.dataMessage();\n if (er) return cb(er);\n\n this.startLoop(cb);\n });\n }\n\n /**\n * Handles a data message.\n *\n * @return {(Error|undefined)} A possible error\n * @private\n */\n dataMessage() {\n if (this._fin) {\n const messageLength = this._messageLength;\n const fragments = this._fragments;\n\n this._totalPayloadLength = 0;\n this._messageLength = 0;\n this._fragmented = 0;\n this._fragments = [];\n\n if (this._opcode === 2) {\n let data;\n\n if (this._binaryType === 'nodebuffer') {\n data = concat(fragments, messageLength);\n } else if (this._binaryType === 'arraybuffer') {\n data = toArrayBuffer(concat(fragments, messageLength));\n } else {\n data = fragments;\n }\n\n this.emit('message', data);\n } else {\n const buf = concat(fragments, messageLength);\n\n if (!isValidUTF8(buf)) {\n this._loop = false;\n return error(\n Error,\n 'invalid UTF-8 sequence',\n true,\n 1007,\n 'WS_ERR_INVALID_UTF8'\n );\n }\n\n this.emit('message', buf.toString());\n }\n }\n\n this._state = GET_INFO;\n }\n\n /**\n * Handles a control message.\n *\n * @param {Buffer} data Data to handle\n * @return {(Error|RangeError|undefined)} A possible error\n * @private\n */\n controlMessage(data) {\n if (this._opcode === 0x08) {\n this._loop = false;\n\n if (data.length === 0) {\n this.emit('conclude', 1005, '');\n this.end();\n } else if (data.length === 1) {\n return error(\n RangeError,\n 'invalid payload length 1',\n true,\n 1002,\n 'WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH'\n );\n } else {\n const code = data.readUInt16BE(0);\n\n if (!isValidStatusCode(code)) {\n return error(\n RangeError,\n `invalid status code ${code}`,\n true,\n 1002,\n 'WS_ERR_INVALID_CLOSE_CODE'\n );\n }\n\n const buf = data.slice(2);\n\n if (!isValidUTF8(buf)) {\n return error(\n Error,\n 'invalid UTF-8 sequence',\n true,\n 1007,\n 'WS_ERR_INVALID_UTF8'\n );\n }\n\n this.emit('conclude', code, buf.toString());\n this.end();\n }\n } else if (this._opcode === 0x09) {\n this.emit('ping', data);\n } else {\n this.emit('pong', data);\n }\n\n this._state = GET_INFO;\n }\n}\n\nmodule.exports = Receiver;\n\n/**\n * Builds an error object.\n *\n * @param {function(new:Error|RangeError)} ErrorCtor The error constructor\n * @param {String} message The error message\n * @param {Boolean} prefix Specifies whether or not to add a default prefix to\n * `message`\n * @param {Number} statusCode The status code\n * @param {String} errorCode The exposed error code\n * @return {(Error|RangeError)} The error\n * @private\n */\nfunction error(ErrorCtor, message, prefix, statusCode, errorCode) {\n const err = new ErrorCtor(\n prefix ? `Invalid WebSocket frame: ${message}` : message\n );\n\n Error.captureStackTrace(err, error);\n err.code = errorCode;\n err[kStatusCode] = statusCode;\n return err;\n}\n","/* eslint no-unused-vars: [\"error\", { \"varsIgnorePattern\": \"^net|tls$\" }] */\n\n'use strict';\n\nconst net = require('net');\nconst tls = require('tls');\nconst { randomFillSync } = require('crypto');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst { EMPTY_BUFFER } = require('./constants');\nconst { isValidStatusCode } = require('./validation');\nconst { mask: applyMask, toBuffer } = require('./buffer-util');\n\nconst mask = Buffer.alloc(4);\n\n/**\n * HyBi Sender implementation.\n */\nclass Sender {\n /**\n * Creates a Sender instance.\n *\n * @param {(net.Socket|tls.Socket)} socket The connection socket\n * @param {Object} [extensions] An object containing the negotiated extensions\n */\n constructor(socket, extensions) {\n this._extensions = extensions || {};\n this._socket = socket;\n\n this._firstFragment = true;\n this._compress = false;\n\n this._bufferedBytes = 0;\n this._deflating = false;\n this._queue = [];\n }\n\n /**\n * Frames a piece of data according to the HyBi WebSocket protocol.\n *\n * @param {Buffer} data The data to frame\n * @param {Object} options Options object\n * @param {Number} options.opcode The opcode\n * @param {Boolean} [options.readOnly=false] Specifies whether `data` can be\n * modified\n * @param {Boolean} [options.fin=false] Specifies whether or not to set the\n * FIN bit\n * @param {Boolean} [options.mask=false] Specifies whether or not to mask\n * `data`\n * @param {Boolean} [options.rsv1=false] Specifies whether or not to set the\n * RSV1 bit\n * @return {Buffer[]} The framed data as a list of `Buffer` instances\n * @public\n */\n static frame(data, options) {\n const merge = options.mask && options.readOnly;\n let offset = options.mask ? 6 : 2;\n let payloadLength = data.length;\n\n if (data.length >= 65536) {\n offset += 8;\n payloadLength = 127;\n } else if (data.length > 125) {\n offset += 2;\n payloadLength = 126;\n }\n\n const target = Buffer.allocUnsafe(merge ? data.length + offset : offset);\n\n target[0] = options.fin ? options.opcode | 0x80 : options.opcode;\n if (options.rsv1) target[0] |= 0x40;\n\n target[1] = payloadLength;\n\n if (payloadLength === 126) {\n target.writeUInt16BE(data.length, 2);\n } else if (payloadLength === 127) {\n target.writeUInt32BE(0, 2);\n target.writeUInt32BE(data.length, 6);\n }\n\n if (!options.mask) return [target, data];\n\n randomFillSync(mask, 0, 4);\n\n target[1] |= 0x80;\n target[offset - 4] = mask[0];\n target[offset - 3] = mask[1];\n target[offset - 2] = mask[2];\n target[offset - 1] = mask[3];\n\n if (merge) {\n applyMask(data, mask, target, offset, data.length);\n return [target];\n }\n\n applyMask(data, mask, data, 0, data.length);\n return [target, data];\n }\n\n /**\n * Sends a close message to the other peer.\n *\n * @param {Number} [code] The status code component of the body\n * @param {String} [data] The message component of the body\n * @param {Boolean} [mask=false] Specifies whether or not to mask the message\n * @param {Function} [cb] Callback\n * @public\n */\n close(code, data, mask, cb) {\n let buf;\n\n if (code === undefined) {\n buf = EMPTY_BUFFER;\n } else if (typeof code !== 'number' || !isValidStatusCode(code)) {\n throw new TypeError('First argument must be a valid error code number');\n } else if (data === undefined || data === '') {\n buf = Buffer.allocUnsafe(2);\n buf.writeUInt16BE(code, 0);\n } else {\n const length = Buffer.byteLength(data);\n\n if (length > 123) {\n throw new RangeError('The message must not be greater than 123 bytes');\n }\n\n buf = Buffer.allocUnsafe(2 + length);\n buf.writeUInt16BE(code, 0);\n buf.write(data, 2);\n }\n\n if (this._deflating) {\n this.enqueue([this.doClose, buf, mask, cb]);\n } else {\n this.doClose(buf, mask, cb);\n }\n }\n\n /**\n * Frames and sends a close message.\n *\n * @param {Buffer} data The message to send\n * @param {Boolean} [mask=false] Specifies whether or not to mask `data`\n * @param {Function} [cb] Callback\n * @private\n */\n doClose(data, mask, cb) {\n this.sendFrame(\n Sender.frame(data, {\n fin: true,\n rsv1: false,\n opcode: 0x08,\n mask,\n readOnly: false\n }),\n cb\n );\n }\n\n /**\n * Sends a ping message to the other peer.\n *\n * @param {*} data The message to send\n * @param {Boolean} [mask=false] Specifies whether or not to mask `data`\n * @param {Function} [cb] Callback\n * @public\n */\n ping(data, mask, cb) {\n const buf = toBuffer(data);\n\n if (buf.length > 125) {\n throw new RangeError('The data size must not be greater than 125 bytes');\n }\n\n if (this._deflating) {\n this.enqueue([this.doPing, buf, mask, toBuffer.readOnly, cb]);\n } else {\n this.doPing(buf, mask, toBuffer.readOnly, cb);\n }\n }\n\n /**\n * Frames and sends a ping message.\n *\n * @param {Buffer} data The message to send\n * @param {Boolean} [mask=false] Specifies whether or not to mask `data`\n * @param {Boolean} [readOnly=false] Specifies whether `data` can be modified\n * @param {Function} [cb] Callback\n * @private\n */\n doPing(data, mask, readOnly, cb) {\n this.sendFrame(\n Sender.frame(data, {\n fin: true,\n rsv1: false,\n opcode: 0x09,\n mask,\n readOnly\n }),\n cb\n );\n }\n\n /**\n * Sends a pong message to the other peer.\n *\n * @param {*} data The message to send\n * @param {Boolean} [mask=false] Specifies whether or not to mask `data`\n * @param {Function} [cb] Callback\n * @public\n */\n pong(data, mask, cb) {\n const buf = toBuffer(data);\n\n if (buf.length > 125) {\n throw new RangeError('The data size must not be greater than 125 bytes');\n }\n\n if (this._deflating) {\n this.enqueue([this.doPong, buf, mask, toBuffer.readOnly, cb]);\n } else {\n this.doPong(buf, mask, toBuffer.readOnly, cb);\n }\n }\n\n /**\n * Frames and sends a pong message.\n *\n * @param {Buffer} data The message to send\n * @param {Boolean} [mask=false] Specifies whether or not to mask `data`\n * @param {Boolean} [readOnly=false] Specifies whether `data` can be modified\n * @param {Function} [cb] Callback\n * @private\n */\n doPong(data, mask, readOnly, cb) {\n this.sendFrame(\n Sender.frame(data, {\n fin: true,\n rsv1: false,\n opcode: 0x0a,\n mask,\n readOnly\n }),\n cb\n );\n }\n\n /**\n * Sends a data message to the other peer.\n *\n * @param {*} data The message to send\n * @param {Object} options Options object\n * @param {Boolean} [options.compress=false] Specifies whether or not to\n * compress `data`\n * @param {Boolean} [options.binary=false] Specifies whether `data` is binary\n * or text\n * @param {Boolean} [options.fin=false] Specifies whether the fragment is the\n * last one\n * @param {Boolean} [options.mask=false] Specifies whether or not to mask\n * `data`\n * @param {Function} [cb] Callback\n * @public\n */\n send(data, options, cb) {\n const buf = toBuffer(data);\n const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n let opcode = options.binary ? 2 : 1;\n let rsv1 = options.compress;\n\n if (this._firstFragment) {\n this._firstFragment = false;\n if (rsv1 && perMessageDeflate) {\n rsv1 = buf.length >= perMessageDeflate._threshold;\n }\n this._compress = rsv1;\n } else {\n rsv1 = false;\n opcode = 0;\n }\n\n if (options.fin) this._firstFragment = true;\n\n if (perMessageDeflate) {\n const opts = {\n fin: options.fin,\n rsv1,\n opcode,\n mask: options.mask,\n readOnly: toBuffer.readOnly\n };\n\n if (this._deflating) {\n this.enqueue([this.dispatch, buf, this._compress, opts, cb]);\n } else {\n this.dispatch(buf, this._compress, opts, cb);\n }\n } else {\n this.sendFrame(\n Sender.frame(buf, {\n fin: options.fin,\n rsv1: false,\n opcode,\n mask: options.mask,\n readOnly: toBuffer.readOnly\n }),\n cb\n );\n }\n }\n\n /**\n * Dispatches a data message.\n *\n * @param {Buffer} data The message to send\n * @param {Boolean} [compress=false] Specifies whether or not to compress\n * `data`\n * @param {Object} options Options object\n * @param {Number} options.opcode The opcode\n * @param {Boolean} [options.readOnly=false] Specifies whether `data` can be\n * modified\n * @param {Boolean} [options.fin=false] Specifies whether or not to set the\n * FIN bit\n * @param {Boolean} [options.mask=false] Specifies whether or not to mask\n * `data`\n * @param {Boolean} [options.rsv1=false] Specifies whether or not to set the\n * RSV1 bit\n * @param {Function} [cb] Callback\n * @private\n */\n dispatch(data, compress, options, cb) {\n if (!compress) {\n this.sendFrame(Sender.frame(data, options), cb);\n return;\n }\n\n const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n\n this._bufferedBytes += data.length;\n this._deflating = true;\n perMessageDeflate.compress(data, options.fin, (_, buf) => {\n if (this._socket.destroyed) {\n const err = new Error(\n 'The socket was closed while data was being compressed'\n );\n\n if (typeof cb === 'function') cb(err);\n\n for (let i = 0; i < this._queue.length; i++) {\n const callback = this._queue[i][4];\n\n if (typeof callback === 'function') callback(err);\n }\n\n return;\n }\n\n this._bufferedBytes -= data.length;\n this._deflating = false;\n options.readOnly = false;\n this.sendFrame(Sender.frame(buf, options), cb);\n this.dequeue();\n });\n }\n\n /**\n * Executes queued send operations.\n *\n * @private\n */\n dequeue() {\n while (!this._deflating && this._queue.length) {\n const params = this._queue.shift();\n\n this._bufferedBytes -= params[1].length;\n Reflect.apply(params[0], this, params.slice(1));\n }\n }\n\n /**\n * Enqueues a send operation.\n *\n * @param {Array} params Send operation parameters.\n * @private\n */\n enqueue(params) {\n this._bufferedBytes += params[1].length;\n this._queue.push(params);\n }\n\n /**\n * Sends a frame.\n *\n * @param {Buffer[]} list The frame to send\n * @param {Function} [cb] Callback\n * @private\n */\n sendFrame(list, cb) {\n if (list.length === 2) {\n this._socket.cork();\n this._socket.write(list[0]);\n this._socket.write(list[1], cb);\n this._socket.uncork();\n } else {\n this._socket.write(list[0], cb);\n }\n }\n}\n\nmodule.exports = Sender;\n","'use strict';\n\nconst { Duplex } = require('stream');\n\n/**\n * Emits the `'close'` event on a stream.\n *\n * @param {Duplex} stream The stream.\n * @private\n */\nfunction emitClose(stream) {\n stream.emit('close');\n}\n\n/**\n * The listener of the `'end'` event.\n *\n * @private\n */\nfunction duplexOnEnd() {\n if (!this.destroyed && this._writableState.finished) {\n this.destroy();\n }\n}\n\n/**\n * The listener of the `'error'` event.\n *\n * @param {Error} err The error\n * @private\n */\nfunction duplexOnError(err) {\n this.removeListener('error', duplexOnError);\n this.destroy();\n if (this.listenerCount('error') === 0) {\n // Do not suppress the throwing behavior.\n this.emit('error', err);\n }\n}\n\n/**\n * Wraps a `WebSocket` in a duplex stream.\n *\n * @param {WebSocket} ws The `WebSocket` to wrap\n * @param {Object} [options] The options for the `Duplex` constructor\n * @return {Duplex} The duplex stream\n * @public\n */\nfunction createWebSocketStream(ws, options) {\n let resumeOnReceiverDrain = true;\n let terminateOnDestroy = true;\n\n function receiverOnDrain() {\n if (resumeOnReceiverDrain) ws._socket.resume();\n }\n\n if (ws.readyState === ws.CONNECTING) {\n ws.once('open', function open() {\n ws._receiver.removeAllListeners('drain');\n ws._receiver.on('drain', receiverOnDrain);\n });\n } else {\n ws._receiver.removeAllListeners('drain');\n ws._receiver.on('drain', receiverOnDrain);\n }\n\n const duplex = new Duplex({\n ...options,\n autoDestroy: false,\n emitClose: false,\n objectMode: false,\n writableObjectMode: false\n });\n\n ws.on('message', function message(msg) {\n if (!duplex.push(msg)) {\n resumeOnReceiverDrain = false;\n ws._socket.pause();\n }\n });\n\n ws.once('error', function error(err) {\n if (duplex.destroyed) return;\n\n // Prevent `ws.terminate()` from being called by `duplex._destroy()`.\n //\n // - If the `'error'` event is emitted before the `'open'` event, then\n // `ws.terminate()` is a noop as no socket is assigned.\n // - Otherwise, the error is re-emitted by the listener of the `'error'`\n // event of the `Receiver` object. The listener already closes the\n // connection by calling `ws.close()`. This allows a close frame to be\n // sent to the other peer. If `ws.terminate()` is called right after this,\n // then the close frame might not be sent.\n terminateOnDestroy = false;\n duplex.destroy(err);\n });\n\n ws.once('close', function close() {\n if (duplex.destroyed) return;\n\n duplex.push(null);\n });\n\n duplex._destroy = function (err, callback) {\n if (ws.readyState === ws.CLOSED) {\n callback(err);\n process.nextTick(emitClose, duplex);\n return;\n }\n\n let called = false;\n\n ws.once('error', function error(err) {\n called = true;\n callback(err);\n });\n\n ws.once('close', function close() {\n if (!called) callback(err);\n process.nextTick(emitClose, duplex);\n });\n\n if (terminateOnDestroy) ws.terminate();\n };\n\n duplex._final = function (callback) {\n if (ws.readyState === ws.CONNECTING) {\n ws.once('open', function open() {\n duplex._final(callback);\n });\n return;\n }\n\n // If the value of the `_socket` property is `null` it means that `ws` is a\n // client websocket and the handshake failed. In fact, when this happens, a\n // socket is never assigned to the websocket. Wait for the `'error'` event\n // that will be emitted by the websocket.\n if (ws._socket === null) return;\n\n if (ws._socket._writableState.finished) {\n callback();\n if (duplex._readableState.endEmitted) duplex.destroy();\n } else {\n ws._socket.once('finish', function finish() {\n // `duplex` is not destroyed here because the `'end'` event will be\n // emitted on `duplex` after this `'finish'` event. The EOF signaling\n // `null` chunk is, in fact, pushed when the websocket emits `'close'`.\n callback();\n });\n ws.close();\n }\n };\n\n duplex._read = function () {\n if (\n (ws.readyState === ws.OPEN || ws.readyState === ws.CLOSING) &&\n !resumeOnReceiverDrain\n ) {\n resumeOnReceiverDrain = true;\n if (!ws._receiver._writableState.needDrain) ws._socket.resume();\n }\n };\n\n duplex._write = function (chunk, encoding, callback) {\n if (ws.readyState === ws.CONNECTING) {\n ws.once('open', function open() {\n duplex._write(chunk, encoding, callback);\n });\n return;\n }\n\n ws.send(chunk, callback);\n };\n\n duplex.on('end', duplexOnEnd);\n duplex.on('error', duplexOnError);\n return duplex;\n}\n\nmodule.exports = createWebSocketStream;\n","'use strict';\n\n/**\n * Checks if a status code is allowed in a close frame.\n *\n * @param {Number} code The status code\n * @return {Boolean} `true` if the status code is valid, else `false`\n * @public\n */\nfunction isValidStatusCode(code) {\n return (\n (code >= 1000 &&\n code <= 1014 &&\n code !== 1004 &&\n code !== 1005 &&\n code !== 1006) ||\n (code >= 3000 && code <= 4999)\n );\n}\n\n/**\n * Checks if a given buffer contains only correct UTF-8.\n * Ported from https://www.cl.cam.ac.uk/%7Emgk25/ucs/utf8_check.c by\n * Markus Kuhn.\n *\n * @param {Buffer} buf The buffer to check\n * @return {Boolean} `true` if `buf` contains only correct UTF-8, else `false`\n * @public\n */\nfunction _isValidUTF8(buf) {\n const len = buf.length;\n let i = 0;\n\n while (i < len) {\n if ((buf[i] & 0x80) === 0) {\n // 0xxxxxxx\n i++;\n } else if ((buf[i] & 0xe0) === 0xc0) {\n // 110xxxxx 10xxxxxx\n if (\n i + 1 === len ||\n (buf[i + 1] & 0xc0) !== 0x80 ||\n (buf[i] & 0xfe) === 0xc0 // Overlong\n ) {\n return false;\n }\n\n i += 2;\n } else if ((buf[i] & 0xf0) === 0xe0) {\n // 1110xxxx 10xxxxxx 10xxxxxx\n if (\n i + 2 >= len ||\n (buf[i + 1] & 0xc0) !== 0x80 ||\n (buf[i + 2] & 0xc0) !== 0x80 ||\n (buf[i] === 0xe0 && (buf[i + 1] & 0xe0) === 0x80) || // Overlong\n (buf[i] === 0xed && (buf[i + 1] & 0xe0) === 0xa0) // Surrogate (U+D800 - U+DFFF)\n ) {\n return false;\n }\n\n i += 3;\n } else if ((buf[i] & 0xf8) === 0xf0) {\n // 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx\n if (\n i + 3 >= len ||\n (buf[i + 1] & 0xc0) !== 0x80 ||\n (buf[i + 2] & 0xc0) !== 0x80 ||\n (buf[i + 3] & 0xc0) !== 0x80 ||\n (buf[i] === 0xf0 && (buf[i + 1] & 0xf0) === 0x80) || // Overlong\n (buf[i] === 0xf4 && buf[i + 1] > 0x8f) ||\n buf[i] > 0xf4 // > U+10FFFF\n ) {\n return false;\n }\n\n i += 4;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\ntry {\n let isValidUTF8 = require('utf-8-validate');\n\n /* istanbul ignore if */\n if (typeof isValidUTF8 === 'object') {\n isValidUTF8 = isValidUTF8.Validation.isValidUTF8; // utf-8-validate@<3.0.0\n }\n\n module.exports = {\n isValidStatusCode,\n isValidUTF8(buf) {\n return buf.length < 150 ? _isValidUTF8(buf) : isValidUTF8(buf);\n }\n };\n} catch (e) /* istanbul ignore next */ {\n module.exports = {\n isValidStatusCode,\n isValidUTF8: _isValidUTF8\n };\n}\n","/* eslint no-unused-vars: [\"error\", { \"varsIgnorePattern\": \"^net|tls|https$\" }] */\n\n'use strict';\n\nconst EventEmitter = require('events');\nconst http = require('http');\nconst https = require('https');\nconst net = require('net');\nconst tls = require('tls');\nconst { createHash } = require('crypto');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst WebSocket = require('./websocket');\nconst { format, parse } = require('./extension');\nconst { GUID, kWebSocket } = require('./constants');\n\nconst keyRegex = /^[+/0-9A-Za-z]{22}==$/;\n\nconst RUNNING = 0;\nconst CLOSING = 1;\nconst CLOSED = 2;\n\n/**\n * Class representing a WebSocket server.\n *\n * @extends EventEmitter\n */\nclass WebSocketServer extends EventEmitter {\n /**\n * Create a `WebSocketServer` instance.\n *\n * @param {Object} options Configuration options\n * @param {Number} [options.backlog=511] The maximum length of the queue of\n * pending connections\n * @param {Boolean} [options.clientTracking=true] Specifies whether or not to\n * track clients\n * @param {Function} [options.handleProtocols] A hook to handle protocols\n * @param {String} [options.host] The hostname where to bind the server\n * @param {Number} [options.maxPayload=104857600] The maximum allowed message\n * size\n * @param {Boolean} [options.noServer=false] Enable no server mode\n * @param {String} [options.path] Accept only connections matching this path\n * @param {(Boolean|Object)} [options.perMessageDeflate=false] Enable/disable\n * permessage-deflate\n * @param {Number} [options.port] The port where to bind the server\n * @param {(http.Server|https.Server)} [options.server] A pre-created HTTP/S\n * server to use\n * @param {Function} [options.verifyClient] A hook to reject connections\n * @param {Function} [callback] A listener for the `listening` event\n */\n constructor(options, callback) {\n super();\n\n options = {\n maxPayload: 100 * 1024 * 1024,\n perMessageDeflate: false,\n handleProtocols: null,\n clientTracking: true,\n verifyClient: null,\n noServer: false,\n backlog: null, // use default (511 as implemented in net.js)\n server: null,\n host: null,\n path: null,\n port: null,\n ...options\n };\n\n if (\n (options.port == null && !options.server && !options.noServer) ||\n (options.port != null && (options.server || options.noServer)) ||\n (options.server && options.noServer)\n ) {\n throw new TypeError(\n 'One and only one of the \"port\", \"server\", or \"noServer\" options ' +\n 'must be specified'\n );\n }\n\n if (options.port != null) {\n this._server = http.createServer((req, res) => {\n const body = http.STATUS_CODES[426];\n\n res.writeHead(426, {\n 'Content-Length': body.length,\n 'Content-Type': 'text/plain'\n });\n res.end(body);\n });\n this._server.listen(\n options.port,\n options.host,\n options.backlog,\n callback\n );\n } else if (options.server) {\n this._server = options.server;\n }\n\n if (this._server) {\n const emitConnection = this.emit.bind(this, 'connection');\n\n this._removeListeners = addListeners(this._server, {\n listening: this.emit.bind(this, 'listening'),\n error: this.emit.bind(this, 'error'),\n upgrade: (req, socket, head) => {\n this.handleUpgrade(req, socket, head, emitConnection);\n }\n });\n }\n\n if (options.perMessageDeflate === true) options.perMessageDeflate = {};\n if (options.clientTracking) this.clients = new Set();\n this.options = options;\n this._state = RUNNING;\n }\n\n /**\n * Returns the bound address, the address family name, and port of the server\n * as reported by the operating system if listening on an IP socket.\n * If the server is listening on a pipe or UNIX domain socket, the name is\n * returned as a string.\n *\n * @return {(Object|String|null)} The address of the server\n * @public\n */\n address() {\n if (this.options.noServer) {\n throw new Error('The server is operating in \"noServer\" mode');\n }\n\n if (!this._server) return null;\n return this._server.address();\n }\n\n /**\n * Close the server.\n *\n * @param {Function} [cb] Callback\n * @public\n */\n close(cb) {\n if (cb) this.once('close', cb);\n\n if (this._state === CLOSED) {\n process.nextTick(emitClose, this);\n return;\n }\n\n if (this._state === CLOSING) return;\n this._state = CLOSING;\n\n //\n // Terminate all associated clients.\n //\n if (this.clients) {\n for (const client of this.clients) client.terminate();\n }\n\n const server = this._server;\n\n if (server) {\n this._removeListeners();\n this._removeListeners = this._server = null;\n\n //\n // Close the http server if it was internally created.\n //\n if (this.options.port != null) {\n server.close(emitClose.bind(undefined, this));\n return;\n }\n }\n\n process.nextTick(emitClose, this);\n }\n\n /**\n * See if a given request should be handled by this server instance.\n *\n * @param {http.IncomingMessage} req Request object to inspect\n * @return {Boolean} `true` if the request is valid, else `false`\n * @public\n */\n shouldHandle(req) {\n if (this.options.path) {\n const index = req.url.indexOf('?');\n const pathname = index !== -1 ? req.url.slice(0, index) : req.url;\n\n if (pathname !== this.options.path) return false;\n }\n\n return true;\n }\n\n /**\n * Handle a HTTP Upgrade request.\n *\n * @param {http.IncomingMessage} req The request object\n * @param {(net.Socket|tls.Socket)} socket The network socket between the\n * server and client\n * @param {Buffer} head The first packet of the upgraded stream\n * @param {Function} cb Callback\n * @public\n */\n handleUpgrade(req, socket, head, cb) {\n socket.on('error', socketOnError);\n\n const key =\n req.headers['sec-websocket-key'] !== undefined\n ? req.headers['sec-websocket-key'].trim()\n : false;\n const version = +req.headers['sec-websocket-version'];\n const extensions = {};\n\n if (\n req.method !== 'GET' ||\n req.headers.upgrade.toLowerCase() !== 'websocket' ||\n !key ||\n !keyRegex.test(key) ||\n (version !== 8 && version !== 13) ||\n !this.shouldHandle(req)\n ) {\n return abortHandshake(socket, 400);\n }\n\n if (this.options.perMessageDeflate) {\n const perMessageDeflate = new PerMessageDeflate(\n this.options.perMessageDeflate,\n true,\n this.options.maxPayload\n );\n\n try {\n const offers = parse(req.headers['sec-websocket-extensions']);\n\n if (offers[PerMessageDeflate.extensionName]) {\n perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]);\n extensions[PerMessageDeflate.extensionName] = perMessageDeflate;\n }\n } catch (err) {\n return abortHandshake(socket, 400);\n }\n }\n\n //\n // Optionally call external client verification handler.\n //\n if (this.options.verifyClient) {\n const info = {\n origin:\n req.headers[`${version === 8 ? 'sec-websocket-origin' : 'origin'}`],\n secure: !!(req.socket.authorized || req.socket.encrypted),\n req\n };\n\n if (this.options.verifyClient.length === 2) {\n this.options.verifyClient(info, (verified, code, message, headers) => {\n if (!verified) {\n return abortHandshake(socket, code || 401, message, headers);\n }\n\n this.completeUpgrade(key, extensions, req, socket, head, cb);\n });\n return;\n }\n\n if (!this.options.verifyClient(info)) return abortHandshake(socket, 401);\n }\n\n this.completeUpgrade(key, extensions, req, socket, head, cb);\n }\n\n /**\n * Upgrade the connection to WebSocket.\n *\n * @param {String} key The value of the `Sec-WebSocket-Key` header\n * @param {Object} extensions The accepted extensions\n * @param {http.IncomingMessage} req The request object\n * @param {(net.Socket|tls.Socket)} socket The network socket between the\n * server and client\n * @param {Buffer} head The first packet of the upgraded stream\n * @param {Function} cb Callback\n * @throws {Error} If called more than once with the same socket\n * @private\n */\n completeUpgrade(key, extensions, req, socket, head, cb) {\n //\n // Destroy the socket if the client has already sent a FIN packet.\n //\n if (!socket.readable || !socket.writable) return socket.destroy();\n\n if (socket[kWebSocket]) {\n throw new Error(\n 'server.handleUpgrade() was called more than once with the same ' +\n 'socket, possibly due to a misconfiguration'\n );\n }\n\n if (this._state > RUNNING) return abortHandshake(socket, 503);\n\n const digest = createHash('sha1')\n .update(key + GUID)\n .digest('base64');\n\n const headers = [\n 'HTTP/1.1 101 Switching Protocols',\n 'Upgrade: websocket',\n 'Connection: Upgrade',\n `Sec-WebSocket-Accept: ${digest}`\n ];\n\n const ws = new WebSocket(null);\n let protocol = req.headers['sec-websocket-protocol'];\n\n if (protocol) {\n protocol = protocol.split(',').map(trim);\n\n //\n // Optionally call external protocol selection handler.\n //\n if (this.options.handleProtocols) {\n protocol = this.options.handleProtocols(protocol, req);\n } else {\n protocol = protocol[0];\n }\n\n if (protocol) {\n headers.push(`Sec-WebSocket-Protocol: ${protocol}`);\n ws._protocol = protocol;\n }\n }\n\n if (extensions[PerMessageDeflate.extensionName]) {\n const params = extensions[PerMessageDeflate.extensionName].params;\n const value = format({\n [PerMessageDeflate.extensionName]: [params]\n });\n headers.push(`Sec-WebSocket-Extensions: ${value}`);\n ws._extensions = extensions;\n }\n\n //\n // Allow external modification/inspection of handshake headers.\n //\n this.emit('headers', headers, req);\n\n socket.write(headers.concat('\\r\\n').join('\\r\\n'));\n socket.removeListener('error', socketOnError);\n\n ws.setSocket(socket, head, this.options.maxPayload);\n\n if (this.clients) {\n this.clients.add(ws);\n ws.on('close', () => this.clients.delete(ws));\n }\n\n cb(ws, req);\n }\n}\n\nmodule.exports = WebSocketServer;\n\n/**\n * Add event listeners on an `EventEmitter` using a map of \n * pairs.\n *\n * @param {EventEmitter} server The event emitter\n * @param {Object.} map The listeners to add\n * @return {Function} A function that will remove the added listeners when\n * called\n * @private\n */\nfunction addListeners(server, map) {\n for (const event of Object.keys(map)) server.on(event, map[event]);\n\n return function removeListeners() {\n for (const event of Object.keys(map)) {\n server.removeListener(event, map[event]);\n }\n };\n}\n\n/**\n * Emit a `'close'` event on an `EventEmitter`.\n *\n * @param {EventEmitter} server The event emitter\n * @private\n */\nfunction emitClose(server) {\n server._state = CLOSED;\n server.emit('close');\n}\n\n/**\n * Handle premature socket errors.\n *\n * @private\n */\nfunction socketOnError() {\n this.destroy();\n}\n\n/**\n * Close the connection when preconditions are not fulfilled.\n *\n * @param {(net.Socket|tls.Socket)} socket The socket of the upgrade request\n * @param {Number} code The HTTP response status code\n * @param {String} [message] The HTTP response body\n * @param {Object} [headers] Additional HTTP response headers\n * @private\n */\nfunction abortHandshake(socket, code, message, headers) {\n if (socket.writable) {\n message = message || http.STATUS_CODES[code];\n headers = {\n Connection: 'close',\n 'Content-Type': 'text/html',\n 'Content-Length': Buffer.byteLength(message),\n ...headers\n };\n\n socket.write(\n `HTTP/1.1 ${code} ${http.STATUS_CODES[code]}\\r\\n` +\n Object.keys(headers)\n .map((h) => `${h}: ${headers[h]}`)\n .join('\\r\\n') +\n '\\r\\n\\r\\n' +\n message\n );\n }\n\n socket.removeListener('error', socketOnError);\n socket.destroy();\n}\n\n/**\n * Remove whitespace characters from both ends of a string.\n *\n * @param {String} str The string\n * @return {String} A new string representing `str` stripped of whitespace\n * characters from both its beginning and end\n * @private\n */\nfunction trim(str) {\n return str.trim();\n}\n","/* eslint no-unused-vars: [\"error\", { \"varsIgnorePattern\": \"^Readable$\" }] */\n\n'use strict';\n\nconst EventEmitter = require('events');\nconst https = require('https');\nconst http = require('http');\nconst net = require('net');\nconst tls = require('tls');\nconst { randomBytes, createHash } = require('crypto');\nconst { Readable } = require('stream');\nconst { URL } = require('url');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst Receiver = require('./receiver');\nconst Sender = require('./sender');\nconst {\n BINARY_TYPES,\n EMPTY_BUFFER,\n GUID,\n kStatusCode,\n kWebSocket,\n NOOP\n} = require('./constants');\nconst { addEventListener, removeEventListener } = require('./event-target');\nconst { format, parse } = require('./extension');\nconst { toBuffer } = require('./buffer-util');\n\nconst readyStates = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'];\nconst protocolVersions = [8, 13];\nconst closeTimeout = 30 * 1000;\n\n/**\n * Class representing a WebSocket.\n *\n * @extends EventEmitter\n */\nclass WebSocket extends EventEmitter {\n /**\n * Create a new `WebSocket`.\n *\n * @param {(String|URL)} address The URL to which to connect\n * @param {(String|String[])} [protocols] The subprotocols\n * @param {Object} [options] Connection options\n */\n constructor(address, protocols, options) {\n super();\n\n this._binaryType = BINARY_TYPES[0];\n this._closeCode = 1006;\n this._closeFrameReceived = false;\n this._closeFrameSent = false;\n this._closeMessage = '';\n this._closeTimer = null;\n this._extensions = {};\n this._protocol = '';\n this._readyState = WebSocket.CONNECTING;\n this._receiver = null;\n this._sender = null;\n this._socket = null;\n\n if (address !== null) {\n this._bufferedAmount = 0;\n this._isServer = false;\n this._redirects = 0;\n\n if (Array.isArray(protocols)) {\n protocols = protocols.join(', ');\n } else if (typeof protocols === 'object' && protocols !== null) {\n options = protocols;\n protocols = undefined;\n }\n\n initAsClient(this, address, protocols, options);\n } else {\n this._isServer = true;\n }\n }\n\n /**\n * This deviates from the WHATWG interface since ws doesn't support the\n * required default \"blob\" type (instead we define a custom \"nodebuffer\"\n * type).\n *\n * @type {String}\n */\n get binaryType() {\n return this._binaryType;\n }\n\n set binaryType(type) {\n if (!BINARY_TYPES.includes(type)) return;\n\n this._binaryType = type;\n\n //\n // Allow to change `binaryType` on the fly.\n //\n if (this._receiver) this._receiver._binaryType = type;\n }\n\n /**\n * @type {Number}\n */\n get bufferedAmount() {\n if (!this._socket) return this._bufferedAmount;\n\n return this._socket._writableState.length + this._sender._bufferedBytes;\n }\n\n /**\n * @type {String}\n */\n get extensions() {\n return Object.keys(this._extensions).join();\n }\n\n /**\n * @type {Function}\n */\n /* istanbul ignore next */\n get onclose() {\n return undefined;\n }\n\n /* istanbul ignore next */\n set onclose(listener) {}\n\n /**\n * @type {Function}\n */\n /* istanbul ignore next */\n get onerror() {\n return undefined;\n }\n\n /* istanbul ignore next */\n set onerror(listener) {}\n\n /**\n * @type {Function}\n */\n /* istanbul ignore next */\n get onopen() {\n return undefined;\n }\n\n /* istanbul ignore next */\n set onopen(listener) {}\n\n /**\n * @type {Function}\n */\n /* istanbul ignore next */\n get onmessage() {\n return undefined;\n }\n\n /* istanbul ignore next */\n set onmessage(listener) {}\n\n /**\n * @type {String}\n */\n get protocol() {\n return this._protocol;\n }\n\n /**\n * @type {Number}\n */\n get readyState() {\n return this._readyState;\n }\n\n /**\n * @type {String}\n */\n get url() {\n return this._url;\n }\n\n /**\n * Set up the socket and the internal resources.\n *\n * @param {(net.Socket|tls.Socket)} socket The network socket between the\n * server and client\n * @param {Buffer} head The first packet of the upgraded stream\n * @param {Number} [maxPayload=0] The maximum allowed message size\n * @private\n */\n setSocket(socket, head, maxPayload) {\n const receiver = new Receiver(\n this.binaryType,\n this._extensions,\n this._isServer,\n maxPayload\n );\n\n this._sender = new Sender(socket, this._extensions);\n this._receiver = receiver;\n this._socket = socket;\n\n receiver[kWebSocket] = this;\n socket[kWebSocket] = this;\n\n receiver.on('conclude', receiverOnConclude);\n receiver.on('drain', receiverOnDrain);\n receiver.on('error', receiverOnError);\n receiver.on('message', receiverOnMessage);\n receiver.on('ping', receiverOnPing);\n receiver.on('pong', receiverOnPong);\n\n socket.setTimeout(0);\n socket.setNoDelay();\n\n if (head.length > 0) socket.unshift(head);\n\n socket.on('close', socketOnClose);\n socket.on('data', socketOnData);\n socket.on('end', socketOnEnd);\n socket.on('error', socketOnError);\n\n this._readyState = WebSocket.OPEN;\n this.emit('open');\n }\n\n /**\n * Emit the `'close'` event.\n *\n * @private\n */\n emitClose() {\n if (!this._socket) {\n this._readyState = WebSocket.CLOSED;\n this.emit('close', this._closeCode, this._closeMessage);\n return;\n }\n\n if (this._extensions[PerMessageDeflate.extensionName]) {\n this._extensions[PerMessageDeflate.extensionName].cleanup();\n }\n\n this._receiver.removeAllListeners();\n this._readyState = WebSocket.CLOSED;\n this.emit('close', this._closeCode, this._closeMessage);\n }\n\n /**\n * Start a closing handshake.\n *\n * +----------+ +-----------+ +----------+\n * - - -|ws.close()|-->|close frame|-->|ws.close()|- - -\n * | +----------+ +-----------+ +----------+ |\n * +----------+ +-----------+ |\n * CLOSING |ws.close()|<--|close frame|<--+-----+ CLOSING\n * +----------+ +-----------+ |\n * | | | +---+ |\n * +------------------------+-->|fin| - - - -\n * | +---+ | +---+\n * - - - - -|fin|<---------------------+\n * +---+\n *\n * @param {Number} [code] Status code explaining why the connection is closing\n * @param {String} [data] A string explaining why the connection is closing\n * @public\n */\n close(code, data) {\n if (this.readyState === WebSocket.CLOSED) return;\n if (this.readyState === WebSocket.CONNECTING) {\n const msg = 'WebSocket was closed before the connection was established';\n return abortHandshake(this, this._req, msg);\n }\n\n if (this.readyState === WebSocket.CLOSING) {\n if (\n this._closeFrameSent &&\n (this._closeFrameReceived || this._receiver._writableState.errorEmitted)\n ) {\n this._socket.end();\n }\n\n return;\n }\n\n this._readyState = WebSocket.CLOSING;\n this._sender.close(code, data, !this._isServer, (err) => {\n //\n // This error is handled by the `'error'` listener on the socket. We only\n // want to know if the close frame has been sent here.\n //\n if (err) return;\n\n this._closeFrameSent = true;\n\n if (\n this._closeFrameReceived ||\n this._receiver._writableState.errorEmitted\n ) {\n this._socket.end();\n }\n });\n\n //\n // Specify a timeout for the closing handshake to complete.\n //\n this._closeTimer = setTimeout(\n this._socket.destroy.bind(this._socket),\n closeTimeout\n );\n }\n\n /**\n * Send a ping.\n *\n * @param {*} [data] The data to send\n * @param {Boolean} [mask] Indicates whether or not to mask `data`\n * @param {Function} [cb] Callback which is executed when the ping is sent\n * @public\n */\n ping(data, mask, cb) {\n if (this.readyState === WebSocket.CONNECTING) {\n throw new Error('WebSocket is not open: readyState 0 (CONNECTING)');\n }\n\n if (typeof data === 'function') {\n cb = data;\n data = mask = undefined;\n } else if (typeof mask === 'function') {\n cb = mask;\n mask = undefined;\n }\n\n if (typeof data === 'number') data = data.toString();\n\n if (this.readyState !== WebSocket.OPEN) {\n sendAfterClose(this, data, cb);\n return;\n }\n\n if (mask === undefined) mask = !this._isServer;\n this._sender.ping(data || EMPTY_BUFFER, mask, cb);\n }\n\n /**\n * Send a pong.\n *\n * @param {*} [data] The data to send\n * @param {Boolean} [mask] Indicates whether or not to mask `data`\n * @param {Function} [cb] Callback which is executed when the pong is sent\n * @public\n */\n pong(data, mask, cb) {\n if (this.readyState === WebSocket.CONNECTING) {\n throw new Error('WebSocket is not open: readyState 0 (CONNECTING)');\n }\n\n if (typeof data === 'function') {\n cb = data;\n data = mask = undefined;\n } else if (typeof mask === 'function') {\n cb = mask;\n mask = undefined;\n }\n\n if (typeof data === 'number') data = data.toString();\n\n if (this.readyState !== WebSocket.OPEN) {\n sendAfterClose(this, data, cb);\n return;\n }\n\n if (mask === undefined) mask = !this._isServer;\n this._sender.pong(data || EMPTY_BUFFER, mask, cb);\n }\n\n /**\n * Send a data message.\n *\n * @param {*} data The message to send\n * @param {Object} [options] Options object\n * @param {Boolean} [options.compress] Specifies whether or not to compress\n * `data`\n * @param {Boolean} [options.binary] Specifies whether `data` is binary or\n * text\n * @param {Boolean} [options.fin=true] Specifies whether the fragment is the\n * last one\n * @param {Boolean} [options.mask] Specifies whether or not to mask `data`\n * @param {Function} [cb] Callback which is executed when data is written out\n * @public\n */\n send(data, options, cb) {\n if (this.readyState === WebSocket.CONNECTING) {\n throw new Error('WebSocket is not open: readyState 0 (CONNECTING)');\n }\n\n if (typeof options === 'function') {\n cb = options;\n options = {};\n }\n\n if (typeof data === 'number') data = data.toString();\n\n if (this.readyState !== WebSocket.OPEN) {\n sendAfterClose(this, data, cb);\n return;\n }\n\n const opts = {\n binary: typeof data !== 'string',\n mask: !this._isServer,\n compress: true,\n fin: true,\n ...options\n };\n\n if (!this._extensions[PerMessageDeflate.extensionName]) {\n opts.compress = false;\n }\n\n this._sender.send(data || EMPTY_BUFFER, opts, cb);\n }\n\n /**\n * Forcibly close the connection.\n *\n * @public\n */\n terminate() {\n if (this.readyState === WebSocket.CLOSED) return;\n if (this.readyState === WebSocket.CONNECTING) {\n const msg = 'WebSocket was closed before the connection was established';\n return abortHandshake(this, this._req, msg);\n }\n\n if (this._socket) {\n this._readyState = WebSocket.CLOSING;\n this._socket.destroy();\n }\n }\n}\n\n/**\n * @constant {Number} CONNECTING\n * @memberof WebSocket\n */\nObject.defineProperty(WebSocket, 'CONNECTING', {\n enumerable: true,\n value: readyStates.indexOf('CONNECTING')\n});\n\n/**\n * @constant {Number} CONNECTING\n * @memberof WebSocket.prototype\n */\nObject.defineProperty(WebSocket.prototype, 'CONNECTING', {\n enumerable: true,\n value: readyStates.indexOf('CONNECTING')\n});\n\n/**\n * @constant {Number} OPEN\n * @memberof WebSocket\n */\nObject.defineProperty(WebSocket, 'OPEN', {\n enumerable: true,\n value: readyStates.indexOf('OPEN')\n});\n\n/**\n * @constant {Number} OPEN\n * @memberof WebSocket.prototype\n */\nObject.defineProperty(WebSocket.prototype, 'OPEN', {\n enumerable: true,\n value: readyStates.indexOf('OPEN')\n});\n\n/**\n * @constant {Number} CLOSING\n * @memberof WebSocket\n */\nObject.defineProperty(WebSocket, 'CLOSING', {\n enumerable: true,\n value: readyStates.indexOf('CLOSING')\n});\n\n/**\n * @constant {Number} CLOSING\n * @memberof WebSocket.prototype\n */\nObject.defineProperty(WebSocket.prototype, 'CLOSING', {\n enumerable: true,\n value: readyStates.indexOf('CLOSING')\n});\n\n/**\n * @constant {Number} CLOSED\n * @memberof WebSocket\n */\nObject.defineProperty(WebSocket, 'CLOSED', {\n enumerable: true,\n value: readyStates.indexOf('CLOSED')\n});\n\n/**\n * @constant {Number} CLOSED\n * @memberof WebSocket.prototype\n */\nObject.defineProperty(WebSocket.prototype, 'CLOSED', {\n enumerable: true,\n value: readyStates.indexOf('CLOSED')\n});\n\n[\n 'binaryType',\n 'bufferedAmount',\n 'extensions',\n 'protocol',\n 'readyState',\n 'url'\n].forEach((property) => {\n Object.defineProperty(WebSocket.prototype, property, { enumerable: true });\n});\n\n//\n// Add the `onopen`, `onerror`, `onclose`, and `onmessage` attributes.\n// See https://html.spec.whatwg.org/multipage/comms.html#the-websocket-interface\n//\n['open', 'error', 'close', 'message'].forEach((method) => {\n Object.defineProperty(WebSocket.prototype, `on${method}`, {\n enumerable: true,\n get() {\n const listeners = this.listeners(method);\n for (let i = 0; i < listeners.length; i++) {\n if (listeners[i]._listener) return listeners[i]._listener;\n }\n\n return undefined;\n },\n set(listener) {\n const listeners = this.listeners(method);\n for (let i = 0; i < listeners.length; i++) {\n //\n // Remove only the listeners added via `addEventListener`.\n //\n if (listeners[i]._listener) this.removeListener(method, listeners[i]);\n }\n this.addEventListener(method, listener);\n }\n });\n});\n\nWebSocket.prototype.addEventListener = addEventListener;\nWebSocket.prototype.removeEventListener = removeEventListener;\n\nmodule.exports = WebSocket;\n\n/**\n * Initialize a WebSocket client.\n *\n * @param {WebSocket} websocket The client to initialize\n * @param {(String|URL)} address The URL to which to connect\n * @param {String} [protocols] The subprotocols\n * @param {Object} [options] Connection options\n * @param {(Boolean|Object)} [options.perMessageDeflate=true] Enable/disable\n * permessage-deflate\n * @param {Number} [options.handshakeTimeout] Timeout in milliseconds for the\n * handshake request\n * @param {Number} [options.protocolVersion=13] Value of the\n * `Sec-WebSocket-Version` header\n * @param {String} [options.origin] Value of the `Origin` or\n * `Sec-WebSocket-Origin` header\n * @param {Number} [options.maxPayload=104857600] The maximum allowed message\n * size\n * @param {Boolean} [options.followRedirects=false] Whether or not to follow\n * redirects\n * @param {Number} [options.maxRedirects=10] The maximum number of redirects\n * allowed\n * @private\n */\nfunction initAsClient(websocket, address, protocols, options) {\n const opts = {\n protocolVersion: protocolVersions[1],\n maxPayload: 100 * 1024 * 1024,\n perMessageDeflate: true,\n followRedirects: false,\n maxRedirects: 10,\n ...options,\n createConnection: undefined,\n socketPath: undefined,\n hostname: undefined,\n protocol: undefined,\n timeout: undefined,\n method: undefined,\n host: undefined,\n path: undefined,\n port: undefined\n };\n\n if (!protocolVersions.includes(opts.protocolVersion)) {\n throw new RangeError(\n `Unsupported protocol version: ${opts.protocolVersion} ` +\n `(supported versions: ${protocolVersions.join(', ')})`\n );\n }\n\n let parsedUrl;\n\n if (address instanceof URL) {\n parsedUrl = address;\n websocket._url = address.href;\n } else {\n parsedUrl = new URL(address);\n websocket._url = address;\n }\n\n const isUnixSocket = parsedUrl.protocol === 'ws+unix:';\n\n if (!parsedUrl.host && (!isUnixSocket || !parsedUrl.pathname)) {\n const err = new Error(`Invalid URL: ${websocket.url}`);\n\n if (websocket._redirects === 0) {\n throw err;\n } else {\n emitErrorAndClose(websocket, err);\n return;\n }\n }\n\n const isSecure =\n parsedUrl.protocol === 'wss:' || parsedUrl.protocol === 'https:';\n const defaultPort = isSecure ? 443 : 80;\n const key = randomBytes(16).toString('base64');\n const get = isSecure ? https.get : http.get;\n let perMessageDeflate;\n\n opts.createConnection = isSecure ? tlsConnect : netConnect;\n opts.defaultPort = opts.defaultPort || defaultPort;\n opts.port = parsedUrl.port || defaultPort;\n opts.host = parsedUrl.hostname.startsWith('[')\n ? parsedUrl.hostname.slice(1, -1)\n : parsedUrl.hostname;\n opts.headers = {\n 'Sec-WebSocket-Version': opts.protocolVersion,\n 'Sec-WebSocket-Key': key,\n Connection: 'Upgrade',\n Upgrade: 'websocket',\n ...opts.headers\n };\n opts.path = parsedUrl.pathname + parsedUrl.search;\n opts.timeout = opts.handshakeTimeout;\n\n if (opts.perMessageDeflate) {\n perMessageDeflate = new PerMessageDeflate(\n opts.perMessageDeflate !== true ? opts.perMessageDeflate : {},\n false,\n opts.maxPayload\n );\n opts.headers['Sec-WebSocket-Extensions'] = format({\n [PerMessageDeflate.extensionName]: perMessageDeflate.offer()\n });\n }\n if (protocols) {\n opts.headers['Sec-WebSocket-Protocol'] = protocols;\n }\n if (opts.origin) {\n if (opts.protocolVersion < 13) {\n opts.headers['Sec-WebSocket-Origin'] = opts.origin;\n } else {\n opts.headers.Origin = opts.origin;\n }\n }\n if (parsedUrl.username || parsedUrl.password) {\n opts.auth = `${parsedUrl.username}:${parsedUrl.password}`;\n }\n\n if (isUnixSocket) {\n const parts = opts.path.split(':');\n\n opts.socketPath = parts[0];\n opts.path = parts[1];\n }\n\n let req = (websocket._req = get(opts));\n\n if (opts.timeout) {\n req.on('timeout', () => {\n abortHandshake(websocket, req, 'Opening handshake has timed out');\n });\n }\n\n req.on('error', (err) => {\n if (req === null || req.aborted) return;\n\n req = websocket._req = null;\n emitErrorAndClose(websocket, err);\n });\n\n req.on('response', (res) => {\n const location = res.headers.location;\n const statusCode = res.statusCode;\n\n if (\n location &&\n opts.followRedirects &&\n statusCode >= 300 &&\n statusCode < 400\n ) {\n if (++websocket._redirects > opts.maxRedirects) {\n abortHandshake(websocket, req, 'Maximum redirects exceeded');\n return;\n }\n\n req.abort();\n\n let addr;\n\n try {\n addr = new URL(location, address);\n } catch (err) {\n emitErrorAndClose(websocket, err);\n return;\n }\n\n initAsClient(websocket, addr, protocols, options);\n } else if (!websocket.emit('unexpected-response', req, res)) {\n abortHandshake(\n websocket,\n req,\n `Unexpected server response: ${res.statusCode}`\n );\n }\n });\n\n req.on('upgrade', (res, socket, head) => {\n websocket.emit('upgrade', res);\n\n //\n // The user may have closed the connection from a listener of the `upgrade`\n // event.\n //\n if (websocket.readyState !== WebSocket.CONNECTING) return;\n\n req = websocket._req = null;\n\n const digest = createHash('sha1')\n .update(key + GUID)\n .digest('base64');\n\n if (res.headers['sec-websocket-accept'] !== digest) {\n abortHandshake(websocket, socket, 'Invalid Sec-WebSocket-Accept header');\n return;\n }\n\n const serverProt = res.headers['sec-websocket-protocol'];\n const protList = (protocols || '').split(/, */);\n let protError;\n\n if (!protocols && serverProt) {\n protError = 'Server sent a subprotocol but none was requested';\n } else if (protocols && !serverProt) {\n protError = 'Server sent no subprotocol';\n } else if (serverProt && !protList.includes(serverProt)) {\n protError = 'Server sent an invalid subprotocol';\n }\n\n if (protError) {\n abortHandshake(websocket, socket, protError);\n return;\n }\n\n if (serverProt) websocket._protocol = serverProt;\n\n const secWebSocketExtensions = res.headers['sec-websocket-extensions'];\n\n if (secWebSocketExtensions !== undefined) {\n if (!perMessageDeflate) {\n const message =\n 'Server sent a Sec-WebSocket-Extensions header but no extension ' +\n 'was requested';\n abortHandshake(websocket, socket, message);\n return;\n }\n\n let extensions;\n\n try {\n extensions = parse(secWebSocketExtensions);\n } catch (err) {\n const message = 'Invalid Sec-WebSocket-Extensions header';\n abortHandshake(websocket, socket, message);\n return;\n }\n\n const extensionNames = Object.keys(extensions);\n\n if (extensionNames.length) {\n if (\n extensionNames.length !== 1 ||\n extensionNames[0] !== PerMessageDeflate.extensionName\n ) {\n const message =\n 'Server indicated an extension that was not requested';\n abortHandshake(websocket, socket, message);\n return;\n }\n\n try {\n perMessageDeflate.accept(extensions[PerMessageDeflate.extensionName]);\n } catch (err) {\n const message = 'Invalid Sec-WebSocket-Extensions header';\n abortHandshake(websocket, socket, message);\n return;\n }\n\n websocket._extensions[PerMessageDeflate.extensionName] =\n perMessageDeflate;\n }\n }\n\n websocket.setSocket(socket, head, opts.maxPayload);\n });\n}\n\n/**\n * Emit the `'error'` and `'close'` event.\n *\n * @param {WebSocket} websocket The WebSocket instance\n * @param {Error} The error to emit\n * @private\n */\nfunction emitErrorAndClose(websocket, err) {\n websocket._readyState = WebSocket.CLOSING;\n websocket.emit('error', err);\n websocket.emitClose();\n}\n\n/**\n * Create a `net.Socket` and initiate a connection.\n *\n * @param {Object} options Connection options\n * @return {net.Socket} The newly created socket used to start the connection\n * @private\n */\nfunction netConnect(options) {\n options.path = options.socketPath;\n return net.connect(options);\n}\n\n/**\n * Create a `tls.TLSSocket` and initiate a connection.\n *\n * @param {Object} options Connection options\n * @return {tls.TLSSocket} The newly created socket used to start the connection\n * @private\n */\nfunction tlsConnect(options) {\n options.path = undefined;\n\n if (!options.servername && options.servername !== '') {\n options.servername = net.isIP(options.host) ? '' : options.host;\n }\n\n return tls.connect(options);\n}\n\n/**\n * Abort the handshake and emit an error.\n *\n * @param {WebSocket} websocket The WebSocket instance\n * @param {(http.ClientRequest|net.Socket|tls.Socket)} stream The request to\n * abort or the socket to destroy\n * @param {String} message The error message\n * @private\n */\nfunction abortHandshake(websocket, stream, message) {\n websocket._readyState = WebSocket.CLOSING;\n\n const err = new Error(message);\n Error.captureStackTrace(err, abortHandshake);\n\n if (stream.setHeader) {\n stream.abort();\n\n if (stream.socket && !stream.socket.destroyed) {\n //\n // On Node.js >= 14.3.0 `request.abort()` does not destroy the socket if\n // called after the request completed. See\n // https://github.com/websockets/ws/issues/1869.\n //\n stream.socket.destroy();\n }\n\n stream.once('abort', websocket.emitClose.bind(websocket));\n websocket.emit('error', err);\n } else {\n stream.destroy(err);\n stream.once('error', websocket.emit.bind(websocket, 'error'));\n stream.once('close', websocket.emitClose.bind(websocket));\n }\n}\n\n/**\n * Handle cases where the `ping()`, `pong()`, or `send()` methods are called\n * when the `readyState` attribute is `CLOSING` or `CLOSED`.\n *\n * @param {WebSocket} websocket The WebSocket instance\n * @param {*} [data] The data to send\n * @param {Function} [cb] Callback\n * @private\n */\nfunction sendAfterClose(websocket, data, cb) {\n if (data) {\n const length = toBuffer(data).length;\n\n //\n // The `_bufferedAmount` property is used only when the peer is a client and\n // the opening handshake fails. Under these circumstances, in fact, the\n // `setSocket()` method is not called, so the `_socket` and `_sender`\n // properties are set to `null`.\n //\n if (websocket._socket) websocket._sender._bufferedBytes += length;\n else websocket._bufferedAmount += length;\n }\n\n if (cb) {\n const err = new Error(\n `WebSocket is not open: readyState ${websocket.readyState} ` +\n `(${readyStates[websocket.readyState]})`\n );\n cb(err);\n }\n}\n\n/**\n * The listener of the `Receiver` `'conclude'` event.\n *\n * @param {Number} code The status code\n * @param {String} reason The reason for closing\n * @private\n */\nfunction receiverOnConclude(code, reason) {\n const websocket = this[kWebSocket];\n\n websocket._closeFrameReceived = true;\n websocket._closeMessage = reason;\n websocket._closeCode = code;\n\n if (websocket._socket[kWebSocket] === undefined) return;\n\n websocket._socket.removeListener('data', socketOnData);\n process.nextTick(resume, websocket._socket);\n\n if (code === 1005) websocket.close();\n else websocket.close(code, reason);\n}\n\n/**\n * The listener of the `Receiver` `'drain'` event.\n *\n * @private\n */\nfunction receiverOnDrain() {\n this[kWebSocket]._socket.resume();\n}\n\n/**\n * The listener of the `Receiver` `'error'` event.\n *\n * @param {(RangeError|Error)} err The emitted error\n * @private\n */\nfunction receiverOnError(err) {\n const websocket = this[kWebSocket];\n\n if (websocket._socket[kWebSocket] !== undefined) {\n websocket._socket.removeListener('data', socketOnData);\n\n //\n // On Node.js < 14.0.0 the `'error'` event is emitted synchronously. See\n // https://github.com/websockets/ws/issues/1940.\n //\n process.nextTick(resume, websocket._socket);\n\n websocket.close(err[kStatusCode]);\n }\n\n websocket.emit('error', err);\n}\n\n/**\n * The listener of the `Receiver` `'finish'` event.\n *\n * @private\n */\nfunction receiverOnFinish() {\n this[kWebSocket].emitClose();\n}\n\n/**\n * The listener of the `Receiver` `'message'` event.\n *\n * @param {(String|Buffer|ArrayBuffer|Buffer[])} data The message\n * @private\n */\nfunction receiverOnMessage(data) {\n this[kWebSocket].emit('message', data);\n}\n\n/**\n * The listener of the `Receiver` `'ping'` event.\n *\n * @param {Buffer} data The data included in the ping frame\n * @private\n */\nfunction receiverOnPing(data) {\n const websocket = this[kWebSocket];\n\n websocket.pong(data, !websocket._isServer, NOOP);\n websocket.emit('ping', data);\n}\n\n/**\n * The listener of the `Receiver` `'pong'` event.\n *\n * @param {Buffer} data The data included in the pong frame\n * @private\n */\nfunction receiverOnPong(data) {\n this[kWebSocket].emit('pong', data);\n}\n\n/**\n * Resume a readable stream\n *\n * @param {Readable} stream The readable stream\n * @private\n */\nfunction resume(stream) {\n stream.resume();\n}\n\n/**\n * The listener of the `net.Socket` `'close'` event.\n *\n * @private\n */\nfunction socketOnClose() {\n const websocket = this[kWebSocket];\n\n this.removeListener('close', socketOnClose);\n this.removeListener('data', socketOnData);\n this.removeListener('end', socketOnEnd);\n\n websocket._readyState = WebSocket.CLOSING;\n\n let chunk;\n\n //\n // The close frame might not have been received or the `'end'` event emitted,\n // for example, if the socket was destroyed due to an error. Ensure that the\n // `receiver` stream is closed after writing any remaining buffered data to\n // it. If the readable side of the socket is in flowing mode then there is no\n // buffered data as everything has been already written and `readable.read()`\n // will return `null`. If instead, the socket is paused, any possible buffered\n // data will be read as a single chunk.\n //\n if (\n !this._readableState.endEmitted &&\n !websocket._closeFrameReceived &&\n !websocket._receiver._writableState.errorEmitted &&\n (chunk = websocket._socket.read()) !== null\n ) {\n websocket._receiver.write(chunk);\n }\n\n websocket._receiver.end();\n\n this[kWebSocket] = undefined;\n\n clearTimeout(websocket._closeTimer);\n\n if (\n websocket._receiver._writableState.finished ||\n websocket._receiver._writableState.errorEmitted\n ) {\n websocket.emitClose();\n } else {\n websocket._receiver.on('error', receiverOnFinish);\n websocket._receiver.on('finish', receiverOnFinish);\n }\n}\n\n/**\n * The listener of the `net.Socket` `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction socketOnData(chunk) {\n if (!this[kWebSocket]._receiver.write(chunk)) {\n this.pause();\n }\n}\n\n/**\n * The listener of the `net.Socket` `'end'` event.\n *\n * @private\n */\nfunction socketOnEnd() {\n const websocket = this[kWebSocket];\n\n websocket._readyState = WebSocket.CLOSING;\n websocket._receiver.end();\n this.end();\n}\n\n/**\n * The listener of the `net.Socket` `'error'` event.\n *\n * @private\n */\nfunction socketOnError() {\n const websocket = this[kWebSocket];\n\n this.removeListener('error', socketOnError);\n this.on('error', NOOP);\n\n if (websocket) {\n websocket._readyState = WebSocket.CLOSING;\n this.destroy();\n }\n}\n","module.exports = require(\"crypto\");","module.exports = require(\"events\");","module.exports = require(\"fs\");","module.exports = require(\"http\");","module.exports = require(\"https\");","module.exports = require(\"net\");","module.exports = require(\"os\");","module.exports = require(\"path\");","module.exports = require(\"punycode\");","module.exports = require(\"stream\");","module.exports = require(\"timers\");","module.exports = require(\"tls\");","module.exports = require(\"url\");","module.exports = require(\"zlib\");","import Stream from 'stream';\nimport http from 'http';\nimport Url from 'url';\nimport whatwgUrl from 'whatwg-url';\nimport https from 'https';\nimport zlib from 'zlib';\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = / 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\tif (!headers.has('Connection') && !agent) {\n\t\theaders.set('Connection', 'close');\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\trequest.body.destroy(error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\t\t\tfinalize();\n\t\t});\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nexport default fetch;\nexport { Headers, Request, Response, FetchError };\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module doesn't tell about it's top-level declarations so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(4608);\n"],"names":["fs","path","fileURLToPath","join","dirname","exists","accessSync","e","existsSync","defaults","arrow","process","env","NODE_BINDINGS_ARROW","compiled","NODE_BINDINGS_COMPILED_DIR","platform","arch","nodePreGyp","versions","modules","version","node","bindings","try","module","exports","opts","Object","keys","map","i","module_root","getRoot","getFileName","extname","n","b","err","requireFunc","tries","l","length","apply","p","push","resolve","code","test","message","Error","a","calling_file","fileName","origPST","prepareStackTrace","origSTL","stackTraceLimit","dummy","st","__filename","captureStackTrace","indexOf","file","prev","dir","cwd","mask","source","output","offset","unmask","buffer","__dirname","singleMatcher","RegExp","multiMatcher","decodeComponents","components","split","decodeURIComponent","left","slice","right","Array","prototype","concat","call","decode","input","tokens","match","encodedURI","TypeError","replace","customDecodeURIComponent","replaceMap","exec","result","entries","key","EventEmitter","fetch","transports","pid","getPid","RPCClient","constructor","options","super","this","accessToken","clientId","application","user","Transport","transport","method","data","query","endpoint","URLSearchParams","body","headers","Authorization","then","async","r","json","ok","status","on","_onRpcMessage","bind","_expecting","Map","_connectPromise","undefined","connect","Promise","reject","timeout","setTimeout","unref","once","clearTimeout","forEach","emit","catch","scopes","authorize","authenticate","request","cmd","args","evt","nonce","uuid","send","set","RPCCommands","DISPATCH","RPCEvents","READY","has","get","delete","clientSecret","rpcToken","client_id","client_secret","rpc_token","prompt","grant_type","redirect_uri","redirectUri","access_token","getGuild","id","GET_GUILD","guild_id","getGuilds","GET_GUILDS","getChannel","GET_CHANNEL","channel_id","GET_CHANNELS","channels","setCertifiedDevices","devices","SET_CERTIFIED_DEVICES","d","type","vendor","model","related","echo_cancellation","echoCancellation","noise_suppression","noiseSuppression","automatic_gain_control","automaticGainControl","hardware_mute","hardwareMute","setUserVoiceSettings","settings","SET_USER_VOICE_SETTINGS","user_id","pan","mute","volume","selectVoiceChannel","SELECT_VOICE_CHANNEL","force","selectTextChannel","SELECT_TEXT_CHANNEL","getVoiceSettings","GET_VOICE_SETTINGS","s","qos","silenceWarning","silence_warning","deaf","availableDevices","available_devices","device","device_id","mode","autoThreshold","auto_threshold","threshold","shortcut","delay","setVoiceSettings","SET_VOICE_SETTINGS","captureShortcut","callback","subid","subKey","event","JSON","stringify","CAPTURE_SHORTCUT_CHANGE","stop","_subscriptions","CAPTURE_SHORTCUT","action","setActivity","timestamps","assets","party","secrets","startTimestamp","endTimestamp","start","end","Date","Math","round","getTime","RangeError","largeImageKey","largeImageText","smallImageKey","smallImageText","large_image","large_text","small_image","small_text","partySize","partyId","partyMax","size","matchSecret","joinSecret","spectateSecret","spectate","SET_ACTIVITY","activity","state","details","buttons","instance","clearActivity","sendJoinInvite","SEND_ACTIVITY_JOIN_INVITE","sendJoinRequest","SEND_ACTIVITY_JOIN_REQUEST","closeJoinRequest","CLOSE_ACTIVITY_JOIN_REQUEST","createLobby","capacity","metadata","CREATE_LOBBY","updateLobby","lobby","UPDATE_LOBBY","owner_id","owner","deleteLobby","DELETE_LOBBY","connectToLobby","secret","CONNECT_TO_LOBBY","sendToLobby","SEND_TO_LOBBY","disconnectFromLobby","DISCONNECT_FROM_LOBBY","updateLobbyMember","UPDATE_LOBBY_MEMBER","lobby_id","getRelationships","types","RelationshipTypes","GET_RELATIONSHIPS","o","relationships","SUBSCRIBE","unsubscribe","UNSUBSCRIBE","close","keyMirror","arr","tmp","value","browser","window","RPCErrors","CAPTURE_SHORTCUT_ALREADY_LISTENING","GET_GUILD_TIMED_OUT","INVALID_ACTIVITY_JOIN_REQUEST","INVALID_ACTIVITY_SECRET","INVALID_CHANNEL","INVALID_CLIENTID","INVALID_COMMAND","INVALID_ENTITLEMENT","INVALID_EVENT","INVALID_GIFT_CODE","INVALID_GUILD","INVALID_INVITE","INVALID_LOBBY","INVALID_LOBBY_SECRET","INVALID_ORIGIN","INVALID_PAYLOAD","INVALID_PERMISSIONS","INVALID_TOKEN","INVALID_USER","LOBBY_FULL","NO_ELIGIBLE_ACTIVITY","OAUTH2_ERROR","PURCHASE_CANCELED","PURCHASE_ERROR","RATE_LIMITED","SELECT_CHANNEL_TIMED_OUT","SELECT_VOICE_FORCE_REQUIRED","SERVICE_UNAVAILABLE","TRANSACTION_ABORTED","UNAUTHORIZED_FOR_ACHIEVEMENT","UNKNOWN_ERROR","RPCCloseCodes","CLOSE_NORMAL","CLOSE_UNSUPPORTED","CLOSE_ABNORMAL","RATELIMITED","TOKEN_REVOKED","INVALID_VERSION","INVALID_ENCODING","LobbyTypes","PRIVATE","PUBLIC","NONE","FRIEND","BLOCKED","PENDING_INCOMING","PENDING_OUTGOING","IMPLICIT","util","Client","register","ipc","websocket","net","OPCodes","getIPC","getIPCPath","XDG_RUNTIME_DIR","TMPDIR","TMP","TEMP","onerror","sock","createConnection","removeListener","findEndpoint","encode","op","len","Buffer","byteLength","packet","alloc","writeInt32LE","write","working","full","socket","read","raw","readInt32LE","toString","parse","IPCTransport","client","onClose","v","pause","ping","WebSocket","WebSocketTransport","ws","port","origin","onopen","onOpen","onclose","onError","onmessage","onMessage","wasClean","error","app","setAsDefaultProtocolClient","random","pathFile","getElectronPath","executablePath","readFileSync","ELECTRON_OVERRIDE_DIST_PATH","sep","fileUriToPath","uri","substring","rest","decodeURI","firstSlash","host","obj","predicate","ret","isArr","isArray","val","parseUrl","isSsh","gitUp","token","splits","protocols","protocol","href","gitUrlParse","url","urlInfo","sourceParts","resource","git_suffix","pathname","name","organization","full_name","filepath","ref","nameIndex","dashIndex","blobIndex","treeIndex","commitIndex","srcIndex","rawIndex","commit","filepathtype","offsetNameIndex","startsWith","matches","at","maybeGitSuffix","buildToken","includes","buildPath","prots","urlPortPattern","os","runtimeRequire","vars","config","variables","prebuildsOnly","PREBUILDS_ONLY","abi","runtime","isElectron","electron","ELECTRON_RUN_AS_NODE","libc","LIBC","isAlpine","armv","ARM_VERSION","arm_version","uv","load","readdirSync","getFirst","filter","files","matchBuild","parseTuple","architectures","every","Boolean","matchTuple","tuple","compareTuples","parseTags","tags","specificity","pop","tag","napi","matchTags","runtimeAgnostic","compareTags","toUpperCase","release","debug","prebuild","nearby","execPath","target","sort","prebuilds","winner","testParameter","filters","some","urlString","defaultProtocol","normalizeProtocol","forceHttp","forceHttps","stripAuthentication","stripHash","stripTextFragment","stripWWW","removeQueryParameters","removeTrailingSlash","removeSingleSlash","removeDirectoryIndex","sortQueryParameters","trim","groups","mediaType","hash","isBase64","mimeType","shift","toLowerCase","normalizedMediaType","attribute","string","unshift","normalizeDataURL","hasRelativeProtocol","urlObj","URL","username","password","_","pathComponents","lastComponent","hostname","searchParams","search","oldUrlString","endsWith","stripProtocol","qs","parsePath","create","protocolIndex","parts","firstChar","charAt","Number","isNaN","_typeof","Symbol","iterator","normalizeUrl","normalize","arguments","parsed","first","index","strictUriEncode","decodeComponent","splitOnFirst","filterObject","validateArrayFormatSeparator","strict","encodeURIComponent","keysSorter","removeHash","hashStart","extract","queryStart","parseValue","parseNumbers","parseBooleans","assign","arrayFormat","arrayFormatSeparator","formatter","parserForArrayFormat","accumulator","isEncodedArray","newValue","item","param","k","reduce","object","shouldFilter","skipNull","skipEmptyString","encoderForArrayFormat","objectCopy","x","url_","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryFromUrl","parsedQueryFromUrl","queryString","getHash","pick","exclude","exclusionFilter","registerProtocolHandler","separator","separatorIndex","str","charCodeAt","punycode","mappingTable","PROCESSING_OPTIONS","TRANSITIONAL","NONTRANSITIONAL","findStatus","mid","floor","regexAstralSymbols","countSymbols","combiningMarksRegex","validateLabel","label","processing_option","substr","toUnicode","codePointAt","processing","domain_name","useSTD3","mapChars","hasError","processed","codePoint","String","fromCodePoint","labels","validation","toASCII","verifyDnsLength","total","domain","require","outputChannel","LogLevel","logMessage","logLevel","timestamp","toLocaleTimeString","appendLine","stack","logInfo","logError","throttle","fn","lastCalled","now","getConfig","workspace","CONFIG_KEYS","REPLACE_KEYS","dataClass","Data","_file","_repo","_remote","_debug","eventEmitter","rootListeners","gitExtListeners","gitApiListeners","gitExt","gitApi","debugLevel","ext","api","enabled","document","updateGit","extensions","dirName","fullDirName","workspaceFolder","gitRepoPath","rootUri","fsPath","gitRepoName","gitRemoteName","gitRemoteUrl","fetchUrl","pushUrl","gitBranchName","HEAD","dispose","level","disposeOf","disposable","onUpdate","listener","isActive","onDidChangeEnablement","activate","getAPI","listeners","onDidOpenRepository","onDidCloseRepository","onDidChangeState","fire","repo","remote","repos","repositories","testString","remotes","find","isExcluded","toMatch","ignorePattern","toLower","toLocaleLowerCase","toUpper","toLocaleUpperCase","toTitle","c","getFileIcon","resolveFileIcon","filename","basename","findKnownExtension","KNOWN_EXTENSIONS","areLanguagesPrioritized","findKnownLanguage","KNOWN_LANGUAGES","language","languageId","knownExtension","image","knownLanguage","fileIcon","totalProblems","previous","isViewing","insiders","appName","defaultSmallImageKey","defaultSmallImageText","defaultLargeImageText","removeDetails","removeLowerDetails","removeLowerDetailsIdling","presence","padEnd","isWorkspaceExcluded","workspaceExcludedText","ignoreWorkspacesText","gitRepo","gitOrg","isRepositoryExcluded","isOrganizationExcluded","isNotExcluded","idling","viewing","editing","debugging","noWorkspaceFound","workspaceFolderName","workspaceName","workspaceAndFolder","problems","relativePath","splice","fileDetails","_raw","selection","lineCount","toLocaleString","active","line","character","rpc","idleCheckTimeout","statusBarIcon","StatusBarAlignment","text","sendActivity","listen","fileSwitch","fileEdit","debugStart","debugEnd","diagnosticsChange","languages","onDiagnosticsChange","diagnostics","counted","diagnostic","severity","DiagnosticSeverity","changeWindowState","toggleIdling","gitListener","cleanUp","windowState","focused","login","tooltip","show","destroy","command","applicationIds","getApplicationId","registerComamnds","ctx","enable","update","disable","hide","enableCommand","commands","disableCommand","reconnectCommand","disconnectCommand","subscriptions","deactivate","isValidUTF8","buf","conversions","sign","createNumberConversion","bitLength","typeOpts","unsigned","lowerBound","pow","upperBound","moduloVal","moduloBitLength","moduloBound","V","enforceRange","isFinite","abs","clamp","evenRound","treatNullAsEmptyString","S","U","usm","implementation","URLImpl","constructorArgs","base","parsedBase","basicURLParse","parsedURL","baseURL","_url","serializeURL","serializeURLOrigin","scheme","stateOverride","cannotHaveAUsernamePasswordPort","setTheUsername","setThePassword","serializeHost","serializeInteger","cannotBeABaseURL","fragment","toJSON","utils","Impl","impl","implSymbol","setup","is","defineProperty","enumerable","configurable","privateData","wrapper","wrapperSymbol","interface","expose","Window","Worker","tr46","specialSchemes","ftp","gopher","http","https","wss","failure","ucs2","idx","isASCIIDigit","isASCIIAlpha","isASCIIHex","isSingleDot","isWindowsDriveLetterString","isSpecialScheme","isSpecial","percentEncode","hex","isC0ControlPercentEncode","extraPathPercentEncodeSet","Set","isPathPercentEncode","extraUserinfoPercentEncodeSet","isUserinfoPercentEncode","percentEncodeChar","encodeSetPredicate","cStr","utf8PercentEncode","parseIPv4Number","R","parseInt","parseHost","isSpecialArg","parseIPv6","address","pieceIndex","compress","pointer","numbersSeen","ipv4Piece","number","swaps","temp","parseOpaqueHost","containsForbiddenHostCodePointExcludingPercent","decoded","utf8PercentDecode","asciiDomain","containsForbiddenHostCodePoint","ipv4Host","parseIPv4","numbers","part","ipv4","counter","serializeIPv4","serializeIPv6","findLongestZeroSequence","maxIdx","maxLen","currStart","currLen","ignore0","shortenPath","isNormalizedWindowsDriveLetter","includesCredentials","URLStateMachine","encodingOverride","parseError","res","trimControlChars","trimTabAndNewline","atFlag","arrFlag","passwordTokenSeenFlag","parseSchemeStart","parseScheme","isASCIIAlphanumeric","parseNoScheme","parseSpecialRelativeOrAuthority","parsePathOrAuthority","parseRelative","parseRelativeSlash","parseSpecialAuthoritySlashes","parseSpecialAuthorityIgnoreSlashes","parseAuthority","encodedCodePoints","parseHostName","parsePort","defaultPort","fileOtherwiseCodePoints","parseFile","isWindowsDriveLetterCodePoints","cp1","cp2","parseFileSlash","isNormalizedWindowsDriveLetterString","parseFileHost","parsePathStart","isDoubleDot","parseCannotBeABaseURLPath","parseQuery","parseFragment","excludeFragment","parseURL","serializeOrigin","integer","mixin","getOwnPropertyNames","getOwnPropertyDescriptor","wrapperForImpl","implForWrapper","createWebSocketStream","Server","Receiver","Sender","list","totalLength","EMPTY_BUFFER","allocUnsafe","_mask","_unmask","toArrayBuffer","byteOffset","toBuffer","readOnly","isBuffer","ArrayBuffer","from","isView","bufferUtil","bu","BufferUtil","BINARY_TYPES","GUID","kStatusCode","kWebSocket","NOOP","Event","MessageEvent","CloseEvent","reason","_closeFrameReceived","_closeFrameSent","OpenEvent","ErrorEvent","EventTarget","addEventListener","_listener","removeEventListener","tokenChars","dest","elem","format","extension","configurations","params","values","header","offers","extensionName","paramName","mustUnescape","isEscaping","inQuotes","SyntaxError","kDone","kRun","Limiter","concurrency","pending","Infinity","jobs","add","job","zlib","TRAILER","kPerMessageDeflate","kTotalLength","kCallback","kBuffers","kError","zlibLimiter","deflateOnData","chunk","inflateOnData","_maxPayload","reset","inflateOnError","_inflate","PerMessageDeflate","isServer","maxPayload","_options","_threshold","_isServer","_deflate","concurrencyLimit","offer","serverNoContextTakeover","server_no_context_takeover","clientNoContextTakeover","client_no_context_takeover","serverMaxWindowBits","server_max_window_bits","clientMaxWindowBits","client_max_window_bits","accept","normalizeParams","acceptAsServer","acceptAsClient","cleanup","accepted","response","num","isInteger","decompress","fin","done","_decompress","_compress","windowBits","Z_DEFAULT_WINDOWBITS","createInflateRaw","zlibInflateOptions","flush","_readableState","endEmitted","createDeflateRaw","zlibDeflateOptions","Z_SYNC_FLUSH","ErrorCtor","prefix","statusCode","errorCode","Writable","binaryType","_binaryType","_extensions","_bufferedBytes","_buffers","_compressed","_payloadLength","_fragmented","_masked","_fin","_opcode","_totalPayloadLength","_messageLength","_fragments","_state","_loop","_write","encoding","cb","startLoop","consume","dst","Uint8Array","getInfo","getPayloadLength16","getPayloadLength64","getMask","getData","compressed","haveLength","readUInt16BE","readUInt32BE","controlMessage","dataMessage","er","messageLength","fragments","isValidStatusCode","applyMask","_socket","_firstFragment","_deflating","_queue","static","merge","payloadLength","opcode","rsv1","writeUInt16BE","writeUInt32BE","randomFillSync","enqueue","doClose","sendFrame","frame","doPing","pong","doPong","perMessageDeflate","binary","dispatch","destroyed","dequeue","Reflect","cork","uncork","emitClose","stream","duplexOnEnd","_writableState","finished","duplexOnError","listenerCount","resumeOnReceiverDrain","terminateOnDestroy","receiverOnDrain","resume","readyState","CONNECTING","open","_receiver","removeAllListeners","duplex","Duplex","autoDestroy","objectMode","writableObjectMode","msg","_destroy","CLOSED","nextTick","called","terminate","_final","finish","_read","OPEN","CLOSING","needDrain","_isValidUTF8","Validation","keyRegex","server","socketOnError","abortHandshake","writable","STATUS_CODES","Connection","h","WebSocketServer","handleProtocols","clientTracking","verifyClient","noServer","backlog","_server","createServer","req","writeHead","emitConnection","_removeListeners","addListeners","removeListeners","listening","upgrade","head","handleUpgrade","clients","shouldHandle","info","secure","authorized","encrypted","verified","completeUpgrade","readable","createHash","digest","_protocol","setSocket","tls","readyStates","protocolVersions","_closeCode","_closeMessage","_closeTimer","_readyState","_sender","_bufferedAmount","_redirects","initAsClient","bufferedAmount","receiver","receiverOnConclude","receiverOnError","receiverOnMessage","receiverOnPing","receiverOnPong","setNoDelay","socketOnClose","socketOnData","socketOnEnd","_req","errorEmitted","sendAfterClose","protocolVersion","followRedirects","maxRedirects","socketPath","parsedUrl","isUnixSocket","emitErrorAndClose","isSecure","randomBytes","tlsConnect","netConnect","Upgrade","handshakeTimeout","Origin","auth","aborted","location","addr","abort","serverProt","protList","protError","secWebSocketExtensions","extensionNames","servername","isIP","setHeader","receiverOnFinish","property","Readable","BUFFER","TYPE","Blob","blobParts","buffers","element","arrayBuffer","ab","relativeStart","relativeEnd","max","min","span","slicedBuffer","blob","FetchError","systemError","errno","convert","defineProperties","toStringTag","INTERNALS","PassThrough","Body","_this","_ref","_ref$size","_ref$timeout","isURLSearchParams","isBlob","disturbed","consumeBody","_this4","accum","accumBytes","resTimeout","append","getAll","clone","p1","p2","bodyUsed","getBoundary","pipe","extractContentType","getTotalBytes","getLengthSync","_lengthRetrievers","hasKnownLength","ct","_this2","textConverted","_this3","convertBody","charset","mixIn","proto","desc","global","invalidTokenRegex","invalidHeaderCharRegex","validateName","validateValue","MAP","Headers","init","rawHeaders","headerNames","headerName","pairs","pair","thisArg","getHeaders","_pairs$i","createHeadersIterator","kind","INTERNAL","HeadersIteratorPrototype","setPrototypeOf","next","getPrototypeOf","_INTERNAL","exportNodeCompatibleHeaders","__proto__","hostHeaderKey","INTERNALS$1","Response","contentType","statusText","redirected","INTERNALS$2","parse_url","format_url","urlStr","streamDestructionSupported","isRequest","Request","inputBody","signal","isAbortSignal","redirect","follow","agent","AbortError","URL$1","PassThrough$1","getNodeRequestOptions","contentLengthValue","totalBytes","abortAndFinalize","finalize","reqTimeout","createHeadersLenient","isRedirect","locationURL","requestOpts","isDomainOrSubdomain","destination","original","orig","response_options","statusMessage","codings","zlibOptions","finishFlush","writeToStream","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","definition","prop","hasOwnProperty","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/vscodium/extensions/leonardssh.vscord-4.5.0/package.json b/vscodium/extensions/leonardssh.vscord-4.5.0/package.json new file mode 100644 index 00000000..8e476f14 --- /dev/null +++ b/vscodium/extensions/leonardssh.vscord-4.5.0/package.json @@ -0,0 +1,353 @@ +{ + "name": "vscord", + "displayName": "Discord Rich Presence", + "version": "4.5.0", + "description": "Fully customizable VS Code extension to get Discord Rich Presence integration", + "main": "dist/extension.js", + "private": true, + "icon": "assets/icon.png", + "galleryBanner": { + "color": "#5865F2", + "theme": "dark" + }, + "scripts": { + "lint": "eslint src --ext ts --fix", + "format": "prettier --write src/**/*.ts", + "update": "yarn upgrade-interactive --latest", + "prebuild": "yarn clean && yarn format && yarn lint", + "build": "webpack --mode production", + "watch": "webpack --watch --mode development", + "clean": "rimraf dist", + "vscode:prepublish": "yarn build", + "commit": "git-cz", + "cz": "git-cz", + "prepare": "husky install .github/husky" + }, + "activationEvents": [ + "onStartupFinished" + ], + "extensionKind": [ + "ui", + "workspace" + ], + "repository": { + "type": "git", + "url": "https://github.com/LeonardSSH/vscord.git" + }, + "author": "LeonardSSH (https://leonard.sh)", + "license": "MIT", + "publisher": "LeonardSSH", + "bugs": { + "url": "https://github.com/LeonardSSH/vscord/issues" + }, + "homepage": "https://github.com/LeonardSSH/vscord#readme", + "dependencies": { + "bufferutil": "^4.0.3", + "discord-rpc": "^4.0.1", + "electron": "^17.0.0", + "git-url-parse": "^11.5.0", + "utf-8-validate": "^5.0.5" + }, + "optionalDependencies": { + "register-scheme": "devsnek/node-register-scheme" + }, + "devDependencies": { + "@commitlint/cli": "^16.2.1", + "@commitlint/config-conventional": "^16.2.1", + "@types/discord-rpc": "^4.0.0", + "@types/git-url-parse": "^9.0.1", + "@types/node": "^17.0.17", + "@types/vscode": "^1.59.0", + "@typescript-eslint/eslint-plugin": "^5.11.0", + "@typescript-eslint/parser": "^5.11.0", + "clean-webpack-plugin": "^4.0.0", + "cz-conventional-changelog": "^3.3.0", + "eslint": "^8.9.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0", + "husky": "^7.0.1", + "lint-staged": "^12.3.4", + "prettier": "^2.3.2", + "pretty-quick": "^3.1.1", + "rimraf": "^3.0.2", + "terser-webpack-plugin": "^5.3.1", + "ts-loader": "^9.2.6", + "typescript": "^4.3.5", + "webpack": "^5.68.0", + "webpack-cli": "^4.9.2" + }, + "commitlint": { + "extends": [ + "@commitlint/config-conventional" + ] + }, + "lint-staged": { + "*.{mjs,js,ts}": "eslint --fix --ext mjs,js,ts" + }, + "config": { + "commitizen": { + "path": "./node_modules/cz-conventional-changelog" + } + }, + "keywords": [ + "discord", + "vscode", + "rich", + "presence", + "rich presence", + "rpc", + "game status" + ], + "categories": [ + "Visualization", + "Other" + ], + "engines": { + "vscode": "^1.63.1" + }, + "contributes": { + "commands": [ + { + "command": "rpc.enable", + "title": "Enable Discord Presence in the current workspace", + "category": "Discord Rich Presence" + }, + { + "command": "rpc.disable", + "title": "Disable Discord Presence in the current workspace", + "category": "Discord Rich Presence" + }, + { + "command": "rpc.disconnect", + "title": "Disconnect Discord Presence from Discord", + "category": "Discord Rich Presence" + }, + { + "command": "rpc.reconnect", + "title": "Reconnect Discord Presence to Discord Gateway", + "category": "Discord Rich Presence" + } + ], + "configuration": { + "title": "Discord Presence Configuration", + "type": "Object", + "properties": { + "rpc.id": { + "type": "string", + "default": "782685898163617802", + "description": "Application ID. Change only if you known exactly what you're doing." + }, + "rpc.appName": { + "type": "string", + "enum": [ + "Code", + "Visual Studio Code" + ], + "default": "Code", + "description": "Choose the name you want the application to use." + }, + "rpc.enabled": { + "type": "boolean", + "default": true, + "description": "Controls if the Discord Rich Presence should show across all workspaces." + }, + "rpc.detailsEditing": { + "type": "string", + "default": "In {workspace} {problems}", + "description": "Custom string for the details section of the rich presence\n\t- {empty} will be replaced with an empty space\n\t- {file_name} will be replaced with the current file name\n\t- {dir_name} will get replaced with the folder name that has the current file\n\t- {full_dir_name} will get replaced with the full directory name without the current file name\n\t- {workspace} will be replaced with the current workspace name, if any\n\t- {workspace_folder} will be replaced with the currently accessed workspace folder, if any\n\t- {workspace_and_folder} will be replaced with the currently accessed workspace and workspace folder like this: 'Workspace - workspace_folder'\n\t- {current_column} will get replaced with the current column of the current line\n\t- {current_line} will get replaced with the current line number\n\t- {total_lines} will get replaced with the total line number\n\t- {git_repo} will be replaced by the current git repository (also detects repos in subdirectories) if any\n\t- {git_branch} will be replaced by the current git branch if in an repository\n\t- {problems} will be replaced with the count of problems (warnings, errors) present in your workspace." + }, + "rpc.detailsIdling": { + "type": "string", + "default": "Idling", + "description": "Custom string for the details section of the rich presence when idling\n\t- {empty} will be replaced with an empty space." + }, + "rpc.detailsDebugging": { + "type": "string", + "default": "Debugging {file_name}", + "description": "Custom string for the details section of the rich presence when debugging\n\t- {empty} will be replaced with an empty space\n\t- {file_name} will be replaced with the current file name\n\t- {dir_name} will get replaced with the folder name that has the current file\n\t- {full_dir_name} will get replaced with the full directory name without the current file name\n\t- {workspace} will be replaced with the current workspace name, if any\n\t- {workspace_folder} will be replaced with the currently accessed workspace folder, if any\n\t- {workspace_and_folder} will be replaced with the currently accessed workspace and workspace folder like this: 'Workspace - workspace_folder'\n\t- {current_column} will get replaced with the current column of the current line\n\t- {current_line} will get replaced with the current line number\n\t- {total_lines} will get replaced with the total line number\n\t- {git_repo} will be replaced by the current git repository (also detects repos in subdirectories) if any\n\t- {git_branch} will be replaced by the current git branch if in an repository\n\t- {problems} will be replaced with the count of problems (warnings, errors) present in your workspace." + }, + "rpc.detailsViewing": { + "type": "string", + "default": "In {workspace} {problems}", + "description": "Custom string for the details section of the rich presence when viewing\n\t- {empty} will be replaced with an empty space\n\t- {file_name} will be replaced with the current file name\n\t- {dir_name} will get replaced with the folder name that has the current file\n\t- {full_dir_name} will get replaced with the full directory name without the current file name\n\t- {workspace} will be replaced with the current workspace name, if any\n\t- {workspace_folder} will be replaced with the currently accessed workspace folder, if any\n\t- {workspace_and_folder} will be replaced with the currently accessed workspace and workspace folder like this: 'Workspace - workspace_folder'\n\t- {current_column} will get replaced with the current column of the current line\n\t- {current_line} will get replaced with the current line number\n\t- {total_lines} will get replaced with the total line number\n\t- {git_repo} will be replaced by the current git repository (also detects repos in subdirectories) if any\n\t- {git_branch} will be replaced by the current git branch if in an repository\n\t- {problems} will be replaced with the count of problems (warnings, errors) present in your workspace." + }, + "rpc.lowerDetailsEditing": { + "type": "string", + "default": "Working on {file_name}:{current_line}:{current_column}", + "description": "Custom string for the state section of the rich presence\n\t- {empty} will be replaced with an empty space\n\t- {file_name} will be replaced with the current file name\n\t- {dir_name} will get replaced with the folder name that has the current file\n\t- {full_dir_name} will get replaced with the full directory name without the current file name\n\t- {workspace} will be replaced with the current workspace name, if any\n\t- {workspace_folder} will be replaced with the currently accessed workspace folder, if any\n\t- {workspace_and_folder} will be replaced with the currently accessed workspace and workspace folder like this: 'Workspace - workspace_folder'\n\t- {current_column} will get replaced with the current column of the current line\n\t- {current_line} will get replaced with the current line number\n\t- {total_lines} will get replaced with the total line number\n\t- {git_repo} will be replaced by the current git repository (also detects repos in subdirectories) if any\n\t- {git_branch} will be replaced by the current git branch if in an repository\n\t- {problems} will be replaced with the count of problems (warnings, errors) present in your workspace." + }, + "rpc.lowerDetailsIdling": { + "type": "string", + "default": "Idling", + "description": "Custom string for the state section of the rich presence when idling\n\t- {empty} will be replaced with an empty space." + }, + "rpc.lowerDetailsDebugging": { + "type": "string", + "default": "Debugging: {workspace}", + "description": "Custom string for the state section of the rich presence when debugging\n\t- {empty} will be replaced with an empty space\n\t- {file_name} will be replaced with the current file name\n\t- {dir_name} will get replaced with the folder name that has the current file\n\t- {full_dir_name} will get replaced with the full directory name without the current file name\n\t- {workspace} will be replaced with the current workspace name, if any\n\t- {workspace_folder} will be replaced with the currently accessed workspace folder, if any\n\t- {workspace_and_folder} will be replaced with the currently accessed workspace and workspace folder like this: 'Workspace - workspace_folder'\n\t- {current_column} will get replaced with the current column of the current line\n\t- {current_line} will get replaced with the current line number\n\t- {total_lines} will get replaced with the total line number\n\t- {git_repo} will be replaced by the current git repository (also detects repos in subdirectories) if any\n\t- {git_branch} will be replaced by the current git branch if in an repository\n\t- {problems} will be replaced with the count of problems (warnings, errors) present in your workspace." + }, + "rpc.lowerDetailsViewing": { + "type": "string", + "default": "Viewing {file_name}", + "description": "Custom string for the state section of the rich presence when viewing\n\t- {empty} will be replaced with an empty space\n\t- {file_name} will be replaced with the current file name\n\t- {dir_name} will get replaced with the folder name that has the current file\n\t- {full_dir_name} will get replaced with the full directory name without the current file name\n\t- {workspace} will be replaced with the current workspace name, if any\n\t- {workspace_folder} will be replaced with the currently accessed workspace folder, if any\n\t- {workspace_and_folder} will be replaced with the currently accessed workspace and workspace folder like this: 'Workspace - workspace_folder'\n\t- {current_column} will get replaced with the current column of the current line\n\t- {current_line} will get replaced with the current line number\n\t- {total_lines} will get replaced with the total line number\n\t- {git_repo} will be replaced by the current git repository (also detects repos in subdirectories) if any\n\t- {git_branch} will be replaced by the current git branch if in an repository\n\t- {problems} will be replaced with the count of problems (warnings, errors) present in your workspace." + }, + "rpc.lowerDetailsNoWorkspaceFound": { + "type": "string", + "default": "No workspace.", + "description": "Custom string for the state section of the rich presence when no workspace is found.\n- {empty} will be replaced with an empty space\n\t- {current_line} will get replaced with the current line number\n\t- {total_lines} will get replaced with the total line number." + }, + "rpc.largeImage": { + "type": "string", + "default": "Editing a {LANG} file", + "description": "Custom string for the largeImageText section of the rich presence\n\t- {lang} will be replaced with the lowercased language ID\n\t- {Lang} will be replaced with the language ID, first letter being uppercase\n\t- {LANG} will be replaced with the uppercased language ID." + }, + "rpc.largeImageIdling": { + "type": "string", + "default": "Idling", + "description": "Custom string for the largeImageText section of the rich presence when idling." + }, + "rpc.smallImage": { + "type": "string", + "default": "{app_name}", + "description": "Custom string for the smallImageText section of the rich presence\n\t- {app_name} will get replaced with the current Visual Studio Code version." + }, + "rpc.removeElapsedTime": { + "type": "boolean", + "default": false, + "description": "Controls if the RPC should display elapsed time for a workspace or a single file." + }, + "rpc.removeDetails": { + "type": "boolean", + "default": false, + "description": "Controls if the RPC should remove the details" + }, + "rpc.removeLowerDetails": { + "type": "boolean", + "default": false, + "description": "Controls if the RPC should remove the lower details" + }, + "rpc.removeLowerDetailsIdling": { + "type": "boolean", + "default": true, + "description": "Controls if the RPC should remove the lower details when idling" + }, + "rpc.showProblems": { + "type": "boolean", + "default": true, + "description": "Controls if the RPC should show the count of problems (warnings, errors) present in your workspace." + }, + "rpc.problemsText": { + "type": "string", + "default": "- {problemsCount} problems found", + "description": "Custom string of the text displaying the amount of problems in your workspace\n\t- {problemsCount} will be replaced by the respective amount of problems." + }, + "rpc.ignoreWorkspaces": { + "type": "array", + "items": { + "type": "string" + }, + "default": [], + "description": "List of patterns to match workspace names that should prevent their display." + }, + "rpc.ignoreWorkspacesText": { + "type": [ + "string", + "object" + ], + "description": "Custom text string that is displayed if a workspace folder has been detected in the ignore list." + }, + "rpc.checkIdle": { + "type": "boolean", + "default": true, + "description": "Whether or not to check if you are still active or idle and react accordingly." + }, + "rpc.idleTimeout": { + "type": "number", + "default": 300, + "description": "How long the window should be unfocused (in seconds) to either disable rich presence or display you as idle." + }, + "rpc.idleText": { + "type": "string", + "default": "zZz", + "description": "Custom string of the text displaying if you're idle when hovering over the small icon." + }, + "rpc.buttonEnabled": { + "type": "boolean", + "default": false, + "description": "Enable a button on your presence with a link to the Git repository you're working in." + }, + "rpc.buttonActiveLabel": { + "type": "string", + "default": "View Repository", + "description": "The label to show on the button when the file you are currently editing is located in a Git repository." + }, + "rpc.buttonInactiveLabel": { + "type": "string", + "default": null, + "description": "The label to show on the button when you are not editing a file in a Git repository. Set to null to disable." + }, + "rpc.buttonInactiveUrl": { + "type": "string", + "default": null, + "description": "The URL of the button when you are not editing a file in a Git repository. Set to null to disable." + }, + "rpc.ignoreRepositories": { + "type": "array", + "items": { + "type": "string" + }, + "default": [], + "description": "List of patterns to match repository names that should prevent its display in the button." + }, + "rpc.ignoreOrganizations": { + "type": "array", + "items": { + "type": "string" + }, + "default": [], + "description": "List of patterns to match organizations names that should prevent its display in the button." + }, + "rpc.suppressNotifications": { + "type": "boolean", + "default": true, + "description": "Controls whether error messages should be shown to the user." + }, + "rpc.prioritizeLanguagesOverExtensions": { + "type": "boolean", + "default": false, + "description": "Controls whether languages should be prioritized over extensions when matching a file name." + } + } + } + }, + "prettier": { + "$schema": "http://json.schemastore.org/prettierrc", + "endOfLine": "lf", + "printWidth": 100, + "quoteProps": "as-needed", + "semi": true, + "singleQuote": true, + "tabWidth": 4, + "trailingComma": "none", + "useTabs": true, + "overrides": [ + { + "files": "*.yml", + "options": { + "tabWidth": 2, + "useTabs": false + } + } + ] + }, + "__metadata": { + "id": "20675c06-f272-4cc8-8611-83ebb5583c5a", + "publisherId": "2c34273e-24b8-499a-b859-8e27e48decc5", + "publisherDisplayName": "LeonardSSH", + "targetPlatform": "undefined", + "updated": false, + "isPreReleaseVersion": false, + "preRelease": false, + "installedTimestamp": 1651172735141 + } +} \ No newline at end of file diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/.vsixmanifest b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/.vsixmanifest deleted file mode 100644 index c61c8663..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/.vsixmanifest +++ /dev/null @@ -1,43 +0,0 @@ - - - - - Pylance - A performant, feature-rich language server for Python in VS Code - python,json,__web_extension - Programming Languages - Public - - - - - - - - - - - - - - - - - - - - extension/LICENSE.txt - extension/images/icon.png - - - - - - - - - - - - - \ No newline at end of file diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/CHANGELOG.md b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/CHANGELOG.md deleted file mode 100644 index 8c1e9c45..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/CHANGELOG.md +++ /dev/null @@ -1,4068 +0,0 @@ -# Changelog - -## 2022.4.2 (20 April 2022) - -Notable changes: - -- Enhancement: Improvement on supporting doc comment for builtin modules. - ([pylance-release#1938](https://github.com/microsoft/pylance-release/issues/1938)) -- Enhancement: Updated typeshed stubs to latest. - -In addition, Pylance's copy of Pyright has been updated from 1.1.237 to 1.1.239. - -- See pyright's release notes for details: [1.1.238](https://github.com/microsoft/pyright/releases/tag/1.1.238) and [1.1.239](https://github.com/microsoft/pyright/releases/tag/1.1.239) - -- Issues fixed: - - Bug Fix: Fixed bug that resulted in an infinite loop when a reference to a generic function was passed to itself as an argument. ([pylance-release#2686](https://github.com/microsoft/pylance-release/issues/2686)) - -## 2022.4.1 (13 April 2022) - -Notable changes: - -- Enhancement: Renaming a method will rename all overridden methods as well. - ([pylance-release#813](https://github.com/microsoft/pylance-release/issues/813)) -- Bug Fix: pandas stub updated to remove Unknown type argument. - ([pylance-release#1968](https://github.com/microsoft/pylance-release/issues/1968)) -- Enhancement: Named argument in call context will show up at the top in completion. - -In addition, Pylance's copy of Pyright has been updated from 1.1.235 to 1.1.237. - -- Unreleased in Pyright, but included in Pylance: - - Fixed a bug that generated a false positive when importing from a "py.typed" namespace package. This change also loosens the requirements for a "py.typed" file to be in each of the submodules within a namespace package; a single "py.typed" within the top-level namespace directory is also now supported. - - Improved error message for protocol mismatch due to invariance of mutable attributes. -- See pyright's release notes for details: [1.1.236](https://github.com/microsoft/pyright/releases/tag/1.1.236) and [1.1.237](https://github.com/microsoft/pyright/releases/tag/1.1.237) - -- Issues fixed: - - Enhancement: Better handling on namespace packages ([pylance-release#2562](https://github.com/microsoft/pylance-release/issues/2562)) - - Bug Fix: Incorrect type inference in loops ([pylance-release#2552](https://github.com/microsoft/pylance-release/issues/2552)) - - Bug Fix: False positive reportOptionalMemberAccess ([pylance-release#2549](https://github.com/microsoft/pylance-release/issues/2549)) - - Performance: Improvement on analyzing "while True" loop ([pylance-release#2540](https://github.com/microsoft/pylance-release/issues/2540)) - -## 2022.4.0 (6 April 2022) - -Notable changes: - -- Enhancement: Improved completions for native modules with matching stub files. - ([pylance-release#2533](https://github.com/microsoft/pylance-release/issues/2533)) -- Bug Fix: Fixed docstring lookup for typeshed stubbed packages. - ([pylance-release#2472](https://github.com/microsoft/pylance-release/issues/2472)) -- Enhancement: The stubs for pandas and django have been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.234 to 1.1.235 including the following changes: - -- [1.1.235](https://github.com/microsoft/pyright/releases/tag/1.1.235) - - Performance: Fixed a performance regression that manifested when analyzing a large dictionary literal statement with a declared type. - - Enhancement: (Contributed by Robert Craigie) Show TypedDict key type and docstring on hover. - - Behavior Change: Updated logic for `dataclass_transform` to handle recent clarification in PEP 681 for cases where one or more overloads are decorated with `dataclass_transform`. - - Enhancement: (Contributed by Kevin Coffey) Added support for type guard based on `a.b is None` or `a.b is not None` patterns where `b` is a member variable that distinguishes two different classes. - - Enhancement: (Contributed by Robert Craigie) Add support for going to definition for TypedDict keys. - - Behavior Change: Changed hover provider to display `(property)` rather than `(method)` if the field is decorated with a descriptor object. - ([pylance-release#2508](https://github.com/microsoft/pylance-release/issues/2508)) - - Enhancement: Changed logic for hover and completion providers to support docstrings for general descriptors rather than just properties. - - Enhancement: Made synthesized `get` method in `TypedDict` classes a bit smarter. If a field is required, the default parameter's argument (or `None` if no default argument is provided) is ignored because the type will always come from the required field. If the `TypedDict` class is marked `@final`, any literal key name that is not part of the class will always return the type of the default argument (or `None` if no default argument is provided). - - Bug Fix: Fixed bug that could theoretically account for some of the remaining stack overflows that we're seeing in the pylance telemetry. - - Bug Fix: Fixed bug in the package type verifier where it incorrectly flagged an assignment to a descriptor member within a child class as an ambiguous override of that member. - - Bug Fix: Changed the way pyright detects high memory usage and decides to empty its internal type cache. - - Performance: Added perf enhancement to improve analysis times for complex unannotated code. Lowered complexity threshold for call-site return type inference and skipped argument expression evaluation for call expression when base call expression type is unknown. - - Performance: More performance optimizations for complex unannotated functions. Don't evaluate argument or subscript expressions if base type of call expression or index expression is incomplete. - - Enhancement: Updated typeshed stubs to latest. - -## 2022.3.4 (30 March 2022) - -Notable changes: - -- Enhancement: Improved `Rename Symbol` to handle imports. - ([pylance-release#1175](https://github.com/microsoft/pylance-release/issues/1175)) -- Bug Fix: Fixed conda temp.txt files causing analysis unneeded refresh. -- Bug Fix: Ignore var decl in completions - ([pylance-release#2189](https://github.com/microsoft/pylance-release/issues/2189)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.232 to 1.1.234 including the following changes: - -- [1.1.234](https://github.com/microsoft/pyright/releases/tag/1.1.234) - - Performance: Fixed bug that resulted in long analysis times when using call-site type inference for very complex functions that have no parameter annotations. - - Behavior Change: Removed support for `transform_descriptor_types` parameter in `dataclass_transform`, a feature that was determined to be not necessary. Added support on normal dataclass handling for field types that are custom descriptor objects. - - Bug Fix: Fixed bug in logic that determines whether to empty the in-memory type cache if it has the potential to overflow the heap. - - Enhancement: Improved printing of string nodes in error and log messages. If the string node is long, it is truncated to 32 characters. - - Enhancement: Improved textual form of string literal types. If the string literal is very long (>50 characters), it is truncated. - - Bug Fix: Fixed recent regression that caused the "--verifytypes" feature to incorrectly report that the "self" parameter of a `@property` method as unannotated. - - Performance: Removed older mechanism for tracking "incomplete types" — those that have been partially evaluated within a code flow loop. The older mechanism is no longer needed. Removing this is a big performance win in some (typically more complex) pieces of code. - - Performance: Fixed performance issue that caused long analysis times in some complex unannotated functions when attempting to infer whether the function was a NoReturn return type. - - Performance: Improved performance of code flow "reachability" analysis. - - Enhancement: Updated typeshed stubs to the latest version. - - Bug Fix: Fixed false positive error in "unreachable exception" detection code when the exception was typed as `Type[Exception]`. - - Enhancement: Contributed by Kevin Coffey - Extended `a[I] is None` type narrowing logic to handle subtypes of Tuple including NamedTuple. -- [1.1.233](https://github.com/microsoft/pyright/releases/tag/1.1.233) - - Behavior Change: When hovering over the LHS of an augmented assignment (e.g. the `a` within `a += x`), reveal the type of the symbol _after_ the operation rather than _before_. - - Enhancement: Updated the `reportUnusedExpression` check to also report diagnostics for a simple name expression as a standalone statement. - - Bug Fix (from pylance): Fixed several bugs related to "Rename Symbol" command and improved performance in some cases. - - Bug Fix: Fixed crashing bug due to stack overflow when traversing the code flow graph. - - Behavior Change: Modified algorithm for calculating the complexity of a function's code flow. If the complexity exceeds a certain threshold, pyright will not attempt to analyze the code. - - Bug Fix: Fixed a bug that resulted in incorrect import resolution when the import referenced an empty directory within the stubspath. It should continue searching for imports in other locations in this case. - - Bug Fix: Fixed regression that caused false positive error when protocol match involved a property that returned a type that was generic. - - Bug Fix: Fixed bug that resulted in a false negative when assigning an invariant type var was specialized with a protocol type. - - Bug Fix: Fixed several bugs relating to type evaluation within loops. This is a significant change to the code flow engine logic. - ([pylance-release#2983](https://github.com/microsoft/pylance-release/issues/2983)) - -## 2022.3.3 (23 March 2022) - -Notable changes: - -- Enhancement: Added support for `prepare rename`. This will let users know when `rename` is not allowed. - ([pylance-release#1360](https://github.com/microsoft/pylance-release/issues/1360)) - ([pylance-release#2457](https://github.com/microsoft/pylance-release/issues/2457)) -- Enhancement: Improved `reportMissingSourceModule` to work for all different import cases. - ([pylance-release#2158](https://github.com/microsoft/pylance-release/issues/2158)) -- Enhancement: Improved property completions. -- Enhancement: The bundled stubs for django have been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.230 to 1.1.232 including the following changes: - -- [1.1.232](https://github.com/microsoft/pyright/releases/tag/1.1.232) - - Enhancement: Improved diagnostic messages for overload implementation mismatch. - - Bug Fix: Fixed bug that resulted in false negative when assigning one function to another and the dest contains named positional arguments that have no corresponding positional slot in the dest and the dest does not contain a \*\*kwargs. - ([pylance-release#2497](https://github.com/microsoft/pylance-release/issues/2497)) - - Bug Fix: Modified the special-case logic for `property` so it exposes methods and attributes provided by `object`. - - Bug Fix: Improved the `reportIncompatibleMethodOverride` check to report a diagnostic if the base method provides a default argument value for a parameter but the override does not. - - Behavior Change: Lowered cyclical code complexity threshold for code flow analysis in an attempt to reduce stack overflow crashes. - - Bug Fix: Fixed a false positive error relating to `__slots__` when using a descriptor object that was assigned to a class variable in a base class. - - Enhancement: Updated typeshed stubs to the latest version. - - Enhancement: Added support for new `assert_type` call, which is being added to Python 3.11 and typing_extensions. - - Bug Fix: Fixed false positive error that occurs when assigning a class variable with a type annotation an expression that involves the name of the class variable symbol. - - Bug Fix: Improved modeling of property class so its `fget`, `fset`, `fdel`, `__get__`, `__set__` and `__delete__` methods are updated properly when adding a setter or deleter. - - Bug Fix: Fixed bug that resulted in false positive when overriding a method with position-only parameters when the base uses the old-style mechanism and the override uses the new-style `/` separator or vice versa. -- [1.1.231](https://github.com/microsoft/pyright/releases/tag/1.1.231) - - Behavior Change: Moved a couple of type-related diagnostics under the reportGeneralTypeIssues diagnostic rule rather than reporting them unconditionally. - - Bug Fix: Fixed false negative for the reportIncompatibleMethodOverride diagnostic check. It was not detecting the case where the base method used keyword parameters but the override method used position-only parameters. - - Bug Fix: Fixed bug that resulted in a false positive error when matching a module against a specialized generic protocol class. - - Bug Fix: Fixed a bug that resulted in misleading output when printing the type of a generic alias that includes a generic function parameterized by a ParamSpec and is later specialized. - - Bug Fix: Fixed bug that resulted in incorrect type evaluation when a generic type alias parameterized with a ParamSpec was specialized multiple times. - - Bug Fix: Fixed bug in "--verifytypes" feature. It was ignoring a missing parameter annotation for the first parameter in a non-method function. - - Bug Fix: Fixed a bug that resulted in a false positive error when a generic callback protocol was passed as an argument to another generic callback protocol. - -## 2022.3.2 (16 March 2022) - -Notable changes: - -- Enhancement: Updated Pandas stubs -- Bug Fix: Removed duplicate SQLAlchemy stubs due to them now being in typeshed. -- Enhancement: Allow auto import customization - ([pylance-release#2312](https://github.com/microsoft/pylance-release/issues/2312)) -- Enhancement: Allow `Rename` on excluded files - ([pylance-release#2468](https://github.com/microsoft/pylance-release/issues/2468)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.228 to 1.1.230 including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Behavior Change: Moved a couple of type-related diagnostics under the reportGeneralTypeIssues diagnostic rule rather than reporting them unconditionally. - ([pylance-release#2482](https://github.com/microsoft/pylance-release/issues/2482)) - - Bug Fix: Fixed false negative for the reportIncompatibleMethodOverride diagnostic check. It was not detecting the case where the base method used keyword parameters but - the override method used position-only parameters. -- [1.1.230](https://github.com/microsoft/pyright/releases/tag/1.1.230) - - Bug Fix: Fixed a bug that resulted in a false positive "reportMissingParameterType" error when using an old-style double underscore parameter name to indicate position-only parameter. - - Bug Fix: Handled the special case where an `Any` expression is bound to a ParamSpec giving it default parameters. - - Bug Fix: Fixed bug that resulted in a false positive error when using a dictionary unpack operator `**` with an instance of a class that satisfied the `SupportsKeysAndGetItem` protocol but did not directly derive from `Mapping`. - - Enhancement: Added new diagnostic check `reportUnusedExpression` to catch bugs like `a == 4` when `a = 4` was intended. - - Enhancement: Added special-case logic for a Type[T] (where T is an unbound TypeVar) that is instantiated through a call to its constructor. It should evaluate to T rather than Any. - - Bug Fix: Fixed bug in pattern exhaustive match logic that failed to detect exhaustive match when the subject expression was a unnarrowable expression form. - ([pylance-release#2475](https://github.com/microsoft/pylance-release/issues/2475)) - - Bug Fix: Improved the heuristics in the alias resolution logic to prefer declarations that are in non-exception paths even if the exception path has a typed decl and the non-exception decl must be inferred. - ([pylance-release#2476](https://github.com/microsoft/pylance-release/issues/2476)) - - Bug Fix: Fixed two bugs that generated false positive errors when using PEP 604 union syntax in an implicit type alias. The first bug affected the case where the union started with `None`. The second affected the case where a TypeVar was included in the union. - - Enhancement: Updated typeshed stubs to the latest. - - Bug Fix: Fixed bug that resulted in false positive reportIncompatibleVariableOverride error when one base class defined a symbol as a property and another base class defined a symbol as Any. - - Enhancement: Added support for the use of `Concatenate` as a type argument for a generic type alias that accepts a ParamSpec. -- [1.1.229](https://github.com/microsoft/pyright/releases/tag/1.1.229) - - Bug Fix: Fixed a bug that caused semantic highlighting to sometimes skip information for certain tokens involved in member access expressions. - - Enhancement: Added checks for incompatible variable types for same-named instance or class variables in two base classes. - - Enhancement: Updated typeshed stubs to the latest version. - - Bug Fix: Fixed a bug that led to misleading type error messages and hover text when a type with an associated generic type alias was specialized. The underlying generic type was properly specialized, but the type alias itself appeared to be unspecialized still. Since the type alias is displayed in error messages and hover text, this was confusing. - - Bug Fix: Fixed a bug where classes that derive from `Any` are not allowed to be assigned to a TypeVar. This resulted in a false positive error when returning `NotImplemented` in a function that is annotated to return a TypeVar. - - Bug Fix: Fixed a bug that resulted in a false positive error "variable not in slots" when a value was assigned to a class variable that is a descriptor. - - Bug Fix: Fixed a bug in the `__post_init__` validation logic that resulted in a false positive when a dataclass with an `InitVar` derives from another dataclass with an `InitVar`. - - Enhancement: Added support for per-line suppression of diagnostics using `# pyright: ignore` comment. This also supports rule-specific suppression using a list of diagnostic rules, as in `# pyright: ignore [reportGeneralTypeIssues]`. - - Bug Fix: Fixed a bug in the reportUnnecessaryComparison diagnostic rule that resulted in false negatives when one of the two operands included a `None` in the type. - - Bug Fix: Fixed a bug that resulted in a false positive error when testing type compatibility of an invariant type argument that consists of a union of types, some of which are subtypes of each other. - -## 2022.3.1 (9 March 2022) - -Notable changes: - -- Enhancement: The bundled native module stubs for sklearn, scipy, and pandas have been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.226 to 1.1.228 including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Improved solution to stack overflow and fixed another potential theoretical source based on code review. -- [1.1.228](https://github.com/microsoft/pyright/releases/tag/1.1.228) - - Bug Fix: Improved "reportUnnecessaryComparison" diagnostic check so it catches more cases. - - Performance: Fixed performance bug that was causing a significant slowdown when evaluating highly nested call expressions especially when there are argument errors in the innermost expressions. - ([pylance-release#2366](https://github.com/microsoft/pylance-release/issues/2366)) - - Enhancement: Extended support for narrowing of index expressions to include those with negative subscripts, such as `a[-1]`. This is supported for all supported type guard patterns. - - Bug Fix: Fixed bug that resulted in a false positive error when using `typing.Self` in an inner function defined within an outer method. - - Enhancement: Added negative type narrowing support for sequence patterns in match statements. - - Bug Fix: Fixed a bug in negative type narrowing for class patterns in match statements when the class in the class pattern is one of the designated "special built-in classes" specified in PEP 634 and a class argument is specified. - - Bug Fix: Fixed a bug that resulted in incorrect TypeVar resolution when the TypeVar was used in a `Type[T]` type expression, was constrained, and two of the constraints overlapped in type. - - Bug Fix: Fixed an edge case in the code flow engine that theoretically could result in incorrect type evaluation. - - Bug Fix: Fixed a bug in the code flow engine that resulted in inconsistent type evaluation depending on order of evaluation in some cases where a variable is modified in a loop. - ([pylance-release#2324](https://github.com/microsoft/pylance-release/issues/2324)) - - Bug Fix: Fixed bug that resulted in a stack overflow when evaluating unions with large numbers of subtypes. -- [1.1.227](https://github.com/microsoft/pyright/releases/tag/1.1.227) - - Enhancement: Extended conditional types to function and constructor calls where one or more arguments is a conditional type. - - Bug Fix: Fixed a bug that resulted in incorrect type inference when assigning `()` to a variable with an explicit type declaration of `tuple[()]`. - - Bug Fix: Fixed bug that results in incorrect type evaluation when an `if` statement is not paired with an `else` and the condition expression uses a `not` paired with an `and` or `or`. - - Bug Fix: Fixed bug that caused a class that derives from `NamedTuple` to not conform to the `Hashable` protocol. - - Behavior Change: Changed override detection to always use an overload implementation if present. - ([pylance-release#2430](https://github.com/microsoft/pylance-release/issues/2430)) - - Behavior Change: Fixed bug that caused symbols in unreachable code to be ignored in "Rename Symbol" and "Find all References" operations. - ([pylance-release#2431](https://github.com/microsoft/pylance-release/issues/2431)) - - Bug Fix: Fixed bug that resulted in a false positive when `cls` was used as an argument to a dynamic `type` creation call. - - Enhancement: Improved error message for overload that doesn't match its implementation. - - Bug Fix: Added code to avoid an attempt to analyze a function if its code flow complexity is too high. This reduces the likelihood of a stack overflow within the type evaluator. If a function or module is too complex, a diagnostic is now emitted to tell the developer that full analysis is suspended for that execution scope. - - Bug Fix: Improved reportIncompatibleMethodOverride diagnostic check, including fixes for a few false positives and false negatives and improvements to diagnostic messages. - -## 2022.3.0 (3 March 2022) - -Notable changes: - -- Enhancement: Django and SQLAlchemy stubs have been updated to their latest versions. -- Enhancement: Pandas stubs updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.225 to 1.1.226 including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Extended conditional types to function and constructor calls where one or more arguments is a conditional type. -- [1.1.226](https://github.com/microsoft/pyright/releases/tag/1.1.226) - - Bug Fix: Improved parser to detect extremely deep chains of call expressions that can crash the type evaluator. - - Bug Fix: Fixed bug that resulted in false positive error when detecting overlapping method overloads when the overloads use a class-scoped TypeVar. - - Bug Fix: Fixed a bug that resulted in a false positive error when validating type compatibility between two functions with nested Concatenate and ParamSpec usage. - - Bug Fix: Fixed a bug in the code flow graph relating to "with" statements that are nested within a "try" statement when the context manager does not swallow exceptions but instead forwards them to the outer except clause. - - Enhancement: Improved error message for binary and unary operations when an expected type (bidirectional inference) is present. - - Bug Fix: Fixed a performance issue that caused long analysis times for some code flow graphs that involve deeply nested loops and many interdependent variables. - - Bug Fix: Fixed a bug that resulted in a false positive error when assigning a value of type `type | Any` to type `type[T]`. - - Bug Fix: Fixed a bug that resulted in false positive errors when assigning a value to class variable that contains a generic descriptor object. - - Enhancement: Improved the error message for a call expression where a keyword argument and a positional argument target the same parameter. - - Enhancement: Updated typeshed stubs to the latest version. -- [1.1.225](https://github.com/microsoft/pyright/releases/tag/1.1.225) - - Bug Fix: Added missing checks for an attempt to modify a variable that has been marked "Final" using a means other than a simple assignment statement. This includes augmented assignments, tuple assignments, for statements, with statements, assignment expressions, etc. - - Behavior Change: Modified parameter type inference logic to not infer a parameter's type based on the default argument value if the value is a tuple, list, set or dict. - - Enhancement: Improved type evaluation of `type(x)` to handle the case where `x` is a union type. - - Bug Fix: Fixed bug that caused false negative when a class defined a `__getattr__` method but no `__getitem__` method and a subscript expression was used with a class instance. - - Bug Fix: Fixed a bug in the logic that determines whether a class that derives from a protocol implements all of the functions and variables within that protocol. It wasn't considering mix-in classes. - - Bug Fix: Fixed regression in "finally" type analysis that allowed type violation errors to go unreported in finally clauses. - - Behavior Change: Changed the behavior of type evaluator when it encounters an unannotated symbol within a "py.typed" source file. Previously, it did not fall back on type inference and instead evaluated the type as "Unknown". It now falls back on type inference but internally marks the type as "ambiguous". Added logic to detect "likely ambiguous inferences". - - Behavior Change: Updated package type verifier to differentiate between "unknown" and "ambiguous" types. - - Bug Fix: Fixed a bug in type evaluator that resulted in a crash when a function signature contains a "\*\*" parameter with no name. - - Bug Fix: Fixed a bug that resulted in a crash due to infinite recursion. - - Bug Fix: Enhanced parser to detect extremely deep parse trees created from index or member access expressions. The parser now emits an error rather than allowing the type evaluator to crash (with a stack overflow) in such situations. - - Enhancement: Updated typeshed stubs to the latest. - -## 2022.2.4 (23 February 2022) - -Notable changes: - -- Enhancement: Several improvements in Pandas stubs (Thanks to @Dr-Irv and @sjdemartini) -- Behavior Change: Changed `strictParameterNoneValue` to default to true rather than false. This reflects the updated guidance in PEP 484, which indicates that type checkers should not assume that a default argument of `None` should imply an `Optional` type. - -In addition, Pylance's copy of Pyright has been updated from 1.1.222 to 1.1.224 including the following changes: - -- [1.1.224](https://github.com/microsoft/pyright/releases/tag/1.1.224) - - Bug Fix: Improved NoReturn return call inference when the callable type evaluates to a partial Any or Unknown. - - Bug Fix: Improved heuristics related to NoReturn detection when dealing with certain libraries that attempt to import another package within a `try` statement but provide a "dummy implementation" in an `except` clause. In this situation, we should use the declaration within the `try` block and ignore the one in the `except` clause. ([pylance-release#2402](https://github.com/microsoft/pylance-release/issues/2402)) - - Bug Fix: Fixed buggy assert in type evaluator that resulted in some crashes. - - Behavior Change: Changed `strictParameterNoneValue` to default to true rather than false. This reflects the updated guidance in PEP 484, which indicates that type checkers should not assume that a default argument of `None` should imply an `Optional` type. - - Enhancement: If CLI version of pyright is run without providing arguments to certain commands, a failure is detected and reported. Thanks to Martin Fischer for this contribution. - - Bug Fix: Fixed performance regression due to a recent change in the code flow engine when attempting to evaluate whether call is a NoReturn. - - Enhancement: Added support for parameter type inference based on annotated base class method signatures and on default argument expressions. - - Bug Fix: Fixed recent regression that caused unnecessary reanalysis when closing a file when using pyright as an LSP. The regression also sometimes resulted in unexpected errors from reanalyzed files including diagnostics about unaccessed variables. -- [1.1.223](https://github.com/microsoft/pyright/releases/tag/1.1.223) - - Bug Fix: Fixed a bug in negative type narrowing logic for value patterns in `match` statement. - - Behavior Change: Removed provisional support for PEP 677 (Alternate Call Syntax) because the proposal was rejected by the Python steering council. - - Bug Fix: Fixed a bug that led to incorrect type evaluation in the "implied else" code flow path. - - Bug Fix: Improved support for functions or methods that return a context manager that swallow exceptions, such as `pytest.raises`. - - Behavior Change: Modified `reportIncompatibleVariableOverride` check to permit a ClassVar in the base class to be overridden by a compatible class declaration in a child class. - - Bug Fix: Fixed a bug in the type evaluator that led to false positives when assigning a function type to another function type and the source contained parameters annotated with literal types and the dest contained corresponding parameters annotated with TypeVars. - - Bug Fix: Fixed bug in the handling of wildcard imports. If the target module doesn't contain a dunder all definition, the resulting imported symbol list should exclude names that start with a single underscore. - - Bug Fix: Fixed bug that resulted in a false positive error when using a TypeVarTuple in a `classmethod`. - - Behavior Change: Changed heap overflow detection to use a dynamic value based on available memory rather than a hard-coded size. For the pyright VS Code extension, changed the default "max heap size" from 1.7GB to 3.0GB on 32-bit systems. On 64-bit systems, this value appears to already be a higher value (4GB), and it doesn't appear to get overridden by the lower number. - -## 2022.2.3 (16 February 2022) - -Notable changes: - -- Bug Fix: Pandas stubs fixes. - -In addition, Pylance's copy of Pyright has been updated from 1.1.220 to 1.1.222 including the following changes: - -- [1.1.222](https://github.com/microsoft/pyright/releases/tag/1.1.222) - - Bug Fix: Fixed bug that resulted in false positive when using a recursive type alias with a generic dataclass constructor. - - Bug Fix: Fixed a bug that results in a false negative when handling a function parameter that is annotated with a function-scoped TypeVar and has a default argument value. - - Behavior Change: Changed the handling of `reveal_type` so it participates in bidirectional type inference when used within a larger expression. - - Bug Fix: Fixed long-standing bug in logic that applies config file settings for diagnostic rule severity levels. The bug caused all settings overrides to be ignored if a pyrightconfig.json file was present. The new logic applies the default values, then the settings overrides, then the pyrightconfig.json file values. The change also simplifies the code, which was getting a bit unmaintainable. - - Enhancement: Extended `dataclass_transform` to support `transform_descriptor_types` parameter. - - Enhancement: Added support for an unpacked TypedDict as a type annotation for a `*kwargs` parameter. - - Bug Fix: Improved the `type(x) is y` type narrowing logic to handle the case where `y` is a TypeVar or Self type. - - Bug Fix: Fixed bug in match statement type narrowing. It wasn't properly handling the negative type narrowing case for class patterns when the subject expression was a bound TypeVar or Self type. - - Bug Fix: Fixed a bug related to the `__eq__` method (and other order methods) that are synthesized for a dataclass. The parameter name was incorrect. It should be `other`. - - Bug Fix: Added support for NFKC normalization of identifiers as specified in the Python lexical specification. -- [1.1.221](https://github.com/microsoft/pyright/releases/tag/1.1.221) - - Behavior Change (from Pylance): Auto-exclude any folder under workspace starting with a period. - - Bug Fix: Fixed a bug in type narrowing for `match` statement. It was not properly handling `None` literal patterns when narrowing in the negative case. - - Bug Fix: Fixed bug that leads to a false positive error when using a class whose constructor doesn't contain any type annotations. Pyright treats such classes as though they are generic to help with inference of instance variables initialized in the constructor, but it shouldn't enforce the variance of the under-the-cover type variables. - - Bug Fix: Fixed bug that resulted in a false positive when evaluating certain list comprehensions where the subexpressions had interdependencies. - - Bug Fix: Fixed bug that resulted in a false positive error when evaluating type compatibility between two callables that included an `*args` parameter plus a set of keyword-only parameters. ([pylance-release#2370](https://github.com/microsoft/pylance-release/issues/2370)) - - Enhancement: Updated typeshed stubs to the latest version. - - Enhancement: Added support for PEP 675 (arbitrary literal strings). - - Bug Fix: Added support for multiple unpack operators in a tuple list without parentheses when used in the RHS of a for statement. This was a grammar change introduced in Python 3.9. ([pylance-release#2371](https://github.com/microsoft/pylance-release/issues/2371)) - - Enhancement: Improved completions for class member access when the member variable in a child class is unannotated but a parent class provides an annotation. In this case, we should use the type information from the annotated symbol. - - Behavior Change: Changed the behavior of the package type verifier so it does not flag unannotated class or instance variables if a parent class provides a type annotation for a variable of the same name. The type is inherited in this case. Also updated the library guidance to reflect this change. - - Bug Fix: Fixed bug that resulted in an incorrect type evaluation when handling a `namedtuple` call with a second parameter that is dynamic (not statically known). - - Enhancement: Improved support for `namedtuple` when the second argument is a tuple of string literals. It's more common to pass a list of string literals, but tuples should work as well. - - Bug Fix: Reverted a recent bug fix that caused significant performance degradations and crashes under some circumstances. ([pylance-release#2373](https://github.com/microsoft/pylance-release/issues/2373), [pylance-release#2387](https://github.com/microsoft/pylance-release/issues/2387), [pylance-release#2391](https://github.com/microsoft/pylance-release/issues/2391)) - - Enhancement: Added special-case check for new callable syntax used within a quoted annotation passed as a bound or constraint argument to a TypeVar constructor. - - Bug Fix: Improved symbol resolution of module imports within the code flow engine when determining whether a context manager swallows exceptions or a callable returns NoReturn. - - Performance: Mitigated performance issue that results when doing a type compatibility check between two distinct recursive type aliases. - - Bug Fix: Fixed incorrect type evaluation when evaluating a constructor call with bidirectional type inference when the expected type is generic. - - Bug Fix: Fixed bug that resulted in incorrect type evaluation when a generic class with constrained type parameters was explicitly specialized with a subclass of one of the constrained types. - -## 2022.2.2 (11 February 2022) - -This release was not published. - -## 2022.2.1 (9 February 2022) - -Notable changes: - -- Performance: Only index workspaces that have open files. ([pylance-release#2270](https://github.com/microsoft/pylance-release/issues/2270)) -- Performance: Exclude folders whose names start with "." from indexing. -- Performance: Delay indexing of libraries until 10 minutes after last edit. -- Performance: Added partial seaborn stub. -- Performance: Added colors API to matplotlib stub. - -In addition, Pylance's copy of Pyright has been updated from 1.1.217 to 1.1.220 including the following changes: - -- [1.1.220](https://github.com/microsoft/pyright/releases/tag/1.1.220) - - Behavior Change: Changed the type narrowing logic for truthy and falsy conditions to exempt protocol classes. - - Bug Fix: Fixed bug that resulted in incorrect type evaluation of an `or` binary operator when the same expression was used in the LHS and RHS and was always truthy. - - Bug Fix: Fixed bug that resulted in the incorrect evaluation of a type resulting from a call to a constructor for an explicitly-specialized generic class in the case where that class implements neither a `__new__` nor an `__init__` method. - - Enhancement: Improved error message for descriptor and property setters. - - Bug Fix: Fixed a bug in PEP 646 unpacked tuple support where `*args` could not be annotated with `*tuple` type. - - Bug Fix: Fixed a false negative in the handling of dataclasses that contain fields with default orders before fields without default values in the case where an `__init__` is already defined on the class. - - Bug Fix: Fixed bug that results in false positive error when using a PEP 677 callable arrow syntax within a quoted type on Python 3.10 or older. - - Bug Fix: Fixed a bug in the code that prints types to text. It was not properly handling the case where a callable contains a synthesized \*args parameter with a type that isn't unpacked. - - Bug Fix: Fixed false negative where type annotations beginning with "\*" were not properly flagged as a syntax error. - - Improved support for matching of TypeVarTuple when used with \*args parameter. - - Bug Fix: Added missing check for a TypeVarTuple value that is not unpacked when passed as an argument. -- [1.1.219](https://github.com/microsoft/pyright/releases/tag/1.1.219) - - Enhancement: Updated typeshed stubs to latest version. - - Bug Fix: Fixed a bug that results in a false positive error when using a `Self` return type for an `__aenter__` method. - - Bug Fix: Fixed false positive error when `P.args` or `P.kwargs` parameter type annotation is wrapped in `Annotated`. - - Bug Fix: Fixed bug that caused false negative when evaluating a recursive type alias involving a tuple. - - Bug Fix: Fixed a bug in the bidirectional type inference logic for list, set and dictionary expressions when that affected certain cases where the expected type contained a union. - - Bug Fix: Fixed bug that resulted in false negative when using a recursive type alias with dictionary, list or set expressions. - - Bug Fix: Fixed bug that resulted in the inappropriate generation of an Unknown type (and therefore false positive errors in strict mode) when using bidirectional type inference with a function that accepts a generic callable parameter. - - Bug Fix: Improved detection of NoReturn calls within code flow graph. In particular, the code now handles the case where the LHS of the call expression is a member access expression and the LHS of that expression is a local variable whose type needs to be inferred. - - Enhancement: Added better error handling and reporting for dataclass_transform. - - Bug Fix: Fixed bug that caused crash when handling bigint literal values. - - Bug Fix: Added missing check for a dataclass field that is declared with a default value in a base class but then overridden with one that doesn't include a default value in a child class. At runtime, it still acts as though it has a default value, which is inherited from the base class. - - Bug Fix: Fixed bug that prevented the "--verifytypes" feature from working with namespace packages. - - Bug Fix: Added missing check for improper use of `Unpack` when used in some contexts. -- [1.1.218](https://github.com/microsoft/pyright/releases/tag/1.1.218) - - Enhancement: Allow "--watch" to be used in conjunction with "--outputjson" command-line options. - - Enhancement: Added support for bidirectional type inference for `yield` statements. The expected type is based on the first type argument in a `Generator` or `AsyncGenerator` return type annotation. - - Enhancement: Added the ability to add new symbols to `builtins` by simply adding a type stub file named `__builtins__.pyi` locally. ([pylance-release#1383](https://github.com/microsoft/pylance-release/issues/1383)), ([pylance-release#2103](https://github.com/microsoft/pylance-release/issues/2103)) - - Bug Fix: Fixed a bug that led to a false positive error when handling bidirectional type inference for tuple expressions when the expected type was a union that contained multiple tuple subtypes. - - Bug Fix: Fixed a bug that resulted in a false negative when a list comprehension was used within a class body and referenced a class-scoped variable in a subexpression other than the first iterable. This also fixes a similar bug where a lambda was used within a class body and referenced a class-scoped variable in its return expression. These now property generate errors, reflecting the runtime behavior. - - Bug Fix: Fixed a bug that resulted in incorrect type inference for positional parameters used in class patterns if the corresponding class was defined in a "py.typed" library and it defined a `__match_args__` symbol with no annotation. ([pylance-release#2327](https://github.com/microsoft/pylance-release/issues/2327)) - - Bug Fix: Fixed bug in stub generator that caused it to omit import statements with multi-part names (e.g. `import a.b.c`) even though there was a reference within the generated stub to the imported module. - - Enhancement: Extended type narrowing for class pattern matching so it supports narrowing in the negative case when arguments are present and when the pattern class is generic. - - Bug Fix: Fixed a bug that resulted in a false negative when a `*args` parameter was used in conjunction with a `*` keyword-only separator parameter. This generates a syntax error at runtime. - - Bug Fix: Fixed a false positive error when `TypeGuard` was used without a type argument in a runtime manner (outside of a type annotation). - - Bug Fix: Fixed recent regression that results in false positive errors detected in the `reportUnknownParameterType` diagnostic check when the function includes a parameter with a double underscore name indicating that it's positional-only. - - Enhancement: Improved signature help and hover text for synthesized `__init__` dataclass method when a parameter uses a field descriptor with a default value. - -## 2022.2.0 (2 February 2022) - -Notable changes: - -- Enhancement: Improve perf when python.analysis.indexing is on by only re-indexing user files that are directly changed. ([pylance-release#1368](https://github.com/microsoft/pylance-release/issues/1368)) -- Bug Fix: Fixed Pandas stubs to allow passing `NamedAgg` to `aggregate` and `agg`. ([pylance-release#2180](https://github.com/microsoft/pylance-release/issues/2180)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.215 to 1.1.217 including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Enhancement: Added support for bidirectional type inference for `yield` statements. - - Enhancement: Allow `--watch` to be used in conjunction with `--outputjson` command-line options. -- [1.1.217](https://github.com/microsoft/pyright/releases/tag/1.1.217) - - Bug Fix: Fixed a bug that resulted in a false positive error when passing an `*args` argument typed as an unpacked TypeVarTuple to a function that includes an unpacked TypeVarTuple parameter. - - Enhancement: Added special-case bidirectional type inference for the right operand of the "|" and "|=" operators (with an expected type based on the left operand). This supports the case where the left operand is a TypedDict and the right operand is a dict expression that conforms to the TypedDict type. ([pylance-release#2300](https://github.com/microsoft/pylance-release/issues/2300)) - - Bug Fix: Fixed a bug in the reportIncompatibleMethodOverride check that resulted in false positive errors when both the base class and child methods have overloads but the base class does not have an - implementation and the child class does. - - Enhancement: Updated typeshed stubs to the latest version. - - Bug Fix: Fixed a bug that results in false positive errors when a `ClassVar` type declaration appears within an `Annotated`. - - Bug Fix: Added special-case handling of `Generic` base types to match the (undocumented) runtime behavior. Without this special-case handling, pyright reports that "a consistent method ordering cannot be found" in some cases where the runtime does not. - - Bug Fix: Fixed bug that is leading to some crashes that appear in the telemetry. - - Bug Fix: Added recursion detection for wildcard import lookups during code flow. - - Bug Fix: Fixed a bug that caused a type alias of `Any` to be evaluated as `Unknown` if defined within a py.typed library. - - Performance: Improved performance when analyzing types that involve some forms of recursive type aliases. - - Enhancement: Added support for typing_extensions.Never and typing.Never type and unified the underlying handling of Never and NoReturn, which are synonyms. - - Enhancement: Improved type stub generation code to emit definitions for TypeVar, TypeVarTuple, ParamSpec and NewType. - - Behavior Change: Changed heuristics for matching two union types when the destination union includes a combination of concrete types and one or more type variables. This case involves some heuristics in the constraint solver because multiple solutions are possible. - - Bug Fix: Fixed a bug that resulted in a false positive when assigning to a field in a dataclass that is annotated with a Callable type. -- [1.1.216](https://github.com/microsoft/pyright/releases/tag/1.1.216) - - Bug Fix: Fixed recent regression that resulted in a crash (stack overflow) in the code flow engine. - - Bug Fix: Fixed a bug that resulted in unknown types in member access expressions to go unreported with `reportUnknownMemberType` was enabled. This occurred when the member access expression was located within a subscript of an index expression. - - Performance: Changed the logic that infers a NoReturn type to avoid inferring symbol types. This was causing a bunch of extra work to be performed in complex unannotated code bases like sklearn. - - Performance: Fixed performance issue in parser for deeply-nested parenthesized expressions. ([pylance-release#2299](https://github.com/microsoft/pylance-release/issues/2299)) - - Bug Fix: Fixed bug in callable type compatibility logic. It was not properly handling some edge cases where a keyword parameter in the source and destination had an incompatible type if one or both of the types were specialized. - - Bug Fix: Fixed a bug that resulted in false positives when specializing a callback protocol with a TypeVarTuple when the callback protocol also contained one or more keyword parameters that were generic. - - Bug Fix: Fixed a bug in the protocol invariance checking logic. It wasn't properly handling protocols that used a TypeVarTuple as a type parameter that wasn't last (right-most) in the type parameter list. - - Behavior Change: Changed import resolution order to more closely match PEP 561. Typeshed stdlib type stubs are now resolved later in the import resolution process, after all local modules and modules within the python environment. - -## 2022.1.5 (27 January 2022) - -Notable changes: - -- Behavior Change: Changed folding of classes and functions to fold at the line containing the function or class name. -- Enhancement: Updated to requied node 14 and vscode 1.63.1 -- Enhancement: Added new diagnostic check "reportMatchNotExhaustive" which reports cases where a `match` statement doesn't exhaustively cover all cases. -- Enhancement: Added option to disable "Go to symbol in workspace" - ([pylance-release#2236](https://github.com/microsoft/pylance-release/issues/2236)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.213 to 1.1.215 including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Enhancement: Changed the logic that infers a NoReturn type to avoid inferring symbol types. This was causing a bunch of extra work to be performed in complex unannotated code bases like sklearn. - - Enhancement: Updated type inference documentation to eliminate a statement that was leading to some confusion. - - Bug Fix: Fixed a bug that resulted in unknown types in member access expressions to go unreported with `reportUnknownMemberType` was enabled. This occurred when the member access expression was located within a subscript of an index expression. - - Bug Fix: Fixed recent regression that resulted in a crash (stack overflow) in the code flow engine. -- [1.1.215](https://github.com/microsoft/pyright/releases/tag/1.1.215) - - Bug Fix: Fixed bug that resulted in crash when extremely large integer literals are encountered. - ([pylance-release#2279](https://github.com/microsoft/pylance-release/issues/2279)) - - Bug Fix: Fixed bug that caused "extraPaths" specified for individual execution environment to be combined for all execution environments if a default "extraPaths" was also specified in the same config file. - - Bug Fix: Fixed handling of `NoReturn` type, which should act like `Never` in that both are considered "bottom types" and are assignable to any other type. - - Enhancement: Updated typeshed stubs to the latest. - - Enhancement: Added new diagnostic check "reportMatchNotExhaustive" which reports cases where a `match` statement doesn't exhaustively cover all cases. - - Enhancement: Added support for unpack operator for tuples used within type arguments. Support for this new syntax will appear in Python 3.11. - - Bug Fix: Added code in parser to detect obscenely deep parse subtrees containing binary and unary operations. These were sometimes leading to crashes in the binder and type evaluator. The parser now replaces them with error parse nodes and reports an error to the user. - - Bug Fix: Added recursion check in type guard logic to address stack overflow issue seen in telemetry. - - Bug Fix: Fixed bug that produces a false positive when attempting to assign a value of type `Type[NoneType]` to `Type[None]`. These are equivalent, so the assignment should be allowed. - - Enhancement: Enhanced parser to detect and report a runtime error that occurs when using a generator expression without surrounding parens as an argument within a call expression when more than one argument or a trailing comma is present. - - Bug Fix: Fixed a bug that resulted in a false positive when a member access expression targeted an attribute that was returned by a `__getattr__` method that returns a descriptor object. The old logic was binding the descriptor to the object, but that's inconsistent with the way things work at runtime. - ([pylance-release#2282](https://github.com/microsoft/pylance-release/issues/2282)) - - Enhancement: Improved analysis of `finally` block and the code that comes after the `finally` block so type narrowing performed within the `finally` block in the fall-through case is preserved. - - Enhancement: Added support for `Final` and `ClassVar` annotations embedded within `Annotated`. Runtime support has recently been added for this case. - - Enhancement: Added support for `InitVar` that is wrapped in `Annotated`. Support is being added for this in the runtime. - - Enhancement: Added special-case handling for methods declared as returning a `Generator`, `AsyncGenerator` or `AwaitableGenerator` that do not contain a yield statement. This special case applies only to methods declared in stub files, an abstract method, or a protocol definition with no code. - ([pylance-release#2287](https://github.com/microsoft/pylance-release/issues/2287)) - - Bug Fix: Improved support for custom subclasses of the builtin `property` class. Previously, the special-case handling in place for `property` were not handling these custom subclasses well, and this resulted in several false positive errors and incorrect type evaluations. -- [1.1.214](https://github.com/microsoft/pyright/releases/tag/1.1.214) - - A regression was introduced in the 1.1.213 release that has the potential of impacting many pyright users, so I decided to do a quick update. - - Bug Fix: Reverted change from previous release that caused incorrect type evaluations and false positive errors in certain situations involving bidirectional type inference with call expressions. - - Enhancement: Updated typeshed stubs to latest. -- [1.1.213](https://github.com/microsoft/pyright/releases/tag/1.1.213) - - Behavior Change: For not-required TypedDict fields, added a second synthesized overload for the two-parameter form of `get` that specifies the type of the second parameter is the same type as the field value. The other overload allows this second parameter to be of a different type. - - Bug Fix: Fixed bug that resulted in a false positive when accessing a field in a base class that provides a `__getattr__` method and is use in conjunction with another base class. - - Bug Fix: Fixed bug that resulted in crash due to infinite recursion. - - Bug Fix: Fixed a bug in the logic that detects duplicate enum members that resulted in a false positive when an enum class has other instance variables that are not enum members. - - Bug Fix: Added special-case handling for instance variables in a dataclass that are marked `Final`. Previously, these were flagged as an error because there was no explicit value assigned to them, but the synthesized `__init__` method implicitly initializes them. - - Enhancement: Added check for a class that derives from a protocol class where the protocol declares a method with an empty implementation, and the subclass doesn't provide a concrete implementation of the same-named method. - - Bug Fix: Fixed a bug that resulted in a false positive type evaluation error when using bidirectional type analysis for a call expression and the return type of the call contained a union of a TypeVar and another type and the expected type contained a union with at least one literal type. - - Bug Fix: Fixed bug that resulted in confusing error message when dataclass field was annotated with `Self` and then the class was subclassed. - - Enhancement: Improved the logic that handles instantiation of a custom metaclass when the name of the new class is passed as a string literal to the metaclass constructor. - - Enhancement: Improved the bidirectional type inference logic for lambdas to handle the case where one or more of the matching parameter types was a TypeVar. - - Bug Fix: Fixed a bug in the parser that resulted in a false negative when using an assignment expression (walrus operator) in the `if` clause of a list comprehension with no surrounding parentheses. - - Enhancement: Added support for bidirectional type inference when an `await` operator is used in an expression. - - Bug Fix: Fixed a bug in the logic that handles classes that are constructed from custom metaclasses. - - Enhancement: Added provisional support for the proposed "typing.reveal_type" call. - -## 2022.1.3 (21 January 2022) - -Notable changes: - -- Enhancement: Add folding for f-strings, dicts, and #regions. -- Enhancement: Adding `"python.analysis.indexing"` to the config. Index installed third party libraries and user files for language features such as auto-import, add import, workspace symbols, etc. - ([pylance-release#291](https://github.com/microsoft/pylance-release/issues/291)) - ([pylance-release#1288](https://github.com/microsoft/pylance-release/issues/1288)) - ([pylance-release#2261](https://github.com/microsoft/pylance-release/issues/2261)) -- Enhancement: Better support for docstrings on overload functions. example numpy.random.choice - ([pylance-release#2243](https://github.com/microsoft/pylance-release/issues/2243)) -- Enhancement: Import completions no longer show builtin symbols -- Enhancement: Implemented a new diagnostic check "reportMissingSuperCall" that checks for `__init__`, `__init_subclass__`, `__enter__` and `__exit__` methods that fail to call through to their parent classes' methods of the same name. This is a common source of bugs. The check is disabled by default. We may eventually enable it by default in strict mode, but we want to get feedback before doing so. - -In addition, Pylance's copy of Pyright has been updated from 1.1.209 to 1.1.212 including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - - Bug Fix: Fixed bug that resulted in crash due to infinite recursion. - - Bug Fix: Fixed bug that resulted in a false positive when accessing a field in a base class that provides a `__getattr__` method and is use in conjunction with another base class. - main - - Enhancement: For not-required TypedDict fields, added a second synthesized overload for the two-parameter form of `get` that specifies the type of the second parameter is the same type as the field value. The other overload allows this second parameter to be of a different type. - - Enhancement: Updated documentation to cover the new # pyright: basic comment. - -- [1.1.212](https://github.com/microsoft/pyright/releases/tag/1.1.212) - - Bug Fix: Fixed bug that resulted in false positive when one or more sources of types in TypeVar solving was unknown. - - Bug Fix: Fixed bug that resulted in a crash if a `TypedDict` class was derived from another `TypedDict` class and the base class had zero fields defined. - - Enhancement: Added support for `# pyright: basic` comment to enable basic type checking in a file. - - Bug Fix: Fixed a bug that resulted in a false positive error when determining whether method overrides for a multi-inheritance chain are compatible. - - Bug Fix: Fixed bug that resulted in a false positive when using bidirectional inference with a constructor with complex set of covariant, invariant, and contravariant type parameters. - - Enhancement: Improved logic for `type(x) is y` type narrowing pattern so it handles the case where `x` is `Any`. - ([pylance-release#2896](https://github.com/microsoft/pylance-release/issues/2896)) -- [1.1.211](https://github.com/microsoft/pyright/releases/tag/1.1.211) - - Enhancement: Added support for very large integer literals (both in the tokenizer/parser and in the type system for Literals). - - Bug Fix: Fixed bug where call to async function that returns `NoReturn` was treated as a "no-return" function even though it wasn't awaited. - - Enhancement: Added check for class or instance variables that are declared but not assigned in a protocol class and not assigned in a concrete class that explicitly derives from the protocol class. - - Bug Fix: Fixed bug in type narrowing logic for `isinstance` calls where the input value includes a `Callable` and the class list includes a class that is not a runtime-checkable protocol class. In this case, the `Callable` should not be removed in the negative ("else") case even if the class defines a compatible `__call__` method. - - Bug Fix: Fixed bug that resulted in a false positive error when assigning a value to a TypedDict with not-required keys when that key had previously been assigned a literal value that narrowed the type. - - Behavior Change: Reverted recent change to TypedDict where the single-argument form of `get` was removed for not-required fields. This caused problems because there is a fallback overload that accepted this case still. - - Behavior Change: Changed `reportUnknownArgumentType` diagnostic check to be suppressed if the argument is an empty list or dict that comes from a `[]` or `{}` expression. While these types do technically contain `Unknown` type arguments, they are not unsafe, so reporting a diagnostic here is just noise. - - Behavior Change: Changed the implementation of `reveal_type` so it no longer returns a literal string type but now accepts optional keyword arguments `expected_text` and `expected_type`. The return type of `reveal_type` is now the same as the type of the first argument, making it consistent with mypy's implementation of `reveal_type`. - - Enhancement: Modified error messages for Required and NotRequired for clarity. - - Bug Fix: Fixed bug in parser that resulted in a false negative error when using an assignment expression within a subscript. This is allowed in the grammar as of Python 3.10. - - Enhancement: Updated typeshed stubs to the latest. - - Bug Fix: Fixed internal crash caused by infinite recursion. - - Bug Fix: Fixed bug that caused a crash in functools.partial special-case logic. - - Bug Fix: Fixed bug in type evaluation of index expressions that involve a recursive type alias in the subscript. Also improved text version of expanded types that include recursive type aliases. -- [1.1.210](https://github.com/microsoft/pyright/releases/tag/1.1.210) - - Behavior Change: Removed support for two-argument form of `TypeGuard` including support for "type asserts". The feedback on this idea was relatively negative. - - Enhancement: Added provisional support for a proposed `StrictTypeGuard` feature. For details, refer to [this discussion](https://github.com/python/typing/discussions/1013). - - Enhancement: Added support for old-style (pre-await) coroutines. - - Bug Fix: Fixed a bug that resulted in a false positive in cases involving bidirectional type inference with an expected callable type where one or more of the parameter types was a tuple with non-literal element types and the provided argument was a tuple with a literal value. - - Bug Fix: Improved limit check for literal math. - - Enhancement: Updated typeshed stubs to the latest. - - Bug Fix: Fixed bug that results in false positive when using a `super().__init__` call within a metaclass `__init__` method. - - Bug Fix: Fixed bug that results in a false positive error when using `yield` within the outermost iterator of a list comprehension. - - Bug Fix: Fixed a bug that resulted in a false positive when importing `OrderedDict` from `typing_extensions`. Added a mechanism for loading typeshed modules on demand within the type evaluator, - Enhancement: Added improved checks for size mismatches when unpacking known-length iterables into a list target (like `[a, b] = (1, 2, 3)`). - - Behavior Change: Changed the `setdefault` method generated for TypedDict classes so it accepts only literal key values. Fixed a bug in the `get` method generated for TypedDict classes so it accepts arbitrary values for the default value parameter. - ([pylance-release#2256](https://github.com/microsoft/pylance-release/issues/2256)) - - Bug Fix: Fixed bug that resulted in incorrect type evaluation when using a generic type alias that consists of a union of multiple type variables that are filled with the same type when the type alias is specialized. - - Behavior Change: Modified the `reportMissingSuperCall` diagnostic based on feedback. It now emits an error for classes that include an `__init__` and don't call through to `super().__init__` even if that class derives from `object`, unless it's marked `@final`. -- [1.1.209](https://github.com/microsoft/pyright/releases/tag/1.1.209) - - Enhancement: Added support for "literal math" for certain unary and binary operations where the operands are all the same literal class types (str, bytes, int, or bool). For example, `Literal[0, 1]` + `Literal[1, 2]` results in type `Literal1, 2, 3]`. - - Enhancement: Implemented a new diagnostic check "reportMissingSuperCall" that checks for `__init__`, `__init_subclass__`, `__enter__` and `__exit__` methods that fail to call through to their parent classes' methods of the same name. This is a common source of bugs. The check is disabled by default. We may eventually enable it by default in strict mode, but we want to get feedback before doing so. - - Behavior Change: Changed text output of CLI version to use the word "information" rather than "info" for consistency with JSON output. - - Bug Fix: Fixed bug that resulted in a crash if `Self` was used in a type argument within a method decorator. - - Behavior Change: Changed behavior to allow `Self` to appear within a `ClassVar` type. - - Bug Fix: Fixed bug that resulted in an incorrect type evaluation when `Self` was used as a return type annotation for a property or class property. - -## 2022.1.1 (12 January 2022) - -Notable changes: - -- Enhancement: Added LSP support for code folding ranges - ([vscode-codebasics-folding](https://code.visualstudio.com/docs/editor/codebasics#_folding)) -- Enhancement: Added support for USERNAME and VIRTUAL_ENV shell variables in vscode settings. - ([pylance-release#2221](https://github.com/microsoft/pylance-release/issues/2221)) -- Enhancement: Improved completion provider suggestions for static members. - ([pylance-release#1318](https://github.com/microsoft/pylance-release/issues/1318)) -- Enhancement: "add import" suggestions now suggest exact matches with higher priority. - ([pylance-release#297](https://github.com/microsoft/pylance-release/issues/297)) -- Enhancement: Improved override function completions around positional and keyword only parameters. - ([pylance-release#711](https://github.com/microsoft/pylance-release/issues/711)) -- Behavior Change: Always enable stdlib indexing if possible. This will allow users to use 'auto import' and 'add import' in open single file mode. - ([pylance-release#1765](https://github.com/microsoft/pylance-release/issues/1765)) -- Bug Fix: Pylance is not working on vscode.dev/github.dev. - ([pylance-release#2235](https://github.com/microsoft/pylance-release/issues/2235)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.205 to 1.1.208 including the following changes: - -- [1.1.208](https://github.com/microsoft/pyright/releases/tag/1.1.208) - - Enhancement (from pylance): Added support for USERNAME and VIRTUAL_ENV shell variables in ".env" file. - - Enhancement (from pylance): Improved completion provider suggestions for static members. - - Bug Fix: Reverted check for base classes that use variables. It was too disruptive, so another approach is needed. -- [1.1.207](https://github.com/microsoft/pyright/releases/tag/1.1.207) - - Bug Fix: Fixed bug that results in false positive error when a function signature captured by a ParamSpec includes an \*args or \*\*kwargs parameter. - - Bug Fix: Fixed bug that resulted in false positive error and unclear error message with the reportIncompatibleMethodOverride check. - - Behavior Change: Changed type analysis of `def` statements to insert implicit `/` parameter (a position-only parameter separator) when one or more parameter names start with double underscores. - - Bug Fix: Fixed a bug that resulted in no error being emitted when an `await` keyword was used with a `Generator` object. - - Bug Fix: Fixed bug that resulted in false positive error when accessing a staticmethod or classmethod from a protocol class. - - Bug Fix: Fixed bug that prevented a file-level override of `reportUnnecessaryTypeIgnoreComment` from working correctly. - - Bug Fix: Fixed bug that resulted in a false positive error when adding a 'staticmethod' or 'classmethod' decorator to an already-decorated method. - - Enhancement: Updated typeshed stubs to latest. - - Enhancement: Improved check for index values for tuples to handle unions of tuples. - - Enhancement: Added new diagnostic check `reportInconsistentConstructor` that checks for inconsistent input signatures between `__new__` and `__init__` methods. - - Bug Fix: Added a check for base classes specified in a class declaration that is not a concrete class but instead a variable (dynamic) type. -- [1.1.206](https://github.com/microsoft/pyright/releases/tag/1.1.206) - - Bug Fix: Fixed a bug in the logic that determines whether a call expression is a "NoReturn". In particular, the logic wasn't handling the case where the call was to the constructor of a class that had a custom metaclass that defined a `__call__` method. - ([pylance-release#2224](https://github.com/microsoft/pylance-release/issues/2224)) - - Bug Fix: Fixed regression that caused a false positive error when attempting to invoke constructor for a class derived from `ctypes.Structure`. This class uses a custom metaclass with a custom `__getattr__` method. - - Bug Fix: Updated heuristics in type variable constraint solver to better handle literals in the case where bidirectional type inference is being used. - - Enhancement: Updated `dataclass_transform` support so it applies to both metaclasses and base classes to conform to the latest version of the specification. - - Bug Fix: Fixed bug that resulted in false positive errors when dealing with protocol classes that referred to themselves internally. - - Bug Fix: Fixed bug in `reportIncompatibleMethodOverride` diagnostic check where it omitted an error if an overridden method had a decorator applied. - - Bug Fix: Fixed a bug in the type evaluation of the two-argument for of `super()` when the second argument is a class instance and the call is made from within a class or static method. - ([pylance-release#2230](https://github.com/microsoft/pylance-release/issues/2230)) - - Behavior Change: Added implied position-only parameter separator for `Concatenate` operator. - - Enhancement: Added new diagnostic check `reportUnnecessaryTypeIgnoreComment` that emits a diagnostic when a `# type: ignore` comment has no effect. - - Bug Fix: Fixed several bugs in type var constraint solver related to functions that have parameters that are callable that have parameters that are callable. -- [1.1.205](https://github.com/microsoft/pyright/releases/tag/1.1.205) - - Enhancement: Improved type narrowing for `x.y == L` pattern to also support `x.y is L` if `L` is a `bool` or enum literal. - - Bug Fix: Fixed regression that resulted in a false positive error when assigning an empty tuple to a declared type that involved an unbounded tuple. - - Bug Fix: Fixed bug that causes a crash due to infinite recursion. - - Bug Fix: Fixed recent regression that resulted in a crash when using a zero-length tuple as a function argument. - - Bug Fix: Fixed bug that resulted in the first parameter of a local function declared within a method to be interpreted as a "self" parameter. - - Bug Fix: Fixed bug that resulted in a false positive when using a decorator that applies to a method and provides a type for the parameter corresponding to "self". - - Bug Fix: Fixed bug in tokenizer that resulted in a missing error when the first statement in a source file is preceded by whitespace. - - Enhancement: Updated typeshed stubs to latest. - - Bug Fix: Fixed bug that resulted in false positive error when a ParamSpec was bound to a generic function with some unresolved TypeVars. - - Behavior Change: Changed behavior of type alias declarations that use a generic class or alias in the RHS without any subscripts or unions. These are treated as unspecialized aliases, whereas they were previously specialized with `Any` type arguments. - -## 2022.1.0 (5 January 2022) - -Notable changes: - -- Enhancement: Improved untitled file support - -In addition, Pylance's copy of Pyright has been updated from 1.1.196 to 1.1.204 including the following changes: - -- [1.1.204](https://github.com/microsoft/pyright/releases/tag/1.1.204) - - Behavior Change: Added special-cased handling for `__slots__` and `__class_getitem__` in protocol matching logic. - - Enhancement: Improved bidirectional type inference for lambdas with default argument values. - - Enhancement: Improved heuristics for when constraint solver should prefer literals over non-literals when solving a TypeVar in the case of bidirectional inference when assigning to a callable type. - - Enhancement: Added support for unpacking of tuples in type annotations (part of PEP 646). - - Bug Fix: Fixed bug that resulted in false positive error when a `Literal` was used within a Python-2 style type annotation comment. - - Enhancement: Updated typeshed stubs to the latest. - - Bug Fix: Fixed bug in "x is None" type guard logic. It wasn't preserving conditional types if x was a TypeVar. - - Bug Fix: Fixed bug that resulted in false positive error when a constrained TypeVar was checked against a particular constraint in an `isinstance` type guard. - - Bug Fix: Fixed a bug in the logic for assignment-based type narrowing that resulted in the wrong narrowed type if the declared type of the destination expression contained a union and the source contained a TypeVar. -- [1.1.203](https://github.com/microsoft/pyright/releases/tag/1.1.203) - - Happy New Year everyone! - - Bug Fix: Fixed false positive error when `Optional` is used outside of a type annotation with no type arguments. - - Enhancement: Added provisional support for "asserting type guard functions", those that return a type of `TypeGuard[X, NoReturn]`. - - Enhancement: Added support for type narrowing in pattern classes based on the absence of an attribute (or a pattern mismatch of an attribute) if the class in question is marked `@final`. - - Behavior Change: Changed the behavior for wildcard imports when the target module defines `__all__` in a way that pyright cannot understand. Previously, the wildcard import didn't import any symbols in this case. Now, it imports all symbols from the target module. - - Enhancement: Added support for undocumented behavior of functools.partial whereby it allows keyword parameters to be overridden by the caller even though they are already supplied in the `partial` decorator. - - Behavior Change: Changed the reportImplicitStringConcatenation diagnostic check to not flag concatenated strings if they are contained within enclosing parentheses. - - Bug Fix: Fixed bug that caused `__hash__` function not to be synthesized for frozen pydantic models when using `dataclass_transform`. - - Enhancement: Enhanced the "aliased conditional" type narrowing capability to accommodate multiple assignments of the variable used within the aliased conditional as long as the variable isn't reassigned between the the aliased conditional assignment and the conditional check that uses the aliased value. - - Enhancement: Added support for `bool(x)` type guard. - - Bug Fix: Fixed several bugs that prevented type narrowing to work correctly when conditional expression included an assignment expression. - - Enhancement: Added check for member access expressions that access a member of a protocol class directly from the class. In this case, the member must be declared as a ClassVar. - - Enhancement: Improved "x in y" type narrowing logic to better handle literal types in the iterable value y. - - Behavior Change: Adjusted heuristics for assignment-based type narrowing. If the RHS type contains an unsolved TypeVar and the LHS (declared) type is concrete, do not apply type narrowing in this case. - - Bug Fix: Fixed bug that resulted in unreported type violation (false negative) when an inner function with a ParamSpec used a concatenated parameter but the outer function's return type did not. - - Enhancement: Added support for new type narrowing pattern: `len(x) == L` and `len(x) != L` where `x` is a tuple or union of tuples and `L` is a literal integer value. -- [1.1.202](https://github.com/microsoft/pyright/releases/tag/1.1.202) - - Enhancement: Added check for class patterns for special builtin types (like int, float, etc.). These class patterns accept at most a single sub-pattern as an argument, and it must be positional. - - Bug Fix: Fixed type compatibility bug that allowed `Literal[1]` to be assignable to `type` when it should not be. - - Bug Fix: Fixed bug that caused "unnecessary isinstance" check to emit a false positive diagnostic when second argument was `Literal[1]`. - - Enhancement: Improved heuristics for determining preferred TypeVar match when matching against a union that includes a TypeVar. - - Enhancement: Added provisional support for two-argument form of TypeGuard to support negative narrowing cases. - - Bug Fix: Fixed bug in hover provider that caused docstrings not to appear for callable types that were generated from a callable with a ParamSpec. - - Bug Fix: Fixed a bug that resulted in a missing type error when a generic function returned a Callable type that used a TypeVar in its parameter types. - - Bug Fix: Fixed regression that resulted in a crash under certain circumstances where a `finally` clause was used in a generic function that used constrained TypeVars. -- [1.1.201](https://github.com/microsoft/pyright/releases/tag/1.1.201) - - Enhancement: Added code to detect except clauses that are unreachable because their exception types are already handled by previous except clauses. - - Enhancement: Added type validation for custom metaclass keyword parameters specified in the metaclass's `__new__` method. - - Enhancement: Added type validation logic for dataclass `__post_init__` method. - - Bug Fix: Fixed bug that results in false positive error when class declaration arguments are evaluated out of order. - - Enhancement: Updated typeshed stubs to the latest version. - - Enhancement: Added support for `Required` and `NotRequired` type annotations in alternative syntax form of TypedDict. - - Behavior Change: Changed overload implementation consistency check so it doesn't require the implementation to include a `NoReturn` if one of the overload signatures returns a `NoReturn`. - - Bug Fix: Fixed a bug that resulted in a false positive in the overlapping overload check, specifically when a later overload used a type variable in a parameter annotation. - - Enhancement: Added type checking support for functools.total_ordering. -- [1.1.200](https://github.com/microsoft/pyright/releases/tag/1.1.200) - - "The Christmas Edition" - - Enhancement: Added type checking support for functools.partial. This advanced support does not work with overloads or argument lists that include list or dictionary unpack operators. - - Bug Fix: Fixed a bug that resulted in a ParamSpec used within a generic function from becoming `Unknown` in some circumstances. - - Bug Fix: Fixed a bug that resulted in an incorrect specialized return type in certain cases involving ParamSpecs. - - Bug Fix: Fixed bug that can result in incorrect type evaluations when a keyword argument name is evaluated first when hovering over it. - - Behavior Change: Added special-case handling to accommodate assignment of a method that differs only in the Self parameter. - - Enhancement: Added logic to preserve function doc strings for a ParamSpec when it captures the signature of a function with a doc string. This is useful for decorators. -- [1.1.199](https://github.com/microsoft/pyright/releases/tag/1.1.199) - - Bug Fix: Fixed bug that resulted in false positive error when class constructor is invoked with more than one argument and the class's metaclass has a custom `__call__` method. - - Enhancement: Updated typeshed stubs to the latest version. - - Bug Fix: Fixed recent regression that resulted in false positive when assigning a `Type[Proto]` to `Type[Proto]`. - - Enhancement: Added type checking for class constructor calls when the class has a metaclass with a custom `__call__` method. - - Bug Fix: Fixed a bug that resulted in an incorrect type inference when assigning to a list that includes an unpacked target variable. - - Enhancement: Improved handling of call expressions that have a `NoReturn` type. In particular, the logic now handles constructors, `__call__` methods, inferred symbol types, and symbol import chains. - - Bug Fix: Fixed bug that resulted in infinite recursion in certain cases when an aliased conditional expression was used. - - Bug Fix: Fixed bug in type evaluator that masked certain type errors when assigning a concrete type to a class TypeVar type. - - Bug Fix: Fixed bug that caused false positive when passing a generic function callback as an argument to another generic function. -- [1.1.198](https://github.com/microsoft/pyright/releases/tag/1.1.198) - - Enhancement: Added support for exception group syntax introduced in PEP 654. - - Bug Fix: Fixed bug that resulted in false positive errors when using a TypeVar within the new callable syntax within a function declaration. - - Enhancement: Added missing check mandated by PEP 544, which disallows an assignment of a class type to a Type[Proto] if the class type is a protocol itself. - - Enhancement: Added support for class types that satisfy protocols. This is specifically allowed in PEP 544 in the section titled "Type[] and class objects vs protocols". - - Enhancement: Added support for assigning a param spec to a `...` signature, since the latter is the `Any` equivalent for ParamSpecs. - - Behavior Change: Changed type logic to allow `type` to be assigned to `Type[T]`. In this case, `type` is treated the same as `Type[Any]`, so `T` receives a value of `Any`. - - Enhancement: Added support for `__getattr__` and `__getattribute__` overloads that are typed with a literal str representing the attribute name. - - Bug Fix: Fixed bug in handling of callable syntax when a TypeVar, ParamSpec or TypeVarTuple was used outside of an appropriate scope. No error was emitted in this case. - - Bug Fix: Fixed a bug in the handling of the new callable syntax when it's used with an "async" keyword. The resulting return type should be `Awaitable` rather than `Coroutine`. - - Behavior Change: Changed the behavior of the new callable syntax to not accept `...` with other parameters. After further discussion on the typing-sig, the consensus is that supporting this will cause confusion. - - Bug Fix: Fixed a false negative (missing) error when a method within a generic class was annotated to return a generic type of itself. - - Enhancement: Added logic to handle the case where a declared return type of a function includes a constrained TypeVar and a return statement is guarded by a conditional check that guarantees that the constraint is met on that code path. - - Enhancement: Improved error message (and reduced cascading errors) for the case where a variable is incorrectly used as the LHS of a subscript expression within a type annotation. -- [1.1.197](https://github.com/microsoft/pyright/releases/tag/1.1.197) - - Bug Fix: Fixed bug in type narrowing code for literal enums. It wasn't correctly handling the edge case where the enum class has no enumerated members. - - Bug Fix: Fixed bug in type narrowing logic for comparisons to literals that involve enums declared in a type stub. It was incorrectly narrowing the type to `Never` in the negative (else) case. - - Bug Fix: Fixed bug in type evaluator that resulted in incomplete (Unknown) types when variable types depend on each other within a loop and one of the expressions involves an unpack operator. - - Bug Fix: Fixed bug in protocol TypeVar variance validation. Thanks to @Azureblade3808 for this contribution. - - Enhancement: Added support for ellipsis type argument for a generic alias that uses a ParamSpec. - - Bug Fix: Fixed bug that caused false positives when assigning a function to a generic class or callback protocol that is parameterized with a ParamSpec that is specialized using an ellipsis. - - Bug Fix: Fixed several bugs where `Type[None]` was incorrectly treated as compatible with `None` and vice versa. - - Bug Fix: Fixed bug that resulted in a false positive error when `Required` or `NotRequired` special forms were used with no type arguments in contexts where they are used as runtime class names rather than type annotations. - - Behavior Change: Changed text representation of callables to more closely match the syntax introduced in PEP 677 including the use of "..." to represent "any parameters" and "\*\*P" to represent a ParamSpec. - - Bug Fix: Fixed error in pyrightconfig JSON schema, which duplicated a couple of IDs. - - Bug Fix: Fixed bug that caused crash in type analyzer when a TypeVar of the same name was declared twice in the same scope with constraints in one case and without in the other. - - Enhancement: Added support for draft PEP 677: callable type syntax. -- [1.1.196](https://github.com/microsoft/pyright/releases/tag/1.1.196) - - Enhancement: Added support for Python 3.11 StrEnum. - - Behavior Change: Modified behavior for assignment-based type narrowing when the target of the assignment references an "asymmetric" descriptor or property, one where the setter accepts a different value type than the getter returns. When this is detected, assignment-based type narrowing is no longer applied. - - Behavior Change: Changed class pattern matching behavior to support narrowing of `Any` or `Unknown`, exempting this case from the general "never narrow Any" rule. - - Behavior Change: Modified behavior of overload matching when unpacked argument is present and the unpacked iterator is a type that doesn't provide any length information. In this case, overload matching will prefer an overload that includes a `*args` parameter rather than individual positional parameters. - - Enhancement: Added check for a module used as a type annotation, which is not permitted. - - Enhancement: Improved `isinstance` type narrowing logic to retain type arguments in cases where the corresponding type parameter is bound or constrained. - - Bug Fix: Fixed bug that resulted in a false positive error indicating that an overload isn't compatible with its implementation when the overload includes a callable parameter with a type variable as a parameter. - - Bug Fix: Fixed a bug in type evaluation of a `Final` class variable that has no explicit type but is assigned a literal value. - - Bug Fix: Fixed a bug that resulted in incorrect type evaluations when a generic class using a ParamSpec was explicitly specialized using a `Concatenate` in the type argument, as in `A[Concatenate[int, P]]`. - - Bug Fix: Fixed a bug that resulted in incorrect type resolution when evaluating mutually-dependent variables within a loop where one of the expressions involved a call to a constructor with an unpacked argument. - - Bug Fix: Fixed false positive error with reportUnnecessaryIsInstance diagnostic check with the provided class is dynamic. - -## 2021.12.2 (13 December 2021) - -Notable changes: - -- Bug Fix: Fixed false positive when using a generic type alias that refers to a class with a `__getitem__` method. - ([pylance-release#2161](https://github.com/microsoft/pylance-release/issues/2161)) - ([pylance-release#2169](https://github.com/microsoft/pylance-release/issues/2169)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.194 to 1.1.195 including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Behavior Change: Changed class pattern matching behavior to support narrowing of Any or `Unknown`, exempting this case from the general "never narrow Any" rule. - - Behavior Change: Modified behavior for assignment-based type narrowing when the target of the assignment references an "asymmetric" descriptor or property, one where the setter accepts a different value type than the getter returns. When this is detected, assignment-based type narrowing is no longer applied. - - Enhancement: Added support for Python 3.11 StrEnum. -- [1.1.195](https://github.com/microsoft/pyright/releases/tag/1.1.195) - - Bug Fix: Fixed bug in handling of `__slots__`. Entries listed in `__slots__` apply only to instance variables, not to class variables. - - Bug Fix: Fixed false positive error with reportUnnecessaryComparison diagnostic rule when one of the two operands is `type` or `Type[Any]` and the other is a class. - - Bug Fix: Fixed false positive when using a generic type alias that refers to a class with a `__getitem__` method. - ([pylance-release#2161](https://github.com/microsoft/pylance-release/issues/2161)) - ([pylance-release#2169](https://github.com/microsoft/pylance-release/issues/2169)) - - Enhancement: Implemented support for type guards that based on "aliased conditional expressions". For details and examples, refer to https://github.com/microsoft/pyright/blob/main/docs/type-concepts.md#aliased-conditional-expression. - - Bug Fix: Fixed a bug that caused a false positive error under certain circumstances where a function return type annotation referred to a forward-declared symbol and `from __future__ import annotations` was in effect. - ([pylance-release#2157](https://github.com/microsoft/pylance-release/issues/2157)) - - Enhancement: Added error for an attempt to call a module, which generates an exception at runtime. - - Bug Fix: Fixed bug related to ParamSpec specialization when the signature has zero parameters. - - Behavior Change: Changed type completeness report (the "--verifytypes" feature) to exempt symbols that derive from "**slots**" entries. - - Enhancement: Improved `isinstance` type narrowing when the original type is a generic class with a TypeVar as a type argument and the second argument to `isinstance` is a generic subclass of the original type. The type argument is now properly retained. - -## 2021.12.1 (9 December 2021) - -Notable changes: - -- Pylance now supports smart selection (shift + alt + rightArrow/leftArrow) -- Pylance's copy of typeshed has been updated. -- The bundled stubs for django have been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.192 to 1.1.194 including the following changes: - -- [1.1.194](https://github.com/microsoft/pyright/releases/tag/1.1.194) - - Bug Fix: Fixed inconsistency in definition provider where it would sometimes fail to go to a declaration if the symbol was not re-exported from a type stub or "py.typed" module. - - Enhancement: Added support for explicit specialization of generic type aliases that include a ParamSpec. - - Bug Fix: Fixed bug that resulted in the import resolution paths retrieved from the currently-selected Python interpreter to omit the working directory if it happens to be in the "sys.path" list. - - Bug Fix: Fixed bug in specialization of callable type where the return type includes the expansion (unpacking) of a variadic type variable. - - Enhancement: Improved handling of `x in y` type guard to handle the case where `y` is a tuple. - - Bug Fix: Fixed a bug that caused type narrowing to fail in certain cases when the "X in Y" type guard pattern was used. - - Bug Fix: Fixed bug that resulted in false positive when a variable was modified in a loop that employed conditional type narrowing and was also used as a member access expression. - - Bug Fix: Fixed a bug whereby an explicit TypeAlias definition that includes a generic type with no explicit type arguments was not assuming `Unknown` for those type arguments. For example, `A: TypeAlias = list` should assume that `A` is equivalent to `list[Unknown]`. - - Enhancement: Added a missing diagnostic for an attempt to specialize a class that has already been specialized. This can occur in the case of a type alias, such as `A = list[int], A[int]`. - - Enhancement: Added code to support `__qualname__` in class definitions. - - Bug Fix: PEP 484 indicates that `Type[Any]` should be interpreted as equivalent to `type`, but the previous code was treating it as `Any`. - - Enhancement: Added error check for the use of a generic class as a metaclass. - - Bug Fix: Fixed a bug that resulted in a false positive error when a dictionary literal was passed to a constructor of a generic subclass of dict. -- [1.1.193](https://github.com/microsoft/pyright/releases/tag/1.1.193) - - Bug Fix: Fixed incorrect type evaluation for symbols that are modified within a context manager block that is nested within a try/except statement. - - Enhancement: Updated to the latest typeshed stubs. Note that type stubs for several third-party packages were recently removed from typeshed: click, flask, jinja2, markupsafe, werkzeug. - - Bug Fix: Fixed bug that resulted in "unknown" type evaluation for variables assigned in a loop using a tuple assignment pattern. - ([pylance-release#2140](https://github.com/microsoft/pylance-release/issues/2140)) - - Bug Fix: Fixed bug in TypeVar solver where Self type was being incorrectly replaced with its concrete form in some cases. - - Bug Fix: Fixed bug that resulted in TypeVar not being solved in some circumstances involving recursive types. - - Bug Fix: Fixed a bug in the handling of generic classes whose implementation includes another instantiation of itself using the original type parameters as type arguments for the nested instantiation. - - Bug Fix: Fixed a bug in the handling of generic classes whose implementation includes another instantiation of itself using the original type parameters as type arguments for the nested instantiation. - - Enhancement: Enhanced reportIncompatibleMethodOverride diagnostic check to also detect incompatible methods defined by two classes that are used as base classes in a multiple-inheritance derived class. -- [1.1.192](https://github.com/microsoft/pyright/releases/tag/1.1.192) - - Enhancement: Sped up "find reference" by performing a quick text search for the reference symbol and avoiding additional work for that file if there is no chance of finding a reference within it. - - Bug Fix: Fixed misleading error message involving a type mismatch within the TypeVar constraint solver. The source and destination types were reversed. - - Bug Fix: Fixed a bug in ternary expression type evaluation that resulted in a false positive error. It was not properly handling the case where the condition was statically determined to be false or true. - - Enhancement: Improved error message for unknown or partially-unknown type arguments in package type verifier. - - Bug Fix: Added missing check in package type verifier for generic type aliases with missing type arguments. - - Bug Fix: Fixed bug that resulted in false positive error when a `__new__` method has its own type variables that are not scoped to its corresponding class. - - Bug Fix: Changed behavior of symbol resolution involving a quoted (forward-declared) type annotation that references a symbol in the global (module) or builtins namespaces. The previous implementation didn't match the runtime behavior of `typing.get_type_hints`. - - Bug Fix: Improved heuristics that are intended to choose the simplest type when more than one solution is possible for a set of type variables. - - Enhancement: Added support for class-based definition of "NewType", which will appear in a new version of typeshed stubs soon. - - Bug Fix: Added missing check in function type compatibility checks for the case where the source type contains position-only parameters but the destination type does not. - - Bug Fix: Added support for synthesized `__hash__` method for dataclass and dataclass_transform. - - Bug Fix: Fixed bug that resulted in false positive parse error when using "/" parameter in type stub when pythonVersion was prior to Python 3.8. - -## 2021.12.0 (2 December 2021) - -Notable changes: - -- Pylance now supports Go to Type Definition. -- Performance of Find All References and Rename Symbol has been improved for large workspaces. - ([pylance-release#2109](https://github.com/microsoft/pylance-release/issues/2109)) -- Pylance's copy of typeshed has been updated. -- The bundled stubs for django have been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.188 to 1.1.191 including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Enhancement: Improved heuristics that are intended to choose the simplest type when more than one solution is possible for a set of type variables. - - Bug Fix: Fixed regression introduced in previous check-in related to type stubs that use symbol names that overlap with builtins symbols. - - Behavior Change: Modified symbol resolution involving a quoted (forward-declared) type annotation that references a symbol in the global (module) or builtins namespaces. The previous implementation didn't match the runtime behavior of `typing.get_type_hints`. - - Bug Fix: Fixed bug that resulted in false positive error when a `__new__` method has its own type variables that are not scoped to its corresponding class. - - Enhancement: Updated command-line documentation for consistency. -- [1.1.191](https://github.com/microsoft/pyright/releases/tag/1.1.191) - - Bug Fix: Fixed bug in synthesized `__match_args__` type for dataclass, which shouldn't include any keyword-only fields. Thanks to @HKGx for this contribution. - - Bug Fix: Added special-casing to suppress "partially unknown type" diagnostic within member access expressions when they are used to access non-specialized generic classes within an argument expression. There are legitimate uses of partially unknown types in this case (e.g. in "isinstance" calls). - - Behavior Change: Exempted class symbol `__weakref__` from type completeness check since its type is well defined by the Python spec. - - Behavior Change: Changed reportPropertyTypeMismatch to be disabled by default in all diagnostic modes. - - Bug Fix: Fixed a hole in the check for partially-unknown types. Generic type aliases that are not specialized or are partially specialized (i.e. only some type arguments are specified) should trigger this check. - - Bug Fix: Fixed bug that resulted in a false positive error when using class pattern matching with type variables. - - Bug Fix: Fixed bug in "--ignoreexternal" mode of "--verifytypes" feature. It was not properly flagging errors when the type was external (and known) but the type arguments were partially unknown. - - Enhancement: Enhanced truthy/falsy type narrowing pattern to handle classes that contain a `__bool__` method that always returns True or False. - - Enhancement: Changed parse error messages related to unclosed parentheses, braces and brackets so they are reported at the location of the starting token to better match the new Python 3.10 parse error reporting behavior. - ([pylance-release#2118](https://github.com/microsoft/pylance-release/issues/2118)) -- [1.1.190](https://github.com/microsoft/pyright/releases/tag/1.1.190) - - Bug Fix: Fixed bug that caused false positive when evaluating type compatibility between two TypedDict types that are structurally the same but have different declarations. PEP 589 indicates that these should be treated as compatible types. - - Bug Fix: In the case where a type annotation is an illegal form (e.g. a variable or a function), the annotation should evaluate to an Unknown type. - - Enhancement: Added support for async functions that return `NoReturn` type. - - Bug Fix: Fixed bug that prevented error when a generator function returned an inappropriate type if that type was a subclass of `Iterable`. - ([pylance-release#2127](https://github.com/microsoft/pylance-release/issues/2127)) - - Bug Fix: Fixed bug that resulted in unreported Unknown type in strict mode when the type was evaluated as part of a call to an overloaded function in some circumstances. - - Enhancement: Updated typeshed stubs to the latest. - - Bug Fix: Improved check for inconsistent use of tabs and spaces to catch a previously-unreported case that generates runtime errors. - - Bug Fix: Added a type consistency check for TypedDicts which are otherwise compatible except that one is marked @final and the other is not. - - Behavior Change: Changed reportUnusedVariable diagnostic check to exempt variables whose names begin with an underscore. - - Behavior Change: Changed logic that determines whether a function should be exempt from return type consistency checks. If a function or method contains only a docstring but no `...`, it is no longer exempt (unless it is an `@overload`). ([pylance-release#2111](https://github.com/microsoft/pylance-release/issues/2111)) -- [1.1.189](https://github.com/microsoft/pyright/releases/tag/1.1.189) - - Bug Fix: Fixed regression relating to type inference for non-generic classes that have unannotated constructors (so-called "pseudo-generic classes"). - - Bug Fix: Fixed crash that occurred when specializing a class with a TypeVarTuple and failing to provide a type argument for the TypeVarTuple type parameter. - - Bug Fix: Fixed recent regression in import resolver that caused a local import to no longer be preferred over an installed module by the same name. - - Bug Fix: Fixed bug that caused incorrect type evaluation of parameter with implied Optional type based on `None` default argument value when `strictParameterNoneValue` setting is false. - ([pylance-release#2091](https://github.com/microsoft/pylance-release/issues/2091)) - - Enhancement: Added checks for illegal forms of `Literal` type arguments. - - Bug Fix: Fixed false positive error when using a union type expression in an `isinstance` or `issubclass` call on Python 3.10. - - Bug Fix: Fixed bug in code flow engine that caused incorrect determination of node reachability in cases where an unannotated function recursively called itself. - - Bug Fix: Fixed a hole in the type checking logic for TypedDict classes. It was not properly handling the invariant case. - - Behavior Change: Made illegal assignment target checks unconditional so they are not gated by reportGeneralTypeIssues. These should be treated more like parse errors than type checking errors. -- [1.1.188](https://github.com/microsoft/pyright/releases/tag/1.1.188) - - Bug Fix: Fixed issue that caused import resolution failures for certain submodules of `google.cloud`. - - Bug Fix: Fixed crash in completion provider. - - Bug Fix: Fixed bug in ParamSpec type evaluation that caused a false positive error when assigning a callable with a `Concatenate` to another `ParamSpec`. - - Bug Fix: Fixed bug in ParamSpec logic that resulted in false positive when a TypeVar was used as within a Concatenate expression. - - Bug Fix: Fixed bug in type evaluator that resulted in false positive error in strict mode. Type of call argument expression was incorrectly reported as partially unknown in some cases. - - Bug Fix: Fixed bug that resulted in a false positive when a tuple with known element types is used as an unpacked argument in a call to a function that uses position-only parameters. - ([pylance-release#2083](https://github.com/microsoft/pylance-release/issues/2083)) - - Bug Fix: Fixed type checking hole (false negative) in certain circumstances involving loop constructs and variables whose types are modified within these loops. This bug fix also has a positive performance impact when analyzing functions with complex code flow graphs. - ([pylance-release#1979](https://github.com/microsoft/pylance-release/issues/1979)) - - Bug Fix: Fixed issue that caused CLI version of pyright to use incorrect Python interpreter to discover the Python version when no "pythonVersion" configuration setting was supplied. - - Enhancement: Implemented diagnostic check for a `ClassVar` declaration that uses a type variable. PEP 526 explicitly states that this is not allowed. - -## 2021.11.2 (17 November 2021) - -Notable changes: - - - Intellicode context now includes collections. - - Pylance's copy of typeshed has been updated. - - The bundled stubs have been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.186 to 1.1.187 including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed bug in type evaluator that resulted in false positive error in strict mode. Type of call argument expression was incorrectly reported as partially unknown in some cases. - - Bug Fix: Fixed style issue. - - Bug Fix: Fixed bug in ParamSpec logic that resulted in false positive when a TypeVar was used as within a Concatenate expression. - - Bug Fix: Fixed bug in ParamSpec type evaluation that caused a false positive error when assigning a callable with a `Concatenate` to another `ParamSpec`. - - Bug Fix: Fixed crash in completion provider. - - Bug Fix: Fixed issue that caused import resolution failures for certain submodules of `google.cloud`. -- [1.1.187](https://github.com/microsoft/pyright/releases/tag/1.1.187) - - Bug Fix: Fixed false positive error when assigning type `T | Any` to type `T`. - ([pylance-release#2054](https://github.com/microsoft/pylance-release/issues/2054)) - - Behavior Change: Changed `Callable` special form to include a position-only marker at the end of the parameter list. Changed type printer to omit the `/` if it is unnecessary. - - Behavior Change: Modified the check for function declaration redefinitions to allow for same-signature overrides in cases where the declarations are not within the same statement suite (e.g. one in the "if" and the other in the "else" block). - - Bug Fix: Fixed missing diagnostic when a Self parameter was assigned to a `Concatenate[X, P]` where `X` is a type that is incompatible with `Self`. - - Bug Fix: Fixed bug that resulted in a false positive error when a specialized generic class with a `__call__` method uses a ParamSpec and is assigned to a `Callable` that is also parameterized with a ParamSpec. - - Enhancement: Updated typeshed stubs to the latest. - - Bug Fix: Fixed bug that resulted in hover text for symbols used within a default argument expression to sometimes be displayed as "Unknown". - ([pylance-release#2064](https://github.com/microsoft/pylance-release/issues/2064)) - - Bug Fix: Fixed regression in handling of callback protocols that define a `__name__` attribute, which is common to all functions. - - Behavior Change: Added support for upcoming change in typing.pyi in the way that the `NoReturn` symbol is declared. - -## 2021.11.1 (10 November 2021) - -Notable changes: - -- Bug fix: Fixed semantic token bug involving file opened and closed repeatedly in a short period times. - -In addition, Pylance's copy of Pyright has been updated from 1.1.185 to 1.1.186 including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed missing diagnostic when a Self parameter was assigned to a `Concatenate[X, P]` where `X` is a type that is incompatible with `Self`. - - Enhancement: Modified the check for function declaration redefinitions to allow for same-signature overrides in cases where the declarations are not within the same statement suite (e.g. one in the "if" and the other in the "else" block). - - Enhancement: Changed isTypeSame function to handle functions whose signatures include position-only parameters. Also added support for inferred return types and eliminated the check for declaration parity. This allows two function types to be deemed the same even if they originate from different declarations. - - Enhancement: Changed Callable special form to include a position-only marker at the end of the parameter list. Changed type printer to omit the `/` if it is unnecessary. - - Bug Fix: Fixed false positive error when assigning type T | Any to type T. ([pylance-release#2054](https://github.com/microsoft/pylance-release/issues/2054)) -- [1.1.186](https://github.com/microsoft/pyright/releases/tag/1.1.186) - - Enhancement: Added checks for incorrect runtime usage of a UnionType object. - - Enhancement: Added more complete type checks involving the use of a default argument for a generic parameter in a constructor. - - Bug Fix: Fixed a bug that resulted in a false positive error when accessing members from a `type` instance or a `Type[T]`. - - Bug Fix: Fixed false positive error related to heuristics employed in bidirectional type inference for calls when the expected type comprises a union and the return type of the call is a union that includes Any and a type variable. - - Enhancement: Added support for `slots` parameter to dataclass, a new feature added in Python 3.10. - - Bug Fix: Fixed regression that caused a false positive error related to incorrect usage of a type variable within a type alias definition. - - Bug Fix: Fixed incorrect handling of client-initiated progress reporting for "onReferences" and "onExecuteCommand" handlers in language server. -- [1.1.185](https://github.com/microsoft/pyright/releases/tag/1.1.185) - - Bug Fix: Fixed bug in completion provider where it was not properly handling binding to classes, which left parameter types unspecialized in some cases. It was already properly handling binding to objects (class instances), so this was a straightforward extension. - - Enhancement: Added support in completion provide for enum members. They are now properly identified as such and prioritized higher in the completion list than other non-member symbols. ([pylance-release#1977](https://github.com/microsoft/pylance-release/issues/1977)) - - Enhancement: Improved readability of diagnostic message for type mismatch when assigning to a tuple expression. ([pylance-release#2020](https://github.com/microsoft/pylance-release/issues/2020)) - - Bug Fix: Fixed a bug in the handling of `reveal_type` that caused hover text within the argument to be displayed as `Unknown` in some circumstances. ([pylance-release#2024](https://github.com/microsoft/pylance-release/issues/2024)) - - Enhancement: Added special-case support for the `__self__` attribute of a bound method. - - Bug Fix: Fixed bug that resulted in stack overflow. - - Bug Fix: Fixed bug in stub generation code that resulted in an error if a stub was requested for a submodule in a package that includes an `__init__.py` file in the same directory as the submodule source file. ([pylance-release#2013](https://github.com/microsoft/pylance-release/issues/2013)) - - Enhancement: Improved signature help for the constructor of classes that define a `__new__` method but no `__init__` method, such as the `zip` class. The previous logic was always preferring the `__init__`, which is supplied by the `object` class, which all classes derive from. ([pylance-release#1912](https://github.com/microsoft/pylance-release/issues/1912)) - - Bug Fix: Fixed a bug that resulted in a false positive error when assigning one ParamSpec to another ParamSpec. - - Bug Fix: Fixed bug that resulted in false positive "reportUnknownMemberType" error when using a generic class within a class pattern. - - Bug Fix: Added missing diagnostic check for illegal type argument lists that include a ParamSpec when the type parameter list includes a ParamSpec. - - Enhancement: Added missing keyword "with" from completion provider. ([pylance-release#2042](https://github.com/microsoft/pylance-release/issues/2042)) - - Bug Fix: Fixed bug in type promotion logic that resulted in false positive. It wasn't properly handling subclasses of promotable types (like 'int', which can be promoted to 'float'). - - Enhancement: Improved bidirectional type inference for call expressions. The logic now handles the case where the return type of the callable is a generic type that is not an exact match for the expected type but is assignable to the expected type. - - Enhancement: Added support for explicit type aliases (PEP 613) within class scopes. A proposed amendment to PEP 613 will make this legal. - - Enhancement: Added check for a class-scoped generic type alias that uses a class-scoped TypeVar. This is now flagged as an error. - -## 2021.11.0 (3 November 2021) - -Notable changes: - -- Enum member values are now appear before other enum class members in completions. - ([pylance-release#1977](https://github.com/microsoft/pylance-release/issues/1977)) -- Type mismatch errors involving tuples are now more descriptive. - ([pylance-release#2020](https://github.com/microsoft/pylance-release/issues/2020)) -- Pylance's copy of typeshed has been updated. -- The bundled stubs for django have been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.183 to 1.1.184 including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Enhancement: Improved signature help for the constructor of classes that define a `__new__` method but no `__init__` method, such as the `zip` class. The previous logic was always preferring the `__init__`, which is supplied by the `object` class, which all classes derive from. ([pylance-release#1912](https://github.com/microsoft/pylance-release/issues/1912)) - - Bug Fix: Fixed bug in stub generation code that resulted in an error if a stub was requested for a submodule in a package that includes an `__init__.py` file in the same directory as the submodule source file. ([pylance-release#2013](https://github.com/microsoft/pylance-release/issues/2013)) - - Bug Fix: Fixed overflow. - - Enhancement: Increased stack trace limit from default to 256 in pyright VS Code extension to facilitate debugging of stack overflow errors. - - Enhancement: Added special-case support for the **self** attribute of a bound method. - - Bug Fix: Fixed a bug in the handling of reveal_type that caused hover text within the argument to be displayed as `Unknown` in some circumstances. ([pylance-release#2024](https://github.com/microsoft/pylance-release/issues/2024)) - - Enhancement: Improved readability of diagnostic message for type mismatch when assigning to a tuple expression. ([pylance-release#2020](https://github.com/microsoft/pylance-release/issues/2020)) - - Enhancement: Added support in completion provide for enum members. They are now properly identified as such and prioritized higher in the completion list than other non-member symbols. ([pylance-release#1977](https://github.com/microsoft/pylance-release/issues/1977)) - - Bug Fix: Fixed bug in completion provider where it was not properly handling binding to classes, which left parameter types unspecialized in some cases. It was already properly handling binding to objects (class instances), so this was a straightforward extension. -- [1.1.184](https://github.com/microsoft/pyright/releases/tag/1.1.184) - - Bug Fix: Fixed false positive error when a class used within as a TypeVar `bound` argument is a "pseudo generic" class, one whose constructor is unannotated. ([pylance-release#2017](https://github.com/microsoft/pylance-release/issues/2017)) - - Bug Fix: Changed type evaluator to elide `NoReturn` from union generated from `or` or `and` operator. - - Enhancement: Improved error handling for the `Generic` special form. Eliminated false positive error when `Generic` is used in certain legitimate ways within a function. - - Enhancement: Improved error messages for call expressions that involve overloaded functions. ([pylance-release#1982](https://github.com/microsoft/pylance-release/issues/1982)) - - Enhancement: Implemented optimization that reduces analysis time and memory usage by generating a diagnostic message (which often involve converting types to a textual representation) only if the caller is interested in the diagnostic message. - - Enhancement: Added support for "Self" type documented in draft PEP: https://docs.google.com/document/d/1ujuSMXDmSIOJpiZyV7mvBEC8P-y55AgSzXcvhrZciuI/edit. - - Enhancement: Added support for trace logging of type evaluation from the command line when both `--stats` and `--verbose` are specified. - - Bug Fix: Fixed bug that resulted in the incorrect type evaluation when a property was defined on a metaclass and accessed through a class with that metaclass. -- [1.1.183](https://github.com/microsoft/pyright/releases/tag/1.1.183) - - Bug Fix: Fixed bug in handling of the recently-added "--skipunannotated" command-line flag. - - Bug Fix: Fixed a recent regression that resulted in a false positive error when `Union` was used with no type arguments outside of a type annotation. [pylance-release#2014](https://github.com/microsoft/pylance-release/issues/2014)) - - Enhancement: Extended support for bidirectional type inference for functions that have a generic return type and the "expected type" is a generic class with type arguments that include literal types. - - Enhancement: Expanded support for bidirectional type checking for function call expressions where the return type of the function includes a TypeVar that also appears within a function parameter and that parameter is a callable. - - Bug Fix: Fixed bug that resulted in incorrect type evaluation for a generic function that returns a specialized class that uses a `Concatenate` in one of the type arguments. - - Bug Fix: Fixed bug that caused the type of `super().__new__(cls)` to be evaluated incorrectly. - - Bug Fix: Changed type evaluator to elide `NoReturn` from union generated from ternary operator. ([pylance-release#2008](https://github.com/microsoft/pylance-release/issues/2008)) - - Bug Fix: Fixed a bug that allowed a function to be assigned to a (non-protocol) class if that class defined a `__call__` method. This should be allowed only for protocol classes. - - Bug Fix: Fixed a bug that allowed a function to be assigned to a protocol class if it defined a `__call__` method but also defined additional methods or attributes. ([pylance-release#2006](https://github.com/microsoft/pylance-release/issues/2006)) - - Behavior Change: Changed text representation of inferred type of `self` and `cls` parameters to `Self@ClassName`. This is more consistent with the emerging standard for an explicit `Self` type. - -## 2021.10.3 (27 October 2021) - -Notable changes: - -- Analysis performance has been improved for large and complicated functions, such as those in `scipy` and `sympy`. - ([pylance-release#1964](https://github.com/microsoft/pylance-release/issues/1964)) -- Pylance's copy of typeshed has been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.181 to 1.1.182 including the following changes: - -- [1.1.182](https://github.com/microsoft/pyright/releases/tag/1.1.182) - - Enhancement: Implemented missing check for a write to a Final instance or class variable outside of the class implementation. - - Enhancement: Added missing check for an attempt to write to a named tuple attribute, which generates a runtime exception. - ([pylance-release#1976](https://github.com/microsoft/pylance-release/issues/1976)) - - Bug Fix: Fixed bug that resulted in a false positive when a function returned a callable type that included a parameter with a union type that included an unsolved type variable. - - Bug Fix: Improved handling of intersection types produced as part of `isinstance` or `issubclass` type narrowing when the source variable is a type variable. The creation of the intersection type was incorrectly eliminating the association with the type variable, so the narrowed type was no longer seen as compatible with the TypeVar. - - Enhancement: Added check for `Union` when only one type argument is provided and it is not an unpacked variadic type variable. - - Bug Fix: Fixed bug in "--ignoreexternal" option used with package type verification. It was not correctly ignoring all externally-imported symbols that had unknown or partially-unknown types. - - Enhancement: Updated typeshed stubs to latest. - - Bug Fix: Fixed false positive error when a constrained TypeVar T and Type[T] were both used in the same function signature. -- [1.1.181](https://github.com/microsoft/pyright/releases/tag/1.1.181) - - Enhancement (from pylance): Improved completion suggestions when typing within a list expression. - - Enhancement: Updated typeshed stubs to the latest. - - Bug Fix: Fixed bug in type printing logic where it incorrectly displayed captured ParamSpec signature with "/" or "\*" parameters. - - Bug Fix: Fixed bug that caused false positive error when assigning one callback protocol to another when both protocols are generic and parameterized with a ParamSpec. - - Bug Fix (from pylance): Fixed regression with "--watch" option in command-line version of pyright. - - Behavior Change (from pylance): Increase max file size to 50 MB, matching VS Code. - - Enhancement: Improved logic for isinstance and issubclass type narrowing when the filter class's type arguments can be determined from the type arguments of the subject type. - - Enhancement: Improved type narrowing logic for class pattern matching when the matched class's type arguments can be determined from the type arguments of the subject type. - - Bug Fix: Fixed bug that resulted in an incorrect type evaluation for a binary operator that acts upon a bound TypeVar. - - Performance: Reduced the max number of nested call-site return type inference evaluations from 3 to 2. This can be extremely expensive in some code bases, such as with scipy, and it was leading to a poor user experience. - ([pylance-release#1964](https://github.com/microsoft/pylance-release/issues/1964)) - - Performance: Improved analyzer performance for code that contains thousands of statements with tens of thousands of call statements within a single function or module. This is found in some test modules within the sympy library. - - Enhancement: Added "--skipunannotated" option for command-line version of pyright. If specified, pyright skips type analysis of functions and methods that have no parameter or return type annotations. Return types of functions are also never inferred from the function implementation. This matches the default behavior of mypy and allows for more efficient analysis of complex code bases that are only partially annotated. - -## 2021.10.2 (20 October 2021) - -Notable changes: - -- A bug related to missing completions inside lists and tuples has been fixed. - ([pylance-release#1302](https://github.com/microsoft/pylance-release/issues/1302)) -- The bundled stubs for django have been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.179 to 1.1.180 including the following changes: - -- [1.1.180](https://github.com/microsoft/pyright/releases/tag/1.1.180) - - Bug Fix: Fixed bug that resulted in a false positive error when a generic class used a specialized version of itself parameterized with one of its own type parameters. - - Bug Fix: Fixed recent regression where imported symbols that were ultimately resolved with a native library (e.g. a ".pyd" or ".so" file) were incorrectly resolved as a module rather than an Unknown type. - ([pylance-release#2446](https://github.com/microsoft/pylance-release/issues/2446)) - - Bug Fix: Fixed a type evaluation regression that caused type arguments to be incorrectly determined when calling a constructor and passing a callable that is generic. - - Enhancement: Added broader support for context managers in with statements which swallow exceptions. Thanks to Rik de Graaff for this contribution. - ([pylance-release#1945](https://github.com/microsoft/pylance-release/issues/1945)) - - Bug Fix: Added missing error condition for walrus operator used within a type annotation expression. - - Bug Fix: Fixed bug in pattern matching type evaluation where `bytearray` was matched against a sequence pattern even though PEP 634 explicitly excludes this case. - - Enhancement: Added support for sequence pattern match type narrowing when the subject type is a simple "object". - - Enhancement: Added support for type narrowing of enums when using pattern matching. - - Enhancement: Added error reporting for usage of type aliases within class pattern matching statements that generate runtime exceptions. - - Behavior Change: Changed the printed type of a ParamSpec signature to avoid the use of synthesized parameter names "\_\_p0", etc. Instead, the parameter names are omitted in the signature consistent with the emerging standard for the improved callable syntax. - - Enhancement: Added support for explicit specialization of generic classes that include a ParamSpec. This is defined in PEP 612 but was previously missing. - - Bug Fix: Fixed bug in check for generator return type. A diagnostic was meant to be generated if the declared return type was incorrect for a generator. -- [1.1.179](https://github.com/microsoft/pyright/releases/tag/1.1.179) - - Enhancement: Added support for an unpacked tuple assignment within an instance method when the source of the assignment is the `self` parameter. - - Bug Fix: Fixed false positive error in protocol variance check (in the `reportInvalidTypeVarUse` diagnostic rule) when a protocol class used a ParamSpec. - - Bug Fix: Fixed bug that caused false positive errors when generic callback protocol class used a ParamSpec and a `__call__` method with only two parameters consisting of `P.args` and `P.kwargs`. - - Bug Fix: Fixed bug that resulted in a false positive error when using a generic callback protocol with a ParamSpec where the `__call__` method included a positional-only marker prior to the `P.args` and `P.kwargs` parameters. - - Bug Fix: Fixed a bug that results in false positive error when assigning a source union type to a destination union type. - - Bug Fix: Fixed an internal crash that was caused by infinite recursion. - - Bug Fix: Fixed bug in completion provider that resulted in inappropriate suggestions when typing arguments within a class declaration. - - Bug Fix: Changed type logic for sequence pattern matching to produce `list` rather than `tuple` for star subpatterns. This matches the runtime behavior in Python 3.10. - - Enhancement: Added support for name expressions in `with` statements where the name refers to a variable or parameter with a declared type that corresponds to a context manager class that swallows exceptions. - - Bug Fix: Fixed bug that resulted in a false positive error when a generic class used a specialized version of itself parameterized with one of its own type parameters. - -## 2021.10.1 (14 October 2021) - -Notable changes: - -- A bug in the import completion that prevented some absolute imports from being suggested has been fixed. -- Variables named `match` no longer cause a parser error when used in a slice expression. - ([pylance-release#1911](https://github.com/microsoft/pylance-release/issues/1911)) -- `TypedDict` completions now work correctly in `dict` literals with more than one key-value pair. - ([pylance-release#1920](https://github.com/microsoft/pylance-release/issues/1920) -- The bundled stubs for pandas, django and openpyxl have been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.176 to 1.1.178, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Enhancement: Added support for an unpacked tuple assignment within an instance method when the source of the assignment is the `self` parameter. -- [1.1.178](https://github.com/microsoft/pyright/releases/tag/1.1.178) - - Bug Fix: Fixed false positive error that occurred when importing a symbol in a `from x import y` statement that referred to a chain of imports and was eventually resolved to a native library (e.g. ".pyd" or ". so" file). - - Bug Fix: Added missing check for type compatibility between callables where the destination type includes a default argument for a parameter but the source type does not. - - Bug Fix: Fixed bug that caused incorrect evaluation of inferred return type based on inferred type of unannotated "self" or "cls" parameter. - ([pylance-release#1927](https://github.com/microsoft/pylance-release/issues/1927)) - - Enhancement: Added support for "narrowing" of TypedDict instances on assignment when the TypedDict defines entries that are not required but are supplied. - ([pylance-release#1926](https://github.com/microsoft/pylance-release/issues/1926)) - - Behavior Change: Changed the interpretation of a property declared within a protocol class. It was previously interpreted only as a property (i.e. classes compatible with the protocol must implement a property of the same name). Compatible classes are now able to declare an attribute whose type is compatible with the property getter. Access to the property from the protocol class as a class variable is no longer allowed. - ([pylance-release#1915](https://github.com/microsoft/pylance-release/issues/1915)) - - Enhancement: Improved error message for improper use of a module as a type argument. - - Bug Fix: Fixed a bug in import resolution logic that resulted in incorrect resolution of a symbol in the presence of wildcard imports that allowed for multiple resolution paths, some of them cyclical. Pyright previously gave up when it detected a cycle rather than using a different (non-cyclical) resolution path. - - Bug Fix: Improved parser's detection of "match" as a soft keyword versus some other usage of a symbol named "match". - ([pylance-release#1911](https://github.com/microsoft/pylance-release/issues/1911)) - - Bug Fix: Fixed bug that resulted in a false negative when a TypedDict value was assigned to a protocol that included attributes that matched the TypedDict keys. - - Bug Fix: Fixed bug that resulted in false positive when a function is used in an `==` or `!=` binary expression. - - Bug Fix (from pylance): Fixed bug in import completions for parent directory resolution. -- [1.1.177](https://github.com/microsoft/pyright/releases/tag/1.1.177) - - Bug Fix: Fixed bug in stub generation logic. It wasn't properly handling module paths with more than a single ".", such as "google.cloud.storage". - - Bug Fix: Fixed false positive error in certain cases where type variable was bound to a union. - - Enhancement: Implemented check for an attempt to subclass an Enum class that defines one or more enumerated values. This condition generates a runtime exception. - - Enhancement: Type aliases in the printed form of a union type are retained when aliased types are combined in a union. - - Bug Fix: Fixed bug in completion provider's handling of key completions for TypedDicts. - ([pylance-release#1920](https://github.com/microsoft/pylance-release/issues/1920)) - - Bug Fix: Fixed false positive type evaluation error when constrained TypeVar is assigned to a union that contains a compatible constrained TypeVar. - - Bug Fix: Added code to work around the circular definition found in the typeshed stub that defines the os.scandir function. - ([pylance-release#1918](https://github.com/microsoft/pylance-release/issues/1918)) -- [1.1.176](https://github.com/microsoft/pyright/releases/tag/1.1.176) - - Enhancement: Exempted check for unsafe access to TypedDict key if it's within a context manager. It was previously exempted if included in a `try` block, but some prefer to use a context manager to catch exceptions. - - Behavior Change: Bumped pyright's default Python version from 3.9 to 3.10. - - Enhancement: Added support for "bare" `ClassVar` annotations. - - Enhancement: Updated to the latest version of typeshed stubs. - - Enhancement: Added new "--warnings" command-line option that generates an exit code of 1 if one or more warnings are emitted. By default, only errors generate an exit code of 1. - - Bug Fix: Fixed bug that resulted in a "unknown member of module" error if the member referred to a submodule that was imported privately from another module but that submodule was also explicitly imported. For example, if a module imports both `a` and `a.b` and then uses the symbol `a.b.c`. - - Enhancement: Added new diagnostic check "reportMissingParameterType" that checks for function and method input parameters that are missing a type annotation. - - Enhancement: Added support for new type guard pattern: `x[I] is None` and `x[I] is not None` where `x` is a tuple or union of tuples with known lengths and entry types and `I` is an integer. - - Enhancement: Enhanced the stub generation logic to emit `__all__ = ...` and `__all__ += ...` statements when they appear in the module scope and are not within a conditional (if/else) block. - -## 2021.10.0 (6 October 2021) - -Notable changes: - -- Return type inference is now skipped for high-complexity unannotated functions, which prevents hangs in `sympy`, `scipy`, and other unannotated libraries. - ([pylance-release#946](https://github.com/microsoft/pylance-release/issues/946), [pylance-release#1890](https://github.com/microsoft/pylance-release/issues/1890), [pylance-release#1895](https://github.com/microsoft/pylance-release/issues/1895)) -- The bundled stubs for pandas have been updated. -- Pylance's copy of typeshed has been updated. - ([pylance-release#1909](https://github.com/microsoft/pylance-release/issues/1909)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.173 to 1.1.175, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Enhancement: Updated typeshed stubs to the latest. - - Enhancement: Added support for "bare" ClassVar annotations. - - Enhancement: Bumped pyright's default Python version from 3.9 to 3.10. - - Behavior Change: Exempted check for unsafe access to TypedDict key if it's within a context manager. It was previously exempted if included in a `try` block, but some prefer to use a context manager to catch exceptions. -- [1.1.175](https://github.com/microsoft/pyright/releases/tag/1.1.175) - - This is a "hot fix" release that addresses two regressions introduced in 1.1.174. - - Bug Fix: Reverted a change that broke the use of generic dataclass types. - - Bug Fix: Reverted a change that resulted in a false positive error when subclassing an Enum base class that defined no enumerated values. -- [1.1.174](https://github.com/microsoft/pyright/releases/tag/1.1.174) - - Behavior Change: Modified import resolution logic to handle namespace stub packages. This case isn't explicitly covered by PEP 561, but there is a proposal to amend the PEP to clarify how to handle this case. - - Bug Fix: Fixed bug that resulted in a false negative when dealing with types that are conditioned on constrained or bound TypeVars. - - Bug Fix: Fixed bug that affected a missing type argument for a ParamSpec type parameter. It should be an Unknown type. - - Bug Fix: Fixed bug that resulted in an `Unknown` type appearing in a type evaluation for an unannotated variable that is modified in a loop. - - Enhancement: Added error reporting for an attempt to subclass an Enum class and a duplicate definition of enum members. - - Enhancement: Improved error reporting for index expressions used for non-generic classes. - - Enhancement: Fixed performance issue in stub generation code that caused stub generation to take longer than needed. - - Enhancement: Added performance improvement that skips return type inference for functions whose parameters are not annotated and have a "code flow complexity" beyond a certain threshold. - ([pylance-release#946](https://github.com/microsoft/pylance-release/issues/946), [pylance-release#1890](https://github.com/microsoft/pylance-release/issues/1890), [pylance-release#1895](https://github.com/microsoft/pylance-release/issues/1895)) - - Bug Fix: Fixed bug the resulted in a false positive when an overloaded function is passed as an argument to a function that accepts a callable parameter using generics. - - Bug Fix: Fixed a false positive error when a class with an overloaded constructor is passed as an argument to a callable parameter. - - Bug Fix: Fixed bug in type var matching logic that resulted in a false positive when using a generic class that conforms to a generic protocol and uses that protocol within its own method signatures. - ([pylance-release#1807](https://github.com/microsoft/pylance-release/issues/1807)) -- [1.1.173](https://github.com/microsoft/pyright/releases/tag/1.1.173) - - Bug Fix: Fixed a false positive error with the new union syntax when the LHS expression is an Any or Unknown type. - - Enhancement: Updated typeshed stubs to the latest. - - Bug Fix: Fixed bug in ParamSpec specialization code that can occur when using a generic type alias with a ParamSpec. - - Bug Fix: Fixed false positive error when assigning a callable to a callback protocol that includes a ParamSpec. - - Bug Fix: Fixed bug that resulted in unbound variable condition not being reported if it was in a loop and was assigned conditionally. - - Bug Fix: Fixed bug relating to the use of an `Any` type argument corresponding to a ParamSpec type parameter. - ([pylance-release#1892](https://github.com/microsoft/pylance-release/issues/1892)) - - Bug Fix: Fixed a false positive error when using a generic descriptor class that is parameterized by the `self` or `cls` parameter of the class that allocates the descriptor. - - Enhancement: Added check for inappropriate use of a field annotated with `InitVar`. - - Bug Fix: Fixed bug that resulted in a false positive error when a protocol class used generic type parameters scoped to a method. - -## 2021.9.4 (29 September 2021) - -Notable changes: - -- Completion is now supported for TypedDict keys and values. Thanks to Robert Cragie for this contribution! -- Variables captured by lambdas and functions are now narrowed when they are known to not be reassigned. - ([pylance-release#261](https://github.com/microsoft/pylance-release/issues/261), [pylance-release#1016](https://github.com/microsoft/pylance-release/issues/1016)) -- Auto-imports no longer incorrectly add to `*` import lines. - ([pylance-release#1679](https://github.com/microsoft/pylance-release/issues/1679)) -- The "Add Optional to Type Annotation" quick fix no longer fails to run. - ([pylance-release#1873](https://github.com/microsoft/pylance-release/issues/1873)) -- Pylance's copy of typeshed has been updated. - ([pylance-release#1872](https://github.com/microsoft/pylance-release/issues/1872)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.170 to 1.1.172, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed a false positive error with the new union syntax when the LHS expression is an Any or Unknown type. - ([pylance-release#1886](https://github.com/microsoft/pylance-release/issues/1886)) - - Bug Fix: Fixed bug in ParamSpec specialization code that can occur when using a generic type alias with a ParamSpec. - - Bug Fix: Fixed false positive error when assigning a callable to a callback protocol that includes a ParamSpec. -- [1.1.172](https://github.com/microsoft/pyright/releases/tag/1.1.172) - - Enhancement: Added completion suggestion support for TypedDict keys and values. Thanks to Robert Cragie for this contribution! - - Behavior Change: Changed behavior of reportInvalidTypeVarUse diagnostic check to flag bound type variables used as type arguments within return type annotations. - - Enhancement: Implemented code that applies type narrowing to local variables and parameters when they are captured by an inner-scoped lambda or function and the variable or parameter is not reassigned after the lambda or function along any code flow paths. - - Enhancement: Updated typeshed stubs to the latest. - - Bug Fix: Fixed a bug in ParamSpec handling that resulted in false positives when a callable type containing a ParamSpec was assigned to another callable type containing a ParamSpec. - - Enhancement (from pylance): Improved handling of type checking when files are opened in "single file" mode, rather than opening a project root directory. - - Enhancement (from pylance): Implemented heuristic for detecting import roots within a project. Previously, these all needed to be specified through "extraPaths" settings, but now pyright is smarter about locating these directories automatically. - - Bug Fix: Fixed false positive error when a generic class with a ParamSpec type parameter implements a descriptor protocol. -- [1.1.171](https://github.com/microsoft/pyright/releases/tag/1.1.171) - - Bug Fix: Fixed bug in TypeVarTuple support that prevented the use of an unpacked TypeVarTuple within a type argument list for types other than Tuple or Union. - - Bug Fix: Fixed bug in synthesized `__new__` method for NamedTuple class that caused the constructor of subclasses of the NamedTuple to construct the base class. - - Bug Fix: Fixed bug where a class whose constructor is unannotated was allowed to have explicit generic type arguments. - - Behavior Change: Changed type evaluation behavior for protected instance variables (those that begin with a single underscore) and are assigned a literal value. Previously, the literal type was retained if the `reportPrivateUsage` was enabled. This caused various problems. It was a bad idea because type evaluations should not differ based on diagnostic reporting switches. - - Enhancement: Added logic to report a diagnostic if an instance variable is assigned only via an augmented assignment expression. - - Bug Fix (from pylance): Fixed bug in parser that resulted in incorrect text range for relative module names in import statements. - - Bug Fix: Improved inference of generator statements that involve `await` statements to conform to the runtime behavior of the CPython intepreter. - - Bug Fix: Fixed bug that caused inconsistent handling of dataclasses that use the `@dataclass` decorator and derive from abstract base classes. - - Bug Fix: Fixed bug that caused yield expression to be evaluated as "unknown" in some cases when it was contained within a loop. - - Bug Fix: Fixed bug that resulted in incorrect type evaluation for expressions within an `await` statement under some circumstances. - ([pylance-release#1869](https://github.com/microsoft/pylance-release/issues/1869)) - - Behavior Change: Changed code that converts types to textual representation to prepend a tilde ("~") character for the inferred type of a "self" or "cls" parameter. - - Enhancement: Updated typeshed stubs to the latest. - -## 2021.9.3 (22 September 2021) - -Notable changes: - -- A number of IntelliCode bugs have been fixed, including cases where starred entries would disappear when more code is typed. - ([pylance-release#89](https://github.com/microsoft/pylance-release/issues/89)) -- Signature help should no longer trigger when typing a parenthesis in a string. - ([pylance-release#1677](https://github.com/microsoft/pylance-release/issues/1677)) -- Pylance's copy of typeshed has been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.169 to 1.1.170, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed bug in TypeVarTuple support that prevented the use of an unpacked TypeVarTuple within a type argument list for types other than Tuple or Union. - - Bug Fix: Fixed bug in synthesized `__new__` method for NamedTuple class that caused the constructor of subclasses of the NamedTuple to construct the base class. - - Bug Fix: Fixed bug where a class whose constructor is unannotated was allowed to have explicit generic type arguments. - ([pylance-release#1859](https://github.com/microsoft/pylance-release/issues/1859)) - - Behavior Change: Changed type evaluation behavior for protected instance variables (those that begin with a single underscore) and are assigned a literal value. Previously, the literal type was retained if the `reportPrivateUsage` was enabled. This caused various problems. It was a bad idea because type evaluations should not differ based on diagnostic reporting switches. - - Enhancement: Added logic to report a diagnostic if an instance variable is assigned only via an augmented assignment expression. - ([pylance-release#1858](https://github.com/microsoft/pylance-release/issues/1858)) -- [1.1.170](https://github.com/microsoft/pyright/releases/tag/1.1.170) - - Bug Fix (from Pylance): Handle unrooted execution environments (e.g., open file mode), preventing various crashes and oddities. - - Bug Fix (from Pylance): Generate default values in method overload signatures. Previously, we didn't include them, which generated the wrong signature. - - Bug Fix (from Pylance): Use attribute docstrings for type aliases in completion and hover. - - Bug Fix (from Pylance): Modify parser to change the range of parenthesized expressions to their contents. This improves the ranges returned in hovers, document highlight, etc. - - Bug Fix: Improved member access logic to more faithfully match the Python interpreter's behavior when the member is assigned through a class, that member is a class itself, and that class has a metaclass that implements a descriptor protocol. It appears that the interpreter does not call through to the metaclass's `__set__` method in this case, even though it does call its `__get__` method when the member is accessed in the same circumstance. - - Enhancement: Extended reportCallInDefaultInitializer diagnostic check to disallow list, set or dict expressions in default argument expression. - - Bug Fix: Improved `isinstance` and `issubclass` narrowing to handle open-ended tuples passed as the second argument. - - Bug Fix: Fixed false positive error when `namedtuple` constructor is called with a list of field names that includes dynamic (non-literal) expressions. - ([pylance-release#1832](https://github.com/microsoft/pylance-release/issues/1832)) - - Bug Fix: Fixed false positive error where an exception class (as opposed to an exception object) is used in a "from" clause in a "raise" statement. - - Enhancement: Added support for ParamSpec matching when used within a callback protocol. PEP 612 is unclear on whether this should be supported, by pyre (the reference implementation for the PEP) does support it. - - Bug Fix: Fixed false negative error in parser where it did not correctly detect a syntax error when a walrus operator was used in a ternary operator condition expression. - ([pylance-release#1838](https://github.com/microsoft/pylance-release/issues/1838)) - - Bug Fix: Fixed bug that resulted in false negative when bidirectional type inference involved an "expected type" of Any and the type being evaluated was a call expression that returned a generic object as a return value. - - Bug Fix: Fixed infinite recursion bug in hover provider when a symbol referred to both a locally-defined class and an imported symbol. - - Bug Fix: Fixed bug that resulted in false positive when using unpack operator with `self` when `self` refers to a named tuple or a tuple with known length. - - Behavior Change: Allow symbols that are not explicitly re-exported from a stub to be imported into another stub. This change is required to support recent updates to typeshed. - - Enhancement: Updated typeshed stubs to the latest. - -## 2021.9.2 (16 September 2021) - -Notable changes: - -- Method override completions now correctly include default parameters. - ([pylance-release#869](https://github.com/microsoft/pylance-release/issues/869)) -- PEP 258 style attribute docstrings now work on type aliases. - ([pylance-release#1815](https://github.com/microsoft/pylance-release/issues/1815)) -- Parenthesized expressions are now better handled in hover, document highlight, and semantic highlighting. - ([pylance-release#591](https://github.com/microsoft/pylance-release/issues/591)) -- A number of errors and inconsistencies with unrooted environments (like open file mode) have been fixed. - ([pylance-release#1586](https://github.com/microsoft/pylance-release/issues/1586)) -- The docstring for `os.path.splitext` is now correctly handled. - ([pylance-release#1408](https://github.com/microsoft/pylance-release/issues/1408)) -- The bundled stubs for pandas have been updated. -- Pylance's copy of typeshed has been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.166 to 1.1.169, including the following changes: - -- [1.1.169](https://github.com/microsoft/pyright/releases/tag/1.1.169) - - Bug Fix: Improved type narrowing logic for `a is b` pattern where `a` is `self` (or a bound TypeVar) and `b` is an enum literal. - - Bug Fix: Updated reportIncompatibleMethodOverride diagnostic check to special-case dict key names that overlap with method names in the `_TypedDict` class. - - Bug Fix: Improved handling of attribute accesses for classes that inherit from `Any` or an unknown class. - - Enhancement: Added optimization that reduces the time it takes to perform code flow analysis in the presence of if/elf/else statements, try statements, with statements, and ternary expressions. - - Bug Fix: Fixed bug that caused false positive when a bound TypeVar is bound to an instantiable class (e.g. `Type[X]`). - ([pylance-release#1808](https://github.com/microsoft/pylance-release/issues/1808)) -- [1.1.168](https://github.com/microsoft/pyright/releases/tag/1.1.168) - - Bug Fix: Fixed inconsistency in the constraint solver with respect to literal types. They were being retained for most classes but not for tuples. - ([pylance-release#1802](https://github.com/microsoft/pylance-release/issues/1802)) - - Bug Fix: Fixed bug in parser that resulted in a false negative when a `for` keyword (in either a `for` statement or a list comprehension) was followed immediately by `in` keyword. - ([pylance-release#1805](https://github.com/microsoft/pylance-release/issues/1805)) - - Behavior Change: Enforce PEP 484 rules for symbols that are imported by a stub file but are not meant to be re-exported. These symbols are no longer resolved when accessed outside of the module, nor are they included in completion suggestions or other language service providers. - - Behavior Change: Modified logic for private symbols (whose names begin with an underscore) exported from a stub file or a py.typed source file; if the symbol is explicitly included in `__all__` it is not considered private. - - Enhancement: Added reportPrivateImportUsage diagnostic rule, which reports usage of a symbol from a py.typed library that is not intended to be re-exported by the library's author. The rule is on by default in basic type checking mode but can be disabled. Completion provider no longer offers these symbols as completion suggestions. - - Bug Fix: Fixed bug that resulted in incorrect type evaluation when co-dependent variables were assigned in a loop using tuple assignments (e.g. `a, b = b, a + 1`). - - Bug Fix: Improved `isinstance` and `issubclass` support to handle the case where the type of the second argument is a union where the subtypes includes both tuples of class types and non-tuples. - ([pylance-release#1809](https://github.com/microsoft/pylance-release/issues/1809)) - - Enhancement: Updated typeshed to latest version -- [1.1.167](https://github.com/microsoft/pyright/releases/tag/1.1.167) - - Bug Fix: Fixed regression that caused a false positive error when an overload implementation annotates a parameter with a union that includes a type variable. - - Enhancement: Added support for type annotations that are enclosed in triple quotes. - - Bug Fix: Fixed false positive error when a class declaration inherits from `Protocol` and `Generic`. - - Bug Fix: Fixed bug that resulted in a missed error (false negative) when comparing an overload implementation with an overload signature that uses a generic return type. - - Enhancement: Added support for a `super()` call made within a class method or instance method where the `cls` or `self` parameter is explicitly annotated (e.g. with a bound type variable). - - Enhancement: Extended isinstance type narrowing logic to support `Callable`. - - Enhancement (contribution from Matt Hillsdon): Reduced cascading parser errors when a colon is omitted before an indented code block. - - Bug Fix: Fixed incorrect type evaluation for ternary, list and dictionary expressions in certain cases where the expression is within a loop. - - Bug Fix: Fixed bug in control flow engine that resulted in incomplete types in certain cases that involved loops and circular type dependencies. - -## 2021.9.1 (8 September 2021) - -Notable changes: - -- Docstrings are no longer inherited from builtins like `object`. - ([pylance-release#653](https://github.com/microsoft/pylance-release/issues/653), [pylance-release#1047](https://github.com/microsoft/pylance-release/issues/1047), [pylance-release#1205](https://github.com/microsoft/pylance-release/issues/1205)) -- Builtin module variables (like `__file__` and `__package__`) are now correctly highlighted. - ([pylance-release#964](https://github.com/microsoft/pylance-release/issues/964)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.165 to 1.1.166, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed false positive error when a class declaration inherits from `Protocol` and `Generic`. - - Enhancement: Added support for type annotations that are enclosed in triple quotes. - - Bug Fix: Fixed regression that caused a false positive error when an overload implementation annotates a parameter with a union that includes a type variable. - - Bug Fix: Fixed bug that resulted in a missed error (false negative) when comparing an overload implementation with an overload signature that uses a generic return type. - ([pylance-release#1778](https://github.com/microsoft/pylance-release/issues/1778)) - - Enhancement: Added support for a super() call made within a class method or instance method where the `cls` or `self` parameter is explicitly annotated (e.g. with a bound type variable). - ([pylance-release#1779](https://github.com/microsoft/pylance-release/issues/1779)) - - Enhancement: Extended isinstance type narrowing logic to support `Callable`. -- [1.1.166](https://github.com/microsoft/pyright/releases/tag/1.1.166) - - Bug Fix: Fixed a false positive error (and crash) when a walrus operator (assignment expression) is used within a list comprehension which is passed as an argument to a function decorator. - - Bug Fix: Fixed stack overflow crash in type analyzer. - ([pylance-release#1751](https://github.com/microsoft/pylance-release/issues/1751)) - - Bug Fix: Fixed incorrect evaluation of recursive type alias whose definition uses a `TypeAlias` annotation. - - Enhancement: Improved error messages for type argument count mismatch; they were referring to a "class", but sometimes they were used for type aliases as well. - - Bug Fix: Fixed bug that resulted in the incorrect specialization of a type alias that includes a ParamSpec. - - Bug Fix: Fixed bug in type verifier that resulted in incorrect reporting of an unknown type when a type alias was defined using a `TypeAlias` annotation. - - Enhancement: Extended dataclass_transform mechanism to support implicit `init` argument values for field descriptors. - - Bug Fix: Fixed false native that incorrectly allowed a union type to be assigned to a constrained TypeVar. - - Bug Fix: Improved handling of class properties (i.e. properties that have @classmethod applied to them). The `cls` parameter for the property method is now properly passed the class as an argument. - - Enhancement (contribution by Marc Mueller): Adjust auto-import sorting to better match isort. - - Bug Fix: Fixed bug in overlapping overload detection logic that resulted in false positives in some cases. - - Bug Fix: Fixed a bug that resulted in unsolved TypeVars in certain edge cases involving function type compatibility checks. - - Bug Fix: Improved handling of constrained type variables that use a union in one or more constraints. - - Bug Fix: Fixed bug that resulted in a false positive error when a call involves overloads and one or more of the arguments involves another call expression whose type is generic, and therefore influenced by bidirectional inference context. - -## 2021.9.0 (1 September 2021) - -Notable changes: - -- Docstrings for the `decimal` module are now supported. - ([pylance-release#1350](https://github.com/microsoft/pylance-release/issues/1350)) -- The `None`, `True`, `False`, and `__debug__` builtin constants are now correctly colorized within quoted type annotations. - ([pylance-release#1039](https://github.com/microsoft/pylance-release/issues/1039)) -- Completions for keywords that aren't available in the currently selected version of Python will no longer be offered. - ([pylance-release#1724](https://github.com/microsoft/pylance-release/issues/1724)) -- Import completions will no longer include imports which will not resolve if accepted. - ([pylance-release#1046](https://github.com/microsoft/pylance-release/issues/1046)) -- The bundled stubs for pandas have been updated. -- Pylance's copy of typeshed has been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.163 to 1.1.165, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed a false positive error (and crash) when a walrus operator (assignment expression) is used within a list comprehension which is passed as an argument to a function decorator. - ([pylance-release#1745](https://github.com/microsoft/pylance-release/issues/1745)) -- [1.1.165](https://github.com/microsoft/pyright/releases/tag/1.1.165) - - Bug Fix: Fixed false positive error due to incorrect type of the `__doc__` instance variable. It should be `str | None`, but it was hard-coded to be `str`. - - Bug Fix: Fixed a bug that resulted in a false positive type error when an instance variable's type depended on itself in a circular reference within a loop. - - Bug Fix: Fixed false positive error when a binary operation uses `None` on the LHS and the RHS is a type that accepts `None` to a reverse operator overload method. - - Bug Fix: Improved logic that determines whether a type is iterable. The old logic didn't support unions of iterable types. - - Bug Fix: Improved handling of call expressions to functions that return NoReturn. - - Bug Fix: Fixed bug in recently-added type check for inherited class variable type. The check was not properly specializing the base class type. - - Enhancement: Updated typeshed stubs to the latest version. - - Enhancement: Added performance optimization for code flow analysis within loops. - ([pylance-release#1686](https://github.com/microsoft/pylance-release/issues/1686)) - - Enhancement (from Pylance): Don't offer keywords as completion suggestions if they are not valid for the currently-selected version of Python. - - Enhancement: Added check for subscripted form of `asyncio.Task` when used in certain contexts prior to Python 3.9 that generate runtime exceptions. -- [1.1.164](https://github.com/microsoft/pyright/releases/tag/1.1.164) - - Bug Fix: Fixed false positive error when assigning an `Any` value to a member of an object that has a `__set__` method. - - Enhancement: Eliminated confusing error message when nested argument expression contains a type error. - - Enhancement: Improved bidirectional inference logic for lambda expressions to better handle the situation where the "expected type" is a union that contains multiple callable types. - - Behavior Change: Suppressed the "obscured symbol" diagnostic check when the name of the symbol is `_`. This symbol is used in the single dispatch pattern documented in PEP 443. - - Bug Fix (from Pylance): Support eggs that are not in zip files but are instead in folders. - - Enhancement (from Pylance): Support pth file in extra paths. - - Bug Fix: Fixed false positive error when a constrained TypeVar is used as the second argument to an isinstance or subclass call. - ([pylance-release#1730](https://github.com/microsoft/pylance-release/issues/1730)) - - Bug Fix: Fixed false positive error that occurs when a `@final` class derives from an abstract base class that defines no abstract methods. - ([pylance-release#1732](https://github.com/microsoft/pylance-release/issues/1732)) - - Bug Fix: Fixed false positive error related to overload implementation checks when the return type of the implementation contains a Tuple annotation with a TypeVar as a type argument. - - Enhancement: Added special-case handling for `tuple[()]` type when determining the iterated type. In this case, it can be safely evaluated as `Never`. - ([pylance-release#1736](https://github.com/microsoft/pylance-release/issues/1736)) - - Enhancement: Improved error reporting for assignments to class variable assignments within a child class where the assigned value doesn't match the type of the same-named class variable declared in a parent class. - ([pylance-release#1726](https://github.com/microsoft/pylance-release/issues/1726)) - -## 2021.8.3 (25 Aug 2021) - -Notable changes: - -- A bug that prevented navigation to directory-based eggs has been fixed. ([pylance-release#1685](https://github.com/microsoft/pylance-release/issues/1685)) -- Corrupt eggs and zips will no longer cause a crash. ([pylance-release#1692](https://github.com/microsoft/pylance-release/issues/1692)) -- Triple quote auto-close has been disabled for multi-line selections. ([pylance-release#1716](https://github.com/microsoft/pylance-release/issues/1716)) -- The bundled stubs for django and pandas have been updated. -- pth files in directories in extraPaths will now be processed for additional paths. ([pylance-release#1709](https://github.com/microsoft/pylance-release/issues/1709)) -- Pylance's copy of typeshed has been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.162 to 1.1.163, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed false positive error when assigning an Any value to a member of an object that has a `__set__` method. - - Enhancement: Eliminated confusing error message when nested argument expression contains a type error. ([pylance-release#1705](https://github.com/microsoft/pylance-release/issues/1705)) - - Enhancement: Improved bidirectional inference logic for lambda expressions to better handle the situation where the "expected type" is a union that contains multiple callable types. - - Enhancement: Suppressed the "obscured symbol" diagnostic check when the name of the symbol is `_`. This symbol is used in the single dispatch pattern documented in PEP 443. -- [1.1.163](https://github.com/microsoft/pyright/releases/tag/1.1.163) - - Bug Fix: Fixed false positive error relating to the use of a `*P.args` or `**P.kwargs` parameter as an iterable value (where `P` is a `ParamSpec`). - - Bug Fix: Fixed false positive error due to incomplete tracking of incomplete types during code flow evaluation. - - Bug Fix: Fixed bug with ParamSpec matching in the case where the matched function contains parameters with default values or `*args` / `**kwargs`; - - Bug Fix: Fixed false positive error that results when defining a property setter within an abstract base class and the property setter references a type that has a circular reference to the class. - - Bug Fix: Fixed a false positive error when handling *args and \*\*kwargs arguments when the function contains *P.args and \*\*P.kwargs parameters. - - Behavior Change (from Pylance): When inserting new auto-import symbol, sort by symbol type to match isort default behavior. - - Bug Fix: Fixed comparison operators so they use the proper opposite when looking for a type match. For example, the opposite of `__lt__` is `__ge__` rather than `__gt__`. - - Bug Fix: Fixed bug that caused inappropriate type narrowing if a comparison operator was used within an argument for a call expression which was, in turn, used within an `if` condition expression. - - Behavior Change: Changed the interpretation of a "callback protocol" to encompass protocols that include a `__call__` method in addition to other attributes. - - Bug Fix: Fixed false positive error related to `with` statements with an expression enclosed in single parentheses. ([pylance-release#1670](https://github.com/microsoft/pylance-release/issues/1670)) - - Bug Fix: Fixed bug in type var matching when the a `cls` parameter is annotated with type `Type[T]` and `T` is bound to a protocol class. - - Bug Fix: Fixed bug that resulted in `# type: ignore` comments to be ignored in the event that we hit the heap high-water mark and emptied internal caches. - - Enhancement: Updated to latest version of typeshed stubs. - -## 2021.8.2 (19 Aug 2021) - -Notable changes: - -- Attribute doc strings are now supported in hover tooltips. -- Diagnostics and other language features now work in untitled files and files manually marked as Python. -- The "remove unused imports" code action now handles multiple statements on the same line properly. ([pylance-release#1547](https://github.com/microsoft/pylance-release/issues/1547)) -- Support for native modules stored in `dist-packages` has been improved, including `numpy` when installed globally on Debian-based Linux distributions. -- Support for `cv2` has been improved. ([pylance-release#1339](https://github.com/microsoft/pylance-release/issues/1339)), ([pylance-release#1609](https://github.com/microsoft/pylance-release/issues/1609)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.161 to 1.1.162, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed false positive error relating to the use of a `*P.args` or `**P.kwargs` parameter as an iterable value (where `P` is a `ParamSpec`). - - Bug Fix: Fixed false positive error due to incomplete tracking of incomplete types during code flow evaluation. - - Bug Fix: Fixed bug with ParamSpec matching in the case where the matched function contains parameters with default values or `*args` / `**kwargs`; - - Bug Fix: Fixed false positive error that results when defining a property setter within an abstract base class and the property setter references a type that has a circular reference to the class. ([pylance-release#1683](https://github.com/microsoft/pylance-release/issues/1683)) - - Bug Fix: Fixed a false positive error when handling `*args` and `**kwargs` arguments when the function contains `*P.args` and `**P.kwargs` parameters. - - Bug Fix: Fixed comparison operators so they use the proper opposite when looking for a type match. For example, the opposite of `__lt__` is `__ge__` rather than `__gt__`. - - Bug Fix: Fixed bug that caused inappropriate type narrowing if a comparison operator was used within an argument for a call expression which was, in turn, used within an `if` condition expression. - - Enhancement: Sort imports by import symbol type when auto-imports are applied. ([pylance-release#1675](https://github.com/microsoft/pylance-release/issues/1675)) -- [1.1.162](https://github.com/microsoft/pyright/releases/tag/1.1.162) - - Enhancement: Added support for unpacking of objects that derive from known-length tuples. This includes named tuples. - - Enhancement: Improved match statement code flow logic to handle the case where a pattern is exhausted prior to the last case statement. - - Enhancement: Improved "implied else" code flow logic to handle nested "implied else" constructs. - - Bug Fix: Fixed regression that affected type narrowing of subscript expressions for TypedDict objects. - - Bug Fix: Fixed false positive error caused by inappropriate method binding for instance methods. - - Enhancement (from pylance): Added more support in completion provide for literal expressions. - - Bug Fix: Changed registration of language server to allow for URI types other than files. This allows pyright to be activated when an untitled file is identified as a python source file. - - Bug Fix: Fixed false positive error when assigning to a subscript expression where the base type is a TypedDict. - - Bug Fix: Fixed false positive error when "\*P.args" parameter (where P is a ParamSpec) is passed as an argument to another function that accepts "P.args". - - Bug Fix: Added support for member access expressions where the attribute contains a class whose metaclass implements a descriptor protocol. - - Bug Fix: Fixed crash due to infinite recursion when a protocol class included a property getter that returned an instance of the same protocol class. ([pylance-release#1671](https://github.com/microsoft/pylance-release/issues/1671)) - - Enhancement: Improved the readability of error messages related to protocol type mismatches. - - Bug Fix (from pylance): Fixed diagnostics for source files that are not on disk (e.g. "untitled" new documents). - - Enhancement (from pylance): Added support for attribute docstrings in hover text. - -## 2021.8.1 (11 Aug 2021) - -Notable changes: - -- More literal completions are now supported. ([pylance-release#1497](https://github.com/microsoft/pylance-release/issues/1497)) -- The bundled pandas stubs have been updated. -- Pylance's copy of typeshed has been updated. -- Creating new file in open file mode no longer causes a hang. - -In addition, Pylance's copy of Pyright has been updated from 1.1.159 to 1.1.161, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed false positive error caused by inappropriate method binding for instance methods. - - Bug Fix: Fixed regression that affected type narrowing of subscript expressions for TypedDict objects. - - Enhancement: Improved "implied else" code flow logic to handle nested "implied else" constructs. - - Enhancement: Improved match statement code flow logic to handle the case where a pattern is exhausted prior to the last case statement. - - Enhancement: Added support for unpacking of objects that derive from known-length tuples. This includes named tuples. ([pylance-release#1658](https://github.com/microsoft/pylance-release/issues/1658)) -- [1.1.161](https://github.com/microsoft/pyright/releases/tag/1.1.161) - - Bug Fix: Fixed bug in declaration provider that caused declaration not to be found when it referred to a metadata method. - - Bug Fix: Fixed bug that resulted in a false when evaluating nested lambdas (i.e. a lambda that returns a lambda). - - Enhancement: Added support for bidirectional type inference for assignment expressions where the LHS is an index expression that indexes into a TypedDict instance. ([pylance-release#1645](https://github.com/microsoft/pylance-release/issues/1645)) - - Enhancement: Added support for new type narrowing pattern for discriminating among tuples. The pattern is `V[I] == L` or `V[I] != L` where `I` is an integer literal, `L` is another literal value, `V` is a tuple with a known length and a type at index `I` that is declared as a literal type. - - Enhancement: Improved logging for import failures. The previous code was printing the same log message for both stub and non-stub package resolution attempts which resulted in seemingly redundant messages. - - Enhancement: Added heuristic to allow proper inference of list expressions when used as the RHS operand in an expression of the form `my_list + [x]`. - - Bug Fix: Fixed a bug that was masking some error messages when multiple errors were reported for the same range and their message started with the same 25 characters. - - Enhancement: Changed method and attribute override compatibility checks to check for inappropriate overrides of all base classes in the multi-inheritance case. Previously, this check used MRO, so some override mismatches were left unreported if they were obscured by another base class. The change also affects `@final` checks. ([pylance-release#1495](https://github.com/microsoft/pylance-release/issues/1495)) - - Enhancement: Added support for descriptor protocols defined on metaclasses. - - Bug Fix: Fixed a bug that caused methods in generic classes to be specialized twice when accessed through a member access expression. - - Bug Fix: Fixed false positive error when accessing `__name__` instance variable in a class that derives from `type`. - - Enhancement: Updated typeshed stubs to the latest version. -- [1.1.160](https://github.com/microsoft/pyright/releases/tag/1.1.160) - - Enhancement: Updated the "type(x) is y" type narrowing logic to handle the negative case when the class type is "final". - - Bug Fix: Fixed bug that prevented "rename symbol" from working when in single-file mode. Rather than failing, it will now perform a rename only within a single file. - - Enhancement: Updated typeshed stubs to the latest version. - - Bug Fix: Fixed false positive that occurs when defining an abstract dataclass and one of its fields refers to the class itself in its type annotation. - - Bug Fix: Fixed bug in `x is None` type narrowing logic when `x` was typed as `object`. - - Bug Fix: Fixed bug that verified that a protocol class used within an isinstance call is runtime_checkable. It was skipping this check when the first argument to isinstance was an Any or Unknown type. - - Bug Fix: Fixed bug where a union of Literal[False] and Literal[True] were being coalesced into bool inappropriately in the case where they were conditional types that came from a constrained TypeVar. - - Bug Fix: Removed the assumption that all top-level modules in typeshed third-party stubs are unique. The typeshed folder structure allows multiple packages to have the same top-level module. - - Bug Fix: Fixed bug in the handling of generic recursive type aliases. - - Enhancement: Implemented support for new Python 3.10 dataclass features: `kw_only` parameter for `dataclass` and `field` and `KW_ONLY` separator. ([pylance-release#1626](https://github.com/microsoft/pylance-release/issues/1626)) - -## 2021.8.0 (4 Aug 2021) - -Notable changes: - -- Performance of completions for huggingface/transformers has been improved by adding partial stubs. ([pylance-release#1258](https://github.com/microsoft/pylance-release/issues/1258)) -- Variable renaming now works in open file mode. ([pylance-release#1300](https://github.com/microsoft/pylance-release/issues/1300)) -- Pylance's copy of typeshed has been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.158 to 1.1.159, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed bug in x is None type narrowing logic when x was typed as `object`. - - Bug Fix: Fixed false positive that occurs when defining an abstract dataclass and one of its fields refers to the class itself in its type annotation. - - Enhancement: Updated typeshed stubs to the latest version. - - Bug Fix: Fixed bug that prevented "rename symbol" from working when in single file mode. Rather than failing, it will now perform a rename only within a single file. ([pylance-release#1300](https://github.com/microsoft/pylance-release/issues/1300)) - - Enhancement: Updated the "type(x) is y" type narrowing logic to handle the negative case when the class type is "final". -- [1.1.159](https://github.com/microsoft/pyright/releases/tag/1.1.159) - - Bug Fix: Fixed bug that could lead to an internal stack overflow when a generic value was used as an argument for a function or class decorator. - - Enhancement: Added support in literal comparison type narrowing to filter out comparisons to "None" in positive case. - - Bug Fix: Fixed bug in parser where it was too permissive in allowing keywords to be used as identifiers. The Python interpreter is less permissive, so pyright's parser should match. - - Bug Fix: Fixed several bugs that caused crashes (dereference of undefined variable) in certain circumstances. - - Enhancement: Added a new log error for the case where enumeration of files within the workspace is taking longer than 10 seconds. - - Bug Fix: Fixed bug in tokenizer which treated 'constructor' as a keyword. - - Bug Fix: Fixed bug in "type(x) is y" type narrowing logic to handle the case where x is an instance of a generic class. - - Enhancement: Added check for illegal trailing comma in "from x import y," statement. This generates a syntax error at runtime. - - Enhancement: Added check for illegal use of "Protocol" as a type argument. - - Enhancement: Implemented new check for a class that is decorated with `@final` but does not implement all abstract methods from abstract classes that it derives from. - - Enhancement: Added check for inappropriate use of `ClassVar` that will generate runtime exceptions. - - Enhancement: Added logic to enforce protocol mismatches if a member in the protocol is marked "Final" and the class is not (or vice versa). - - Behavior Change: Modified assignment type narrowing for index expressions so it applies only to built-in types. This eliminates incorrect type inference when using a class that has assymetric `__setitem__` and `__getitem__` methods. - - Enhancement: Fixed false positive error when `@property` is combined with `@functools.cache`. - -## 2021.7.7 (28 July 2021) - -This is a hotfix release, fixing a tokenizer bug that caused identifiers called "constructor" to be mishandled. -([pylance-release#1618](https://github.com/microsoft/pylance-release/issues/1618)) - -## 2021.7.6 (28 July 2021) - -Notable changes: - -- PEP 258 style "attribute docstrings" are now supported. - ([pylance-release#1576](https://github.com/microsoft/pylance-release/issues/1576)) -- Attribute assignments that use reserved keywords now correctly cause a parser error. -- A number of bugs that caused crashes in certain circumstances have been fixed. - ([pylance-release#1597](https://github.com/microsoft/pylance-release/issues/1597)) -- The bundled stubs for django and pandas have been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.157 to 1.1.158, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Enhancement: Added a new log error for the case where enumeration of files within the workspace is taking longer than 10 seconds. - - Bug Fix: Fixed several bugs that caused crashes (dereference of undefined variable) in certain circumstances. - - Bug Fix: Fixed bug in parser where it was too permissive in allowing keywords to be used as identifiers. The Python interpreter is less permissive, so pyright's parser should match. - - Enhancement: Added PEP 570 to the list of supported type features. - - Enhancement: Added support in literal comparison type narrowing to filter out comparisons to "None" in positive case. - - Bug Fix: Fixed bug that could lead to an internal stack overflow when a generic value was used as an argument for a function or class decorator. - ([pylance-release#1597](https://github.com/microsoft/pylance-release/issues/1597)) -- [1.1.158](https://github.com/microsoft/pyright/releases/tag/1.1.158) - - Bug Fix: Fixed handling of generic type aliases with missing type arguments used in type annotations when the type alias itself is a member access expression. - - Enhancement: Added new diagnostic check (controlled by the existing "reportUnsupportedDunderAll" config switch) that reports an issue with a name specified in `__all__` if that symbol does not exist at the module level. - - Enhancement: Updated typeshed stubs to latest version. - - Enhancement: Added support for nested callables that use a ParamSpec at each level. - - Bug Fix: Fixed false positive error related to the use of the `Final` keyword when annotating attributes within a dataclass. - - Bug Fix: Fixed bug in TypeVar matching logic that allowed Type[T] to be matched against an instance of a type. - - Behavior Change: Changed type checking logic for functions to allow a function with a return result of `NoReturn` to match against any other return type. - - Bug Fix: Fixed false positive error in parser dealing with f-strings with string literals within the f-string expression that, in turn, have quotes within the string literal. - - Enhancement: Added support for "attribute docstrings" (defined in PEP 258) in completion provider. - ([pylance-release#1576](https://github.com/microsoft/pylance-release/issues/1576)) - - Bug Fix: Fixed bug in type analyzer related to a TypeVar with a bound type that is a union. - -## 2021.7.5 (22 July 2021) - -Notable changes: - -- Triple-quote closing now works correctly in LiveShare with multiple cursors. - ([pylance-release#1583](https://github.com/microsoft/pylance-release/issues/1583)) -- A parser bug with f-strings containing nested strings has been fixed. - ([pylance-release#1584](https://github.com/microsoft/pylance-release/issues/1584)) -- A new "reportUninitializedInstanceVariable" diagnostic check looks for instance variables that are not initialized in the class body or constructor. -- The bundled stubs for django and pandas have been updated. -- Pylance's copy of typeshed has been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.156 to 1.1.157, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Behavior Change: Changed type checking logic for functions to allow a function with a return result of `NoReturn` to match against any other return type. - - Bug Fix: Fixed false positive error in parser dealing with f-strings with string literals within the f-string expression that, in turn, have quotes within the string literal. - - Bug Fix: Fixed bug in TypeVar matching logic that allowed `Type[T]` to be matched against an instance of a type. - - Bug Fix: Fixed false positive error related to the use of the Final keyword when annotating attributes within a dataclass. - ([pylance-release#1574](https://github.com/microsoft/pylance-release/issues/1574)) - - Enhancement: Added support for nested callables that use a ParamSpec at each level. - - Enhancement: Updated typeshed stubs to latest version. - - Enhancement: Updated docs for reportUnsupportedDunderAll. - - Enhancement: Added new diagnostic check (controlled by the existing "reportUnsupportedDunderAll" config switch) that reports an issue with a name specified in `__all__` if that symbol does not exist at the module level. - - Bug Fix: Fixed handling of generic type aliases with missing type arguments used in type annotations when the type alias itself is a member access expression. - ([pylance-release#1565](https://github.com/microsoft/pylance-release/issues/1565)) -- [1.1.157](https://github.com/microsoft/pyright/releases/tag/1.1.157) - - Bug Fix: Fixed false positive error when calling an object that has an `Any` in its inheritance chain. - - Enhancement: Improved support for `callable` type narrowing in cases where the type is a non-callable instance, but a subtype could be callable. - - Enhancement: Improved handling of `callable` type narrowing when the type involves a constrained type variable. - - Enhancement: Added support for ParamSpec's within a Protocol, which is supported in Python 3.10. - - Enhancement: Improved handling of `isinstance` type narrowing logic when the type being narrowed is a callable. - - Bug Fix: Fixed recent regression in type evaluator that occurs when a generic (non-specialized) type is assigned to another generic type and the type parameter(s) for the generic type are invariant. - - Bug Fix: Fixed bug that caused diagnostics from an open file not to be cleared after closing that file if it was not saved. - - Enhancement (from pylance): Improved completion suggestions for literals when used as dictionary keys. - - New Feature: Implemented "reportUninitializedInstanceVariable" diagnostic check that looks for instance variables that are not initialized in the class body or constructor. - - Bug Fix: Fixed false positive error due to bug in constraint solver related to the handling of `Type[T]` when `T` is a constrained type variable. - - Bug Fix: Fixed false positive error related to the use of a recursive type alias when `from __future__ import annotations` was in effect. - - Bug Fix: Fixed false negative related to augmented assignment expressions when operand was a union type and a subset of the union subtypes were not supported for the operation. - -## 2021.7.4 (15 July 2021) - -This is a hotfix release, fixing an error message that could appear when the "add to extraPaths" code action was used. - -## 2021.7.3 (14 July 2021) - -Notable changes: - -- Fixed bug that caused diagnostics from an open file not to be cleared after closing that file if it was not saved. - ([pylance-release#1514](https://github.com/microsoft/pylance-release/issues/1514)) -- Fixed document highlight regression when selecting a class attribute. - ([pylance-release#1500](https://github.com/microsoft/pylance-release/issues/1500)) -- Dictionary key completions now support non-string literals. - ([pylance-release#1493](https://github.com/microsoft/pylance-release/issues/1493)) -- The bundled stubs for django and pandas have been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.155 to 1.1.156, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed bug that caused diagnostics from an open file not to be cleared after closing that file if it was not saved. - ([pylance-release#1514](https://github.com/microsoft/pylance-release/issues/1514)) - - Bug Fix: Fixed recent regression in type evaluator that occurs when a generic (non-specialized) type is assigned to another generic type and the type parameter(s) for the generic type are invariant. - ([pylance-release#1526](https://github.com/microsoft/pylance-release/issues/1526)) - - Enhancement: Improved handling of isinstance type narrowing logic when the type being narrowed is a callable - - Enhancement: Added support for ParamSpec's within a Protocol, which is supported in Python 3.10. - - Enhancement: Improved support for callable type narrowing in cases where the type is a non-callable instance, but a subtype could be callable. - - Bug Fix: Fixed false positive error when calling an object that has an Any in its inheritance chain. -- [1.1.156](https://github.com/microsoft/pyright/releases/tag/1.1.156) - - Bug Fix: Fixed false positive error related to member access of optional type. - - Bug Fix: Fixed false positive error related to an escape sequence (backslash) used in an f-string format specifier. - - Bug Fix: Fixed false positive error with f-string format specifier that contains an expression within braces and also a colon specifier. - - Enhancement: Updated typeshed stubs to latest version. - - Bug Fix: Fixed false positive error when evaluating a subscript (index) operation with an index value that is a union type and an overloaded `__getitem__` method that requires union expansion. - - Enhancement: Added new check for a function overload that contains an implementation. - - Enhancement: Added special-case handling for addition of two tuples that have known lengths. - - Bug Fix: Fixed bug in check that detects improper variance for type variables used within generic protocols. Class or instance variables within a generic protocol must use invariant type variables. - - Enhancement: Improved heuristics for type matching when source and dest types are unions and invariance is being enforced — specifically in the case where the destination union type includes generic types. - -## 2021.7.2 (7 July 2021) - -This is a hotfix release, fixing a completion regression introduced in 2021.6.3. - -## 2021.7.1 (6 July 2021) - -Notable changes: - -- The bundled PIL stubs have been removed, as they have been merged into typeshed's Pillow stubs. - -## 2021.7.0 (6 July 2021) - -Notable changes: - -- An "add to extraPaths" quick fix for unresolved imports has been added, which suggests and adds potential paths `python.analysis.extraPaths`. -- Support for the undocumented "mspythonconfig.json" config file name has been removed. This was previously available as an alternative to "pyrightconfig.json", but we've decided to standardize on the latter. - -In addition, Pylance's copy of Pyright has been updated from 1.1.152 to 1.1.155, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Enhancement: Updated to the latest version of typeshed - - Bug Fix: Fixed false positive error with f-string format specifier that contains an expression within braces and also a colon specifier. - ([pylance-release#1522](https://github.com/microsoft/pylance-release/issues/1522)) - - Bug Fix: Fixed false positive error related to an escape sequence (backslash) used in an f-string format specifier. - - Bug Fix: Fixed false positive error related to member access of optional type. -- [1.1.155](https://github.com/microsoft/pyright/releases/tag/1.1.155) - - Bug Fix: Fixed recent regression that resulted in false positive errors when a class declaration used both `Type[X]` and `X` in its specialization of base classes. - - Bug Fix: Fixed false positive error related to `isinstance` narrowing of a non-constrained TypeVar. - - Bug Fix: Changed encoding of literals in error messages to avoid including raw (unescaped) special characters in output. - - Behavior Change: Increased maximum source file size from 16MB to 32MB. - ([pylance-release#1520](https://github.com/microsoft/pylance-release/issues/1520)) - - Enhancement: Improved formatting of error messages that include expressions — specifically when the expression includes an empty dict ("{}"). - - Bug Fix: Fixed false positive error for the case where a function with positional/keyword parameters is assigned to a callback protocol that accepts only keyword parameters. - - Enhancement: Added support for member access expressions for the `None` object. - - Enhancement: Added support for `isinstance` and `issubclass` type narrowing where the variable type and the test type have no apparent relationship. The type evaluator synthesizes a class that is a subclass of both types — effectively an "intersection" of the two. - ([pylance-release#1499](https://github.com/microsoft/pylance-release/issues/1499)) - - Behavior Change: Modified `reportUnnecessaryIsInstance` diagnostic to never report always-false conditions because the type checker no longer generates such conditions. - ([pylance-release#1496](https://github.com/microsoft/pylance-release/issues/1496)) -- [1.1.154](https://github.com/microsoft/pyright/releases/tag/1.1.154) - - Removed support for undocumented "mspythonconfig.json" config file name. This was previously available as an alternative to "pyrightconfig.json", but we've decided to standardize on the latter. - - Bug Fix: Changed logic for "overload missing implementation" check to not require an implementation within a protocol class. - - Enhancement: Updated typeshed stubs to latest version. - - Bug Fix: Fixed confusing error message when file or directory is specified on command line but is excluded by the "exclude" section of the config file. - - Behavior Change: Exempt classes from `__slots__` check if they explicitly declare an empty slots. This is commonly used for mix-in classes that are compatible with slotted classes. - - Internal Change: This version of pyright includes a significant change within the type evaluator that simplifies the code and eliminates a major source of bugs related to the handling of `Type[X]` type annotations. -- [1.1.153](https://github.com/microsoft/pyright/releases/tag/1.1.153) - - Bug Fix: Fixed type evaluation bug where `Callable` is used to annotate an input parameter, and the `Callable` return type is a union that contains a type variable and the type variable is used within a nested function. - - Bug Fix: Fixed bug in "isinstance" type narrowing logic and in the "unnecessary isinstance" diagnostic check when the type being narrowed is a runtime-checkable protocol instance. - - Bug Fix: Fixed bug in type evaluator that resulted in a false positive error when a `__getattr__` was supplied in a metaclass, and it returned a generic callable type. - ([pylance-release#1481](https://github.com/microsoft/pylance-release/issues/1481)) - - Enhancement: Added validation for assignment of instance variables that are not declared in `__slots__`. - - Enhancement: Added check for class variables that conflict with an instance variable declared in `__slots__` within a class. - - Behavior Change: When displaying overloaded functions in hover text, filter out the implementation signature. - ([pylance-release#1498](https://github.com/microsoft/pylance-release/issues/1498)) - - Bug Fix: Fixed bug in code flow engine that caused incorrect type evaluation of complex expression that appears multiple times within a function in contexts where `isinstance` type narrowing generates different types for the same expression. - -## 2021.6.3 (23 June 2021) - -Notable changes: - -- Absolute imports of local files are now supported in "open file" mode. -- Extract method/variable will now also trigger a rename on the newly generated symbol. -- Pylance will now auto-close triple quoted strings. -- Dictionary key completions that contain non-alpha characters will now work correctly. - ([pylance-release#1460](https://github.com/microsoft/pylance-release/issues/1460)) -- Completions on nested TypedDicts will now work correctly. - ([pylance-release#1485](https://github.com/microsoft/pylance-release/issues/1485)) -- The bundled stubs for matplotlib, django, openpyxl, and pandas have been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.149 to 1.1.152, including the following changes: - -- [1.1.152](https://github.com/microsoft/pyright/releases/tag/1.1.152) - - Bug Fix: Fixed false positive error involved in the instantiation of `type(self)()` within an abstract class. - - Bug Fix: Fixed parser bug that caused completion provider to not work correctly when completing relative imports ending in a dot. - ([pylance-release#1479](https://github.com/microsoft/pylance-release/issues/1479)) - - Bug Fix: Fixed bug that led to false positive error related to dictionary unpacking when the argument type is a type variable. - ([pylance-release#1463](https://github.com/microsoft/pylance-release/issues/1463)) - - Bug Fix: Fixed false positive error when using `del` keyword with a tuple expression. - ([pylance-release#1480](https://github.com/microsoft/pylance-release/issues/1480)) - - Bug Fix: Fixed bug in completion provider where it was interpreting prior quotes incorrectly when completing a typed dictionary key, most easily reproducible when using nested typed dictionaries.([pylance-release#1485](https://github.com/microsoft/pylance-release/issues/1485)) - - Bug Fix: Eliminated false positive error for `Final` when it doesn't include a type argument. - - Bug Fix: Fixed several possible causes of stack overflow crashes in the type evaluator. - ([pylance-release#1464](https://github.com/microsoft/pylance-release/issues/1464)) - - Bug Fix (from pylance): Fixed bug in completion provider related to dictionary key completions that contain non-alpha characters. - ([pylance-release#1460](https://github.com/microsoft/pylance-release/issues/1460)) - - Bug Fix: Fixed false positive error when `super()` was used in a static or class method and the target function in the base class had an annotated cls parameter. - ([pylance-release#1488](https://github.com/microsoft/pylance-release/issues/1488)) -- [1.1.151](https://github.com/microsoft/pyright/releases/tag/1.1.151) - - Enhancement: Added support for metaclasses that support the `__getitem__`, `__setitem__` and `__delitem__` magic methods, allowing classes that derive from these metaclasses to be used in index expressions. - - Bug Fix: Fixed bug that caused dataclass usage to break in Python 3.6 and older when using the polyfill library. - - Enhancement: Added conditional type support for `__setitem__` so a value with a type defined by a constrained TypeVar can be assigned to an index expression. - - Bug Fix: Fixed bug that caused a crash in the tokenizer when encountering a string literal that is extremely long (>100K in length). - - Bug Fix: Fixed bug caused by a variable assignment with a list expression on the RHS that was interpreted temporarily as a type alias declaration. Added more sanity checking on the type of the assigned expression for type aliases. - - Bug Fix: Fixed type evaluation bug where `Callable` is used to annotate an input parameter, and the `Callable` return type is a union that contains a type variable. - - Bug Fix: Fixed bug in constraint solver relating to replacement of return type of the form T when matching was performed against Type[T]. - - Enhancement: Added support for `__builtins__` module symbol symbol. - - Enhancement: Added support for type narrowing conditional expressions of the form `a is False`, `a is True`, `a is not False` and `a is not True`. -- [1.1.150](https://github.com/microsoft/pyright/releases/tag/1.1.150) - - Enhancement: Avoid completion suggestions when typing an ellipsis. (Thanks to contribution from Marc Mueller.) - - Bug Fix: Fixed false positive errors relating to unions created from a `Type[T]` type. - ([pylance-release#1468]https://github.com/microsoft/pylance-release/issues/1468)) - - Bug Fix: Fixed bug that caused class docString not to appear in signature help when invoking constructor for classes with synthesized constructor methods (e.g. dataclass or namedtuple). - - Behavior Change: Changed `reportPrivateUsage` diagnostic check to suppress the check when method or attribute comes from a type stub file. It is presumably part of the public interface contract in this case and not a private or protected member. - ([pylance-release#1478](https://github.com/microsoft/pylance-release/issues/1478)) - - Enhancement: Added completion suggestion support for dictionary key names. - - Bug Fix: Fixed bug in type evaluator that resulted in incorrect type in certain cases when evaluating function with declared return type of `Type[T]`. - ([pylance-release#1462](https://github.com/microsoft/pylance-release/issues/1462)) - - Bug Fix: Fixed false positive error that occurred when evaluating a binary operation provided by a metaclass when the LHS or RHS type was a `Type[T]`. - - Behavior Change: In basic type checking mode, enabled the following diagnostic checks by default: reportOptionalSubscript, reportOptionalMemberAccess, reportOptionalCall, reportOptionalIterable, reportOptionalContextManager, and reportOptionalOperand. - - Bug Fix: Fixed crashing bug in document symbol provider when handling import statements. - - Bug Fix: Fixed type evaluation bug that affected the specialization of a generic type alias that includes a bound TypeVar. - -## 2021.6.2 (16 June 2021) - -Notable changes: - -- Pylance will now offer completions inside dictionary key context if that dictionary was defined in the current scope. -- The bundled stubs now include partial stubs for sympy. - ([pylance-release#1388](https://github.com/microsoft/pylance-release/issues/1388), [pylance-release#946](https://github.com/microsoft/pylance-release/issues/946)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.148 to 1.1.149, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Behavior Change: Changed reportPrivateUsage diagnostic check to suppress the check when method or attribute comes from a type stub file. It is presumably part of the public interface contract in this case and not a private or protected member. - ([pylance-release#1454](https://github.com/microsoft/pylance-release/issues/1454)) - - Bug Fix: Fixed bug that caused class docString not to appear in signature help when invoking constructor for classes with synthesized constructor methods (e.g. dataclass or namedtuple). - ([pylance-release#640](https://github.com/microsoft/pylance-release/issues/640)) - - Bug Fix: Fixed false positive errors relating to unions created from a `Type[T]` type - ([pylance-release#1422](https://github.com/microsoft/pylance-release/issues/1422)) - - Enhancement: Return empty completionList for Ellipsis -- [1.1.149](https://github.com/microsoft/pyright/releases/tag/1.1.149) - - Bug Fix (from pylance): Fixed crash that can occur when a library is installed in the form of a zip file, and that zip file is malformed. - ([pylance-release#1421](https://github.com/microsoft/pylance-release/issues/1421)) - - Bug Fix: Fixed bug that caused false positive error when using a generic type alias as a constructor call. - - Enhancement: Added check for illegal use of "async" keyword. The Python interpreter generates a syntax error if it is used outside of an async function. - - Enhancement: Tweaked heuristics in constraint solver for dealing with matching of TypeVar T for the type expression `Union[T, SomeClass[T]]`. There are two valid solutions if the argument is type `SomeClass-[X]`, but the "simpler" solution (`T = X`) should be preferred over the more complex (`T = SomeClass[X]`). - - Bug Fix: Fixed bug in type checker related to the use of a TypeVar or ParamSpec within an inner function when it is already bound to an outer function but used only within that outer function's return type a nnotation. - - Bug Fix: Added error handling for very large source files. This situation is now detected earlier so we don't attempt to load the file contents and crash the language server in the process. - ([pylance-release#1426](https://github.com/microsoft/pylance-release/issues/1426)) - - Behavior Change: Added logic to convert `Type[A | B]` into `Type[A] | Type[B]`, which avoids violating assumptions elsewhere in the type checker. - - Enhancement: Updated to the latest version of typeshed, which includes support for ParamSpec in contextlib's contextmanager function. - ([pylance-release#516](https://github.com/microsoft/pylance-release/issues/516)) - - Bug Fix: Fixed bug in type checker that occurred in some cases when a generic function returned `Type[T]`. In some cases where an input parameter also had an annotation of `Type[T]`, the "solved" type was wrapped in `Type` twice (e.g. `Type[Type[int]]`). - ([pylance-release#1437](https://github.com/microsoft/pylance-release/issues/1437)) - - Bug Fix: Fixed bug in type evaluator that occurred when calling a constructor of type `Type[T]` where `T` is a constrained TypeVar. - - Bug Fix: Fixed bug that resulted in an import being marked as unaccessed if it was accessed within a class declaration but was also redeclared within the class scope. - -## 2021.6.1 (9 June 2021) - -Notable changes: - -- Search paths returned by the Python interpreter are now normalized according to the case provided by the OS. - ([pylance-release#1375](https://github.com/microsoft/pylance-release/issues/1375)) -- An error related to file watcher creation will no longer appear. - ([pylance-release#1392](https://github.com/microsoft/pylance-release/issues/1392)) -- Pylance will no longer crash at startup when an invalid zip or egg file are present in the workspace. - ([pylance-release#1397](https://github.com/microsoft/pylance-release/issues/1397)) -- Match/case statements will now be checked for exhaustiveness. - ([pylance-release#1380](https://github.com/microsoft/pylance-release/issues/1380)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.146 to 1.1.148, including the following changes: - -- [1.1.148](https://github.com/microsoft/pyright/releases/tag/1.1.148) - - Enhancement: Improved type narrowing of subject expression in a match statement when none of the case statements match the pattern and the code falls through the bottom of the match. - - Enhancement: Added support for pattern matching exhaustion detection in cases where there is not an explicit irrefutable pattern present. - ([pylance-release#1380](https://github.com/microsoft/pylance-release/issues/1380)) - - Bug Fix: Fixed recent regression that resulted in false positive errors when attempting to instantiate `tuple` or `type` directly. - - Enhancement: Improved type checking for classes that are assigned to `Callable` types. Previously, type incompatibilities were not reported if the `__init__` or `__new__` methods were overloaded within the class. - ([pylance-release#1400](https://github.com/microsoft/pylance-release/issues/1400)) - - Bug Fix: Fixed bug that caused parser error when handling a carriage return within a triple-quoted inner string within an outer triple-quoted f-string. - ([pylance-release#1401](https://github.com/microsoft/pylance-release/issues/1401)) - - Bug Fix: Fixed bug that resulted in false positive error when second argument to `NewType` call contained a `Type` object. - ([pylance-release#1406](https://github.com/microsoft/pylance-release/issues/1406)) - - Bug Fix: Fixed recent regression that resulted in a false positive error when instantiating a variable of type `Type[T]` where `T` was a protocol class. - - Bug Fix: Fixed bug in type printer that resulted in double parentheses around return type expressions when they involved unions. - - Bug Fix: Fixed bug that resulted in a false positive error when using generic `Type[T]` in a function parameter in overload validation. - ([pylance-release#1407](https://github.com/microsoft/pylance-release/issues/1407)) - - Bug Fix: Fixed bug in type checker relating to constrained type variables that combine non-union and union constraints. - ([pylance-release#1412](https://github.com/microsoft/pylance-release/issues/1412)) - - Bug Fix: Fixed bug in type checker when handling Final variables assigned at the class level. PEP 591 indicates that they should be treated as though they are annotated as ClassVar even though they are not. - - Bug Fix: Fixed a bug in the type checker relating to the use of a specialized generic class that is parameterized by a ParamSpec. -- [1.1.147](https://github.com/microsoft/pyright/releases/tag/1.1.147) - - Enhancement: Added check for an attempt to instantiate a protocol class. This causes a runtime error. - - Behavior Change: Closed a hole in type narrowing for "in" operator when used with TypedDict. It can eliminate types from a union only if the type is marked final. - - Enhancement: Changed type printer to handle recursion differently — most notably when dealing with recursive type aliases. If it is asked to expand type aliases, it now expands only the first level of a given type alias, so if there's recursion, it will use the type alias name the second time it is encountered rather than continuing to expand it. - - Enhancement: Changed `reveal_type` and `reveal_locals` to expand type aliases in their output. - - Bug Fix: Fixed bug that resulted in incorrect type checking behavior when a type annotation involved a tuple with literal elements. - - Bug Fix: Fixed bug that affected the handling of a function decorator that uses ParamSpec when applied to a classmethod or staticmethod. - - Enhancement: Added diagnostic for an attempt to instantiate a special type like a Union, Callable, or Optional. - - Bug Fix: Improved support for generic functions that annotate a parameter and a return type with a union that includes a TypeVar. In such cases, the TypeVar may not be matched during constraint solving. - - Enhancement: Improved hover text for type variables and param specs by updating the label so they are not shown simply as type aliases. - - Enhancement: Updated to the latest typeshed stubs. - -## 2021.6.0 (2 June 2021) - -Notable changes: - -- Libraries installed via egg/zip files are now supported (including `transformers` installed via `conda`). - ([pylance-release#1260](https://github.com/microsoft/pylance-release/issues/1260)) -- Unannotated decorators are now treated as no-ops, rather than using type inference and potentially obscuring the signature of the function they decorate. -- Files that were referenced but unopened will no longer be mistakenly reanalyzed when opened. -- Tables in docstrings are now better spaced. -- The bundled stubs for django have been updated. -- Pylance's copy of typeshed has been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.144 to 1.1.146, including the following changes: - -- [1.1.146](https://github.com/microsoft/pyright/releases/tag/1.1.146) - - Enhancement: Updated to the latest version of typeshed stubs. - - Behavior Change: Updated `reportIncompatibleVariableOverride` to avoid reporting an error when a class variable is reassigned a value in a base class without declaring its type. - - Bug Fix: Fixed false positive error indicating that a type alias is a variable. This results when a type alias refers to a union and that union is reformed when losing the original type alias. - - Enhancement: Added optimization for union creation where all subtypes are the same. This optimization commonly reduces the need to create new types during code flow operations. It also retains type alias info more faithfully. - - Enhancement: Added support for `__qualname__` and `__module__` attributes within a class body. - ([pylance-release#1376](https://github.com/microsoft/pylance-release/issues/1376)) - - Behavior Change: Changed call expression evaluation logic to not skip return type inference when there are errors detected during argument expression evaluation. This was previously added as an optimization, but it was leading to confusing results in some cases. - - Enhancement: Enhanced logic to detect unannotated decorator functions and treat them as no-ops rather than using return type inference, which often leads to incorrect and confusing results for decorators. - - Bug Fix: Fixed bug in pattern matching logic for class patterns where the class uses properties or descriptors for the targeted attributes. - - Enhancement (from pylance): Added support for libraries packages as zip/egg containers. -- [1.1.145](https://github.com/microsoft/pyright/releases/tag/1.1.145) - - Bug Fix: Fixed bug that resulted in the incorrect type when bidirectional type inference (an "expected type") was used in conjunction with the `tuple()` constructor. - ([pylance-release#1359](https://github.com/microsoft/pylance-release/issues/1359)) - - Behavior Change: Changed logic to avoid reanalyzing a file when it is opened in the editor if we have already analyzed it and the file contents are the same as before. - - Bug Fix: Improved handling of call expressions where the call is a union and some of the subtypes return NoReturn and others do not. - - Behavior Change: Changed the logic that validates the assignment to instance variables that are marked `Final`. Previously, only one such assignment was allowed even if it was within an `__init__` method. It now allows an arbitrary number of assignments (conditional or otherwise) as long as they occur within an `__init__` method. - - Enhancement: Enhanced "reportIncompatibleVariableOverride" diagnostic check to detect the case where a base class declares a class variable and a child class tries to override it with an instance variable or vice versa. - - Bug Fix: Added logic to handle the case where a dataclass subclass overrides a member of its parent class with a ClassVar and another dataclass then subclasses from the child. - - Enhancement: Enhanced type stub generator so it doesn't emit "object" as base class, since that's implied in Python 3.x. - - Enhancement: Enhanced type stub generator to emit inferred function and method return types as comments. - - Behavior Change: Removed false positive error reported for a "bare" `raise` statement outside of an `except` clause. - ([pylance-release#1365](https://github.com/microsoft/pylance-release/issues/1365)) - - Bug Fix: Changed type variable constraint solver to preserve literal types when matching type arguments from other class types. In other cases, it typically "strips" the literal, widening the type to a str, int, etc. This change allows proper type evaluation in certain cases where a literal type is specified in a type annotation, such as with `Set[Literal["foo"]]`. - - Bug Fix: Fixed bug in code flow engine where it was sometimes evaluating the wrong type when cycles occurred in type dependencies. - ([pylance-release#1356](https://github.com/microsoft/pylance-release/issues/1356)) - - Bug Fix: Fixed bug that can result in a crash when indexing a file that includes a nested function or lambda that is used for type inference. - - Enhancement: Improved detection and reporting of illegal type alias recursion cases — e.g. when a possible type alias refers to a function that uses the type alias in parameter or return type annotations. - - Enhancement: Changed type printer to include a "\*" after a type if it is conditionally associated with a TypeVar constraint. - - Bug Fix: Augmented type checking logic for generator expressions to allow `await` keyword even though enclosing function isn't async. Also allowed generator expression to be evaluated as `AsyncGenerator` rather normal `Generator`. - ([pylance-release#1348](https://github.com/microsoft/pylance-release/issues/1348)) - - Enhancement: Changed the way conditional constraints are tracked in the type evaluator. This is a significant change that simplifies the logic and handles some cases that the old approach did not. - -## 2021.5.4 (26 May 2021) - -Notable changes: - -- Auto-import quick fixes now more closely match auto-import completions. - ([pylance-release#1250](https://github.com/microsoft/pylance-release/issues/1250)) -- TypedDict support has been improved, supporting `**kwargs` unpacking checks and tagged union narrowing. - ([pylance-release#374](https://github.com/microsoft/pylance-release/issues/374), [pylance-release#1328](https://github.com/microsoft/pylance-release/issues/1328), [pylance-release#1240](https://github.com/microsoft/pylance-release/issues/1240)) -- A bug that led to infinite recursion has been fixed. - ([pylance-release#1315](https://github.com/microsoft/pylance-release/issues/1315)) -- Memory usage when indexing is enabled has been improved. -- The bundled stubs for pandas have been updated. -- The bundled stubs now include partial stubs for `gym`. - -In addition, Pylance's copy of Pyright has been updated from 1.1.141 to 1.1.144, including the following changes: - -- [1.1.144](https://github.com/microsoft/pyright/releases/tag/1.1.144) - - Bug Fix: Changed CLI to not use process.exit() but instead return normally. The previous code sometimes resulted in truncated output. - - Enhancement: Added error for keyword-only parameter separator or position-only parameter separator appearing in a function signature after an "\*args" parameter. This will result in a runtime error. - ([pylance-release#1341](https://github.com/microsoft/pylance-release/issues/1341)) - - Enhancement: Improved error message for missing \*\*kwargs parameter when assigning one function to another. - - Bug Fix: Fixed bug in logic that converts a type into a text representation. It wasn't properly adding the scope for a ParamSpec in certain circumstances, so instead of outputting `P@scope`, it was outputting `P`. - - Bug Fix: Fixed bug in specialization of generic class that contains only one type variable that is a ParamSpec. - - Bug Fix: Fixed bugs that prevented ParamSpec annotations `P.args` and `P.kwargs` from working properly when the annotation was in quotes. - - Bug Fix: Fixed false positive error in check for inappropriate use of contravariant type var in return type annotation. It should not generate an error when the contravariant type var is part of a union. - - Enhancement: Improved error message consistency for for "cannot assign to None" condition. -- [1.1.143](https://github.com/microsoft/pyright/releases/tag/1.1.143) - - Bug Fix: Added missing recursion check that resulted in stack overflow in type evaluator. - ([pylance-release#1315](https://github.com/microsoft/pylance-release/issues/1315)) - - Enhancement: Added support for unpacked dictionary argument in function calls when the unpacked expression is a TypedDict. - ([pylance-release#374](https://github.com/microsoft/pylance-release/issues/374), [pylance-release#1328](https://github.com/microsoft/pylance-release/issues/1328)) - - Enhancement: Improved error message for the case where positional-only parameters are used in a function and a caller does not provide enough arguments. - - Bug Fix: Improved logic for argument matching for call expressions where the call includes keyword-only parameters and the call expression includes an unpacked list argument. - ([pylance-release#1319](https://github.com/microsoft/pylance-release/issues/1319)) - - Bug Fix: Fixed bug in type evaluation of list comprehensions when literal types were involved. The literal types were being widened to their associated non-literal types. - - Enhancement: Improved `isinstance` type narrowing logic to accommodate the case where the first argument to `isinstance` is a module and the second argument is a runtime-checkable protocol class. - - Bug Fix: Fixed regression that caused false positive in the case where a `Callable` type was used that defined its own TypeVar scope and was later matched against a `self` parameter in an instance method. - - Enhancement: Enhanced "reportIncompatibleVariableOverride" diagnostic check so it applies to instance variables defined within a method (e.g. `self.var: str = ""`) in addition to class variables. - - Enhancement: Added type narrowing support for index expressions where the index value is a string literal. - - Enhancement: Added support for "tagged union" type narrowing when the conditional expression is of the form `x[K] == V` or `x[K] != V` where `x` is a union of TypedDict objects and `K` is a literal str key value that refers to a field with a literal type and `V` is a literal value. - ([pylance-release#1240](https://github.com/microsoft/pylance-release/issues/1240)) -- [1.1.142](https://github.com/microsoft/pyright/releases/tag/1.1.142) - - Bug Fix: Fixed false negative (missing error) due to bug in dictionary expression bidirectional type inference logic when the expected type included a union. - - Enhancement: Added support for subscript expressions that contain slices when applied to tuples with known lengths. - - Bug Fix: Fixed false negative condition where a protocol class was treated as a callback protocol even though it included members other than `__call__`. - - Bug Fix: Fixed false positive error when a builtin symbol was used in a file but later redeclared within the module scope. - ([pylance-release#1320](https://github.com/microsoft/pylance-release/issues/1320)) - - Bug Fix: Fixed bug in "expression printer" which is used in some error messages. It was not properly preserving parentheses for binary operation expressions. - - Bug FIx: Fixed false positive error for "missing type arguments" that was surfaced when changes were made within typeshed's types.pyi stub. - -## 2021.5.3 (19 May 2021) - -Notable changes: - -- A number of CPU and memory improvements have been made, improving parsing, indexing, and overall performance. -- Libraries which indicate that they are `py.typed` will now be correctly preferred over typeshed, following PEP 561. This allows the use of the types in well-typed libraries such as the newly-released Flask 2.0, PyJWT, and tornado, improving completions, hover, navigation, and the type checking experience. - ([pylance-release#1197](https://github.com/microsoft/pylance-release/issues/1197)) -- Auto-imports now require the first character to match before fuzzy matching is applied, which reduces the number of unwanted completions and greatly improves performance when indexing is enabled. -- Extract method now supports extracting comments. - ([pylance-release#1262](https://github.com/microsoft/pylance-release/issues/1262)) -- Variable names using supplementary characters are now supported. - ([pylance-release#1286](https://github.com/microsoft/pylance-release/issues/1286)) -- Tables in docstrings are now supported. -- Incompatible type diagnostics will now fully qualify type names if the incompatible types have the same short name. - ([pylance-release#1306](https://github.com/microsoft/pylance-release/issues/1306)) -- A bug which caused some imports from `pywin32` to not be resolved has been fixed. - ([pylance-release#1423](https://github.com/microsoft/pylance-release/issues/1423)) -- Added stubs for pywin32, openpyxl. - ([pylance-release#947](https://github.com/microsoft/pylance-release/issues/947), [pylance-release#1423](https://github.com/microsoft/pylance-release/issues/1423)) -- The bundled stubs for django and pandas have been updated. -- File watcher events from `.git` directories will no longer trigger reanalysis. - ([pylance-release#1282](https://github.com/microsoft/pylance-release/issues/1282)) -- The import resolver now supports typeshed's VERSIONS file, which indicates which versions of Python each standard library module is available. -- Pylance's copy of typeshed has been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.137 to 1.1.141, including the following changes: - -- [1.1.141](https://github.com/microsoft/pyright/releases/tag/1.1.141) - - Enhancement: Improved "is None" and "is not None" type narrowing logic for constrained TypeVars that include `None` as one of the constraints. - - Enhancement: Improved error message for illegal character in token and surrogate character codes combinations that are not allowed in identifiers. - - Enhancement: Added support for more surrogate character ranges that I didn't realize existed when I added the initial support. - - Behavior change: Don't prefer py.typed libraries when the execution environment is typeshed. - - Bug Fix: Fixed bug in signature help provider where it was not properly handling a call with a type `Type[T]`. - - Bug Fix: Fixed bug in code that handles "super" call when a `cls` variable is passed as the first argument. - - Bug Fix: Changed the way the current parameter index is specified in signature help to better conform to LSP standard. - - Enhancement: Improved the "X is incompatible with Y" error message in the case where types X and Y have the same short name. In this case, the fully-qualified names will be used to provide clarity. - - Bug Fix: Fixed bug that resulted in false positive when generic type was used for iterable within a list comprehension. - - Bug Fix: Fixed bug that resulted in incorrect errors when using a TypeVar imported from another file and referenced using a member access expression (e.g. `typing.AnyStr`). - - Enhancement: Added support for `defaults` argument in `namedtuple` constructor, which marks the rightmost input parameters to the resulting named tuple as having default values. - - Behavior change (from pylance): Filter auto-imports more strictly to reduce the number of completions returned. Matches require at least the first character to match before fuzzy matching is applied. - - Enhancement (from pylance): Add support for tables in docstrings. -- [1.1.140](https://github.com/microsoft/pyright/releases/tag/1.1.140) - - Bug Fix: Fixed bug that caused parameters in overloaded functions not to be marked as accessed, as was intended. - - Bug Fix: Fixed false negative when the same name was defined in both an outer and inner function and referenced in the inner function prior to being assigned. - - Enhancement: Added support for identifiers that contain Unicode characters that require two UTF16 character codes (surrogates). This allows identifiers to use characters in the Unicode blocks for Egyptian Hieroglyphs, Linear B Ideograms, Cuneiform, Phoenician, etc. - - Enhancement: Added new diagnostic rule "reportIncompleteStub", which reports a diagnostic for a module-level `__getattr__` function in a type stub, indicating that it's incomplete. This check was previously part of the "reportUnknownMemberType" diagnostic rule. - - Behavior Change: Disabled support for keyword arguments in subscript expressions because PEP 637 was rejected. - - Bug Fix: Fixed bug in the type specialization for ParamSpec when the return type contains no generics. - - Bug Fix: Changed TypeGuard behavior to evaluate the return type of a call expression that invokes a type guard function to be 'bool' rather than 'TypeGuard[T]'. - - Behavior Change: Changed TypeGuard behavior to allow a type guard function to be passed as a callback that expects the return type to be bool. - - Bug Fix: Removed explicit check for Python 3.10 when using ParamSpec. It's possible to use it with older versions of Python if importing from `typing_extensions`. - - Bug Fix: Fixed bug that caused a false positive error when applying a subscript operation on a TypeVar. - - Bug Fix: Fixed bug that resulted in a false positive error when the second argument to `isinstance` or `issubclass` was a union that included both a single type and a tuple of types. - ([pylance-release#1294](https://github.com/microsoft/pylance-release/issues/1294)) - - Enhancement: Updated typeshed stubs to the latest version. - - Enhancement: Added support in typeshed VERSIONS file for submodules. -- [1.1.139](https://github.com/microsoft/pyright/releases/tag/1.1.139) - - Enhancement: Updated typeshed to the latest. - - Enhancement: Added support for typeshed VERSION file, which indicates which stdlib modules are available in each version of Python. - - Bug Fix: Fixed bug that resulted in symbols being inappropriately marked "unaccessed" when they were accessed within a keyword argument used within a class declaration. - ([pylance-release#1272](https://github.com/microsoft/pylance-release/issues/1272)) - - Bug Fix: Fixed false positive error when a dataclass declares an instance variable but a subclass redeclares a class variable of the same name. - - Bug Fix: Fixed type narrowing bug with 'isinstance' checks that involve protocol classes. The bug resulted in false positive errors with the reportUnnecessaryIsInstance check. - - Enhancement: Added support for callback protocols that use overloaded `__call__` methods. - ([pylance-release#1276](https://github.com/microsoft/pylance-release/issues/1276)) - - Enhancement (from pylance): Improved performance of tokenizer's handling of string literals. - - Bug Fix (from pylance): Ignore updates to ".git" file so they don't trigger reanalysis. - - Bug Fix: Fixed false positive error in check for overload implementation consistency when one of the overloaded methods in a generic class provides an explicit type annotation for "self" or "cls" but the implementation does not. - - Enhancement: Improved "is None" and "is not None" type narrowing logic to handle constrained TypeVar that includes None as one of the constraints. - - Bug Fix: Fixed false positive error when a `__getattr__` method is present. The previous logic was assuming that `__getattr__` could provide a magic method value (e.g. for `__add__`). - ([pylance-release#1252](https://github.com/microsoft/pylance-release/issues/1252)) - - Bug Fix: Prefer py.typed libraries over typeshed for consistency with PEP 561. - - Bug Fix: Improved validation for function calls where the function signature includes keyword arguments without default values that are not directly matched by keyword arguments but are matched by a **kwargs argument. In this situation, the type of the **kwargs values should be verified to be compatible with the type of the keyword parameters. - - Bug Fix: Fixed bug in lambda type evaluation for lambdas that use an \*args parameter. The parameter type was not being transformed into a tuple, as it should have been. - ([pylance-release#1284](https://github.com/microsoft/pylance-release/issues/1284)) - - Enhancement: Improved diagnostic message for constant redefinition to make it clear that the symbol is assumed to be constant because its name is uppercase. -- [1.1.138](https://github.com/microsoft/pyright/releases/tag/1.1.138) - - Bug Fix: Fixed bug in handling special-case types in typing.pyi or typing_extensions.pyi. The RHS of the assignment was not being evaluated, so symbols referenced in the RHS were not be marked as accessed. - - Bug Fix: Changed special-case handling of "overload" definition in typying.pyi stub. New versions of this stub have changed the definition from an object to a function. - - Bug Fix: Fixed recent regression in handling of f-strings that are also raw. - -## 2021.5.2 (13 May 2021) - -Pylance has reached stable and is officially out of public preview! (https://aka.ms/announcing-pylance-stable) - -## 2021.5.1 (6 May 2021) - -This is a hotfix release, fixing raw format strings ([pylance-release#1241](https://github.com/microsoft/pylance-release/issues/1241)) and handling language server settings changes available in the next Python extension release. - -## 2021.5.0 (5 May 2021) - -Notable changes: - -- A number of CPU and memory improvements have been made, improving indexing, docstring conversion, and peak memory usage. -- Pylance insiders will now be automatically enabled when Python insiders is enabled. This can be overridden by explicitly setting `pylance.insidersChannel`. -- Docstring support for compiled standard library modules (such as `math`, `sys`, and `time`) now handles module docstrings. -- The bundled stubs for pandas and PIL have been updated. - ([pylance-release#556](https://github.com/microsoft/pylance-release/issues/556), [pylance-release#660](https://github.com/microsoft/pylance-release/issues/660), [pylance-release#769](https://github.com/microsoft/pylance-release/issues/769), [pylance-release#779](https://github.com/microsoft/pylance-release/issues/779)) -- The "report issue" command can now be run in any file, including Jupyter notebooks. - ([pylance-release#1207](https://github.com/microsoft/pylance-release/issues/1207)) -- A number of crashes have been fixed. - ([pylance-release#1211](https://github.com/microsoft/pylance-release/issues/1211), [pylance-release#1218](https://github.com/microsoft/pylance-release/issues/1218), [pylance-release#1219](https://github.com/microsoft/pylance-release/issues/1219)) -- Python 3.10's new `match` and `case` keywords will now be highligted as keywords when semantic tokenization is enabled. - ([pylance-release#1215](https://github.com/microsoft/pylance-release/issues/1215)) -- Assignment expressions in the class scope are no longer incorrectly disallowed. - ([pylance-release#1213](https://github.com/microsoft/pylance-release/issues/1213)) -- Completions are no longer incorrectly provided in the string portion of f-strings. - ([pylance-release#1226](https://github.com/microsoft/pylance-release/issues/1226)) -- Pylance's copy of typeshed has been updated. - ([pylance-release#1216](https://github.com/microsoft/pylance-release/issues/1216)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.136 to 1.1.137, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed bug in handling special-case types in typing.pyi or typing_extensions.pyi. The RHS of the assignment was not being evaluated, so symbols referenced in the RHS were not be marked as accessed. -- [1.1.137](https://github.com/microsoft/pyright/releases/tag/1.1.137) - - Bug Fix: Fixed bug in type inference of dictionary, list and set expressions when they contain classes or class instances that are apparently the same type but internally appear different because they are "pseudo-generic". Pseudo-generic classes are those that have no type annotations in the `__init__` method and are treated internally as generics to improve type inference. - - Bug Fix: Fixed bug that caused false positive error when assigning `Type[Any]` to `type`. - - Bug Fix: Fixed false positive error when assignment expression (i.e. walrus operator) is used within a class scope. - - Enhancement: Updated typeshed stubs to the latest. - - Behavior Change: When in "outputjson" mode, the CLI now output log information to stderr. - - Enhancement: Add match and case keywords to completion provider. - - Bug Fix: Fixed regression that caused runtime assertion (and crash) in some rare circumstances. - - Performance: Eliminated O(n\*m) behavior when testing type compatibility of a union with n subtypes and a union of m subtypes when those subtypes contain mostly literals. - - Performance: Moved checks for string literal errors (unsupported escape characters, etc.) from binder to checker for performance reasons. - - Performance: Improved performance of string token value unescape logic by handling the common cases (no format string and no escape characters) using a fast path. - - Bug Fix (from Pylance): Fixed bug in file watching logic for config files. - - Performance (from Pylance): Reduced work done during parsing and binding related to doc string handling. - - Enhancement (from Pylance): Improved document symbol provider symbol type information. - - Behavior Change: Removed PEP 563 (deferred type annotation) behavior as default for Python 3.10, since the PEP was deferred. - - Bug Fix: Fixed bug in completion provider that caused completions to be provided when pressing "." within the string literal portion of an f-string. - - Performance (from Pylance): Provided special-case code paths in parser and binder to speed up symbol indexing operations. - -## 2021.4.3 (29 April 2021) - -Notable changes: - -- The bundled native module stubs for sklearn, numpy, and pandas have been updated. -- Markdown-style links in docstrings will now be passed through as-is to tooltips. -- Docstrings for all compiled standard library modules (such as `math`, `sys`, and `time`) are now supported. - ([pylance-release#465](https://github.com/microsoft/pylance-release/issues/465)) -- Docstrings in signature help tooltips will now show the same docstrings as completion and hover tooltips. -- Overload matching has been changed to more closely match matching in other type checkers. - ([pylance-release#549](https://github.com/microsoft/pylance-release/issues/549), [pylance-release#1111](https://github.com/microsoft/pylance-release/issues/1111)) -- A number of bugs that could cause potentially nondeterministic behavior when semantic highlighting is enabled have been fixed. - ([pylance-release#1180](https://github.com/microsoft/pylance-release/issues/1180), [pylance-release#1181](https://github.com/microsoft/pylance-release/issues/1181)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.133 to 1.1.136, including the following changes: - -- [1.1.136](https://github.com/microsoft/pyright/releases/tag/1.1.136) - - Bug Fix: Fixed bug in diagnostic check for contravariant type variables used in a return type annotation that resulted in a false negative. - ([pylance-release#1190](https://github.com/microsoft/pylance-release/issues/1190)) - - Enhancement: Added minimal support for `*` and `**` parameter annotations within function annotation comments. - ([pylance-release#1191](https://github.com/microsoft/pylance-release/issues/1191)) - - Behavior Change: Modified algorithm for invariant union type assignments to avoid n^2 behavior. - - Bug Fix: Fixed a false positive error that occurs when a class uses itself as a type argument for one of its base classes and that base class uses a bound type variable. - - Enhancement: Added logic to skip the normal `__new__` constructor evaluation if the class is created by a metaclass with a custom `__call__` method. - - Bug Fix: Fixed bug in TypedDict type narrowing (for containment of non-required fields) that resulted in a false positive error when a narrowed type was later used. - - Bug Fix: Fixed bug in type variable constraint solver that resulted in a confusing false positive error in circumstances involving contravariant type variables (e.g. when dealing with callback protocols) and a combination of `Type[T]` and `T` within the callback signature. - - Enhancement (from pylance): Improved formatting of doc strings in tool tips. -- [1.1.135](https://github.com/microsoft/pyright/releases/tag/1.1.135) - - Behavior Change: Changed behavior of function overload evaluation to more closely match the behavior of other type checkers. Notably, if one or more argument have union types, they are expanded, and each combination of argument union subtypes can use different overloads. - - Bug Fix: Fixed bug that caused false positive error when assigning a function with no position-only marker to a function with a position-only marker. - ([pylance-release#1187](https://github.com/microsoft/pylance-release/issues/1187)) - - Enhancement: Added support for call arguments whose types are constrained type variables and must be constrained to a particular subtype during call evaluation because the LHS of the call imposes such constraints. - ([pylance-release#1182](https://github.com/microsoft/pylance-release/issues/1182)) - - Enhancement: Added support for special cases of class pattern matching as described in PEP 634. - - Enhancement: Added support for auto generation of `__match_args__` class variable for dataclass and named tuples. - - Enhancement: Added support for type narrowing of the subject expression within a "match" statement based on the matched pattern. - - Bug Fix: Fixed bug in type analyzer that resulted in a false positive error when a return type annotation included a generic class but omitted the type arguments. -- [1.1.134](https://github.com/microsoft/pyright/releases/tag/1.1.134) - - Enhancement: Implemented first cut at generalized support for dataclass transforms. - - Behavior Change: Allow NoReturn return type annotation for `__init__` method. - - Bug Fix: Fixed bug in completion provider that resulted in no valid completion suggestions at the end of a "from x import a, " statement. - ([pylance-release#673](https://github.com/microsoft/pylance-release/issues/673)) - - Bug Fix: Fixed bug in type checker that led to a false positive when assigning a function to a callable type and the source contained unannotated parameters. - - Bug Fix: Fixed numerous bugs that result in occasional type evaluation errors, some of which appear to be somewhat non-deterministic. - ([pylance-release#1180](https://github.com/microsoft/pylance-release/issues/1180), [pylance-release#1181](https://github.com/microsoft/pylance-release/issues/1181)) - - Bug Fix: Fixed bug in type evaluator that caused incorrect type evaluation for annotated parameter types in some cases. - - Bug Fix: Fixed a bug in the type checker that resulted in a false positive error when using "|" (union) operator in parameter type annotations in some cases. - - Bug Fix: Changed binder logic for "from .a import x" statements in `__init__.py`. Implicit import of ".a" is performed only in cases where there is a single dot. For example, "from .a.b import x" does not implicitly import ".a.b". - ([pylance-release#234](https://github.com/microsoft/pylance-release/issues/234)) - -## 2021.4.2 (21 April 2021) - -Notable changes: - -- A number of CPU and memory improvements have been made, which should lead to faster initial startup, faster analysis, and lower peak memory usage. -- A partial stub for scikit-learn has been included, which should fix many classes (such as `MinMaxScalar`). - ([pylance-release#1139](https://github.com/microsoft/pylance-release/issues/1139)) -- A number of crashes have been fixed. - ([pylance-release#1072](https://github.com/microsoft/pylance-release/issues/1072)) -- `self`/`cls`, parameters in abstract methods, parameters in `Protocol` definitions, and parameters in function overloads will no longer be marked as "not accessed" and grayed out. - ([pylance-release#194](https://github.com/microsoft/pylance-release/issues/194)) -- The bundled matplotlib stubs have been updated. -- Pylance's copy of typeshed has been updated. Stubs that are marked as Python 2 only are no longer included. -- Interpreter paths are now correctly queried when the selected interpreter is PyPy. -- Indexing has been re-enabled in the insiders build. - -In addition, Pylance's copy of Pyright has been updated from 1.1.130 to 1.1.133, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Enhancement: Implemented first cut at generalized support for dataclass transforms. -- [1.1.133](https://github.com/microsoft/pyright/releases/tag/1.1.133) - - Bug Fix: Fixed bug that resulted in a false positive error within type checker when a constrained TypeVar was used in a lambda callback. - - Bug Fix: Fixed bug in type variable constraint solver that resulted in false positive error in certain cases involving bidirectional type inference with unknown (or missing) type arguments. - ([pylance-release#1168](https://github.com/microsoft/pylance-release/issues/1168)) - - Enhancement: Reduced memory consumption of tokenizer for string literal tokens. - - Enhancement: Improved performance of type analyzer in cases where certain type checking diagnostic rules are disabled. - - Enhancement: Improved startup time of pyright by eliminating redundant calls to Python interpreter to retrieve import resolution paths. - - Behavior Change: Automatically mark parameters as accessed (so they don't appear as "grayed out") in the following circumstances: 1) it is a self parameter in an instance method, 2) it is a cls parameter in a class method, 3) it is a parameter in a method marked abstract, 4) it is a parameter in a method that is part of a protocol class, 5) it is a parameter in an overload signature. - ([pylance-release#194](https://github.com/microsoft/pylance-release/issues/194)) - - Bug Fix: Fixed incompatibility with pypy when retrieving import resolution paths from the configured Python interpreter. - - Enhancement: Added diagnostic for `__init__` method that does not have a return type of `None`. - - Enhancement: Configuration settings can now be stored in a pyproject.toml file. If both pyproject.toml and pyrightconfig.json are both present, the latter takes precedent. -- [1.1.132](https://github.com/microsoft/pyright/releases/tag/1.1.132) - - Bug Fix: Fixed regression that caused incorrect reporting of "parameter name mismatch" errors for overrides of dundered methods. -- [1.1.131](https://github.com/microsoft/pyright/releases/tag/1.1.131) - - Bug Fix: Changed logic that detects generator functions to accommodate yield statements that are provably unreachable in the code flow. - - Behavior Change: Changed dataclass logic to not enforce ordering of fields with defaults vs those without if `init=False` is specified. - - Enhancement: Extended method override check to include dundered methods (other than constructors). - - Bug Fix (from pylance): Removed duplicate "yield" suggestion in completion list. - - Enhancement (from pylance): Improved logic that maps type stubs to corresponding source files. - - Enhancement: Added support for implicit `__annotations__` symbol at the module level. - ([pylance-release#1161](https://github.com/microsoft/pylance-release/issues/1161)) - - Enhancement: Updated to the latest typeshed stubs. Removed third-party stubs for that were marked as Python 2 only (enum34, fb303, futures, ipaddress, kazoo, openssl-python, pathlib2, pymssql, Routes, scribe, tornado). - - Enhancement: Added support for `type(None)` within isinstance type narrowing. - - Bug Fix: When providing a completion suggestion for an async method override, an "await" operator is now added in the generated return expression. - - Bug Fix: Fixed false positive error in argument/parameter matching logic for function calls that occurs when a keyword argument targets a parameter that can be either positional or keyword and a spread operator is used in an earlier argument. - - Bug Fix: Fixed bug that resulted in false positive error when a constrained TypeVar type was passed through the "isinstance" type narrowing logic and then used as an operand in a binary operation. - ([pylance-release#1165](https://github.com/microsoft/pylance-release/issues/1165)) - - Bug Fix: Fixed several bugs that caused type checker crash in certain cases. - -## 2021.4.1 (14 April 2021) - -Notable changes: - -- Source mapping has been greatly improved. Notably, in more recent versions of numpy (1.20+), docstrings and navigation should work for many more symbols. - ([pylance-release#855](https://github.com/microsoft/pylance-release/issues/855)) -- The `yield` keyword will no longer be duplicated in completions. - ([pylance-release#1137](https://github.com/microsoft/pylance-release/issues/1137)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.129 to 1.1.130, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Changed logic that detects generator functions to accommodate yield statements that are provably unreachable in the code flow. - - Behavior Change: Changed dataclass logic to not enforce ordering of fields with defaults vs those without if `init=False` is specified. - - Enhancement: Extended method override check to include dundered methods (other than constructors). -- [1.1.130](https://github.com/microsoft/pyright/releases/tag/1.1.130) - - Bug Fix: Fixed bug in type narrowing logic when the narrowed expression contained an assignment expression (walrus operator). It was not properly narrowing the target of the assignment expression. - - Bug Fix: Fixed bug in "isinstance" type narrowing support when the first argument is a type (e.g. a class or `Type[T]`) and the second argument is `type` (or a tuple that contains `type`). - - Bug Fix: Fixed bug in "isinstance" type narrowing logic where it didn't properly handle protocol classes that support runtime checking. - - Enhancement (from Pylance): Improved docstring formatting in hover text. - - Behavior Change: Suppressed "access to non-required key" diagnostic if the access is performed within a try block. - ([pylance-release#1145](https://github.com/microsoft/pylance-release/issues/1145)) - - Bug Fix: Fixed bug in 'callable' type narrowing logic. It wasn't properly handling type variables. - - Enhancement: Implemented new diagnostic rule "reportUnnecessaryComparison". It checks for "==" and "!=" comparisons where the LHS and RHS types have no overlap and the LHS has no `__eq__` overload. This new diagnostic rule is off by default in normal type checking mode but is on in strict mode. - - Bug Fix: Fixed false positive error that occurred when file started with "from typing import Collection". This was due to mishandling of a cyclical dependency in the typeshed classes. - - Enhancement: Improved bidirectional type inference for expressions that involve the pattern `[] * `. - - Bug Fix: Fixed false positive error relating to the use of parentheses in "with" statement when using Python 3.9. - ([pylance-release#999](https://github.com/microsoft/pylance-release/issues/999)) - - Bug Fix: Fixed bug in type evaluation of async functions that are not generators but have a declared return type of AsyncGenerator. The actual return type needs to be wrapped in a Coroutine in this case. - ([pylance-release#1140](https://github.com/microsoft/pylance-release/issues/1140)) - - Bug Fix: Suppressed diagnostic check for `Subscript for class "X" will generate runtime exception` when it's used in a PEP 526-style variable type annotation. Apparently the exception occurs only when used in other contexts like parameter and return type annotations. - -## 2021.4.0 (7 April 2021) - -Notable changes: - -- `lxml.etree` (and other compiled modules) should no longer be mistakenly marked as unresolved in some cases. - ([pylance-release#392](https://github.com/microsoft/pylance-release/issues/392)) -- A bug in a performance optimization for `__all__` involving `py.typed` libraries has been fixed. This issue manifested as auto-imports using an unwanted path (e.g. `fastapi.param_functions.Query` instead of `fastapi.Query`). - ([pylance-release#774](https://github.com/microsoft/pylance-release/issues/774)) -- Signature help in broken code will now more correctly signatures and parameters. - ([pylance-release#1128](https://github.com/microsoft/pylance-release/issues/1128)) -- A regression in namespace package handling has been fixed. - ([pylance-release#1132](https://github.com/microsoft/pylance-release/issues/1132)) -- The default setting for indexing in the insiders build has been temporarily changed to `false` as we continue to analyze and improve its performance. It can still be manually enabled with `"python.analysis.indexing": true`. -- The bundled matplotlib stubs have been updated. -- Pylance's copy of typeshed has been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.127 to 1.1.129, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed bug in type narrowing logic when the narrowed expression contained an assignment expression (walrus operator). It was not properly narrowing the target of the assignment expression. - - Bug Fix: Fixed bug in "isinstance" type narrowing support when the first argument is a type (e.g. a class or `Type[T]`) and the second argument is `type` (or a tuple that contains `type`). - - Bug Fix: Fixed bug in "isinstance" type narrowing logic where it didn't properly handle protocol classes that support runtime checking. -- [1.1.129](https://github.com/microsoft/pyright/releases/tag/1.1.129) - - Enhancement: Added configuration option "strictSetInference" which is analogous to "strictListInference" and "strictDictionaryInference" but specifically for set expressions. - - Enhancement: Tweaked heuristic in constraint solver to prefer types that have no "unknown" element to those that do. - - Enhancement: Improved the handling of TypeVar matching when the source and dest types are both unions, the types are being compared with invariant constraints, and the dest contains a TypeVar. - - Enhancement: Fixed misleading error message for "unsupported `__all__` operations". - - Enhancement: Improved error message for dataclass fields. - - Bug Fix: Fixed bug that caused inconsistent type evaluation for type annotations based on order of evaluation. It was triggered in some cases by the semantic highlighting feature. - ([pylance-release#1121](https://github.com/microsoft/pylance-release/issues/1121)) - - Bug Fix: Fixed bug in the function type compatibility logic. If the source has a `*args` or `**kwargs` parameter but the dest does not, the function should still be assignable. - - Behavior Change: Changed the logic that searches for a config file. It currently searches from the current working directory all the way up the folder hierarchy. This makes sense only for a command-line tool, not for a language server. The latter already knows the project root, and we should look only in that directory for a config file. - - Bug Fix: Fixed bug in signature help provider where its heuristics were causing it to return a bad response when the insertion point was immediately after a comma and a call expression preceded the comma. - ([pylance-release#1128](https://github.com/microsoft/pylance-release/issues/1128)) - - Bug Fix: Added support for an import edge case where a module's `__init__.py` file is apparently importing from itself but intends instead to import from one of its submodules. - - Bug Fix: Fixed bug in namespace import resolution. When there are multiple import search matches, the import resolver needs to take into account the individual symbols specified in the import statement. - ([pylance-release#1132](https://github.com/microsoft/pylance-release/issues/1132)) - - Bug Fix: Fixed a bug whereby call expressions within a type annotation were flagged as errors but not evaluated, which meant that symbols referenced within them were not marked as accessed. - - Enhancement: Updated typeshed stubs to the latest. -- [1.1.128](https://github.com/microsoft/pyright/releases/tag/1.1.128) - - Bug Fix: Fixed bug in argument-matching code that produced false positive errors when a keyword argument corresponded to a positional-only argument name but should have been matched to a \*\*kwargs parameter instead. - ([pylance-release#1109](https://github.com/microsoft/pylance-release/issues/1109)) - - Bug Fix: Fixed bug in bidirectional type inference logic for list and dict expressions when expected type included a type varaible. - - Bug Fix: Disabled the "self" annotation checks for overloaded methods because the self annotation can be used as a legitimate filter for overloads. - - Enhancement: Improved bidirectional type inference for set expressions so it better handles unions in expected type. - - Bug Fix: Improved TypeVar constraint solver so it provides a better solution when a TypeVar is constrained first by a contravariant wide bound in a first argument and then a subsequent argument relies on bidirectional type inference with a covariant or invariant use of the same TypeVar. - - Bug Fix: Fixed bug that caused a crash in the type checker when a protocol class inherited from a generic non-protocol class. - - Enhancement: Added check for a class that inherits from Generic to ensure that all type variables are included in the Generic subscript list. - - Bug Fix: Fixed regression in handling expressions of the form `[x] * y`. Some previously-added special-case code to handle the `[None] * n` case was too general. - - Enhancement: Changed printed types to fully expand type aliases in error messages where that additional detail is needed — namely, for "partially unknown" messages. This makes for verbose types, but without the expansion, it can be very difficult to determine which part of the type is unknown. - - Bug Fix: Fixed false positive error in type compatibility check where the destination type is `Type[Any]` and the source type is `Type[x]` where x is anything (including `Any`). - - Enhancement: Added exemption to the overlapping overload check for the `__get__` method. Other type checkers (namely mypy) exempt this method also. - -## 2021.3.4 (31 March 2021) - -Notable changes: - -- Broken symlinks in the workspace should no longer cause crashes. - ([pylance-release#1102](https://github.com/microsoft/pylance-release/issues/1102)) -- Completion performance when IntelliCode is enabled has been improved. -- The bundled matplotlib stubs have been updated. -- Method override completions while editing a stub will no longer include `super()` calls, and instead add the correct `...` body. -- Auto-import completions and quick fixes will now more correctly handle import blocks that have been split onto multiple lines. - ([pylance-release#1097](https://github.com/microsoft/pylance-release/issues/1097)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.125 to 1.1.127, including the following changes: - -- [1.1.127](https://github.com/microsoft/pyright/releases/tag/1.1.127) - - Bug Fix: Fixed bug in type evaluator that resulted in suppressed errors and evaluations when the evaluation of a lambda expression resulted in some form of recursion (e.g. it references a symbol that depends on the return result of the lambda). - ([pylance-release#1096](https://github.com/microsoft/pylance-release/issues/1096)) - - Enhancement: Added "reportTypedDictNotRequiredAccess" diagnostic rule and split out diagnostics that pertain specifically to unguarded accesses to non-required TypedDict keys. - - Bug Fix: Changed type of `__path__` variable in module from `List[str]` to `Iterable[str]`. - ([pylance-release#1098](https://github.com/microsoft/pylance-release/issues/1098)) - - Bug Fix: Fixed bug that resulted in a runtime crash within the type checker when a protocol class inherits from another protocol class that is not generic (like "Sized"). - ([pylance-release#1101](https://github.com/microsoft/pylance-release/issues/1101)) - - Enhancement: Added better heuristics to auto-complete insertion logic so it honors single-symbol-per-line and multi-symbol-per-line formats of "from x import a" statements. - ([pylance-release#1097](https://github.com/microsoft/pylance-release/issues/1097)) - - Enhancement: Implemented a new check to validate that annotated types for "self" and "cls" parameters are supertypes of their containing classes. - - Bug Fix (from pylance): Fixed bug that resulted in crashes when a broken symlink was encountered. - ([pylance-release#1102](https://github.com/microsoft/pylance-release/issues/1102)) - - Bug Fix: Fixed recent regression that resulted in false positives when checking the type of a "self" parameter within a metaclass when the type annotation was of the form `Type[T]`. - - Enhancement: Added minimal support for "@no_type_check" decorator. It does not suppress errors, but it doesn't generate an error itself. - - Enhancement: Added support for PEP 612 ParamSpecs to be used as type parameters for generic classes and generic type aliases. Previously, they were allowed only in the specialization of `Callable`. - - Enhancement: Added out-of-bounds access check for index operations where the indexed type is a tuple object with known length and the index value is a negative integer literal value. - - Bug Fix: Fixed bugs in the handling of PEP 487 `__init_subclass__`. The logic was using the `__init_subclass__` defined in the class itself rather than its base classes. - - Enhancement: Added special-case handling for generic functions that return a `Callable` with generic parameters. The change allows for callers to pass type variables to the function and then have the resulting `Callable` provide a TypeVar scope for those variables. - - Bug Fix (from pylance): Fixed bugs relating to partial type stub packages. -- [1.1.126](https://github.com/microsoft/pyright/releases/tag/1.1.126) - - Bug Fix: Fixed bug that affected the use of the `tuple` constructor. It was not properly updating the variadic type arguments. This resulted in false negatives for the resulting type. - ([pylance-release#1085](https://github.com/microsoft/pylance-release/issues/1085)) - - Bug Fix: Fixed bug that resulted in false negatives because diagnostics generated while analyzing a constructor call were suppressed. - ([pylance-release#1087](https://github.com/microsoft/pylance-release/issues/1087), [pylance-release#1088](https://github.com/microsoft/pylance-release/issues/1088), [pylance-release#1104](https://github.com/microsoft/pylance-release/issues/1104)) - - Enhancement: Improved stub generator to print "x = ..." rather than include the RHS expression if `x` is not a type alias. - - Enhancement: Added special-case handling for assignments of the form `x: List[A] = [a] * y` (the multiply operator on a list). This specific idiom is commonly used to initialize a list with None values. - - Performance: Added perf improvements that help when dealing with unions that contain many tuples. Improved TypeVar constraint solver to better handle the case where a type is widened to include hundreds of subtypes, thus grinding performance to a halt. This occurs in one of the modules in pytorch. - - Enhancement: Rewrote package type verifier based on feedback from users. Its error messages are now much clearer, it distinguishes between "exported symbols" and "other referenced symbols", it properly handles properties, and it omits warnings about missing docstrings by default (can be overridden with "--verbose" setting). - - Bug Fix: Fixed bug that resulted in incorrect type evaluation for a constructor call when the class's `__new__` method returns an instance of a different class. - ([pylance-release#1092](https://github.com/microsoft/pylance-release/issues/1092)) - -## 2021.3.3 (24 March 2021) - -Notable changes: - -- Recursive symlinks in the workspace should no longer cause a hang. - ([pylance-release#1070](https://github.com/microsoft/pylance-release/issues/1070), [pylance-release#1078](https://github.com/microsoft/pylance-release/issues/1078)) -- An error about a missing "typings" folder will no longer appear at the default log level. - ([pylance-release#1075](https://github.com/microsoft/pylance-release/issues/1075)) -- pygame stubs are no longer bundled. pygame 2.0 (released October 2020) and above include high-quality types. - ([pylance-release#758](https://github.com/microsoft/pylance-release/issues/758)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.122 to 1.1.125, including the following changes: - -- [1.1.125](https://github.com/microsoft/pyright/releases/tag/1.1.125) - - Bug Fix: Disabled the "always False comparison" check for expressions like "sys.platform == 'win32'" because they can vary depending on environment. - - Enhancement: Added error check for a class that attempts to derive from NamedTuple and other base classes. This is not supported and will generate runtime exceptions. - - Enhancement: Improved type checking for generators. Fixed several false negatives and false positives relating to "yield from" expressions. - - Enhancement: Changed special-case logic for `self` annotations used with `__init__` methods to accommodate new usages in typeshed stubs. - - Enhancement: Updated typeshed stubs to latest. - - Bug Fix: Fixed bug in TypeVar constraint solver that resulted in a false positive when using the built-in "filter" method with the "os.path.exists" callback. - - Bug Fix: Fixed bug where "comparison chaining" was not being appropriately applied to expressions that contained "is", "is not", "in" and "not in" operators in a chain (e.g. "1" in "1" == "1"). - - Enhancement: Added smarter handling of empty lists (`[]`) and dicts (`{}`). Previously, these were inferred to have types `list[Unknown]` and `dict[Unknown, Unknown]`, respectively. They are now provided with a known type if the variable is assigned a known list or dict type along another code path. - - Bug Fix (from pylance): Made hover text, signature help, and completion suggestions show function docstring using same code. - - Bug Fix (from pylance): Fixed issue with partial stub files in cases where a stub file is found but no corresponding source (.py) file is found. -- [1.1.124](https://github.com/microsoft/pyright/releases/tag/1.1.124) - - Bug Fix: Fixed bug where a keyword parameter with a generic type (a TypeVar) and a default value of "..." caused the TypeVar to be assigned a value of "Any". - - Bug Fix: Fixed recent regression that caused certain diagnostics to be suppressed when calling a constructor with an expected type. - - Enhancement: Added missing check indicated in PEP 589 for TypedDict fields that override a parent class field by the same name with a different type. - - Bug Fix: Added support for TypeVar where the bound or constrained types are literals. - - Enhancement: Updated typeshed stubs. - - Bug Fix: Fixed bug that resulted in false negatives when a generic class was used within a subscript (e.g. within the type argument of another type) and no type arguments were specified for the generic class. This also resulted in such types not properly getting default values. For example, in the expression `Union[int, Callable]`, the `Callable` was not being interpreted as `Callable[..., Unknown]`. - - Enhancement: Improved error message for partially-unknown lambda type. - - Bug Fix: Fixed a bug in the logic for inferring the type of list expressions when the expected type is "object". - - Bug Fix: Improved handling of bidirectional inference for call expressions when the expected type contains a union of literals and the function returns a generic type. - - Enhancement: Added new check for a common source of bugs where an equals operator within an if statement compares two values whose literal types do not overlap and will therefore never evaluate to True. -- [1.1.123](https://github.com/microsoft/pyright/releases/tag/1.1.123) - - Bug Fix: Fixed bug in handling of "Final" type annotation with no specified type argument (e.g. "x: Final = 4"). - - Enhancement: Added support for inferring type of subscripted tuple when subscript is a negative integer literal. - - Bug Fix: Fixed recent regression where `super(A, self).x` did not return an unknown type if class `A` had a class in its MRO that had an unknown type. - - Bug Fix: Fixed false positive error due to constraint solver's handling of a TypeVar used within a Callable parameter that is matched to a function parameter annotated with another TypeVar. - - Enhancement: Improved handling of literals within constraint solver when used with bidirectional type inference. - - Bug Fix: Fixed bug that caused false positive error when a generic call expression was used for an argument to an overloaded function and TypeVar matching errors were reported. - ([pylance-release#1063](https://github.com/microsoft/pylance-release/issues/1063)) - - Enhancement: Deferred resolution of metaclass during class type resolution to improve compatibility with code generated by mypy-protobuf, which contains cyclical dependencies. - - Bug Fix: Fixed bug in declaration provider that caused declaration of class variables to not be resolved correctly when accessed via a `cls` parameter in a class method. - ([pylance-release#1064](https://github.com/microsoft/pylance-release/issues/1064)) - - Bug Fix: Fixed bug in symbol resolution when a local class mirrors the name of a class in typing (e.g. `List`) but is not imported from typing and is used in a context where it is forward declared without quotes. - - Bug Fix (from pylance): Avoid recursing infinitely when searching for source files when there is a cyclical symlink present. - - Bug Fix: Fixed type inference for "yield" expressions. The previous code was using the same logic for "yield" and "yield from". - - Enhancement: Added check to determine if type variables in generic protocols use the appropriate variance. - - Performance Improvement: Limited "implied else type narrowing" to expressions that have declared types. It's too expensive to infer types. - -## 2021.3.2 (17 March 2021) - -Notable changes: - -- Completions for class property overrides are now supported. - ([pylance-release#1054](https://github.com/microsoft/pylance-release/issues/1054)) -- Editable installs are now supported. - ([pylance-release#78](https://github.com/microsoft/pylance-release/issues/78)) -- Module members appearing in `__all__` are now always suggested in auto-imports, regardless of their name. - ([pylance-release#703](https://github.com/microsoft/pylance-release/issues/703)) -- Completions offered within stub files will now correctly show symbols available in the current file, rather than only the stub's "externally visible" symbols. - ([pylance-release#685](https://github.com/microsoft/pylance-release/issues/685)) -- A bug in symlink support (introduced in the previous release) has been fixed. Some code paths were not correctly handling symlinked directories. - ([pylance-release#1031](https://github.com/microsoft/pylance-release/issues/1031)) -- Imports of the form `from . import X` now work correctly in non-`__init__.py` files. - ([pylance-release#1050](https://github.com/microsoft/pylance-release/issues/1050)) -- Analysis performance has been improved some code patterns with many inferred variables and deeply nested loops. - ([pylance-release#1049](https://github.com/microsoft/pylance-release/issues/1049)) -- Python 3.10 `match` support has been updated to support unparenthesized pattern subject lists. - ([pylance-release#1044](https://github.com/microsoft/pylance-release/issues/1044)) -- Type aliases can now be defined within the class scope. - ([pylance-release#1043](https://github.com/microsoft/pylance-release/issues/1043)) -- The bundled Django, matplotlib, and pandas stubs have been updated to fix several bugs and missing members. - ([pylance-release#780](https://github.com/microsoft/pylance-release/issues/780), [pylance-release#792](https://github.com/microsoft/pylance-release/issues/792), [pylance-release#850](https://github.com/microsoft/pylance-release/issues/850), [pylance-release#1037](https://github.com/microsoft/pylance-release/issues/1037)) -- When indexing is enabled (`"python.analysis.indexing": true`), auto-import quick fixes will now include results from user code. This was disabled in the previous release; completions from indexed user code are still not offered. - ([pylance-release#1055](https://github.com/microsoft/pylance-release/issues/1055)) -- Pylance no longer needs to copy files at startup for cross-platform support, which should improve startup time. -- The hover tooltip now separates the type from the docstring with a horizontal line, matching the completion tooltip. -- Stubs for `scipy`'s compiled modules are now included, which should improve performance and completion quality. -- Pylance's copy of typeshed has been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.120 to 1.1.122, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed bug in handling of "Final" type annotation with no specified type argument (e.g. "x: Final = 4"). - - Enhancement: Added support for inferring type of subscripted tuple when subscript is a negative integer literal. - - Bug Fix: Fixed recent regression where `super(A, self).x` did not return an unknown type if class `A` had a class in its MRO that had an unknown type. - - Bug Fix: Allow lowercase `tuple` type to be subscripted in versions of Python prior to 3.9 if it is within a quoted annotation. - ([pylance-release#1056](https://github.com/microsoft/pylance-release/issues/1056)) -- [1.1.122](https://github.com/microsoft/pyright/releases/tag/1.1.122) - - Bug Fix: Fixed false positive error in constructor method with an input parameter annotated with a class-scoped TypeVar and with a default value. - - Enhancement: Improved performance of type analysis for certain code patterns that involve inferred types of variables that are used in deeply nested loops and chains of updates. In one such example, this change reduced the analysis time from ~17000ms to ~200ms. - - Bug Fix: Fixed bug in the handling of the `owner` parameter for the `__get__` method in a descriptor class. The type evaluator was using an `Any` type rather than the proper class type in this case. - - Bug Fix: Updated TypeVar constraint solver so it tracks a "narrow bound" and "wide bound" for each TypeVar as they are being solved. This fixes several subtle bugs. - - Enhancement: Updated typeshed stubs to the latest. - - Behavior Change: Added new top-level "extraPaths" config option for pythonconfig.json that specifies the default extraPaths to use when no execution environments apply to a file. Changed settings logic to use the new default extraPaths mechanism for the "python.analysis.extraPaths" setting. - ([pylance-release#1053](https://github.com/microsoft/pylance-release/issues/1053)) - - Bug Fix: Fixed bug related to the handling of `from . import X` statement located in a file other than `__init__.py`. When used outside of an `__init__.py` file, this import looks for the `__init__.py` and imports the requested symbol `X` from it rather than looking for a submodule `X`. - ([pylance-release#1050](https://github.com/microsoft/pylance-release/issues/1050)) - - Enhancement: Improved completion provider's handling of method overrides so it properly handles properties. - ([pylance-release#1054](https://github.com/microsoft/pylance-release/issues/1054)) - - Enhancement (from pylance): Add lowercased items from `__all__` in auto-imports. - - Bug Fix: Fixed bug in constraint solver that occurs when a constrained TypeVar is used in conjunction with a protocol that has a contravariant TypeVar. -- [1.1.121](https://github.com/microsoft/pyright/releases/tag/1.1.121) - - Bug Fix: Fixed a bug that generated a false positive error when a function (or other callable) was assigned to a Hashable protocol. - - Enhancement (from pylance): Made auto-imports lazy for better completion suggestion performance. - - Enhancement (from pylance): Improved readability of hover text for functions and methods with overloaded signatures. - - Bug Fix: Fixed false positive error when using an instance or class variable defined within a Protocol class within a method in that same class. The previous logic was based on a misinterpretation of a sentence in PEP 544. - - Bug Fix: Fixed false positive error in type checker when dealing with two types that are both unions and both contain constrained type variables. - - Bug Fix: Fixed improper handling of symlinks used in editable installs. This affected auto-import functionality. - - Bug Fix: Fixed recent regression that caused crash in hover provider. - - Bug Fix (from pylance): Fixed issue that caused editable installs to require a restart of the language server before their effects were visible. - - Bug Fix: Fixed false positive error during TypeVar constraint solving in the case where the same TypeVar is used in both the form T and `Type[T]` in the same signature. - - Enhancement: Improved support for enums. The Python spec indicates that attributes that start and end with an underscore are not treated as enum members, nor are attributes that are assigned a descriptor object. - - Enhancement: Added support for inferring the "value" and "name" fields of an enum. - - Bug Fix: Added support for unparenthesized pattern subject lists in match statement. - ([pylance-release#1044](https://github.com/microsoft/pylance-release/issues/1044)) - - Bug Fix: Fixed false positive error related to a type alias declared within a class. - ([pylance-release#1043](https://github.com/microsoft/pylance-release/issues/1043)) - -## 2021.3.1 (10 March 2021) - -Notable changes: - -- Import resolution performance has been improved, which significantly reduces overall analysis times (30% in some projects). -- Hover tooltips for overloaded functions will now place each overload on its own line. This matches the existing completion tooltip. Additionally, signatures which may appear too wide in a tooltip are now separated by extra newlines to visually distinguish them. - ([pylance-release#612](https://github.com/microsoft/pylance-release/issues/612)) -- `if`/`elif` chains without `else` clauses can now completely narrow variables. For example, it's possible to verify that an enum value has been exhaustively checked against all possible values without a "default" case. This feature is only active in annotated functions. -- Symlinks are now generally supported. - ([pylance-release#131](https://github.com/microsoft/pylance-release/issues/131)) -- Angle brackets in docstring inline code blocks are no longer incorrectly escaped. - ([pylance-release#816](https://github.com/microsoft/pylance-release/issues/816)) -- PEP 464 support (variadic generics) has been updated to match the current state of the PEP. This PEP is not yet accepted, but is targeting Python 3.10. -- TypedDict support has been updated to allow for narrowing dict members. For example, checking `if "a" in d` will now recognize `d["a"]` as a safe operation. -- When indexing is enabled (`"python.analysis.indexing": true`), auto-import completions will no longer include indexer results from user code (as this negatively impacted performance); only auto-imports in code referenced from currently open files will be offered. We are looking for feedback about the indexing feature; please file an issue if you have enabled indexing and this affects your workflow. -- Pylance's copy of typeshed has been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.117 to 1.1.120, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed a bug that generated a false positive error when a function (or other callable) was assigned to a Hashable protocol. - ([pylance-release#1027](https://github.com/microsoft/pylance-release/issues/1027)) -- [1.1.120](https://github.com/microsoft/pyright/releases/tag/1.1.120) - - Bug Fix: Fixed type evaluation bug that resulted in the incorrect inference of an exception type within an "except X as Y" clause when the expression X was a bound TypeVar. - - Enhancement: Improved detection and error reporting for class definitions that depend on themselves (illegal cyclical dependency). Previously, pyright failed in ways that were difficult to diagnose. - - Enhancement: Added support for symbolic links in import resolver both for resolution of ".pth" files and for imports themselves. - - Behavior Change: Removed support for "venv" entry in execution environments since this never really worked. Clarified in documentation that import resolution within an execution environment is not transitive. - - Bug Fix: Fixed bug in completion provider that caused class variables not be included as suggestions as members for the "cls" parameter in a class method. - ([pylance-release#1026](https://github.com/microsoft/pylance-release/issues/1026)) - - Enhancement: Added error check for access to non-required fields in a TypedDict using a subscript with a literal string field name. Added support for "narrowing" of a TypedDict class based on guard expression of the form "S in D" where S is a string literal name of a non-required field. Improved the synthesized "get" method on a TypedDict for non-required fields; it now returns an `Optional[T]` (where T is the defined type for that field) rather than just T. - - Enhancement: Updated to the latest typeshed stubs. - - Enhancement: Added error check for a "yield" or "yield from" statement used within a list comprehension. This generates a runtime syntax error. -- [1.1.119](https://github.com/microsoft/pyright/releases/tag/1.1.119) - - Bug Fix: Fixed bug in type evaluator that caused some diagnostics to be suppressed unintentionally and in a non-deterministic manner (based on the order in which types were evaluated). - - Enhancement: Added a heuristic to disable the "implied else" analysis if the code is within a function that has no input parameter annotations. This mitigates the performance overhead of "implied else narrowing". - - Enhancement: When a function decorator is applied and the decorator returns a function that has no docstring, copy the docstring from the decorated function. - - Enhancement: Changed inference logic for constructors to allow synthesized type for `cls` to retain its generic form when instantiated, so the expression `cls()` will remain generic. - - Bug Fix: Fixed false positive "metaclass conflict" error that occurs when the metaclass has an unknown class type in its class hierarchy. - - Bug Fix: Fixed bug in type evaluator when dealing with a bound TypeVar. The constraint solver wasn't properly handling the `Type[T]` statement in all cases. - - Bug Fix: Fixed recent regression in CLI where partial stub packages were not applied correctly. - - Enhancement: Eliminate duplicate python search paths, eliminating the need to search the same path more than once on every import resolution. - - Bug Fix: Fixed crash in logic that handles partial type stub merging. The crash occurs when a search path points to a file (e.g. a zip file) rather than a directory. - ([pylance-release#1021](https://github.com/microsoft/pylance-release/issues/1021)) - - Enhancement: Added support in PEP 646 when the unpacked TypeVarTuple is not at the end of the type parameter list. This allows for suffixing when matching type arguments against type parameters and when matching TypeVarTuple parameters in a Callable. - - Enhancement: Added better error reporting for reveal_type and reveal_locals calls. - - Enhancement: Added file system caching to import resolver for performance reasons. - - Bug Fix: Fixed bug in type-printing logic for tuples. When typeCheckingMode is "off", type arguments are supposed to be displayed if they are not all "Any" or "Unknown", but they were omitted always. - - Bug Fix: Fixed bug that caused type evaluation behavior that depends on (including, possibly, false positive errors) when evaluating subexpressions within a case statement. - - Enhancement (from Pylance): Fix HTML escaping in code blocks. - ([pylance-release#816](https://github.com/microsoft/pylance-release/issues/816)) - - Behavior Change: Exempt ParamSpec from "single use of TypeVar within function signature" check. - - Enhancement: Improved error reporting for ParamSpec misuse. -- [1.1.118](https://github.com/microsoft/pyright/releases/tag/1.1.118) - - Bug Fix: Fixed bug in logic that verifies exception type in "raise" statement. It was not properly handling generic types that were bound to BaseException. - - New Feature: Add --ignoreexternal CLI flag for use with --verifytypes feature. (Contribution by Vlad Emelianov) - - Enhancement: The --verifytypes output now includes file paths in the report. (Contribution by Vlad Emelianov) - - Bug FIx: Fixed crash that occurred when a function was declared within a local scope but when the function's symbol was previous declared "global" or "nonlocal" within that scope. - - Enhancement (from Pylance): Method and class docstrings now inherit from parent classes if docstrings are missing in child class. - - Enhancement (from Pylance): Improved support for partial stubs (where py.typed file includes "partial" as per PEP 561). - - Bug Fix: Fixed bug that caused incorrect type evaluation for member access expressions when the member was a descriptor object and the base type was a variable containing a reference to the class. - - Bug Fix: Fixed bug in document symbol provider that caused incorrect range to be returned for classes and functions. - ([pylance-release#1010](https://github.com/microsoft/pylance-release/issues/1010)) - - Enhancement: Improved tracking of incomplete types (those that have not yet been fully established because of recursive type dependencies within the code flow graph). - - New Feature: Added logic for if/elif chains that contain no else clause but completely narrow one or more variables. - - Behavior Change: Changed behavior of TypeVar constraint solver to eliminate literal types (widening them to their associated type) when solving for TypeVars, unless a literal type was explicitly provided (e.g. using explicit specialization like `List[Literal[1, 2, 3]]`). - - Behavior Change: Changed reportOverlappingOverload to be an error in strict mode. - - Bug Fix: Fixed bug in logic that determines whether one callable type can be assigned to another. It wasn't taking into account the positional-only parameter separator (`/`). - ([pylance-release#1017](https://github.com/microsoft/pylance-release/issues/1017)) - - Bug Fix: Fixed a bug in conditional type narrowing that narrows based on descriminated member variable types. It was being over aggressive in narrowing in the negative ("else") case when the type of the member was a union of literal types. - - Bug Fix: Fixed false positive error that occurred when setting or deleting the member of an object where that member's type is defined by a parent class and is generic but is specialized by a child class. - -## 2021.3.0 (3 March 2021) - -Notable changes: - -- Method docstrings are now inherited from parent classes. - ([pylance-release#550](https://github.com/microsoft/pylance-release/issues/550), [pylance-release#877](https://github.com/microsoft/pylance-release/issues/877)) -- The matplotlib and PIL stubs have been updated to be more complete and correct. - ([pylance-release#73](https://github.com/microsoft/pylance-release/issues/73), [pylance-release#420](https://github.com/microsoft/pylance-release/issues/420), [pylance-release#462](https://github.com/microsoft/pylance-release/issues/462), [pylance-release#716](https://github.com/microsoft/pylance-release/issues/716), [pylance-release#994](https://github.com/microsoft/pylance-release/issues/994)) -- Parentheses in `with` statements will no longer be flagged as invalid. - ([pylance-release#999](https://github.com/microsoft/pylance-release/issues/999)) -- A case where the same auto-import may be suggested more than once has been fixed. -- Files ending in `.git` will now be ignored in file watcher events. These files are created by some tools and cause reanalysis on change. -- Partial stub packages (defined in PEP 561) are now supported. -- Pylance's copy of typeshed has been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.114 to 1.1.117, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed crash that occurred when a function was declared within a local scope but when the function's symbol was previous declared "global" or "nonlocal" within that scope. - - Bug Fix: Fixed bug in logic that verifies exception type in "raise" statement. It was not properly handling generic types that were bound to BaseException. - ([pylance-release#1003](https://github.com/microsoft/pylance-release/issues/1003)) -- [1.1.117](https://github.com/microsoft/pyright/releases/tag/1.1.117) - - Enhancement: Extended check that detects redeclared functions and methods to also report redeclared properties within a class. - - Bug Fix: Fixed crash in parser that occurs when malformed index expression is parsed. - - Enhancement: Improved error message for certain type incompatibilities. - - Bug Fix: Fixed bug in logic that determines whether a function type is assignable to another function type. It was not properly handling the case where the destination had a \*\*kwargs parameter and the source had an unmatched keyword parameter. - - Enhancement: Added new check to ensure that the type signature of a function with overloads is the superset of all of its overload signatures. - - Enhancement: Improved consistency of error messages by standardizing on "incompatible" rather than "not compatible". - - Bug Fix: Fixed bug in handling of `type(x)` call that resulted in false positive errors. - - Behavior Change: Changed the logic that determines whether a variable assignment is an implicit type alias definition. If there is an explicit type annotation (other than the use of the PEP 612 TypeAlias), it is no longer considered a type alias. This is consistent with the rules mypy uses. - - Bug Fix: Fixed a bug in the logic for inferring "cls" parameter that resulted in incorrect type evaluations. - - Enhancement: Added check to detect inappropriate use of variables (that are not type aliases) within type annotations. - - Bug Fix: Fixed bug in type compatibility logic that permitted a type of `Type[Any]` to be assigned to type `None`. - - New Feature: Implemented support for PEP 655: Marking individual TypedDict items as required or potentially-missing. This PEP is still under development, so the spec could change. -- [1.1.116](https://github.com/microsoft/pyright/releases/tag/1.1.116) - - Enhancement: Improved type inference logic for tuple expressions that contain unpacked tuples. - ([pylance-release#991](https://github.com/microsoft/pylance-release/issues/991)) - - Bug Fix: Fixed bug that resulted in unknown types within stubs when a forward reference was made within a type alias definition. - - Bug Fix: Fixed bug in bidirectional type inference logic for unpack operator. - - Bug Fix: Fixed bug in assignment type narrowing for index expressions. The narrowed type was always evaluated as "None" rather than the assigned type. - ([pylance-release#992](https://github.com/microsoft/pylance-release/issues/992)) - - Bug Fix: Fixed bug in assignment type narrowing that was triggered when the RHS and LHS were both union types and the RHS contained an `Any`. - ([pylance-release#993](https://github.com/microsoft/pylance-release/issues/993)) - - Enhancement: Added diagnostic check for a call expression that appears within a type annotation. This was previously not flagged as an error. - - Bug Fix: Fixed false negative bug in the "reportOverlappingOverload" diagnostic check. It was not correctly detecting overlapping overloads when one of the parameters in the earlier overload was annotated with at TypeVar. - - Bug Fix: Fixed bug in logic that compares the type compatibility of two functions. In particular, if the source function contains a keyword argument and the dest function does not contain a keyword argument of the same name bug contains a \*\*kwargs, the types must match. - - Enhancement: Added support for overloaded `__init__` method that annotates the `self` parameter with a generic version of the class being constructed. - - Behavior Change: Added a few exemptions for the reportInvalidTypeVarUse check. In particular, constrained TypeVars, bound TypeVars used as type arguments, and any TypeVar used as a type argument to a generic type alias are exempt from this check. There are legitimate uses for all of these cases. - - Bug Fix: Fixed recent regression in type assignment check logic that broke certain cases where the destination and source were both unions that contained type variables. - - Behavior Change: Changed behavior when evaluating type of symbol within type stubs. Previously forward references were allowed only for class types. Now, forward references are allowed (and no code flow analysis is employed) for all symbols. The new behavior is consistent with mypy's. - - Enhancement: Added new diagnostic check for an overloaded function without an implementation within a source (.py) file. Fixed a bug in the diagnostic check for a single overload when an implementation is present. - - Bug Fix: Fixed bug in the parsing of "with" statements where the "with item" starts with an open parenthesis. - - Enhancement: Added "collections.defaultdict" to the list of classes that does not support runtime subscripting in versions of Python prior to 3.9. - ([pylance-release#1001](https://github.com/microsoft/pylance-release/issues/1001)) - - Behavior Change: Changed behavior of type inference for empty list (`[]`) and empty dict (`{}`) expressions. They were previously inferred to be `List[Any]` and `Dict[Any, Any]`, but they are now inferred as `List[Unknown]` and `Dict[Unknown, Unknown]`. This affects strict mode type checking, where partially-unknown types are reported as errors. This change may require some explicit type annotations within strictly-typed code. -- [1.1.115](https://github.com/microsoft/pyright/releases/tag/1.1.115) - - Bug Fix: Fixed false positive bug where "class not runtime subscriptable" error was reported even if in a type stub. - - New Feature: Implemented command-line switches for pythonplatform and pythonversion. These are overridden by pyrightconfig.json settings. - - New Feature: Added support for comments and trailing comments within pyrightconfig.json. - - Enhancement: Updated to latest typeshed stubs. - - Enhancement (from Pylance): Improve auto-import performance. - - Enhancement (from Pylance): Added extra perf tracking. - - Bug Fix: Fixed false positive error that incorrectly complained about the use of `Annotated` as a class with no type arguments. - - Bug Fix: Fixed false positive error when using bidirectional inference of dictionary expression where the expected type key and/or value types contain literals. - - Bug Fix: Fixed bug that resulted in wildcard imports (i.e. imports the form `from x import *`) to import symbols from the target that were not meant to be externally visible. This bug occurred only when the imported module had no `__all__` symbol defined. - - Bug Fix: Fixed bug in validation of constrained types in TypeVars. Subtypes of constrained types should be allowed. - -## 2021.2.4 (24 February 2021) - -Notable changes: - -- The mapping of stub files to source files has been greatly improved. Go-to-definition and doc strings should now work for a much wider range of code. - ([pylance-release#809](https://github.com/microsoft/pylance-release/issues/809), [pylance-release#949](https://github.com/microsoft/pylance-release/issues/949)) -- Index expression type narrowing is now supported. For example, a check like `if some_tuple[1] is not None` will cause future uses of `some_tuple[1]` to not be `None`, without needing to narrow a temporary variable. -- Auto-import completion performance has been improved. -- Pylance's copy of typeshed has been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.112 to 1.1.114, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed false positive bug where "class not runtime subscriptable" error was reported even if in a type stub. - - Enhancement: Implemented command-line switches for pythonplatform and pythonversion. These are overridden by pyrightconfig.json settings. - - Enhancement: Added support for comments and trailing comments within pyrightconfig. - - Enhancement: Updated to latest typeshed stubs. - - Bug Fix: Fixed false positive error that incorrectly complained about the use of `Annotated` as a class with no type arguments. - - Bug Fix: Fixed false positive error when using bidirectional inference of dictionary expression where the expected type key and/or value types contain literals. -- [1.1.114](https://github.com/microsoft/pyright/releases/tag/1.1.114) - - Enhancement: Improve source mapper (the code that maps symbols found in stub files to the corresponding code in ".py" files) to handle more cases. - - Enhancement: Added diagnostic error for try statement that has no except or finally statement. - - New Feature: Added "reportOverlappingOverload" diagnostic rule, splitting out a few checks that were previously in the "reportGeneralTypeIssue" rule. This allows for finer-grained control over these overload checks. - - Behavior Change: Added a few additional names that can be used for "cls" parameter without triggering diagnostic. These variants are reasonable and are used within some typeshed stubs. - - Enhancement: Added TypeVarTuple definition to typings.pyi stub. - - Enhancement: Updated TypeVarTuple logic to detect and report an error when a tuple of unknown length is bound to an unpacked TypeVarTuple. This is illegal according to the latest version of PEP 646. - - Enhancement: Special-cased the `__init_subclass__` method in the completion provider so it is offered as a suggestion even though there is no @classmethod decorator present. This symbol is unfortunately inconsistent from all other class methods in that it doesn't require a @classmethod decorator for some reason. - ([pylance-release#972](https://github.com/microsoft/pylance-release/issues/972)) - - Behavior Change: Changed logic for attributes marked `ClassVar` to allow writes from an instance of the class as long as the type of the attribute is a descriptor object. - - Bug Fix: Fixed a hole in type comparison logic for TypeVars that could have theoretically resulted in incorrect aliasing of types. - - Bug Fix: Fixed bug that caused false positive when import statement targeted a symbol that had a nonlocal or global name binding. - ([pylance-release#977](https://github.com/microsoft/pylance-release/issues/977)) - - Behavior Change: Enhanced method override compatibility logic to allow instance and class methods to pass generic bound types for `self` and `cls`. - - New Feature: Added support for ".pth" files (often used for editable installs) when using the "venv" configuration option in pythonconfig.json. - - Bug Fix: Fixed bug whereby import symbol “A” in the statement “from . import A” was not considered a public symbol in a py.typed source file, but it should be. - - Enhancement: Improved handling of enum classes. If such a class is defined in a ".py" file, variables defined in the class with type annotations but no assignment are now considered instance variables within each enum instance, whereas variables assigned within the enum class are assumed to be members of the enumeration. This is consistent with the way the EnumMeta metaclass works. In stub files, type annotations without assignments are still assumed to be members of the enumeration, since that's the convention used in typeshed and other stubs. - - Enhancement: Added check for parameter names when comparing functions. Parameter names that do not begin with an underscore must match in name. This also affects method override checks and protocol matching checks. - - Bug Fix: Fix potential infinite recursion in source mapping, crash in doc strings -- [1.1.113](https://github.com/microsoft/pyright/releases/tag/1.1.113) - - Bug Fixes: Improved support for PEP 634 (Structured Pattern Matching): - - Improved negative-case type narrowing for capture patterns. Because capture patterns capture anything, the remaining type is "Never". - - Improved type narrowing for mapping patterns used in structural pattern matching when the subject expression type contains a typed dictionary. - - Added code to detect and report cases where irrefutable patterns are used within an "or" pattern and are not the last entry. - - Added logic to verify that all "or" subpatterns target the same names as specified in PEP 634. - - Added code to detect the case where a case statement without a guard expression uses an irrefutable pattern but is not the final case statement. This is disallowed according to PEP 634. - - Fixed bug in parser that resulted in incorrect text ranges for parenthetical patterns. - - Bug Fix: Improved performance for completion suggestions, especially when large numbers of suggestions are returned. - - Enhancement: Updated typeshed stubs to the latest. - - Enhancement: Enabled postponed type annotation evaluation by default for Python 3.10. - - Bug Fix: Fixed bug that caused a false positive when a bound TypeVar was used to access a class method that was annotated with a bound TypeVar for the "cls" parameter. - - Bug Fix: Fixed bug that caused index expressions to be printed incorrectly when they appeared in error messages. - - Enhancement: Added type narrowing support for index expressions that use a numeric (integral) literal subscript value. - - Enhancement: Improved the logic that determines whether a call expression within the code flow graph is a "NoReturn" call. It now provides better handling of unions when evaluating the call type. - ([pylance-release#967](https://github.com/microsoft/pylance-release/issues/967)) - - Enhancement: Added support for parenthesized list of context managers in "with" statement for Python 3.10. - - Bug Fix: Fixed bug that prevented the use of a generic type alias defined using a PEP 593-style "Annotated" with a bare TypeVar. - -## 2021.2.3 (17 February 2021) - -Notable changes: - -- PEP 634 ("match") is now supported, including parser and type checking support. This feature will be available in Python 3.10. -- Completion performance has been improved when the completion list contains a large number of items, which is common when indexing is enabled (`"python.analysis.indexing": true`) and many auto-imports are suggested. -- Indexing has been re-enabled in the insiders build. -- The bundled Django stubs have been updated to their latest version. - -In addition, Pylance's copy of Pyright has been updated from 1.1.109 to 1.1.112, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Enhancement: Improved type narrowing for mapping patterns used in structural pattern matching when the subject expression type contains a typed dictionary. - - Enhancement: Improved negative-case type narrowing for capture patterns. Because capture patterns capture anything, the remaining type is "Never" -- [1.1.112](https://github.com/microsoft/pyright/releases/tag/1.1.112) - - Bug Fix: Fixed false negative when PEP 585 type is used in a type alias or other cases where postponed evaluation is not possible. - ([pylance-release#953](https://github.com/microsoft/pylance-release/issues/953)) - - Bug Fix: Fixed regression that resulted in error when "match" is used in expressions but is mistaken for a pattern-matching statement. - - Bug Fix: Fixed schema for "python.analysis.logLevel" setting. The default value was specified incorrectly. Thanks to Rafał Chłodnicki for this fix. - - Bug Fix: Fixed a bug that caused a false positive when a TypeVar is bound to a generic protocol class. - - Bug Fix: Fixed a bug that caused a false positive when a boolean operator was applied to a type variable and the corresponding magic method used an explicit type annotation for the "self" parameter. - - Enhancement: Added a new diagnostic check for out-of-range indexes for tuples that have known lengths. - - Enhancement: Added limited support for negative type narrowing in pattern matching. For example, if the type of the subject expression is bool and the matching pattern is `False | x`, the type of `x` will be inferred to be `True`. - - Bug Fix: Fixed bug that affected generic type aliases that contained Callable types that are parameterized by a type variable. - - Enhancement: Extended abstract method checks to Protocol classes even though they don't explicitly derive from ABCMeta. - - Bug Fix: Fixed bug in type narrowing for class patterns in "case" statements. -- [1.1.111](https://github.com/microsoft/pyright/releases/tag/1.1.111) - - New Feature: Implemented PEP 634 support for structural pattern matching. This new PEP was just accepted, and the functionality will appear in the next alpha release of Python 3.10. - - Bug Fix: Fixed bug that caused a false positive error when declaring a class within a local scope when the symbol is nonlocal or global. - ([pylance-release#950](https://github.com/microsoft/pylance-release/issues/950)) - - Enhancement: Improved handling of unpacked arguments when the type is a union of known-length tuples. -- [1.1.110](https://github.com/microsoft/pyright/releases/tag/1.1.110) - - Bug Fix: Fixed a bug in isinstance type narrowing logic where the type of the second argument to isinstance is type `Type[T]` and the first argument is a union of types that includes type `T`. - - Enhancement: Expanded reportUnusedCallResult diagnostic check to also check for expressions of the form `await `. - - Bug Fix (from Pylance): Changed language server to set the working directory before attempting to execute script to retrieve sys.paths. - - Behavior Change (from Pylance): Separated behavior of "go to definition" and "got to declaration". The former tries to take you to the source, whereas the latter takes you to the stub file. - - Bug Fix: Changed binding logic to not assume that an assignment to a simple name can generate an exception. This fixes a reported false positive error in a type narrowing case. - - Enhancement: Added proper error check for the use of an unpack operator (\*) when used outside of a tuple. - - Bug Fix: Avoid generating a diagnostic for reporUnknownMemberType if the member access expression is used as a call argument and is a generic class that is missing type arguments. This case was already special-cased for reportUnknownArgumentType to handle common cases like `isinstance(x, list)`, but it was resulting in errors for `isinstance(x, re.Pattern)`. - - Bug Fix: Fixed a hole in the detection of unspecified type arguments for the Tuple and tuple classes. - - Enhancement: Added support for generic classes that are parameterized by ParamSpecs, as allowed in PEP 612. - -## 2021.2.2 (11 February 2021) - -This is a hotfix release, reverting a change in 2021.2.1 which was intended to fix file watching for non-workspace folders, but instead led to "too many files open" messages on macOS. -([pylance-release#936](https://github.com/microsoft/pylance-release/issues/936)) - -## 2021.2.1 (10 February 2021) - -Notable changes: - -- Go-to-definition now brings you to source files (e.g. `.py` files), and a new "go-to-declaration" option brings you to stub files (`.pyi`). If either would otherwise return no result, Pylance will bring you to whichever files are available. - ([pylance-release#65](https://github.com/microsoft/pylance-release/issues/65)) -- Pylance now correctly handles file change events outside of the workspace, triggering reanalysis on actions such as `pip install`. Environments stored in the workspace were not affected by this bug. - ([pylance-release#923](https://github.com/microsoft/pylance-release/issues/923)) -- Some potentially nondeterministic behavior in `NoReturn` inference has been fixed, which could potentially lead to code being greyed out as unreachable. - ([pylance-release#248](https://github.com/microsoft/pylance-release/issues/248)) -- A bug that could lead to execution of `json.py` in the workspace root and invalid entries in `sys.path` has been fixed. Thanks to [David Dworken](https://daviddworken.com) for reporting this issue. -- The bundled Django and SQLAlchemy stubs have been updated to their latest versions. - -In addition, Pylance's copy of Pyright has been updated from 1.1.108 to 1.1.109, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Behavior Change: Expanded reportUnusedCallResult diagnostic check to also check for expressions of the form `await `. - - Bug Fix: Fixed a bug in isinstance type narrowing logic where the type of the second argument to isinstance is type `Type[T]` and the first argument is a union of types that includes type `T`. -- [1.1.109](https://github.com/microsoft/pyright/releases/tag/1.1.109) - - Enhancement: Added some performance optimizations to handle cases where there are many overloads for a function (>100). Previous code hit n^2 analysis times where n is number of overloads. - - Enhancement: Added perf optimization that avoids reallocation of special form classes (like Protocol and Literal) every time they're used. Since instance of the type is now cached and reused. - - Enhancement (from Pylance): Improved formatting of docstrings in hover text, completion suggestions, and signature help. - - Enhancement (from Pylance): Added better performance metrics. - - Bug Fix (from Pylance): Improved logic to ignore temp files created by code formatters like black. - - Bug Fix: Fixed "possibly unbound" false positive error in try/except/else/finally statement in the special case where a "bare except" clause is used. - ([pylance-release#913](https://github.com/microsoft/pylance-release/issues/913)) - - Bug Fix: Replaced logic that detects whether a function's inferred type is "NoReturn" — and specifically whether its implementation is a "raise NotImplementedError". The old logic depended results that varied depending on the order in which types were evaluated and was therefore nondeterministic. - ([pylance-release#248](https://github.com/microsoft/pylance-release/issues/248)) - - Bug Fix: Fixed false negative where type expressions used as arguments to TypedDict or NamedTuple constructors are not correctly checked for incompatibility with older versions of Python when they contain `|` or use PEP 585 types. - ([pylance-release#918](https://github.com/microsoft/pylance-release/issues/918)) - - Behavior Change: Changed PEP 585 violations (e.g. using `list[int]` rather than `List[int]`) to be unconditional errors rather than diagnostics controlled by reportGeneralTypeIssues diagnostic rule. That way, they appear even when type checking is disabled. - ([pylance-release#916](https://github.com/microsoft/pylance-release/issues/916), [pylance-release#917](https://github.com/microsoft/pylance-release/issues/917)) - - Bug Fix: Reverted recent change in for/else statement logic because it introduced a regression. - - Behavior Change: Changed the `reportUnboundVariable` default severity from "warning" to "none" when typeCheckingMode is "off". There were too many complaints of false positives from users who have no interest in type checking. - ([pylance-release#919](https://github.com/microsoft/pylance-release/issues/919)) - - Enhancement: When a redundant form of a from .. import statement is used (e.g. `from x import foo as foo`), always mark the imported symbol as accessed because it is assumed that it is being re-exported. - - Bug Fix: Fixed bug that caused incorrect type evaluation when a return type in a generic function used a Callable with Concatenate and a ParamSpec. - - Bug Fix: Fixed bug in code that prints types (e.g. in error messages and hover text) that resulted in duplicate types in a union when typeCheckingMode was "off". - ([pylance-release#920](https://github.com/microsoft/pylance-release/issues/920)) - - Enhancement: Updated code that prints function types (e.g. for error messages and hover text) to include unioned return types in parentheses to distinguish between `() -> (int | str)` and `() -> int | str`. - - Bug Fix: Fixed formatting of usage text in CLI. Fix contributed by @fannheyward. - - Bug Fix: Fixed bug that caused problems when the type `ellipsis` was used in a type stub instead of `...`. - ([pylance-release#925](https://github.com/microsoft/pylance-release/issues/925)) - - Bug Fix: Fixed recent regression in handling of isinstance second parameter. - -## 2021.2.0 (3 February 2021) - -Notable changes: - -- Docstring formatting has been greatly improved, and now better supports indented regions (such as parameter blocks in numpy/pandas docs), nested lists (such as those in argparse), and epydoc (used in OpenCV). - ([pylance-release#41](https://github.com/microsoft/pylance-release/issues/41), [pylance-release#48](https://github.com/microsoft/pylance-release/issues/48), [pylance-release#83](https://github.com/microsoft/pylance-release/issues/83), [pylance-release#601](https://github.com/microsoft/pylance-release/issues/601), [pylance-release#696](https://github.com/microsoft/pylance-release/issues/696)) -- The creation and deletion of temporary files should no longer trigger reanalysis. - ([pylance-release#905](https://github.com/microsoft/pylance-release/issues/905)) -- A regression that affected pkgutil-style namespace packages has been fixed. - ([pylance-release#892](https://github.com/microsoft/pylance-release/issues/892)) -- Pylance now supports PEP 637 (indexing with keyword arguments) and PEP 646 (variadic generics). These PEPs are still in the draft phase (targeting Python 3.10) and may change before being finalized. -- Pylance's copy of typeshed has been updated, including support for its new directory layout. - -In addition, Pylance's copy of Pyright has been updated from 1.1.106 to 1.1.108, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Enhancement: Added perf optimization that avoids reallocation of special form classes (like Protocol and Literal) every time they're used. Since instance of the type is now cached and reused. - - Enhancement: Added some performance optimizations to handle cases where there are many overloads for a function (>100). Previous code hit n^2 analysis times where n is number of overloads. -- [1.1.108](https://github.com/microsoft/pyright/releases/tag/1.1.108) - - Behavior change: Changed type inference logic for binary expressions of the form `x or []` so `[]` uses the type of `x` to inform its type. - - Bug Fix: Fixed bug in the way a specialized variadic type alias is printed (for error messages, hover text, etc.). - - Enhancement: Added support for subscript index lists that contain a trailing comma (e.g. `a[0,]`). The subscript in this case is a tuple and is not valid for most objects, so it should generate an error. - - Enhancement: Improved parse error recovery for empty subscripts (e.g. `a[]`). Started to add support for PEP 637. - - Enhancement: Improved consistency of error messages. - - New Feature: Added support for PEP 637 (keyword and unpacked arguments in subscripts). This PEP is still in the draft phase and may change before being finalized. - - New Feature: Added a way for the "verifytypes" feature to ignore partially-unknown types imported from external packages. To use this feature, append a "!" to the end of the package name provided after the "--verifytypes" option. -- [1.1.107](https://github.com/microsoft/pyright/releases/tag/1.1.107) - - Bug Fix: Fixed cyclical type resolution with TypeVar. - - Behavior Change: Updated typeshed stubs to new directory layout. - - Bug Fix: Fixed false positive error in try/except/finally statement. Call expressions are now assumed to possibly result in raised exceptions, and finally clauses are assumed to be exception targets. - - Bug Fix: Fixed regression in import resolution where the first portion of the import path matches multiple namespace packages. - ([pylance-release#892](https://github.com/microsoft/pylance-release/issues/892)) - - New Feature: Added initial support for PEP 646 (variadic type variables). This PEP is still in the draft stage and is likely to change before it is ratified. - - Enhancement: Added check for duplicate keyword arguments that map to \*\*kwargs parameter. - - Enhancement: Added support for class properties, which are now supported in Python 3.9. - - Behavior: Eliminated false positive errors for unbound variables that are targets of a for loop iterator and used after the for loop. This change can result in some false negatives. - ([pylance-release#496](https://github.com/microsoft/pylance-release/issues/496)) - -## 2021.1.3 (27 January 2021) - -Notable changes: - -- Deleting an entire folder in the workspace will now correctly retrigger analysis. -- Analysis performance has been improved in the case of deeply nested expressions with calls to overloaded functions. -- Import resolution should now pick the correct module when both a namespace module and a traditional module have the same name in the search paths. - ([pylance-release#859](https://github.com/microsoft/pylance-release/issues/859)) -- The variable override compatibility check will now correclty ignore private class members. - ([pylance-release#863](https://github.com/microsoft/pylance-release/issues/863)) -- A number of crashes and analysis bugs have been fixed. -- The default setting for indexing in the insiders build has been temporarily changed to `false` to pin down potential performance regressions in the feature. It can still be manually enabled with `"python.analysis.indexing": true`. - -In addition, Pylance's copy of Pyright has been updated from 1.1.103 to 1.1.106, including the following changes: - -- [1.1.106](https://github.com/microsoft/pyright/releases/tag/1.1.106) - - Bug Fix: Added missing check for empty f-string expression. - - Bug Fix: Fixed a bug that resulted in incorrect bidirectional type inference when the source was a call to a constructor and the destination (expected) type was a recursive type alias that includes a union with only some subtypes that match the constructed type. - ([pylance-release#721](https://github.com/microsoft/pylance-release/issues/721)) - - Bug Fix: Fixed two issues in the import resolution logic. First, it was returning a namespace module if it found one in the workspace path or extraPaths even if a traditional (non-namespace) module satisfied the import from the sys.path. The interpreter searches all paths and always prefers a traditional module if it can find it. Second, it was resolving a namespace module if a traditional module only partially resolved the import path. The real interpreter always prefers a traditional module even if it partially resolves the path (in which case the full import fails). - ([pylance-release#859](https://github.com/microsoft/pylance-release/issues/859)) - - Behavior Change: When too few type arguments are provided for a generic class specialization, this diagnostic is now handled via reportGeneralTypeIssues rather than reportMissingTypeArgument. The latter is reserved for cases where type arguments are omitted completely. - - Enhancement: Improved type narrowing logic for isinstance and issubclass so they better handle the case where the class passed in the second argument is a type variable. -- [1.1.105](https://github.com/microsoft/pyright/releases/tag/1.1.105) - - Enhancement: Added missing check for \*\* used in argument expressions. The expression after the \*\* must be a mapping with str keys. - - Enhancement: Added missing check for a name-only parameter appearing in a signature after a "\*args: P.args" ParamSpec parameter. - - Enhancement: Improved error message for non-keyword parameter that follows a "\*" parameter. - - Enhancement: Added missing check for positional argument count when a simple positional argument appears after a \*args argument. - - Enhancement: Added missing checks for illegal usage of positional parameters when calling a function defined with ParamSpec and Concatenate. - - Enhancement: Added missing check for use of keyword arguments in a call to an inner function that uses P.args and P.kwargs defined by a ParamSpec. - - Bug Fix: Fixed false positive warning relating to single use of a type variable within a signature when that type variable is a ParamSpec, and it is also referenced in "P.args" or "P.kwargs" annotations. - - Enhancement: Added missing PEP 612 support for functions that take a parameter with a callable type that includes a ParamSpec as well as \*args: P.args and \*\*kwargs: P.kwargs parameters. - - Bug Fix: Fixed false positive error related to use of "ClassVar" when it is used in a member access expression like "typing.ClassVar". - ([pylance-release#876](https://github.com/microsoft/pylance-release/issues/876)) - - Enhancement: Improved performance for deeply nested expressions that involve calls to overloaded functions. - - Bug Fix: Fixed crash when "()" is used as a type argument for a class that doesn't accept variadic type parameters. -- [1.1.104](https://github.com/microsoft/pyright/releases/tag/1.1.104) - - Bug Fix: Fixed bug in import resolver where a namespace package was chosen over a traditional package if the former had a shorter name. - - Enhancement: Added support for `__call__` method overloads when assigning a callable object to a callable type. - - Enhancement: Added error for a subscripted type annotation that involves a quoted expression in the LHS of the subscript. This generates runtime errors. - - Enhancement: Enhanced reportIncompatibleMethodOverride diagnostic check to support overrides that have `*args` and `**kwargs` parameters. - - Enhancement: Improved completion suggestions to better handle super calls in base class methods. - - Bug Fix: Fixed bug that affected the case where a class variable has a declared type in a base class, and a subclass assigns a value to that class variable but doesn't (re)declare its type. In this case, the type of the expression assigned within the base class should use the expected type declared in the base class for type inference. - ([pylance-release#861](https://github.com/microsoft/pylance-release/issues/861)) - - Enhancement: Added missing error logic to handle the case where a type variable is used in the LHS of a member access expression. This isn't supported currently in the Python type system. - - Enhancement: Improved error checking and reporting for NewType (for unions, literals, callables, protocol classes, and type variables). - - Enhancement: Added error check for an attempt to instantiate a literal (`Literal[1]()`). - - Bug Fix: Fixed bug in TypeVar constraint solving logic. If an "Any" or "Unknown" type is being assigned to a constrained TypeVar, it should result in "Any" or "Unknown" rather than the first constrained type. - - Enhancement: Added check for multiple functions declared within the same scope that have the same name, with the final one overwriting the earlier ones. This check is suppressed for overloaded functions and property setters/deleters. - ([pylance-release#865](https://github.com/microsoft/pylance-release/issues/865)) - - Enhancement: Improved the reportIncompatibleVariableOverride diagnostic check so it ignores symbols with private names (i.e. start with double underscores). - ([pylance-release#863](https://github.com/microsoft/pylance-release/issues/863)) - - Bug Fix: Changed hover text to use the last declaration of a symbol rather than the first declaration to determine which type category text (e.g. "(module)" or "(class)") in the hover text. - ([pylance-release#867](https://github.com/microsoft/pylance-release/issues/867)) - - Bug Fix: Fixed bug that caused error when invoking the definition provider on an unresolved module import. - - Bug Fix: Fixed bug in logic that infers symbol types that resulted in "unbound" types to be reported incorrectly in certain rare circumstances. - ([pylance-release#864](https://github.com/microsoft/pylance-release/issues/864)) - - Bug Fix: Fixed a crash in the "--verifytypes" feature of the CLI. - - Bug Fix: Fixed bug in file watching logic so it properly handles cases where an entire folder is deleted. - -## 2021.1.2 (20 January 2021) - -Notable changes: - -- Completions for method overrides in classes without a parent class will no longer generate unnecessary `super()` calls. -- Signature help tooltips will now work when the closing parenthesis is missing. -- Code in `context.surpress` blocks should no longer be unintentionally grayed out in some cases. - ([pylance-release#494](https://github.com/microsoft/pylance-release/issues/494)) -- Methods prefixed with a single underscore are now correctly checked for incompatible overrides. - ([pylance-release#843](https://github.com/microsoft/pylance-release/issues/843)) -- An internal error related to NewType when used with Protocols has been fixed. - ([pylance-release#825](https://github.com/microsoft/pylance-release/issues/825)) -- `@final` and `Final` checks will now ignore private class members and no longer ignore members prefixed with a single underscore when checking for redeclarations. - ([pylance-release#725](https://github.com/microsoft/pylance-release/issues/725)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.101 to 1.1.103, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed bug in import resolver where a namespace package was chosen over a traditional package if the former had a shorter name. - ([pylance-release#853](https://github.com/microsoft/pylance-release/issues/853)) - - Enhancement: Added support for `__call__` method overloads when assigning a callable object to a callable type. - - Enhancement: Added error for a subscripted type annotation that involves a quoted expression in the LHS of the subscript. This generates runtime errors. - - Enhancement: Enhanced reportIncompatibleMethodOverride diagnostic check to support overrides that have `*args` and `**kwargs` parameters. - - Behavior Change: Changed error message about quoted type annotations with non-quoted subscripts to be conditional based on stubs and Python version. This will be supported at runtime in Python 3.10. -- [1.1.103](https://github.com/microsoft/pyright/releases/tag/1.1.103) - - Bug Fix: Suppressed "symbol is unbound" error when used in a `del` statement, since this is legal. - - Enhancement: Enhanced --verifytypes command so it can now accept a module path within a package. Type analysis is limited to the specified module and its submodules. - - Bug Fix: Fixed bug that caused "--verifytypes" feature to report missing return type annotations for all property getters within a class if only one of them was missing a return type annotation. - - Enhancement: Added missing error logic to handle the case where a type variable is subscripted in a type expression. This isn't supported currently in the Python type system. - - Enhancement: Improved signature help in case where right parenthesis is missing. - - Enhancement: Added error for incorrect use of list expression for type arguments. -- [1.1.102](https://github.com/microsoft/pyright/releases/tag/1.1.102) - - Enhancement: Added error for Callable that is missing a return type. - - Behavior Change: Changed type analysis behavior when reportGeneralTypeIssues diagnostic rule is disabled and an incompatible type is assigned to a variable. Previously, the assigned type was retained in this case, but now the declared type is assumed (as it is when reportGeneralTypeIssues is enabled). - - Enhancement: Added support for completion suggestions within subscript for typed dict attribute names. - - Behavior Change: Change string literals to use "constant" type when displayed in completion suggestion lists. - - Behavior Change: Changed logic for detecting overrides of Final member variables by subclasses. Symbols with double underscores are now exempt from this check, since they are considered private and are name-mangled. - ([pylance-release#725](https://github.com/microsoft/pylance-release/issues/725)) - - Bug Fix: Fixed bug in logic that detects overrides of @final methods. The logic was not handling the case where a private (single underscore) method was marked final. - ([pylance-release#725](https://github.com/microsoft/pylance-release/issues/725)) - - Enhancement: Updated typeshed stubs to latest. - - Bug Fix: Fixed regression in code that handles context managers that suppress exceptions. - ([pylance-release#494](https://github.com/microsoft/pylance-release/issues/494)) - - Bug Fix: Fixed bug that resulted in infinite recursion (and an internal error) when NewType was used with a protocol class. - ([pylance-release#825](https://github.com/microsoft/pylance-release/issues/825)) - - Bug Fix: Fixed reportIncompatibleMethodOverride diagnostic check so it doesn't ignore incompatible protected methods (those whose names start with a single underscore). - ([pylance-release#843](https://github.com/microsoft/pylance-release/issues/843)) - - Enhancement: Added support for "reveal_locals()" call to reveal all of the symbols within the current scope. - - Bug Fix: Fixed internal error resulting from an assignment expression located within a list comprehension scope which is contained within a class scope. - - Enhancement: Augmented type completeness JSON output to include alternate public names of exported symbols. For example, if a symbol "foo" is declared in module "a.b.c" and is also re-exported from "a", then the main name of the symbol is "a.b.c.foo", but it has an alternate name of "a.foo". - - Enhancement: Improved "partially unknown type" error messages within type completeness report. - -## 2021.1.1 (13 January 2021) - -Notable changes: - -- The new "report issue" VS Code command can automatically fill out a new GitHub issue template for simpler bug reporting. - ([pylance-release#762](https://github.com/microsoft/pylance-release/issues/762)) -- The PYTHONPATH environment variable is now supported. This requires a recent insiders build of the Python extension (or the yet-to-be-released January version). - ([pylance-release#275](https://github.com/microsoft/pylance-release/issues/275)) -- Variables that are annotated but assigned a value of the wrong type will now use the annotated type rather than using the incorrect type (while in the "off" type checking mode, Pylance's default). - ([pylance-release#822](https://github.com/microsoft/pylance-release/issues/822)) -- A number of crashes and performance issues have been fixed. - ([pylance-release#825](https://github.com/microsoft/pylance-release/issues/825)) -- `TypedDict` keys are now suggested in index expression completions. - ([pylance-release#827](https://github.com/microsoft/pylance-release/issues/827)) -- The semantic token types for class members and methods have been changed to `property` and `method` respectively, for consistency with the LSP spec and other languages in VS Code. -- Type stubs for SQLAlchemy are now bundled, improving completions, type checking, and other features. -- The bundled Django stubs have been updated to the latest version. - -In addition, Pylance's copy of Pyright has been updated from 1.1.99 to 1.1.101, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Enhancement: Added error for Callable that is missing a return type. - - Behavior Change: Changed type analysis behavior when reportGeneralTypeIssues diagnostic rule is disabled and an incompatible type is assigned to a variable. Previously, the assigned type was retained in this case, but now the declared type is assumed (as it is when reportGeneralTypeIssues is enabled). - ([pylance-release#822](https://github.com/microsoft/pylance-release/issues/822)) - - Enhancement: Added support for completion suggestions within subscript for typed dict attribute names. -- [1.1.101](https://github.com/microsoft/pyright/releases/tag/1.1.101) - - Bug Fix: Fixed false negative for "reportUnknownParameterType" diagnostic rule when all function parameters were unannotated. - - Bug Fix: Fixed a couple of issues with TypeGuard. Previously, `TypeGuard` was implemented as an alias to `bool` which meant that `bool` was assignable to `TypeGuard` in all circumstances. Now it is special-cased to be assignable only in return statements. - - Bug Fix: Fixed bug that caused definition provider to not fully resolve a submodule symbol in certain cases. - - Enhancement: Added support for aliases of imported module "sys" when evaluating "sys.platform" and "sys.version". - - Behavior Change: Suppressed "Covariant type variable cannot be used in parameter type" diagnostic in the case of an `__init__` method to match mypy behavior. - - Bug Fix: Fixed regression that broke type inference for packages with no "py.typed" file and no stubs when "useLibraryCodeForTypes" was enabled. -- [1.1.100](https://github.com/microsoft/pyright/releases/tag/1.1.100) - - Bug Fix: Fixed bug that caused "Type" with no type argument not to be flagged as an error. - - Enhancement: Changed pythonPlatform to accept a value of "All" in which case no particular platform will be used over the others. - - Bug Fix: Fixed bug that caused improper error when using "self" in a "raise ... from self" statement. - - Bug Fix: Fixed bug that caused false negative when using a generic type alias with no type arguments. - - Bug Fix: Added cache for logic that determines whether a context manager swallows exceptions (and hence acts like a try/except statement). This cache not only improves performance of code flow walks but also prevents infinite recursion in rare cases. - - Behavior Change: Improved handling of unannotated decorator functions. If the decorator returns a function that accepts only \*args and \*\*kwargs (which is common), the type checker now assumes that the decorated function or method's signature is unmodified by the decorator. This preserves the original signature and docstring. - ([pylance-release#125](https://github.com/microsoft/pylance-release/issues/125)) - - Bug Fix: Fixed bug that caused types within a "finally" clause to be evaluated incorrectly in situations where the "try" and all "except" and "else" clauses returned, raised, or broke. - - Enhancement: Changed error messages that refer to "named" parameters and arguments to "keyword", which is more standard for Python. - - Bug Fix: Fixed bug in declaration provider where the declaration of a member wasn't properly resolved when the LHS of the member access was a call to a function that returns a `Type[X]`. - ([pylance-release#821](https://github.com/microsoft/pylance-release/issues/821)) - - Bug Fix: Fixed bug that manifest as a problem with enums but was actually a problem in handling the circular dependency between "type" and "object" classes (since "type" is an object and "object" is a type). - - Bug Fix: Fixed bug that caused incorrect type evaluation when a class was assigned to a generic protocol that was satisfied by the class's metaclass if the class also derived from a base class that also satisfied the same protocol. - - Enhancement: Added code to test for missing annotation in `Annotated`. - - Bug Fix: Fixed false negative where a union type was assigned to a constrained type variable. An error should be generated in this situation. - - Enhancement: Added additional validation for TypeVar scoping. If an outer class defines the scope for a type var, functions and variables within an inner class cannot use a TypeVar of the same name. - - Bug Fix: Improved handling of "py.typed" for namespace packages and packages with submodules. - - Enhancement: Added support for `__index__` magic method when used with `__getitem__` or `__setitem__` magic methods. - - Enhancement: Added support for matching modules against protocols as specified by PEP 544. - - Bug Fix: Fix for missing docs in completion list due to only checking the setter for docs because its definition comes after the getter. - -## 2021.1.0 (6 January 2021) - -Notable changes: - -- Python files which do not have a `.py` or `.pyi` file extension are now supported. - ([pylance-release#739](https://github.com/microsoft/pylance-release/issues/739), [pylance-release#803](https://github.com/microsoft/pylance-release/issues/803), [pylance-release#810](https://github.com/microsoft/pylance-release/issues/810)) -- Analysis performance has been improved in cases of deeply nested expressions. - ([pylance-release#590](https://github.com/microsoft/pylance-release/issues/590), [pylance-release#767](https://github.com/microsoft/pylance-release/issues/767)) -- Numerous type checking error messages have been improved, including for `TypedDict`, type variable scoping, yields, and `ParamSpec` with overloads. -- Two diagnostics have been added, `reportInvalidTypeVarUse` and `reportUnusedCoroutine`. -- Pylance's copy of typeshed has been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.94 to 1.1.99, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed bug that caused "Type" with no type argument not to be flagged as an error. - - Enhancement: Changed pythonPlatform to accept a value of "All" in which case no particular platform will be used over the others. - ([pylance-release#794](https://github.com/microsoft/pylance-release/issues/794)) - - Bug Fix: Fixed bug that caused improper error when using "self" in a "raise ... from self" statement. - ([pylance-release#806](https://github.com/microsoft/pylance-release/issues/806)) - - Bug Fix: Fixed bug that caused false negative when using a generic type alias with no type arguments. -- [1.1.99](https://github.com/microsoft/pyright/releases/tag/1.1.99) - - Enhancement: Improved error messages for expected TypeDicts. (Contribution from Sam Abey.) - - Bug Fix: Fixed bug where an \*args or \*\*kwargs parameter could be specified by name in a function call. - - Behavior Change: Changed behavior of kwargs parameter that has a generic (TypeVar) type annotation. Literals are now stripped in this case before assigning to the TypeVar. - - Enhancement: Improved mechanism for overloaded `__init__` method that uses `self` parameter annotation to specify the result of a constructor. The new mechanism supports generic type arguments within the `self` annotation. - - Bug Fix: Fixed bug that caused sporadic errors when modifying the builtins.pyi stub file. - - Bug Fix: Fixed bug with overlapping overload detection. It was reporting an incorrect overlap when a different TypeVar (bound vs unbound) was used in two overloads. - - Bug Fix: Fixed another false positive error related to overlapping overload methods with a TypeVar in a parameter annotation. - - Bug Fix: Fixed bug that caused internal stack overflow when attempting to assign a class to a protocol that refers to itself. - - Enhancement: Improved support for protocol matching for protocols that include properties. Getter, setter and deleter methods are now individually checked for presence and type compatibility, and generics are now supported. - - Enhancement: Updated to latest typeshed stubs. -- [1.1.98](https://github.com/microsoft/pyright/releases/tag/1.1.98) - - New Feature: Added new diagnostic rule "reportUnusedCoroutine" that reports an error if the result returned by an async function is not consumed (awaited, assigned to a variable, etc.). This detects and reports a common error when using async coroutines. - - Enhancement: Improved error messages for invalid type annotation syntax usage. - - Enhancement: Updated to the latest typeshed stubs. - - Bug Fix: Fixed recent regression in error message for bound TypeVars that resulted in a confusing message. - - Bug Fix: Fixed bug in error messages for parameter type incompatibility; reported parameter number off by one leading to confusing message. - - Bug Fix: Fixed bug in type compatibility logic when the destination was a metaclass instance and the dest was a class that derived from that metaclass. - - Bug Fix: Fixed bug that caused failure in protocol type matching when the protocol contained a method with an annotated "self" parameter. - - Behavior Change: If a class derives from a protocol class explicitly, individual members are no longer type-checked. This improves performance of type evaluation in some cases. - - Bug Fix: Fixed bug whereby the presence of a `__getattr__` method on a class with no `__init__` method generated an incorrect error when instantiating the class. - - Enhancement: Implemented complete support for module-level `__getattr__` functions as described in PEP 562. - - Behavior Change: Eliminated restriction that prevented the analysis of text files that don't end in ".py" or ".pyi". - ([pylance-release#739](https://github.com/microsoft/pylance-release/issues/739), [pylance-release#803](https://github.com/microsoft/pylance-release/issues/803), [pylance-release#810](https://github.com/microsoft/pylance-release/issues/810)) -- [1.1.97](https://github.com/microsoft/pyright/releases/tag/1.1.97) - - Enhancement: Improved type analysis performance in cases where an expression contains deeply-nested expressions that involve calls to overloaded functions or bidirectional type inference. - - Bug Fix: Fixed bug in ParamSpec logic that affected the case where a generic function with specialized parameters was matched to the ParamSpec. - - Bug Fix: Fixed bug where a union with a NoReturn subtype could have been generated when evaluating a union of iterable types. - - Enhancement: Improved type narrowing logic for "a is b" narrowing in the case where b is a union that contains both literal and non-literal subtypes. - - Enhancement: Added error condition for the situation where an overloaded function is used in conjunction with a ParamSpec. - - Bug Fix: Fixed bug that resulted in a false negative error when performing type assignment checks for functions that contain unspecialized type variables. - - Enhancement: Improved error messages that include type variables. The scope that defines the type variable is now included. This avoids confusing and seemingly-contradictory error messages like "type \_T cannot be assigned to type \_T". - - Bug Fix: Fixed bug that caused type evaluator to generate different results if someone hovered over the name of a type variable within an index expression before the entire source file was analyzed. -- [1.1.96](https://github.com/microsoft/pyright/releases/tag/1.1.96) - - Enhancement: Updated typeshed stubs to the latest. - - Behavior Change: Switched to LSP-native progress reporting rather than using custom progress reporting messages. - - New Feature: Added a new diagnostic rule called "reportInvalidTypeVarUse" that flags errors when TypeVars are used incorrectly. In particular, it flags the use of a single instance of a TypeVar within a generic function signature. - - Bug Fix: Fixed assertion (and associated crash) that results when an LS client asks the language server to open a non-Python file (i.e. one whose file name doesn't have a ".py" or ".pyi" extension). The server now ignores such requests rather than crashing. - - Enhancement: Enhanced ParamSpec mechanism to support parameters that have default values. - - Bug Fix: Fixed issue with variable expansion for environment variables used within settings. - - Enhancement: Improved error message for yield type mismatch. - - Performance Improvement: Added a heuristic to skip call-site return type inference if the number of arguments is above a threshold (6). This avoids long analysis times for complex unannotated functions. - ([pylance-release#729](https://github.com/microsoft/pylance-release/issues/729)) - - Bug Fix: Fixed bug in error message for tuple size mismatches in the case where the source tuple has indeterminate length and the dest has a specified length. - - Bug Fix: Fixed incorrect assertion (which manifests as a runtime crash) when assigning to a type that is a generic class with no specified type arguments. - - Enhancement: Added new error for a protocol class that derives from a non-protocol base class. - - Behavior Change: Changed the logic for `Type` vs `type` such that `Type` (the capitalized form) is always used in cases where there is a type argument (such as `Type[int]` or `type[str]` and `type` is used in cases where the non-generic class `type` is intended. This allows `type` to be used in `isinstance` type narrowing. - - Bug Fix: Fixed bug in function assignment logic in the case where the destination function has name-only parameters and the source has positional parameters that match those name-only parameters. - - Behavior Change: Changed heuristic for when a decorator should be ignored for purposes of type checking. It was previously ignored if the application of the decorator resulted in an "Unknown" type. The new heuristic also ignores the application of the decorator if the resulting type is a union that includes an Unknown subtype. This situation occurs frequently with unannotated decorators where part of the result can be inferred but part cannot. - ([pylance-release#728](https://github.com/microsoft/pylance-release/issues/728)) - - Bug Fix: Fixed bug that caused incorrect type evaluation when a relative import referenced a submodule with the same name as a symbol that was imported from that submodule if that submodule was later imported again within the same file (e.g. `from .foo import foo, from .foo import bar`). - ([pylance-release#750](https://github.com/microsoft/pylance-release/issues/750)) - - Enhancement: Added support for protocol callable types when performing bidirectional type inference for lambda expressions. - ([pylance-release#754](https://github.com/microsoft/pylance-release/issues/754)) - - Enhancement: Improved "isinstance" narrowing to better handle the case where the narrowed expression is a constrained TypeVar. It now preserves the constraint so the value can be assigned back to the TypeVar type. - - Bug Fix: Fixed bug in "is None" and "is not None" type narrowing logic when dealing with recursive type aliases. -- [1.1.95](https://github.com/microsoft/pyright/releases/tag/1.1.95) - - Behavior Change: Changed encoding of diagnostics reported through the LSP interface. The diagnostic rule (if applicable) is now reported in the "code" field, and a URL points to general documentation for diagnostic rules. - - Enhancement: Added support for type arg lists specified in a tuple expression (like `Dict[(str, str)]`) which is a legal way of writing type annotations. - - Bug Fix: Fixed infinite recursion due to a `__call__` method that returns an instance of the class that is being called. - - Bug Fix: Fixed bug that caused completion suggestions not to work for member accesses when the LHS of the expression was a type specified in the form `Type[X]`. - - Bug Fix: Fixed bug that resulted in an attempt to parse and bind a native library (binary file) resulting in long latencies and out-of-memory errors. - - Enhancement: Improved error message for unknown named parameters for TypeVar constructor. - - Bug Fix: Fixed recent regression that causes a crash in certain circumstances when binding a method to an object or class in cases where that method doesn't have a "self" parameter but instead just has `*args` and `**kwargs` parameters. - - Bug Fix: Fixed bug that resulted in incorrect reporting of unreported variables or parameters when they are accessed within argument expressions in cases where an error is detected when analyzing a call expression. - - Enhancement: Expand ${env:HOME} in settings. Thanks to @ashb for the contribution. - - Bug Fix: Fixed bug that generated incorrect errors when a callable type included another callable type as an input parameter and the second callable type had generic parameter types. - - Bug Fix: Fixed bug that caused a false negative when a default parameter value was assigned to a parameter with a generic type annotation. - - Bug Fix: Fixed bug that caused incorrect error to be reported when applying logical operators ("|", "&" or not) to enum.Flag literals. - ([pylance-release#726](https://github.com/microsoft/pylance-release/issues/726)) - -## 2020.12.2 (11 December 2020) - -Notable changes: - -- Extract method and variable refactorings are now enabled for all users. -- Binary files will no longer be mistakenly loaded as source code. - ([pylance-release#706](https://github.com/microsoft/pylance-release/issues/706)) -- Various crashes and stack overflows have been fixed. - ([pylance-release#709](https://github.com/microsoft/pylance-release/issues/709), [pylance-release#717](https://github.com/microsoft/pylance-release/issues/717)) - -In addition, Pylance's copy of Pyright has been updated, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Behavior Change: Changed encoding of diagnostics reported through the LSP interface. - - Enhancement: Added support for type arg lists specified in a tuple expression (like `Dict[(str, str)]`) which is a legal way of writing type annotations. - - Bug Fix: Fixed infinite recursion due to a `__call__` method that returns an instance of the class that is being called. - ([pylance-release#709](https://github.com/microsoft/pylance-release/issues/709)) - - Bug Fix: Fixed bug that caused completion suggestions not to work for member accesses when the LHS of the expression was a type specified in the form `Type[X]`. - ([pylance-release#714](https://github.com/microsoft/pylance-release/issues/714)) - - Bug Fix: Fixed bug that resulted in an attempt to parse and bind a native library (binary file) resulting in long latencies and out-of-memory errors. - ([pylance-release#706](https://github.com/microsoft/pylance-release/issues/706)) - - Bug Fix: Fixed recent regression that causes a crash in certain circumstances when binding a method to an object or class in cases where that method doesn't have a "self" parameter but instead just has `*args` and `**kwargs` parameters. - ([pylance-release#717](https://github.com/microsoft/pylance-release/issues/717)) - - Bug Fix: Fixed bug that resulted in incorrect reporting of unreported variables or parameters when they are accessed within argument expressions in cases where an error is detected when analyzing a call expression. - ([pylance-release#719](https://github.com/microsoft/pylance-release/issues/719)) - -## 2020.12.1 (9 December 2020) - -Notable changes: - -- Context managers that may suppress exceptions (such as `contextlib.suppress`) will no longer mark code after the `with` block as unreachable. - ([pylance-release#494](https://github.com/microsoft/pylance-release/issues/494)) -- Various stack overflows have been fixed. - ([pylance-release#701](https://github.com/microsoft/pylance-release/issues/701)) -- Stack traces in error messages should now provide more detailed information, aiding in issue reporting for internal errors and crashes. - -In addition, Pylance's copy of Pyright has been updated from 1.1.91 to 1.1.94, including the following changes: - -- [1.1.94](https://github.com/microsoft/pyright/releases/tag/1.1.94) - - Bug Fix: Fixed potential source of infinite recursion in type evaluator. - - Behavior Change: Changed behavior of tuples to strip literals when converting the variadic list of type arguments into a single "effective" type argument. This means the expression `list((1,))` will now be evaluated as type `list[int]` rather than `list[Literal[1]]`. - ([pylance-release#697](https://github.com/microsoft/pylance-release/issues/697)) - - Bug Fix: Fixed bug in parser that generated an inappropriate syntax error when an annotated variable assignment included a star test list on the RHS with an unpack operator. - ([pylance-release#700](https://github.com/microsoft/pylance-release/issues/700)) - - Enhancement: Added support for context managers that are designed to suppress exceptions. - - Bug Fix: Fix infinite recursion in logic that maps pyi files to py files. - - Enhancement: Improved source maps for better stack traces, useful for bug reports. -- [1.1.93](https://github.com/microsoft/pyright/releases/tag/1.1.93) - - Enhancement: Added support for TypeVar objects that are used outside of type annotations. - - Bug Fix: Fixed bug that caused incorrect error when performing binary operations (arithmetics, comparisons, etc.) on classes that define corresponding magic methods that are instance methods. When performing the operation on the class, the magic methods in the metaclass should be used instead. - ([pylance-release#705](https://github.com/microsoft/pylance-release/issues/705)) - - Enhancement: Added support for frozen dataclasses. Errors are now reported if a frozen dataclass inherits from a non-frozen dataclass and if an attempt is made to set the member of a frozen dataclass. - - Bug Fix: Added support for "bytes" type promotions for bytearray and memoryview. - ([pylance-release#692](https://github.com/microsoft/pylance-release/issues/692)) - - Bug Fix: Added support for static methods and class methods that are invoked on non-specialized generic classes where the arguments to the method provide sufficient context to fill in the missing class-level type arguments. - - Behavior Change: Changed reportWildcardImportFromLibrary diagnostic rule so it doesn't apply to type stub files. - - Bug Fix: Fixed bug that resulted in incorrect error when attempting to assign a constrained TypeVar to a union type that satisfied all of the constrained types. - - Bug Fix: Added support for binary operator magic methods that operate on constrained TypeVars. - - Bug Fix: Fixed the logic that determines whether a type can be assigned to another type when invariance rules are in effect - in particular when the destination is a union. Previously, the unions needed to match exactly. The new logic takes into account whether the destination union contains subtypes that are subclasses of each other. - - Bug Fix: Fixed bug where None and Callable types could be assigned to "object" even when invariant rules were in effect. This allowed `List[None]` to be assigned to `List[object]`. -- [1.1.92](https://github.com/microsoft/pyright/releases/tag/1.1.92) - - Bug Fix: Fixed bug in parser that resulted in the opening parenthesis ("(") in a parenthesized expression or tuple not being included in the parse node range. - - Bug Fix: Fixed bug that could result in "unaccessed variable" error for variables that were referenced in argument expressions if there were other errors related to the call expression. - - Bug Fix: Fixed bug in logic dealing with comment-style function annotations that resulted in spurious errors if "self" was used within an instance method that was so annotated. - - Bug Fix: Fixed bug that caused errors when a hierarchy of dataclass classes used generic types for one or more dataclass members. - - Bug Fix: Fixed bug in type checker where it allowed invariant type parameters to violate invariance if the destination was an "object" instance. - - Bug Fix: Fixed off-by-one error in fstring parsing with debug variables that resulted in errors if the "=" was not preceded by a space. - ([pylance-release#686](https://github.com/microsoft/pylance-release/issues/686)) - - Bug Fix: Fixed bug in logic that validates the assignment of a callable type to a generic callable when one of the parameters is another callable. - - Bug Fix: Fixed bug that affected generic type aliases that included callable types. - - Bug Fix: Fixed bug in bidirectional type inference logic when RHS includes call that returns a generic type. The old logic was prepopulating the type associated with that TypeVar but prevented the type from being further narrowed. This resulted in incorrect errors with argument expressions in some cases. - - Enhancement: Added PEP 604 support for unions passed as the second argument to isinstance and issubclass. - - Enhancement: Improved error messages for binary operations that involve a TypeVar for one of the operands. - - Enhancement: Updated the reportMissingTypeArgument diagnostic check to apply to bound types in TypeVar declarations. - -## 2020.12.0 (2 December 2020) - -Notable changes: - -- Extract method and extract variable code actions are available for preview in Pylance insiders (`"pylance.insidersChannel": "daily"`). -- Completion suggestions are now matched more fuzzily. For example, typing `lx` will match a completion for `logical_xor`, even though it does not contain the substring `lx`. - ([pylance-release#608](https://github.com/microsoft/pylance-release/issues/608)) -- Auto-imports (both completions and quick fixes) will now make use of existing imports when possible. For example, an auto-import completion for `array` when `import numpy as np` is present will now complete to `np.array`, rather than adding `from numpy import array`. -- Auto-imports will now correctly insert a new import rather than reusing an import statement from a submodule. - ([pylance-release#646](https://github.com/microsoft/pylance-release/issues/646)) -- Method override completions will now generate a `super()` call. - ([pylance-release#668](https://github.com/microsoft/pylance-release/issues/668)) -- Completions for overridden methods will now show the correct signature. -- VS Code's "word based suggestions" (`editor.wordBasedSuggestion`) are now disabled by default in Python files to mitigate poor completions when Pylance specifies no completions are available. - ([pylance-release#604](https://github.com/microsoft/pylance-release/issues/604)) -- Pylance's copy of typeshed has been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.86 to 1.1.91, including the following changes: - -- [1.1.91](https://github.com/microsoft/pyright/releases/tag/1.1.91) - - Enhancement: Updated to the latest typeshed stubs. - - Bug Fix: Fixed bug in fstring parser that generated "unexpected token at end of string" errors if fstring debug (introduced in Python 3.8) was used in conjunction with string-formatting syntax and there was no space between the "=" and the ":". - - Bug Fix: Fixed bug that caused a spurious error when defining a property setter when the property getter had no declared return type. - - Bug Fix: Fixed bug in isinstance narrowing logic where it didn't properly preserve a TypeVar in the negative ("else") case. - - Bug Fix: Fixed bug in type narrowing logic for member access expressions like "a.b.c". A narrowed type needs to be abandoned if any part of the expression is reassigned (e.g. `a.b = `). - - Bug Fix: Fixed bug that resulted a "Never" type appearing as a type argument in an inferred function return type. "Never" should never be used as a type argument. It is now replaced by "Unknown" if it ever does appear. - - Bug Fix: (from pylance): Fixed completion case where the completion item said one method, but hover said another once inserted. - - Bug Fix: (from pylance): Reuse existing imports for auto-imports (e.g. if `import os.path` is present, `join` will use `os.path.join`). -- [1.1.90](https://github.com/microsoft/pyright/releases/tag/1.1.90) - - Enhancement: Added support for type() call when argument contains a generic class instance. - - Enhancement: Improved reportIncompatibleMethodOverride diagnostic check for property overrides. It now checks for missing fget, fset, fdel methods and the overridden method types for each of these. - - Enhancement: Added special-case handling of overloaded `__init__` methods where the `self` parameter contains an annotation with a specialized version of the class. This is used in some typeshed stubs to influence the constructed object type when no additional information is available. - - Bug Fix: Fixed bug in parser that resulted in incorrect errors when an unpack operator was used within an f-string expression. - - Bug Fix: Fixed bug that resulted in incorrect errors when matching synthesized "cls" parameter type. This bug generally affected all TypeVars that were bound to a Type. - - Enhancement: Improved type checking support for constrained TypeVars within function and class bodies. This was a significant change, so there's some risk of regressions or new false-positive errors. Please report any bugs you see. -- [1.1.89](https://github.com/microsoft/pyright/releases/tag/1.1.89) - - New Feature: Added support for new reportUnsupportedDunderAll diagnostic rule. It checks for unsupported manipulations of `__all__`. - - New Feature: Implemented new diagnostic rule reportUnusedCallResult that checks whether a call expression's results are consumed. If the results are None or Any, no diagnostic is produced. - - Enhancement: Added support for isinstance and issubclass type narrowing when "cls" or "self" parameters are used in the second argument - - Bug Fix: Fixed recent regression with TypeGuard type that caused spurious error when a bool value was return from a user-defined type guard function. - - Bug Fix: Fixed bug in reportIncompatibleMethodOverride diagnostic check where it incorrectly reported an error if a derived class used overload functions on an overridden method. - - Bug Fix: Fixed bug that caused incorrect binding when invoking a class method through an instance. - - Bug Fix: Fixed handling of recursive type annotations for variables (e.g. "int: int"). In some specific situations this is allowed if the annotation refers to a symbol in an outer scope. - - Bug Fix: Fixed several bugs related to constructor type inference when the expected type contained generic types with type arguments that contained type variables defined in a context outside of the constructor's call site. -- [1.1.88](https://github.com/microsoft/pyright/releases/tag/1.1.88) - - Enhancement: This release includes a major update to TypeVar code. The type checker is now much more strict about how TypeVars are treated when analyzing the bodies of generic functions or methods within generic classes. - - Bug Fix: Fixed bug in synthesis of comparison operators in dataclass. By default, these methods should not be synthesized unless `order=True` is passed to the `@dataclass` decorator. - - Bug Fix: Fixed bug that caused incorrect specialization of a TypeVar when used in a descriptor class with a `__set__` method. - - Bug Fix: Fixed incorrectly handling of generic type alias that is defined in terms of other generic type aliases. - ([pylance-release#636](https://github.com/microsoft/pylance-release/issues/636)) - - Bug Fix: Fixed bug that caused incorrect overload to be selected in cases where a named argument was used. - - Enhancement: Improved signature help for calls to namedtuple constructor. - ([pylance-release#630](https://github.com/microsoft/pylance-release/issues/630)) - - Bug Fix: Added support for a generic method whose "self" parameter is annotated with a bound TypeVar and is then invoked using another bound TypeVar. - - Bug Fix: Improved error reporting for assignments to protocols. - - Enhancement: Added support for the instantiation of a class via a constructor when the type of the class is specified as a TypeVar. - - Bug Fix: Fixed inappropriate error in strict mode when a named argument for a call expression begins with an underscore. - - Bug Fix: Fixed bug that results in an incorrect type when a call to a function returns a generic type and the result is assigned to a variable with a declared type that includes a union. -- [1.1.87](https://github.com/microsoft/pyright/releases/tag/1.1.87) - - Bug Fix: Fixed bug with type annotations that use a TypeVar with the new union syntax. - - Behavior Change: Removed special-case code that eliminates a NoReturn from an async function. - - Behavior Change: Changed behavior of NoReturn when it appears within unions. Previously, it was always filtered out of unions. It is now filtered out only in the inferred return type of a function. This allows NoReturn to be used in unions in other legitimate cases. - - Bug Fix: Fixed bug that resulted in a false negative when a callable type with a kwargs parameter was assigned to a callable type without a kwargs or with a kwargs of a different type. - - Enhancement (from Pylance): Changed fuzzy text matching algorithm for completion suggestions. - - Bug Fix: Fixed bug whereby an assignment was not flagged as an error if the target type contains a type var and the source is concrete. This change generally makes the core type checker more strict about the use of type variables. - - Enhancement: Added support for "eq" and "order" parameters in dataclass decorator as defined in PEP 557. - - New Feature: Added new diagnostic rule "reportFunctionMemberAccess" that reports an attempt to access, set or delete non-standard attributes of function objects. - -## 2020.11.2 (18 November 2020) - -Notable changes: - -- Pylance now includes generated stubs for select compiled modules in `numpy`, `cv2`, and `lxml`. This should greatly improve usability when working with these libraries. - ([pylance-release#138](https://github.com/microsoft/pylance-release/issues/138), [pylance-release#150](https://github.com/microsoft/pylance-release/issues/150), [pylance-release#392](https://github.com/microsoft/pylance-release/issues/392)) -- Pylance now offers an insiders program, which provides access to prerelease builds and features. Setting `"pylance.insidersChannel": "daily"` will check daily for updates. -- `__future__` is now properly suggested as an import. - ([pylance-release#539](https://github.com/microsoft/pylance-release/issues/539)) -- Type aliases are now properly expanded in completion tooltips. - ([pylance-release#562](https://github.com/microsoft/pylance-release/issues/562)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.85 to 1.1.86, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed bug with type annotations that use a TypeVar with the new union syntax. - - Behavior Change: Removed special-case code that eliminates a NoReturn from an async function. - - Behavior Change: Changed behavior of NoReturn when it appears within unions. Previously, it was always filtered out of unions. It is now filtered out only in the inferred return type of a function. This allows NoReturn to be used in unions in other legitimate cases. - - Bug Fix: Fixed bug that resulted in a false negative when a callable type with a kwargs parameter was assigned to a callable type without a kwargs or with a kwargs of a different type. -- [1.1.86](https://github.com/microsoft/pyright/releases/tag/1.1.86) - - Enhancement (from Pylance): Improvements to completion provider and signature help provider. - - Bug Fix: Allow `TypeAlias` to be used prior to Python 3.10 if imported from typing_extensions. - - Enhancement: Added special-case handling for magic method `__class_getitem__`, which is implicitly a classmethod. - - Enhancement: Added support for classes that include the `__class_getitem__` magic method to provide custom behaviors for subscripting. - - Enhancement: Support detecting multiple site-packages directories in venvs. [Contribution by Truls Asheim] - - Bug Fix: Fixed bug that caused incorrect type errors when dealing with magic methods on the tuple class. - - Bug Fix: Fixed a confusing diagnostic message relating to incorrect method override. - - Enhancement: Enforced that TypeVars being solved for in a TypeVar map match the expected scope. - - Bug Fix: Fixed bug in synthesized `setdefault` method on TypedDict for required entries, which never use the default value. - - Bug Fix: Fixed bug that resulted in an inappropriate error when a kwarg parameter was typed with a class-defined TypeVar (e.g. `**kwargs: _VT`). - - Bug Fix: Made the check less strict for the use of covariant type vars within a function input parameter annotation. In particular, unions that contain covariant type vars are now permitted. - - Enhancement: Add `__future__` module as import suggestion. [Contribution by cdce8p] - ([pylance-release#539](https://github.com/microsoft/pylance-release/issues/539)) - - Bug Fix: Fixed bug that caused the issubtype type narrowing logic to fail when used with a bound TypeVar T in combination with `Type[T]`. - - Bug Fix: Don't add suggestions for 'with Y as [ ]'. [Contribution by cdce8p] - - Enhancement: Type aliases are now expanded in completion provider text in the same way as the hover text. [Contribution by cdce8p] - ([pylance-release#562](https://github.com/microsoft/pylance-release/issues/562)) - - Enhancement: Improve handling of type aliases for auto-import. [Contribution by cdce8p] - ([pylance-release#606](https://github.com/microsoft/pylance-release/issues/606)) - -## 2020.11.1 (11 November 2020) - -Notable changes: - -- Completions will no longer be offered in contexts where a new name is being typed, including class names, function names, parameter names, and import alias names. This also has the effect of hiding undesirable auto-import completions for test fixtures. - ([pylance-release#163](https://github.com/microsoft/pylance-release/issues/163)) -- Completions will no longer incorrectly be offered inside of string literals. - ([pylance-release#383](https://github.com/microsoft/pylance-release/issues/383)) -- Docstring formatting in signature help tooltips will now match hover and completion tooltips. - ([pylance-release#566](https://github.com/microsoft/pylance-release/issues/566)) -- Tokens that come from the builtins now have a "builtin" semantic modifier for theming. - ([pylance-release#561](https://github.com/microsoft/pylance-release/issues/561)) -- The "make Pylance your default language server" prompt will now hide permanently if "no" is selected. - ([pylance-release#568](https://github.com/microsoft/pylance-release/issues/568)) -- The pandas stubs have been updated. - ([pylance-release#576](https://github.com/microsoft/pylance-release/issues/576)) -- Pylance's copy of typeshed has been updated. - -In addition, Pylance's copy of Pyright has been updated from 1.1.83 to 1.1.85, including the following changes: - -- [1.1.85](https://github.com/microsoft/pyright/releases/tag/1.1.85) - - Behavior Change: Changed diagnostic about first argument to `super` call to be part of the reportGeneralTypeIssues diagnostic rule so it is suppressed when type checking mode is set to "off". - ([pylance-release#589](https://github.com/microsoft/pylance-release/issues/589)) - - Bug Fix: Fixed bug that caused code within finally clause to be marked as unreachable if there was no except clause and the code within the try block always raised an exception. - ([pylance-release#592](https://github.com/microsoft/pylance-release/issues/592)) - - Bug Fix: Fixed bugs in ParamSpec logic. It was not properly handling the case where the target callable type contained keyword-only or positional-only parameter separators. - - Bug Fix: Added support for `tuple` and `type` subscripts when `__future__` annotations is defined. - - Bug Fix: Fixed bug that caused improper errors when using new-style union syntax with `from __future__ import annotations`. - - Bug Fix: Worked around a reported bug in node 14+ on Linux where calls to fs.watch throw an exception when creating a recursive file watcher. The workaround is to catch the exception and proceed without a file watcher in place. - - Enhancement: Updated typeshed stubs to the latest. -- [1.1.84](https://github.com/microsoft/pyright/releases/tag/1.1.84) - - Bug Fix: Fixed parser crash when an f-string contained an empty expression. - - Bug Fix: Fixed bug that caused diagnostics with "information" severity to be reported as "warnings" in the CLI version of pyright. - - Bug Fix: Fixed recent regression in handling type evaluations for "and" and "or" operators. Short-circuiting evaluation was not handled correctly in some cases. - - Bug Fix: Fixed bug in parser that caused expressions within f-strings to be handled incorrectly if they contained syntax errors. - - Bug Fix: Fixed bug in parsing of annotated variable assignments. It was not allowing yield expressions on the right-hand side. - - Enhancement: Added special-case logic to handle `isinstance` call when the first argument is a TypedDict and the second argument is a `dict` class. A TypedDict does not derive from `dict` from the perspective of type checking, but at runtime, `isinstance` returns True. This affects both type narrowing logic and checks for unnecessary `isinstance` calls. - - Bug Fix: Fixed bug in type narrowing logic for expressions of the form "type(x) is y" or "type(x) is not y". The logic was incorrectly narrowing the type in the negative ("else") case. And in the positive case, it was not properly handling cases where x was a subclass of y. - ([pylance-release#572](https://github.com/microsoft/pylance-release/issues/572)) - - Bug Fix: Fixed bug that caused completion suggestions to be presented when typing a period within a comment on the first line of the file. - - Enhancement: Improved signature help for data classes where default values are specified. - ([pylance-release#585](https://github.com/microsoft/pylance-release/issues/585)) - - Bug Fix: Fixed bug in NamedTuple logic that caused spurious errors when attempting to assign a NamedTuple to a Tuple with a compatible set of type arguments. - -## 2020.11.0 (4 November 2020) - -Notable changes: - -- Common module aliases (such as `np`, `pd`, `plt`) are now available as completions, in addition to being suggested in quick fixes. -- Completions on lines containing the character `#` will now work correctly. - ([pylance-release#461](https://github.com/microsoft/pylance-release/issues/461)) -- Completions for functions in import statements will no longer incorrectly add parentheses when `completeFunctionParens` is enabled. - ([pylance-release#320](https://github.com/microsoft/pylance-release/issues/320)) -- The bundled Django stubs have been updated to the latest version. - ([pylance-release#212](https://github.com/microsoft/pylance-release/issues/212)) -- Empty f-string expressions are now parsed correctly. - -In addition, Pylance's copy of Pyright has been updated from 1.1.82 to 1.1.83, including the following changes: - -- [1.1.83](https://github.com/microsoft/pyright/releases/tag/1.1.83) - - Bug Fix: Fixed bug in perf optimization for set, list, and dictionary type inference. The old code was failing to evaluate expressions associated with entries beyond 64, which meant that tokens were not classified correctly and type errors in these expressions were not reported. - - Bug Fix: Do not report errors for union alternative syntax (PEP 604) if evaluation of type annotation is postponed (either in a quote or via PEP 563). - - Bug Fix: Fixed bug that caused spurious errors when evaluating type annotations within certain circumstances. - ([pylance-release#513](https://github.com/microsoft/pylance-release/issues/513)) - - Bug Fix: Fixed bug that sporadically caused incorrect and confusing type errors such as "list is incompatible with List". - ([pylance-release#521](https://github.com/microsoft/pylance-release/issues/521)) - - Bug Fix: PEP 585 says that it should be possible to use `type` in place of `Type` within type annotations. Previously, this generated an error. - - Behavior Change: Changed re-export logic for type stub and py.typed modules to honor the clarification that was recently added to PEP 484. Previously, any import that used an "as" clause was considered to be re-exported. Now, symbols are re-exported only if the "as" clause is redundant (i.e. it is of the form `import A as A` or `from A import X as X`). - - Bug Fix: Fixed inconsistency in handling of imported symbols that have multiple untyped declarations within the target module. The inconsistency was between the two cases `import x, x.y` and `from x import y`. In the latter case the type resolution logic considered only the last symbol declaration in the target module, but in the former case it was considering all declarations and returning the union of all types. - ([pylance-release#545](https://github.com/microsoft/pylance-release/issues/545)) - - Bug Fix: Fixed bug in f-string parsing. It was generating an error for comma-separate list of expressions, which is legal. - ([pylance-release#551](https://github.com/microsoft/pylance-release/issues/551)) - - Bug Fix: Fixed inconsistency in type narrowing for `isinstance` and `issubclass` calls. Previously, the narrowing logic used the target class(es) if the source expression was of type Any but did not do the same when the source expression was a union type that included Any but all other subtypes were eliminated. - ([pylance-release#557](https://github.com/microsoft/pylance-release/issues/557)) - - Bug Fix: Added logic for `or` and `and` operators to handle the case where the left-hand operand is always falsy (in the case of `or`) or always truthy (in the case of `and`). - -## 2020.10.3 (28 October 2020) - -Notable changes: - -- Performance while in the "off" type checking mode has been improved (the default for Pylance). -- A performance regression related to the experimental `TypeGuard` type has been fixed, which should further improve overall performance. -- The bundled Django stubs have been updated to the latest version. - ([pylance-release#536](https://github.com/microsoft/pylance-release/issues/536)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.81 to 1.1.82, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Do not report errors for union alternative syntax (PEP 604) if evaluation of type annotation is postponed (either in a quote or via PEP 563). - ([pylance-release#513](https://github.com/microsoft/pylance-release/issues/513)) - - Bug Fix: Fixed bug in perf optimization for set, list, and dictionary type inference. The old code was failing to evaluate expressions associated with entries beyond 64, which meant that tokens were not classified correctly and type errors in these expressions were not reported. - ([pylance-release#518](https://github.com/microsoft/pylance-release/issues/518)) -- [1.1.82](https://github.com/microsoft/pyright/releases/tag/1.1.82) - - Bug Fix: Fixed internal error that occurs when the type evaluator encounters a circular dependency between a class decorator and the class that it decorates. - - Bug Fix: Fixed bug in protocol matching logic that results in incorrect errors indicating a function type mismatch. - - Perf Improvement: Conditionalized the logic for the reportPropertyTypeMismatch diagnostic check. It's somewhat expensive, so don't bother executing it if it's disabled. - - Perf Improvement: Fixed performance regression introduced along with user-defined type guards. - - Enhancement: Added support for reverse logical operators (`__ror__`, `__rand__`, etc.). - - Bug Fix: Added code to handle the case where a class has a custom metaclass that handles logical or (the `__or__` method). Previous to this change, use of an `|` operator with classes was assumed to be a misuse of PEP 614 in Python versions prior to 3.10. - ([pylance-release#513](https://github.com/microsoft/pylance-release/issues/513)) - - Bug Fix: Fixed bug that resulted in an incorrect error when a list comprehension expression was used within a lambda and the expression referenced one or more of the lambda parameters. - ([pylance-release#520](https://github.com/microsoft/pylance-release/issues/520)) - - Bug Fix: Fixed bug that caused incorrect error to be reported for names referenced in global and nonlocal statements when those names were not declared in the outer scope. - ([pylance-release#526](https://github.com/microsoft/pylance-release/issues/526)) - Bug Fix: Fixed bug that resulted in incorrect error when second argument of isinstance was a "type" or "Type" object. - -## 2020.10.2 (21 October 2020) - -Notable changes: - -- Incremental text changes are now supported, which should improve performance when editing large files. -- Invalid diagnostics should no longer appear when semantic highlighting is enabled. - ([pylance-release#491](https://github.com/microsoft/pylance-release/issues/491)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.79 to 1.1.81, including the following changes: - -- [1.1.81](https://github.com/microsoft/pyright/releases/tag/1.1.81) - - Bug Fix: Fixed bug in parser that caused incorrect errors in chains of comparison or "in"/"not in" operators. The expression "a == b == c" should be parsed as "a == (b == c)", but the code was previously parsing it as "(a == b) == c". This didn't matter in most cases, but it does when the types of a, b and c differ. - ([pylance-release#506](https://github.com/microsoft/pylance-release/issues/506)) - - Bug Fix: Fixed bug that resulted in incorrect errors when an instance variable with no type declaration was assigned an enum value. It was assumed to be of that literal enum value type rather than the wider enum type. - - Bug Fix: Fixed bug that resulted in false positive error when a class derived from another class that was instantiated from a custom metaclass. - ([pylance-release#507](https://github.com/microsoft/pylance-release/issues/507)) - - Bug Fix: Fixed bug that caused type errors when internal type cache was cleared. The code previously used parse node IDs to distinguish between types that are not created via class declarations (NamedTuple, type, NewType, etc.). Since node IDs change when a file is reparsed (due to a change), these IDs cannot be relied upon for type comparisons. - - Enhancement: Added support for "typing" module aliases when checking for TYPE_CHECKING symbol in static boolean expressions. -- [1.1.80](https://github.com/microsoft/pyright/releases/tag/1.1.80) - - Bug Fix: Fixed bug that caused an incorrect error when `self.__class__` was used as the second argument to an `isinstance` call. - - Bug Fix: Changed logic for function return type inference so "unbound" type is never propagated to callers. This eliminates incorrect and confusing errors. - - Bug Fix: Fixed bug in type stub generator. It was not properly handling annotated variables (either those with PEP 593 annotations or older-style type comment annotations). - ([pylance-release#490](https://github.com/microsoft/pylance-release/issues/490)) - - Bug Fix: Fixed bug in completion provider that caused submodules within a namespace module not to be suggested within a "from x import y" statement. - ([pylance-release#359](https://github.com/microsoft/pylance-release/issues/359)) - - Bug Fix: Fixed misleading error message within "from x import y" statement where x was a namespace package and y was not found. The error was being reported as an "unresolved import x" rather than "unknown symbol y". - - Bug Fix: Fixed bug in type evaluator that caused spurious errors related to variables used within "for" and "if" statements within a comprehension. - - Bug Fix: Fixed bug that caused incorrect error to be reported when a recursive type alias was used in certain circumstances. - - Enhancement: Improved type inference for tuples in circumstances where literals are used within a tuple expression and when tuple expressions are assigned to an expected type that is not a tuple but is a compatible type (such as Iterable). - ([pylance-release#487](https://github.com/microsoft/pylance-release/issues/487)) - - Bug Fix: Fixed bug that resulted in incorrect error about TypeVar being used incorrectly. The specific condition was when it was referenced within a method within a generic class and one of the method's parameters also referenced the same TypeVar. - - Bug Fix: Fixed bug where declared variable with literal types in type arguments were being stripped of those literals when the variable was exported from a module. - - Bug Fix: Fixed bug that caused duplicate error messages involving certain TypeVar assignments. - - Enhancement: Added diagnostic check for dictionary unpack operator (\*\*) if the operand is not a mapping object. - - Enhancement (from Pylance): Added support for increment text changes in language server interface. This will theoretically improve performance for edits in large source files. - -## 2020.10.1 (14 October 2020) - -Notable changes: - -- The `pandas` stubs have been further improved. - ([pylance-release#457](https://github.com/microsoft/pylance-release/issues/457)) -- Semantic tokens will now be refreshed on settings change. -- Completions for function parameters will no longer incorrectly appear outside call parenthesis. - -In addition, Pylance's copy of Pyright has been updated from 1.1.78 to 1.1.79, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed bug that caused an incorrect error when `self.__class__` was used as the second argument to an `isinstance` call. - - Bug Fix: Changed logic for function return type inference so "unbound" type is never propagated to callers. This eliminates incorrect and confusing errors. - ([pylance-release#488](https://github.com/microsoft/pylance-release/issues/488)) -- [1.1.79](https://github.com/microsoft/pyright/releases/tag/1.1.79) - - Bug Fix: Fixed the handling of backslashes within an f-string that is also raw. - - Enhancement: Added streaming support for "find all references" so updates appear incrementally. - - Enhancement: Improved some internal type transforms to preserve type alias information where possible. This helps types be more readable in hover text and error messages. - - Bug Fix: Fixed bug that caused identifiers with non-ASCII characters to sometimes be handled incorrectly. - ([pylance-release#466](https://github.com/microsoft/pylance-release/issues/466)) - - Bug Fix: Fixed bug that resulted in an incorrect "unbound variable" error when the variable was used in an assignment expression within an if/else conditional expression. - ([pylance-release#468](https://github.com/microsoft/pylance-release/issues/468)) - - Bug Fix: Fixed bug where implementation of an overloaded function was included in the list of overloads leading to incorrect signature suggestions and false positives for various overload diagnostic checks. - - Enhancement: Updated typeshed to latest. - - Bug Fix: Added missing descriptor for "python.analysis.extraPaths" in Pyright VS Code extension. This caused VS Code to indicate that this setting wasn't known. - - Bug Fix: Fixed bugs in import resolver when a project contains multiple namespace packages with the same name. - ([pylance-release#471](https://github.com/microsoft/pylance-release/issues/471)) - - Bug Fix: Fixed bug that resulted in "unknown" parameter type when assigning a lambda to a variable with a declared Callable type. - - Bug Fix: Fixed issue with call signature arguments. - - Enhancement: Added support for plain text doc strings. - - Bug Fix: Fixed bug that caused a type variable to be "unknown" in some cases where a generic class type was used without providing explicit type arguments. - - Bug Fix: Fixed handling of "Annotated" type introduced in PEP 593. Wasn't properly handling string literals in type arguments. - ([pylance-release#479](https://github.com/microsoft/pylance-release/issues/479)) - -## 2020.10.0 (7 October 2020) - -Notable changes: - -- Indexing performance has been improved. The indexer is still disabled by default, but we'd appreciate feedback about its behavior. Indexing can be enabled by setting `"python.analysis.indexing": true`. -- The `pandas` stubs have been further improved. - ([pylance-release#426](https://github.com/microsoft/pylance-release/issues/426), [pylance-release#427](https://github.com/microsoft/pylance-release/issues/427), [pylance-release#428](https://github.com/microsoft/pylance-release/issues/428), [pylance-release#436](https://github.com/microsoft/pylance-release/issues/436), [pylance-release#444](https://github.com/microsoft/pylance-release/issues/444), [pylance-release#448](https://github.com/microsoft/pylance-release/issues/448), [pylance-release#449](https://github.com/microsoft/pylance-release/issues/449), [pylance-release#457](https://github.com/microsoft/pylance-release/issues/457)) -- Semantic token scopes for some type hints have been fixed. - ([pylance-release#459](https://github.com/microsoft/pylance-release/issues/459)) -- Type aliases should now be more consistently used in tooltips. - ([pylance-release#301](https://github.com/microsoft/pylance-release/issues/301)) -- Python 3.9's more permissive decorator syntax is now supported. -- Recursive type aliases are now supported. -- Experimental support for a new proposed `typing` extension "TypeGuard" has been added. This extension allows for the creation of user-defined type guards. - -In addition, Pylance's copy of Pyright has been updated from 1.1.75 to 1.1.78, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed the handling of backslashes within an f-string that is also raw. - - Enhancement: Improved some internal type transforms to preserve type alias information where possible. This helps types be more readable in hover text and error messages. - ([pylance-release#301](https://github.com/microsoft/pylance-release/issues/301)) -- [1.1.78](https://github.com/microsoft/pyright/releases/tag/1.1.78) - - Bug Fix: Fixed regression were diagnostics reported for constructor argument expressions were being suppressed. - - Bug Fix: Fixed bug that was causing "self is unknown type" errors in strict mode for "self" parameters used within a protocol class. - ([pylance-release#458](https://github.com/microsoft/pylance-release/issues/458)) - - Enhancement: Added support for arbitrary expressions in decorators for Python 3.9 and newer as specified in PEP 614. - - Enhancement: Implemented provisional "TypeGuard" functionality that allows for user-defined type guard functions. This must still go through a spec'ing and ratification process before it is finalized. Until then, details could change. - - Enhancement: Added diagnostic messages for incorrect use of contravariant type variable as a method return type or a covariant type variable as a method parameter. - - Bug Fix: Added missing comparison operator methods (`__eq__`, `__lt__`, etc.) for dataclass. -- [1.1.77](https://github.com/microsoft/pyright/releases/tag/1.1.77) - - Bug Fix: Fixed bug where float and complex values were being inferred as Literal types when PEP 586 clearly states that complex and float values are not supported for Literal. - - Bug Fix: Fixed spurious "variable is unbound" error when symbol was used in a compound conditional expression where the first part of the expression was statically determined to short-circuit the evaluation (e.g. `if False and name:`). - ([pylance-release#452](https://github.com/microsoft/pylance-release/issues/452)) - - Bug Fix: Fixed regression relating to bidirectional type inference used for constructor calls. - - Bug Fix: Fixed bug that caused an internal error (stack overflow) when analyzing types of symbols that mutually depend upon each other and are potentially (but turn out not to be) type aliases. - - Bug Fix: Improved handling of constrained type variables where one of the constraints is a narrower version of another. - ([pylance-release#453](https://github.com/microsoft/pylance-release/issues/453)) - - Bug Fix: Eliminated spurious "cannot instantiate abstract class" error when the value being instantiated is typed as `Type[X]`. Even though `X` is abstract, this shouldn't generate an error because `Type[X]` means "any subclass of `X`". - - Bug Fix: Fixed handling of bidirectional type inference when source is an expression involving an "and" or "or" binary operator. - - Enhancement: Changed type printing logic to include the name of a module for module types for clarity. Rather than 'Module', it now prints 'Module("<name>")'. This string is used in hover text and diagnostic messages. - - Bug Fix: Fixed bug in hover provider where it incorrectly labeled variables as "type alias" if they are instantiated from a type alias. - - Bug Fix: Fixed bug that caused type narrowing for assignments not to be applied when the source of the assignment was a call to a constructor. - - Enhancement: Improved type narrowing for assignments when destination is declared with one or more "Any" type arguments. - - Enhancement: Improved bidirectional type inference for list and dict types when destination type is a union that contains one or more specialized list or dict types. - - Enhancement: Improved support for generic recursive type aliases. Improved bidirectional type inference for list and dict types when destination type is a wider protocol type (like Iterable, Mapping, Sequence, etc.). - - Bug Fix: Added escapes in docstring markdown converter for "<" and ">" characters so they are not interpreted as an HTML tag by the markdown renderer. -- [1.1.76](https://github.com/microsoft/pyright/releases/tag/1.1.76) - - Bug Fix: Fixed spurious error when "Literal" was used with a dynamic type argument in a place where a type annotation wasn't expected. - - Enhancement: Improved type verification report for readability. - - Bug Fix: Fixed bug where Enum constructor was not handling some variations of parameter types. - - Bug Fix: Fix handling of pythonPath setting when it is unset. - - Enhancement: Improved logging for import search paths. - - Enhancement: Improved experience for auto-import completions by including "Auto-import" in details. - - Enhancement: Added optimizations in type validator to avoid checking built-in classes. - - Enhancement: Added checks in type validator for metaclasses. - - Bug Fix: Improved handling of bidirectional type inference when RHS of assignment is a constructor. - - Bug Fix: Added support for `__all__` assignments that include a type annotation. Added support for the `__all__ += .__all__` idiom for mutating the `__all__` value. This idiom is used by numpy. - - Bug Fix: Fixed bug that caused symbols referenced by `__all__` not to be marked as accessed in some cases. - ([pylance-release#446](https://github.com/microsoft/pylance-release/issues/446)) - - Enhancement: Added diagnostic check for static and class methods used for property getters, setters and deleters. - -## 2020.9.8 (2 October 2020) - -This is a hotfix release, fixing a regression in 2020.9.7 that caused some `numpy` members (such as `numpy.nan`) to be missing. - -## 2020.9.7 (30 September 2020) - -Notable changes: - -- The `pandas` stubs have been further improved. - ([pylance-release#386](https://github.com/microsoft/pylance-release/issues/386), [pylance-release#399](https://github.com/microsoft/pylance-release/issues/399), [pylance-release#405](https://github.com/microsoft/pylance-release/issues/405), [pylance-release#411](https://github.com/microsoft/pylance-release/issues/411), [pylance-release#412](https://github.com/microsoft/pylance-release/issues/412)) -- Imports of the form `from X import Y as Z` and dead code blocks will no longer have spurious errors with semantic highlighting enabled. - ([pylance-release#376](https://github.com/microsoft/pylance-release/issues/376), [pylance-release#401](https://github.com/microsoft/pylance-release/issues/406)) -- Decorators and declarations now have additional semantic token modifiers for further customization. - ([pylance-release#401](https://github.com/microsoft/pylance-release/issues/401)) -- Temporary folder creation on multi-user shared systems has been fixed. - ([pylance-release#421](https://github.com/microsoft/pylance-release/issues/421)) -- Auto-import completions will now show "Auto-import" in the completion list when the tooltip hasn't been expanded. -- Fixed a regression in the configuration of some paths, which may have prevented the correct python interpreter from being selected. - -In addition, Pylance's copy of Pyright has been updated from 1.1.74 to 1.1.75, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed bug where Enum constructor was not handling some variations of parameter types. - - Bug Fix: Fixed spurious error when "Literal" was used with a dynamic type argument in a place where a type annotation wasn't expected. -- [1.1.75](https://github.com/microsoft/pyright/releases/tag/1.1.75) - - Bug Fix: Fixed bug that caused some source files that were part of a "py.typed" package to not be identified as such. This meant that the special rules for "py.typed" exports were not being applied in those cases. - - Enhancement: Updated typeshed stubs to the latest. - - Behavior Change: Added special-case handling of values within enum classes in a py.typed package. They should be treated as constants and not require type annotations. - - Behavior Change: Improved detection of implicit type aliases. - - Bug Fix: Fixed bug that caused incorrect error in case where bidirectional type inference was used with a list expression and the expected type was an empty protocol. - ([pylance-release#409](https://github.com/microsoft/pylance-release/issues/409)) - - Bug Fix: Fixed a bug where spurious errors were generated when using an unannotated "self" as an argument to a constructor in a generic class. - ([pylance-release#423](https://github.com/microsoft/pylance-release/issues/423)) - - Enhancement: Added type narrowing for expressions of the form ` in X` and ` not in X` where X is a union of TypedDict instances. - - Bug Fix: Fixed several bugs related to recursive type aliases. The hover text was sometimes incorrect, type narrowing for "isinstance" was broken in some cases, and the reportUnnecessaryIsInstance rule was reporting incorrect errors. - - Bug Fix: Fixed bug in code that prints function types that contain a "named-parameter separator" (`_`). It was emitting an extra slash (`_/`). - - Enhancement: Added check for position-only argument separator ("/") appearing as the first parameter in a parameter list. This is a syntax error. - - Bug Fix: Fixed incorrect handling of global name bindings when a same-named nonlocal name was present. - ([pylance-release#429](https://github.com/microsoft/pylance-release/issues/429)) - - Enhancement: Expanded support for idioms used in libraries to define `__all__`. Tuples are now supported, as are calls to `expand`, `append` and `remove`. - - Bug Fix: Fixed bug with synthesized `__set__` and `__del__` property methods. The wrong parameter types were being specified for the 'self' and 'obj' parameters. - - Bug Fix: Fixed bug in diagnostics reporting logic that caused stack overflow in some rare cases. - - Bug Fix: Fixed bug in `callable` type narrowing logic where the union of the type includes `None`. - - Bug Fix: Improved handling of bidirectional type inference for constructor calls on generic types. In particular, the new logic better handles the case where the expected type is a union. - - Bug Fix: Fixed bug in type inference for generator types. It was not properly adding the three type arguments for Generator in the inferred return type. - ([pylance-release#431](https://github.com/microsoft/pylance-release/issues/431)) - - Behavior Change: Implemented new rules for reexports within a py.typed module. ".py" files now follow PEP 484 rules with an override based on `__all__`. - - New Feature: Implemented new "verifytypes" command-line option that analyzes a py.typed package and reports missing or partially-unknown types. - - Enhancement: Added limiter for list type inference to clip the number of unique subtypes and avoid poor performance in some cases. - -## 2020.9.6 (23 September 2020) - -Notable changes: - -- Docstrings for the builtins are now supported. You should now see docstrings in tooltips for functions like `print`, `range`, `open`, `str.split`, types like `int`, `float`, `str`, `Exception`, and more. - ([pylance-release#49](https://github.com/microsoft/pylance-release/issues/49)) -- Semantic highlighting has been expanded to provide more token types and modifiers. Special tokens such as `self` and `cls`, constants, dunder methods, and type hints in comment will be styled similarly to VS Code's built-in regex-based highlighting. - ([pylance-release#323](https://github.com/microsoft/pylance-release/issues/323), [pylance-release#335](https://github.com/microsoft/pylance-release/issues/335)) -- String literals are no longer highlighted when hovered or containing a cursor. - ([pylance-release#172](https://github.com/microsoft/pylance-release/issues/172)) -- Relative paths provided settings like `extraPaths` and `stubPath` will now correctly be resolved relative to the workspace. - ([pylance-release#326](https://github.com/microsoft/pylance-release/issues/326)) -- When hovering on a class invocation and the `__init__` method does not have a docstring, the class's docstring will be displayed instead. - ([pylance-release#316](https://github.com/microsoft/pylance-release/issues/316)) -- The `pandas` stubs have been further improved. - ([pylance-release#385](https://github.com/microsoft/pylance-release/issues/385), [pylance-release#387](https://github.com/microsoft/pylance-release/issues/387), [pylance-release#389](https://github.com/microsoft/pylance-release/issues/389), [pylance-release#390](https://github.com/microsoft/pylance-release/issues/390), [pylance-release#391](https://github.com/microsoft/pylance-release/issues/391), [pylance-release#393](https://github.com/microsoft/pylance-release/issues/393)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.72 to 1.1.74, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Fixed bug that caused some source files that were part of a "py.typed" package to not be identified as such. This meant that the special rules for "py.typed" exports were not being applied in those cases. -- [1.1.74](https://github.com/microsoft/pyright/releases/tag/1.1.74) - - Bug Fix: Fixed bug that caused some type aliases defined in ".py" files within a py.typed package to be treated as unknown. - - Bug Fix: Fixed bug relating to member access expressions used in the LHS of an assignment where the inferred type of the member is an object that does not provide a `__set__` method. This should generate an error, and it was not. - - Bug Fix: Fixed bug in completion provider that sometimes resulted in detailed completion information not to be displayed. The provider was making use of an internal "symbol ID" to resolve symbol information lazily when the item was selected from the completion menu, but the symbol ID was not guaranteed to be the same from one call to the next. - ([pylance-release#382](https://github.com/microsoft/pylance-release/issues/382)) - - Bug Fix: Fixed a bug where an overloaded function could not be assigned to the type 'object' without generating an error. This should be allowed. - - Bug Fix: Fixed bug with the invocation of the `__get__` method. It was not being bound to the correct object when called, resulting in incorrect type variable resolution if the "self" parameter was annotated with a TypeVar. - - Behavior Change: Eliminated string literal highlighting within document highlight provider. We received significant user feedback that this was not desirable. - ([pylance-release#172](https://github.com/microsoft/pylance-release/issues/172)) - - Bug Fix: Fixed bug in handling the two-argument form of "super". The type evaluator was not properly honoring the second argument, which specifies the class or object that should be use for binding. - ([pylance-release#395](https://github.com/microsoft/pylance-release/issues/395)) - - Performance Improvement: Changed the logic that infers the type of a list, set, or dict to look at only the first 64 entries. There were cases where thousands of entries were provided in list and dict statements, and this resulted in very poor performance. In practice, looking at the first 64 entries as part of the inference heuristic is sufficient. - - Bug Fix: Fixed bug that caused a enums to be incorrectly reported as "not iterable" in cases where a generic `Type[Enum]` was used. - - Bug Fix: Fixed bug where type aliases that referred to literals would have those literal values stripped if the type alias was declared within a class. - - Bug Fix: Made the printing of literal types more consistent within error messages and hover text. If the type is an literal type (as opposed to a literal instance), it is now consistently printed as `Type[Literal[...]]`. - - Bug Fix: Fixed bug in the handling of overloaded magic methods associated with arithmetic operators. If no overload was found in the primary method (e.g. `__add__`), it was not properly falling back on the reverse method (e.g. `__radd__`). - - Bug Fix: Fixed bug that caused the type checker to indicate that None was not compatible with the Hashable protocol. - - Enhancement: Improved support for constrained TypeVars. The list of constrained types is now honored when providing completion suggestions and when narrowing types for isinstance/issubclass calls. - - Enhancement: Improved type checking for binary operations. Previously, if the right-hand operand was a union and at least one subtype was supported, no error was reported. The new implementation verifies that all subtypes are supported and emits an error if not. - - Bug Fix: Fixed bug that reported incorrect error when attempting to index a symbol whose type was annotated with `Type[enum]`. - - Enhancement: Improved reporting of errors for call expressions, especially in the case where the call type is a union and one or more subtypes are not callable. - - Bug Fix: Fixed a bug in the handling of wildcard imports when a dunder all symbol is present in the target and the dunder all array refers to an implicitly-imported submodule. - ([pylance-release#402](https://github.com/microsoft/pylance-release/issues/402)) -- [1.1.73](https://github.com/microsoft/pyright/releases/tag/1.1.73) - - Behavior Change: Changed reveal_type to return a string literal that represents the printed version of the type. - - Behavior Change: Changed reveal_type to use an information diagnostic severity rather than warning. Added support in CLI for information diagnostic severity. These were previously dropped. - - Bug Fix: Tweaked the logic for py.typed type inference. Assignments that are type aliases should never be ignored in a py.typed package if they are defined in a pyi file. - - Bug Fix: Fixed bug in the parser relating to assignment expressions. It was not allowing for ternary expressions in the RHS. - ([pylance-release#381](https://github.com/microsoft/pylance-release/issues/381)) - - Bug Fix: Fixed a bug that caused an incorrect error to be reported when a callable type was assigned to an 'object'. This should be allowed. - - Bug Fix: Fixed bug in the completion provider where it was not properly handling object references through "self". - - Bug Fix: Fixed bug in the type checker with respect to member accesses where the LHS is a class and the RHS is a property. This should evaluate to a property object. - -## 2020.9.5 (16 September 2020) - -Notable changes: - -- The `pandas` stubs have been further improved. - ([pylance-release#302](https://github.com/microsoft/pylance-release/issues/302), [pylance-release#303](https://github.com/microsoft/pylance-release/issues/303), [pylance-release#337](https://github.com/microsoft/pylance-release/issues/337)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.70 to 1.1.72, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Tweaked the logic for py.typed type inference. Assignments that are type aliases should never be ignored in a py.typed package if they are defined in a pyi file. - - Behavior Change: Changed reveal_type to use an information diagnostic severity rather than warning. Added support in CLI for information diagnostic severity. These were previously dropped. - - Behavior Change: Changed reveal_type to return a string literal that represents the printed version of the type. -- [1.1.72](https://github.com/microsoft/pyright/releases/tag/1.1.72) - - Bug Fix: Changed the type of `__path__` attribute for a module from `Iterable[str]` to `List[str]`. - - Bug Fix: Fixed a bug that caused a crash in the type checker in some rare cases when a function or class declaration was located within a block of code is unaccessible. - ([pylance-release#369](https://github.com/microsoft/pylance-release/issues/369)) - - Behavior Change: Changed python.analysis.logLevel to use "Information" rather than "Info" for consistency with Python extension. - - Bug Fix: Changed comment-style type annotations for functions to always allow forward declarations. - - Behavior Change: Added special-case logic for the `tuple` constructor. Rather than returning a type of `tuple[_T_co]`, it now returns a type of `tuple[_T_co, ...]`. - - Behavior Change: Changed behavior of type evaluator for modules within a "py.typed" package when "typeCheckingMode" is not "off". If it encounters an unannotated symbol, the type evaluator no longer attempts to infer its type. Instead, it returns an unknown type. When "typeCheckingMode" is "off" (the default value for Pylance), inference is still used. - - Enhancement: Improved reportMissingTypeArgument diagnostic rule to report cases where some type arguments are provided but some are missing. Previously, it detected only those cases where no type arguments were provided. - - Bug Fix: Fixed bug that caused incorrect error to be generated when a yield was used within a lambda. - ([pylance-release#373](https://github.com/microsoft/pylance-release/issues/373)) -- [1.1.71](https://github.com/microsoft/pyright/releases/tag/1.1.71) - - Behavior Change: Added code to disable the Pyright extension when the Pylance extension is installed. The two extensions are not intended to work together. - - Bug Fix: Fixed bug in handling of specialized "tuple" class as defined in PEP 585. - - Behavior Change: Changed the behavior of the command-line version of pyright when file specs are passed on the command line. Previously, file specs couldn't be used in conjunction with a config file. Now a config file is used, but the specified file specs override the "include" section of the config file. - - Enhancement: Added validation of arguments passed to `__init_subclass__` method described in PEP 487. - - Enhancement: Added detection of duplicate base classes in a class declaration. - - Bug Fix: Fixed bug that generated incorrect "could not create consistent mro" error if one of the base classes was "Generic". The Python interpreter appears to special-case this class. - ([pylance-release#361](https://github.com/microsoft/pylance-release/issues/361)) - - New Feature: Added support for new "reportWildcardImportFromLibrary" diagnostic rule that checks for the use of wildcard imports from non-local modules. By default, it is reported as a warning, but in strict mode it is an error. - - Enhancement: Added code to synthesize custom overloaded "pop", "setdefault", and "\_\_delitem\_\_" methods for TypedDict classes. - - Enhancement: Added support for the direct instantiation of a metaclass rather than using the normal metaclass hook. - ([pylance-release#360](https://github.com/microsoft/pylance-release/issues/360)) - -## 2020.9.4 (10 September 2020) - -Notable changes: - -- Bug Fix: Addressing memory and cpu issues a number of users had by no longer indexing libraries and unopened files at startup. This will revert auto-import completions and workspace symbols performance to previous levels. - ([pylance-release#321](https://github.com/microsoft/pylance-release/issues/321)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.66 to 1.1.70, including the following changes: - -- [1.1.70](https://github.com/microsoft/pyright/releases/tag/1.1.70) - - Enhancement: Added support for PEP 585. Standard collection types defined in builtins can now be used like their typing counterparts. This includes "tuple", which needs special-case handling because its class definition in builtins.pyi indicates that it has a single type parameter, but it actually supports variadic parameters. - - Bug Fix: Added code to prevent heap overrun errors during parsing/binding, most notably during indexing operations. - - Bug Fix: Fixed bug that caused runtime crash if typeshed stubs couldn't be found or didn't define 'tuple'. - - Bug Fix: Improved interaction between recursive type aliases and bidirectional type inference for lists and dicts. - - Bug Fix: Improved type narrowing for assignments in cases where the destination of the assignment is declared as a union and the assigned type is a narrower form of one of the union elements. Previously, the narrowing logic didn't choose the narrowest type possible in this case. - - Enhancement: Added perf optimization for unions that contain hundreds or thousands of int literal values. This is similar to another recent optimization for str literal unions. - - From Pylance: Ensure that auto-import doesn't place import statement below usage. -- [1.1.69](https://github.com/microsoft/pyright/releases/tag/1.1.69) - - Enhancement: Improved type analysis perf by about 5% and reduced memory usage slightly by not formatting and logging diagnostic messages in cases where they are suppressed (e.g. argument type mismatches when doing overload matching). - - Bug Fix: Fixed bug that affected dependency tracking of source files on platforms with case-insensitive file systems. In some cases, the case of paths differed, and the logic was treating these as separate files. - - Enhancement: Added diagnostics for type variables that are used improperly as defined in PEP 484: 1) conflicting type variables that are used in nested generic class declarations, and 2) type variables that are used within annotations outside of a context in which they have meaning. - - New Feature: Added support for "higher-order" type variables. You can now pass a generic function as an argument to another generic function, and the type var solver can solve the type variables for both at the same time. - - New Feature: Added support for recursive type aliases. - - Behavior Change: Updated the default Python version from 3.8 to 3.9. This is used only if it is not otherwise configured and there is no Python environment from which to determine the version. - - Enhancement: Added checks for usage of certain built-in types that are defined as generic in the typeshed stubs but generate runtime exceptions if subscripted on older versions of Python (prior to 3.9). Such types need to be enclosed in quotes when used in annotations. -- [1.1.67](https://github.com/microsoft/pyright/releases/tag/1.1.67) - - Bug Fix: Fixed bug that caused the recently-added "discriminated field type narrowing" to be used in cases where it should not. This resulted in types being narrowed inappropriately when a field was typed as a union of literals. - - Behavior Change: Changed command-line version to not print any non-JSON output when "--outputjson" option is used. - - Behavior Change: Changed behavior when "useLibraryCodeForTypes" is set to "false". Previously, all ".py" library code was ignored in this case. Now, ".py" types are used for types if the package has an associated "py.typed" file as specified in PEP 561. Packages with no "py.typed" file will still be ignored if "useLibraryCodeForTypes" is "false". - - Bug Fix: Fixed a couple of bugs that resulted in the hover text incorrectly identifying a symbol as a "type alias". - - Behavior Change: Changed type inference logic to use "List", "Set", and "Dict" rather than "list", "set" and "dict" when inferring the type of a list, set or dict expression. These are aliases for the same underlying class, but the upper-case versions are more consistent with type annotations used within the code. - - Bug Fix: Fixed "NoReturn" inference logic for async functions. This logic was previously flagging the code after a call to such a function as unreachable. - - Enhancement: Improved parser to detect syntax errors involving unpack operator within a comprehension. - - Enhancement: Changed import resolution logic to allow binaries (e.g. ".so" files) to satisfy local imports (within the package), not just third-party imports (within site-packages). - - Enhancement: Extended bidirectional type inference (expected types) to list comprehensions. - - New Feature: Added new diagnostic rule "reportPropertyTypeMismatch" that verifies that the type of the input parameter to a property's setter is assignable to the return type of the getter. - - Bug Fix: Fixed bug that caused a crash in the type checker in cases where type arguments were not provided to a few special-case built-in classes. - - Bug Fix: Fixed a bug in the handling of generics that involve constrained TypeVars. The TypeVar matching logic was sometimes inappropriately specializing the type using the first constrained type. - - Bug Fix: Added special-case handling in type checker for callers who request the type of an expression that happens to be a name used in a call expression to designate a named parameter. This isn't really an expression, so the code wasn't handling it correctly, but callers (such as the hover provider and the new semantic token provider) were assuming that it was safe. This resulted in incorrect "X is not defined" diagnostics being logged. - -## 2020.9.0 (3 September 2020) - -Notable changes: - -- Pylance now supports semantic highlighting. In order to enable this feature, you must be using at least version 2020.8.106424 of the Python extension, as well as a VS Code theme which includes semantic colorization support (e.g., Dark+, Light+, One Dark Pro, others). - ([pylance-release#220](https://github.com/microsoft/pylance-release/issues/220)) -- Pylance will now index libraries and unopened files at startup to provide auto-import completions even for variables that have not been fully analyzed. This index is also used to improve the performance of the workspace symbols search. -- The auto-import completions offered should now more accurately reflect the "intended" import, rather than suggesting importing deeper modules. This helps improve the behavior in libraries that re-export symbols through other modules. - ([pylance-release#222](https://github.com/microsoft/pylance-release/issues/222), [pylance-release#139](https://github.com/microsoft/pylance-release/issues/139), [pylance-release#28](https://github.com/microsoft/pylance-release/issues/28), [pylance-release#97](https://github.com/microsoft/pylance-release/issues/97)) -- The auto-import completion tooltip now more clearly states what will be added to your import block. For example, a completion for "join" will explicitly say `from os.path import join`, rather than just "Auto-import from os.path". -- When the `completeFunctionParens` feature is enabled, the signature help will now open automatically, matching the behavior when the parentheses are user-written. - ([pylance-release#273](https://github.com/microsoft/pylance-release/issues/273)) -- Pylance now includes schemas for `pyrightconfig.json`/`mspythonconfig.json`, which enables code completion and validation for these config files. - ([pylance-release#40](https://github.com/microsoft/pylance-release/issues/40)) -- Methods which only raise `NotImplementedError` will now be treated as abstract and not be marked as not returning, preventing some child class functions from being spuriously marked as dead code. Explicitly declaring classes and methods as abstract is still strongly preferred as it allows the type checker to more accurately check child classes for correctness. - ([pylance-release#248](https://github.com/microsoft/pylance-release/issues/248)) -- The default `stubPath` now correctly shows in the VS Code settings UI with its default "typings". - ([pylance-release#285](https://github.com/microsoft/pylance-release/issues/285)) - -In addition, Pylance's copy of Pyright has been updated from 1.1.65 to 1.1.66, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed bug that caused the recently-added "discriminated field type narrowing" to be used in cases where it should not. This resulted in types being narrowed inappropriately when a field was typed as a union of literals. -- [1.1.66](https://github.com/microsoft/pyright/releases/tag/1.1.66) - - Enhancement: Improved completion suggestion behavior when the insertion point is between an identifier and an empty index (e.g. "f[]") or in the presence of a missing right square bracket (e.g. "f.["). - - Behavior Change: Changed diagnostic related to type argument count to be controlled by the "reportGeneralTypeIssues" diagnostic rule. It was previously always emitted as an error. - - From Pylance: Fix progress reporter type, auto-import/symbol changes, worker thread updates, improve auto-import tooltips (#977) - - Enhancement: Updated typeshed stubs to the latest version. - ([pylance-release#293](https://github.com/microsoft/pylance-release/issues/293)) - - Bug Fix: Eliminated incorrect error when "super()" was used in a class where one or more parent classes were of an unknown type. - - Bug Fix: Changed the handling of old-style comment method annotations to accept an optional annotation for "self" and "cls" parameters. - - Bug Fix: Changed handling of dataclass classes that derive from a class whose type is unknown. The synthesized constructor now allows any parameter list in this case. - - Enhancement: Improved completion provider to distinguish properties from other methods. - ([pylance-release#299](https://github.com/microsoft/pylance-release/issues/299)) - - Behavior Change: Changed heuristics for function return type inference so methods that raise a NotImplementedError and have no other return path have an inferred return type of Unknown rather than NoReturn. Such methods should be marked as abstract, but frequently they are not. - - Behavior Change: Changed the behavior of the import resolution logic to fail an import resolution of a multi-part name (e.g. "a.b.c") if it can't be fully resolved. This could produce false positives in cases where third-party libraries are using dynamic tricks to manipulate their package namespace, but it will eliminate false negatives. - - Bug Fix: Suppress the use of "Unnecessary" diagnostic hints (used to display variables and code blocks in gray) if the LSP client claims not to support this tag. - - Enhancement: Added new "reportMissingTypeArgument" diagnostic rule and enabled it by default in "strict" mode. It generates a diagnostic when a generic class or generic type alias is used in an annotation with no type arguments provided. - - Bug Fix: Fixed handling of scopes for nested classes. The previous logic allowed an inner class to access variables defined in an outer class, which is not permitted. - - Enhancement: Added check for raise statements that take an exception class but the class constructor requires one or more arguments. - - Bug Fix: Fixed bug in tokenizer that cause line numbers to be off when an invalid token occurred at the end of a line. - - Bug Fix: Fixed a bug in the Pyright parser. It was not correctly following the Python grammar spec when parsing type annotations, so it generated syntax errors in some cases where that was inappropriate. - - Enhancement: Added a check and a general type diagnostic for metaclass conflicts. - -## 2020.8.3 (28 August 2020) - -Notable changes: - -- Overall memory usage has been improved; in many use cases, peak memory usage has been reduced by 10%. -- Performance with large unions of `Literal` strings has been greatly improved. -- Type aliases now show more consistently in tooltips. -- The upcoming Python 3.10 `typing.TypeAlias` (PEP 613) is now supported. - -In addition, Pylance's copy of Pyright has been updated from 1.1.64 to 1.1.65, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Improved completion suggestion behavior when the insertion point is between an identifier and an empty index (e.g. "f[]") or in the presence of a missing right square bracket (e.g. "f.[") - ([pylance-release#286](https://github.com/microsoft/pylance-release/issues/286)) - - Behavior Change: Changed diagnostic related to type argument count to be controlled by the "reportGeneralTypeIssues" diagnostic rule. It was previously always emitted as an error. - ([pylance-release#290](https://github.com/microsoft/pylance-release/issues/290)) -- [1.1.65](https://github.com/microsoft/pyright/releases/tag/1.1.65) - - Bug Fix: Fixed bug in command-line version that caused an error to be reported when "useLibraryCodeForTypes" or "verboseOutput" was specified in the pyrightconfig.json file. - - Enhancement: Added support for protocol matching where the protocol includes an overloaded method. - - Enhancement: Improved diagnostic messages for function type mismatches. - - Enhancement: Improved diagnostic messages for tuple matching and union assignments. - - Enhancement: Changed nested diagnostic messages to use non-breaking spaces so indentations are visible within the VS Code "Problems" panel. - - Bug Fix: Fixed bug in reportIncompatibleMethodOverride diagnostic check. The logic was checking for wider parameter types when it should have been checking for narrower. - - Bug Fix: Fixed bug in method override validation code. It wasn't applying partial specialization of the base class, resulting in inappropriate errors in some cases. - - Bug Fix: Fixed bug in the type evaluation of expressions with + or - operators and integer literal operands. These expressions should evaluate to a literal type, not an int. - ([pylance-release#260](https://github.com/microsoft/pylance-release/issues/260)) - - Bug Fix: Fixed bug in parsing of f-strings that contain \N escape and a Unicode character name that includes a hyphen. - ([pylance-release#263](https://github.com/microsoft/pylance-release/issues/263)) - - Bug Fix: Fixed bug in type evaluator that caused an incorrect error when a class decorator was used for a generic class. - - Bug Fix: (From Pylance) Fixed performance problem related to file change events triggered by reads from site-packages. - - Enhancement: Enabled support for PEP 613 (TypeAlias). - - Bug Fix: Fixed bug that caused type aliases to get expanded in some contexts when they shouldn't. - ([pylance-release#265](https://github.com/microsoft/pylance-release/issues/265)) - - Bug Fix: Fixed bug that caused "from .A import \*" to work incorrectly when the wildcard included symbol A. - ([pylance-release#269](https://github.com/microsoft/pylance-release/issues/269)) - - Enhancement: Added logic in completion provider to return class variables in base classes when the insertion point is in the context of a subclass body. - - Bug Fix: Fixed TypeAlias code to check for Python 3.10 rather than 3.9 since PEP 613 has been moved out to 3.10. - - Enhancement: Added performance optimization for TypedDict classes. Entries are now computed once and cached in the class type. This provides a big speed-up for TypeDict classes that have a large number of fields. - - Enhancement: Added performance optimization for union types that contain large numbers of string literals. The code for inserting new items into a union is O(n^2); this optimization makes it O(n) for string literal types. - - Bug Fix: Fixed bug that caused custom import aliases of "Final", "Literal" and "TypeAlias" to not work correctly. - - Bug Fix: Fixed bug that resulted in spurious errors when hovering over module names in import statements. - - Bug Fix: Fixed several bugs relating to symbols introduced into a class by its metaclass. - ([pylance-release#154](https://github.com/microsoft/pylance-release/issues/154)) - - Bug Fix: Fixed bug that caused type analyzer to crash when a nonlocal binding referred to a symbol that was not present in an outer scope and then was assigned to. - -## 2020.8.2 (20 August 2020) - -Notable changes: - -- The new `python.analysis.completeFunctionParens` option adds parenthesis to function and method completions. This option is disabled by default. - ([pylance-release#37](https://github.com/microsoft/pylance-release/issues/37)) -- Workspace symbol searching will no longer search or return results from libraries or bundled type stubs, which greatly improves its performance. - ([pylance-release#34](https://github.com/microsoft/pylance-release/issues/34), [pylance-release#228](https://github.com/microsoft/pylance-release/issues/228)) -- File watching support has been improved, leading to improved performance and lower peak memory consumption. -- Settings from MPLS (for example `python.autoComplete.extraPaths` and `python.autoComplete.addBrackets`) will now be automatically ported to their updated names if present and Pylance is enabled. - -In addition, Pylance's copy of Pyright has been updated from 1.1.62 to 1.1.64, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed bug in type evaluator that caused an incorrect error when a class decorator was used for a generic class. - - Bug Fix: Fixed bug in parsing of f-strings that contain \N escape and a Unicode character name that includes a hyphen. - ([pylance-release#263](https://github.com/microsoft/pylance-release/issues/263)) - - Behavior Change: Changed capitalization of the python.analysis.logLevel setting so it matches Pylance. The settings code in Pyright is case insensitive, but the JSON editor emits a warning if the case doesn't match. - - Bug Fix: Fixed bug in the type evaluation of expressions with + or - operators and integer literal operands. These expressions should evaluate to a literal type, not an int. - ([pylance-release#260](https://github.com/microsoft/pylance-release/issues/260)) - - Bug Fix: Fixed bug in method override validation code. It wasn't applying partial specialization of the base class, resulting in inappropriate errors in some cases. - - Bug Fix: Fixed bug in reportIncompatibleMethodOverride diagnostic check. The logic was checking for wider parameter types when it should have been checking for narrower. - - Enhancement: Changed nested diagnostic messages to use non-breaking spaces so indentations are visible within the VS Code "Problems" panel. - - Enhancement: Improved diagnostic messages for tuple matching and union assignments. - - Enhancement: Added support for protocol matching where the protocol includes an overloaded method. - - Bug Fix: Fixed bug in command-line version that caused an error to be reported when "useLibraryCodeForTypes" or "verboseOutput" was specified in the pyrightconfig.json file. -- [1.1.64](https://github.com/microsoft/pyright/releases/tag/1.1.64) - - Bug Fix: Fixed regression that caused "isinstance(x, Callable)" to be flagged as an error when PEP 484 says that it's legal. - ([pylance-release#247](https://github.com/microsoft/pylance-release/issues/247)) - - Enhancement: Changed error messages related to "partially unknown" types to expand type aliases, which can obscure the unknown part of the type. - - Enhancement: Added support for narrowing types based on the pattern `A.B == ` and `A.B != ` when A has a union type and all members of the union have a field "B" with a declared literal type that discriminates one sub-type from another. - - Enhancement: Added bidirectional type inference for ternary expressions. - - Bug Fix: Fixed incorrect handling of member accesses when the accessed field had a type that was a union between two or more classes, some with special accessor methods (e.g. `__get__`) and some without. - - Enhancement: Improved type checking for assignments of callable types. Previously, certain edge cases were ignored. - - Enhancement: Added code to check for overlapping (obscured) overload functions. - - Bug Fix: Fixed bug that caused incorrect evaluation of type alias that refers to Literal types. The literal values were being stripped in some cases. - - Bug Fix: Fixed recent regression that caused type aliases that described literal types to be printed incorrectly in hover text and error messages. - - Enhancement: Added code to report overloads that overlap in an "unsafe" way — i.e. they can potentially accept the same arguments but return different (incompatible) types. - - Enhancement: Updated typeshed stubs to latest version. - - Bug Fix: Fixed bug in assignment checks between homogeneous multi-length tuples and fixed-size tuples. -- [1.1.63](https://github.com/microsoft/pyright/releases/tag/1.1.63) - - Enhancement: Diagnostic rule severity overrides are now editable in the VS Code settings UI. - - Bug Fix: Fixed out-of-memory error that occurred during a workspace "find symbols" operation. We were not properly checking for the heap high watermark during this operation. - ([pylance-release#254](https://github.com/microsoft/pylance-release/issues/254)) - - Enhancement: Added support for special type "Counter" exported by typing module, which is an alias for collections.Counter. - - Bug Fix: Fixed bug in bidirectional type inference for dictionary statements. The logic was not allowing for dict subclass Mapping. - - Enhancement: Improved type checker's handling of "in" operator. It previously flagged an error if the right operand didn't support a `__contains__` method. It now properly checks for iterable types as well. - - Bug Fix: Fixed bug that caused incorrect evaluation of symbol types within a chain of assignments (e.g. "a = b = c = 4") in some cases. - - Enhancement: Enabled file watcher for libraries to detect changes in installed packages. This behavior is already standard for Pylance, but it was disabled for Pyright. - - Enhancement: Improved handling of Tuple type. The type checker now does a better job retaining the types of the individual elements within a Tuple or a class that derives from a Tuple. - - Enhancement: Improved support for NamedTuple classes and classed derived from NamedTuple. The type checker now retains types of individual elements when used with unpacking and indexing operators. - ([pylance-release#251](https://github.com/microsoft/pylance-release/issues/251)) - - Behavior Change: Changed "find workspace symbols" to return only symbols from within user code or opened files, not library files that are closed. - ([pylance-release#34](https://github.com/microsoft/pylance-release/issues/34), [pylance-release#228](https://github.com/microsoft/pylance-release/issues/228)) - - Bug Fix: Fixed recent regression that caused incorrect errors to be generated in sub files for certain call expressions. - ([pylance-release#243](https://github.com/microsoft/pylance-release/issues/243)) - - New Feature: Added support for Concatenate as described in latest version of PEP 612. Added ParamSpec and Concatenate to typing.pyi. - -## 2020.8.1 (13 August 2020) - -Notable changes: - -- The `pandas` stubs have been further improved. - ([pylance-release#27](https://github.com/microsoft/pylance-release/issues/27), [pylance-release#90](https://github.com/microsoft/pylance-release/issues/90), [pylance-release#144](https://github.com/microsoft/pylance-release/issues/144), [pylance-release#148](https://github.com/microsoft/pylance-release/issues/148), [pylance-release#202](https://github.com/microsoft/pylance-release/issues/202)) -- The VS Code settings editor (both UI and JSON) now provides hints for `python.analysis.diagnosticSeverityOverrides`, listing all valid options, their values, and descriptions. -- Old-style `# type` comments for function signature type annotations are now supported. This syntax is underspecified and not preferred, but is commonly used to provide compatibility with (the now end-of-life) Python 2, and may improve the usability of some libraries. - -In addition, Pylance's copy of Pyright has been updated from 1.1.60 to 1.1.62, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed bug that caused incorrect evaluation of symbol types within a chain of assignments (e.g. "a = b = c = 4") in some cases. - - Enhancement: Improved type checker's handling of "in" operator. It previously flagged an error if the right operand didn't support a `__contains__` method. It now properly checks for iterable types as well. - - Bug Fix: Fixed bug in bidirectional type inference for dictionary statements. The logic was not allowing for dict subclass Mapping. - - Enhancement: Added support for special type "Counter" exported by typing module, which is an alias for collections.Counter. - ([pylance-release#229](https://github.com/microsoft/pylance-release/issues/229)) - - Bug Fix: Fixed out-of-memory error that occurred during a workspace "find symbols" operation. We were not properly checking for the heap high watermark during this operation. - ([pylance-release#228](https://github.com/microsoft/pylance-release/issues/228)) -- [1.1.62](https://github.com/microsoft/pyright/releases/tag/1.1.62) - - Bug Fix: Fixed bug in the handling of unrecognized escape sequences within string literals. - ([pylance-release#219](https://github.com/microsoft/pylance-release/issues/219)) - - Bug Fix: Fixed bug related to a subtle interaction between bidirectional type inference of list expressions that contain literal values and TypeVar matching. The previous logic was incorrectly matching T in `List[T]` and the list contained a literal type. It should have stripped the literal if possible. - - Enhancement: Added diagnostic message for TypeVar with a single constraint type for consistency with mypy. - - Enhancement: Added support for member access completion suggestions when the LHS is a function or a None type. - ([pylance-release#214](https://github.com/microsoft/pylance-release/issues/214)) - - Behavior Change: Behavior change for type stub generator: don't emit `__all__` assignments or assignments to self.xxx in function bodies. These violate PEP 484 guidelines for type stubs. - - Enhancement: Added diagnostic check to reportInvalidStubStatement that flags parameter default value expressions that are not "..." in stub files. - - Bug Fix: Fixed bug that caused annotated types of vargs and kwargs parameters not to be printed in hover text. - - Enhancement: Implemented support for older-style function annotation type comments. I previously resisted adding this additional complexity, but we're seeing many libraries that still contain these annotations for backward compatibility with Python 2. - - Bug Fix: Fixed bug that caused a crash in the type analyzer when a protocol class referred to itself. - ([pylance-release#225](https://github.com/microsoft/pylance-release/issues/225)) - - Enhancement: Added support for "useLibraryCodeForTypes" option in config file. It overrides the client setting of the same name or the "--lib" command-line option. - - Bug Fix: Fixed several bugs in logging for config errors. - - Enhancement: Added logic to type checker to validate that the "self" or "cls" parameter with a specified type annotation is assignable when binding the method to an object or class. - - Enhancement: Improved type assignment diagnostic message. Added "(property)" designator to the end of a property type to differentiate it from a normal attribute. - - Enhancement: Added code to validate that method overloads are all abstract or not. - - Enhancement: Updated typeshed stubs to the latest. -- [1.1.61](https://github.com/microsoft/pyright/releases/tag/1.1.61) - - Bug Fix: Fixed bug that caused symbols to be marked unaccessed if they were accessed by code that is not accessible (e.g. due to conditional execution based on the platform). - - Bug Fix: Updated PEP 604 and PEP 612 error message to refer to Python 3.10 instead of 3.9. - - Behavior Change: Changed logic that validates "self" or "cls" parameter names to ignore the check if the provided parameter name begins with an underscore, as is seen in several typeshed stub files. - - Bug Fix: Fixed bug in nested f-string parsing when f-string contains triple quotes that include single quotes. - ([pylance-release#203](https://github.com/microsoft/pylance-release/issues/206)) - - Bug Fix: Fixed handling of a class that is subclassed from both Enum and another class (like str). - - Enhancement: Added support for generic classes that refer to themselves as type arguments within their base class. - - Bug Fix: Improved error message for partially-unknown types that have a type alias. - - Bug Fix: Allow use of forward-declared classes as subclass in class declarations within type stub files. - - Bug Fix: Add special-case handling of `__class_getitem__` method, which acts as a class method even though it is not decorated as such. - - Bug Fix: Added missing validation of arguments to `type` call. - - Enhancement: Added `=` character to end of named parameter for completion suggestions within a call signature. - ([pylance-release#209](https://github.com/microsoft/pylance-release/issues/209)) - - Bug Fix: Added client capability check for signature information "labelOffsetSupport" for compatibility with clients that don't support this capability. - - Bug Fix: When adding completion suggestions to the list for expression completion, avoid adding duplicately-named symbols that appear in nested scopes. - ([pylance-release#215](https://github.com/microsoft/pylance-release/issues/215)) - - Bug Fix: Fixed bug related to calls of methods on a metaclass via classes that are constructed by that metaclass. - - Enhancement: Added check for single @overload function with no additional overloads. - -## 2020.8.0 (5 August 2020) - -- Added `python.analysis.autoImportCompletions` setting (`true` by default), which allows auto-import completions to be disabled. - ([pylance-release#64](https://github.com/microsoft/pylance-release/issues/64)) -- Fixed the "make Pylance your default language server" prompt when language server setting was previously set outside of the user settings. - -In addition, Pylance's copy of Pyright has been updated from 1.1.58 to 1.1.60, including the following changes: - -- [1.1.60](https://github.com/microsoft/pyright/releases/tag/1.1.60) - - Bug Fix: Fixed a bug "aliased import with leading underscore produces private usage error". - - Bug Fix: Fixed a bug that caused the wrong diagnostic message string to be used when "Generic" is used with no type arguments. - - Enhancement: Added new diagnostic message for when "Generic" is used in contexts outside of a class definition statement. - - Bug Fix (from Pylance): Use `sys.version_info` to query interpreter version. - - Enhancement: Added heuristics to type var solver so it picks the "least complex" solution when considering the elements within a union. - - Enhancement: Updated typeshed stubs to the latest versions. - - Bug Fix: Fixed a bug that caused an error to be reported when a newline token was used within an f-string expression. - ([pylance-release#200](https://github.com/microsoft/pylance-release/issues/200)) - - Enhancement: Added new diagnostic rule "reportInvalidStubStatement" (on by default in strict mode, off otherwise) that reports diagnostics for statements that should not appear within a type stub file. - - Enhancement: Added diagnostic for a module-level `__getattr__` function defined in a type stub file when in strict mode. - - Bug Fix: Fixed bug that caused imports (and other symbols) to be reported as unaccessed if they were accessed from within code that was deemed to be unreachable (e.g. due to the current platform configuration). - - Behavior Change: Changed logic for reportUnusedClass and reportUnusedFunction diagnostic rules so they don't report private-named functions and classes within stub files. - - Bug Fix: The token "..." should mean an ellipsis object, not the ellipsis class, when used in a normal expression within a non-stub file. - - Enhancement (from Pylance): Add python.analysis.autoImportCompletions to control auto-import completions. -- [1.1.59](https://github.com/microsoft/pyright/releases/tag/1.1.59) - - Bug Fix: Changed the inferred type of an async function to use `Coroutine` rather than `Awaitable` type. `Coroutine` is a subclass of `Awaitable` and is arguably more correct in this case. - ([pylance-release#184](https://github.com/microsoft/pylance-release/issues/184)) - - Bug Fix: Fixed a bug in the handling of position-only parameters with default values followed by named parameters or \*\*kwargs. - - Bug Fix: Fixed a bug where "yield from" argument was assumed to be an "Iterator", but it should really be an "Iterable". - - Bug Fix: Fixed bug where "from .A import A" statement caused symbol "A" to have an inferred type that was a union of a module and other type, even though the other type immediately overwrites the module. - ([pylance-release#188](https://github.com/microsoft/pylance-release/issues/188)) - - Behavior Change: Changed type stub generator to never generate parameter type annotations based purely on default value types since those can be incorrect or incomplete. Changed type stub generator to automatically add method return types for common magic methods whose return type is always the same. - - Behavior Change: Changed type stub generator to avoid emitting functions and methods that begin with an underscore. - - Enhancement: Changed type checker to flag unaccessed symbols within type stubs in some cases. It doesn't mark function parameters or variables as unaccessed, and it doesn't mark imports of the form "from x import y as z" or "import a as b" as unaccessed since those are intended to be re-exports. - - Enhancement: Changed type checker to treat "..." as an "Unknown" type when used as the RHS of an assignment statement such as "a = ...". This idiom appears sometimes within type stubs, and it should be treated as a missing (unknown) type so stub authors know that they need to fill in a type annotation. - - Enhancement: Improved the diagnostic message used to report parameter type mismatches when a parameter name isn't known. - - Bug Fix: Fixed a bug whereby a TypeVar in a source type could be conflated with a same-named TypeVar in a dest type when performing TypeVar matching. - - Bug Fix: On the Windows platform, avoid calling 'python3' to determine the import paths for the current interpreter. This command can sometimes display a dialog indicating that python isn't installed and can be downloaded from the store. - -## 2020.7.4 (29 July 2020) - -- Fixed case where analysis progress spinner would not disappear after analysis was complete. -- Improved active parameter bolding in signature help for functions with multiple overrides. - -In addition, Pylance's copy of Pyright has been updated from 1.1.54 to 1.1.58, including the following changes: - -- [1.1.58](https://github.com/microsoft/pyright/releases/tag/1.1.58) - - Enhancement: Rework signature help to use new VS Code / LSP APIs. Function overrides and active parameters are handled much, much better. - - Enhancement: Added strict-mode check for declared return types in type stubs, which don't allow for return type inference. - - Bug Fix: Fixed bug in type checker that resulted in a crash when a function declaration referred to itself within its return type annotation. - ([pylance-release#181](https://github.com/microsoft/pylance-release/issues/181)) - - Bug Fix: Fixed bug that caused duplicate diagnostics to be reported for quoted type annotations in some cases. - - Bug Fix: Fixed bug that caused "find all references" and "replace symbol" to sometimes miss references to a symbol if they were within quoted type annotations or type comments. - - Bug Fix: Fixed bugs in a few of the "find all references" tests, which were not properly quoting a forward-declared symbol. - - Bug Fix: Fixed a bug that caused infinite recursion and a crash when printing the type of a function that refers to itself within its own return type annotation. - ([pylance-release#181](https://github.com/microsoft/pylance-release/issues/181)) - - Bug Fix: Fixed bug where an f-string expression generated an error if it ended in an equal sign followed by whitespace. The Python 3.8 spec doesn't indicate whether whitespace is allowed here, but clearly the interpreter accepts it. - ([pylance-release#182](https://github.com/microsoft/pylance-release/issues/182)) - - Bug Fix: Fixed bug in logic that handles chained comparisons (e.g. `a < b < c`). The code was not properly handling the case where the left expression was parenthesized (e.g. `(a < b) < c`). - - Enhancement: Improved bidirectional type inference in the case where the type and the expected type are generic but the expected type is a base class that has been specialized. For example, if the expected type is `Mapping[str, int]` and the type is a `dict`. -- [1.1.57](https://github.com/microsoft/pyright/releases/tag/1.1.57) - - Bug Fix: Fixed bug that caused partial type stub creation (for subpackages of a top-level package) to be generated in the wrong directory. - - Change in Behavior: Changed logic within type evaluator to track differences between None and NoneType. Previously, they were treated interchangeably. This worked in most cases, but there are some edge cases where the difference is important. - - Change in Behavior: Changed logic that converts a type to text so it properly distinguishes between "None" and "NoneType". It previously always output "None". - - Enhancement: Added support for NoneType matching a type expression `Type[T]` during TypeVar matching. - - Bug Fix: Fixed the handling of class or instance variable declarations that redefine a same-named symbol in an outer scope but do not use a variable declaration statement within the class. - ([pylance-release#175](https://github.com/microsoft/pylance-release/issues/175)) - - Bug Fix: Updated type checker's logic for dealing with symbols that are declared in an inner scope and an outer scope but used within the inner scope prior to being redefined. - - Bug Fix: Fixed bug a homogeneous tuple of indeterminate length was indexed with a constant expression. - - Enhancement: Made the reportIncompatibleMethodOverride rule smarter. It now properly handles position-only parameters and allows a subclass to extend the signature of a method it is overriding as long as the parameters are \*varg, \*\*kwarg, or have default values. - ([pylance-release#157](https://github.com/microsoft/pylance-release/issues/157)) - - Enhancement: Augmented the reportIncompatibleMethodOverride diagnostic rule to check for cases where a non-function symbol within a subclass redefines a function symbol in a base class. - - New Feature: Added new diagnostic rule "reportIncompatibleVariableOverride" which is similar to "reportIncompatibleMethodOverride" except that it reports incompatible overrides of variables (non-methods). -- [1.1.56](https://github.com/microsoft/pyright/releases/tag/1.1.56) - - Bug Fix: Fixed bug that caused the default python platform not to be specified if there was no config file and no python interpreter selected. - - Bug Fix: Fixed crash in type checker that occurs when removing NoReturn from a union and having no remaining types. - - Bug Fix: Fixed bug that caused `__name__` not to be flagged as an invalid attribute on a class instance. - ([pylance-release#154](https://github.com/microsoft/pylance-release/issues/154)) - - Bug Fix: Fixed bug that caused quoted type annotation (i.e. a forward reference) that contains type arguments to report an "unbound symbol". - - Enhancement: Improved CompletionItemKind for intrinsic class symbols like `__name__`, etc. - ([pylance-release#154](https://github.com/microsoft/pylance-release/issues/154)) - - Bug Fix: Fixed bug in parsing of unicode named character encodings within string literals when the encoding included capital letters. - ([pylance-release#161](https://github.com/microsoft/pylance-release/issues/161)) - - Bug Fix: Fixed bug whereby a non-function definition (such as an instance variable) within a subclass was not considered as having overridden an abstract method or property within a base class. - - Change in Behavior: Changed Never internal type to be assignable to any type. Previously, it was assignable to no type. - - Bug Fix: Fixed bug that caused a spurious error during TypeVar matching when the TypeVar is constrained and is initially matched against an Any or Unknown type but is later matched against a known type. - - Bug Fix: Fixed bug in dataclass logic that reported spurious error when initializing attribute with `field(init=False)`. - ([pylance-release#162](https://github.com/microsoft/pylance-release/issues/162)) - - Change in Behavior: Renamed ParameterSpecification to ParamSpec to reflect latest PEP 612 changes. - - Enhancement: Updated typeshed fallback stubs to latest version. - - Change in Behavior: Updated PEP 612 and 614 features to be dependent on 3.10 rather than 3.9. - - Bug Fix: Fixed bug that caused diagnostics to persist in files that are not part of the workspace even after they are closed. - - Bug Fix: Fixed bug that generated incorrect type checking error when type alias used a `Type[x]` type annotation. -- [1.1.55](https://github.com/microsoft/pyright/releases/tag/1.1.55) - - Bug Fix: Changed logic for reportMissingModuleSource diagnostic rule so it isn't reported for stub files. - - Enhancement: Added support for typing.OrderedDict, which is a generic alias for collections.OrderedDict. - ([pylance-release#151](https://github.com/microsoft/pylance-release/issues/151)) - - Enhancement: Added support for new Python extension callback so Pyright extension is notified when pythonPath is modified. - - Bug Fix: Fixed bug in docstring trimming code that resulted in some docstrings (those consisting of two lines where the second line was empty) not appearing when hovering over functions. - - Bug Fix: Fixed bug in type checker that resulted in incorrect error when creating a generic type alias with a compatible TypeVar as one of the type arguments. - - Bug Fix: Fixed bug that caused value expressions for default parameter values in lambdas to be evaluated within the wrong scope resulting in errors if the lambda scope had a same-named symbol. - - Bug Fix: Fixed bugs in handling of wildcard imports. First, it was not properly handling the implicit introduction of symbol A in the statement `from .A import *`. Second, it was implicitly including submodules as part of the wildcard, and it shouldn't. - - Bug Fix: Fixed bug that resulted in incorrect error when using an unpack operator in an argument expression that corresponds to a \*varg parameter in the callee. - - Bug Fix: Fixed recent regression that caused `isinstance` check to emit a bad error when `self.__class__` was passed as a second argument. - -## 2020.7.3 (21 July 2020) - -- Fixed typo in marketplace entry's readme. - -In addition, Pylance's copy of Pyright has been updated from 1.1.53 to 1.1.54, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Enhancement: Changed logic for reportMissingModuleSource diagnostic rule so it isn't reported for stub files. - - Enhancement: Added support for typing.OrderedDict, which is a generic alias for collections.OrderedDict. - ([pylance-release#151](https://github.com/microsoft/pylance-release/issues/151)) - - Bug Fix: Fixed bug in docstring trimming code that resulted in some docstrings (those consisting of two lines where the second line was empty) not appearing when hovering over functions. - - Bug Fix: Fixed bug in type checker that resulted in incorrect error when creating a generic type alias with a compatible TypeVar as one of the type arguments. - - Bug Fix: Fixed bug that caused value expressions for default parameter values in lambdas to be evaluated within the wrong scope resulting in errors if the lambda scope had a same-named symbol. -- [1.1.54](https://github.com/microsoft/pyright/releases/tag/1.1.54) - - Enhancement: Added json schema for mspythonconfig.json (in addition to pyrightconfig.json). - - Enhancement: Updated config file watcher logic so it can detect when a new config file is added to a workspace. - - Bug Fix: "Find all references" should not return references to a symbol within library code unless that library source file is currently open in the editor. - - Bug Fix: Fixed bug in type checker that caused a crash when analyzing an abstract class with a constructor that contained two or more parameters, all of which are unannotated. - ([pylance-release#118](https://github.com/microsoft/pylance-release/issues/118)) - - Bug Fix: Fixed pyrightconfig.json JSON schema to accept "information" as a valid diagnostic severity setting. - - Enhancement: Updated log levels for messages logged by the Pyright service. Some log levels were "info" but should have been "warning" or "error". - ([pylance-release#120](https://github.com/microsoft/pylance-release/issues/120)) - - Bug Fix: Fixed bug that caused incorrect type evaluation for \*args or \*\*kwargs parameters if no type annotation was present. This bug also affected completion suggestions for these parameters. - ([pylance-release#119](https://github.com/microsoft/pylance-release/issues/119)) - - Bug Fix: Fixed a bug that resulted in Pyright attempting to parse and analyze binaries (native libraries) like ".pyd" and ".so" files. - ([pylance-release#124](https://github.com/microsoft/pylance-release/issues/124)) - - Bug Fix: Fixed bug in argument/parameter matching when an unpack operator is used in the argument and the parameter is a \*varg type. - - Enhancement: Renamed setting "pyright.useLibraryCodeForTypes" to "python.analysis.useLibraryCodeForTypes" for compatibility with Pylance. The older setting name is still supported but will be removed in the future. - - Enhancement: Added code to handle the case where a class is assigned to a type described by a callable protocol object. In this case, the class constructor's signature should be compared against the `__call__` signature defined in the protocol. - - Bug Fix: Fixed bug in import resolver that caused imports that referred to local namespace packages not to resolve. - - Bug Fix: Fixed bug that caused enum names that were not uppercase to be handled incorrectly. - - Bug Fix: Fixed bug that caused incorrect type analysis when a package `__init__.py` imported and re-exported a symbol that matched the submodule it was being imported from, e.g. `from .foo import foo`. - - Bug Fix: Fixed bug in type analyzer where default value expressions for lambda parameters were not being evaluated. This meant that errors related to these expressions were not reported, and symbols referenced within them were marked as unreferenced. - -## 2020.7.2 (15 July 2020) - -- Allow find all references to search libraries if invoked from non-user files. - -In addition, Pylance's copy of Pyright has been updated from 1.1.51 to 1.1.53, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Updated config file watcher logic so it can detect when a new config file is added to a workspace. -- [1.1.53](https://github.com/microsoft/pyright/releases/tag/1.1.53) - - Bug Fix: Fixed bug in parser where it was emitting a spurious error about function return type annotations being a tuple when it was simply enclosed in parentheses. - - Bug Fix: Fixed a bug that caused completion suggestions not to work for the LHS of a member access expression (e.g. the "a" in "a.b"). - - Bug Fix: Fixed diagnostic message for "partially unknown" types (used in strict mode). It was incorrectly using the "unknown" message rather than "partially unknown", which could lead to confusion. - - Enhancement: Changed type printing logic to emit "Unknown" annotations when in strict mode to make it clearer to the user which part of the type is unknown. - - Bug Fix: Fixed bug that caused extension to report empty diagnostics for all tracked files when unnecessary (in particular, when the diagnostic mode is set to openFilesOnly and the file is not open). - - Enhancement: Added partial support for mypy-supported variant of "# type: ignore" comment where specific error codes in square brackets after the "ignore". Pyright doesn't honor the specific error codes but now treats it as a normal # type: ignore" comment. - ([pylance-release#108](https://github.com/microsoft/pylance-release/issues/108)) - - Bug Fix: Fixed bug that caused the arguments of a call to remain unanalyzed if the LHS of the call was not callable. This resulted in omitted errors and spurious unreferenced symbols. - - Bug Fix: Changed diagnostic for second argument to "Enum" call to be dependent on the reportGenalTypeIssues diagnostic rule rather than unconditional. - - Bug Fix: Fixed recent regression relating to "isinstance" type narrowing when the type of the target is a constrained TypeVar. - - Bug Fix: Fixed bug in the handling of the NewType function introduced in PEP 484. The previous code was not synthesizing a constructor (`__init__` method) as specified in the PEP. - - Enhancement: Changed fallback mechanism for detecting the configured python interpreter to use the shell command "python3" first and then "python" if that fails. This is preferable on Linux and MacOS because "python" typically points to a Python 2.7 interpreter. - - Enhancement: Added parser error for relative imports of the form "import .abc". This is treated as a syntax error by the Python interpreter and should be flagged as such. - - Bug Fix: Fixed bug with "from . import a" form of import. Diagnostic was not logged when "a" could not be resolved. -- [1.1.52](https://github.com/microsoft/pyright/releases/tag/1.1.52) - - Bug Fix: Fixed escaping of literal strings when printing Literal string types. - - Enhancement: Improved completion suggestions related to member access expressions (e.g. obj.method) by binding the method to the object when appropriate. - - Enhancement: When hovering over class name that is used in a constructor call, display the `__init__` method signature rather than the class. - - Bug Fix: Fixed recent regression in unreachable code reporting at the module level. - ([pylance-release#107](https://github.com/microsoft/pylance-release/issues/107)) - - Bug Fix: Removed error message for unexpected dynamic argument types to `type` initializer. - ([pylance-release#114](https://github.com/microsoft/pylance-release/issues/114)) - - Bug Fix: Fixed a bug in the code that validates an exception type in an "except" clause. It was not properly handling the case where the type of the exception was specified as a `Type[X]` object. - - Bug Fix: Reverted part of a previous change where constrained type vars were specialized as a union of the constrained types. Changed logic to use first constrained type only. - - Bug Fix: Fixed bug in logic that detects assignment compatibility for function types. It wasn't properly handling generic parameters, including synthesized TypeVar types used for "self" parameters. - - Bug Fix: Added diagnostic for TypeVar or generic class with type args being used as a second argument for isinstance or issubclass. These will raise a TypeError exception at runtime. - - Enhancement: Changed Pyright import resolution order to match that described in PEP 561. In particular, stubs in stubPath are now searched prior to user code, and third-party typeshed stubs are searched only after installed packages are searched for stub packages and inline stubs. There is one place where Pyright's import resolution still differs from a strict interpretation of PEP 561: it searches stdlib typeshed stubs first (unless typeshedPath is defined, in which case it searches there). This is more consistent with the way the Python interpreter resolves stdlib types. - - Bug Fix: Fixed bug in handling of constructor that uses a specialized class (e.g. `MyClass[int]()`). The previous code was inappropriate overriding the provided type arguments as part of bidirectional inference logic. - - Bug Fix: Fixed bug that caused spurious errors when assigning a specialized object/class to a variable whose type is a specialized base class of the specialized object/class. - -## 2020.7.1 (10 July 2020) - -- Fixed background analysis thread, which prevented diagnostics (syntax checks, import warnings, etc) from working. - ([pylance-release#86](https://github.com/microsoft/pylance-release/issues/86)) -- Fixed setting and survey banners blocking startup. - -## 2020.7.0 (9 July 2020) - -- Hovers for class invocations will now show the `__init__` method's docstring. -- Import organization has been disabled to prevent conflicts with the Python extension's import sorting. - ([pylance-release#23](https://github.com/microsoft/pylance-release/issues/23)) -- Docstrings for bound methods will no longer show `self` in the signature. -- Fixed multi-line string literals in tooltips. -- IntelliCode now operates in environments without OpenMP. -- The `pandas` stubs have been improved. - ([pylance-release#13](https://github.com/microsoft/pylance-release/issues/13), [pylance-release#71](https://github.com/microsoft/pylance-release/issues/73), [pylance-release#73](https://github.com/microsoft/pylance-release/issues/71)) -- `pyplot.subplots`'s signature has been fixed. - ([pylance-release#43](https://github.com/microsoft/pylance-release/issues/43)) -- The bundled copy of typeshed has been updated. -- The overall startup time and responsiveness has been improved. - -In addition, Pylance's copy of Pyright has been updated from 1.1.46 to 1.1.51, including the following changes: - -- Unreleased in Pyright, but included in Pylance: - - Bug Fix: Fixed recent regression in unreachable code reporting at the module level. - - Enhancement: Removed error message for unexpected dynamic argument types to `type` initializer. -- [1.1.51](https://github.com/microsoft/pyright/releases/tag/1.1.51) - - New Feature: Added document highlight provider. When you click on a symbol in the editor, all other symbols within the same file that have the same name and have the same semantic meaning are also highlighted. - ([pylance-release#42](https://github.com/microsoft/pylance-release/issues/42)) - - Enhancement: If reportGeneralTypeIssues rule is disabled, don't replace assigned type with declared type because it will lead to additional errors that will confuse users. - Enhancement: Added type narrowing support for "in" operator when RHS is a specialized list, set, frozenset, or deque. - - Enhancement: Added logic to validate that RHS operand used with "in" and "not in" operators support the `__contains__` magic method. - - Bug Fix: Fixed bug where "field" initialization of dataclass member didn't take into account "default" or "default_factory" parameters when determining whether the field had a default value. - - Bug Fix: Added code to deal with the special case where a method declared with a "def" statement is later overwritten with a callable instance variable. - - Bug Fix: Fixed bug whereby a TypeVar type was not treated the same when it was alone versus within a union leading to some subtle differences in error reporting. Also changed specialization of constrained TypeVars to be a union of constrained types rather than Unknown if the TypeVar is not used as a type argument. - - Bug Fix: Fixed bug in diagnostic message for constrained TypeVar type mismatch. The wrong type was being printed leading to confusing errors. - - Bug Fix: Fixed a bug that caused incorrect linearization of classes during MRO calculation. - - Bug Fix: Fixed bug in synthesized version of `get` method for `TypedDict` class. It should provide an overload that allows for any str key and return an "Unknown" type. -- [1.1.50](https://github.com/microsoft/pyright/releases/tag/1.1.50) - - Bug Fix: Fixed regression in completion provider when retrieving suggestions for "self.". Added test to cover this case. - ([pylance-release#53](https://github.com/microsoft/pylance-release/issues/53)) - - Enhancement: Changed "x is not iterable" diagnostic to be part of the "reportGeneralTypeIssues" rule so it doesn't get reported if typeCheckingMode is "off". - ([pylance-release#59](https://github.com/microsoft/pylance-release/issues/59)) - - Bug Fix: Fixed bug that caused incorrect behavior when a symbol was imported multiple times in the same file. - - Bug Fix: Fixed bug that caused Callable instance variables to be treated as though they needed to be "bound" to the object at the time they were accessed. This resulted in spurious errors about parameter count because an implicit "self" parameter was assumed. - - Enhancement: Improved type analysis performance by 5-10% on typical code and by significantly more on certain code sequences that involve many if statements within a loop. This optimization uses code flow caching to determine when incomplete types (those that haven't been fully resolved) are potentially stale. - ([pylance-release#57](https://github.com/microsoft/pylance-release/issues/57)) - - Bug Fix: Fixed recent regression related to imports of the form "from .x import y" within an `__init__.py(i)` file. - - Enhancement: Changed type analyzer to use module-level `__getattr__` for types only if the file is a stub. - - Enhancement: Added code to prevent "variable possibly unbound" error from propagating to other variables. It should be reported only once. - - Enhancement: Switched "pyright.typeCheckingMode" to "python.analysis.typeCheckingMode" for compatibility with Pylance. - - Enhancement: Moved a few parameter-related diagnostics to the "reportGeneralTypeIssues" diagnostic rule rather than being unconditional errors. - ([pylance-release#15](https://github.com/microsoft/pylance-release/issues/15), [pylance-release#39](https://github.com/microsoft/pylance-release/issues/39), [pylance-release#54](https://github.com/microsoft/pylance-release/issues/54)) - - Bug Fix: Fixed bug that resulted in incorrect type inference for a member variable that is not assigned within a class but is assigned within an ancestor class. - - Enhancement: Added type narrowing support for "is" and "is not" operator where RHS is an enum literal value. -- [1.1.49](https://github.com/microsoft/pyright/releases/tag/1.1.49) - - Bug Fix: Fixed bug that caused incorrect type to be determined for \*args and \*\*kwargs parameters in some contexts. - ([pylance-release#20](https://github.com/microsoft/pylance-release/issues/20)) - - Enhancement: Updated typeshed stubs to the latest versions from the typeshed repo. - - Bug Fix: Fixed bug in tokenizer where it was generating an error if escaped unicode characters (using the \N{name} escape) contained a space in the name. - ([pylance-release#25](https://github.com/microsoft/pylance-release/issues/25)) - - Enhancement: Improved parse recovery for statements that are supposed to end in a colon followed by a suite of other indented statements. Previously, a missing colon or expression error resulted in a cascade of additional errors. - ([pylance-release#22](https://github.com/microsoft/pylance-release/issues/22)) - - Enhancement: Improved error message for overloaded calls where no overload matches the provided arguments. - - Bug Fix: Fixed bug in unreachable code detection and reporting. The logic was previously split between the binder (which used proper code flow analysis) and the checker (which didn't use code flow analysis but had access to NoReturn - call information). The new code combines everything into the checker and uses both code flow analysis and NoReturn call info. - ([pylance-release#31](https://github.com/microsoft/pylance-release/issues/31)) - - Bug Fix: Added code to include a symbol in a module if the source file is an `__init__.py(i)` and a relative import of the form "from .x.y.z import X" is used. In this case, the symbol "x" should appear within the module's namespace. - - Bug Fix: Fixed bug in pyrightconfig schema. The defaults for several settings were using strings "true" and "false" rather than booleans true and false. - - Bug Fix: Fixed bug in parser that generated a spurious error when an unparenthesized assignment expression (walrus operator) was used as an argument. PEP 572 indicates that this should be allowed in cases where the argument is not named. - - Enhancement: Changed constructor type analysis logic to always specialize the instantiated instance. - - Bug Fix: Fixed bug in reportAssertAlwaysTrue diagnostic. It wasn't properly handling tuples of indeterminate length. - - Bug Fix: Fixed bug in import resolution that resulted in an unresolved import when a local folder was present with the same name as the imported third-party library. - - Bug Fix: Fixed bug that caused diagnostics for unopened files to remain in "problems" panel after switching diagnostic mode from "workspace" to "open files only". - - Bug Fix: Fixed bug in parsing of f-string expressions that contain nested braces. - ([pylance-release#45](https://github.com/microsoft/pylance-release/issues/45)) - - Bug Fix: Fixed bug in import resolver where it was not preferring regular package imports over namespace packages. - ([pylance-release#52](https://github.com/microsoft/pylance-release/issues/52)) -- [1.1.48](https://github.com/microsoft/pyright/releases/tag/1.1.48) - - Enhancement: Added support for accessing metaclass members from class. This allows, for example, access to the `__members__` attribute of an Enum class. - - Enhancement: Added type completion support for class attributes provided by a metaclass. - - Bug Fix: Fixed bug that caused unbound variables to go unreported if they had type annotations. - - Bug Fix: Fixed bug in type narrowing logic for isinstance call. It wasn't properly handling bound TypeVar types. This includes synthesized bound TypeVars like those used for unannotated "self" and "cls" parameters. - - Bug Fix: Fixed bug that caused stand-alone expression statements (those that are not included in other statements) to go unchecked, resulting in symbols potentially unreferenced and type errors unreported. - - Bug Fix: Fixed bug where the use of unpack operator within a tuple not surrounded by parens within a return/yield statement incorrectly reported an error when used with Python <3.8. - - Bug Fix: Changed signature help provider to use the `__init__` method signature (if available) for class construction expressions. It previously used the `__new__` method signature by default. - - Enhancement: Unaccessed function parameters are now displayed as "grayed out" in VS Code. There was previously code in place to do this, but it contained a bug that went unnoticed. -- [1.1.47](https://github.com/microsoft/pyright/releases/tag/1.1.47) - - Enhancement: Improved support for type aliases, especially those with generic parameters. Type alias names are now tracked and used within printed type names. - - Bug Fix: Fixed recent regression in CLI that resulted in unintended verbose logging output. - - Bug Fix: Added minimum node version to package.json to prevent installation of pyright CLI on incompatible versions of node. - - Enhancement: Added code to better handle the obsolete "<>" operator from Python 2 - including a better error message and better parse recovery. - - Enhancement: Added special-case handling of 'NoReturn' type to allow Never type to be assigned to it. This can be used to verify exhaustive type narrowing. - - Bug Fix: Added code to differentiate between Protocol symbol in typing.pyi versus typing_extensions.pyi. The latter can be used on older versions of Python. - - Enhancement: Changed activation events to remove glob path for pyrightconfig.json, which speeds up extension activation on large projects. Added support for mspythonconfig.json - -## 2020.6.1 (30 June 2020) - -Initial release! diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/LICENSE.txt b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/LICENSE.txt deleted file mode 100644 index c0f7e17c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/LICENSE.txt +++ /dev/null @@ -1,43 +0,0 @@ -This license applies to the Pylance Extension for Visual Studio Code product. This downloadable extension includes open source code available at the https://github.com/microsoft/pyright in addition to other packages and features added by Microsoft as described in README.md. - -MICROSOFT SOFTWARE LICENSE TERMS -MICROSOFT PYLANCE EXTENSION FOR VISUAL STUDIO CODE -________________________________________ -These license terms are an agreement between you and Microsoft Corporation (or one of its affiliates). They apply to the software named above and any Microsoft services or software updates (except to the extent such services or updates are accompanied by new or additional terms, in which case those different terms apply prospectively and do not alter your or Microsoft’s rights relating to pre-updated software or services). IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE RIGHTS BELOW. BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. -1. INSTALLATION AND USE RIGHTS. -a) General. You may install and use any number of copies of the software only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) to develop and test your applications. -b) Third Party Components. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -2. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. For clarification Microsoft, or its licensors, retains ownership of all aspects of the software. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. For example, if Microsoft technically limits or disables extensibility for the software, you may not extend the software by, among other things, loading or injecting into the software any non-Microsoft add-ins, macros, or packages; modifying the software registry settings; or adding features or functionality equivalent to that found in Microsoft products and services. You may not: -a) work around any technical limitations in the software that only allow you to use it in certain ways; -b) reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -c) remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software; -d) use the software in any way that is against the law or to create or propagate malware; or -e) share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -3. DATA. -a) Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may opt-out of many of these scenarios, but not all, as described in the product documentation.  There are also some features in the software that may enable you to collect data from users of your applications. If you use these features to enable data collection in your applications, you must comply with applicable law, including providing appropriate notices to users of your applications. You can learn more about data collection and use in the help documentation and the privacy statement at https://aka.ms/privacy. Your use of the software operates as your consent to these practices. -b) Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -4. EXPORT RESTRICTIONS. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit https://aka.ms/exporting. -5. SUPPORT SERVICES. Microsoft is not obligated under this agreement to provide any support services for the software. Any support provided is “as is”, “with all faults”, and without warranty of any kind. -6. ENTIRE AGREEMENT. This agreement, and any other terms Microsoft may provide for supplements, updates, or third-party applications, is the entire agreement for the software. -7. APPLICABLE LAW AND PLACE TO RESOLVE DISPUTES. If you acquired the software in the United States or Canada, the laws of the state or province where you live (or, if a business, where your principal place of business is located) govern the interpretation of this agreement, claims for its breach, and all other claims (including consumer protection, unfair competition, and tort claims), regardless of conflict of laws principles. If you acquired the software in any other country, its laws apply. If U.S. federal jurisdiction exists, you and Microsoft consent to exclusive jurisdiction and venue in the federal court in King County, Washington for all disputes heard in court. If not, you and Microsoft consent to exclusive jurisdiction and venue in the Superior Court of King County, Washington for all disputes heard in court. -8. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You may have other rights, including consumer rights, under the laws of your state or country. Separate and apart from your relationship with Microsoft, you may also have rights with respect to the party from which you acquired the software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -i. Warranty. The properly licensed software will perform substantially as described in any Microsoft materials that accompany the software. However, Microsoft gives no contractual guarantee in relation to the licensed software. -ii. Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as, in case of death or personal or physical injury, Microsoft is liable according to the statutory law. -Subject to the foregoing clause ii., Microsoft will only be liable for slight negligence if Microsoft is in breach of such material contractual obligations, the fulfillment of which facilitate the due performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence. -9. DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES, OR CONDITIONS. TO THE EXTENT PERMITTED UNDER APPLICABLE LAWS, MICROSOFT EXCLUDES ALL IMPLIED WARRANTIES, INCLUDING MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. -10. LIMITATION ON AND EXCLUSION OF DAMAGES. IF YOU HAVE ANY BASIS FOR RECOVERING DAMAGES DESPITE THE PRECEDING DISCLAIMER OF WARRANTY, YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT, OR INCIDENTAL DAMAGES. -This limitation applies to (a) anything related to the software, services, content (including code) on third party Internet sites, or third party applications; and (b) claims for breach of contract, warranty, guarantee, or condition; strict liability, negligence, or other tort; or any other claim; in each case to the extent permitted by applicable law. -It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your state, province, or country may not allow the exclusion or limitation of incidental, consequential, or other damages. - -Please note: As this software is distributed in Canada, some of the clauses in this agreement are provided below in French. -Remarque: Ce logiciel étant distribué au Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français. -EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft n’accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, d’adéquation à un usage particulier et d’absence de contrefaçon sont exclues. -LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices. -Cette limitation concerne: -• tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers; et -• les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou d’une autre faute dans la limite autorisée par la loi en vigueur. -Elle s’applique également, même si Microsoft connaissait ou devrait connaître l’éventualité d’un tel dommage. Si votre pays n’autorise pas l’exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l’exclusion ci-dessus ne s’appliquera pas à votre égard. -EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d’autres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas. diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/NOTICE.txt b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/NOTICE.txt deleted file mode 100644 index 50ef6062..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/NOTICE.txt +++ /dev/null @@ -1,4399 +0,0 @@ -NOTICES AND INFORMATION -Do Not Translate or Localize - -This software incorporates material from third parties. -Microsoft makes certain open source code available at https://3rdpartysource.microsoft.com, -or you may send a check or money order for US $5.00, including the product name, -the open source component name, platform, and version number, to: - -Source Code Compliance Team -Microsoft Corporation -One Microsoft Way -Redmond, WA 98052 -USA - -Notwithstanding any other terms, you may reverse engineer this software to the extent -required to debug changes to any libraries licensed under the GNU Lesser General Public License. - ---------------------------------------------------------- - -tslib 1.14.1 - 0BSD -https://www.typescriptlang.org/ - -Copyright (c) Microsoft Corporation. - -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - ---------------------------------------------------------- - ---------------------------------------------------------- - -tslib 2.3.1 - 0BSD -https://www.typescriptlang.org/ - -Copyright (c) Microsoft Corporation. - -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - ---------------------------------------------------------- - ---------------------------------------------------------- - -@opentelemetry/api 1.0.4 - Apache-2.0 -https://github.com/open-telemetry/opentelemetry-js-api#readme - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -detect-libc 1.0.3 - Apache-2.0 -https://github.com/lovell/detect-libc#readme - -Copyright 2017 Lovell Fuller - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -@yarnpkg/fslib 2.6.0 - BSD-2-Clause - - - -Copyright (c) . All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---------------------------------------------------------- - ---------------------------------------------------------- - -@yarnpkg/libzip 2.2.2 - BSD-2-Clause - - - -Copyright (c) . All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---------------------------------------------------------- - ---------------------------------------------------------- - -webidl-conversions 3.0.1 - BSD-2-Clause -https://github.com/jsdom/webidl-conversions#readme - -Copyright (c) 2014, Domenic Denicola - -# The BSD 2-Clause License - -Copyright (c) 2014, Domenic Denicola -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -ieee754 1.2.1 - BSD-3-Clause -https://github.com/feross/ieee754#readme - -Copyright 2008 Fair Oaks Labs, Inc. -Copyright (c) 2008, Fair Oaks Labs, Inc. - -Copyright 2008 Fair Oaks Labs, Inc. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -pandas 1.0.3 - BSD-3-Clause - - - -Copyright (c) . All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---------------------------------------------------------- - ---------------------------------------------------------- - -source-map 0.6.1 - BSD-3-Clause -https://github.com/mozilla/source-map - -Copyright 2011 The Closure Compiler -Copyright 2011 Mozilla Foundation and contributors -Copyright 2014 Mozilla Foundation and contributors -Copyright 2009-2011 Mozilla Foundation and contributors -Copyright (c) 2009-2011, Mozilla Foundation and contributors - - -Copyright (c) 2009-2011, Mozilla Foundation and contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the names of the Mozilla Foundation nor the names of project - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -tough-cookie 4.0.0 - BSD-3-Clause -https://github.com/salesforce/tough-cookie - -Copyright (c) 2015, Salesforce.com, Inc. -Copyright (c) 2018, Salesforce.com, Inc. - -Copyright (c) 2015, Salesforce.com, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. Neither the name of Salesforce.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -@iarna/toml 2.2.5 - ISC -https://github.com/iarna/iarna-toml#readme - -Copyright (c) 2016, Rebecca Turner - -Copyright (c) 2016, Rebecca Turner - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - - ---------------------------------------------------------- - ---------------------------------------------------------- - -anymatch 3.1.2 - ISC -https://github.com/micromatch/anymatch - -Copyright (c) 2019 Elan Shanker, Paul Miller (https://paulmillr.com) - -The ISC License - -Copyright (c) 2019 Elan Shanker, Paul Miller (https://paulmillr.com) - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -fs.realpath 1.0.0 - ISC -https://github.com/isaacs/fs.realpath#readme - -Copyright (c) Isaac Z. Schlueter and Contributors -Copyright Joyent, Inc. and other Node contributors. - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ----- - -This library bundles a version of the `fs.realpath` and `fs.realpathSync` -methods from Node.js v0.10 under the terms of the Node.js MIT license. - -Node's license follows, also included at the header of `old.js` which contains -the licensed code: - - Copyright Joyent, Inc. and other Node contributors. - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -glob 7.2.0 - ISC -https://github.com/isaacs/node-glob#readme - -Copyright (c) Isaac Z. Schlueter and Contributors - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -## Glob Logo - -Glob's logo created by Tanya Brassie , licensed -under a Creative Commons Attribution-ShareAlike 4.0 International License -https://creativecommons.org/licenses/by-sa/4.0/ - - ---------------------------------------------------------- - ---------------------------------------------------------- - -glob-parent 5.1.2 - ISC -https://github.com/gulpjs/glob-parent#readme - -Copyright (c) 2015, 2019 Elan Shanker - -The ISC License - -Copyright (c) 2015, 2019 Elan Shanker - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -inflight 1.0.6 - ISC -https://github.com/isaacs/inflight - -Copyright (c) Isaac Z. Schlueter - -The ISC License - -Copyright (c) Isaac Z. Schlueter - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -inherits 2.0.4 - ISC -https://github.com/isaacs/inherits#readme - -Copyright (c) Isaac Z. Schlueter - -The ISC License - -Copyright (c) Isaac Z. Schlueter - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - - ---------------------------------------------------------- - ---------------------------------------------------------- - -lru-cache 6.0.0 - ISC -https://github.com/isaacs/node-lru-cache#readme - -Copyright (c) Isaac Z. Schlueter and Contributors - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -minimatch 3.0.4 - ISC -https://github.com/isaacs/minimatch#readme - -Copyright (c) Isaac Z. Schlueter and Contributors - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -once 1.4.0 - ISC -https://github.com/isaacs/once#readme - -Copyright (c) Isaac Z. Schlueter and Contributors - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -rimraf 3.0.2 - ISC -https://github.com/isaacs/rimraf#readme - -Copyright (c) Isaac Z. Schlueter and Contributors - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -sax 1.2.4 - ISC -https://github.com/isaacs/sax-js#readme - -Copyright (c) Isaac Z. Schlueter and Contributors -Copyright Mathias Bynens - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -==== - -`String.fromCodePoint` by Mathias Bynens used according to terms of MIT -License, as follows: - - Copyright Mathias Bynens - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -semver 7.3.5 - ISC -https://github.com/npm/node-semver#readme - -Copyright Isaac Z. Schlueter -Copyright (c) Isaac Z. Schlueter and Contributors - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -wrappy 1.0.2 - ISC -https://github.com/npm/wrappy - -Copyright (c) Isaac Z. Schlueter and Contributors - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -yallist 4.0.0 - ISC -https://github.com/isaacs/yallist#readme - -Copyright (c) Isaac Z. Schlueter and Contributors - -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -@azure/abort-controller 1.0.4 - MIT -https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/core/abort-controller/README.md - -Copyright (c) Microsoft Corporation. - -The MIT License (MIT) - -Copyright (c) 2020 Microsoft - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -@azure/core-asynciterator-polyfill 1.0.0 - MIT -https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/core/core-asynciterator-polyfill - -Copyright (c) Microsoft Corporation. - - MIT License - - Copyright (c) Microsoft Corporation. All rights reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE - - ---------------------------------------------------------- - ---------------------------------------------------------- - -@azure/core-auth 1.3.2 - MIT -https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-auth/README.md - -Copyright (c) Microsoft Corporation. - -The MIT License (MIT) - -Copyright (c) 2020 Microsoft - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -@azure/core-http 2.2.4 - MIT -https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-http/README.md - -Copyright (c) 2020 Microsoft -Copyright (c) Microsoft Corporation -Copyright (c) Microsoft Corporation. const RedactedString REDACTED - -The MIT License (MIT) - -Copyright (c) 2020 Microsoft - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -@azure/core-lro 2.2.3 - MIT -https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-lro/README.md - -Copyright (c) Microsoft Corporation. - -The MIT License (MIT) - -Copyright (c) 2020 Microsoft - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -@azure/core-paging 1.2.1 - MIT -https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/core-paging/README.md - -Copyright (c) Microsoft Corporation. - -The MIT License (MIT) - -Copyright (c) 2020 Microsoft - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -@azure/core-tracing 1.0.0-preview.13 - MIT -https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-tracing/README.md - -Copyright (c) Microsoft Corporation. - -The MIT License (MIT) - -Copyright (c) 2020 Microsoft - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -@azure/logger 1.0.3 - MIT -https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/logger/README.md - -Copyright (c) Microsoft Corporation. - -The MIT License (MIT) - -Copyright (c) 2020 Microsoft - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -@azure/storage-blob 12.8.0 - MIT -https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/storage/storage-blob/ - -Copyright (c) Microsoft Corporation. - -The MIT License (MIT) - -Copyright (c) 2020 Microsoft - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -@types/emscripten 1.39.6 - MIT -https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/emscripten - -Copyright (c) Microsoft Corporation. - -MIT License - -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ---------------------------------------------------------- - ---------------------------------------------------------- - -@types/node 17.0.14 - MIT -https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node - -Copyright (c) Microsoft Corporation. - -MIT License - -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ---------------------------------------------------------- - ---------------------------------------------------------- - -@types/node-fetch 2.5.12 - MIT -https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node-fetch - -Copyright (c) Microsoft Corporation. - -MIT License - -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ---------------------------------------------------------- - ---------------------------------------------------------- - -@types/semver 7.3.9 - MIT -https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/semver - -Copyright (c) Microsoft Corporation. - -MIT License - -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ---------------------------------------------------------- - ---------------------------------------------------------- - -@types/tunnel 0.0.3 - MIT -https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/tunnel - - -MIT License - -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ---------------------------------------------------------- - ---------------------------------------------------------- - -@vscode/lsp-notebook-concat 0.1.8 - MIT - - -Copyright (c) Microsoft Corporation -Copyright (c) TypeFox, Microsoft and others -Copyright Joyent, Inc. and other Node contributors - - MIT License - - Copyright (c) Microsoft Corporation. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE - - ---------------------------------------------------------- - ---------------------------------------------------------- - -ansi-styles 4.3.0 - MIT -https://github.com/chalk/ansi-styles#readme - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -MIT License - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -array-back 3.1.0 - MIT -https://github.com/75lb/array-back#readme - -(c) 2015-19 Lloyd Brookes 75pound@gmail.com -Copyright (c) 2015-19 Lloyd Brookes <75pound@gmail.com> - -The MIT License (MIT) - -Copyright (c) 2015-19 Lloyd Brookes <75pound@gmail.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -asynckit 0.4.0 - MIT -https://github.com/alexindigo/asynckit#readme - -Copyright (c) 2016 Alex Indigo - -The MIT License (MIT) - -Copyright (c) 2016 Alex Indigo - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -balanced-match 1.0.2 - MIT -https://github.com/juliangruber/balanced-match - -Copyright (c) 2013 Julian Gruber - -(MIT) - -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -base64-js 1.5.1 - MIT -https://github.com/beatgammit/base64-js - -Copyright (c) 2014 Jameson Little - -The MIT License (MIT) - -Copyright (c) 2014 Jameson Little - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -binary-extensions 2.2.0 - MIT -https://github.com/sindresorhus/binary-extensions#readme - -Copyright (c) 2019 Sindre Sorhus (https://sindresorhus.com), Paul Miller (https://paulmillr.com) - -MIT License - -Copyright (c) 2019 Sindre Sorhus (https://sindresorhus.com), Paul Miller (https://paulmillr.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -brace-expansion 1.1.11 - MIT -https://github.com/juliangruber/brace-expansion - -Copyright (c) 2013 Julian Gruber - -MIT License - -Copyright (c) 2013 Julian Gruber - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -braces 3.0.2 - MIT -https://github.com/micromatch/braces - -Copyright (c) 2014-2018, Jon Schlinkert. -Copyright (c) 2019, Jon Schlinkert (https://github.com/jonschlinkert). - -The MIT License (MIT) - -Copyright (c) 2014-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -buffer 6.0.3 - MIT -https://github.com/feross/buffer - -Copyright (c) Feross Aboukhadijeh, and other contributors. -Copyright (c) Feross Aboukhadijeh (http://feross.org), and other contributors. - -The MIT License (MIT) - -Copyright (c) Feross Aboukhadijeh, and other contributors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -buffer-from 1.1.2 - MIT -https://github.com/LinusU/buffer-from#readme - -Copyright (c) 2016, 2018 Linus Unneback - -MIT License - -Copyright (c) 2016, 2018 Linus Unnebäck - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -chalk 4.1.2 - MIT -https://github.com/chalk/chalk#readme - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -MIT License - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -chokidar 3.5.3 - MIT -https://github.com/paulmillr/chokidar - -(c) Paul Miller -Copyright (c) 2012-2019 Paul Miller (https://paulmillr.com), Elan Shanker - -The MIT License (MIT) - -Copyright (c) 2012-2019 Paul Miller (https://paulmillr.com), Elan Shanker - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the “Software”), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -color-convert 2.0.1 - MIT -https://github.com/Qix-/color-convert#readme - -Copyright (c) 2011-2016, Heather Arthur and Josh Junon. -Copyright (c) 2011-2016 Heather Arthur - -Copyright (c) 2011-2016 Heather Arthur - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - ---------------------------------------------------------- - ---------------------------------------------------------- - -color-name 1.1.4 - MIT -https://github.com/colorjs/color-name - -Copyright (c) 2015 Dmitry Ivanov - -The MIT License (MIT) -Copyright (c) 2015 Dmitry Ivanov - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ---------------------------------------------------------- - ---------------------------------------------------------- - -combined-stream 1.0.8 - MIT -https://github.com/felixge/node-combined-stream - -Copyright (c) 2011 Debuggable Limited - -Copyright (c) 2011 Debuggable Limited - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -command-line-args 5.2.1 - MIT -https://github.com/75lb/command-line-args#readme - - -The MIT License (MIT) - -Copyright (c) 2014-22 Lloyd Brookes <75pound@gmail.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -concat-map 0.0.1 - MIT -https://github.com/substack/node-concat-map - - -This software is released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -cross-env 7.0.3 - MIT -https://github.com/kentcdodds/cross-env#readme - -Copyright (c) 2017 Kent C. Dodds - -The MIT License (MIT) -Copyright (c) 2017 Kent C. Dodds - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -delayed-stream 1.0.0 - MIT -https://github.com/felixge/node-delayed-stream - -Copyright (c) 2011 Debuggable Limited - -Copyright (c) 2011 Debuggable Limited - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -events 3.3.0 - MIT -https://github.com/Gozala/events#readme - -Copyright Joyent, Inc. and other Node contributors. - -MIT - -Copyright Joyent, Inc. and other Node contributors. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -fill-range 7.0.1 - MIT -https://github.com/jonschlinkert/fill-range - -Copyright (c) 2014-present, Jon Schlinkert. -Copyright (c) 2019, Jon Schlinkert (https://github.com/jonschlinkert). - -The MIT License (MIT) - -Copyright (c) 2014-present, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -find-replace 3.0.0 - MIT -https://github.com/75lb/find-replace#readme - -(c) 2015-19 Lloyd Brookes 75pound@gmail.com -Copyright (c) 2015-19 Lloyd Brookes <75pound@gmail.com> - -The MIT License (MIT) - -Copyright (c) 2015-19 Lloyd Brookes <75pound@gmail.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -form-data 3.0.1 - MIT -https://github.com/form-data/form-data#readme - -Copyright (c) 2012 Felix Geisendorfer (felix@debuggable.com) and contributors - -Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -form-data 4.0.0 - MIT -https://github.com/form-data/form-data#readme - -Copyright (c) 2012 Felix Geisendorfer (felix@debuggable.com) and contributors - -Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -fsevents 2.3.2 - MIT -https://github.com/fsevents/fsevents - - -MIT License ------------ - -Copyright (C) 2010-2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -git-describe 4.1.0 - MIT -https://github.com/tvdstaaij/node-git-describe#readme - - -MIT License - -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ---------------------------------------------------------- - ---------------------------------------------------------- - -has-flag 4.0.0 - MIT -https://github.com/sindresorhus/has-flag#readme - -(c) Sindre Sorhus (https://sindresorhus.com) -Copyright (c) Sindre Sorhus (sindresorhus.com) - -MIT License - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -is-binary-path 2.1.0 - MIT -https://github.com/sindresorhus/is-binary-path#readme - -(c) Sindre Sorhus (https://sindresorhus.com), Paul Miller (https://paulmillr.com) -Copyright (c) 2019 Sindre Sorhus (https://sindresorhus.com), Paul Miller (https://paulmillr.com) - -MIT License - -Copyright (c) 2019 Sindre Sorhus (https://sindresorhus.com), Paul Miller (https://paulmillr.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -is-extglob 2.1.1 - MIT -https://github.com/jonschlinkert/is-extglob - -Copyright (c) 2014-2016, Jon Schlinkert. -Copyright (c) 2016, Jon Schlinkert (https://github.com/jonschlinkert). - -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -is-glob 4.0.3 - MIT -https://github.com/micromatch/is-glob - -Copyright (c) 2014-2017, Jon Schlinkert. -Copyright (c) 2019, Jon Schlinkert (https://github.com/jonschlinkert). - -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -is-number 7.0.0 - MIT -https://github.com/jonschlinkert/is-number - -Copyright (c) 2014-present, Jon Schlinkert. -Copyright (c) 2018, Jon Schlinkert (https://github.com/jonschlinkert). - -The MIT License (MIT) - -Copyright (c) 2014-present, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -jsonc-parser 3.0.0 - MIT -https://github.com/microsoft/node-jsonc-parser#readme - -Copyright (c) Microsoft -Copyright 2018, Microsoft -Copyright (c) Microsoft Corporation. - -The MIT License (MIT) - -Copyright (c) Microsoft - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -jsonparse 1.3.1 - MIT -https://github.com/creationix/jsonparse#readme - -Copyright (c) 2012 Tim Caswell -Copyright (c) 2011-2012 Tim Caswell - -The MIT License - -Copyright (c) 2012 Tim Caswell - -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -leven 3.1.0 - MIT -https://github.com/sindresorhus/leven#readme - -(c) Sindre Sorhus (https://sindresorhus.com) -Copyright (c) Sindre Sorhus (sindresorhus.com) - -MIT License - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -lodash.camelcase 4.3.0 - MIT -https://lodash.com/ - -Copyright jQuery Foundation and other contributors -Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors -copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - -Copyright jQuery Foundation and other contributors - -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors - -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash - -The following license applies to all parts of this software except as -documented below: - -==== - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==== - -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. - -CC0: http://creativecommons.org/publicdomain/zero/1.0/ - -==== - -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -mime-db 1.51.0 - MIT -https://github.com/jshttp/mime-db#readme - -Copyright (c) 2014 Jonathan Ong -Copyright (c) 2014 Jonathan Ong me@jongleberry.com - - -The MIT License (MIT) - -Copyright (c) 2014 Jonathan Ong me@jongleberry.com - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -mime-types 2.1.34 - MIT -https://github.com/jshttp/mime-types#readme - -Copyright (c) 2014 Jonathan Ong -Copyright (c) 2015 Douglas Christopher Wilson -Copyright (c) 2014 Jonathan Ong -Copyright (c) 2015 Douglas Christopher Wilson - -(The MIT License) - -Copyright (c) 2014 Jonathan Ong -Copyright (c) 2015 Douglas Christopher Wilson - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -node-abi 2.30.1 - MIT -https://github.com/lgeiger/node-abi#readme - -Copyright (c) 2016 Lukas Geiger - -MIT License - -Copyright (c) 2016 Lukas Geiger - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -node-fetch 2.6.7 - MIT -https://github.com/bitinn/node-fetch - -Copyright (c) 2016 David Frank - -The MIT License (MIT) - -Copyright (c) 2016 David Frank - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - ---------------------------------------------------------- - ---------------------------------------------------------- - -node-stream-zip 1.15.0 - MIT -https://github.com/antelle/node-stream-zip - -Copyright (c) 2012 Another-D-Mention Software and other contributors, http://www.another-d-mention.ro -Portions copyright https://github.com/cthackers/adm-zip https://raw.githubusercontent.com/cthackers/adm-zip/master/LICENSE - -Copyright (c) 2021 Antelle https://github.com/antelle - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -== dependency license: adm-zip == - -Copyright (c) 2012 Another-D-Mention Software and other contributors, -http://www.another-d-mention.ro/ - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ---------------------------------------------------------- - ---------------------------------------------------------- - -normalize-path 3.0.0 - MIT -https://github.com/jonschlinkert/normalize-path - -Copyright (c) 2014-2018, Jon Schlinkert. -Copyright (c) 2018, Jon Schlinkert (https://github.com/jonschlinkert). - -The MIT License (MIT) - -Copyright (c) 2014-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -object-hash 3.0.0 - MIT -https://github.com/puleos/object-hash - -Copyright (c) 2014 object-hash contributors - -The MIT License (MIT) - -Copyright (c) 2014 object-hash contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - ---------------------------------------------------------- - ---------------------------------------------------------- - -onnxruntime 1.7.0 - MIT -https://github.com/Microsoft/onnxruntime#readme - - -MIT License - -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ---------------------------------------------------------- - ---------------------------------------------------------- - -path-browserify 1.0.1 - MIT -https://github.com/browserify/path-browserify - -Copyright (c) 2013 James Halliday -Copyright Joyent, Inc. and other Node contributors. - -MIT License - -Copyright (c) 2013 James Halliday - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -path-is-absolute 1.0.1 - MIT -https://github.com/sindresorhus/path-is-absolute#readme - -(c) Sindre Sorhus (https://sindresorhus.com) -Copyright (c) Sindre Sorhus (sindresorhus.com) - -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -picomatch 2.3.1 - MIT -https://github.com/micromatch/picomatch - -Copyright (c) 2017-present, Jon Schlinkert. -Copyright (c) 2017-present, Jon Schlinkert (https://github.com/jonschlinkert). - -The MIT License (MIT) - -Copyright (c) 2017-present, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -prebuild-install 6.1.4 - MIT -https://github.com/prebuild/prebuild-install - -Copyright (c) 2015 Mathias Buus - -The MIT License (MIT) - -Copyright (c) 2015 Mathias Buus - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -process 0.11.10 - MIT -https://github.com/shtylman/node-process#readme - -Copyright (c) 2013 Roman Shtylman - -(The MIT License) - -Copyright (c) 2013 Roman Shtylman - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -psl 1.8.0 - MIT -https://github.com/lupomontero/psl#readme - -Copyright (c) 2017 Lupo Montero lupomontero@gmail.com -Copyright (c) 2017 Lupo Montero - -The MIT License (MIT) - -Copyright (c) 2017 Lupo Montero lupomontero@gmail.com - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -punycode 2.1.1 - MIT -https://mths.be/punycode - -Copyright Mathias Bynens - -Copyright Mathias Bynens - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -pyright 1.1.239 - MIT -https://github.com/Microsoft/pyright#readme - -Copyright (c) Microsoft Corporation -Copyright (c) 2014-2016, Jon Schlinkert -Copyright (c) 2014-2017, Jon Schlinkert -Copyright (c) 2014-2018, Jon Schlinkert -Copyright (c) 2014-present, Jon Schlinkert -Copyright (c) 2015-present, Jon Schlinkert -Copyright (c) 2015 Jukka Lehtosalo and contributors -Copyright (c) 2011-2017 KARASZI Istvan - -MIT License - -Pyright - A static type checker for the Python language -Copyright (c) Microsoft Corporation. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE - - -The "typeshed" project is licensed under the terms of the Apache license, as -reproduced below. - -= = = = = - -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -= = = = = - -Parts of typeshed are licensed under different licenses (like the MIT -license), reproduced below. - -= = = = = - -The MIT License - -Copyright (c) 2015 Jukka Lehtosalo and contributors - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - -= = = = = - - - ---------------------------------------------------------- - ---------------------------------------------------------- - -querystring-es3 0.2.1 - MIT -https://github.com/mike-spainhower/querystring - -Copyright 2012 Irakli Gozalishvili. -Copyright Joyent, Inc. and other Node contributors. - - -Copyright 2012 Irakli Gozalishvili. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -readable-stream 3.6.0 - MIT -https://github.com/nodejs/readable-stream#readme - -Copyright Joyent, Inc. and other Node contributors. - -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: - -""" -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - - ---------------------------------------------------------- - ---------------------------------------------------------- - -readdirp 3.6.0 - MIT -https://github.com/paulmillr/readdirp - -Copyright (c) 2012-2019 Thorsten Lorenz, Paul Miller (https://paulmillr.com) -Copyright (c) 2012-2019 Thorsten Lorenz, Paul Miller - -MIT License - -Copyright (c) 2012-2019 Thorsten Lorenz, Paul Miller (https://paulmillr.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -safe-buffer 5.1.2 - MIT -https://github.com/feross/safe-buffer - -Copyright (c) Feross Aboukhadijeh -Copyright (c) Feross Aboukhadijeh (http://feross.org) - -The MIT License (MIT) - -Copyright (c) Feross Aboukhadijeh - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -safe-buffer 5.2.1 - MIT -https://github.com/feross/safe-buffer - -Copyright (c) Feross Aboukhadijeh -Copyright (c) Feross Aboukhadijeh (http://feross.org) - -The MIT License (MIT) - -Copyright (c) Feross Aboukhadijeh - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -simple-get 3.1.1 - MIT -https://github.com/feross/simple-get - -Copyright (c) Feross Aboukhadijeh -Copyright (c) Feross Aboukhadijeh (http://feross.org) - -The MIT License (MIT) - -Copyright (c) Feross Aboukhadijeh - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -source-map-support 0.5.21 - MIT -https://github.com/evanw/node-source-map-support#readme - -Copyright (c) 2014 Evan Wallace - -The MIT License (MIT) - -Copyright (c) 2014 Evan Wallace - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -stream-browserify 3.0.0 - MIT -https://github.com/browserify/stream-browserify - -Copyright (c) James Halliday -Copyright Joyent, Inc. and other Node contributors. - -MIT License - -Copyright (c) James Halliday - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -string_decoder 1.3.0 - MIT -https://github.com/nodejs/string_decoder - -Copyright Joyent, Inc. and other Node contributors. - -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: - -""" -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" - - - ---------------------------------------------------------- - ---------------------------------------------------------- - -supports-color 7.2.0 - MIT -https://github.com/chalk/supports-color#readme - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -MIT License - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -through 2.3.8 - MIT -https://github.com/dominictarr/through - -Copyright (c) 2011 Dominic Tarr - -The MIT License - -Copyright (c) 2011 Dominic Tarr - -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -tmp 0.2.1 - MIT -http://github.com/raszi/node-tmp - -Copyright (c) 2014 KARASZI Istvan -Copyright (c) 2011-2017 KARASZI Istvan - -The MIT License (MIT) - -Copyright (c) 2014 KARASZI István - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -to-regex-range 5.0.1 - MIT -https://github.com/micromatch/to-regex-range - -Copyright (c) 2015-present, Jon Schlinkert. -Copyright (c) 2019, Jon Schlinkert (https://github.com/jonschlinkert). - -The MIT License (MIT) - -Copyright (c) 2015-present, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -tr46 0.0.3 - MIT -https://github.com/Sebmaster/tr46.js#readme - - -MIT License - -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ---------------------------------------------------------- - ---------------------------------------------------------- - -tunnel 0.0.6 - MIT -https://github.com/koichik/node-tunnel/ - -Copyright (c) 2012 Koichi Kobayashi - -The MIT License (MIT) - -Copyright (c) 2012 Koichi Kobayashi - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -typical 4.0.0 - MIT -https://github.com/75lb/typical#readme - -(c) 2014-19 Lloyd Brookes 75pound@gmail.com -Copyright (c) 2014-19 Lloyd Brookes <75pound@gmail.com> - -The MIT License (MIT) - -Copyright (c) 2014-19 Lloyd Brookes <75pound@gmail.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - ---------------------------------------------------------- - ---------------------------------------------------------- - -universalify 0.1.2 - MIT -https://github.com/RyanZim/universalify#readme - -Copyright (c) 2017, Ryan Zimmerman - -(The MIT License) - -Copyright (c) 2017, Ryan Zimmerman - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the 'Software'), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -util-deprecate 1.0.2 - MIT -https://github.com/TooTallNate/util-deprecate - -Copyright (c) 2014 Nathan Rajlich - -(The MIT License) - -Copyright (c) 2014 Nathan Rajlich - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -uuid 8.3.2 - MIT -https://github.com/uuidjs/uuid#readme - -Copyright 2011, Sebastian Tschan https://blueimp.net -Copyright (c) Paul Johnston 1999 - 2009 Other contributors Greg Holt, Andrew Kepert, Ydnar, Lostinet - -The MIT License (MIT) - -Copyright (c) 2010-2020 Robert Kieffer and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -vscode-jsonrpc 8.0.0-next.7 - MIT -https://github.com/Microsoft/vscode-languageserver-node#readme - -Copyright (c) Microsoft Corporation - -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -vscode-languageclient 8.0.0-next.14 - MIT -https://github.com/Microsoft/vscode-languageserver-node#readme - -Copyright (c) TypeFox and others -Copyright (c) Microsoft Corporation -Copyright (c) Isaac Z. Schlueter and Contributors -Copyright (c) 2013 Julian Gruber - -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -vscode-languageserver 8.0.0-next.10 - MIT -https://github.com/Microsoft/vscode-languageserver-node#readme - -Copyright (c) TypeFox and others -Copyright (c) Microsoft Corporation - -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -vscode-languageserver-protocol 3.17.0-next.15 - MIT -https://github.com/Microsoft/vscode-languageserver-node#readme - -Copyright (c) Microsoft Corporation -Copyright (c) TypeFox, Microsoft and others - -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -vscode-languageserver-protocol 3.17.0-next.16 - MIT -https://github.com/Microsoft/vscode-languageserver-node#readme - -Copyright (c) Microsoft Corporation -Copyright (c) TypeFox, Microsoft and others - -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -vscode-languageserver-textdocument 1.0.4 - MIT -https://github.com/Microsoft/vscode-languageserver-node#readme - -Copyright (c) Microsoft Corporation. - -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -vscode-languageserver-types 3.17.0-next.8 - MIT -https://github.com/Microsoft/vscode-languageserver-node#readme - -Copyright (c) Microsoft Corporation - -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -vscode-languageserver-types 3.17.0-next.9 - MIT -https://github.com/Microsoft/vscode-languageserver-node#readme - -Copyright (c) Microsoft Corporation - -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -vscode-uri 3.0.3 - MIT -https://github.com/microsoft/vscode-uri#readme - -Copyright (c) Microsoft -Copyright (c) Microsoft Corporation. -Copyright Joyent, Inc. and other Node contributors. - -The MIT License (MIT) - -Copyright (c) Microsoft - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ---------------------------------------------------------- - ---------------------------------------------------------- - -whatwg-url 5.0.0 - MIT -https://github.com/jsdom/whatwg-url#readme - -(c) extraPathPercentEncodeSet.has -Copyright (c) 2015-2016 Sebastian Mayr - -The MIT License (MIT) - -Copyright (c) 2015–2016 Sebastian Mayr - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -xml2js 0.4.23 - MIT -https://github.com/Leonidas-from-XIV/node-xml2js - -Copyright 2010, 2011, 2012, 2013. - -Copyright 2010, 2011, 2012, 2013. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -xmlbuilder 11.0.1 - MIT -http://github.com/oozcitak/xmlbuilder-js - -Copyright (c) 2013 Ozgur Ozcitak - -The MIT License (MIT) - -Copyright (c) 2013 Ozgur Ozcitak - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -sha.js 2.4.11 - MIT AND BSD-3-Clause -https://github.com/crypto-browserify/sha.js - -Copyright (c) 2013-2018 sha.js contributors -Copyright (c) 1998 - 2009, Paul Johnston & Contributors -Copyright Paul Johnston 2000 - 2002. Other contributors Greg Holt, Andrew Kepert, Ydnar, Lostinet -Copyright Angel Marin, Paul Johnston 2000 - 2009. Other contributors Greg Holt, Andrew Kepert, Ydnar, Lostinet - -Copyright (c) 2013-2018 sha.js contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -Copyright (c) 1998 - 2009, Paul Johnston & Contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this -list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - -Neither the name of the author nor the names of its contributors may be used to -endorse or promote products derived from this software without specific prior -written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - ---------------------------------------------------------- - ---------------------------------------------------------- - -JSONStream 1.3.5 - MIT OR Apache-2.0 -http://github.com/dominictarr/JSONStream - -Copyright (c) 2011 Dominic Tarr - -The MIT License - -Copyright (c) 2011 Dominic Tarr - -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -typescript-char 0.0.0 - Unlicense -https://github.com/mason-lang/typescript-char#readme - - -This is free and unencumbered software released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. - -In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and - -successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -For more information, please refer to - ---------------------------------------------------------- - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/README.md b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/README.md deleted file mode 100644 index f8cce0f7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/README.md +++ /dev/null @@ -1,184 +0,0 @@ -Pylance -===================== -### Fast, feature-rich language support for Python - -Pylance is an extension that works alongside Python in Visual Studio Code to provide performant language support. Under the hood, Pylance is powered by [Pyright](https://github.com/microsoft/pyright), Microsoft's static type checking tool. Using Pyright, Pylance has the ability to supercharge your Python IntelliSense experience with rich type information, helping you write better code faster. - -Pylance is the default language support for [Python in Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-python.python) and is shipped as part of that extension as an optional dependency. - -The Pylance name is a small ode to Monty Python's Lancelot who was the first knight to answer the bridgekeeper's questions in the Holy Grail. - -Quick Start -============ -1. Install the [Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python) from the marketplace. Pylance will be installed as an optional extension. -1. Open a Python (.py) file and the Pylance extension will activate. - -Note: If you've previously set a language server and want to try Pylance, make sure you've set `"python.languageServer": "Default" or "Pylance"` in your settings.json file using the text editor, or using the Settings Editor UI. - -Features -========= - -![ features ](https://github.com/microsoft/pylance-release/raw/main/images/all-features.gif) - -Pylance provides some awesome features for Python 3, including: - -* Docstrings -* Signature help, with type information -* Parameter suggestions -* Code completion -* Auto-imports (as well as add and remove import code actions) -* As-you-type reporting of code errors and warnings (diagnostics) -* Code outline -* Code navigation -* Type checking mode -* Native multi-root workspace support -* IntelliCode compatibility -* Jupyter Notebooks compatibility -* Semantic highlighting - -See the [changelog](https://github.com/microsoft/pylance-release/blob/main/CHANGELOG.md) for the latest release. - -Settings and Customization -=============== -Pylance provides users with the ability to customize their Python language support via a host of settings which can either be placed in the settings.json file in your workspace, or edited through the Settings Editor UI. - -- `pylance.insidersChannel` - - Used to control the insiders download channel. - - Available values: - - `off` (default) - - `daily` - -- `python.analysis.typeCheckingMode` - - Used to specify the level of type checking analysis performed; - - Default: `off` - - Available values: - - `off`: No type checking analysis is conducted; unresolved imports/variables diagnostics are produced - - `basic`: Non-type checking-related rules (all rules in `off`) + basic type checking rules - - `strict`: All type checking rules at the highest severity of error (includes all rules in `off` and `basic` categories) - -- `python.analysis.diagnosticMode` - - Used to allow a user to specify what files they want the language server to analyze to get problems flagged in their code. - - Available values: - - `workspace` - - `openFilesOnly` (default) - -- `python.analysis.stubPath` - - Used to allow a user to specify a path to a directory that contains custom type stubs. Each package's type stub file(s) are expected to be in its own subdirectory. - - Default value: `./typings` - -- `python.analysis.autoSearchPaths` - - Used to automatically add search paths based on some predefined names (like `src`). - - Available values: - - `true` (default) - - `false` - -- `python.analysis.extraPaths` - - Used to specify extra search paths for import resolution. This replaces the old `python.autoComplete.extraPaths` setting. - - Default value: empty array - -- `python.analysis.diagnosticSeverityOverrides` - - Used to allow a user to override the severity levels for individual diagnostics should they desire - - Accepted severity values: - - `error` (red squiggle) - - `warning` (yellow squiggle) - - `information` (blue squiggle) - - `none` (disables the rule) - - - Available rule to use as keys can be found [here](https://github.com/microsoft/pylance-release/blob/main/DIAGNOSTIC_SEVERITY_RULES.md) - - Example: - ``` - { - "python.analysis.diagnosticSeverityOverrides": { - "reportUnboundVariable" : "information", - "reportImplicitStringConcatenation" : "warning" -     } - } - ``` - -- `python.analysis.useLibraryCodeForTypes` - - Used to parse the source code for a package when a typestub is not found - - Accepted values: - - `true` (default) - - `false` - -- `python.analysis.autoImportCompletions` - - Used to control the offering of auto-imports in completions. - - Accepted values: - - `true` (default) - - `false` - -- `python.analysis.completeFunctionParens` - - Add parentheses to function completions. - - Accepted values: - - `true` - - `false` (default) - -Semantic highlighting -===================== - -Visual Studio Code uses TextMate grammars as the main tokenization engine. TextMate grammars work on a single file as input and break it up based on lexical rules expressed in regular expressions. - -Semantic tokenization allows language servers to provide additional token information based on the language server's knowledge on how to resolve symbols in the context of a project. Themes can opt-in to use semantic tokens to improve and refine the syntax highlighting from grammars. The editor applies the highlighting from semantic tokens on top of the highlighting from grammars. - -Here's an example of what semantic highlighting can add: - -Without semantic highlighting: - -![ semantic highlighting disabled ](https://github.com/microsoft/pylance-release/raw/main/semantic-disabled.png) - -With semantic highlighting: - -![ semantic highlighting enabled ](https://github.com/microsoft/pylance-release/raw/main/semantic-enabled.png) - -Semantic colors can be customized in settings.json by associating the Pylance semantic token types and modifiers with the desired colors. - -- Semantic token types - - class, enum - - parameter, variable, property, enumMember - - function, member - - module - - intrinsic - - magicFunction (dunder methods) - - selfParameter, clsParameter - -- Semantic token modifiers - - declaration - - readonly, static, abstract - - async - - typeHint, typeHintComment - - decorator - - builtin - -The [scope inspector](https://code.visualstudio.com/api/language-extensions/syntax-highlight-guide#scope-inspector) tool allows you to explore what semantic tokens are present in a source file and what theme rules they match to. - -Example of customizing semantic colors in settings.json: -``` -{ - "editor.semanticTokenColorCustomizations": { - "[One Dark Pro]": { // Apply to this theme only - "enabled": true, - "rules": { - "magicFunction:python": "#ee0000", - "function.declaration:python": "#990000", - "*.decorator:python": "#0000dd", - "*.typeHint:python": "#5500aa", - "*.typeHintComment:python": "#aaaaaa" - } - } - } -} -``` - -Contributing -=============== -Pylance leverages Microsoft's open-source static type checking tool, Pyright, to provide performant language support for Python. - -Code contributions are welcomed via the [Pyright](https://github.com/microsoft/pyright) repo. - -For information on getting started, refer to the [CONTRIBUTING instructions](https://github.com/microsoft/pyright/blob/main/CONTRIBUTING.md). - - -Feedback -=============== -* File a bug in [GitHub Issues](https://github.com/microsoft/pylance-release/issues/new/choose) -* [Tweet us](https://twitter.com/pythonvscode/) with other feedback diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/browser.extension.bundle.js b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/browser.extension.bundle.js deleted file mode 100644 index 30882e82..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/browser.extension.bundle.js +++ /dev/null @@ -1 +0,0 @@ -function a0_0x1bd9(_0x2d8557,_0x1b9822){var _0x385fe7=a0_0x385f();return a0_0x1bd9=function(_0x1bd9c7,_0x3f0593){_0x1bd9c7=_0x1bd9c7-0x129;var _0x4977e9=_0x385fe7[_0x1bd9c7];if(a0_0x1bd9['tkxiaY']===undefined){var _0x6435cc=function(_0x1ab862){var _0x610fd0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x1fbb56='',_0x37b22d='';for(var _0x4319a6=0x0,_0x36d507,_0x21cb83,_0x4b2135=0x0;_0x21cb83=_0x1ab862['charAt'](_0x4b2135++);~_0x21cb83&&(_0x36d507=_0x4319a6%0x4?_0x36d507*0x40+_0x21cb83:_0x21cb83,_0x4319a6++%0x4)?_0x1fbb56+=String['fromCharCode'](0xff&_0x36d507>>(-0x2*_0x4319a6&0x6)):0x0){_0x21cb83=_0x610fd0['indexOf'](_0x21cb83);}for(var _0x3ab0b4=0x0,_0x57c6a8=_0x1fbb56['length'];_0x3ab0b4<_0x57c6a8;_0x3ab0b4++){_0x37b22d+='%'+('00'+_0x1fbb56['charCodeAt'](_0x3ab0b4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x37b22d);};a0_0x1bd9['WmmUHB']=_0x6435cc,_0x2d8557=arguments,a0_0x1bd9['tkxiaY']=!![];}var _0xf3220=_0x385fe7[0x0],_0x32e76f=_0x1bd9c7+_0xf3220,_0x55ea62=_0x2d8557[_0x32e76f];return!_0x55ea62?(_0x4977e9=a0_0x1bd9['WmmUHB'](_0x4977e9),_0x2d8557[_0x32e76f]=_0x4977e9):_0x4977e9=_0x55ea62,_0x4977e9;},a0_0x1bd9(_0x2d8557,_0x1b9822);}function a0_0x385f(){var _0x246406=['DhKL','AwvUDenVBw1HBG','B19MB3jfywnOjq','uhjLzML4tgvUzW','mZaWndGXm1vzvgPHBW','yMfZzq','zMLUywXSEq','CMvSB2fK','Dw5Py29Kzu1JuW','igHHCYbUB3qGyG','zw1PDa','vhLWzwrbCNjHEq','sw5ZAwrLCNmUza','ChL0Ag9UlMfKza','zwDHDgL2zq','y2fSBa','De93BLbYB3bLCG','twfW','u2L6zq','AxbIB2fYzcCkya','yxLcDwzMzxjqCG','ntuZmdG','DgH1yI5JB20VBq','zMXHz3m','BIb2zxjZAw9Uia','CgfYC2u','Bxb0EsbZDhjPBG','Bwf0y2HLC0LUza','z3jHDgvKtwvZCW','B192ywX1zxmL','zunVBxbSzxrPBW','CM9UBwvUDcbKyq','lMPZB24','ihrVihLVDxiGCW','Bg9JywXPEMu','w29IAMvJDcbbCW','D29YA2jLBMnOlG','rgvMAw5Lza','DgLVBIOGkcKGEW','icaGia','z2uGu2vYDMvYia','CYbJAgfUBMvSia','Dw5Py29Kzu5SuW','qxn5BMnhzw5LCG','yxbWzw5KugXHyW','zY4GuMvJzwL2zq','zxj0EurLC2nYAq','BKnVBw1HBMrqCG','y3jLyxrL','DcbPCYbOyxbWzq','ywrKsw1WB3j0','C29YDa','BNn0ywXSAw5Nsq','ntuZnti','CMv0DxjU','sw50mtzbCNjHEq','x2nZ','AxnjzgvUDgLMAq','AxnuExbLzefYCG','zxnmAxn0','CMvWzwf0','EvbYB3rVDhLWzq','CMvUyw1LrwrPDa','Ahr0Chm6lY9NAq','CNzLCI5Zzxr0Aq','AxncB29SzwfU','DhLWzxm','DhjPBq','tMv3tgLUzvrVAW','Dg9tDhjPBMDuyq','z2v0tw9UDgG','sw5ZAwrLCNmUAq','AxnezwrLBNrbBq','zxHWB3j0CW','mtbbCu9Atum','yMuGysbZDhjPBG','z2v0sxrLBuf0','B3jdB2XSzwn0Aq','qxjYyxKUChjVDa','Aw9Ujq','B3jPz2LUywXwyq','u3rYAw5Nvg9Rzq','Dw5Py29KzuXV','CguGrNvUy3rPBW','CLbHCMfT','C3vWzxjF','z2v0rNvUy3rPBW','DcbVzIbPBMzVia','zgvMyxvSDa','y29TCgfYzvbVCW','sw50mZjbCNjHEq','yxbWBhK','ifb5BgfUy2uGAq','zwn0Aw9UCW','z2v0t3bLCMf0BW','AwXKlI4U','BgfUz3vHz2vtzq','y29TCgfYzunVBq','yxn5BMmGzNvUyW','x2fKze5LEhruBW','AxnfBMrpzLn0CG','wwvZlcbHBMqGCG','zxj0AwvZ','x3rVA2vUCW','DhjPBvn0yxj0','x2XMq291BNq','igfWCgXPy2fIBa','tgfUz3vHz2vtzq','y29UDMvYDfjHBG','AxnvAw50oenSyq','B24kwfHycMbGya','AxngBg9HDdy0qq','x2DLDeLNBM9Yzq','lIbqBgvHC2uGyW','BI5HBMfSExnPCW','ywDLifnLCNzLCG','z0v4Cf0','AxnqCM9TAxnL','zxzLCNK','z2v0u2vJB25KCW','CM9Y','Aw5ZAwrLCNmGyG','DgLVBIu','Dg9mB3DLCKnHCW','yNjVD3nLCG','EwvSBg93','yxnZzxj0tMv2zq','yMX1zq','AwnYB3nVzNqVCa','zg9syw5NzxnpDG','Ee9M','vfjvrq','Dw5Py29Kzu5S','BxmTChL0Ag9UlG','zw5K','BM9ezxbYzwnHDa','AxncAwDjBNq2na','zMXVB3i','z0LUzM8','y3rPB24','juz1BMn0Aw9UlG','v2vHA01HCa','B25eAwrdAgfUzW','q2XPzw50q29TBq','sMfU','ntuZmdi','C2vUDa','AxntzxrjDgvYyq','x2DLDff1B3rLva','x2DLDenVBw1LBG','zNvUy3rPB24','AxrPB25Z','u3rYAw5NlNbYBW','BwvTB3j5vxnHzW','vg9Rzw4','rwrPDg9Yq29TBq','Bg9HzeXVy2fSAq','Dg90ExbLjq','ntuZntq','BMvYyxrVCKz1BG','tNvTyMvYvg9Rzq','zgLUzYaIChL0Aa','Dw5Py29KzuX1','ChbSAwnHyMXLia','x2LZug9ZC2LIBa','CgfJzq','DhjHy3rnzxrOBW','DMfSDwu','qM9VBgvHBG','x2XPBMvsyw5Nzq','C2TPCfrVrw9S','vgHLicjWyxrOtW','zgvIDwDSB2C','zgvMyxvSDfrHyG','AxnxAgL0zvnWyq','ntuZmdq','AwDNzxjqyxjHBq','ChrVCG','ntuZndK','zgvIDwC','z2v0q29UzMLNDq','w1nLDhrLCL0','ihrLCM0SigfZia','ww91CIbqEwXHBG','zuXVywrfEhrLBG','zwn0','B3rVDhLWzsu','ntuZndG','BwfUza','DNnJB2rLlxb5Ba','sw1WB3j0','igHHDMuGyw4GAq','zxHJzxb0','CM9Yxq','rgvKzw50vg9Rzq','jvvssuvYCM9Yua','y29TyMLUzvjHBG','DwXKig5VDcbIzq','CK9IAMvJDa','zu51BwjLCG','yxnZzxj0','juPtt05tDhjPBG','z2LMEsu','DhjHy2vezxbYzq','AxrLCMf0B3i','BwvZCgfJzu9IAG','CM9VDc4','zfDPDgHszw5HBq','AxnxzwfRtwfW','BgLZDgvUzxjZ','qxvN','zgvMAw5Lza','Aw9U','y29TBwvUDhm','BxbLzefYCMf5','BNnPzgvYCW','zxH0','B2XSzwn0Aw9U','zwfR','C3vIC2nYAxb0Aq','zwXPzG','z2v0tMvZDgvKua','CLbYB3rVDhLWzq','ntuZmda','y2fWlYWGAhr0Ca','u2v0DgLUz3mGyq','DgvdB3vUDa','jvvPBNq4q2XHBq','BM9TzxnZywDL','zMLSAw5NigfUia','x2DLDfn0CMLUzW','yMLUyxj5u2vHCG','C3rHCNq','CNmGyNvPBgqGBW','zgvWDgG','ifTgDw5JDgLVBG','zNjVBujVDw5KCW','u25PChbLDfn0CG','DcaViefKzgL0Aq','ChjVBwLZAwz5','z2v0twLUDxrLCW','z0LUC2LKzxjZ','C3bSAxq','BMfTzsbTDxn0ia','ntuZmtm','Aw5Zzxj0qxq','DgvZDa','BM9Uyw1L','jvDLywTtzxrqCG','Dw5Py29Kzu1U','AxneyxrL','C3r5BgvZ','ChL0Ag9UlNzPzq','z3jLEq','vwLUDdmYqxjYyq','vvjjrxjYB3i','zMLUzvbYB3bLCG','q29TCgfYAxnVBG','Axntzxq','AxncB29SzwfUtW','pGOkygbGChL0Aa','CMf5qNvMzMvYxq','qxjYyxLcDwzMzq','swXSzwDHBcb2yq','B19LBNrYAwvZjq','CNzLCI50DxjUsq','Aw52ywXPzcbPBG','DgHVBK1Hz2LJCW','zw52','x3nRAxbgBg9HDa','yM9KEq','q29TBwfUze1HBG','AgfY','rMXVyxqZmKfYCG','Dg9tDhjPBMC','x19WCM90B19F','CM9TsxrLBxm','vgHLicj1DgLSlG','CLbHCMfTzxrLCG','u3LTyM9S','B3zLCMXHChnsyq','D2HPBgu','qNjVD3nLCLnLCG','x2nYq291BNq','zxjjBxbVCNrZ','xcqM','vgv4DfjHBMDLqW','y2HKAxi','ywrKvg9fEhrYyq','DwLSzc4UlG','DgvYC2vJDa','x3b5CMLNAhrjzW','ywXS','zw1WDhLbCNjHEq','cI0GicbpuYbHBG','C2LKzxjZ','zNqVChLSyw5Jzq','Dci7ihjLDhvYBG','Dg9Y','DhjLyw0','ywrKswzvBMLXDq','zguGDg8GDxnLia','uhjVBwLZzq','z2v0sxrLBuf0ua','x2fKzenVBw1LBG','yw1LDgvYsgLUDa','x3jLywrjBMrLBG','Bwf0y2G','mJiZodC0ogjlzMzhza','zNqGtgfUz3vHzW','Dw5Py29Kzu1J','sw5ZDgfSBgLUzW','CMv0DxjUvw5Kzq','iMv4DciGyxjNDq','y3vZDg9T','ntuYoty','qxjYyxK','jvnOyxjLzefYCG','mZ4Gqwn0DwfSia','AxnbCNjHEq','y3rLzcbJBg9ZAq','Bwf4s2v5CW','CgfJA2fNzs5UBa','x2LZsvb5DgHVBG','CMv0DxjUigz1BG','CMf5uhjVDg90Eq','zsbVzIb0ExbLia','ChjVCgvYDhKGBG','Aw5KzxGGAxmGBW','x2HHBMrSzu5LDW','x2LWExrOB25nBW','DxbKyxrLu2v0Da','AxnjBNqZmKfYCG','ExbLrMXHz3m','C2v0vgLTzw91Da','vgv4DfjHBMDL','BKnVBw1HBMrZ','zNvUy3rPB24Qia','jtiW','vwLUDdHbCNjHEq','AxnpyMPLy3q','u3rHCNrjzgvUDa','BgfUz3vHz2vjza','yxbWzw5KqxjYyq','igrVzxmGBM90ia','zgLY','ihDPDgGGysbMyq','tK9erv9erujvrW','y29UDMvYDfbVCW','BMDLigXLBMD0Aa','D2L0Aa','zMXHDhrLBG','cGO8Adm+iev4Ca','qMLNvwLUDdy0qq','AxnbDfDOAxrLuW','zgvWCMvJyxrL','w29IAMvJDcbfCG','x2fKzeXPBMvsyq','zw4TDxm','AxntCgfJzvbYzq','yxrLzdO','CMf0Aw9Usw1WBa','jhXE','x3nRAxbgCMfJDa','yw5K','rgvMyxvSDa','x2DLDefZA2vKrG','A2v5D29Yzfr5Ca','zNvU','Dw5Py29KzuXTuW','yxLqCM90B3r5Ca','DwfNzvnLCNzLCG','DxjP','BMv3u3LTyM9StG','AwrLBNrPDhK','Dg8GAw5ZDgfSBa','zxHpzG','CMv0DxjUvhj1zq','zwn1DgvKq2XPzq','EwLLBgq','y29UDMvYDe9MzG','Bg9VA0fOzwfK','jurHDgvqCM90BW','x3rLEhq','C2v0','q29TBw9UlNjLBa','zufSBa','yxjNzsbHBw91BG','zxjSyxa','Awj1DgLVBIbPzG','x3nRAxbezwnPBq','zw5HyMXLza','ntu0mte','x3r5Cgvjz25VCG','AxntDhjPBMDpyG','z2v0rw5K','CMvKDwnL','DgHLBG','DgHVBIbmyw5NDq','yw1LCYb3AxrOia','BNn0ywXSzwrjBG','yxbWBhKL','y2HHCKnVzgvbDa','dqPwzxjIB3nLia','ugXLyxnLihjLBa','Chm6lY93D3CUCW','ygakcJXOmZ4GqW','x3nLDeLUzgvUDa','B25Jzq','zNjVBq','x2LUzgvUDefTBW','q29TBw9UlNjLBq','yMLUzgvYlMfWCa','Dhj5','CxvVDgvnyxjRta','x2LUzgvUDfnWyq','BgfZDeLUzgv4tW','BhvL','zM9YrwfJAa','vhLWzuvYCM9Y','BM9uAgfUA3m','lMnVBs9WAhCVCa','C29Tzq','iJOGiLrYywnLiG','z2v0sg91CNm','w29IAMvJDcbhzq','AxnqEwXHBMnLra','zw50','AxnZDwuGzMLYCW','Aw50CMLUC2LJia','DxqGAxmGBM90ia','AxngBg9HDdmYqq','B20GEw91CIbJBa','w09IAMvJDf0','y29UDMvYDfrLEa','D3jPDgvuzxH0','iaOGAw4GzxH0CG','rg93BMXVywrPBG','AxnpCgvYyxrVCG','DgvYywW','uMvTAw5szwXVyq','DcbOyxzLig1HDa','CMf0Aw9U','DcbIzsbVzIb0Eq','BwfUy2uGAw1Wyq','yxjJAa','vw5HyMXLihrVia','AxnnB2r1Bgvoyq','Dgv4DerVy3vTzq','juLUDde2qxjYyq','z3vTzw50CYK7ia','rMvI','q29TBwfUzhm','jxmGlsaLCW','u3r1yG','x3rYEu51BwjLCG','ju9IALbYB3rVxW','qxnZAwDUBwvUDa','ntuZmdK','BMrLEgLUzW','t09usu5hlM1KiW','DhjHy2u','DgL0Bgu','CMvNzxHW','Bgf1BMnO','yMPLy3q','CgfJA2fNzuPttW','zMLSzq','Aw5JBhvKzxm','D2HPDgu','qwnJzxb0zwq','Aw5KignHBgXLza','Axnpy3rHBa','EwXHBMnLlxjLBa','y3jLzw50B2DPzG','C3LTyM9S','AxnezwzPBMvK','Cgv0','BgLUzq','C3bSAwnL','yM9Sza','tM92','CM1HDgLVBJOG','ExbLia','z2v0rw1WDhLsyq','Dg9vventDhjPBG','ChL0Ag9UlM9Yza','DNnJB2rL','B2jQzwn0','BgLUzuf0','DhLezxnJCMLWDa','B3qGyMuGBwLNCG','l3D3DY5JB2nRBW','yMfZzw5HBwu','zMLLCG','Aw5OzxjPDhm','y29WEq','AxngDw5JDgLVBG','z3mGy291BgqGBG','mJmYmxzszuzxBW','yxnZzxj0rwfJAa','B3bLCMf0B3juEq','t2n0','CZOVl2DPDgH1yG','Aw9UywXoDw1Izq','vgHLigXHC3qGyq','zw5ZAw9U','B25Z','ihrYywnLigXVzW','ntu0mdu','C2LVBG','Aw9UlNrYAwDNzq','mtq0nJeYvgDyqvLg','ntuYotG','CMv0DxjUrMfSCW','ywTtzxrD','AxncB3HLzfbYAq','BgvUz3rOig11CW','w29IAMvJDcbtAa','uhjVBwLZzsb3yq','z2v0t3DUuhjVCa','Aw5Kzw50qw1VDq','AxntDxjYB2DHDa','x2HHBMrSzunVBq','CMvHC29U','AxrPB24','CZOG','ze1LC3nHz2u','CMfUz2vZqxjLrq','Bg9Nz2LUzYbPCW','tgLUzq','y3rPB24QkcKGEW','zsbpyMPLy3qUia','AxntEw1IB2XpyG','DgvTu2vSzwn0zq','ChLSyw5Jzs50CG','Dw5KzwzPBMvK','C2v0C1rVuMfUzW','z2v0t3jbzgq','Dw50CW','C3rHCNqGBxvZDa','w0nPCMn1BgfYxq','AxncAw5HCNK','y2uGAw5ZAwrLCG','lY9NAxrODwiUyW','AxnnyxbjDgvYyq','tNvTyMvY','zM9YBwf0rw51Bq','q291BNq','zM9V','C3rYAw5N','zxf1yxrLvMfSDq','zwvRig9YigH0Da','z2v0u2v0DgLUzW','jvvPBNq4qxjYyq','C2LMEs5JDxn0BW','zxHLy3v0zwrdBa','t3bLCMf0B3juBW','juzSB2f0nJrbCG','BgvUz3rO','y29TBw9U','C2vSzwn0Aw9U','juLUDdHbCNjHEq','EMfIBgvfCNjVCG','BMDLihn0yxj0','ChrVCNm','yMX5q29TCgLSzq','AxntDhjPBMC','yxjLzefYCMf5qG','CMLUzW','CM9VDa','DxjLlG','DMfSDwvpzIu','z2v0','w29IAMvJDcbxzq','igjLig9Mihr5Ca','igXLzNqGBg9UzW','DgfwAwv3xq','sw50zwXSAunVza','ChL0Ag9UlMnYzq','rNvUy3rPB24L','B21WBgv0Aw9Usq','juz1BMn0Aw9Uua','uMvSB2fKv2LUza','qNvMzMvY','mvfxqKDkra','zMvY','twfY','BwfNzw50yq','rw51BwvYywjSzq','CcbjDgvYyxrVCG','CMf0B3jgDw5JDa','zgv0zxjTAw5Lia','CMvNAxn0zxjbDq','x2HHBMrSzunOyq','zwrPDg9YlNbHCG','z3vTzw50CW','ju1HDgGUBwf4jq','AxnvAw50mtzbCG','yxbWzw5K','y2f0y2G','CMvZB2X2zq','AxnuAgvUywjSzq','BMLUzYb3B3vSza','x3rYEu9WzxjHDa','AxnszwDfEha','AxnqCMLTAxrPDG','yw5KCW','zxjYB3i','ywrKuMfUz2u','Dg9tDhjPBMCL','Cg9W','DgHLigLUC2LKzq','Dw5Py29KzuXT','BNrdB21Tyw5K','B3rLoIbjzIb5BW','DhjPBNnPyYbZEq','y29TBwfUza','DMLVDxiGpc9OmW','y29UC3rYDwn0BW','ju51BwjLCLbYBW','zw50ig11C3qGyG','yMPLy3qIigfYzW','zMfSC2u','uMvJzwL2zwqGDa','ywTnyxbD','uMvTAw5Kig1Lia','lMLUC3rHBgXfEa','ntu0mJq','AxneyxrHvMLLDW','x2nYtgzdB3vUDa','CMvTB3zLvw51CW','ExbLiez1BMn0Aq','ChjVy2vZCY5JAa','t2ztDhjPBMDmAq','sLnptG','DwvZ','zMLUza','zwPLy3qL','DgfPBMLUzW','CMvHBq','zgvM','D0XHBMD1ywDLuW','BhvLoG','CMvfCxvHBa','qxbWq29UzMLNDq','DgfImvnWywnLCW','rxzHBevYCM9Y','BwjVBf0','icaG','C2TPCfDOAxrLCW','t2jQzwn0lNbYBW','zxnZAw9UlG','BMn0Aw9Uxq','ChjPBNq','q29TBwvUDa','rMXVyxq2nefYCG','juPtt05qyxjZzq','w0DLDhrLCI9tzq','DhjPz2DLCLbHCG','Cg9ZAxG','AxncAwDvAw50nG','Aw5ZDgfSBgLUzW','yMvOyxzPB3vYia','jvn5BwjVBfbYBW','zxH0CMfJDe1LDa','AxnfBxb0Eq','Aw1WB3j0','ntuZntG','zgf0zq','rMfSC2u','ywXoDw1Izxi','ntu0mdy','DgLVBIaOksb7Fq','u3vYCM9NyxrLqW','jvjLzMXLy3qUyq','z3vTzw50ig11CW','BNnPyYbMB3iG','mtm1nZbwzhHAvui','ugf0AcbTDxn0ia','Dgv4Da','ntuZmJm','DhvYBKL0t24','CIb0B29SCYbSAq','t2jQzwn0','ihn1ChbVCNrLza','B2fK','uMvNrxHW','DhjPBuvUza','Aw5KzxHpzG','zurLzMf1Bhq','zMLUzwq','sw5Kzw50vg9Rzq','CMfJDgvY','l1rst1vctevtsa','zxnWywnL','s2v5D29YzfrVAW','AxnfBxb0EvjHBG','z2v0q3vYCMvUDa','rgvJ','ntuZmdm','C2vLBG','C2L0Aw9U','ChLSyw5Jzs5YDq','w29IAMvJDcbtEq','BgfUz3vHz2vezq','vxjP','lNr5CgvdAgvJAW','vhjPz2DLCLbHCG','lNbYB3rVDhLWzq','jvjLzMvYzw5Jzq','zMfPBa','BwfW','zfrVrxH0CMfqyq','Dw5Py29Kzu5K','B24Uyw5HBhLZAq','x3bHCMvUrgvWDa','DfjHBMDLvg9syq','BgfTyMrH','CMvTB3zLtgLZDa','x2HHBMrSzvn0CG','CNzLCLnLDhrPBG','lMnVBs8GlGOTlq','BgWL','jvbYB21PC2vFyq','x3bVC2L0Aw9U','ChjVDg90ExbL','zw5NDgG','Aw50zwXSAunVza','igv4Axn0CYWGyG','Dw5Py29KzuXVuW','AxnizxG','q29TBw9UlK5V','zsbZzxr0Aw5NCW','ntyXmJG','Aw5N','z3vTzw50C10','juLUDdmYqxjYyq','sgLUDhm','CY9UzxC/','yxjNDG','q29TBw9UlLLLCW','iMfSBg93twLZCW','Ag9Kv2L0AfjLBG','zvnLCNzLCKv4Da','EMvKu3rYAw5NCW','jufYCMf5qNvMzG','zxH0CMfqyxrOCW','zsbHigjVB2XLyq','B3DUBg9HzgLUzW','vgHLicjVCMLNAq','AxnoDwXSt3jvBG','ntuZmJi','tM8GDgHHBMTZ','tw9KDwXLxq','CgfYywjSzvzHBa','BM90','zgvZy3jPChrPBW','zwXSAwnVzguU','ntu0mJG','pGOkwfHycGO8Aa','zwXSAwnVzguUBa','y29TCgfYzvzHBa','ChL0Ag9U','BM9YBwfSAxPL','x2v4DgvUza','yxjNDw1LBNrZ','DhjHy3rwyxjPyq','yNjLywS','Axn0zw5LCNm','D29YA3nWywnL','yMLUza','Dxn0igjLigeGzG','C3rYAw5NAwz5','AxnfCNjVCG','y2XPCgjVyxjK','lY4U','DcbjDgvYyxrVCG','BK5HBwu','ifbSzwfZzsbMAq','jufZEw5JrNvUyW','z2v0rxH0zw5ZAq','C3vIC3rY','Bwf0Aw9UidWVAa','A2vU','AxrHBgLJ','zxj2zxjpDxrWDq','B3nPDgLVBG','zg9syw5NzxnjBG','u2vSzwn0Aw9U','BgvKlIbxB3vSza','ntuZmJq','CNvU','Dg9cB29SzwfU','sw5ZDgfSBev4Da','Bhn5ihzHBhvL','q2HHCG','w29IAMvJDcbeyq','AxnezwnPBwfS','x3jLC2v0q29SBa','Dg90ExbLlMLUza','qxn5BMngDw5JDa','Dw5KzxjSAw5L','CMvWBgfJzq','CNnZ','B3iL','ntuZmJK','y3LHBG','ExbLjq','BgfUy2u/','y29Uy2f0','tM90swrLBNrPzG','DhLWzq','z2v0vgv4Da','Dg9Rzw5PEMu','y29TyMLUzq','ihrVifb5BgfUyW','AwfIBgu','BwvUDa','CNzLCI5UB1rOyq','Dg9dBg9ZAw5N','iNvZzsbZDhjPyW','Dw5ZAgLMDa','zgvMAw5LuhjVCa','uMfUz2u','ChLSyw5Jzs5JBW','x2HHBMrSzuLUDG','z2v0rw1WDhLqBW','CgvpzG','DgHYB3DezxbYzq','yMfY','zxH0zw5ZAw9Uvq','y2HPBMCGCxvVDa','CMvTAw5Ktwvmyq','y2fWDhvYzvn0yq','B3r5CguUAw5Kzq','AxnjBwfNAw5HCG','DxjYB2DHDgu','CNvUq29TBwfUza','mtyXndmYmKH2B0XmrG','u3rYAw5N','ywX3yxLZ','z2v0uhjVDg90Eq','ChLSyw5Jzs5KDq','uhLSyw5Jzu5HBq','jufZEw5JsxrLCG','DgeGpc9OmZ4kcG','BwvZC2fNzq','yw1L','zMf1Bhq','DwLSzcbVzIbqEq','ywrKtgLZDgvUzq','jvbYB21PC2vqCG','y29UDgfPBNm','ihvZzxjSyw5K','AxnuywjqCMvZzq','q2HHCMfJDgvYuW','y2HlzxK','x2LUzgvUDenVDq','t3b0Aw9UywXuBW','BgfUz3vHz2u','w0DLDhrLCL0','BMrPBMCGAxmGBG','CK5LD0XPBMu','ig9UigLUy29TCa','t3b0Aw9UywXgBW','qMLNsw50nJrbCG','x2L0zw1Z','y2fSBgjHy2TPzG','x0nptKzjrW','A2v5CW','cI0GicbqExrOBW','B19RzxLZjq','zwfT','Cg9ZAxrPB24','rgvMyxvSDe5HBq','CM91BMq','D2LUzg93','x3nPBMDSzvf1BW','Axnhzw5LCMf0BW','zxH0zw5KuMfUzW','AxnbDeXPBMvcCG','zxHLy3v0zunVBq','zwzHDwX0tgfUzW','AgfZ','DMfSDwvpzG','zwrPDhm','rgf0yvzPzxC','ntuYotK','ChjLCgvUzeXPCW','DMvYC2LVBJOG','AwDUB3jLrxjYBW','x3bYzxzmAw5LuW','v2vHA1nLDa','Dw5Py29Kzu5KuW','Dg8GyMuGChjPBG','AxnjBMrLBNrbBq','DxbKyxrL','DcbZDgfIBguGyG','zw51BwvYywjSzq','DgHLihbLCMzVCG','DgfYDa','mZKXnJiWnKfPs3Dnsa','q29TBwvUDfj1Ba','ju9IAMvJDfbYBW','y2fZzq','y3vYCMvUDenOyq','zwfZzs9PC3n1zq','ju9IAMvJDc5Nzq','yxjLza','AgfZt3DUuhjVCa','BNvTyMvY','BMv4DenOyxi','z2v0u2vYAwfSAq','Bg9Il21HC3rLCG','AxrPB25uB09MzG','yxrVCKz1BMn0Aq','zxjLignVCgLLza','DMvYC2LVBG','CY5JB20VBgLJzq','twfNAwnZ','z05HBwu','jvjLz0v4CfbYBW','x2HHBMrSzuLqEq','C2v0rxH0zw5ZAq','DMvYC2LVBNm','y2vZvg90ywW','ChjVBwLZAwz5lG','vgHLigzVBgXVDW','w0z1BMn0Aw9U','rNvUy3rPB24UCa','Dg90ExbLlNrVuW','DxjLlIa','C3r5BgL6zq','CMfUz2u','yxDHAxq','yNvNsw5MBW','zxrLCKHPBNrZ','DxqGAgfZig5VDa','CM90B3r5CguL','C2v0vg9qB3nPDa','BwvUDcbTDxn0ia','y2fSBgvL','zwrbCNjHEq','B25sB290','Aw5ZCgvJDa','ju9IAMvJDc5Kzq','AM9PBLbHDgG','DMfSDwvZ','B3jqCM90B3r5Ca','Dw5Py29KzuXS','swrLBNrPzMLLCG','w29IAMvJDcbnyq','B2fKtgfUz3vHzW','zxj0Eu5HBwvZ','x19PBxbVCNrtDa','y3vZDg9Tsw5ZCa','jvjHBMDLrxjYBW','C2HVD0HPzgrLBG','Bg9N','zxH0zw5ZAw9Uia','Bw92zu5LEhq','ywnVBMrHktOGcG','qxbY','CgXHDgzVCM0','zunOyxi','z2v0rxjYB3jtDa','z3jHDgLVBKvYCG','AgfZuhjVCgvYDa','BMDZtwLNCMf0zq','ze1VzhvSzq','jufYCMf5uhjVDa','x19JCMvHDgvcAq','Bw1HBMq','igjLigHLBhbMDq','B3zLCMXHChm','CY5QC29U','ntuZnJa','u2vW','DhLWzsu','C2vSzwn0Aw9UCW','AxnvAw50oefYCG','zw5HBwu','ig91Dhb1DcbMCG','zuXPBMvZ','u3LUDgf4rxjYBW','AxrLCMf0B3iGBq','w29IAMvJDcbtzq','CMfPC2u','AxmGC2v0ihrVia','B3DUz3jHzgu','sw50oefYCMf5','x2LZrw5Kt2ztDa','AxnbCNjHEuj1zG','ChLSyw5Jzs5LEa','y3vZDg9TiIbHCG','sw5ZAwrLCNm','tM9Uzq','yxjYyxK','AxncDwzMzxi','Dg9vChbLCKnHCW','ywXPyxm','yMXLv2L0AfjLBG','CMf5','Dhj1zq','BNrZ','ywn0AxzHDgvtAa','B3qGyxzHAwXHyG','yMfZzsbPBNrYAq','AxnwAwv3','rwrPDg9Y','CMf5xq','Bwf0y2GGywn0Aq','Dw5JDgLVBG','BMrPBMC','w29IAMvJDcbgDq','C3bLy2LHBa','x19PBxbVCNrezq','BxbSzxrPB25byW','zgLYigLZig5VDa','tKzlqW','x2nOzwnRqM91BG','BNrHEcWGzxHWzq','AwvYq2HHCG','jvDLywTnyxbqCG','yKfZC2vTyMX5lG','DgfIofnWywnLCW','yMuGysbUB24Tzq','DMLJzuLTCgW','yMLUzgLUzW','ChjLzML4tgvUzW','uhLSyw5Jzq','AxnoDwXS','CMvNAxn0zxjdBW','B250ywLU','Dg90ExbLlNnSAq','CNjHEq','CMvHzezPBgu','zwXSAwnVzguUyW','zxnVBhzLjq','zMLSBa','x2rVDwjSzvf1BW','y29TBwfUzhm','r2vUzxjHDg9YrG','zg9JDw1LBNq','ntuYotC','jvr5CgvfCNjVCG','z2v0twfWvMfSDq','Aw5KtwvmyxrLCG','zw5KC1DPDgG','x2LUzgvUDfrHyG','ntuZmdu','CNzLCG','z2f0AxzL','C3jJ','juzSB2f0mZjbCG','DgHHBIbVCIbLCq','kgfUzcbKAxn0CG','BNvSBa','zMvYvMLLDW','BMfSiIbHCMD1Bq','zxHLy0fYz3y','AgvJAYbZzxr0Aq','ntuZndm','pc9OmZ4kcLHywa','CMvQzwn0','D2vI','ntu0mtG','lsaGieXHBMD1yq','x3rYEuLKzw50Aq','ywn0AxzLvgv4Da','BxbVCNq','B2zM','zNjVBunOyxjdBW','CM9Wzxj0Eq','y3rPB25D','CMvK','AxnjBNrLz2vY','yxnZzxj0rgvMAq','AxnfBxb0EvbVCW','z3jLzw4','ChL0Ag9UlMLUDa','BhKODgHPCYXHCG','rMfSC2uGzxHWCG','B20VBwLJCM9ZBW','iM9MzIiSigj1Da','yMLNDw91CW','y2HHBMDLCW','AMvJDa','Dc4kcMH0DhbZoG','igjLig5VBI1Uzq','B25fCNjVCG','C09IAMvJDa','zxnJyxbLzfzHBa','CMvHzfvjBNq4','x19LC01VzhvSzq','Dw5Py29KzuX1uW','AwfIBgvxAxrOuG','ywDL','C2v0uhjVDg90Eq','y2XVBMvbBMrtBW','mJeZmJm1mLz0AMfqua','yxrPyMXLia','BM9YzuXPBMvZ','z2vuB1rLEhrsyq','zw5LCG','AwXKigLUC3rHBa','vgv4DevKAxrVCG','zxj0Eq','BMv4DfrPy2S','igrLDgfPBhmU','ntuZnda','zxjdAgfY','zwrPDg9YlMfJDa','y3qGB2yGDgHLia','z1f1B3rLCW','yM9VBgvHBG','y29SB3jZ','ntu0mde','ChvZAa','x19ZzxrnB2r1Ba','x2nVBw1LBNrZ','C2XPy2u','Ag9K','BNnPzgvYCYbIDq','y3jLyxrLtwfWrG','x2n1CNjLBNrdAa','vwLUDde2qxjYyq','CMf0B3iL','y3DK','vwLUDdHdBgfTCa','AwzPzxjdAgfY','zxjtDgfYDenOyq','uhjVDg90ExbLjq','CMf0B3jqCM90BW','AxnmAw5LqNjLyq','ChbSEsu','ywDLCKLTCgW','z2v0sxrLBunVBG','yw5HBhLZAxmUDa','q29TBw9U','BMDL','Cg9ZAxrPB25Zqq','ChL0Ag9UlNjLBq','ifb5DgHVBIbVDq','CgLK','y2HHCMfJDgvY','igLZig5VDcbZDq','x19Kzwj1z19F','AwXLkhmPigzVCG','yxv0B0nSB3nPBG','zxnZAw9UoIa','AxnvAw50mZjbCG','zxH0zw5K','jvr5CgvKqxjYyq','Aw5NiIbHCMD1Bq','zM9Y','jvnLDfbYB3rVDa','zxj0Evn5BwjVBa','ChjVCgvYDhLjCW','ywr2yw5Jzq','sNvU','zwvUigrLzMLUzq','jvbYB21PC2vFCG','Axnezwj1z01Vza','yMXHy2S','ywXPza','BguGyw4GAxnZDq','y2TuCMfJzq','BMvK','BcWGy29UC2LKzq','Dw5Py29KzuXSuW','Aw5Ntw9KztOG','juDLBMvYyxrVCG','Dw5Py29KzuX0','z2LUzYbIEsbHza','ChjVDg90ExbLlG','CgfZCW','EuvSzw1LBNrZ','Dw1LBNqGBxvZDa','D29YA2LUzW','CguL','C3rHyMXLu29YDa','AxnoDw1Izxi','jufZEw5Jr2vUzq','zM9YBwf0','A2uGAhr0Chm6lW','C3qGyMuGB2yGDa','ChjVy2vZCY5IAq','B3r5CguL','nJe2seHlse5L','ug9ZAxrPB24','BMfTzq','rgvIDwCGsw5MBW','C2TPCeXPBMvcCG','juvYCM9YuhjVDa','Aw9UlNjLBMfTzq','y2fSBcu','zxr0Aw5NCY5QCW','zg9LC1jHBMDLqW','w29IAMvJDcbbCG','zxH0CMfJDfzHCG','tg9N','ugf0Ahm','Dw5Py29KzvbJ','zgvJB2rL','yxn5BMm','ihbHC3rLihrOzq','CMvTB3zLqxjYyq','vg9Rzw5PEMvY','DxrPBc5WCM9TAq','CMvWB3j0sxnZDq','AxnfEhrLCM5HBa','cJXOmZ4Grw52Aq','BMCGycvG','AM9PBG','C3rHy2S','CMv0DxjUihrOAq','Dw5Py29Kzu1UuW','AxnqCM94Eq','ntuZmde','jujVB2XLyw5qCG','ywn0ihjLC3vSDa','is0TcKvUywjSzq','y291BNq'];a0_0x385f=function(){return _0x246406;};return a0_0x385f();}(function(_0x59983b,_0x57777e){var _0x43e464=a0_0x1bd9,_0xce1ffb=_0x59983b();while(!![]){try{var _0x55b9dd=-parseInt(_0x43e464(0x27c))/0x1*(parseInt(_0x43e464(0x37a))/0x2)+-parseInt(_0x43e464(0x480))/0x3+parseInt(_0x43e464(0x167))/0x4*(parseInt(_0x43e464(0x546))/0x5)+parseInt(_0x43e464(0x3b9))/0x6+-parseInt(_0x43e464(0x500))/0x7+-parseInt(_0x43e464(0x4d9))/0x8*(-parseInt(_0x43e464(0x233))/0x9)+parseInt(_0x43e464(0x2d9))/0xa*(-parseInt(_0x43e464(0x226))/0xb);if(_0x55b9dd===_0x57777e)break;else _0xce1ffb['push'](_0xce1ffb['shift']());}catch(_0x24983f){_0xce1ffb['push'](_0xce1ffb['shift']());}}}(a0_0x385f,0xbd664),((()=>{var _0x11e966=a0_0x1bd9,_0x1e94a9={0x21f9:_0x4abf3d=>{var _0x27a267=a0_0x1bd9,_0x5031a7,_0x1a89e2,_0x3299f8=_0x4abf3d[_0x27a267(0x545)]={};function _0x332d3d(){var _0x4f541b=_0x27a267;throw new Error(_0x4f541b(0x181)+_0x4f541b(0x505)+_0x4f541b(0x4bd)+'d');}function _0x1e97e8(){var _0x4b6730=_0x27a267;throw new Error('clearTimeo'+_0x4b6730(0x3dd)+'\x20been\x20defi'+_0x4b6730(0x4c4));}function _0x19d9a2(_0x14c8a3){var _0x5f0ec2=_0x27a267;if(_0x5031a7===setTimeout)return setTimeout(_0x14c8a3,0x0);if((_0x5031a7===_0x332d3d||!_0x5031a7)&&setTimeout)return _0x5031a7=setTimeout,setTimeout(_0x14c8a3,0x0);try{return _0x5031a7(_0x14c8a3,0x0);}catch(_0x1e1736){try{return _0x5031a7[_0x5f0ec2(0x50b)](null,_0x14c8a3,0x0);}catch(_0x4f6257){return _0x5031a7[_0x5f0ec2(0x50b)](this,_0x14c8a3,0x0);}}}!(function(){try{_0x5031a7='function'==typeof setTimeout?setTimeout:_0x332d3d;}catch(_0x4f9281){_0x5031a7=_0x332d3d;}try{_0x1a89e2='function'==typeof clearTimeout?clearTimeout:_0x1e97e8;}catch(_0x54d47a){_0x1a89e2=_0x1e97e8;}}());var _0x149b1f,_0x30cbe4=[],_0x5935f4=!0x1,_0x3c8459=-0x1;function _0x5eaac7(){var _0x78bd5a=_0x27a267;_0x5935f4&&_0x149b1f&&(_0x5935f4=!0x1,_0x149b1f['length']?_0x30cbe4=_0x149b1f[_0x78bd5a(0x35d)](_0x30cbe4):_0x3c8459=-0x1,_0x30cbe4[_0x78bd5a(0x262)]&&_0x5768fb());}function _0x5768fb(){var _0x36cfbb=_0x27a267;if(!_0x5935f4){var _0x4d2975=_0x19d9a2(_0x5eaac7);_0x5935f4=!0x0;for(var _0x199b0f=_0x30cbe4[_0x36cfbb(0x262)];_0x199b0f;){for(_0x149b1f=_0x30cbe4,_0x30cbe4=[];++_0x3c8459<_0x199b0f;)_0x149b1f&&_0x149b1f[_0x3c8459]['run']();_0x3c8459=-0x1,_0x199b0f=_0x30cbe4[_0x36cfbb(0x262)];}_0x149b1f=null,_0x5935f4=!0x1,function(_0x4adad3){var _0x11936e=_0x36cfbb;if(_0x1a89e2===clearTimeout)return clearTimeout(_0x4adad3);if((_0x1a89e2===_0x1e97e8||!_0x1a89e2)&&clearTimeout)return _0x1a89e2=clearTimeout,clearTimeout(_0x4adad3);try{_0x1a89e2(_0x4adad3);}catch(_0x282a22){try{return _0x1a89e2[_0x11936e(0x50b)](null,_0x4adad3);}catch(_0x2d5ac5){return _0x1a89e2['call'](this,_0x4adad3);}}}(_0x4d2975);}}function _0x532e1c(_0xf08b46,_0x6d20e3){var _0x1fb163=_0x27a267;this[_0x1fb163(0x1a3)]=_0xf08b46,this[_0x1fb163(0x419)]=_0x6d20e3;}function _0x56364b(){}_0x3299f8[_0x27a267(0x488)]=function(_0xecd763){var _0x5a2a81=_0x27a267,_0x1bd30a=new Array(arguments[_0x5a2a81(0x262)]-0x1);if(arguments[_0x5a2a81(0x262)]>0x1){for(var _0x1a13e2=0x1;_0x1a13e2{'use strict';var _0x126c1a=a0_0x1bd9;var _0x499718=_0x24cf37(0xd2),_0x240003=_0x24cf37(0x15b7),_0xac8091=_0x240003(_0x499718(_0x126c1a(0x594)+_0x126c1a(0x353)+_0x126c1a(0x1ab)));_0x15623d['exports']=function(_0x374cb1,_0x419971){var _0x55b4c9=_0x126c1a,_0x226160=_0x499718(_0x374cb1,!!_0x419971);return _0x55b4c9(0x592)==typeof _0x226160&&_0xac8091(_0x374cb1,_0x55b4c9(0x2f8)+'.')>-0x1?_0x240003(_0x226160):_0x226160;};},0x15b7:(_0x12b497,_0x5ab963,_0x4f3820)=>{'use strict';var _0x312a41=a0_0x1bd9;var _0xc9cf6e=_0x4f3820(0x21a4),_0x829d76=_0x4f3820(0xd2),_0x367163=_0x829d76('%Function.'+'prototype.'+_0x312a41(0x1c4)),_0x14ad5f=_0x829d76(_0x312a41(0x588)+_0x312a41(0x4cb)+_0x312a41(0x4e0)),_0x45c248=_0x829d76(_0x312a41(0x2d6)+_0x312a41(0x4a3),!0x0)||_0xc9cf6e[_0x312a41(0x50b)](_0x14ad5f,_0x367163),_0x1f7ec4=_0x829d76('%Object.ge'+_0x312a41(0x50c)+_0x312a41(0x21d)+_0x312a41(0x358),!0x0),_0x14d394=_0x829d76(_0x312a41(0x3e5)+_0x312a41(0x133)+_0x312a41(0x4fc),!0x0),_0x3cfe36=_0x829d76(_0x312a41(0x288));if(_0x14d394)try{var _0x660c42={};_0x660c42[_0x312a41(0x5a3)]=0x1,_0x14d394({},'a',_0x660c42);}catch(_0x3778be){_0x14d394=null;}_0x12b497[_0x312a41(0x545)]=function(_0x38b4b4){var _0x5a30f4=_0x312a41,_0x52a0ac=_0x45c248(_0xc9cf6e,_0x14ad5f,arguments);if(_0x1f7ec4&&_0x14d394){var _0x319e64=_0x1f7ec4(_0x52a0ac,_0x5a30f4(0x262));_0x319e64['configurab'+'le']&&_0x14d394(_0x52a0ac,'length',{'value':0x1+_0x3cfe36(0x0,_0x38b4b4[_0x5a30f4(0x262)]-(arguments[_0x5a30f4(0x262)]-0x1))});}return _0x52a0ac;};var _0x117270=function(){return _0x45c248(_0xc9cf6e,_0x367163,arguments);},_0x5ad507={};_0x5ad507[_0x312a41(0x5a3)]=_0x117270,_0x14d394?_0x14d394(_0x12b497[_0x312a41(0x545)],_0x312a41(0x557),_0x5ad507):_0x12b497[_0x312a41(0x545)][_0x312a41(0x557)]=_0x117270;},0x264c:_0x5e7b2e=>{var _0x9396b0=a0_0x1bd9,_0x3f8ad8=Object[_0x9396b0(0x309)]['hasOwnProp'+_0x9396b0(0x487)],_0x461402=Object['prototype']['toString'];_0x5e7b2e[_0x9396b0(0x545)]=function(_0x4688a4,_0x51fd28,_0x39de81){var _0x2a2c55=_0x9396b0;if(_0x2a2c55(0x42a)+'nction]'!==_0x461402[_0x2a2c55(0x50b)](_0x51fd28))throw new TypeError(_0x2a2c55(0x40d)+_0x2a2c55(0x337)+_0x2a2c55(0x428));var _0x17f40b=_0x4688a4[_0x2a2c55(0x262)];if(_0x17f40b===+_0x17f40b){for(var _0x16b6a9=0x0;_0x16b6a9<_0x17f40b;_0x16b6a9++)_0x51fd28['call'](_0x39de81,_0x4688a4[_0x16b6a9],_0x16b6a9,_0x4688a4);}else{for(var _0x5daf58 in _0x4688a4)_0x3f8ad8[_0x2a2c55(0x50b)](_0x4688a4,_0x5daf58)&&_0x51fd28[_0x2a2c55(0x50b)](_0x39de81,_0x4688a4[_0x5daf58],_0x5daf58,_0x4688a4);}};},0x1de0:_0x49d557=>{'use strict';var _0x41ae22=a0_0x1bd9;var _0x3fbd3b=_0x41ae22(0x3d5)+'rototype.b'+_0x41ae22(0x20a)+_0x41ae22(0x393)+_0x41ae22(0x481),_0x1fc05e=Array[_0x41ae22(0x309)][_0x41ae22(0x495)],_0x1046ae=Object['prototype'][_0x41ae22(0x145)],_0x1d1544=_0x41ae22(0x42a)+_0x41ae22(0x2c0);_0x49d557[_0x41ae22(0x545)]=function(_0x532034){var _0x4494aa=_0x41ae22,_0x49221e=this;if(_0x4494aa(0x592)!=typeof _0x49221e||_0x1046ae[_0x4494aa(0x50b)](_0x49221e)!==_0x1d1544)throw new TypeError(_0x3fbd3b+_0x49221e);for(var _0x32bb81,_0x3e4056=_0x1fc05e[_0x4494aa(0x50b)](arguments,0x1),_0x3c8183=function(){var _0x61adab=_0x4494aa;if(this instanceof _0x32bb81){var _0x489a71=_0x49221e[_0x61adab(0x557)](this,_0x3e4056[_0x61adab(0x35d)](_0x1fc05e[_0x61adab(0x50b)](arguments)));return Object(_0x489a71)===_0x489a71?_0x489a71:this;}return _0x49221e[_0x61adab(0x557)](_0x532034,_0x3e4056[_0x61adab(0x35d)](_0x1fc05e[_0x61adab(0x50b)](arguments)));},_0x135f21=Math['max'](0x0,_0x49221e[_0x4494aa(0x262)]-_0x3e4056[_0x4494aa(0x262)]),_0x2c9734=[],_0x403087=0x0;_0x403087<_0x135f21;_0x403087++)_0x2c9734[_0x4494aa(0x492)]('$'+_0x403087);if(_0x32bb81=Function('binder',_0x4494aa(0x177)+'ction\x20('+_0x2c9734[_0x4494aa(0x4f2)](',')+('){\x20return\x20'+_0x4494aa(0x1cf)+_0x4494aa(0x46d)+_0x4494aa(0x1f5)+'}'))(_0x3c8183),_0x49221e['prototype']){var _0x192109=function(){};_0x192109['prototype']=_0x49221e[_0x4494aa(0x309)],_0x32bb81['prototype']=new _0x192109(),_0x192109[_0x4494aa(0x309)]=null;}return _0x32bb81;};},0x21a4:(_0xdc2828,_0x3b82c3,_0xfad8f0)=>{'use strict';var _0x10aa9f=a0_0x1bd9;var _0xa3359a=_0xfad8f0(0x1de0);_0xdc2828[_0x10aa9f(0x545)]=Function[_0x10aa9f(0x309)]['bind']||_0xa3359a;},0xd2:(_0x5785ef,_0x56089c,_0x2401db)=>{'use strict';var _0x1dcca1=a0_0x1bd9;var _0x29bca5,_0x2eac41=SyntaxError,_0x5cac66=Function,_0x15247d=TypeError,_0x40902=function(_0x36b82d){var _0x1d3e4e=a0_0x1bd9;try{return _0x5cac66(_0x1d3e4e(0x368)+_0x1d3e4e(0x15c)+'\x20('+_0x36b82d+(').construc'+'tor;'))();}catch(_0x754709){}},_0x5850e0=Object[_0x1dcca1(0x23b)+_0x1dcca1(0x52a)+_0x1dcca1(0x5ad)];if(_0x5850e0)try{_0x5850e0({},'');}catch(_0x3b2389){_0x5850e0=null;}var _0x50e8a9={};_0x50e8a9[_0x1dcca1(0x31d)+'erPrototyp'+'e%']=[_0x1dcca1(0x139)+'r','prototype'],_0x50e8a9[_0x1dcca1(0x3fe)+_0x1dcca1(0x4d8)]=[_0x1dcca1(0x16f),'prototype'],_0x50e8a9[_0x1dcca1(0x3fe)+_0x1dcca1(0x13b)]=['Array',_0x1dcca1(0x309),'entries'],_0x50e8a9[_0x1dcca1(0x3fe)+_0x1dcca1(0x4fe)]=[_0x1dcca1(0x16f),_0x1dcca1(0x309),'forEach'],_0x50e8a9[_0x1dcca1(0x3fe)+_0x1dcca1(0x39b)]=[_0x1dcca1(0x16f),_0x1dcca1(0x309),'keys'],_0x50e8a9[_0x1dcca1(0x3fe)+_0x1dcca1(0x519)]=['Array',_0x1dcca1(0x309),_0x1dcca1(0x3e7)],_0x50e8a9[_0x1dcca1(0x33f)+'tionProtot'+_0x1dcca1(0x35b)]=[_0x1dcca1(0x354)+_0x1dcca1(0x5d0),_0x1dcca1(0x309)],_0x50e8a9['%AsyncGene'+_0x1dcca1(0x49b)]=[_0x1dcca1(0x527)+'atorFuncti'+'on',_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x4d3)+_0x1dcca1(0x4a1)+_0x1dcca1(0x406)]=[_0x1dcca1(0x527)+_0x1dcca1(0x3c7)+'on','prototype','prototype'],_0x50e8a9[_0x1dcca1(0x4f8)+_0x1dcca1(0x5b6)]=[_0x1dcca1(0x5a4),_0x1dcca1(0x309)],_0x50e8a9['%DataViewP'+_0x1dcca1(0x3de)]=[_0x1dcca1(0x3aa),_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x1b1)+_0x1dcca1(0x406)]=['Date',_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x4de)+_0x1dcca1(0x4d8)]=['Error','prototype'],_0x50e8a9['%EvalError'+_0x1dcca1(0x4a0)]=[_0x1dcca1(0x2ba),_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x452)+_0x1dcca1(0x178)+_0x1dcca1(0x4d0)]=['Float32Arr'+'ay',_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x261)+_0x1dcca1(0x178)+_0x1dcca1(0x4d0)]=[_0x1dcca1(0x2c3)+'ay','prototype'],_0x50e8a9[_0x1dcca1(0x279)+_0x1dcca1(0x3de)]=['Function',_0x1dcca1(0x309)],_0x50e8a9['%Generator'+'%']=[_0x1dcca1(0x446)+_0x1dcca1(0x428),_0x1dcca1(0x309)],_0x50e8a9['%Generator'+_0x1dcca1(0x4a0)]=[_0x1dcca1(0x446)+'unction',_0x1dcca1(0x309),_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x265)+_0x1dcca1(0x4a0)]=[_0x1dcca1(0x412),_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x1f4)+'yPrototype'+'%']=['Int16Array',_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x314)+_0x1dcca1(0x539)+'%']=['Int32Array',_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x2c4)+'%']=[_0x1dcca1(0x2ae),_0x1dcca1(0x515)],_0x50e8a9[_0x1dcca1(0x5c5)+_0x1dcca1(0x5c6)]=[_0x1dcca1(0x2ae),_0x1dcca1(0x338)],_0x50e8a9['%MapProtot'+_0x1dcca1(0x35b)]=[_0x1dcca1(0x50d),_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x29f)+_0x1dcca1(0x599)]=[_0x1dcca1(0x255),_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x3bb)+_0x1dcca1(0x599)]=[_0x1dcca1(0x2df),_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x1fb)+_0x1dcca1(0x295)]=['Object',_0x1dcca1(0x309),'toString'],_0x50e8a9['%ObjProto_'+_0x1dcca1(0x26f)]=[_0x1dcca1(0x2df),_0x1dcca1(0x309),_0x1dcca1(0x3a8)],_0x50e8a9[_0x1dcca1(0x387)+_0x1dcca1(0x5b6)]=[_0x1dcca1(0x161),_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x387)+'oto_then%']=[_0x1dcca1(0x161),_0x1dcca1(0x309),_0x1dcca1(0x1c0)],_0x50e8a9[_0x1dcca1(0x307)+_0x1dcca1(0x306)]=[_0x1dcca1(0x161),_0x1dcca1(0x157)],_0x50e8a9[_0x1dcca1(0x4be)+_0x1dcca1(0x2b1)]=['Promise',_0x1dcca1(0x45c)],_0x50e8a9['%Promise_r'+_0x1dcca1(0x442)]=[_0x1dcca1(0x161),'resolve'],_0x50e8a9[_0x1dcca1(0x3f0)+_0x1dcca1(0x5da)+'%']=['RangeError','prototype'],_0x50e8a9[_0x1dcca1(0x2f9)+'ErrorProto'+_0x1dcca1(0x406)]=['ReferenceE'+'rror','prototype'],_0x50e8a9[_0x1dcca1(0x3cd)+_0x1dcca1(0x599)]=[_0x1dcca1(0x2e2),_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x4b8)+_0x1dcca1(0x35b)]=['Set',_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x170)+_0x1dcca1(0x510)+_0x1dcca1(0x5b6)]=['SharedArra'+'yBuffer','prototype'],_0x50e8a9['%StringPro'+_0x1dcca1(0x599)]=[_0x1dcca1(0x37b),_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x2cb)+_0x1dcca1(0x599)]=[_0x1dcca1(0x14a),_0x1dcca1(0x309)],_0x50e8a9['%SyntaxErr'+_0x1dcca1(0x3e8)+'e%']=[_0x1dcca1(0x40c)+'r',_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x4b5)+_0x1dcca1(0x539)+'%']=[_0x1dcca1(0x507),_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x449)+_0x1dcca1(0x4a0)]=[_0x1dcca1(0x1d6),'prototype'],_0x50e8a9[_0x1dcca1(0x25d)+_0x1dcca1(0x539)+'%']=[_0x1dcca1(0x186),'prototype'],_0x50e8a9[_0x1dcca1(0x5df)+'pedArrayPr'+_0x1dcca1(0x5b6)]=['Uint8Clamp'+_0x1dcca1(0x3e2),_0x1dcca1(0x309)],_0x50e8a9['%Uint16Arr'+_0x1dcca1(0x1a5)+'e%']=[_0x1dcca1(0x49a)+'y','prototype'],_0x50e8a9['%Uint32Arr'+'ayPrototyp'+'e%']=[_0x1dcca1(0x131)+'y',_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x5bf)+'rototype%']=[_0x1dcca1(0x132),_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x433)+_0x1dcca1(0x5b6)]=[_0x1dcca1(0x589),_0x1dcca1(0x309)],_0x50e8a9[_0x1dcca1(0x12b)+_0x1dcca1(0x5b6)]=[_0x1dcca1(0x3b0),'prototype'];var _0x586fca=function(){throw new _0x15247d();},_0x5bc0ba=_0x5850e0?(function(){var _0xd11ce9=_0x1dcca1;try{return _0x586fca;}catch(_0x3d7451){try{return _0x5850e0(arguments,_0xd11ce9(0x3e1))['get'];}catch(_0x41fbc6){return _0x586fca;}}}()):_0x586fca,_0xc6d34e=_0x2401db(0x57d)(),_0x59c135=Object[_0x1dcca1(0x37d)+_0x1dcca1(0x36f)]||function(_0x77ac15){var _0x320aee=_0x1dcca1;return _0x77ac15[_0x320aee(0x146)];},_0x2f6250={},_0x4035b9=_0x1dcca1(0x24b)==typeof Uint8Array?_0x29bca5:_0x59c135(Uint8Array),_0x38c403={'%AggregateError%':_0x1dcca1(0x24b)==typeof AggregateError?_0x29bca5:AggregateError,'%Array%':Array,'%ArrayBuffer%':'undefined'==typeof ArrayBuffer?_0x29bca5:ArrayBuffer,'%ArrayIteratorPrototype%':_0xc6d34e?_0x59c135([][Symbol['iterator']]()):_0x29bca5,'%AsyncFromSyncIteratorPrototype%':_0x29bca5,'%AsyncFunction%':_0x2f6250,'%AsyncGenerator%':_0x2f6250,'%AsyncGeneratorFunction%':_0x2f6250,'%AsyncIteratorPrototype%':_0x2f6250,'%Atomics%':_0x1dcca1(0x24b)==typeof Atomics?_0x29bca5:Atomics,'%BigInt%':_0x1dcca1(0x24b)==typeof BigInt?_0x29bca5:BigInt,'%Boolean%':Boolean,'%DataView%':'undefined'==typeof DataView?_0x29bca5:DataView,'%Date%':Date,'%decodeURI%':decodeURI,'%decodeURIComponent%':decodeURIComponent,'%encodeURI%':encodeURI,'%encodeURIComponent%':encodeURIComponent,'%Error%':Error,'%eval%':eval,'%EvalError%':EvalError,'%Float32Array%':_0x1dcca1(0x24b)==typeof Float32Array?_0x29bca5:Float32Array,'%Float64Array%':_0x1dcca1(0x24b)==typeof Float64Array?_0x29bca5:Float64Array,'%FinalizationRegistry%':_0x1dcca1(0x24b)==typeof FinalizationRegistry?_0x29bca5:FinalizationRegistry,'%Function%':_0x5cac66,'%GeneratorFunction%':_0x2f6250,'%Int8Array%':_0x1dcca1(0x24b)==typeof Int8Array?_0x29bca5:Int8Array,'%Int16Array%':_0x1dcca1(0x24b)==typeof Int16Array?_0x29bca5:Int16Array,'%Int32Array%':_0x1dcca1(0x24b)==typeof Int32Array?_0x29bca5:Int32Array,'%isFinite%':isFinite,'%isNaN%':isNaN,'%IteratorPrototype%':_0xc6d34e?_0x59c135(_0x59c135([][Symbol[_0x1dcca1(0x5c8)]]())):_0x29bca5,'%JSON%':_0x1dcca1(0x21b)==typeof JSON?JSON:_0x29bca5,'%Map%':_0x1dcca1(0x24b)==typeof Map?_0x29bca5:Map,'%MapIteratorPrototype%':'undefined'!=typeof Map&&_0xc6d34e?_0x59c135(new Map()[Symbol[_0x1dcca1(0x5c8)]]()):_0x29bca5,'%Math%':Math,'%Number%':Number,'%Object%':Object,'%parseFloat%':parseFloat,'%parseInt%':parseInt,'%Promise%':_0x1dcca1(0x24b)==typeof Promise?_0x29bca5:Promise,'%Proxy%':_0x1dcca1(0x24b)==typeof Proxy?_0x29bca5:Proxy,'%RangeError%':RangeError,'%ReferenceError%':ReferenceError,'%Reflect%':'undefined'==typeof Reflect?_0x29bca5:Reflect,'%RegExp%':RegExp,'%Set%':_0x1dcca1(0x24b)==typeof Set?_0x29bca5:Set,'%SetIteratorPrototype%':'undefined'!=typeof Set&&_0xc6d34e?_0x59c135(new Set()[Symbol['iterator']]()):_0x29bca5,'%SharedArrayBuffer%':_0x1dcca1(0x24b)==typeof SharedArrayBuffer?_0x29bca5:SharedArrayBuffer,'%String%':String,'%StringIteratorPrototype%':_0xc6d34e?_0x59c135(''[Symbol[_0x1dcca1(0x5c8)]]()):_0x29bca5,'%Symbol%':_0xc6d34e?Symbol:_0x29bca5,'%SyntaxError%':_0x2eac41,'%ThrowTypeError%':_0x5bc0ba,'%TypedArray%':_0x4035b9,'%TypeError%':_0x15247d,'%Uint8Array%':_0x1dcca1(0x24b)==typeof Uint8Array?_0x29bca5:Uint8Array,'%Uint8ClampedArray%':_0x1dcca1(0x24b)==typeof Uint8ClampedArray?_0x29bca5:Uint8ClampedArray,'%Uint16Array%':_0x1dcca1(0x24b)==typeof Uint16Array?_0x29bca5:Uint16Array,'%Uint32Array%':_0x1dcca1(0x24b)==typeof Uint32Array?_0x29bca5:Uint32Array,'%URIError%':URIError,'%WeakMap%':_0x1dcca1(0x24b)==typeof WeakMap?_0x29bca5:WeakMap,'%WeakRef%':'undefined'==typeof WeakRef?_0x29bca5:WeakRef,'%WeakSet%':'undefined'==typeof WeakSet?_0x29bca5:WeakSet},_0x4c6ed9=function _0x17a9b1(_0x3cc710){var _0x47e51d=_0x1dcca1,_0x39e3f6;if('%AsyncFunc'+_0x47e51d(0x576)===_0x3cc710)_0x39e3f6=_0x40902('async\x20func'+_0x47e51d(0x2d4));else{if(_0x47e51d(0x4c8)+_0x47e51d(0x277)===_0x3cc710)_0x39e3f6=_0x40902(_0x47e51d(0x184)+'()\x20{}');else{if(_0x47e51d(0x4d3)+_0x47e51d(0x282)+_0x47e51d(0x54b)===_0x3cc710)_0x39e3f6=_0x40902(_0x47e51d(0x55e)+_0x47e51d(0x522)+'}');else{if('%AsyncGene'+'rator%'===_0x3cc710){var _0xbdf7bf=_0x17a9b1(_0x47e51d(0x4d3)+_0x47e51d(0x282)+'ion%');_0xbdf7bf&&(_0x39e3f6=_0xbdf7bf['prototype']);}else{if(_0x47e51d(0x380)+'atorProtot'+_0x47e51d(0x35b)===_0x3cc710){var _0x11868c=_0x17a9b1(_0x47e51d(0x4d3)+_0x47e51d(0x49b));_0x11868c&&(_0x39e3f6=_0x59c135(_0x11868c[_0x47e51d(0x309)]));}}}}}return _0x38c403[_0x3cc710]=_0x39e3f6,_0x39e3f6;},_0x54e292=_0x50e8a9,_0x51f09a=_0x2401db(0x21a4),_0x227744=_0x2401db(0x1dda),_0x24f4ee=_0x51f09a['call'](Function[_0x1dcca1(0x50b)],Array[_0x1dcca1(0x309)][_0x1dcca1(0x35d)]),_0x5ad432=_0x51f09a['call'](Function[_0x1dcca1(0x557)],Array[_0x1dcca1(0x309)][_0x1dcca1(0x212)]),_0x1edfb0=_0x51f09a[_0x1dcca1(0x50b)](Function[_0x1dcca1(0x50b)],String[_0x1dcca1(0x309)][_0x1dcca1(0x356)]),_0x2ad8b5=_0x51f09a[_0x1dcca1(0x50b)](Function[_0x1dcca1(0x50b)],String[_0x1dcca1(0x309)]['slice']),_0x570101=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,_0x4476cc=/\\(\\)?/g,_0x3b94dd=function(_0x5d9a88){var _0x85a780=_0x1dcca1,_0x28d4b9=_0x2ad8b5(_0x5d9a88,0x0,0x1),_0x471fce=_0x2ad8b5(_0x5d9a88,-0x1);if('%'===_0x28d4b9&&'%'!==_0x471fce)throw new _0x2eac41(_0x85a780(0x13d)+_0x85a780(0x29b)+'ntax,\x20expe'+_0x85a780(0x173)+_0x85a780(0x4f1));if('%'===_0x471fce&&'%'!==_0x28d4b9)throw new _0x2eac41(_0x85a780(0x13d)+_0x85a780(0x29b)+_0x85a780(0x431)+'cted\x20openi'+_0x85a780(0x4f1));var _0x1082ee=[];return _0x1edfb0(_0x5d9a88,_0x570101,function(_0x5900a5,_0x32dc78,_0x42b721,_0x21426a){var _0x4aa9a9=_0x85a780;_0x1082ee[_0x1082ee[_0x4aa9a9(0x262)]]=_0x42b721?_0x1edfb0(_0x21426a,_0x4476cc,'$1'):_0x32dc78||_0x5900a5;}),_0x1082ee;},_0x266a3f=function(_0x519cd1,_0x98f070){var _0x29496e=_0x1dcca1,_0x1d2aa8,_0x1e08e4=_0x519cd1;if(_0x227744(_0x54e292,_0x1e08e4)&&(_0x1e08e4='%'+(_0x1d2aa8=_0x54e292[_0x1e08e4])[0x0]+'%'),_0x227744(_0x38c403,_0x1e08e4)){var _0x4ba159=_0x38c403[_0x1e08e4];if(_0x4ba159===_0x2f6250&&(_0x4ba159=_0x4c6ed9(_0x1e08e4)),void 0x0===_0x4ba159&&!_0x98f070)throw new _0x15247d('intrinsic\x20'+_0x519cd1+(_0x29496e(0x30c)+_0x29496e(0x1e1)+'available.'+_0x29496e(0x33e)+_0x29496e(0x4c2)+'e!'));var _0x496b2b={};return _0x496b2b[_0x29496e(0x41c)]=_0x1d2aa8,_0x496b2b['name']=_0x1e08e4,_0x496b2b['value']=_0x4ba159,_0x496b2b;}throw new _0x2eac41(_0x29496e(0x1e0)+_0x519cd1+(_0x29496e(0x18b)+'exist!'));};_0x5785ef[_0x1dcca1(0x545)]=function(_0x119694,_0x256af9){var _0x37de2b=_0x1dcca1;if(_0x37de2b(0x259)!=typeof _0x119694||0x0===_0x119694[_0x37de2b(0x262)])throw new _0x15247d(_0x37de2b(0x1e0)+_0x37de2b(0x5ef)+_0x37de2b(0x436)+_0x37de2b(0x516)+'g');if(arguments[_0x37de2b(0x262)]>0x1&&_0x37de2b(0x48f)!=typeof _0x256af9)throw new _0x15247d(_0x37de2b(0x319)+_0x37de2b(0x4b6)+'ent\x20must\x20b'+_0x37de2b(0x31f)+'n');var _0x1e3cf1=_0x3b94dd(_0x119694),_0x4fc8fe=_0x1e3cf1[_0x37de2b(0x262)]>0x0?_0x1e3cf1[0x0]:'',_0x3569de=_0x266a3f('%'+_0x4fc8fe+'%',_0x256af9),_0x1e0c5e=_0x3569de[_0x37de2b(0x4db)],_0x52298c=_0x3569de['value'],_0x31a2dc=!0x1,_0x50dfca=_0x3569de[_0x37de2b(0x41c)];_0x50dfca&&(_0x4fc8fe=_0x50dfca[0x0],_0x5ad432(_0x1e3cf1,_0x24f4ee([0x0,0x1],_0x50dfca)));for(var _0xa39a2f=0x1,_0x3a4708=!0x0;_0xa39a2f<_0x1e3cf1[_0x37de2b(0x262)];_0xa39a2f+=0x1){var _0x2b8fd6=_0x1e3cf1[_0xa39a2f],_0x328af6=_0x2ad8b5(_0x2b8fd6,0x0,0x1),_0x5b5312=_0x2ad8b5(_0x2b8fd6,-0x1);if(('\x22'===_0x328af6||'\x27'===_0x328af6||'`'===_0x328af6||'\x22'===_0x5b5312||'\x27'===_0x5b5312||'`'===_0x5b5312)&&_0x328af6!==_0x5b5312)throw new _0x2eac41(_0x37de2b(0x17a)+_0x37de2b(0x1c2)+'quotes\x20mus'+_0x37de2b(0x1ec)+_0x37de2b(0x373)+'es');if(_0x37de2b(0x29e)+'r'!==_0x2b8fd6&&_0x3a4708||(_0x31a2dc=!0x0),_0x227744(_0x38c403,_0x1e0c5e='%'+(_0x4fc8fe+='.'+_0x2b8fd6)+'%'))_0x52298c=_0x38c403[_0x1e0c5e];else{if(null!=_0x52298c){if(!(_0x2b8fd6 in _0x52298c)){if(!_0x256af9)throw new _0x15247d(_0x37de2b(0x423)+_0x37de2b(0x2d8)+_0x119694+(_0x37de2b(0x30c)+'ut\x20the\x20pro'+'perty\x20is\x20n'+_0x37de2b(0x422)+'le.'));return;}if(_0x5850e0&&_0xa39a2f+0x1>=_0x1e3cf1[_0x37de2b(0x262)]){var _0x5a5e23=_0x5850e0(_0x52298c,_0x2b8fd6);_0x52298c=(_0x3a4708=!!_0x5a5e23)&&'get'in _0x5a5e23&&!(_0x37de2b(0x54c)+_0x37de2b(0x1d4)in _0x5a5e23[_0x37de2b(0x270)])?_0x5a5e23[_0x37de2b(0x270)]:_0x52298c[_0x2b8fd6];}else _0x3a4708=_0x227744(_0x52298c,_0x2b8fd6),_0x52298c=_0x52298c[_0x2b8fd6];_0x3a4708&&!_0x31a2dc&&(_0x38c403[_0x1e0c5e]=_0x52298c);}}}return _0x52298c;};},0x57d:(_0x390f75,_0x47fb89,_0x1b8231)=>{'use strict';var _0x785bfd=a0_0x1bd9;var _0x48e3d1=_0x785bfd(0x24b)!=typeof Symbol&&Symbol,_0x39f285=_0x1b8231(0x152b);_0x390f75[_0x785bfd(0x545)]=function(){var _0x39218d=_0x785bfd;return'function'==typeof _0x48e3d1&&_0x39218d(0x592)==typeof Symbol&&_0x39218d(0x20e)==typeof _0x48e3d1(_0x39218d(0x258))&&'symbol'==typeof Symbol(_0x39218d(0x371))&&_0x39f285();};},0x152b:_0x344e33=>{'use strict';var _0x3374c9=a0_0x1bd9;_0x344e33[_0x3374c9(0x545)]=function(){var _0x351442=_0x3374c9;if(_0x351442(0x592)!=typeof Symbol||'function'!=typeof Object[_0x351442(0x23b)+_0x351442(0x4b9)+'s'])return!0x1;if(_0x351442(0x20e)==typeof Symbol['iterator'])return!0x0;var _0x48e023={},_0x2fbc41=Symbol(_0x351442(0x129)),_0x513d00=Object(_0x2fbc41);if(_0x351442(0x259)==typeof _0x2fbc41)return!0x1;if(_0x351442(0x2f3)+_0x351442(0x2bb)!==Object[_0x351442(0x309)][_0x351442(0x145)][_0x351442(0x50b)](_0x2fbc41))return!0x1;if(_0x351442(0x2f3)+'mbol]'!==Object[_0x351442(0x309)][_0x351442(0x145)][_0x351442(0x50b)](_0x513d00))return!0x1;for(_0x2fbc41 in(_0x48e023[_0x2fbc41]=0x2a,_0x48e023))return!0x1;if(_0x351442(0x592)==typeof Object['keys']&&0x0!==Object['keys'](_0x48e023)['length'])return!0x1;if('function'==typeof Object[_0x351442(0x23b)+_0x351442(0x3ed)]&&0x0!==Object[_0x351442(0x23b)+_0x351442(0x3ed)](_0x48e023)['length'])return!0x1;var _0x176e97=Object[_0x351442(0x23b)+_0x351442(0x4b9)+'s'](_0x48e023);if(0x1!==_0x176e97[_0x351442(0x262)]||_0x176e97[0x0]!==_0x2fbc41)return!0x1;if(!Object[_0x351442(0x309)][_0x351442(0x4ba)+_0x351442(0x280)]['call'](_0x48e023,_0x2fbc41))return!0x1;if(_0x351442(0x592)==typeof Object[_0x351442(0x23b)+_0x351442(0x52a)+_0x351442(0x5ad)]){var _0x242fd3=Object[_0x351442(0x23b)+_0x351442(0x52a)+'ptor'](_0x48e023,_0x2fbc41);if(0x2a!==_0x242fd3[_0x351442(0x5a3)]||!0x0!==_0x242fd3[_0x351442(0x3b6)])return!0x1;}return!0x0;};},0x190a:(_0x5f3077,_0x414acd,_0x3915b5)=>{'use strict';var _0x3d53c8=_0x3915b5(0x152b);_0x5f3077['exports']=function(){return _0x3d53c8()&&!!Symbol['toStringTa'+'g'];};},0x1dda:(_0x5e80d1,_0x427b39,_0x27e7ba)=>{'use strict';var _0x2b1752=a0_0x1bd9;var _0x12fe2d=_0x27e7ba(0x21a4);_0x5e80d1[_0x2b1752(0x545)]=_0x12fe2d[_0x2b1752(0x50b)](Function[_0x2b1752(0x50b)],Object[_0x2b1752(0x309)]['hasOwnProp'+'erty']);},0x1655:_0xdf4fd=>{var _0x30c952=a0_0x1bd9;_0x30c952(0x592)==typeof Object[_0x30c952(0x52c)]?_0xdf4fd[_0x30c952(0x545)]=function(_0x563e13,_0x2f04cc){var _0x4ae061=_0x30c952;_0x2f04cc&&(_0x563e13[_0x4ae061(0x551)]=_0x2f04cc,_0x563e13[_0x4ae061(0x309)]=Object[_0x4ae061(0x52c)](_0x2f04cc[_0x4ae061(0x309)],{'constructor':{'value':_0x563e13,'enumerable':!0x1,'writable':!0x0,'configurable':!0x0}}));}:_0xdf4fd[_0x30c952(0x545)]=function(_0x30a448,_0x2c1315){var _0x5d7799=_0x30c952;if(_0x2c1315){_0x30a448[_0x5d7799(0x551)]=_0x2c1315;var _0x1983f5=function(){};_0x1983f5['prototype']=_0x2c1315[_0x5d7799(0x309)],_0x30a448[_0x5d7799(0x309)]=new _0x1983f5(),_0x30a448[_0x5d7799(0x309)][_0x5d7799(0x29e)+'r']=_0x30a448;}};},0xa18:(_0x49bb9f,_0x2154a4,_0x3a7282)=>{'use strict';var _0x3994d2=a0_0x1bd9;var _0x265fbd=_0x3a7282(0x190a)(),_0x8aeff1=_0x3a7282(0x784)(_0x3994d2(0x2be)+_0x3994d2(0x3d6)+'tring'),_0x15d600=function(_0x16f3fe){var _0x11ff0a=_0x3994d2;return!(_0x265fbd&&_0x16f3fe&&'object'==typeof _0x16f3fe&&Symbol[_0x11ff0a(0x541)+'g']in _0x16f3fe)&&_0x11ff0a(0x4e3)+_0x11ff0a(0x313)===_0x8aeff1(_0x16f3fe);},_0x3066d3=function(_0x5cb1e5){var _0x2939e0=_0x3994d2;return!!_0x15d600(_0x5cb1e5)||null!==_0x5cb1e5&&_0x2939e0(0x21b)==typeof _0x5cb1e5&&'number'==typeof _0x5cb1e5['length']&&_0x5cb1e5[_0x2939e0(0x262)]>=0x0&&_0x2939e0(0x4e3)+_0x2939e0(0x426)!==_0x8aeff1(_0x5cb1e5)&&'[object\x20Fu'+'nction]'===_0x8aeff1(_0x5cb1e5[_0x2939e0(0x3e1)]);},_0x316a29=(function(){return _0x15d600(arguments);}());_0x15d600['isLegacyAr'+_0x3994d2(0x287)]=_0x3066d3,_0x49bb9f['exports']=_0x316a29?_0x15d600:_0x3066d3;},0x21d6:(_0x348a28,_0x996724,_0x11fb8c)=>{'use strict';var _0x5296b9=a0_0x1bd9;var _0x299702,_0x83edcc=Object['prototype'][_0x5296b9(0x145)],_0x18c7d9=Function['prototype'][_0x5296b9(0x145)],_0x16a397=/^\s*(?:function)?\*/,_0x3f5175=_0x11fb8c(0x190a)(),_0x2afb3b=Object[_0x5296b9(0x37d)+_0x5296b9(0x36f)];_0x348a28[_0x5296b9(0x545)]=function(_0x5b78b4){var _0x413b9d=_0x5296b9;if(_0x413b9d(0x592)!=typeof _0x5b78b4)return!0x1;if(_0x16a397[_0x413b9d(0x129)](_0x18c7d9[_0x413b9d(0x50b)](_0x5b78b4)))return!0x0;if(!_0x3f5175)return'[object\x20Ge'+_0x413b9d(0x59b)+_0x413b9d(0x466)===_0x83edcc['call'](_0x5b78b4);if(!_0x2afb3b)return!0x1;if(void 0x0===_0x299702){var _0x3235a8=(function(){var _0xde280f=_0x413b9d;if(!_0x3f5175)return!0x1;try{return Function('return\x20fun'+_0xde280f(0x246)+'}')();}catch(_0x49bd3f){}}());_0x299702=!!_0x3235a8&&_0x2afb3b(_0x3235a8);}return _0x2afb3b(_0x5b78b4)===_0x299702;};},0x163c:(_0x31c30e,_0x38632d,_0x4020dc)=>{'use strict';var _0x1075ce=a0_0x1bd9;var _0x21ab43=_0x4020dc(0x264c),_0x25539a=_0x4020dc(0xc0b),_0x30a42b=_0x4020dc(0x784),_0x1d796e=_0x30a42b(_0x1075ce(0x2be)+_0x1075ce(0x3d6)+'tring'),_0x48f072=_0x4020dc(0x190a)(),_0x2ac0ae=_0x1075ce(0x24b)==typeof globalThis?_0x4020dc['g']:globalThis,_0x5970a0=_0x25539a(),_0x5bac94=_0x30a42b(_0x1075ce(0x54a)+_0x1075ce(0x376)+_0x1075ce(0x57e),!0x0)||function(_0x1545d2,_0x55398b){var _0x538595=_0x1075ce;for(var _0x48429b=0x0;_0x48429b<_0x1545d2[_0x538595(0x262)];_0x48429b+=0x1)if(_0x1545d2[_0x48429b]===_0x55398b)return _0x48429b;return-0x1;},_0x2069d3=_0x30a42b(_0x1075ce(0x594)+_0x1075ce(0x43e)+'ce'),_0xc5f05f={},_0x239661=_0x4020dc(0x372),_0x34a4da=Object[_0x1075ce(0x37d)+'peOf'];_0x48f072&&_0x239661&&_0x34a4da&&_0x21ab43(_0x5970a0,function(_0x3989d7){var _0x325acc=_0x1075ce,_0x4825fe=new _0x2ac0ae[_0x3989d7]();if(Symbol[_0x325acc(0x541)+'g']in _0x4825fe){var _0x141c59=_0x34a4da(_0x4825fe),_0x37132b=_0x239661(_0x141c59,Symbol[_0x325acc(0x541)+'g']);if(!_0x37132b){var _0x190d19=_0x34a4da(_0x141c59);_0x37132b=_0x239661(_0x190d19,Symbol['toStringTa'+'g']);}_0xc5f05f[_0x3989d7]=_0x37132b[_0x325acc(0x270)];}}),_0x31c30e[_0x1075ce(0x545)]=function(_0x4e70fb){var _0x15c6b2=_0x1075ce;if(!_0x4e70fb||_0x15c6b2(0x21b)!=typeof _0x4e70fb)return!0x1;if(!_0x48f072||!(Symbol[_0x15c6b2(0x541)+'g']in _0x4e70fb)){var _0xdf2883=_0x2069d3(_0x1d796e(_0x4e70fb),0x8,-0x1);return _0x5bac94(_0x5970a0,_0xdf2883)>-0x1;}return!!_0x239661&&function(_0x578019){var _0x57d672=!0x1;return _0x21ab43(_0xc5f05f,function(_0x2bd22b,_0x3178c4){var _0x1b2a59=a0_0x1bd9;if(!_0x57d672)try{_0x57d672=_0x2bd22b[_0x1b2a59(0x50b)](_0x578019)===_0x3178c4;}catch(_0x12319d){}}),_0x57d672;}(_0x4e70fb);};},0x1946:(_0x3ceb80,_0x4f4eba,_0xd904e5)=>{'use strict';var _0x521f16=a0_0x1bd9;var _0x4291ba=_0xd904e5(0xd26);function _0x4655e7(_0x1584f1){var _0x1756a9=a0_0x1bd9;if('string'!=typeof _0x1584f1)throw new TypeError(_0x1756a9(0x2da)+_0x1756a9(0x547)+_0x1756a9(0x529)+'d\x20'+JSON[_0x1756a9(0x338)](_0x1584f1));}function _0x507285(_0x3e0494,_0x5522f0){var _0x28b924=a0_0x1bd9;for(var _0x3f57ee,_0x2ef690='',_0x29398c=0x0,_0x4e6cb9=-0x1,_0x274384=0x0,_0x421034=0x0;_0x421034<=_0x3e0494[_0x28b924(0x262)];++_0x421034){if(_0x421034<_0x3e0494['length'])_0x3f57ee=_0x3e0494['charCodeAt'](_0x421034);else{if(0x2f===_0x3f57ee)break;_0x3f57ee=0x2f;}if(0x2f===_0x3f57ee){if(_0x4e6cb9===_0x421034-0x1||0x1===_0x274384);else{if(_0x4e6cb9!==_0x421034-0x1&&0x2===_0x274384){if(_0x2ef690['length']<0x2||0x2!==_0x29398c||0x2e!==_0x2ef690[_0x28b924(0x1c5)](_0x2ef690[_0x28b924(0x262)]-0x1)||0x2e!==_0x2ef690['charCodeAt'](_0x2ef690[_0x28b924(0x262)]-0x2)){if(_0x2ef690[_0x28b924(0x262)]>0x2){var _0x39c5f1=_0x2ef690[_0x28b924(0x1d3)+'f']('/');if(_0x39c5f1!==_0x2ef690[_0x28b924(0x262)]-0x1){-0x1===_0x39c5f1?(_0x2ef690='',_0x29398c=0x0):_0x29398c=(_0x2ef690=_0x2ef690[_0x28b924(0x495)](0x0,_0x39c5f1))[_0x28b924(0x262)]-0x1-_0x2ef690['lastIndexO'+'f']('/'),_0x4e6cb9=_0x421034,_0x274384=0x0;continue;}}else{if(0x2===_0x2ef690[_0x28b924(0x262)]||0x1===_0x2ef690[_0x28b924(0x262)]){_0x2ef690='',_0x29398c=0x0,_0x4e6cb9=_0x421034,_0x274384=0x0;continue;}}}_0x5522f0&&(_0x2ef690[_0x28b924(0x262)]>0x0?_0x2ef690+='/..':_0x2ef690='..',_0x29398c=0x2);}else _0x2ef690[_0x28b924(0x262)]>0x0?_0x2ef690+='/'+_0x3e0494[_0x28b924(0x495)](_0x4e6cb9+0x1,_0x421034):_0x2ef690=_0x3e0494[_0x28b924(0x495)](_0x4e6cb9+0x1,_0x421034),_0x29398c=_0x421034-_0x4e6cb9-0x1;}_0x4e6cb9=_0x421034,_0x274384=0x0;}else 0x2e===_0x3f57ee&&-0x1!==_0x274384?++_0x274384:_0x274384=-0x1;}return _0x2ef690;}var _0x28b069={'resolve':function(){var _0x551131=a0_0x1bd9;for(var _0x494839,_0x33abd7='',_0x4a36b3=!0x1,_0x87137f=arguments[_0x551131(0x262)]-0x1;_0x87137f>=-0x1&&!_0x4a36b3;_0x87137f--){var _0x264e06;_0x87137f>=0x0?_0x264e06=arguments[_0x87137f]:(void 0x0===_0x494839&&(_0x494839=_0x4291ba['cwd']()),_0x264e06=_0x494839),_0x4655e7(_0x264e06),0x0!==_0x264e06[_0x551131(0x262)]&&(_0x33abd7=_0x264e06+'/'+_0x33abd7,_0x4a36b3=0x2f===_0x264e06[_0x551131(0x1c5)](0x0));}return _0x33abd7=_0x507285(_0x33abd7,!_0x4a36b3),_0x4a36b3?_0x33abd7[_0x551131(0x262)]>0x0?'/'+_0x33abd7:'/':_0x33abd7[_0x551131(0x262)]>0x0?_0x33abd7:'.';},'normalize':function(_0x598270){var _0xb9a7d1=a0_0x1bd9;if(_0x4655e7(_0x598270),0x0===_0x598270[_0xb9a7d1(0x262)])return'.';var _0x5e02fc=0x2f===_0x598270[_0xb9a7d1(0x1c5)](0x0),_0x21ee34=0x2f===_0x598270[_0xb9a7d1(0x1c5)](_0x598270[_0xb9a7d1(0x262)]-0x1);return 0x0!==(_0x598270=_0x507285(_0x598270,!_0x5e02fc))[_0xb9a7d1(0x262)]||_0x5e02fc||(_0x598270='.'),_0x598270[_0xb9a7d1(0x262)]>0x0&&_0x21ee34&&(_0x598270+='/'),_0x5e02fc?'/'+_0x598270:_0x598270;},'isAbsolute':function(_0x329f9d){var _0x2289bd=a0_0x1bd9;return _0x4655e7(_0x329f9d),_0x329f9d[_0x2289bd(0x262)]>0x0&&0x2f===_0x329f9d[_0x2289bd(0x1c5)](0x0);},'join':function(){var _0x152fbc=a0_0x1bd9;if(0x0===arguments['length'])return'.';for(var _0x3a9567,_0x1d7c36=0x0;_0x1d7c360x0&&(void 0x0===_0x3a9567?_0x3a9567=_0x2fc81a:_0x3a9567+='/'+_0x2fc81a);}return void 0x0===_0x3a9567?'.':_0x28b069[_0x152fbc(0x32f)](_0x3a9567);},'relative':function(_0x42c523,_0x309b70){var _0x2e5da8=a0_0x1bd9;if(_0x4655e7(_0x42c523),_0x4655e7(_0x309b70),_0x42c523===_0x309b70)return'';if((_0x42c523=_0x28b069['resolve'](_0x42c523))===(_0x309b70=_0x28b069[_0x2e5da8(0x28c)](_0x309b70)))return'';for(var _0x5d99cb=0x1;_0x5d99cb<_0x42c523[_0x2e5da8(0x262)]&&0x2f===_0x42c523[_0x2e5da8(0x1c5)](_0x5d99cb);++_0x5d99cb);for(var _0x5921e8=_0x42c523[_0x2e5da8(0x262)],_0x3b582a=_0x5921e8-_0x5d99cb,_0xb57ef3=0x1;_0xb57ef3<_0x309b70[_0x2e5da8(0x262)]&&0x2f===_0x309b70[_0x2e5da8(0x1c5)](_0xb57ef3);++_0xb57ef3);for(var _0x4ecfd3=_0x309b70['length']-_0xb57ef3,_0x50ff86=_0x3b582a<_0x4ecfd3?_0x3b582a:_0x4ecfd3,_0x5dd053=-0x1,_0xdb7625=0x0;_0xdb7625<=_0x50ff86;++_0xdb7625){if(_0xdb7625===_0x50ff86){if(_0x4ecfd3>_0x50ff86){if(0x2f===_0x309b70['charCodeAt'](_0xb57ef3+_0xdb7625))return _0x309b70[_0x2e5da8(0x495)](_0xb57ef3+_0xdb7625+0x1);if(0x0===_0xdb7625)return _0x309b70['slice'](_0xb57ef3+_0xdb7625);}else _0x3b582a>_0x50ff86&&(0x2f===_0x42c523[_0x2e5da8(0x1c5)](_0x5d99cb+_0xdb7625)?_0x5dd053=_0xdb7625:0x0===_0xdb7625&&(_0x5dd053=0x0));break;}var _0x3f217d=_0x42c523[_0x2e5da8(0x1c5)](_0x5d99cb+_0xdb7625);if(_0x3f217d!==_0x309b70['charCodeAt'](_0xb57ef3+_0xdb7625))break;0x2f===_0x3f217d&&(_0x5dd053=_0xdb7625);}var _0x485aa9='';for(_0xdb7625=_0x5d99cb+_0x5dd053+0x1;_0xdb7625<=_0x5921e8;++_0xdb7625)_0xdb7625!==_0x5921e8&&0x2f!==_0x42c523[_0x2e5da8(0x1c5)](_0xdb7625)||(0x0===_0x485aa9[_0x2e5da8(0x262)]?_0x485aa9+='..':_0x485aa9+=_0x2e5da8(0x33b));return _0x485aa9[_0x2e5da8(0x262)]>0x0?_0x485aa9+_0x309b70[_0x2e5da8(0x495)](_0xb57ef3+_0x5dd053):(_0xb57ef3+=_0x5dd053,0x2f===_0x309b70[_0x2e5da8(0x1c5)](_0xb57ef3)&&++_0xb57ef3,_0x309b70[_0x2e5da8(0x495)](_0xb57ef3));},'_makeLong':function(_0x45a4ed){return _0x45a4ed;},'dirname':function(_0x5956e7){var _0x33ea51=a0_0x1bd9;if(_0x4655e7(_0x5956e7),0x0===_0x5956e7['length'])return'.';for(var _0x1f865a=_0x5956e7['charCodeAt'](0x0),_0x4b1681=0x2f===_0x1f865a,_0x463004=-0x1,_0x2e755a=!0x0,_0x4059eb=_0x5956e7[_0x33ea51(0x262)]-0x1;_0x4059eb>=0x1;--_0x4059eb)if(0x2f===(_0x1f865a=_0x5956e7[_0x33ea51(0x1c5)](_0x4059eb))){if(!_0x2e755a){_0x463004=_0x4059eb;break;}}else _0x2e755a=!0x1;return-0x1===_0x463004?_0x4b1681?'/':'.':_0x4b1681&&0x1===_0x463004?'//':_0x5956e7['slice'](0x0,_0x463004);},'basename':function(_0x5211b8,_0x6ea0b3){var _0xfe8b73=a0_0x1bd9;if(void 0x0!==_0x6ea0b3&&'string'!=typeof _0x6ea0b3)throw new TypeError(_0xfe8b73(0x16c)+_0xfe8b73(0x3e0)+_0xfe8b73(0x547)+'g');_0x4655e7(_0x5211b8);var _0xf5e894,_0x25eb4d=0x0,_0x23a3dd=-0x1,_0x89a060=!0x0;if(void 0x0!==_0x6ea0b3&&_0x6ea0b3[_0xfe8b73(0x262)]>0x0&&_0x6ea0b3[_0xfe8b73(0x262)]<=_0x5211b8[_0xfe8b73(0x262)]){if(_0x6ea0b3[_0xfe8b73(0x262)]===_0x5211b8[_0xfe8b73(0x262)]&&_0x6ea0b3===_0x5211b8)return'';var _0x39b2e6=_0x6ea0b3[_0xfe8b73(0x262)]-0x1,_0x112803=-0x1;for(_0xf5e894=_0x5211b8[_0xfe8b73(0x262)]-0x1;_0xf5e894>=0x0;--_0xf5e894){var _0x1a667d=_0x5211b8[_0xfe8b73(0x1c5)](_0xf5e894);if(0x2f===_0x1a667d){if(!_0x89a060){_0x25eb4d=_0xf5e894+0x1;break;}}else-0x1===_0x112803&&(_0x89a060=!0x1,_0x112803=_0xf5e894+0x1),_0x39b2e6>=0x0&&(_0x1a667d===_0x6ea0b3[_0xfe8b73(0x1c5)](_0x39b2e6)?-0x1==--_0x39b2e6&&(_0x23a3dd=_0xf5e894):(_0x39b2e6=-0x1,_0x23a3dd=_0x112803));}return _0x25eb4d===_0x23a3dd?_0x23a3dd=_0x112803:-0x1===_0x23a3dd&&(_0x23a3dd=_0x5211b8[_0xfe8b73(0x262)]),_0x5211b8[_0xfe8b73(0x495)](_0x25eb4d,_0x23a3dd);}for(_0xf5e894=_0x5211b8[_0xfe8b73(0x262)]-0x1;_0xf5e894>=0x0;--_0xf5e894)if(0x2f===_0x5211b8[_0xfe8b73(0x1c5)](_0xf5e894)){if(!_0x89a060){_0x25eb4d=_0xf5e894+0x1;break;}}else-0x1===_0x23a3dd&&(_0x89a060=!0x1,_0x23a3dd=_0xf5e894+0x1);return-0x1===_0x23a3dd?'':_0x5211b8[_0xfe8b73(0x495)](_0x25eb4d,_0x23a3dd);},'extname':function(_0xcdca53){var _0x380e05=a0_0x1bd9;_0x4655e7(_0xcdca53);for(var _0x556f39=-0x1,_0x53672d=0x0,_0x471210=-0x1,_0x4970d5=!0x0,_0x3f7e28=0x0,_0x49c84a=_0xcdca53['length']-0x1;_0x49c84a>=0x0;--_0x49c84a){var _0xc53276=_0xcdca53[_0x380e05(0x1c5)](_0x49c84a);if(0x2f!==_0xc53276)-0x1===_0x471210&&(_0x4970d5=!0x1,_0x471210=_0x49c84a+0x1),0x2e===_0xc53276?-0x1===_0x556f39?_0x556f39=_0x49c84a:0x1!==_0x3f7e28&&(_0x3f7e28=0x1):-0x1!==_0x556f39&&(_0x3f7e28=-0x1);else{if(!_0x4970d5){_0x53672d=_0x49c84a+0x1;break;}}}return-0x1===_0x556f39||-0x1===_0x471210||0x0===_0x3f7e28||0x1===_0x3f7e28&&_0x556f39===_0x471210-0x1&&_0x556f39===_0x53672d+0x1?'':_0xcdca53[_0x380e05(0x495)](_0x556f39,_0x471210);},'format':function(_0x367af4){var _0x4e1301=a0_0x1bd9;if(null===_0x367af4||_0x4e1301(0x21b)!=typeof _0x367af4)throw new TypeError(_0x4e1301(0x5a7)+_0x4e1301(0x2a1)+_0x4e1301(0x4ce)+_0x4e1301(0x272)+_0x4e1301(0x247)+_0x4e1301(0x2a3)+_0x4e1301(0x216)+typeof _0x367af4);return function(_0x5632e4,_0x151bcd){var _0x45e024=_0x4e1301,_0x5b1c46=_0x151bcd['dir']||_0x151bcd[_0x45e024(0x26d)],_0x4974bd=_0x151bcd[_0x45e024(0x501)]||(_0x151bcd[_0x45e024(0x4db)]||'')+(_0x151bcd['ext']||'');return _0x5b1c46?_0x5b1c46===_0x151bcd[_0x45e024(0x26d)]?_0x5b1c46+_0x4974bd:_0x5b1c46+'/'+_0x4974bd:_0x4974bd;}(0x0,_0x367af4);},'parse':function(_0x4a3d91){var _0x3c8291=a0_0x1bd9;_0x4655e7(_0x4a3d91);var _0xdfe929={};_0xdfe929[_0x3c8291(0x26d)]='',_0xdfe929[_0x3c8291(0x18c)]='',_0xdfe929['base']='',_0xdfe929[_0x3c8291(0x5d4)]='',_0xdfe929[_0x3c8291(0x4db)]='';var _0x24c092=_0xdfe929;if(0x0===_0x4a3d91['length'])return _0x24c092;var _0x4fb434,_0x110b77=_0x4a3d91[_0x3c8291(0x1c5)](0x0),_0x5f3fc6=0x2f===_0x110b77;_0x5f3fc6?(_0x24c092[_0x3c8291(0x26d)]='/',_0x4fb434=0x1):_0x4fb434=0x0;for(var _0x83687=-0x1,_0x2b40c1=0x0,_0x204e3b=-0x1,_0x145172=!0x0,_0x2e06e7=_0x4a3d91[_0x3c8291(0x262)]-0x1,_0x4f53d3=0x0;_0x2e06e7>=_0x4fb434;--_0x2e06e7)if(0x2f!==(_0x110b77=_0x4a3d91[_0x3c8291(0x1c5)](_0x2e06e7)))-0x1===_0x204e3b&&(_0x145172=!0x1,_0x204e3b=_0x2e06e7+0x1),0x2e===_0x110b77?-0x1===_0x83687?_0x83687=_0x2e06e7:0x1!==_0x4f53d3&&(_0x4f53d3=0x1):-0x1!==_0x83687&&(_0x4f53d3=-0x1);else{if(!_0x145172){_0x2b40c1=_0x2e06e7+0x1;break;}}return-0x1===_0x83687||-0x1===_0x204e3b||0x0===_0x4f53d3||0x1===_0x4f53d3&&_0x83687===_0x204e3b-0x1&&_0x83687===_0x2b40c1+0x1?-0x1!==_0x204e3b&&(_0x24c092['base']=_0x24c092[_0x3c8291(0x4db)]=0x0===_0x2b40c1&&_0x5f3fc6?_0x4a3d91[_0x3c8291(0x495)](0x1,_0x204e3b):_0x4a3d91[_0x3c8291(0x495)](_0x2b40c1,_0x204e3b)):(0x0===_0x2b40c1&&_0x5f3fc6?(_0x24c092[_0x3c8291(0x4db)]=_0x4a3d91[_0x3c8291(0x495)](0x1,_0x83687),_0x24c092[_0x3c8291(0x501)]=_0x4a3d91[_0x3c8291(0x495)](0x1,_0x204e3b)):(_0x24c092['name']=_0x4a3d91['slice'](_0x2b40c1,_0x83687),_0x24c092['base']=_0x4a3d91['slice'](_0x2b40c1,_0x204e3b)),_0x24c092['ext']=_0x4a3d91[_0x3c8291(0x495)](_0x83687,_0x204e3b)),_0x2b40c1>0x0?_0x24c092[_0x3c8291(0x18c)]=_0x4a3d91[_0x3c8291(0x495)](0x0,_0x2b40c1-0x1):_0x5f3fc6&&(_0x24c092[_0x3c8291(0x18c)]='/'),_0x24c092;},'sep':'/','delimiter':':','win32':null,'posix':null};_0x28b069[_0x521f16(0x2c7)]=_0x28b069,_0x3ceb80[_0x521f16(0x545)]=_0x28b069;},0x2477:_0x2767f2=>{'use strict';var _0x3a2476=a0_0x1bd9;function _0xdcd528(_0x230618,_0x262422){var _0x4b0135=a0_0x1bd9;return Object['prototype'][_0x4b0135(0x3c1)+_0x4b0135(0x487)][_0x4b0135(0x50b)](_0x230618,_0x262422);}_0x2767f2[_0x3a2476(0x545)]=function(_0x2d29ad,_0x19a806,_0x310574,_0x5ca3c3){var _0x4f35cc=_0x3a2476;_0x19a806=_0x19a806||'&',_0x310574=_0x310574||'=';var _0x28b87f={};if(_0x4f35cc(0x259)!=typeof _0x2d29ad||0x0===_0x2d29ad['length'])return _0x28b87f;var _0x4c446e=/\+/g;_0x2d29ad=_0x2d29ad[_0x4f35cc(0x5ee)](_0x19a806);var _0x18ef54=0x3e8;_0x5ca3c3&&_0x4f35cc(0x3c2)==typeof _0x5ca3c3[_0x4f35cc(0x174)]&&(_0x18ef54=_0x5ca3c3['maxKeys']);var _0xf8058a=_0x2d29ad[_0x4f35cc(0x262)];_0x18ef54>0x0&&_0xf8058a>_0x18ef54&&(_0xf8058a=_0x18ef54);for(var _0x9667c1=0x0;_0x9667c1<_0xf8058a;++_0x9667c1){var _0x5b011a,_0x2db437,_0x1d0960,_0x38b659,_0x2156aa=_0x2d29ad[_0x9667c1][_0x4f35cc(0x356)](_0x4c446e,_0x4f35cc(0x185)),_0x8633ec=_0x2156aa[_0x4f35cc(0x2e4)](_0x310574);_0x8633ec>=0x0?(_0x5b011a=_0x2156aa[_0x4f35cc(0x341)](0x0,_0x8633ec),_0x2db437=_0x2156aa[_0x4f35cc(0x341)](_0x8633ec+0x1)):(_0x5b011a=_0x2156aa,_0x2db437=''),_0x1d0960=decodeURIComponent(_0x5b011a),_0x38b659=decodeURIComponent(_0x2db437),_0xdcd528(_0x28b87f,_0x1d0960)?_0x4245ad(_0x28b87f[_0x1d0960])?_0x28b87f[_0x1d0960][_0x4f35cc(0x492)](_0x38b659):_0x28b87f[_0x1d0960]=[_0x28b87f[_0x1d0960],_0x38b659]:_0x28b87f[_0x1d0960]=_0x38b659;}return _0x28b87f;};var _0x4245ad=Array[_0x3a2476(0x172)]||function(_0x3d5aef){var _0x3dc13e=_0x3a2476;return _0x3dc13e(0x4e3)+_0x3dc13e(0x426)===Object[_0x3dc13e(0x309)][_0x3dc13e(0x145)][_0x3dc13e(0x50b)](_0x3d5aef);};},0xc30:_0xfa4c63=>{'use strict';var _0xea524a=a0_0x1bd9;var _0x385044=function(_0x2a980f){var _0x56f32a=a0_0x1bd9;switch(typeof _0x2a980f){case'string':return _0x2a980f;case'boolean':return _0x2a980f?_0x56f32a(0x41f):_0x56f32a(0x2a2);case'number':return isFinite(_0x2a980f)?_0x2a980f:'';default:return'';}};_0xfa4c63[_0xea524a(0x545)]=function(_0x531519,_0x1bf1af,_0x9f85e3,_0x15bb37){return _0x1bf1af=_0x1bf1af||'&',_0x9f85e3=_0x9f85e3||'=',null===_0x531519&&(_0x531519=void 0x0),'object'==typeof _0x531519?_0x469ed6(_0x1d3cbd(_0x531519),function(_0x32b6be){var _0x8b599=a0_0x1bd9,_0x52868b=encodeURIComponent(_0x385044(_0x32b6be))+_0x9f85e3;return _0x16911f(_0x531519[_0x32b6be])?_0x469ed6(_0x531519[_0x32b6be],function(_0x54ae76){return _0x52868b+encodeURIComponent(_0x385044(_0x54ae76));})[_0x8b599(0x4f2)](_0x1bf1af):_0x52868b+encodeURIComponent(_0x385044(_0x531519[_0x32b6be]));})['join'](_0x1bf1af):_0x15bb37?encodeURIComponent(_0x385044(_0x15bb37))+_0x9f85e3+encodeURIComponent(_0x385044(_0x531519)):'';};var _0x16911f=Array['isArray']||function(_0x56e729){var _0x2fdee3=_0xea524a;return _0x2fdee3(0x4e3)+'ray]'===Object['prototype'][_0x2fdee3(0x145)][_0x2fdee3(0x50b)](_0x56e729);};function _0x469ed6(_0x4c232e,_0x4d592d){var _0x56f490=_0xea524a;if(_0x4c232e[_0x56f490(0x2fb)])return _0x4c232e[_0x56f490(0x2fb)](_0x4d592d);for(var _0x575b2f=[],_0x4f36e0=0x0;_0x4f36e0<_0x4c232e[_0x56f490(0x262)];_0x4f36e0++)_0x575b2f[_0x56f490(0x492)](_0x4d592d(_0x4c232e[_0x4f36e0],_0x4f36e0));return _0x575b2f;}var _0x1d3cbd=Object['keys']||function(_0x5bacf5){var _0x23ef05=_0xea524a,_0x39d279=[];for(var _0x1dcbec in _0x5bacf5)Object[_0x23ef05(0x309)][_0x23ef05(0x3c1)+'erty'][_0x23ef05(0x50b)](_0x5bacf5,_0x1dcbec)&&_0x39d279[_0x23ef05(0x492)](_0x1dcbec);return _0x39d279;};},0x1e37:(_0x36d52c,_0x43ce5f,_0x3eadc1)=>{'use strict';var _0x11d5fc=a0_0x1bd9;_0x43ce5f[_0x11d5fc(0x4e8)]=_0x43ce5f[_0x11d5fc(0x515)]=_0x3eadc1(0x2477),_0x43ce5f['encode']=_0x43ce5f[_0x11d5fc(0x338)]=_0x3eadc1(0xc30);},0x13a2:(_0x4aa79d,_0x1820ec)=>{'use strict';var _0x250f5b=a0_0x1bd9;var _0x14f2ac,_0x5ddbe8,_0x351484={};_0x351484[_0x250f5b(0x5a3)]=!0x0,(Object[_0x250f5b(0x36a)+'erty'](_0x1820ec,'__esModule',_0x351484),_0x1820ec['ClientComm'+_0x250f5b(0x292)]=_0x1820ec[_0x250f5b(0x1f7)]=_0x1820ec['IntelliCod'+_0x250f5b(0x51a)+_0x250f5b(0x52b)+'efix']=void 0x0,_0x1820ec[_0x250f5b(0x275)+_0x250f5b(0x51a)+'nCommandPr'+'efix']='python.int'+_0x250f5b(0x329),(_0x5ddbe8=_0x1820ec[_0x250f5b(0x1f7)]||(_0x1820ec[_0x250f5b(0x1f7)]={}))['createType'+_0x250f5b(0x1f9)]=_0x250f5b(0x276)+'ateTypeStu'+'b',_0x5ddbe8['orderImpor'+'ts']=_0x250f5b(0x219)+_0x250f5b(0x14f),_0x5ddbe8['addMissing'+_0x250f5b(0x38e)+'Param']=_0x250f5b(0x509)+_0x250f5b(0x394)+_0x250f5b(0x550),_0x5ddbe8[_0x250f5b(0x2aa)+'edImport']=_0x250f5b(0x4aa)+'oveUnusedI'+_0x250f5b(0x462),_0x5ddbe8[_0x250f5b(0x52e)]=_0x250f5b(0x509)+_0x250f5b(0x5ba),_0x5ddbe8[_0x250f5b(0x30b)+_0x250f5b(0x51a)+'nItemComma'+'nd']=_0x250f5b(0x46c)+_0x250f5b(0x441)+_0x250f5b(0x278)+_0x250f5b(0x249)+'d',_0x5ddbe8[_0x250f5b(0x30b)+_0x250f5b(0x5b4)+_0x250f5b(0x231)]='python.int'+_0x250f5b(0x32c)+_0x250f5b(0x3ec)+_0x250f5b(0x31b)+_0x250f5b(0x22d),_0x5ddbe8[_0x250f5b(0x2cc)+_0x250f5b(0x496)]=_0x250f5b(0x415)+_0x250f5b(0x5a2)+'d',_0x5ddbe8[_0x250f5b(0x4e4)+_0x250f5b(0x364)]=_0x250f5b(0x415)+_0x250f5b(0x332)+'ble',_0x5ddbe8['dumpFileDe'+_0x250f5b(0x3db)]=_0x250f5b(0x37e)+'mpFileDebu'+_0x250f5b(0x586),_0x5ddbe8['completion'+_0x250f5b(0x209)]=_0x250f5b(0x36c)+_0x250f5b(0x42d)+'cepted',_0x5ddbe8[_0x250f5b(0x25f)+_0x250f5b(0x4fd)+'d']=_0x250f5b(0x415)+_0x250f5b(0x1ad)+_0x250f5b(0x299),(_0x14f2ac=_0x1820ec[_0x250f5b(0x58b)+_0x250f5b(0x292)]||(_0x1820ec['ClientComm'+_0x250f5b(0x292)]={}))[_0x250f5b(0x4ee)+'e']='pylance.re'+'portIssue',_0x14f2ac[_0x250f5b(0x2c6)+_0x250f5b(0x164)+'s']=_0x250f5b(0x24a)+_0x250f5b(0x5ac)+_0x250f5b(0x3dc),_0x14f2ac[_0x250f5b(0x379)+'s']=_0x250f5b(0x2f2)+_0x250f5b(0x183),_0x14f2ac[_0x250f5b(0x2cc)+_0x250f5b(0x31a)+_0x250f5b(0x383)]='pylance.ex'+_0x250f5b(0x5a2)+_0x250f5b(0x5cb)+'e',_0x14f2ac['extractVar'+_0x250f5b(0x47c)+_0x250f5b(0x409)]=_0x250f5b(0x415)+'tractVaria'+_0x250f5b(0x41d)+_0x250f5b(0x383),_0x14f2ac['addToExtra'+'Paths']='pylance.ad'+_0x250f5b(0x2fc)+'ths');},0xd26:(_0x1c11af,_0x12231d,_0x4d0166)=>{'use strict';var _0x2e6d97=a0_0x1bd9;const _0x123035=_0x4d0166(0x21f9);_0x123035[_0x2e6d97(0x458)]=[];const _0x123de2=()=>({'external':0x0,'heapTotal':0x0,'heapUsed':0x0,'rss':0x0,'arrayBuffers':0x0});_0x123de2[_0x2e6d97(0x357)]=()=>0x0,_0x123035[_0x2e6d97(0x595)+'e']=_0x123de2,_0x1c11af[_0x2e6d97(0x545)]=_0x123035;},0x14a4:(_0x388442,_0x4fabcd,_0x4d4b23)=>{'use strict';var _0x4254ad=a0_0x1bd9;var _0x363b36={};_0x363b36[_0x4254ad(0x5a3)]=!0x0,(Object['defineProp'+_0x4254ad(0x487)](_0x4fabcd,'__esModule',_0x363b36),_0x4fabcd[_0x4254ad(0x44a)+'es']=_0x4fabcd[_0x4254ad(0x15f)+'e']=_0x4fabcd[_0x4254ad(0x498)+_0x4254ad(0x147)]=_0x4fabcd[_0x4254ad(0x4eb)+_0x4254ad(0x4cd)]=_0x4fabcd['getOrAdd']=_0x4fabcd[_0x4254ad(0x5d9)+_0x4254ad(0x465)]=_0x4fabcd['flatten']=_0x4fabcd[_0x4254ad(0x5e3)+'chKey']=_0x4fabcd[_0x4254ad(0x5e3)+'ch']=_0x4fabcd[_0x4254ad(0x572)]=_0x4fabcd[_0x4254ad(0x1d9)]=_0x4fabcd['map']=_0x4fabcd['stableSort']=_0x4fabcd[_0x4254ad(0x47f)+'rt']=_0x4fabcd[_0x4254ad(0x5f1)]=_0x4fabcd['addRange']=_0x4fabcd[_0x4254ad(0x2b0)]=_0x4fabcd[_0x4254ad(0x18a)+'y']=_0x4fabcd[_0x4254ad(0x28a)]=_0x4fabcd[_0x4254ad(0x388)]=_0x4fabcd[_0x4254ad(0x158)]=void 0x0);const _0xf264bd=_0x4d4b23(0x2423);function _0x4a1e6c(_0x5b6775,_0x458b49,_0x30dd05=_0xf264bd[_0x4254ad(0x25a)+'es']){if(_0x5b6775){for(const _0x248b4c of _0x5b6775)if(_0x30dd05(_0x248b4c,_0x458b49))return!0x0;}return!0x1;}function _0x5b33fb(_0xffc7e1,_0x1ed470){var _0x57849e=_0x4254ad;return _0x1ed470<0x0?_0xffc7e1[_0x57849e(0x262)]+_0x1ed470:_0x1ed470;}function _0x2896f9(_0x3329e8,_0x535751,_0x6d38f1,_0x58bc8e){var _0x1ecdda=_0x4254ad;if(void 0x0===_0x535751||0x0===_0x535751[_0x1ecdda(0x262)])return _0x3329e8;if(void 0x0===_0x3329e8)return _0x535751[_0x1ecdda(0x495)](_0x6d38f1,_0x58bc8e);_0x6d38f1=void 0x0===_0x6d38f1?0x0:_0x5b33fb(_0x535751,_0x6d38f1),_0x58bc8e=void 0x0===_0x58bc8e?_0x535751[_0x1ecdda(0x262)]:_0x5b33fb(_0x535751,_0x58bc8e);for(let _0x1265a8=_0x6d38f1;_0x1265a8<_0x58bc8e&&_0x1265a8<_0x535751['length'];_0x1265a8++)void 0x0!==_0x535751[_0x1265a8]&&_0x3329e8[_0x1ecdda(0x492)](_0x535751[_0x1265a8]);return _0x3329e8;}function _0x407c7f(_0x4e9328,_0x384c81){return _0x384c81;}function _0x4508d8(_0x41eed2,_0x1beaef){var _0x2391d3=_0x4254ad;return!!_0x41eed2&&(_0x1beaef?_0x41eed2[_0x2391d3(0x1d9)](_0x1beaef):_0x41eed2[_0x2391d3(0x262)]>0x0);}function _0x27427b(_0x2c4825,_0x31aaa6,_0x5ab4c4,_0x5048df,_0x25365e){var _0x427259=_0x4254ad;if(!_0x4508d8(_0x2c4825))return-0x1;let _0x3b3f0b=_0x25365e||0x0,_0x39f21d=_0x2c4825[_0x427259(0x262)]-0x1;for(;_0x3b3f0b<=_0x39f21d;){const _0x5ac452=_0x3b3f0b+(_0x39f21d-_0x3b3f0b>>0x1);switch(_0x5048df(_0x5ab4c4(_0x2c4825[_0x5ac452]),_0x31aaa6)){case-0x1:_0x3b3f0b=_0x5ac452+0x1;break;case 0x0:return _0x5ac452;case 0x1:_0x39f21d=_0x5ac452-0x1;}}return~_0x3b3f0b;}_0x4fabcd[_0x4254ad(0x158)]=[],_0x4fabcd['contains']=_0x4a1e6c,_0x4fabcd[_0x4254ad(0x28a)]=function(_0x27f017,_0x486df5){var _0x1fc1bb=_0x4254ad;return void 0x0===_0x486df5?_0x27f017:void 0x0===_0x27f017?[_0x486df5]:(_0x27f017[_0x1fc1bb(0x492)](_0x486df5),_0x27f017);},_0x4fabcd[_0x4254ad(0x18a)+'y']=function(_0x346dde,_0x4d472e){var _0x16ffbe=_0x4254ad;if(_0x4d472e[_0x16ffbe(0x262)]<0x100)_0x346dde[_0x16ffbe(0x492)](..._0x4d472e);else{for(const _0x2b227b of _0x4d472e)_0x346dde[_0x16ffbe(0x492)](_0x2b227b);}},_0x4fabcd['find']=function(_0x4ed8ea,_0x446049){for(let _0x23fda6=0x0;_0x23fda6<_0x4ed8ea['length'];_0x23fda6++){const _0x37b625=_0x4ed8ea[_0x23fda6];if(_0x446049(_0x37b625,_0x23fda6))return _0x37b625;}},_0x4fabcd[_0x4254ad(0x294)]=_0x2896f9,_0x4fabcd['insertAt']=function(_0x2d7fe1,_0xc443e9,_0x47fa54){var _0x23041b=_0x4254ad;if(0x0===_0xc443e9)_0x2d7fe1[_0x23041b(0x369)](_0x47fa54);else{if(_0xc443e9===_0x2d7fe1[_0x23041b(0x262)])_0x2d7fe1['push'](_0x47fa54);else{for(let _0x50fcfd=_0x2d7fe1[_0x23041b(0x262)];_0x50fcfd>_0xc443e9;_0x50fcfd--)_0x2d7fe1[_0x50fcfd]=_0x2d7fe1[_0x50fcfd-0x1];_0x2d7fe1[_0xc443e9]=_0x47fa54;}}return _0x2d7fe1;},_0x4fabcd[_0x4254ad(0x47f)+'rt']=function(_0x453470,_0x6e4203){var _0x15bf6e=_0x4254ad;return 0x0===_0x453470[_0x15bf6e(0x262)]?_0x453470:_0x453470[_0x15bf6e(0x495)]()[_0x15bf6e(0x52f)](_0x6e4203);},_0x4fabcd[_0x4254ad(0x4d1)]=function(_0x3a1b88,_0x58ddad){const _0x528df1=function(_0x46ecd9){return _0x46ecd9['map'](_0x407c7f);}(_0x3a1b88);return function(_0x28bb3a,_0x2b1aac,_0x598a69){var _0x4b9bdb=a0_0x1bd9;_0x2b1aac[_0x4b9bdb(0x52f)]((_0x2c88e6,_0x598269)=>_0x598a69(_0x28bb3a[_0x2c88e6],_0x28bb3a[_0x598269])||(0x0,_0xf264bd[_0x4b9bdb(0x32d)+_0x4b9bdb(0x2af)])(_0x2c88e6,_0x598269));}(_0x3a1b88,_0x528df1,_0x58ddad),_0x528df1['map'](_0x21f1da=>_0x3a1b88[_0x21f1da]);},_0x4fabcd[_0x4254ad(0x2fb)]=function(_0x42786e,_0xa65303){var _0x48de8b=_0x4254ad;if(_0x42786e)return _0x42786e[_0x48de8b(0x2fb)](_0xa65303);},_0x4fabcd[_0x4254ad(0x1d9)]=_0x4508d8,_0x4fabcd['every']=function(_0x50811b,_0xf63b82){var _0x86cb8a=_0x4254ad;return!_0x50811b||_0x50811b[_0x86cb8a(0x572)](_0xf63b82);},_0x4fabcd[_0x4254ad(0x5e3)+'ch']=function(_0x333f6a,_0x29187e,_0x3bd1c4,_0x48601d,_0x30a602){return _0x27427b(_0x333f6a,_0x3bd1c4(_0x29187e),_0x3bd1c4,_0x48601d,_0x30a602);},_0x4fabcd[_0x4254ad(0x5e3)+_0x4254ad(0x38c)]=_0x27427b,_0x4fabcd[_0x4254ad(0x192)]=function(_0x4e3f48){var _0x219e7a=_0x4254ad;const _0x1aa2e3=[];for(const _0x35b9d6 of _0x4e3f48)_0x35b9d6&&((0x0,_0xf264bd[_0x219e7a(0x172)])(_0x35b9d6)?_0x2896f9(_0x1aa2e3,_0x35b9d6):_0x1aa2e3[_0x219e7a(0x492)](_0x35b9d6));return _0x1aa2e3;},_0x4fabcd[_0x4254ad(0x5d9)+_0x4254ad(0x465)]=function(_0x68108c,_0x5bf89b){var _0x1d2ccd=_0x4254ad;return _0x5bf89b[_0x1d2ccd(0x5ee)]('.')[_0x1d2ccd(0x1bf)]((_0x295700,_0x48b593)=>_0x295700&&_0x295700[_0x48b593],_0x68108c);},_0x4fabcd[_0x4254ad(0x24d)]=function(_0x5385b1,_0x150a4c,_0x5d13fe){var _0x515042=_0x4254ad;const _0x52b7a3=_0x5385b1[_0x515042(0x270)](_0x150a4c);if(void 0x0!==_0x52b7a3)return _0x52b7a3;const _0x20544e=_0x5d13fe();return _0x5385b1[_0x515042(0x1b3)](_0x150a4c,_0x20544e),_0x20544e;},_0x4fabcd['removeArra'+_0x4254ad(0x4cd)]=function(_0x5c0e5f,_0x4d6dab){var _0x1ad2a5=_0x4254ad;for(let _0x1ceb23=0x0;_0x1ceb23<_0x5c0e5f[_0x1ad2a5(0x262)];_0x1ceb23++)_0x4d6dab(_0x5c0e5f[_0x1ceb23])&&(_0x5c0e5f[_0x1ad2a5(0x212)](_0x1ceb23,0x1),_0x1ceb23--);return _0x5c0e5f;},_0x4fabcd[_0x4254ad(0x498)+_0x4254ad(0x147)]=function(_0x5c779c,_0x1f6522){var _0x1f983b=_0x4254ad;return _0x5c779c[_0x1f983b(0x2fb)](_0x5e3691=>_0x1f6522(_0x5e3691))['reduce']((_0x4adb0b,_0x5c6782,_0x183349)=>(_0x4adb0b['set'](_0x5c6782,(_0x4adb0b[_0x1f983b(0x270)](_0x5c6782)||[])[_0x1f983b(0x35d)](_0x5c779c[_0x183349])),_0x4adb0b),new Map());},_0x4fabcd['addIfUniqu'+'e']=function(_0x11357b,_0x5e0c26,_0x3bf2e3=_0xf264bd['equateValu'+'es']){var _0x2542d4=_0x4254ad;return _0x4a1e6c(_0x11357b,_0x5e0c26,_0x3bf2e3)||_0x11357b[_0x2542d4(0x492)](_0x5e0c26),_0x11357b;},_0x4fabcd[_0x4254ad(0x44a)+'es']=function(_0x357512,_0x23d243){var _0x488992=_0x4254ad;const _0x4ba9ba=[];return _0x357512[_0x488992(0x1d5)]((_0x5edb1,_0x32e43c)=>{var _0x587ea8=_0x488992;_0x23d243(_0x32e43c,_0x5edb1)&&_0x4ba9ba[_0x587ea8(0x492)](_0x5edb1);}),_0x4ba9ba;};},0x2423:(_0x4e2a0c,_0x15ad84,_0x489d32)=>{'use strict';var _0x384c82=a0_0x1bd9;var _0x2ecf25=_0x489d32(0xd26);function _0x45ea9c(_0x35a6b9,_0x4c3475){return _0x35a6b9===_0x4c3475?0x0:void 0x0===_0x35a6b9?-0x1:void 0x0===_0x4c3475?0x1:_0x35a6b9<_0x4c3475?-0x1:0x1;}var _0x5b0023={};_0x5b0023[_0x384c82(0x5a3)]=!0x0,(Object[_0x384c82(0x36a)+'erty'](_0x15ad84,_0x384c82(0x47a),_0x5b0023),_0x15ad84[_0x384c82(0x20f)]=_0x15ad84['isThenable']=_0x15ad84[_0x384c82(0x4bf)+'e']=_0x15ad84['toBoolean']=_0x15ad84[_0x384c82(0x3fb)+'y']=_0x15ad84[_0x384c82(0x53d)]=_0x15ad84[_0x384c82(0x4d2)]=_0x15ad84['isString']=_0x15ad84[_0x384c82(0x172)]=_0x15ad84['compareVal'+_0x384c82(0x2af)]=_0x15ad84[_0x384c82(0x55d)+_0x384c82(0x326)+_0x384c82(0x2af)]=_0x15ad84[_0x384c82(0x25a)+'es']=_0x15ad84[_0x384c82(0x577)+'e']=_0x15ad84[_0x384c82(0x1a9)]=_0x15ad84[_0x384c82(0x16b)+_0x384c82(0x2e6)]=_0x15ad84[_0x384c82(0x1ac)]=_0x15ad84[_0x384c82(0x235)+'e']=void 0x0,_0x15ad84[_0x384c82(0x235)+'e']=function(){return!0x1;},_0x15ad84['returnTrue']=function(){return!0x0;},_0x15ad84[_0x384c82(0x16b)+_0x384c82(0x2e6)]=function(){},_0x15ad84[_0x384c82(0x1a9)]=function(_0x2bcabc){return _0x2bcabc;},_0x15ad84[_0x384c82(0x577)+'e']=function(_0x2d3e21){var _0x3909ae=_0x384c82;return _0x2d3e21[_0x3909ae(0x577)+'e']();},_0x15ad84[_0x384c82(0x25a)+'es']=function(_0x5dc5cc,_0x346959){return _0x5dc5cc===_0x346959;},_0x15ad84[_0x384c82(0x55d)+_0x384c82(0x326)+'ues']=_0x45ea9c,_0x15ad84[_0x384c82(0x32d)+'ues']=function(_0x3e9d29,_0x2d6b78){return _0x45ea9c(_0x3e9d29,_0x2d6b78);},_0x15ad84[_0x384c82(0x172)]=function(_0x4ad694){var _0x376844=_0x384c82;return Array['isArray']?Array[_0x376844(0x172)](_0x4ad694):_0x4ad694 instanceof Array;},_0x15ad84[_0x384c82(0x26a)]=function(_0x300108){var _0x524786=_0x384c82;return _0x524786(0x259)==typeof _0x300108;},_0x15ad84['isNumber']=function(_0x40e79e){return'number'==typeof _0x40e79e;},_0x15ad84[_0x384c82(0x53d)]=function(_0x534749){return'boolean'==typeof _0x534749;});const _0x280417=Object[_0x384c82(0x309)]['hasOwnProp'+_0x384c82(0x487)];_0x15ad84['hasPropert'+'y']=function(_0x4704bf,_0x46739a){return _0x280417['call'](_0x4704bf,_0x46739a);},_0x15ad84[_0x384c82(0x34c)]=function(_0x363bb0){var _0x3e7cea=_0x384c82;return _0x3e7cea(0x57f)===(null==_0x363bb0?void 0x0:_0x363bb0[_0x3e7cea(0x53f)]()[_0x3e7cea(0x41b)+'e']());},_0x15ad84[_0x384c82(0x4bf)+'e']=function(){var _0xbdf7d3=_0x384c82;const _0x27dfdc=_0x2ecf25[_0xbdf7d3(0x458)][_0xbdf7d3(0x4f2)]();return _0x27dfdc['includes'](_0xbdf7d3(0x3e4))||_0x27dfdc[_0xbdf7d3(0x207)](_0xbdf7d3(0x5af));},_0x15ad84[_0x384c82(0x28d)]=function(_0xfacdf8){var _0x1550c0=_0x384c82;return _0x1550c0(0x592)==typeof(null==_0xfacdf8?void 0x0:_0xfacdf8['then']);},_0x15ad84[_0x384c82(0x20f)]=function(_0x16ad46){return void 0x0!==_0x16ad46;};},0x31b:(_0x1c950a,_0x691b5c,_0x51277a)=>{'use strict';var _0x2f3213=a0_0x1bd9;var _0x56dbfd={};_0x56dbfd[_0x2f3213(0x5a3)]=!0x0,(Object['defineProp'+_0x2f3213(0x487)](_0x691b5c,_0x2f3213(0x47a),_0x56dbfd),_0x691b5c[_0x2f3213(0x3c4)+_0x2f3213(0x266)]=_0x691b5c['getErrorSt'+_0x2f3213(0x26c)]=_0x691b5c[_0x2f3213(0x256)]=_0x691b5c[_0x2f3213(0x552)+_0x2f3213(0x33d)]=_0x691b5c[_0x2f3213(0x57a)+'r']=_0x691b5c[_0x2f3213(0x227)+_0x2f3213(0x521)]=_0x691b5c[_0x2f3213(0x469)+_0x2f3213(0x4c4)]=_0x691b5c[_0x2f3213(0x2fa)]=_0x691b5c[_0x2f3213(0x5c4)]=void 0x0);const _0xcffa00=_0x51277a(0x14a4),_0x16d3b9=_0x51277a(0x2423);function _0x1aecda(_0x2f3dca,_0x36550b){var _0x4a733e=_0x2f3213;const _0x943e15=new Error(_0x2f3dca?'Debug\x20Fail'+_0x4a733e(0x3d7)+_0x2f3dca:'Debug\x20Fail'+_0x4a733e(0x26e));throw Error[_0x4a733e(0x375)+_0x4a733e(0x4c3)]&&Error['captureSta'+_0x4a733e(0x4c3)](_0x943e15,_0x36550b||_0x1aecda),_0x943e15;}function _0x2f8f5f(_0x28350c,_0x2a9d18,_0x3a115b){null==_0x28350c&&_0x1aecda(_0x2a9d18,_0x3a115b||_0x2f8f5f);}_0x691b5c[_0x2f3213(0x5c4)]=function _0x546cc9(_0x53288d,_0x5e9809,_0x433317,_0x9d3679){var _0x17abcd=_0x2f3213;_0x53288d||(_0x433317&&(_0x5e9809+=_0x17abcd(0x1c6)+_0x17abcd(0x4dc)+_0x17abcd(0x215)+(_0x17abcd(0x259)==typeof _0x433317?_0x433317:_0x433317())),_0x1aecda(_0x5e9809?_0x17abcd(0x46e)+_0x17abcd(0x4b2)+_0x5e9809:'False\x20expr'+_0x17abcd(0x2bf),_0x9d3679||_0x546cc9));},_0x691b5c[_0x2f3213(0x2fa)]=_0x1aecda,_0x691b5c[_0x2f3213(0x469)+_0x2f3213(0x4c4)]=_0x2f8f5f,_0x691b5c['assertEach'+'Defined']=function _0x4fae98(_0x14d620,_0x1a207e,_0xd0d360){for(const _0x2c4c73 of _0x14d620)_0x2f8f5f(_0x2c4c73,_0x1a207e,_0xd0d360||_0x4fae98);},_0x691b5c[_0x2f3213(0x57a)+'r']=function _0x56c36d(_0xa469bc,_0x16c5e2=_0x2f3213(0x13a)+_0x2f3213(0x2b6),_0x147446){var _0x1422b9=_0x2f3213;_0x1aecda(_0x16c5e2+'\x20'+JSON[_0x1422b9(0x338)](_0xa469bc),_0x147446||_0x56c36d);},_0x691b5c[_0x2f3213(0x552)+_0x2f3213(0x33d)]=function(_0x157c11){var _0x5bf76c=_0x2f3213;if(_0x5bf76c(0x592)!=typeof _0x157c11)return'';if((0x0,_0x16d3b9[_0x5bf76c(0x3fb)+'y'])(_0x157c11,_0x5bf76c(0x4db)))return _0x157c11[_0x5bf76c(0x4db)];{const _0x1c2ff9=Function[_0x5bf76c(0x309)][_0x5bf76c(0x145)][_0x5bf76c(0x50b)](_0x157c11),_0x1af3aa=/^function\s+([\w$]+)\s*\(/['exec'](_0x1c2ff9);return _0x1af3aa?_0x1af3aa[0x1]:'';}},_0x691b5c['formatEnum']=function(_0x4f71e4=0x0,_0x33ece0,_0x4d8f42){var _0x445bc2=_0x2f3213;const _0x141afd=function(_0x1a1769){var _0xf2ee67=a0_0x1bd9;const _0x701095=[];for(const _0x2d2207 of Object[_0xf2ee67(0x399)](_0x1a1769)){const _0x39eac5=_0x1a1769[_0x2d2207];_0xf2ee67(0x3c2)==typeof _0x39eac5&&_0x701095[_0xf2ee67(0x492)]([_0x39eac5,_0x2d2207]);}return(0x0,_0xcffa00[_0xf2ee67(0x4d1)])(_0x701095,(_0x364484,_0x9b8213)=>(0x0,_0x16d3b9[_0xf2ee67(0x32d)+'ues'])(_0x364484[0x0],_0x9b8213[0x0]));}(_0x33ece0);if(0x0===_0x4f71e4)return _0x141afd[_0x445bc2(0x262)]>0x0&&0x0===_0x141afd[0x0][0x0]?_0x141afd[0x0][0x1]:'0';if(_0x4d8f42){let _0x25e586='',_0x2b5d26=_0x4f71e4;for(const [_0x461ee8,_0x20b569]of _0x141afd){if(_0x461ee8>_0x4f71e4)break;0x0!==_0x461ee8&&_0x461ee8&_0x4f71e4&&(_0x25e586=''+_0x25e586+(_0x25e586?'|':'')+_0x20b569,_0x2b5d26&=~_0x461ee8);}if(0x0===_0x2b5d26)return _0x25e586;}else{for(const [_0x1bad9d,_0x4e9696]of _0x141afd)if(_0x1bad9d===_0x4f71e4)return _0x4e9696;}return _0x4f71e4[_0x445bc2(0x145)]();},_0x691b5c[_0x2f3213(0x3f9)+_0x2f3213(0x26c)]=function(_0x6de57c){var _0x11725b=_0x2f3213;return(_0x6de57c[_0x11725b(0x4f3)]?_0x6de57c[_0x11725b(0x4f3)][_0x11725b(0x145)]():void 0x0)||('string'==typeof _0x6de57c[_0x11725b(0x382)]?_0x6de57c['message']:void 0x0)||JSON[_0x11725b(0x338)](_0x6de57c);},_0x691b5c[_0x2f3213(0x3c4)+'zableError']=function(_0x1113c6){var _0x471b0e=_0x2f3213;if(_0x1113c6)return JSON[_0x471b0e(0x338)](_0x1113c6)['length']>0x2?_0x1113c6:{'name':_0x1113c6['name']&&(0x0,_0x16d3b9[_0x471b0e(0x26a)])(_0x1113c6[_0x471b0e(0x4db)])?_0x1113c6['name']:_0x471b0e(0x12a),'message':_0x1113c6[_0x471b0e(0x382)]&&(0x0,_0x16d3b9['isString'])(_0x1113c6[_0x471b0e(0x382)])?_0x1113c6['message']:_0x471b0e(0x5e0),'stack':_0x1113c6['stack']&&(0x0,_0x16d3b9[_0x471b0e(0x26a)])(_0x1113c6['stack'])?_0x1113c6[_0x471b0e(0x4f3)]:void 0x0};};},0x198d:(_0x6c2dc2,_0x34ac44,_0x58fd67)=>{'use strict';var _0x4b2f08=a0_0x1bd9;var _0x2489b4={};_0x2489b4[_0x4b2f08(0x5a3)]=!0x0,(Object[_0x4b2f08(0x36a)+_0x4b2f08(0x487)](_0x34ac44,_0x4b2f08(0x47a),_0x2489b4),_0x34ac44[_0x4b2f08(0x1e5)+_0x4b2f08(0x300)+_0x4b2f08(0x4a8)]=_0x34ac44[_0x4b2f08(0x568)+_0x4b2f08(0x483)+_0x4b2f08(0x4a8)]=_0x34ac44[_0x4b2f08(0x18f)+_0x4b2f08(0x3c6)+'set']=_0x34ac44['convertOff'+_0x4b2f08(0x24c)+'e']=_0x34ac44[_0x4b2f08(0x1af)+_0x4b2f08(0x3df)+_0x4b2f08(0x5d0)]=void 0x0);const _0x33ccf0=_0x58fd67(0x31b),_0x43e465=_0x58fd67(0x1a2a);function _0x93d9cf(_0x5607d6,_0x5243c0){var _0x360fba=_0x4b2f08,_0x36145d={};_0x36145d[_0x360fba(0x211)]=0x0,_0x36145d[_0x360fba(0x4ad)]=0x0;if(0x0===_0x5243c0['end'])return _0x36145d;let _0x2ec29d=0x0;_0x5607d6>=_0x5243c0[_0x360fba(0x582)]&&(_0x5607d6=_0x5243c0[_0x360fba(0x582)]-0x1,_0x2ec29d=0x1);const _0x5daaf9=_0x5243c0[_0x360fba(0x4a5)+_0x360fba(0x2b2)](_0x5607d6);(0x0,_0x33ccf0[_0x360fba(0x5c4)])(_0x5daaf9>=0x0&&_0x5daaf9<=_0x5243c0[_0x360fba(0x262)]);const _0x4ef52a=_0x5243c0[_0x360fba(0x548)](_0x5daaf9);return(0x0,_0x33ccf0['assert'])(void 0x0!==_0x4ef52a),{'line':_0x5daaf9,'character':_0x5607d6-_0x4ef52a['start']+_0x2ec29d};}function _0x59cfae(_0xd225eb,_0x1b6b22,_0x4b32d6){return{'start':_0x93d9cf(_0xd225eb,_0x4b32d6),'end':_0x93d9cf(_0x1b6b22,_0x4b32d6)};}function _0x331eb8(_0x2f48de,_0x21bc28){var _0x54ce9c=_0x4b2f08;if(!(_0x2f48de['line']>=_0x21bc28[_0x54ce9c(0x4fb)]))return _0x21bc28[_0x54ce9c(0x548)](_0x2f48de[_0x54ce9c(0x211)])[_0x54ce9c(0x5e4)]+_0x2f48de[_0x54ce9c(0x4ad)];}_0x34ac44['convertOff'+_0x4b2f08(0x3df)+'ion']=_0x93d9cf,_0x34ac44[_0x4b2f08(0x1af)+'setsToRang'+'e']=_0x59cfae,_0x34ac44[_0x4b2f08(0x18f)+_0x4b2f08(0x3c6)+_0x4b2f08(0x1b3)]=_0x331eb8,_0x34ac44[_0x4b2f08(0x568)+_0x4b2f08(0x483)+'nge']=function(_0x1104cc,_0x152451){var _0x5575bf=_0x4b2f08;const _0x57b201=_0x331eb8(_0x1104cc[_0x5575bf(0x5e4)],_0x152451);if(void 0x0===_0x57b201)return;const _0x428962=_0x331eb8(_0x1104cc[_0x5575bf(0x582)],_0x152451);return void 0x0!==_0x428962?_0x43e465['TextRange'][_0x5575bf(0x5e8)](_0x57b201,_0x428962):void 0x0;},_0x34ac44['convertTex'+'tRangeToRa'+'nge']=function(_0xf49666,_0x58cca6){var _0x39f3f9=_0x4b2f08;return _0x59cfae(_0xf49666[_0x39f3f9(0x5e4)],_0x43e465[_0x39f3f9(0x182)]['getEnd'](_0xf49666),_0x58cca6);};},0x1a2a:(_0x39f2b4,_0x591f1e)=>{'use strict';var _0x1de3e4=a0_0x1bd9;var _0xeb299a,_0x190f3;function _0x28329e(_0x1115ee,_0x4a8344){var _0x1d6979=a0_0x1bd9;return _0x1115ee['line']<_0x4a8344[_0x1d6979(0x211)]?-0x1:_0x1115ee[_0x1d6979(0x211)]>_0x4a8344[_0x1d6979(0x211)]?0x1:_0x1115ee[_0x1d6979(0x4ad)]<_0x4a8344[_0x1d6979(0x4ad)]?-0x1:_0x1115ee[_0x1d6979(0x4ad)]>_0x4a8344[_0x1d6979(0x4ad)]?0x1:0x0;}function _0x327285(_0x436609,_0x53c9d8){return 0x0===_0x28329e(_0x436609,_0x53c9d8);}function _0x3351cc(_0x79e755){var _0x58bb4c=a0_0x1bd9;return 0x0===_0x79e755['character']&&0x0===_0x79e755[_0x58bb4c(0x211)];}function _0x365fd1(_0x11c443,_0x1f3597){var _0x478a99=a0_0x1bd9;_0x1f3597&&(Array[_0x478a99(0x172)](_0x1f3597)?_0x1f3597[_0x478a99(0x1d5)](_0x4a8b21=>{_0x365fd1(_0x11c443,_0x4a8b21);}):(_0x28329e(_0x1f3597[_0x478a99(0x5e4)],_0x11c443['start'])<0x0&&(_0x11c443[_0x478a99(0x5e4)]=_0x1f3597[_0x478a99(0x5e4)]),_0x28329e(_0x1f3597['end'],_0x11c443[_0x478a99(0x582)])>0x0&&(_0x11c443['end']=_0x1f3597[_0x478a99(0x582)])));}var _0x38b076={};_0x38b076['value']=!0x0,(Object[_0x1de3e4(0x36a)+'erty'](_0x591f1e,_0x1de3e4(0x47a),_0x38b076),_0x591f1e[_0x1de3e4(0x5c0)+'ge']=_0x591f1e[_0x1de3e4(0x3a3)+'e']=_0x591f1e[_0x1de3e4(0x2ec)+'ge']=_0x591f1e[_0x1de3e4(0x46a)+_0x1de3e4(0x240)]=_0x591f1e[_0x1de3e4(0x217)+_0x1de3e4(0x4a8)]=_0x591f1e[_0x1de3e4(0x243)+'qual']=_0x591f1e['positionsA'+_0x1de3e4(0x2b7)]=_0x591f1e[_0x1de3e4(0x4e2)+_0x1de3e4(0x43d)]=_0x591f1e[_0x1de3e4(0x347)+_0x1de3e4(0x155)]=_0x591f1e[_0x1de3e4(0x57d)+_0x1de3e4(0x1b7)]=_0x591f1e['getEmptyPo'+_0x1de3e4(0x2f1)]=_0x591f1e[_0x1de3e4(0x555)+_0x1de3e4(0x593)]=_0x591f1e[_0x1de3e4(0x36b)]=_0x591f1e[_0x1de3e4(0x4da)]=_0x591f1e['TextRange']=void 0x0,function(_0x3fca95){var _0x2c5e35=_0x1de3e4;function _0x1f4554(_0x5888d6,_0x43e8d1){var _0x2b0f0c=a0_0x1bd9;if(_0x5888d6<0x0)throw new Error(_0x2b0f0c(0x24f)+_0x2b0f0c(0x475)+_0x2b0f0c(0x450));if(_0x43e8d1<0x0)throw new Error(_0x2b0f0c(0x238)+'t\x20be\x20non-n'+_0x2b0f0c(0x50a));var _0x411d5a={};return _0x411d5a[_0x2b0f0c(0x5e4)]=_0x5888d6,_0x411d5a[_0x2b0f0c(0x262)]=_0x43e8d1,_0x411d5a;}function _0x59341b(_0x3dd7d8){var _0x5ccf8a=a0_0x1bd9;return _0x3dd7d8['start']+_0x3dd7d8[_0x5ccf8a(0x262)];}function _0x2d61c7(_0x19d723,_0xb5f30a){var _0x4587e2=a0_0x1bd9;return _0xb5f30a>=_0x19d723[_0x4587e2(0x5e4)]&&_0xb5f30a<=_0x59341b(_0x19d723);}function _0x3a175d(_0x38b777,_0x514a54){var _0x445063=a0_0x1bd9;_0x514a54&&(Array['isArray'](_0x514a54)?_0x514a54[_0x445063(0x1d5)](_0x508066=>{_0x3a175d(_0x38b777,_0x508066);}):(_0x514a54[_0x445063(0x5e4)]<_0x38b777[_0x445063(0x5e4)]&&(_0x38b777[_0x445063(0x262)]+=_0x38b777[_0x445063(0x5e4)]-_0x514a54['start'],_0x38b777['start']=_0x514a54['start']),_0x59341b(_0x514a54)>_0x59341b(_0x38b777)&&(_0x38b777[_0x445063(0x262)]+=_0x59341b(_0x514a54)-_0x59341b(_0x38b777))));}_0x3fca95[_0x2c5e35(0x52c)]=_0x1f4554,_0x3fca95[_0x2c5e35(0x5e8)]=function(_0x3a9dad,_0x12874b){var _0x233c64=_0x2c5e35;if(_0x3a9dad<0x0)throw new Error(_0x233c64(0x24f)+_0x233c64(0x475)+_0x233c64(0x450));if(_0x3a9dad>_0x12874b)throw new Error('end\x20must\x20b'+'e\x20greater\x20'+_0x233c64(0x453)+'ual\x20to\x20sta'+'rt');return _0x1f4554(_0x3a9dad,_0x12874b-_0x3a9dad);},_0x3fca95[_0x2c5e35(0x1be)]=_0x59341b,_0x3fca95['contains']=function(_0xd32b55,_0x2df481){var _0x4aad90=_0x2c5e35;return _0x2df481>=_0xd32b55[_0x4aad90(0x5e4)]&&_0x2df481<_0x59341b(_0xd32b55);},_0x3fca95['containsRa'+_0x2c5e35(0x4a8)]=function(_0x1cb5c4,_0x311098){var _0x19434a=_0x2c5e35;return _0x311098[_0x19434a(0x5e4)]>=_0x1cb5c4['start']&&_0x59341b(_0x311098)<=_0x59341b(_0x1cb5c4);},_0x3fca95[_0x2c5e35(0x402)]=_0x2d61c7,_0x3fca95[_0x2c5e35(0x14b)+'nge']=function(_0x24ea93,_0x4bedd7){var _0x204139=_0x2c5e35;return _0x2d61c7(_0x24ea93,_0x4bedd7[_0x204139(0x5e4)])||_0x2d61c7(_0x4bedd7,_0x24ea93[_0x204139(0x5e4)]);},_0x3fca95[_0x2c5e35(0x4b4)]=_0x3a175d,_0x3fca95[_0x2c5e35(0x362)]=function(_0x28f2c3){var _0x4dec1b=_0x2c5e35;if(0x0===_0x28f2c3[_0x4dec1b(0x262)])return;const _0x240bb3=_0x28f2c3[0x0];for(let _0x41aaac=0x1;_0x41aaac<_0x28f2c3[_0x4dec1b(0x262)];_0x41aaac++)_0x3a175d(_0x240bb3,_0x28f2c3[_0x41aaac]);return _0x240bb3;};}(_0x591f1e[_0x1de3e4(0x182)]||(_0x591f1e[_0x1de3e4(0x182)]={})),function(_0x115237){var _0x565ae0=_0x1de3e4;_0x115237['is']=function(_0x378369){var _0x534148=a0_0x1bd9;const _0x4e58b7=_0x378369;return _0x4e58b7&&void 0x0!==_0x4e58b7[_0x534148(0x211)]&&void 0x0!==_0x4e58b7[_0x534148(0x4ad)];},_0x115237[_0x565ae0(0x2c1)]=function(_0x548e62){var _0x329cc6=_0x565ae0;return'('+_0x548e62[_0x329cc6(0x211)]+':'+_0x548e62[_0x329cc6(0x4ad)]+')';};}(_0xeb299a=_0x591f1e[_0x1de3e4(0x4da)]||(_0x591f1e[_0x1de3e4(0x4da)]={})),(_0x190f3=_0x591f1e[_0x1de3e4(0x36b)]||(_0x591f1e[_0x1de3e4(0x36b)]={}))['is']=function(_0x4393af){var _0x5aab40=_0x1de3e4;const _0x502dbc=_0x4393af;return _0x502dbc&&void 0x0!==_0x502dbc[_0x5aab40(0x5e4)]&&void 0x0!==_0x502dbc[_0x5aab40(0x582)];},_0x190f3[_0x1de3e4(0x2c1)]=function(_0x3f8bef){var _0x129c7e=_0x1de3e4;return _0xeb299a[_0x129c7e(0x2c1)](_0x3f8bef[_0x129c7e(0x5e4)])+'-'+_0xeb299a['print'](_0x3f8bef[_0x129c7e(0x582)]);},_0x591f1e['comparePos'+'itions']=_0x28329e,_0x591f1e[_0x1de3e4(0x36e)+_0x1de3e4(0x2f1)]=function(){var _0x51cff6=_0x1de3e4,_0x34d333={};return _0x34d333[_0x51cff6(0x211)]=0x0,_0x34d333[_0x51cff6(0x4ad)]=0x0,_0x34d333;},_0x591f1e['doRangesOv'+_0x1de3e4(0x1b7)]=function(_0x3ce934,_0x1627d1){var _0x33cdce=_0x1de3e4;return!(_0x28329e(_0x1627d1[_0x33cdce(0x5e4)],_0x3ce934[_0x33cdce(0x582)])>=0x0||_0x28329e(_0x3ce934['start'],_0x1627d1[_0x33cdce(0x582)])>=0x0);},_0x591f1e[_0x1de3e4(0x347)+'tersect']=function(_0x193cca,_0xeb4c54){var _0x323371=_0x1de3e4;return!(_0x28329e(_0xeb4c54[_0x323371(0x5e4)],_0x193cca[_0x323371(0x582)])>0x0||_0x28329e(_0x193cca[_0x323371(0x5e4)],_0xeb4c54[_0x323371(0x582)])>0x0);},_0x591f1e[_0x1de3e4(0x4e2)+_0x1de3e4(0x43d)]=function _0x4e51fc(_0x24bdc1,_0x172cb2){var _0x156c1e=_0x1de3e4;return _0xeb299a['is'](_0x172cb2)?_0x28329e(_0x24bdc1[_0x156c1e(0x5e4)],_0x172cb2)<=0x0&&_0x28329e(_0x24bdc1[_0x156c1e(0x582)],_0x172cb2)>=0x0:_0x4e51fc(_0x24bdc1,_0x172cb2[_0x156c1e(0x5e4)])&&_0x4e51fc(_0x24bdc1,_0x172cb2['end']);},_0x591f1e[_0x1de3e4(0x4a9)+_0x1de3e4(0x2b7)]=_0x327285,_0x591f1e[_0x1de3e4(0x243)+'qual']=function(_0xfc2694,_0x1e96ab){var _0x452c19=_0x1de3e4;return _0x327285(_0xfc2694[_0x452c19(0x5e4)],_0x1e96ab[_0x452c19(0x5e4)])&&_0x327285(_0xfc2694[_0x452c19(0x582)],_0x1e96ab[_0x452c19(0x582)]);},_0x591f1e[_0x1de3e4(0x217)+_0x1de3e4(0x4a8)]=function(){var _0x1b6d9f=_0x1de3e4,_0x12670e={};_0x12670e[_0x1b6d9f(0x211)]=0x0,_0x12670e[_0x1b6d9f(0x4ad)]=0x0;var _0x2534fe={};_0x2534fe[_0x1b6d9f(0x211)]=0x0,_0x2534fe[_0x1b6d9f(0x4ad)]=0x0;var _0x5e0edf={};return _0x5e0edf[_0x1b6d9f(0x5e4)]=_0x12670e,_0x5e0edf[_0x1b6d9f(0x582)]=_0x2534fe,_0x5e0edf;},_0x591f1e[_0x1de3e4(0x46a)+'ition']=_0x3351cc,_0x591f1e['isEmptyRan'+'ge']=function(_0x331f1e){var _0x27b33a=_0x1de3e4;return _0x3351cc(_0x331f1e[_0x27b33a(0x5e4)])&&_0x3351cc(_0x331f1e[_0x27b33a(0x582)]);},_0x591f1e[_0x1de3e4(0x3a3)+'e']=_0x365fd1,_0x591f1e['combineRan'+'ge']=function(_0x48aaff){var _0x29156d=_0x1de3e4;if(0x0===_0x48aaff[_0x29156d(0x262)])return;const _0x4be325=_0x48aaff[0x0];for(let _0x1b22e7=0x1;_0x1b22e7<_0x48aaff['length'];_0x1b22e7++)_0x365fd1(_0x4be325,_0x48aaff[_0x1b22e7]);return _0x4be325;});},0x9a:(_0xd7cf53,_0x499889,_0x1c8568)=>{'use strict';var _0x459065=a0_0x1bd9;var _0x58f096={};_0x58f096[_0x459065(0x5a3)]=!0x0,(Object[_0x459065(0x36a)+_0x459065(0x487)](_0x499889,_0x459065(0x47a),_0x58f096),_0x499889[_0x459065(0x151)+'ollection']=void 0x0);const _0x563e85=_0x1c8568(0x1a2a);_0x499889[_0x459065(0x151)+_0x459065(0x5d5)]=class{constructor(_0x4aaaee){var _0x21cf11=_0x459065;this[_0x21cf11(0x396)]=_0x4aaaee;}get[_0x459065(0x5e4)](){var _0x1668c3=_0x459065;return this[_0x1668c3(0x396)]['length']>0x0?this[_0x1668c3(0x396)][0x0]['start']:0x0;}get[_0x459065(0x582)](){var _0x2feed9=_0x459065;const _0x5072ab=this[_0x2feed9(0x396)][this[_0x2feed9(0x396)]['length']-0x1];return this['_items'][_0x2feed9(0x262)]>0x0?_0x5072ab[_0x2feed9(0x5e4)]+_0x5072ab[_0x2feed9(0x262)]:0x0;}get[_0x459065(0x262)](){var _0x446c79=_0x459065;return this[_0x446c79(0x582)]-this[_0x446c79(0x5e4)];}get[_0x459065(0x4fb)](){var _0x153443=_0x459065;return this[_0x153443(0x396)][_0x153443(0x262)];}[_0x459065(0x388)](_0x2df5c7){var _0x5242fa=_0x459065;return _0x2df5c7>=this['start']&&_0x2df5c7=this[_0x106547(0x396)][_0x106547(0x262)])throw new Error(_0x106547(0x17b)+'ut\x20of\x20rang'+'e');return this['_items'][_0x2f7673];}[_0x459065(0x162)+'osition'](_0x80bdd2){var _0x21fce9=_0x459065;if(0x0===this[_0x21fce9(0x4fb)])return-0x1;if(_0x80bdd2this[_0x21fce9(0x582)])return-0x1;let _0x1f30fb=0x0,_0x595e8b=this['count']-0x1;for(;_0x1f30fb<_0x595e8b;){const _0x91b50c=Math[_0x21fce9(0x585)](_0x1f30fb+(_0x595e8b-_0x1f30fb)/0x2),_0x5f35ef=this[_0x21fce9(0x396)][_0x91b50c];if(_0x80bdd2>=_0x5f35ef[_0x21fce9(0x5e4)]&&(_0x91b50c>=this[_0x21fce9(0x4fb)]-0x1||_0x80bdd2this['end'])return-0x1;let _0x46dc13=0x0,_0x5e9208=this[_0x1a805e(0x4fb)]-0x1;for(;_0x46dc13<=_0x5e9208;){const _0x47c502=Math[_0x1a805e(0x585)](_0x46dc13+(_0x5e9208-_0x46dc13)/0x2),_0x179702=this[_0x1a805e(0x396)][_0x47c502];if(_0x563e85[_0x1a805e(0x182)][_0x1a805e(0x388)](_0x179702,_0x2ab482))return _0x47c502;if(_0x47c502{'use strict';var _0x439850=a0_0x1bd9;var _0xa6323={};_0xa6323[_0x439850(0x5a3)]=!0x0,(Object[_0x439850(0x36a)+'erty'](_0xee1e11,_0x439850(0x47a),_0xa6323),_0xee1e11[_0x439850(0x38b)+_0x439850(0x15e)]=void 0x0);const _0x3440d3=_0x5afafd(0x274);_0xee1e11[_0x439850(0x38b)+_0x439850(0x15e)]=class{constructor(_0x160587){var _0x1ea343=_0x439850;this['_text']=_0x160587,this[_0x1ea343(0x308)]=0x0,this[_0x1ea343(0x499)+'ar']=_0x160587['length']>0x0?_0x160587['charCodeAt'](0x0):0x0,this['_isEndOfSt'+'ream']=0x0===_0x160587[_0x1ea343(0x262)];}[_0x439850(0x360)](){var _0x3aeeda=_0x439850;return this[_0x3aeeda(0x1b2)];}get[_0x439850(0x39d)](){return this['_position'];}set[_0x439850(0x39d)](_0x1e6d61){var _0x4aeb5c=_0x439850;this[_0x4aeb5c(0x308)]=_0x1e6d61,this['_checkBoun'+'ds']();}get[_0x439850(0x3bd)+'r'](){var _0x36900d=_0x439850;return this[_0x36900d(0x499)+'ar'];}['getCurrent'+_0x439850(0x34f)](){var _0x533a77=_0x439850;return this[_0x533a77(0x499)+'ar'];}get['nextChar'](){var _0x10cd32=_0x439850;return this[_0x10cd32(0x39d)]+0x1=0x0?this[_0x62bf59(0x1b2)]['charCodeAt'](this[_0x62bf59(0x39d)]-0x1):0x0;}[_0x439850(0x560)+_0x439850(0x39c)](){var _0x4b96b6=_0x439850;return this[_0x4b96b6(0x413)+'ream'];}[_0x439850(0x1b0)](_0x92bd0d){var _0x357826=_0x439850;const _0x12da5f=this[_0x357826(0x308)]+_0x92bd0d;return _0x12da5f<0x0||_0x12da5f>=this[_0x357826(0x1b2)][_0x357826(0x262)]?0x0:this[_0x357826(0x1b2)][_0x357826(0x1c5)](_0x12da5f);}['advance'](_0x39a661){var _0x37005e=_0x439850;this[_0x37005e(0x39d)]+=_0x39a661;}['moveNext'](){var _0xb772b7=_0x439850;return this[_0xb772b7(0x308)]=this['_text'][_0x266aa7(0x262)],this[_0x266aa7(0x413)+_0x266aa7(0x2b3)]&&(this[_0x266aa7(0x308)]=this[_0x266aa7(0x1b2)]['length']),this[_0x266aa7(0x499)+'ar']=this[_0x266aa7(0x413)+_0x266aa7(0x2b3)]?0x0:this['_text'][_0x266aa7(0x1c5)](this['_position']);}};},0x274:function(_0xc2d4bb,_0x48a2c4,_0x25d7dc){'use strict';var _0x4e2b01=a0_0x1bd9;var _0x3dff80=this&&this[_0x4e2b01(0x3ff)+_0x4e2b01(0x429)]||(Object['create']?function(_0x380ac7,_0x973a96,_0x1385cf,_0xdb04f3){var _0x2905b4=_0x4e2b01;void 0x0===_0xdb04f3&&(_0xdb04f3=_0x1385cf),Object[_0x2905b4(0x36a)+'erty'](_0x380ac7,_0xdb04f3,{'enumerable':!0x0,'get':function(){return _0x973a96[_0x1385cf];}});}:function(_0x38a9b9,_0xeb13fa,_0x2a5c79,_0x9b0762){void 0x0===_0x9b0762&&(_0x9b0762=_0x2a5c79),_0x38a9b9[_0x9b0762]=_0xeb13fa[_0x2a5c79];}),_0x5bf302=this&&this[_0x4e2b01(0x493)+_0x4e2b01(0x2e5)]||(Object[_0x4e2b01(0x52c)]?function(_0x3d1515,_0x9c6604){var _0x3b5dde=_0x4e2b01,_0x306447={};_0x306447[_0x3b5dde(0x3b6)]=!0x0,_0x306447[_0x3b5dde(0x5a3)]=_0x9c6604,Object[_0x3b5dde(0x36a)+_0x3b5dde(0x487)](_0x3d1515,'default',_0x306447);}:function(_0x9f2c98,_0x1ad2fc){_0x9f2c98['default']=_0x1ad2fc;}),_0x459d7a=this&&this['__importSt'+'ar']||function(_0x28de3c){var _0x4dcf03=_0x4e2b01;if(_0x28de3c&&_0x28de3c[_0x4dcf03(0x47a)])return _0x28de3c;var _0xb02443={};if(null!=_0x28de3c){for(var _0x13bffb in _0x28de3c)_0x4dcf03(0x554)!==_0x13bffb&&Object['prototype'][_0x4dcf03(0x3c1)+_0x4dcf03(0x487)]['call'](_0x28de3c,_0x13bffb)&&_0x3dff80(_0xb02443,_0x28de3c,_0x13bffb);}return _0x5bf302(_0xb02443,_0x28de3c),_0xb02443;},_0x221ecf={};_0x221ecf[_0x4e2b01(0x5a3)]=!0x0,(Object[_0x4e2b01(0x36a)+_0x4e2b01(0x487)](_0x48a2c4,_0x4e2b01(0x47a),_0x221ecf),_0x48a2c4[_0x4e2b01(0x251)]=_0x48a2c4[_0x4e2b01(0x20b)]=_0x48a2c4[_0x4e2b01(0x30e)]=_0x48a2c4[_0x4e2b01(0x351)]=_0x48a2c4[_0x4e2b01(0x4d2)]=_0x48a2c4[_0x4e2b01(0x4a2)+'k']=_0x48a2c4['isWhiteSpa'+'ce']=_0x48a2c4[_0x4e2b01(0x23d)+_0x4e2b01(0x3f8)]=_0x48a2c4['isIdentifi'+_0x4e2b01(0x48b)]=_0x48a2c4[_0x4e2b01(0x535)+_0x4e2b01(0x49f)+'r']=void 0x0);const _0x2aa0a9=_0x459d7a(_0x25d7dc(0xd84));var _0x1ae281;!function(_0x5e4fd8){var _0x442950=_0x4e2b01;_0x5e4fd8[_0x5e4fd8[_0x442950(0x35e)+_0x442950(0x432)]=0x0]=_0x442950(0x35e)+'ierChar',_0x5e4fd8[_0x5e4fd8['StartIdent'+'ifierChar']=0x1]=_0x442950(0x188)+_0x442950(0x49e),_0x5e4fd8[_0x5e4fd8[_0x442950(0x3ea)+_0x442950(0x34f)]=0x2]='Identifier'+_0x442950(0x34f),_0x5e4fd8[_0x5e4fd8['SurrogateC'+_0x442950(0x143)]=0x3]='SurrogateC'+'har';}(_0x1ae281||(_0x1ae281={}));const _0x4d61de=0x100,_0x358a75=new Array(_0x4d61de),_0x109dc6={},_0x354ff0={};let _0x5e5b83=!0x1;function _0x30eea8(_0x3eaeed){return _0x3eaeed>=0x30&&_0x3eaeed<=0x39||0x5f===_0x3eaeed;}function _0x33ecf6(_0x51b518,_0x577fc6){var _0xa8b0b7=_0x4e2b01;if(_0x109dc6[_0x51b518]!==_0x1ae281[_0xa8b0b7(0x2d5)+_0xa8b0b7(0x143)])return _0x1ae281[_0xa8b0b7(0x35e)+_0xa8b0b7(0x432)];const _0x52e5f4=_0x354ff0[_0x51b518];return _0x52e5f4?_0x52e5f4[_0x577fc6]:_0x1ae281[_0xa8b0b7(0x35e)+'ierChar'];}_0x48a2c4[_0x4e2b01(0x535)+'erStartCha'+'r']=function(_0x5975ad,_0x2307a8){var _0x2307e3=_0x4e2b01;if(_0x5975ad<_0x4d61de)return _0x358a75[_0x5975ad]===_0x1ae281[_0x2307e3(0x188)+_0x2307e3(0x49e)];let _0x72ae44;return _0x5e5b83||(_0x3bc53a(!0x1),_0x5e5b83=!0x0),_0x72ae44=void 0x0!==_0x2307a8?_0x33ecf6(_0x5975ad,_0x2307a8):_0x109dc6[_0x5975ad],_0x72ae44===_0x1ae281['StartIdent'+_0x2307e3(0x49e)];},_0x48a2c4[_0x4e2b01(0x535)+_0x4e2b01(0x48b)]=function(_0x154c63,_0x1db215){var _0x1b480b=_0x4e2b01;return _0x154c63<_0x4d61de?_0x358a75[_0x154c63]===_0x1ae281[_0x1b480b(0x188)+_0x1b480b(0x49e)]||_0x358a75[_0x154c63]===_0x1ae281[_0x1b480b(0x3ea)+_0x1b480b(0x34f)]:(_0x5e5b83||(_0x3bc53a(!0x1),_0x5e5b83=!0x0),void 0x0!==_0x1db215?_0x33ecf6(_0x154c63,_0x1db215):_0x109dc6[_0x154c63]===_0x1ae281[_0x1b480b(0x188)+_0x1b480b(0x49e)]||_0x109dc6[_0x154c63]===_0x1ae281['Identifier'+_0x1b480b(0x34f)]);},_0x48a2c4[_0x4e2b01(0x23d)+_0x4e2b01(0x3f8)]=function(_0x48aad5){var _0x5a212a=_0x4e2b01;return!(_0x48aad5<_0x4d61de)&&(_0x5e5b83||(_0x3bc53a(!0x1),_0x5e5b83=!0x0),_0x109dc6[_0x48aad5]===_0x1ae281[_0x5a212a(0x2d5)+_0x5a212a(0x143)]);},_0x48a2c4[_0x4e2b01(0x5aa)+'ce']=function(_0x425a29){return 0x20===_0x425a29||0x9===_0x425a29||0xc===_0x425a29;},_0x48a2c4['isLineBrea'+'k']=function(_0x35bcc8){return 0xd===_0x35bcc8||0xa===_0x35bcc8;},_0x48a2c4[_0x4e2b01(0x4d2)]=function(_0x2a4940){return _0x2a4940>=0x30&&_0x2a4940<=0x39||0x5f===_0x2a4940;},_0x48a2c4[_0x4e2b01(0x351)]=_0x30eea8,_0x48a2c4['isHex']=function(_0x340b2c){return _0x30eea8(_0x340b2c)||_0x340b2c>=0x61&&_0x340b2c<=0x66||_0x340b2c>=0x41&&_0x340b2c<=0x46||0x5f===_0x340b2c;},_0x48a2c4[_0x4e2b01(0x20b)]=function(_0x311a76){return _0x311a76>=0x30&&_0x311a76<=0x37||0x5f===_0x311a76;},_0x48a2c4[_0x4e2b01(0x251)]=function(_0xe54974){return 0x30===_0xe54974||0x31===_0xe54974||0x5f===_0xe54974;};const _0x7c4722=[[0x5f,0x1885,0x1886,0x2118,0x212e,0x309b,0x309c],_0x2aa0a9['unicodeLu'],_0x2aa0a9[_0x4e2b01(0x3e9)],_0x2aa0a9[_0x4e2b01(0x4c9)],_0x2aa0a9[_0x4e2b01(0x54e)],_0x2aa0a9[_0x4e2b01(0x298)],_0x2aa0a9[_0x4e2b01(0x580)]],_0x517465=[_0x2aa0a9[_0x4e2b01(0x47b)+'urrogate'],_0x2aa0a9[_0x4e2b01(0x4c6)+_0x4e2b01(0x378)],_0x2aa0a9[_0x4e2b01(0x30d)+'urrogate'],_0x2aa0a9[_0x4e2b01(0x1a4)+'urrogate'],_0x2aa0a9['unicodeNlS'+_0x4e2b01(0x378)]],_0x4fb072=[[0xb7,0x387,0x1369,0x136a,0x136b,0x136c,0x136d,0x136e,0x136f,0x1370,0x1371,0x19da],_0x2aa0a9[_0x4e2b01(0x12c)],_0x2aa0a9[_0x4e2b01(0x169)],_0x2aa0a9[_0x4e2b01(0x2fd)],_0x2aa0a9[_0x4e2b01(0x4e7)]],_0x4114de=[_0x2aa0a9[_0x4e2b01(0x4f5)+_0x4e2b01(0x378)],_0x2aa0a9['unicodeMcS'+_0x4e2b01(0x378)],_0x2aa0a9[_0x4e2b01(0x3b1)+'urrogate']];function _0x427d55(_0x517aef,_0x39d2b4,_0x5e8bd4,_0x30a096,_0x18eb95){var _0x47fbfc=_0x4e2b01;for(let _0xa2654a=0x0;_0xa2654a<_0x517aef[_0x47fbfc(0x262)];_0xa2654a++){const _0x4fd901=_0x517aef[_0xa2654a];let _0xd36fe1,_0x5c57f4;Array['isArray'](_0x4fd901)?(_0xd36fe1=_0x4fd901[0x0],_0x5c57f4=_0x4fd901[0x1]):_0xd36fe1=_0x5c57f4=_0x4fd901;for(let _0x2b39a5=_0xd36fe1;_0x2b39a5<=_0x5c57f4;_0x2b39a5++)_0x2b39a5<_0x4d61de?_0x30a096[_0x2b39a5]=_0x39d2b4:_0x18eb95[_0x2b39a5]=_0x39d2b4;if(_0x5e8bd4&&_0xd36fe1>=_0x4d61de)break;}}function _0x57cb56(_0x249176,_0x1b7683){var _0x4ef3e0=_0x4e2b01;for(const _0x177aec in _0x249176)_0x354ff0[_0x177aec]||(_0x354ff0[_0x177aec]={},_0x109dc6[_0x177aec]=_0x1ae281[_0x4ef3e0(0x2d5)+_0x4ef3e0(0x143)]),_0x427d55(_0x249176[_0x177aec],_0x1b7683,!0x1,_0x354ff0[_0x177aec],_0x354ff0[_0x177aec]);}function _0x3bc53a(_0x1fc6b1){var _0x57e4dc=_0x4e2b01;if(_0x358a75[_0x57e4dc(0x443)](_0x1ae281[_0x57e4dc(0x35e)+_0x57e4dc(0x432)]),_0x4fb072[_0x57e4dc(0x1d5)](_0x74cb70=>{var _0x4b4b2e=_0x57e4dc;_0x427d55(_0x74cb70,_0x1ae281[_0x4b4b2e(0x3ea)+_0x4b4b2e(0x34f)],_0x1fc6b1,_0x358a75,_0x109dc6);}),_0x7c4722['forEach'](_0x3ffdac=>{var _0x1f48c8=_0x57e4dc;_0x427d55(_0x3ffdac,_0x1ae281[_0x1f48c8(0x188)+_0x1f48c8(0x49e)],_0x1fc6b1,_0x358a75,_0x109dc6);}),!_0x1fc6b1){for(const _0x2f1602 of _0x4114de)_0x57cb56(_0x2f1602,_0x1ae281[_0x57e4dc(0x3ea)+_0x57e4dc(0x34f)]);for(const _0xd63127 of _0x517465)_0x57cb56(_0xd63127,_0x1ae281[_0x57e4dc(0x188)+_0x57e4dc(0x49e)]);}}_0x3bc53a(!0x0);},0xa32:(_0x4a5027,_0x472688,_0x3cf0d0)=>{'use strict';var _0xcb246=a0_0x1bd9;var _0x25f9e4={};_0x25f9e4[_0xcb246(0x5a3)]=!0x0,(Object['defineProp'+_0xcb246(0x487)](_0x472688,_0xcb246(0x47a),_0x25f9e4),_0x472688[_0xcb246(0x4ec)]=_0x472688[_0xcb246(0x5a9)+_0xcb246(0x50e)]=void 0x0);var _0x657c76={};_0x657c76['0']=0x3,_0x657c76['1']=0x4,_0x657c76['2']=0x4,_0x657c76['3']=0x2,_0x657c76['4']=0x4,_0x657c76['5']=0x1,_0x657c76['6']=0x2,_0x657c76['7']=0x4,_0x657c76['8']=0x2,_0x657c76['9']=0x4,_0x657c76['10']=0x2,_0x657c76['11']=0x4,_0x657c76['12']=0xa,_0x657c76['13']=0x2,_0x657c76['14']=0x4,_0x657c76['15']=0xa,_0x657c76['16']=0xa,_0x657c76['17']=0x2,_0x657c76['18']=0x4,_0x657c76['19']=0x1a,_0x657c76['20']=0xa,_0x657c76['21']=0xa,_0x657c76['22']=0x2,_0x657c76['23']=0x4,_0x657c76['24']=0x2,_0x657c76['25']=0x4,_0x657c76['26']=0x2,_0x657c76['27']=0x4,_0x657c76['28']=0xa,_0x657c76['29']=0x2,_0x657c76['30']=0x4,_0x657c76['31']=0x2,_0x657c76['32']=0x4,_0x657c76['33']=0x2,_0x657c76['34']=0x4,_0x657c76['36']=0x2,_0x657c76['37']=0x2,_0x657c76['38']=0x1,_0x657c76['39']=0x2,_0x657c76['40']=0x2,_0x657c76['41']=0x2,_0x657c76['42']=0x2;const _0x33d509=_0x3cf0d0(0x9a),_0x9f6263=_0x3cf0d0(0x274),_0x1db4ba=_0x3cf0d0(0x2626),_0x1e8e0a=_0x3cf0d0(0xa36),_0x22c9b8=new Map([[_0xcb246(0x19f),0x0],['as',0x1],['assert',0x2],[_0xcb246(0x4e9),0x3],[_0xcb246(0x3da),0x4],[_0xcb246(0x333),0x5],[_0xcb246(0x3bc),0x6],['class',0x7],['continue',0x8],[_0xcb246(0x4af),0x9],[_0xcb246(0x2b4),0xa],['del',0xb],[_0xcb246(0x5d8),0xc],['else',0xd],[_0xcb246(0x5bc),0xe],[_0xcb246(0x502),0x10],[_0xcb246(0x4b7),0x11],[_0xcb246(0x1cc),0x12],['global',0x13],['if',0x14],[_0xcb246(0x2ce),0x15],['in',0x16],['is',0x17],[_0xcb246(0x301),0x18],[_0xcb246(0x166),0x19],['nonlocal',0x1b],[_0xcb246(0x327),0x1c],['or',0x1d],[_0xcb246(0x4cc),0x1e],[_0xcb246(0x40f),0x1f],[_0xcb246(0x532),0x20],[_0xcb246(0x1d0),0x22],[_0xcb246(0x14c),0x23],[_0xcb246(0x191),0x24],[_0xcb246(0x1ae),0x25],[_0xcb246(0x2d1),0xf],[_0xcb246(0x418),0x1a],['True',0x21]]),_0x57eac5=_0x657c76;_0x472688[_0xcb246(0x5a9)+_0xcb246(0x50e)]=0x8,_0x472688[_0xcb246(0x4ec)]=class{constructor(){var _0x3aae33=_0xcb246;this[_0x3aae33(0x534)]=new _0x1db4ba[(_0x3aae33(0x38b))+(_0x3aae33(0x15e))](''),this[_0x3aae33(0x563)]=[],this[_0x3aae33(0x3af)+'tart']=0x0,this[_0x3aae33(0x2ff)+'h']=0x0,this['_lineRange'+'s']=[],this[_0x3aae33(0x1cd)+_0x3aae33(0x24e)]=[],this[_0x3aae33(0x1bc)+_0x3aae33(0x40b)]=new Map(),this['_pyrightIg'+_0x3aae33(0x482)]=new Map(),this[_0x3aae33(0x14e)]=0x0,this['_crLfCount']=0x0,this[_0x3aae33(0x565)]=0x0,this['_indentCou'+'nt']=0x0,this[_0x3aae33(0x44d)+_0x3aae33(0x257)]=0x0,this[_0x3aae33(0x1d2)+_0x3aae33(0x3d1)]=0x0,this['_singleQuo'+_0x3aae33(0x5de)]=0x0,this[_0x3aae33(0x444)+_0x3aae33(0x5de)]=0x0,this['_ipythonMo'+'de']=!0x1;}[_0xcb246(0x361)](_0x566da2,_0x5d9ab0,_0x369db3,_0x19b8b6=0x0,_0x832dbd=!0x1){var _0x102e9e=_0xcb246;if(void 0x0===_0x5d9ab0)_0x5d9ab0=0x0;else{if(_0x5d9ab0<0x0||_0x5d9ab0>_0x566da2[_0x102e9e(0x262)])throw new Error('Invalid\x20ra'+_0x102e9e(0x267));}if(void 0x0===_0x369db3)_0x369db3=_0x566da2[_0x102e9e(0x262)];else{if(_0x369db3<0x0||_0x5d9ab0+_0x369db3>_0x566da2[_0x102e9e(0x262)])throw new Error('Invalid\x20ra'+_0x102e9e(0x190));_0x5d9ab0+_0x369db3<_0x566da2[_0x102e9e(0x262)]&&(_0x566da2=_0x566da2[_0x102e9e(0x341)](0x0,_0x5d9ab0+_0x369db3));}this[_0x102e9e(0x534)]=new _0x1db4ba[(_0x102e9e(0x38b))+(_0x102e9e(0x15e))](_0x566da2),this[_0x102e9e(0x534)][_0x102e9e(0x39d)]=_0x5d9ab0,this[_0x102e9e(0x563)]=[],this[_0x102e9e(0x3af)+_0x102e9e(0x3b8)]=0x0,this[_0x102e9e(0x2ff)+'h']=_0x19b8b6,this[_0x102e9e(0x5a5)+'s']=[],this['_indentAmo'+_0x102e9e(0x24e)]=[],this['_ipythonMo'+'de']=_0x832dbd;const _0xe60620=_0x5d9ab0+_0x369db3;for(0x0===_0x5d9ab0&&this['_readInden'+'tationAfte'+'rNewLine']();!(this[_0x102e9e(0x534)]['isEndOfStr'+'eam']()||(this[_0x102e9e(0x55f)+_0x102e9e(0x343)](),this['_cs']['position']>=_0xe60620)););0x0!==this[_0x102e9e(0x563)][_0x102e9e(0x262)]&&0x2===this['_tokens'][this[_0x102e9e(0x563)][_0x102e9e(0x262)]-0x1][_0x102e9e(0x35f)]||this['_tokens'][_0x102e9e(0x492)](_0x1e8e0a['NewLineTok'+'en'][_0x102e9e(0x52c)](this[_0x102e9e(0x534)][_0x102e9e(0x39d)],0x0,0x3,this[_0x102e9e(0x591)+'ts']())),this[_0x102e9e(0x1ca)](0x0,0x0,!0x1,!0x1),this[_0x102e9e(0x563)][_0x102e9e(0x492)](_0x1e8e0a[_0x102e9e(0x596)][_0x102e9e(0x52c)](0x1,this[_0x102e9e(0x534)][_0x102e9e(0x39d)],0x0,this[_0x102e9e(0x591)+'ts']())),this['_addLineRa'+_0x102e9e(0x4a8)]();let _0xee5e93='\x0a';this[_0x102e9e(0x14e)]>this[_0x102e9e(0x2a9)]&&this[_0x102e9e(0x14e)]>this['_lfCount']?_0xee5e93='\x0d':this[_0x102e9e(0x2a9)]>this[_0x102e9e(0x14e)]&&this['_crLfCount']>this[_0x102e9e(0x565)]&&(_0xee5e93='\x0d\x0a');let _0x1ae360=_0x102e9e(0x523);if(this[_0x102e9e(0x44d)+'Count']>this[_0x102e9e(0x38d)+'nt']/0x2)_0x1ae360='\x09';else{if(this[_0x102e9e(0x38d)+'nt']>0x0){let _0x5934f6=Math[_0x102e9e(0x39f)](this[_0x102e9e(0x1d2)+_0x102e9e(0x3d1)]/this['_indentCou'+'nt']);_0x5934f6<0x1?_0x5934f6=0x1:_0x5934f6>_0x472688[_0x102e9e(0x5a9)+'Size']&&(_0x5934f6=_0x472688[_0x102e9e(0x5a9)+_0x102e9e(0x50e)]),_0x1ae360='';for(let _0xfba1b1=0x0;_0xfba1b1<_0x5934f6;_0xfba1b1++)_0x1ae360+='\x20';}}return{'tokens':new _0x33d509[(_0x102e9e(0x151))+(_0x102e9e(0x5d5))](this[_0x102e9e(0x563)]),'lines':new _0x33d509[(_0x102e9e(0x151))+(_0x102e9e(0x5d5))](this[_0x102e9e(0x5a5)+'s']),'typeIgnoreLines':this[_0x102e9e(0x1bc)+'eLines'],'typeIgnoreAll':this[_0x102e9e(0x1bc)+_0x102e9e(0x1b5)],'pyrightIgnoreLines':this[_0x102e9e(0x156)+_0x102e9e(0x482)],'predominantEndOfLineSequence':_0xee5e93,'predominantTabSequence':_0x1ae360,'predominantSingleQuoteCharacter':this['_singleQuo'+_0x102e9e(0x5de)]>=this[_0x102e9e(0x444)+_0x102e9e(0x5de)]?'\x27':'\x22'};}static[_0xcb246(0x55a)+'rInfo'](_0x5f14b8){return _0x57eac5[_0x5f14b8];}static[_0xcb246(0x1e9)+_0xcb246(0x1fc)](_0x3905e7){return void 0x0!==_0x3905e7&&void 0x0!==_0x57eac5[_0x3905e7]&&0x0!=(0x4&_0x57eac5[_0x3905e7]);}static[_0xcb246(0x1e9)+_0xcb246(0x134)](_0x57ea84){return void 0x0!==_0x57ea84&&void 0x0!==_0x57eac5[_0x57ea84]&&0x0!=(0x8&_0x57eac5[_0x57ea84]);}['_addNextTo'+'ken'](){var _0x68558e=_0xcb246;this[_0x68558e(0x534)][_0x68558e(0x2bd)+_0x68558e(0x5a1)](),this[_0x68558e(0x534)][_0x68558e(0x560)+'eam']()||this[_0x68558e(0x285)+_0x68558e(0x2e8)]()||this[_0x68558e(0x534)][_0x68558e(0x3f4)]();}[_0xcb246(0x285)+_0xcb246(0x2e8)](){var _0x29753d=_0xcb246;const _0x355e6a=this['_getString'+_0x29753d(0x4ff)+'th']();if(_0x355e6a>=0x0){let _0x1e2cd2='';_0x355e6a>0x0&&(_0x1e2cd2=this[_0x29753d(0x534)][_0x29753d(0x360)]()['substr'](this[_0x29753d(0x534)]['position'],_0x355e6a),this[_0x29753d(0x534)][_0x29753d(0x4bb)](_0x355e6a));const _0x1d3a37=this['_getQuoteT'+_0x29753d(0x180)](_0x1e2cd2);if(0x0!==_0x1d3a37)return this[_0x29753d(0x303)+'ing'](_0x1d3a37,_0x355e6a),!0x0;}if(0x23===this['_cs'][_0x29753d(0x3bd)+'r'])return this['_handleCom'+_0x29753d(0x365)](),!0x0;if(this[_0x29753d(0x17d)+'de']&&this[_0x29753d(0x176)+_0x29753d(0x3cb)]())return this[_0x29753d(0x3ce)+_0x29753d(0x13e)](0x25===this['_cs'][_0x29753d(0x3bd)+'r']?0x1:0x2),!0x0;switch(this[_0x29753d(0x534)][_0x29753d(0x3bd)+'r']){case 0xfeff:return 0x0!==this[_0x29753d(0x534)]['position']&&this['_handleInv'+'alid']();case 0xd:{const _0x5ecc64=0xa===this[_0x29753d(0x534)][_0x29753d(0x3c3)]?0x2:0x1,_0x355941=0x2===_0x5ecc64?0x2:0x0;return this[_0x29753d(0x17c)+_0x29753d(0x245)](_0x5ecc64,_0x355941),!0x0;}case 0xa:return this[_0x29753d(0x17c)+_0x29753d(0x245)](0x1,0x1),!0x0;case 0x5c:return 0xd===this[_0x29753d(0x534)][_0x29753d(0x3c3)]?(0xa===this['_cs'][_0x29753d(0x1b0)](0x2)?this[_0x29753d(0x534)]['advance'](0x3):this['_cs'][_0x29753d(0x4bb)](0x2),this[_0x29753d(0x198)+'nge'](),!0x0):0xa===this[_0x29753d(0x534)]['nextChar']?(this['_cs']['advance'](0x2),this[_0x29753d(0x198)+_0x29753d(0x4a8)](),!0x0):this['_handleInv'+_0x29753d(0x4c1)]();case 0x28:this['_parenDept'+'h']++,this[_0x29753d(0x563)]['push'](_0x1e8e0a['Token'][_0x29753d(0x52c)](0xd,this[_0x29753d(0x534)]['position'],0x1,this[_0x29753d(0x591)+'ts']()));break;case 0x29:this[_0x29753d(0x2ff)+'h']>0x0&&this[_0x29753d(0x2ff)+'h']--,this[_0x29753d(0x563)][_0x29753d(0x492)](_0x1e8e0a[_0x29753d(0x596)][_0x29753d(0x52c)](0xe,this[_0x29753d(0x534)][_0x29753d(0x39d)],0x1,this[_0x29753d(0x591)+'ts']()));break;case 0x5b:this[_0x29753d(0x2ff)+'h']++,this['_tokens']['push'](_0x1e8e0a[_0x29753d(0x596)][_0x29753d(0x52c)](0xf,this[_0x29753d(0x534)][_0x29753d(0x39d)],0x1,this[_0x29753d(0x591)+'ts']()));break;case 0x5d:this[_0x29753d(0x2ff)+'h']>0x0&&this[_0x29753d(0x2ff)+'h']--,this[_0x29753d(0x563)][_0x29753d(0x492)](_0x1e8e0a[_0x29753d(0x596)][_0x29753d(0x52c)](0x10,this[_0x29753d(0x534)][_0x29753d(0x39d)],0x1,this[_0x29753d(0x591)+'ts']()));break;case 0x7b:this[_0x29753d(0x2ff)+'h']++,this[_0x29753d(0x563)][_0x29753d(0x492)](_0x1e8e0a[_0x29753d(0x596)][_0x29753d(0x52c)](0x11,this[_0x29753d(0x534)]['position'],0x1,this[_0x29753d(0x591)+'ts']()));break;case 0x7d:this['_parenDept'+'h']>0x0&&this[_0x29753d(0x2ff)+'h']--,this[_0x29753d(0x563)][_0x29753d(0x492)](_0x1e8e0a['Token'][_0x29753d(0x52c)](0x12,this['_cs'][_0x29753d(0x39d)],0x1,this[_0x29753d(0x591)+'ts']()));break;case 0x2c:this['_tokens'][_0x29753d(0x492)](_0x1e8e0a[_0x29753d(0x596)]['create'](0xc,this['_cs'][_0x29753d(0x39d)],0x1,this[_0x29753d(0x591)+'ts']()));break;case 0x60:this[_0x29753d(0x563)][_0x29753d(0x492)](_0x1e8e0a[_0x29753d(0x596)]['create'](0x16,this[_0x29753d(0x534)][_0x29753d(0x39d)],0x1,this['_getCommen'+'ts']()));break;case 0x3b:this['_tokens'][_0x29753d(0x492)](_0x1e8e0a[_0x29753d(0x596)]['create'](0xb,this['_cs'][_0x29753d(0x39d)],0x1,this[_0x29753d(0x591)+'ts']()));break;case 0x3a:if(0x3d===this[_0x29753d(0x534)]['nextChar']){this['_tokens'][_0x29753d(0x492)](_0x1e8e0a['OperatorTo'+_0x29753d(0x343)][_0x29753d(0x52c)](this['_cs'][_0x29753d(0x39d)],0x2,0x23,this[_0x29753d(0x591)+'ts']())),this[_0x29753d(0x534)][_0x29753d(0x4bb)](0x1);break;}this['_tokens'][_0x29753d(0x492)](_0x1e8e0a[_0x29753d(0x596)][_0x29753d(0x52c)](0xa,this[_0x29753d(0x534)][_0x29753d(0x39d)],0x1,this[_0x29753d(0x591)+'ts']()));break;default:if(this[_0x29753d(0x5a0)+_0x29753d(0x5c3)]()&&this[_0x29753d(0x1fa)]())return!0x0;if(0x2e===this[_0x29753d(0x534)]['currentCha'+'r']){if(0x2e===this[_0x29753d(0x534)][_0x29753d(0x3c3)]&&0x2e===this['_cs']['lookAhead'](0x2))return this[_0x29753d(0x563)][_0x29753d(0x492)](_0x1e8e0a[_0x29753d(0x596)][_0x29753d(0x52c)](0x13,this[_0x29753d(0x534)][_0x29753d(0x39d)],0x3,this[_0x29753d(0x591)+'ts']())),this[_0x29753d(0x534)][_0x29753d(0x4bb)](0x3),!0x0;this[_0x29753d(0x563)][_0x29753d(0x492)](_0x1e8e0a[_0x29753d(0x596)][_0x29753d(0x52c)](0x14,this[_0x29753d(0x534)][_0x29753d(0x39d)],0x1,this[_0x29753d(0x591)+'ts']()));break;}return!(!this[_0x29753d(0x460)+_0x29753d(0x221)]()&&!this[_0x29753d(0x28f)+'or']())||this[_0x29753d(0x36d)+_0x29753d(0x4c1)]();}return!0x1;}[_0xcb246(0x198)+'nge'](){var _0x1f1904=_0xcb246;const _0x5b50a5=this[_0x1f1904(0x534)]['position']-this[_0x1f1904(0x3af)+_0x1f1904(0x3b8)];_0x5b50a5>0x0&&this[_0x1f1904(0x5a5)+'s'][_0x1f1904(0x492)]({'start':this['_prevLineS'+_0x1f1904(0x3b8)],'length':_0x5b50a5}),this[_0x1f1904(0x3af)+_0x1f1904(0x3b8)]=this[_0x1f1904(0x534)]['position'];}[_0xcb246(0x17c)+_0xcb246(0x245)](_0x8c8e5e,_0x175fcc){var _0x5f032b=_0xcb246;0x0===this[_0x5f032b(0x2ff)+'h']&&0x3!==_0x175fcc&&(0x0!==this[_0x5f032b(0x563)][_0x5f032b(0x262)]&&0x2===this[_0x5f032b(0x563)][this['_tokens'][_0x5f032b(0x262)]-0x1][_0x5f032b(0x35f)]||this['_tokens'][_0x5f032b(0x492)](_0x1e8e0a[_0x5f032b(0x540)+'en'][_0x5f032b(0x52c)](this[_0x5f032b(0x534)][_0x5f032b(0x39d)],_0x8c8e5e,_0x175fcc,this['_getCommen'+'ts']()))),0x0===_0x175fcc?this[_0x5f032b(0x14e)]++:0x2===_0x175fcc?this['_crLfCount']++:this[_0x5f032b(0x565)]++,this[_0x5f032b(0x534)]['advance'](_0x8c8e5e),this[_0x5f032b(0x198)+_0x5f032b(0x4a8)](),this['_readInden'+'tationAfte'+_0x5f032b(0x392)]();}[_0xcb246(0x165)+'tationAfte'+'rNewLine'](){var _0x45f528=_0xcb246;let _0x4c78c7=0x0,_0x2cba65=0x0,_0x438b3b=!0x1,_0x539fea=!0x1;for(;!this[_0x45f528(0x534)][_0x45f528(0x560)+_0x45f528(0x39c)]();)switch(this[_0x45f528(0x534)][_0x45f528(0x3bd)+'r']){case 0x20:_0x4c78c7++,_0x2cba65++,_0x539fea=!0x0,this['_cs']['moveNext']();break;case 0x9:_0x4c78c7++,_0x2cba65+=_0x472688[_0x45f528(0x5a9)+'Size']-_0x2cba65%_0x472688[_0x45f528(0x5a9)+_0x45f528(0x50e)],_0x438b3b=!0x0,this[_0x45f528(0x534)][_0x45f528(0x3f4)]();break;case 0xc:_0x4c78c7=0x0,_0x2cba65=0x0,_0x438b3b=!0x1,_0x539fea=!0x1,this[_0x45f528(0x534)][_0x45f528(0x3f4)]();break;default:return void this[_0x45f528(0x1ca)](_0x4c78c7,_0x2cba65,_0x539fea,_0x438b3b);case 0x23:case 0xa:case 0xd:return;}}[_0xcb246(0x1ca)](_0x526d1c,_0x17e611,_0x5c99e6,_0x59beb2){var _0x64040c=_0xcb246;if(!(this[_0x64040c(0x2ff)+'h']>0x0)){if(0x0===this['_indentAmo'+'unts']['length'])_0x17e611>0x0&&(this[_0x64040c(0x38d)+'nt']++,_0x59beb2&&this[_0x64040c(0x44d)+_0x64040c(0x257)]++,this['_indentSpa'+_0x64040c(0x3d1)]+=_0x17e611,this[_0x64040c(0x1cd)+_0x64040c(0x24e)]['push']({'tab1Spaces':_0x526d1c,'tab8Spaces':_0x17e611,'isSpacePresent':_0x5c99e6,'isTabPresent':_0x59beb2}),this[_0x64040c(0x563)][_0x64040c(0x492)](_0x1e8e0a[_0x64040c(0x2e7)+'n'][_0x64040c(0x52c)](this[_0x64040c(0x534)][_0x64040c(0x39d)],0x0,_0x17e611,!0x1,this['_getCommen'+'ts']())));else{const _0x47d4ab=this[_0x64040c(0x1cd)+_0x64040c(0x24e)][this[_0x64040c(0x1cd)+'unts'][_0x64040c(0x262)]-0x1];if(_0x47d4ab['tab8Spaces']<_0x17e611){const _0x37d2cb=(_0x47d4ab['isSpacePre'+_0x64040c(0x58e)]&&_0x59beb2||_0x47d4ab[_0x64040c(0x38a)+'nt']&&_0x5c99e6)&&_0x47d4ab[_0x64040c(0x2b9)]>=_0x526d1c;this[_0x64040c(0x38d)+'nt']++,_0x59beb2&&this['_indentTab'+_0x64040c(0x257)]++,this[_0x64040c(0x1d2)+_0x64040c(0x3d1)]+=_0x17e611-this[_0x64040c(0x1cd)+_0x64040c(0x24e)][this[_0x64040c(0x1cd)+_0x64040c(0x24e)]['length']-0x1][_0x64040c(0x435)],this[_0x64040c(0x1cd)+_0x64040c(0x24e)][_0x64040c(0x492)]({'tab1Spaces':_0x526d1c,'tab8Spaces':_0x17e611,'isSpacePresent':_0x5c99e6,'isTabPresent':_0x59beb2}),this[_0x64040c(0x563)][_0x64040c(0x492)](_0x1e8e0a[_0x64040c(0x2e7)+'n'][_0x64040c(0x52c)](this[_0x64040c(0x534)][_0x64040c(0x39d)],0x0,_0x17e611,_0x37d2cb,this[_0x64040c(0x591)+'ts']()));}else{if(_0x47d4ab[_0x64040c(0x435)]===_0x17e611)(_0x47d4ab[_0x64040c(0x19a)+_0x64040c(0x58e)]&&_0x59beb2||_0x47d4ab[_0x64040c(0x38a)+'nt']&&_0x5c99e6)&&this[_0x64040c(0x563)][_0x64040c(0x492)](_0x1e8e0a['IndentToke'+'n']['create'](this['_cs']['position'],0x0,_0x17e611,!0x0,this[_0x64040c(0x591)+'ts']()));else{let _0x56800f=_0x47d4ab['isSpacePre'+'sent']&&_0x59beb2||_0x47d4ab[_0x64040c(0x38a)+'nt']&&_0x5c99e6;const _0x275de4=[];for(;this[_0x64040c(0x1cd)+_0x64040c(0x24e)][_0x64040c(0x262)]>0x0&&this[_0x64040c(0x1cd)+_0x64040c(0x24e)][this[_0x64040c(0x1cd)+_0x64040c(0x24e)]['length']-0x1]['tab8Spaces']>_0x17e611;)_0x275de4[_0x64040c(0x492)](this[_0x64040c(0x1cd)+_0x64040c(0x24e)]['length']>0x1?this[_0x64040c(0x1cd)+_0x64040c(0x24e)][this[_0x64040c(0x1cd)+_0x64040c(0x24e)][_0x64040c(0x262)]-0x2][_0x64040c(0x435)]:0x0),this['_indentAmo'+_0x64040c(0x24e)][_0x64040c(0x296)]();_0x275de4['forEach']((_0x5b7474,_0x4ad946)=>{var _0xc7d398=_0x64040c;const _0x342e30=_0x4ad946<_0x275de4['length']-0x1||_0x5b7474===_0x17e611,_0x552727=_0x4ad946<_0x275de4['length']-0x1?_0x5b7474:_0x17e611;this[_0xc7d398(0x563)]['push'](_0x1e8e0a[_0xc7d398(0x5be)+'n']['create'](this[_0xc7d398(0x534)][_0xc7d398(0x39d)],0x0,_0x552727,_0x342e30,_0x56800f,this['_getCommen'+'ts']())),_0x56800f=!0x1;});}}}}}[_0xcb246(0x460)+_0xcb246(0x221)](){var _0x1700f0=_0xcb246;const _0x1ac5fd=()=>{var _0x13cb03=a0_0x1bd9;for(;;)if((0x0,_0x9f6263['isIdentifi'+'erChar'])(this[_0x13cb03(0x534)][_0x13cb03(0x3bd)+'r']))this['_cs'][_0x13cb03(0x3f4)]();else{if(!(0x0,_0x9f6263[_0x13cb03(0x535)+_0x13cb03(0x48b)])(this[_0x13cb03(0x534)][_0x13cb03(0x3bd)+'r'],this[_0x13cb03(0x534)]['nextChar']))break;this[_0x13cb03(0x534)][_0x13cb03(0x3f4)](),this[_0x13cb03(0x534)][_0x13cb03(0x3f4)]();}},_0x1cc267=this['_cs'][_0x1700f0(0x39d)];if((0x0,_0x9f6263[_0x1700f0(0x535)+_0x1700f0(0x49f)+'r'])(this[_0x1700f0(0x534)][_0x1700f0(0x3bd)+'r'])?(this['_cs'][_0x1700f0(0x3f4)](),_0x1ac5fd()):(0x0,_0x9f6263[_0x1700f0(0x535)+_0x1700f0(0x49f)+'r'])(this[_0x1700f0(0x534)][_0x1700f0(0x3bd)+'r'],this[_0x1700f0(0x534)][_0x1700f0(0x3c3)])&&(this[_0x1700f0(0x534)][_0x1700f0(0x3f4)](),this[_0x1700f0(0x534)][_0x1700f0(0x3f4)](),_0x1ac5fd()),this[_0x1700f0(0x534)][_0x1700f0(0x39d)]>_0x1cc267){const _0x333813=this['_cs']['getText']()['substr'](_0x1cc267,this['_cs'][_0x1700f0(0x39d)]-_0x1cc267);return _0x22c9b8[_0x1700f0(0x3a7)](_0x333813)?this[_0x1700f0(0x563)][_0x1700f0(0x492)](_0x1e8e0a[_0x1700f0(0x2eb)+'en'][_0x1700f0(0x52c)](_0x1cc267,this[_0x1700f0(0x534)]['position']-_0x1cc267,_0x22c9b8[_0x1700f0(0x270)](_0x333813),this[_0x1700f0(0x591)+'ts']())):this[_0x1700f0(0x563)][_0x1700f0(0x492)](_0x1e8e0a[_0x1700f0(0x3ea)+_0x1700f0(0x596)][_0x1700f0(0x52c)](_0x1cc267,this[_0x1700f0(0x534)][_0x1700f0(0x39d)]-_0x1cc267,_0x333813,this[_0x1700f0(0x591)+'ts']())),!0x0;}return!0x1;}[_0xcb246(0x5a0)+_0xcb246(0x5c3)](){var _0x1350c0=_0xcb246;return!!(0x0,_0x9f6263[_0x1350c0(0x351)])(this[_0x1350c0(0x534)][_0x1350c0(0x3bd)+'r'])||!(0x2e!==this['_cs'][_0x1350c0(0x3bd)+'r']||!(0x0,_0x9f6263[_0x1350c0(0x351)])(this[_0x1350c0(0x534)][_0x1350c0(0x3c3)]));}[_0xcb246(0x1fa)](){var _0x1fda3b=_0xcb246;const _0x34c4a9=this[_0x1fda3b(0x534)][_0x1fda3b(0x39d)];if(0x30===this['_cs'][_0x1fda3b(0x3bd)+'r']){let _0x468cee=0x0,_0x2c87c2=0x0;if((0x78===this[_0x1fda3b(0x534)][_0x1fda3b(0x3c3)]||0x58===this['_cs'][_0x1fda3b(0x3c3)])&&(0x0,_0x9f6263[_0x1fda3b(0x30e)])(this[_0x1fda3b(0x534)][_0x1fda3b(0x1b0)](0x2))){for(this[_0x1fda3b(0x534)][_0x1fda3b(0x4bb)](0x2),_0x2c87c2=0x2;(0x0,_0x9f6263[_0x1fda3b(0x30e)])(this[_0x1fda3b(0x534)]['currentCha'+'r']);)this[_0x1fda3b(0x534)]['moveNext']();_0x468cee=0x10;}if((0x62===this[_0x1fda3b(0x534)][_0x1fda3b(0x3c3)]||0x42===this['_cs'][_0x1fda3b(0x3c3)])&&(0x0,_0x9f6263['isBinary'])(this[_0x1fda3b(0x534)][_0x1fda3b(0x1b0)](0x2))){for(this['_cs'][_0x1fda3b(0x4bb)](0x2),_0x2c87c2=0x2;(0x0,_0x9f6263[_0x1fda3b(0x251)])(this[_0x1fda3b(0x534)]['currentCha'+'r']);)this[_0x1fda3b(0x534)][_0x1fda3b(0x3f4)]();_0x468cee=0x2;}if((0x6f===this['_cs'][_0x1fda3b(0x3c3)]||0x4f===this[_0x1fda3b(0x534)]['nextChar'])&&(0x0,_0x9f6263[_0x1fda3b(0x20b)])(this[_0x1fda3b(0x534)][_0x1fda3b(0x1b0)](0x2))){for(this[_0x1fda3b(0x534)][_0x1fda3b(0x4bb)](0x2),_0x2c87c2=0x2;(0x0,_0x9f6263['isOctal'])(this[_0x1fda3b(0x534)]['currentCha'+'r']);)this['_cs'][_0x1fda3b(0x3f4)]();_0x468cee=0x8;}if(_0x468cee>0x0){const _0x5429df=this['_cs'][_0x1fda3b(0x360)]()[_0x1fda3b(0x341)](_0x34c4a9,this[_0x1fda3b(0x534)]['position']-_0x34c4a9),_0x2eb564=_0x5429df[_0x1fda3b(0x356)](/_/g,'');let _0x660bc=parseInt(_0x2eb564[_0x1fda3b(0x341)](_0x2c87c2),_0x468cee);if(!isNaN(_0x660bc)){const _0x29530d=BigInt(_0x2eb564);return isFinite(_0x660bc)&&BigInt(_0x660bc)===_0x29530d||(_0x660bc=_0x29530d),this[_0x1fda3b(0x563)][_0x1fda3b(0x492)](_0x1e8e0a['NumberToke'+'n']['create'](_0x34c4a9,_0x5429df[_0x1fda3b(0x262)],_0x660bc,!0x0,!0x1,this['_getCommen'+'ts']())),!0x0;}}}let _0x159169=!0x1,_0x31f6fb=!0x1;if(this[_0x1fda3b(0x534)][_0x1fda3b(0x3bd)+'r']>=0x31&&this[_0x1fda3b(0x534)][_0x1fda3b(0x3bd)+'r']<=0x39){for(;(0x0,_0x9f6263[_0x1fda3b(0x351)])(this[_0x1fda3b(0x534)][_0x1fda3b(0x3bd)+'r']);)_0x31f6fb=!0x0,this['_cs']['moveNext']();_0x159169=0x2e!==this[_0x1fda3b(0x534)][_0x1fda3b(0x3bd)+'r']&&0x65!==this['_cs'][_0x1fda3b(0x3bd)+'r']&&0x45!==this[_0x1fda3b(0x534)][_0x1fda3b(0x3bd)+'r'];}if(0x30===this[_0x1fda3b(0x534)][_0x1fda3b(0x3bd)+'r']){for(_0x31f6fb=!0x0;0x30===this['_cs']['currentCha'+'r']||0x5f===this['_cs'][_0x1fda3b(0x3bd)+'r'];)this[_0x1fda3b(0x534)][_0x1fda3b(0x3f4)]();_0x159169=0x2e!==this['_cs'][_0x1fda3b(0x3bd)+'r']&&0x65!==this['_cs'][_0x1fda3b(0x3bd)+'r']&&0x45!==this[_0x1fda3b(0x534)]['currentCha'+'r'];}if(_0x159169){let _0x40d6e2=this[_0x1fda3b(0x534)][_0x1fda3b(0x360)]()[_0x1fda3b(0x341)](_0x34c4a9,this['_cs'][_0x1fda3b(0x39d)]-_0x34c4a9);const _0x2bc9db=_0x40d6e2[_0x1fda3b(0x356)](/_/g,'');let _0x4aa966=parseInt(_0x2bc9db,0xa);if(!isNaN(_0x4aa966)){let _0x44aa47=!0x1;const _0xeceed6=BigInt(_0x2bc9db);return isFinite(_0x4aa966)&&BigInt(_0x4aa966)===_0xeceed6||(_0x4aa966=_0xeceed6),0x6a!==this[_0x1fda3b(0x534)][_0x1fda3b(0x3bd)+'r']&&0x4a!==this[_0x1fda3b(0x534)][_0x1fda3b(0x3bd)+'r']||(_0x44aa47=!0x0,_0x40d6e2+=String[_0x1fda3b(0x464)+'de'](this[_0x1fda3b(0x534)][_0x1fda3b(0x3bd)+'r']),this[_0x1fda3b(0x534)][_0x1fda3b(0x3f4)]()),this[_0x1fda3b(0x563)][_0x1fda3b(0x492)](_0x1e8e0a[_0x1fda3b(0x59c)+'n'][_0x1fda3b(0x52c)](_0x34c4a9,_0x40d6e2[_0x1fda3b(0x262)],_0x4aa966,!0x0,_0x44aa47,this['_getCommen'+'ts']())),!0x0;}}if(this['_cs']['position']=_0x34c4a9,(_0x31f6fb||0x2e===this[_0x1fda3b(0x534)]['currentCha'+'r']&&this['_cs'][_0x1fda3b(0x3c3)]>=0x30&&this['_cs'][_0x1fda3b(0x3c3)]<=0x39)&&this[_0x1fda3b(0x140)+'ingPointCa'+'ndidate']()){let _0x11dee5=this[_0x1fda3b(0x534)]['getText']()['substr'](_0x34c4a9,this['_cs'][_0x1fda3b(0x39d)]-_0x34c4a9);const _0x1e6791=parseFloat(_0x11dee5);if(!isNaN(_0x1e6791)){let _0x4cacbc=!0x1;return 0x6a!==this[_0x1fda3b(0x534)][_0x1fda3b(0x3bd)+'r']&&0x4a!==this[_0x1fda3b(0x534)]['currentCha'+'r']||(_0x4cacbc=!0x0,_0x11dee5+=String['fromCharCo'+'de'](this['_cs'][_0x1fda3b(0x3bd)+'r']),this[_0x1fda3b(0x534)][_0x1fda3b(0x3f4)]()),this[_0x1fda3b(0x563)][_0x1fda3b(0x492)](_0x1e8e0a[_0x1fda3b(0x59c)+'n'][_0x1fda3b(0x52c)](_0x34c4a9,this[_0x1fda3b(0x534)][_0x1fda3b(0x39d)]-_0x34c4a9,_0x1e6791,!0x1,_0x4cacbc,this[_0x1fda3b(0x591)+'ts']())),!0x0;}}return this[_0x1fda3b(0x534)][_0x1fda3b(0x39d)]=_0x34c4a9,!0x1;}['_tryOperat'+'or'](){var _0x38f974=_0xcb246;let _0x4e315e=0x0;const _0x50f150=this['_cs']['nextChar'];let _0x28d495;switch(this[_0x38f974(0x534)][_0x38f974(0x3bd)+'r']){case 0x2b:_0x4e315e=0x3d===_0x50f150?0x2:0x1,_0x28d495=0x2===_0x4e315e?0x1:0x0;break;case 0x26:_0x4e315e=0x3d===_0x50f150?0x2:0x1,_0x28d495=0x2===_0x4e315e?0x4:0x3;break;case 0x7c:_0x4e315e=0x3d===_0x50f150?0x2:0x1,_0x28d495=0x2===_0x4e315e?0x7:0x6;break;case 0x5e:_0x4e315e=0x3d===_0x50f150?0x2:0x1,_0x28d495=0x2===_0x4e315e?0x9:0x8;break;case 0x3d:_0x4e315e=0x3d===_0x50f150?0x2:0x1,_0x28d495=0x2===_0x4e315e?0xc:0x2;break;case 0x21:if(0x3d!==_0x50f150)return!0x1;_0x4e315e=0x2,_0x28d495=0x1c;break;case 0x25:_0x4e315e=0x3d===_0x50f150?0x2:0x1,_0x28d495=0x2===_0x4e315e?0x19:0x18;break;case 0x7e:_0x4e315e=0x1,_0x28d495=0x5;break;case 0x2d:if(0x3e===_0x50f150)return this['_tokens']['push'](_0x1e8e0a['Token']['create'](0x15,this[_0x38f974(0x534)][_0x38f974(0x39d)],0x2,this[_0x38f974(0x591)+'ts']())),this[_0x38f974(0x534)][_0x38f974(0x4bb)](0x2),!0x0;_0x4e315e=0x3d===_0x50f150?0x2:0x1,_0x28d495=0x2===_0x4e315e?0x22:0x21;break;case 0x2a:0x2a===_0x50f150?(_0x4e315e=0x3d===this[_0x38f974(0x534)][_0x38f974(0x1b0)](0x2)?0x3:0x2,_0x28d495=0x3===_0x4e315e?0x1e:0x1d):(_0x4e315e=0x3d===_0x50f150?0x2:0x1,_0x28d495=0x2===_0x4e315e?0x1b:0x1a);break;case 0x2f:0x2f===_0x50f150?(_0x4e315e=0x3d===this['_cs']['lookAhead'](0x2)?0x3:0x2,_0x28d495=0x3===_0x4e315e?0xe:0xd):(_0x4e315e=0x3d===_0x50f150?0x2:0x1,_0x28d495=0x2===_0x4e315e?0xb:0xa);break;case 0x3c:0x3c===_0x50f150?(_0x4e315e=0x3d===this['_cs'][_0x38f974(0x1b0)](0x2)?0x3:0x2,_0x28d495=0x3===_0x4e315e?0x12:0x11):0x3e===_0x50f150?(_0x4e315e=0x2,_0x28d495=0x13):(_0x4e315e=0x3d===_0x50f150?0x2:0x1,_0x28d495=0x2===_0x4e315e?0x15:0x14);break;case 0x3e:0x3e===_0x50f150?(_0x4e315e=0x3d===this[_0x38f974(0x534)][_0x38f974(0x1b0)](0x2)?0x3:0x2,_0x28d495=0x3===_0x4e315e?0x20:0x1f):(_0x4e315e=0x3d===_0x50f150?0x2:0x1,_0x28d495=0x2===_0x4e315e?0x10:0xf);break;case 0x40:_0x4e315e=0x3d===_0x50f150?0x2:0x1,_0x28d495=0x2===_0x4e315e?0x17:0x16;break;default:return!0x1;}return this[_0x38f974(0x563)][_0x38f974(0x492)](_0x1e8e0a['OperatorTo'+_0x38f974(0x343)][_0x38f974(0x52c)](this['_cs'][_0x38f974(0x39d)],_0x4e315e,_0x28d495,this[_0x38f974(0x591)+'ts']())),this[_0x38f974(0x534)][_0x38f974(0x4bb)](_0x4e315e),_0x4e315e>0x0;}[_0xcb246(0x36d)+_0xcb246(0x4c1)](){var _0x3508f3=_0xcb246;const _0x209638=this[_0x3508f3(0x534)][_0x3508f3(0x39d)];for(;0xa!==this[_0x3508f3(0x534)][_0x3508f3(0x3bd)+'r']&&0xd!==this['_cs'][_0x3508f3(0x3bd)+'r']&&!this[_0x3508f3(0x534)]['isAtWhiteS'+_0x3508f3(0x5a1)]()&&!this[_0x3508f3(0x534)][_0x3508f3(0x560)+_0x3508f3(0x39c)]();)(0x0,_0x9f6263[_0x3508f3(0x23d)+_0x3508f3(0x3f8)])(this['_cs']['currentCha'+'r'])?(this[_0x3508f3(0x534)][_0x3508f3(0x3f4)](),this[_0x3508f3(0x534)][_0x3508f3(0x3f4)]()):this[_0x3508f3(0x534)][_0x3508f3(0x3f4)]();const _0x4eb01b=this[_0x3508f3(0x534)][_0x3508f3(0x39d)]-_0x209638;return _0x4eb01b>0x0&&(this[_0x3508f3(0x563)][_0x3508f3(0x492)](_0x1e8e0a[_0x3508f3(0x596)][_0x3508f3(0x52c)](0x0,_0x209638,_0x4eb01b,this[_0x3508f3(0x591)+'ts']())),!0x0);}[_0xcb246(0x591)+'ts'](){var _0x4a03a1=_0xcb246;const _0x1a366d=this[_0x4a03a1(0x494)];return this[_0x4a03a1(0x494)]=void 0x0,_0x1a366d;}[_0xcb246(0x176)+_0xcb246(0x3cb)](){var _0x1680e8=_0xcb246;const _0x1fc5fd=this[_0x1680e8(0x563)][_0x1680e8(0x262)]>0x0?this[_0x1680e8(0x563)][this['_tokens'][_0x1680e8(0x262)]-0x1]:void 0x0;return!(void 0x0!==_0x1fc5fd&&0x2!==_0x1fc5fd[_0x1680e8(0x35f)]&&0x3!==_0x1fc5fd[_0x1680e8(0x35f)]||0x25!==this[_0x1680e8(0x534)]['currentCha'+'r']&&0x21!==this[_0x1680e8(0x534)]['currentCha'+'r']);}[_0xcb246(0x3ce)+_0xcb246(0x13e)](_0x26c53a){var _0x3af855=_0xcb246;const _0x463346=this[_0x3af855(0x534)][_0x3af855(0x39d)]+0x1;let _0x265d52=_0x463346;do{this['_cs']['skipToEol']();const _0x227fab=this[_0x3af855(0x534)][_0x3af855(0x39d)]-_0x265d52;if(!this[_0x3af855(0x534)][_0x3af855(0x360)]()[_0x3af855(0x341)](_0x265d52,_0x227fab)[_0x3af855(0x166)](/\\\s*$/))break;_0x265d52=this['_cs'][_0x3af855(0x39d)]+0x1;}while(!this[_0x3af855(0x534)][_0x3af855(0x560)+_0x3af855(0x39c)]());const _0x51a9c7=this[_0x3af855(0x534)]['position']-_0x463346,_0x13a6ab=this[_0x3af855(0x534)][_0x3af855(0x360)]()[_0x3af855(0x341)](_0x463346,_0x51a9c7),_0x4fada8=_0x1e8e0a[_0x3af855(0x2c2)][_0x3af855(0x52c)](_0x463346,_0x51a9c7,_0x13a6ab,_0x26c53a);this[_0x3af855(0x163)+'ts'](_0x4fada8);}[_0xcb246(0x23e)+_0xcb246(0x365)](){var _0x3f61e6=_0xcb246;const _0x18e92d=this['_cs'][_0x3f61e6(0x39d)]+0x1;this[_0x3f61e6(0x534)][_0x3f61e6(0x5a6)]();const _0x380036=this['_cs'][_0x3f61e6(0x39d)]-_0x18e92d,_0x2b7563=this['_cs'][_0x3f61e6(0x360)]()[_0x3f61e6(0x341)](_0x18e92d,_0x380036),_0x5cef65=_0x1e8e0a[_0x3f61e6(0x2c2)][_0x3f61e6(0x52c)](_0x18e92d,_0x380036,_0x2b7563),_0x3004a3=_0x2b7563['match'](/^\s*type:\s*ignore(\s*\[([\s*\w-,]*)\]|\s|$)/);if(_0x3004a3){var _0x1d8ec2={};_0x1d8ec2['start']=_0x18e92d,_0x1d8ec2[_0x3f61e6(0x262)]=_0x3004a3[0x0]['length'];const _0x4df089={'range':_0x1d8ec2,'rulesList':this['_getIgnore'+'CommentRul'+_0x3f61e6(0x537)](_0x18e92d,_0x3004a3)};this[_0x3f61e6(0x563)]['findIndex'](_0x4523df=>0x2!==_0x4523df['type']&&_0x4523df&&0x3!==_0x4523df[_0x3f61e6(0x35f)])<0x0?this[_0x3f61e6(0x1bc)+_0x3f61e6(0x1b5)]=_0x4df089:this['_typeIgnor'+_0x3f61e6(0x40b)]['set'](this['_lineRange'+'s']['length'],_0x4df089);}const _0x322ced=_0x2b7563[_0x3f61e6(0x166)](/^\s*pyright:\s*ignore(\s*\[([\s*\w-,]*)\]|\s|$)/);if(_0x322ced){var _0x17a9a6={};_0x17a9a6[_0x3f61e6(0x5e4)]=_0x18e92d,_0x17a9a6['length']=_0x322ced[0x0][_0x3f61e6(0x262)];const _0x32bedf={'range':_0x17a9a6,'rulesList':this[_0x3f61e6(0x56c)+'CommentRul'+_0x3f61e6(0x537)](_0x18e92d,_0x322ced)};this['_pyrightIg'+_0x3f61e6(0x482)][_0x3f61e6(0x1b3)](this[_0x3f61e6(0x5a5)+'s'][_0x3f61e6(0x262)],_0x32bedf);}this[_0x3f61e6(0x163)+'ts'](_0x5cef65);}[_0xcb246(0x56c)+_0xcb246(0x3ba)+'esList'](_0x2a75eb,_0x1773f4){var _0x16a147=_0xcb246;if(_0x1773f4[_0x16a147(0x262)]<0x3||void 0x0===_0x1773f4[0x2])return;const _0x5b0450=_0x1773f4[0x2]['split'](','),_0x55281c=[];let _0x44391e=_0x2a75eb+_0x1773f4[0x0][_0x16a147(0x2e4)]('[')+0x1;for(const _0x3c1775 of _0x5b0450){const _0x1fb735=_0x3c1775[_0x16a147(0x564)]();_0x44391e+=_0x3c1775[_0x16a147(0x262)]-_0x1fb735[_0x16a147(0x262)];const _0x271717=_0x1fb735[_0x16a147(0x2e3)]();_0x271717[_0x16a147(0x262)]>0x0&&_0x55281c['push']({'range':{'start':_0x44391e,'length':_0x271717['length']},'text':_0x271717}),_0x44391e+=_0x1fb735[_0x16a147(0x262)]+0x1;}return _0x55281c;}[_0xcb246(0x163)+'ts'](_0x3a44a7){var _0x4bcc24=_0xcb246;this[_0x4bcc24(0x494)]?this[_0x4bcc24(0x494)][_0x4bcc24(0x492)](_0x3a44a7):this['_comments']=[_0x3a44a7];}[_0xcb246(0x5e2)+_0xcb246(0x4ff)+'th'](){var _0x59685b=_0xcb246;if(0x27===this['_cs'][_0x59685b(0x3bd)+'r']||0x22===this[_0x59685b(0x534)][_0x59685b(0x3bd)+'r'])return 0x0;if(0x27===this[_0x59685b(0x534)][_0x59685b(0x3c3)]||0x22===this[_0x59685b(0x534)]['nextChar'])switch(this[_0x59685b(0x534)][_0x59685b(0x3bd)+'r']){case 0x66:case 0x46:case 0x72:case 0x52:case 0x62:case 0x42:case 0x75:case 0x55:return 0x1;}if(0x27===this['_cs']['lookAhead'](0x2)||0x22===this[_0x59685b(0x534)][_0x59685b(0x1b0)](0x2))switch(this[_0x59685b(0x534)][_0x59685b(0x360)]()[_0x59685b(0x341)](this[_0x59685b(0x534)][_0x59685b(0x39d)],0x2)['toLowerCas'+'e']()){case'rf':case'fr':case'ur':case'ru':case'br':case'rb':return 0x2;}return-0x1;}[_0xcb246(0x590)+_0xcb246(0x180)](_0x2c324a){var _0x4d777e=_0xcb246;let _0x387b4c=0x0;_0x2c324a=_0x2c324a[_0x4d777e(0x577)+'e']();for(let _0x3413ac=0x0;_0x3413ac<_0x2c324a[_0x4d777e(0x262)];_0x3413ac++)switch(_0x2c324a[_0x3413ac]){case'u':_0x387b4c|=0x10;break;case'b':_0x387b4c|=0x20;break;case'r':_0x387b4c|=0x8;break;case'f':_0x387b4c|=0x40;}return 0x27===this[_0x4d777e(0x534)][_0x4d777e(0x3bd)+'r']?(_0x387b4c|=0x1,0x27===this['_cs'][_0x4d777e(0x3c3)]&&0x27===this[_0x4d777e(0x534)]['lookAhead'](0x2)&&(_0x387b4c|=0x4)):0x22===this[_0x4d777e(0x534)][_0x4d777e(0x3bd)+'r']&&(_0x387b4c|=0x2,0x22===this[_0x4d777e(0x534)][_0x4d777e(0x3c3)]&&0x22===this['_cs']['lookAhead'](0x2)&&(_0x387b4c|=0x4)),_0x387b4c;}[_0xcb246(0x303)+_0xcb246(0x312)](_0x3898a7,_0x5e5f4f){var _0x283582=_0xcb246;const _0x1d53ee=this[_0x283582(0x534)][_0x283582(0x39d)]-_0x5e5f4f;0x4&_0x3898a7?this['_cs'][_0x283582(0x4bb)](0x3):(this[_0x283582(0x534)]['moveNext'](),0x1&_0x3898a7?this[_0x283582(0x3a1)+_0x283582(0x5de)]++:this['_doubleQuo'+_0x283582(0x5de)]++);const _0x16d401=this['_skipToEnd'+_0x283582(0x2ad)+_0x283582(0x1ea)](_0x3898a7),_0x120689=this[_0x283582(0x534)][_0x283582(0x39d)];this['_tokens']['push'](_0x1e8e0a[_0x283582(0x54d)+'n'][_0x283582(0x52c)](_0x1d53ee,_0x120689-_0x1d53ee,_0x16d401[_0x283582(0x513)],_0x16d401['escapedVal'+'ue'],_0x5e5f4f,this['_getCommen'+'ts']()));}['_skipToEnd'+_0xcb246(0x2ad)+'teral'](_0x4d10e4){var _0x3ddd16=_0xcb246;const _0x44faf3=0x1&_0x4d10e4?0x27:0x22,_0xa054c6=0x0!=(0x4&_0x4d10e4);let _0x17736d=[];for(;;){if(this[_0x3ddd16(0x534)]['isEndOfStr'+_0x3ddd16(0x39c)]())return _0x4d10e4|=0x10000,{'escapedValue':String['fromCharCo'+'de']['apply'](void 0x0,_0x17736d),'flags':_0x4d10e4};if(0x5c===this[_0x3ddd16(0x534)][_0x3ddd16(0x3bd)+'r'])_0x17736d[_0x3ddd16(0x492)](this[_0x3ddd16(0x534)]['currentCha'+'r']),this['_cs'][_0x3ddd16(0x3f4)](),0xd===this[_0x3ddd16(0x534)]['getCurrent'+_0x3ddd16(0x34f)]()||0xa===this[_0x3ddd16(0x534)][_0x3ddd16(0x2ed)+_0x3ddd16(0x34f)]()?(0xd===this[_0x3ddd16(0x534)][_0x3ddd16(0x2ed)+'Char']()&&0xa===this[_0x3ddd16(0x534)][_0x3ddd16(0x3c3)]&&(_0x17736d[_0x3ddd16(0x492)](this['_cs']['currentCha'+'r']),this[_0x3ddd16(0x534)][_0x3ddd16(0x3f4)]()),_0x17736d['push'](this[_0x3ddd16(0x534)][_0x3ddd16(0x3bd)+'r']),this[_0x3ddd16(0x534)][_0x3ddd16(0x3f4)](),this[_0x3ddd16(0x198)+'nge']()):(_0x17736d['push'](this[_0x3ddd16(0x534)][_0x3ddd16(0x3bd)+'r']),this[_0x3ddd16(0x534)][_0x3ddd16(0x3f4)]());else{if(0xa===this[_0x3ddd16(0x534)][_0x3ddd16(0x3bd)+'r']||0xd===this[_0x3ddd16(0x534)][_0x3ddd16(0x3bd)+'r']){if(!_0xa054c6)return _0x4d10e4|=0x10000,{'escapedValue':String[_0x3ddd16(0x464)+'de']['apply'](void 0x0,_0x17736d),'flags':_0x4d10e4};0xd===this[_0x3ddd16(0x534)][_0x3ddd16(0x3bd)+'r']&&0xa===this[_0x3ddd16(0x534)][_0x3ddd16(0x3c3)]&&(_0x17736d[_0x3ddd16(0x492)](this[_0x3ddd16(0x534)]['currentCha'+'r']),this[_0x3ddd16(0x534)][_0x3ddd16(0x3f4)]()),_0x17736d[_0x3ddd16(0x492)](this[_0x3ddd16(0x534)][_0x3ddd16(0x3bd)+'r']),this[_0x3ddd16(0x534)][_0x3ddd16(0x3f4)](),this[_0x3ddd16(0x198)+_0x3ddd16(0x4a8)]();}else{if(!_0xa054c6&&this[_0x3ddd16(0x534)][_0x3ddd16(0x3bd)+'r']===_0x44faf3){this['_cs']['moveNext']();break;}if(_0xa054c6&&this[_0x3ddd16(0x534)][_0x3ddd16(0x3bd)+'r']===_0x44faf3&&this[_0x3ddd16(0x534)][_0x3ddd16(0x3c3)]===_0x44faf3&&this['_cs']['lookAhead'](0x2)===_0x44faf3){this[_0x3ddd16(0x534)][_0x3ddd16(0x4bb)](0x3);break;}_0x17736d[_0x3ddd16(0x492)](this[_0x3ddd16(0x534)][_0x3ddd16(0x3bd)+'r']),this[_0x3ddd16(0x534)][_0x3ddd16(0x3f4)]();}}}return _0x17736d['length']>0x8000&&(_0x17736d=_0x17736d[_0x3ddd16(0x495)](0x0,0x8000),_0x4d10e4|=0x20000),{'escapedValue':String['fromCharCo'+'de']['apply'](void 0x0,_0x17736d),'flags':_0x4d10e4};}[_0xcb246(0x140)+'ingPointCa'+'ndidate'](){var _0x3e268d=_0xcb246;const _0x4f309f=this[_0x3e268d(0x534)][_0x3e268d(0x39d)];return this[_0x3e268d(0x19e)+_0x3e268d(0x22b)+'r'](),this[_0x3e268d(0x534)][_0x3e268d(0x39d)]>_0x4f309f&&(0x65!==this[_0x3e268d(0x534)][_0x3e268d(0x3bd)+'r']&&0x45!==this['_cs'][_0x3e268d(0x3bd)+'r']||(this[_0x3e268d(0x534)][_0x3e268d(0x3f4)](),this[_0x3e268d(0x1b9)+_0x3e268d(0x2d2)](!0x0))),this['_cs'][_0x3e268d(0x39d)]>_0x4f309f;}['_skipFract'+_0xcb246(0x22b)+'r'](){var _0x436680=_0xcb246;this[_0x436680(0x1b9)+_0x436680(0x2d2)](!0x1),0x2e===this[_0x436680(0x534)][_0x436680(0x3bd)+'r']&&this[_0x436680(0x534)]['moveNext'](),this[_0x436680(0x1b9)+_0x436680(0x2d2)](!0x1);}[_0xcb246(0x1b9)+'alNumber'](_0x5600e1){var _0x86ee3f=_0xcb246;for(!_0x5600e1||0x2d!==this[_0x86ee3f(0x534)][_0x86ee3f(0x3bd)+'r']&&0x2b!==this[_0x86ee3f(0x534)][_0x86ee3f(0x3bd)+'r']||this[_0x86ee3f(0x534)][_0x86ee3f(0x3f4)]();(0x0,_0x9f6263['isDecimal'])(this[_0x86ee3f(0x534)][_0x86ee3f(0x3bd)+'r']);)this['_cs'][_0x86ee3f(0x3f4)]();}};},0xa36:(_0x30bed7,_0x3cf8f9)=>{'use strict';var _0x2a15c8=a0_0x1bd9;var _0x59efc1={};_0x59efc1['value']=!0x0,(Object[_0x2a15c8(0x36a)+'erty'](_0x3cf8f9,_0x2a15c8(0x47a),_0x59efc1),_0x3cf8f9['Identifier'+_0x2a15c8(0x596)]=_0x3cf8f9[_0x2a15c8(0x260)+_0x2a15c8(0x343)]=_0x3cf8f9[_0x2a15c8(0x59c)+'n']=_0x3cf8f9['StringToke'+'n']=_0x3cf8f9[_0x2a15c8(0x2eb)+'en']=_0x3cf8f9[_0x2a15c8(0x540)+'en']=_0x3cf8f9[_0x2a15c8(0x5be)+'n']=_0x3cf8f9[_0x2a15c8(0x2e7)+'n']=_0x3cf8f9[_0x2a15c8(0x596)]=_0x3cf8f9[_0x2a15c8(0x2c2)]=void 0x0,(_0x3cf8f9[_0x2a15c8(0x2c2)]||(_0x3cf8f9[_0x2a15c8(0x2c2)]={}))[_0x2a15c8(0x52c)]=function(_0x296da8,_0x2e6880,_0xb96f3c,_0x204035=0x0){var _0x2b39d1=_0x2a15c8,_0x30bba0={};return _0x30bba0['type']=_0x204035,_0x30bba0[_0x2b39d1(0x5e4)]=_0x296da8,_0x30bba0[_0x2b39d1(0x262)]=_0x2e6880,_0x30bba0[_0x2b39d1(0x5a3)]=_0xb96f3c,_0x30bba0;},(_0x3cf8f9['Token']||(_0x3cf8f9['Token']={}))[_0x2a15c8(0x52c)]=function(_0x1e0a5f,_0x69fc4a,_0x440d98,_0x11e79f){var _0x5a051b=_0x2a15c8,_0x1175c9={};return _0x1175c9[_0x5a051b(0x5e4)]=_0x69fc4a,_0x1175c9[_0x5a051b(0x262)]=_0x440d98,_0x1175c9[_0x5a051b(0x35f)]=_0x1e0a5f,_0x1175c9[_0x5a051b(0x5d1)]=_0x11e79f,_0x1175c9;},(_0x3cf8f9[_0x2a15c8(0x2e7)+'n']||(_0x3cf8f9['IndentToke'+'n']={}))[_0x2a15c8(0x52c)]=function(_0x16de2c,_0x3038da,_0x381b58,_0x56b802,_0x5a7c45){var _0x41ccf2=_0x2a15c8,_0x2c424c={};return _0x2c424c[_0x41ccf2(0x5e4)]=_0x16de2c,_0x2c424c[_0x41ccf2(0x262)]=_0x3038da,_0x2c424c[_0x41ccf2(0x35f)]=0x3,_0x2c424c[_0x41ccf2(0x3b3)+'biguous']=_0x56b802,_0x2c424c[_0x41ccf2(0x5d1)]=_0x5a7c45,_0x2c424c[_0x41ccf2(0x23c)+'nt']=_0x381b58,_0x2c424c;},(_0x3cf8f9[_0x2a15c8(0x5be)+'n']||(_0x3cf8f9[_0x2a15c8(0x5be)+'n']={}))[_0x2a15c8(0x52c)]=function(_0x2b5e68,_0x52b5cf,_0x3a69de,_0x9f24e3,_0x24d816,_0x34ff1c){var _0xbdecb8=_0x2a15c8,_0xa3950f={};return _0xa3950f['start']=_0x2b5e68,_0xa3950f['length']=_0x52b5cf,_0xa3950f['type']=0x4,_0xa3950f[_0xbdecb8(0x5d1)]=_0x34ff1c,_0xa3950f[_0xbdecb8(0x23c)+'nt']=_0x3a69de,_0xa3950f[_0xbdecb8(0x517)+'ent']=_0x9f24e3,_0xa3950f[_0xbdecb8(0x544)+_0xbdecb8(0x471)]=_0x24d816,_0xa3950f;},(_0x3cf8f9[_0x2a15c8(0x540)+'en']||(_0x3cf8f9[_0x2a15c8(0x540)+'en']={}))[_0x2a15c8(0x52c)]=function(_0x155d1f,_0x1ccb04,_0xa0fc86,_0x1fe329){var _0x53aa2e=_0x2a15c8,_0x3d90e2={};return _0x3d90e2[_0x53aa2e(0x5e4)]=_0x155d1f,_0x3d90e2['length']=_0x1ccb04,_0x3d90e2['type']=0x2,_0x3d90e2[_0x53aa2e(0x5d1)]=_0x1fe329,_0x3d90e2['newLineTyp'+'e']=_0xa0fc86,_0x3d90e2;},(_0x3cf8f9['KeywordTok'+'en']||(_0x3cf8f9[_0x2a15c8(0x2eb)+'en']={}))[_0x2a15c8(0x52c)]=function(_0x372383,_0x2b81e8,_0x33cc19,_0x2cffad){var _0x40b614=_0x2a15c8,_0x3ab58e={};return _0x3ab58e[_0x40b614(0x5e4)]=_0x372383,_0x3ab58e[_0x40b614(0x262)]=_0x2b81e8,_0x3ab58e['type']=0x8,_0x3ab58e[_0x40b614(0x5d1)]=_0x2cffad,_0x3ab58e[_0x40b614(0x1a2)+'e']=_0x33cc19,_0x3ab58e;},(_0x3cf8f9[_0x2a15c8(0x54d)+'n']||(_0x3cf8f9[_0x2a15c8(0x54d)+'n']={}))[_0x2a15c8(0x52c)]=function(_0x2acd40,_0x107232,_0x218503,_0x3d45bb,_0x5877f4,_0xb2f0d2){var _0x260cfa=_0x2a15c8,_0x11c9bf={};return _0x11c9bf[_0x260cfa(0x5e4)]=_0x2acd40,_0x11c9bf['length']=_0x107232,_0x11c9bf[_0x260cfa(0x35f)]=0x5,_0x11c9bf[_0x260cfa(0x513)]=_0x218503,_0x11c9bf[_0x260cfa(0x478)+'ue']=_0x3d45bb,_0x11c9bf[_0x260cfa(0x439)+'th']=_0x5877f4,_0x11c9bf[_0x260cfa(0x1d1)+_0x260cfa(0x30a)]=0x4&_0x218503?0x3:0x1,_0x11c9bf[_0x260cfa(0x5d1)]=_0xb2f0d2,_0x11c9bf;},(_0x3cf8f9[_0x2a15c8(0x59c)+'n']||(_0x3cf8f9[_0x2a15c8(0x59c)+'n']={}))['create']=function(_0x4ebbbf,_0x325160,_0x132085,_0x151805,_0x23bb20,_0x3cd944){var _0x4d72b=_0x2a15c8,_0x315f3e={};return _0x315f3e['start']=_0x4ebbbf,_0x315f3e[_0x4d72b(0x262)]=_0x325160,_0x315f3e[_0x4d72b(0x35f)]=0x6,_0x315f3e[_0x4d72b(0x468)]=_0x151805,_0x315f3e[_0x4d72b(0x377)+'y']=_0x23bb20,_0x315f3e['value']=_0x132085,_0x315f3e[_0x4d72b(0x5d1)]=_0x3cd944,_0x315f3e;},(_0x3cf8f9[_0x2a15c8(0x260)+_0x2a15c8(0x343)]||(_0x3cf8f9[_0x2a15c8(0x260)+_0x2a15c8(0x343)]={}))[_0x2a15c8(0x52c)]=function(_0x57235,_0x270c77,_0x621c33,_0xde9e1d){var _0x5573bb=_0x2a15c8,_0x473040={};return _0x473040[_0x5573bb(0x5e4)]=_0x57235,_0x473040[_0x5573bb(0x262)]=_0x270c77,_0x473040[_0x5573bb(0x35f)]=0x9,_0x473040[_0x5573bb(0x228)+'pe']=_0x621c33,_0x473040[_0x5573bb(0x5d1)]=_0xde9e1d,_0x473040;},(_0x3cf8f9[_0x2a15c8(0x3ea)+_0x2a15c8(0x596)]||(_0x3cf8f9[_0x2a15c8(0x3ea)+_0x2a15c8(0x596)]={}))[_0x2a15c8(0x52c)]=function(_0x192c10,_0x2b3121,_0x5a9c15,_0x19f8da){var _0x5ace47=_0x2a15c8;return{'start':_0x192c10,'length':_0x2b3121,'type':0x7,'value':_0x5a9c15[_0x5ace47(0x32f)](_0x5ace47(0x42f)),'comments':_0x19f8da};});},0xd84:(_0x1609ca,_0x20a806)=>{'use strict';var _0x165f4e=a0_0x1bd9;var _0xa9a437={};_0xa9a437[_0x165f4e(0x5a3)]=!0x0;var _0x30ea1b={};_0x30ea1b[_0x165f4e(0x448)]=[[0xdc00,0xdc27],[0xdcb0,0xdcd3]],_0x30ea1b['55299']=[[0xdc80,0xdcb2]],_0x30ea1b[_0x165f4e(0x58d)]=[[0xdca0,0xdcbf]],_0x30ea1b[_0x165f4e(0x2dc)]=[[0xde40,0xde5f]],_0x30ea1b[_0x165f4e(0x5ae)]=[[0xdc00,0xdc19],[0xdc34,0xdc4d],[0xdc68,0xdc81],0xdc9c,[0xdc9e,0xdc9f],0xdca2,[0xdca5,0xdca6],[0xdca9,0xdcac],[0xdcae,0xdcb5],[0xdcd0,0xdce9],[0xdd04,0xdd05],[0xdd07,0xdd0a],[0xdd0d,0xdd14],[0xdd16,0xdd1c],[0xdd38,0xdd39],[0xdd3b,0xdd3e],[0xdd40,0xdd44],0xdd46,[0xdd4a,0xdd50],[0xdd6c,0xdd85],[0xdda0,0xddb9],[0xddd4,0xdded],[0xde08,0xde21],[0xde3c,0xde55],[0xde70,0xde89],[0xdea8,0xdec0],[0xdee2,0xdefa],[0xdf1c,0xdf34],[0xdf56,0xdf6e],[0xdf90,0xdfa8],[0xdfca,0xdfca]],_0x30ea1b[_0x165f4e(0x59a)]=[[0xdd00,0xdd21]];var _0x392e16={};_0x392e16[_0x165f4e(0x448)]=[[0xdc28,0xdc4f],[0xdcd8,0xdcfb]],_0x392e16[_0x165f4e(0x3ab)]=[[0xdcc0,0xdcf2]],_0x392e16[_0x165f4e(0x58d)]=[[0xdcc0,0xdcdf]],_0x392e16[_0x165f4e(0x2dc)]=[[0xde60,0xde7f]],_0x392e16[_0x165f4e(0x5ae)]=[[0xdc1a,0xdc33],[0xdc4e,0xdc54],[0xdc56,0xdc67],[0xdc82,0xdc9b],[0xdcb6,0xdcb9],0xdcbb,[0xdcbd,0xdcc3],[0xdcc5,0xdccf],[0xdcea,0xdd03],[0xdd1e,0xdd37],[0xdd52,0xdd6b],[0xdd86,0xdd9f],[0xddba,0xddd3],[0xddee,0xde07],[0xde22,0xde3b],[0xde56,0xde6f],[0xde8a,0xdea5],[0xdec2,0xdeda],[0xdedc,0xdee1],[0xdefc,0xdf14],[0xdf16,0xdf1b],[0xdf36,0xdf4e],[0xdf50,0xdf55],[0xdf70,0xdf88],[0xdf8a,0xdf8f],[0xdfaa,0xdfc2],[0xdfc4,0xdfc9],[0xdfcb,0xdfcb]],_0x392e16['55354']=[[0xdd22,0xdd43]];var _0x2dc55e={};_0x2dc55e[_0x165f4e(0x16e)]=[[0xdc00,0xdc0b],[0xdc0d,0xdc26],[0xdc28,0xdc3a],[0xdc3c,0xdc3d],[0xdc3f,0xdc4d],[0xdc50,0xdc5d],[0xdc80,0xdcfa],[0xde80,0xde9c],[0xdea0,0xded0],[0xdf00,0xdf1f],[0xdf2d,0xdf40],[0xdf42,0xdf49],[0xdf50,0xdf75],[0xdf80,0xdf9d],[0xdfa0,0xdfc3],[0xdfc8,0xdfcf]],_0x2dc55e[_0x165f4e(0x448)]=[[0xdc50,0xdc9d],[0xdd00,0xdd27],[0xdd30,0xdd63],[0xde00,0xdf36],[0xdf40,0xdf55],[0xdf60,0xdf67]],_0x2dc55e[_0x165f4e(0x234)]=[[0xdc00,0xdc05],[0xdc08,0xdc08],[0xdc0a,0xdc35],[0xdc37,0xdc38],[0xdc3c,0xdc3c],[0xdc3f,0xdc55],[0xdc60,0xdc76],[0xdc80,0xdc9e],[0xdce0,0xdcf2],[0xdcf4,0xdcf5],[0xdd00,0xdd15],[0xdd20,0xdd39],[0xdd80,0xddb7],[0xddbe,0xddbf],[0xde00,0xde00],[0xde10,0xde13],[0xde15,0xde17],[0xde19,0xde35],[0xde60,0xde7c],[0xde80,0xde9c],[0xdec0,0xdec7],[0xdec9,0xdee4],[0xdf00,0xdf35],[0xdf40,0xdf55],[0xdf60,0xdf72],[0xdf80,0xdf91]],_0x2dc55e['55299']=[[0xdc00,0xdc48],[0xdd00,0xdd23],[0xde80,0xdea9],[0xdeb0,0xdeb1],[0xdf00,0xdf1c],0xdf27,[0xdf30,0xdf45],[0xdfb0,0xdfc4],[0xdfe0,0xdff6]],_0x2dc55e['55300']=[[0xdc03,0xdc37],[0xdc83,0xdcaf],[0xdcd0,0xdce8],[0xdd03,0xdd26],0xdd44,0xdd47,[0xdd50,0xdd72],0xdd76,[0xdd83,0xddb2],[0xddc1,0xddc4],0xddda,0xdddc,[0xde00,0xde11],[0xde13,0xde2b],[0xde80,0xde86],0xde88,[0xde8a,0xde8d],[0xde8f,0xde9d],[0xde9f,0xdea8],[0xdeb0,0xdede],[0xdf05,0xdf0c],[0xdf0f,0xdf10],[0xdf13,0xdf28],[0xdf2a,0xdf30],[0xdf32,0xdf33],[0xdf35,0xdf39],0xdf3d,0xdf50,[0xdf5d,0xdf61]],_0x2dc55e[_0x165f4e(0x4f7)]=[[0xdc00,0xdc34],[0xdc47,0xdc4a],[0xdc5f,0xdc61],[0xdc80,0xdcaf],[0xdcc4,0xdcc5],0xdcc7,[0xdd80,0xddae],[0xddd8,0xdddb],[0xde00,0xde2f],0xde44,[0xde80,0xdeaa],0xdeb8,[0xdf00,0xdf1a]],_0x2dc55e[_0x165f4e(0x58d)]=[[0xdc00,0xdc2b],[0xdcff,0xdd06],0xdd09,[0xdd0c,0xdd13],[0xdd15,0xdd16],[0xdd18,0xdd2f],0xdd3f,0xdd41,[0xdda0,0xdda7],[0xddaa,0xddd0],0xdde1,0xdde3,0xde00,[0xde0b,0xde32],0xde3a,0xde50,[0xde5c,0xde89],0xde9d,[0xdec0,0xdef8]],_0x2dc55e[_0x165f4e(0x2ef)]=[[0xdc00,0xdc08],[0xdc0a,0xdc2e],0xdc40,0xdc72,[0xdd00,0xdd06],[0xdd08,0xdd09],[0xdd0b,0xdd30],0xdd46,[0xdd60,0xdd65],[0xdd67,0xdd68],[0xdd6a,0xdd89],0xdd98,[0xdee0,0xdef2],0xdfb0],_0x2dc55e[_0x165f4e(0x5ab)]=[[0xdc00,0xdf99]],_0x2dc55e[_0x165f4e(0x44e)]=[[0xdc80,0xdd43]],_0x2dc55e[_0x165f4e(0x511)]=[[0xdc00,0xdfff]],_0x2dc55e[_0x165f4e(0x1fd)]=[[0xdc00,0xdc2e]],_0x2dc55e[_0x165f4e(0x5f0)]=[[0xdc00,0xde46]],_0x2dc55e[_0x165f4e(0x323)]=[[0xdc00,0xde38],[0xde40,0xde5e],[0xded0,0xdeed],[0xdf00,0xdf2f],[0xdf63,0xdf77],[0xdf7d,0xdf8f]],_0x2dc55e[_0x165f4e(0x2dc)]=[[0xdf00,0xdf4a],0xdf50],_0x2dc55e[_0x165f4e(0x34a)]=[0xdc00],_0x2dc55e[_0x165f4e(0x359)]=[0xdff7],_0x2dc55e['55330']=[[0xdc00,0xdfff]],_0x2dc55e['55331']=[[0xdc00,0xdcd5],[0xdd00,0xdd00],[0xdd08,0xdd08]],_0x2dc55e[_0x165f4e(0x48a)]=[[0xdc00,0xdd1e],[0xdd50,0xdd52],[0xdd64,0xdd67],[0xdd70,0xdefb]],_0x2dc55e[_0x165f4e(0x45a)]=[[0xdc00,0xdc6a],[0xdc70,0xdc7c],[0xdc80,0xdc88],[0xdc90,0xdc99]],_0x2dc55e[_0x165f4e(0x531)]=[[0xdd00,0xdd2c],0xdd4e,[0xdec0,0xdeeb]],_0x2dc55e[_0x165f4e(0x59a)]=[[0xdc00,0xdcc4]],_0x2dc55e['55355']=[[0xde00,0xde03],[0xde05,0xde1f],[0xde21,0xde22],0xde24,0xde27,[0xde29,0xde32],[0xde34,0xde37],0xde39,0xde3b,0xde42,0xde47,0xde49,0xde4b,[0xde4d,0xde4f],[0xde51,0xde52],0xde54,0xde57,0xde59,0xde5b,0xde5d,0xde5f,[0xde61,0xde62],0xde64,[0xde67,0xde6a],[0xde6c,0xde72],[0xde74,0xde77],[0xde79,0xde7c],0xde7e,[0xde80,0xde89],[0xde8b,0xde9b],[0xdea1,0xdea3],[0xdea5,0xdea9],[0xdeab,0xdebb]],_0x2dc55e[_0x165f4e(0x404)]=[0xdc00],_0x2dc55e[_0x165f4e(0x491)]=[0xdedd,0xdf00],_0x2dc55e[_0x165f4e(0x230)]=[0xdf34,0xdf40],_0x2dc55e[_0x165f4e(0x2d3)]=[0xdc1d,0xdc20],_0x2dc55e[_0x165f4e(0x1bb)]=[0xdea1,0xdeb0],_0x2dc55e[_0x165f4e(0x45e)]=[0xdfe0],_0x2dc55e['55422']=[[0xdc00,0xde1d]],_0x2dc55e[_0x165f4e(0x2a7)]=[0xdc00],_0x2dc55e[_0x165f4e(0x32a)]=[0xdf4a];var _0x4f16c6={};_0x4f16c6[_0x165f4e(0x323)]=[[0xdf40,0xdf43]],_0x4f16c6[_0x165f4e(0x2dc)]=[[0xdf93,0xdf9f],[0xdfe0,0xdfe1],0xdfe3],_0x4f16c6['55352']=[[0xdd37,0xdd3d]],_0x4f16c6[_0x165f4e(0x59a)]=[0xdd4b];var _0x1d55a8={};_0x1d55a8[_0x165f4e(0x16e)]=[[0xdd40,0xdd74],0xdf41,0xdf4a,[0xdfd1,0xdfd5]],_0x1d55a8[_0x165f4e(0x44e)]=[[0xdc00,0xdc6e]];var _0xcae550={};_0xcae550[_0x165f4e(0x16e)]=[0xddfd,0xdee0,[0xdf76,0xdf7a]],_0xcae550['55298']=[[0xde01,0xde03],[0xde05,0xde06],[0xde0c,0xde0f],[0xde38,0xde3a],0xde3f,[0xdee5,0xdee6]],_0xcae550[_0x165f4e(0x3ab)]=[[0xdd24,0xdd27],[0xdeab,0xdeac],[0xdf46,0xdf50]],_0xcae550[_0x165f4e(0x5db)]=[0xdc01,[0xdc38,0xdc46],[0xdc7f,0xdc81],[0xdcb3,0xdcb6],[0xdcb9,0xdcba],[0xdd00,0xdd02],[0xdd27,0xdd2b],[0xdd2d,0xdd34],0xdd73,[0xdd80,0xdd81],[0xddb6,0xddbe],[0xddc9,0xddcc],0xddcf,[0xde2f,0xde31],0xde34,[0xde36,0xde37],0xde3e,0xdedf,[0xdee3,0xdeea],[0xdf00,0xdf01],[0xdf3b,0xdf3c],0xdf40,[0xdf66,0xdf6c],[0xdf70,0xdf74]],_0xcae550['55301']=[[0xdc38,0xdc3f],[0xdc42,0xdc44],0xdc46,0xdc5e,[0xdcb3,0xdcb8],0xdcba,[0xdcbf,0xdcc0],[0xdcc2,0xdcc3],[0xddb2,0xddb5],[0xddbc,0xddbd],[0xddbf,0xddc0],[0xdddc,0xdddd],[0xde33,0xde3a],0xde3d,[0xde3f,0xde40],0xdeab,0xdead,[0xdeb0,0xdeb5],0xdeb7,[0xdf1d,0xdf1f],[0xdf22,0xdf25],[0xdf27,0xdf2b]],_0xcae550[_0x165f4e(0x58d)]=[[0xdc2f,0xdc37],[0xdc39,0xdc3a],[0xdd3b,0xdd3c],0xdd3e,0xdd43,[0xddd4,0xddd7],[0xddda,0xdddb],0xdde0,[0xde01,0xde0a],[0xde33,0xde38],[0xde3b,0xde3e],0xde47,[0xde51,0xde56],[0xde59,0xde5b],[0xde8a,0xde96],[0xde98,0xde99]],_0xcae550[_0x165f4e(0x2ef)]=[[0xdc30,0xdc36],[0xdc38,0xdc3d],0xdc3f,[0xdc92,0xdca7],[0xdcaa,0xdcb0],[0xdcb2,0xdcb3],[0xdcb5,0xdcb6],[0xdd31,0xdd36],0xdd3a,[0xdd3c,0xdd3d],[0xdd3f,0xdd45],0xdd47,[0xdd90,0xdd91],0xdd95,0xdd97,[0xdef3,0xdef4]],_0xcae550[_0x165f4e(0x323)]=[[0xdef0,0xdef4],[0xdf30,0xdf36]],_0xcae550[_0x165f4e(0x2dc)]=[0xdf4f,[0xdf8f,0xdf92],0xdfe4],_0xcae550[_0x165f4e(0x45a)]=[[0xdc9d,0xdc9e]],_0xcae550[_0x165f4e(0x5b7)]=[[0xdd67,0xdd69],[0xdd7b,0xdd82],[0xdd85,0xdd8b],[0xddaa,0xddad],[0xde42,0xde44]],_0xcae550['55350']=[[0xde00,0xde36],[0xde3b,0xde6c],0xde75,0xde84,[0xde9b,0xde9f],[0xdea1,0xdeaf]],_0xcae550[_0x165f4e(0x531)]=[[0xdc00,0xdc06],[0xdc08,0xdc18],[0xdc1b,0xdc21],[0xdc23,0xdc24],[0xdc26,0xdc2a],[0xdd30,0xdd36],[0xdeec,0xdeef]],_0xcae550[_0x165f4e(0x59a)]=[[0xdcd0,0xdcd6],[0xdd44,0xdd4a]],_0xcae550[_0x165f4e(0x311)]=[[0xdd00,0xddef]];var _0x20ae72={};_0x20ae72['55300']=[0xdc00,0xdc02,0xdc82,[0xdcb0,0xdcb2],[0xdcb7,0xdcb8],0xdd2c,[0xdd45,0xdd46],0xdd82,[0xddb3,0xddb5],[0xddbf,0xddc0],0xddce,[0xde2c,0xde2e],[0xde32,0xde33],0xde35,[0xdee0,0xdee2],[0xdf02,0xdf03],[0xdf3e,0xdf3f],[0xdf41,0xdf44],[0xdf47,0xdf48],[0xdf4b,0xdf4d],0xdf57,[0xdf62,0xdf63]],_0x20ae72[_0x165f4e(0x4f7)]=[[0xdc35,0xdc37],[0xdc40,0xdc41],0xdc45,[0xdcb0,0xdcb2],0xdcb9,[0xdcbb,0xdcbe],0xdcc1,[0xddaf,0xddb1],[0xddb8,0xddbb],0xddbe,[0xde30,0xde32],[0xde3b,0xde3c],0xde3e,0xdeac,[0xdeae,0xdeaf],0xdeb6,[0xdf20,0xdf21],0xdf26],_0x20ae72[_0x165f4e(0x58d)]=[[0xdc2c,0xdc2e],0xdc38,[0xdd30,0xdd35],[0xdd37,0xdd38],0xdd3d,0xdd40,0xdd42,[0xddd1,0xddd3],[0xdddc,0xdddf],0xdde4,0xde39,[0xde57,0xde58],0xde97],_0x20ae72['55303']=[0xdc2f,0xdc3e,0xdca9,0xdcb1,0xdcb4,[0xdd8a,0xdd8e],[0xdd93,0xdd94],0xdd96,[0xdef5,0xdef6]],_0x20ae72['55323']=[[0xdf51,0xdf87],[0xdff0,0xdff1]],_0x20ae72['55348']=[[0xdd65,0xdd66],[0xdd6d,0xdd72]];var _0x55cf38={};_0x55cf38[_0x165f4e(0x448)]=[[0xdca0,0xdca9]],_0x55cf38['55299']=[[0xdd30,0xdd39]],_0x55cf38['55300']=[[0xdc66,0xdc6f],[0xdcf0,0xdcf9],[0xdd36,0xdd3f],[0xddd0,0xddd9],[0xdef0,0xdef9]],_0x55cf38['55301']=[[0xdc50,0xdc59],[0xdcd0,0xdcd9],[0xde50,0xde59],[0xdec0,0xdec9],[0xdf30,0xdf39]],_0x55cf38['55302']=[[0xdce0,0xdce9],0xdd50],_0x55cf38[_0x165f4e(0x2ef)]=[[0xdc50,0xdc59],[0xdd50,0xdd59],[0xdda0,0xdda9]],_0x55cf38[_0x165f4e(0x323)]=[[0xde60,0xde69],[0xdf50,0xdf59]],_0x55cf38['55349']=[[0xdfce,0xdfff]],_0x55cf38[_0x165f4e(0x531)]=[[0xdd40,0xdd49],[0xdef0,0xdef9]],_0x55cf38[_0x165f4e(0x59a)]=[[0xdd50,0xdd59]],_0x55cf38[_0x165f4e(0x2cf)]=[[0xdff0,0xdff9]],(Object[_0x165f4e(0x36a)+_0x165f4e(0x487)](_0x20a806,_0x165f4e(0x47a),_0xa9a437),_0x20a806[_0x165f4e(0x4e7)]=_0x20a806[_0x165f4e(0x3b1)+_0x165f4e(0x378)]=_0x20a806[_0x165f4e(0x2fd)]=_0x20a806['unicodeMcS'+'urrogate']=_0x20a806[_0x165f4e(0x169)]=_0x20a806[_0x165f4e(0x4f5)+_0x165f4e(0x378)]=_0x20a806[_0x165f4e(0x12c)]=_0x20a806[_0x165f4e(0x526)+_0x165f4e(0x378)]=_0x20a806[_0x165f4e(0x580)]=_0x20a806['unicodeLmS'+_0x165f4e(0x378)]=_0x20a806[_0x165f4e(0x298)]=_0x20a806[_0x165f4e(0x30d)+_0x165f4e(0x378)]=_0x20a806[_0x165f4e(0x54e)]=_0x20a806[_0x165f4e(0x4c9)]=_0x20a806[_0x165f4e(0x4c6)+_0x165f4e(0x378)]=_0x20a806['unicodeLl']=_0x20a806[_0x165f4e(0x47b)+_0x165f4e(0x378)]=_0x20a806[_0x165f4e(0x59e)]=void 0x0,_0x20a806['unicodeLu']=[[0x41,0x5a],[0xc0,0xd6],[0xd8,0xde],0x100,0x102,0x104,0x106,0x108,0x10a,0x10c,0x10e,0x110,0x112,0x114,0x116,0x118,0x11a,0x11c,0x11e,0x120,0x122,0x124,0x126,0x128,0x12a,0x12c,0x12e,0x130,0x132,0x134,0x136,0x139,0x13b,0x13d,0x13f,0x141,0x143,0x145,0x147,0x14a,0x14c,0x14e,0x150,0x152,0x154,0x156,0x158,0x15a,0x15c,0x15e,0x160,0x162,0x164,0x166,0x168,0x16a,0x16c,0x16e,0x170,0x172,0x174,0x176,[0x178,0x179],0x17b,0x17d,[0x181,0x182],0x184,[0x186,0x187],[0x189,0x18b],[0x18e,0x191],[0x193,0x194],[0x196,0x198],[0x19c,0x19d],[0x19f,0x1a0],0x1a2,0x1a4,[0x1a6,0x1a7],0x1a9,0x1ac,[0x1ae,0x1af],[0x1b1,0x1b3],0x1b5,[0x1b7,0x1b8],0x1bc,0x1c4,0x1c7,0x1ca,0x1cd,0x1cf,0x1d1,0x1d3,0x1d5,0x1d7,0x1d9,0x1db,0x1de,0x1e0,0x1e2,0x1e4,0x1e6,0x1e8,0x1ea,0x1ec,0x1ee,0x1f1,0x1f4,[0x1f6,0x1f8],0x1fa,0x1fc,0x1fe,0x200,0x202,0x204,0x206,0x208,0x20a,0x20c,0x20e,0x210,0x212,0x214,0x216,0x218,0x21a,0x21c,0x21e,0x220,0x222,0x224,0x226,0x228,0x22a,0x22c,0x22e,0x230,0x232,[0x23a,0x23b],[0x23d,0x23e],0x241,[0x243,0x246],0x248,0x24a,0x24c,0x24e,0x370,0x372,0x376,0x37f,0x386,[0x388,0x38a],0x38c,[0x38e,0x38f],[0x391,0x3a1],[0x3a3,0x3ab],0x3cf,[0x3d2,0x3d4],0x3d8,0x3da,0x3dc,0x3de,0x3e0,0x3e2,0x3e4,0x3e6,0x3e8,0x3ea,0x3ec,0x3ee,0x3f4,0x3f7,[0x3f9,0x3fa],[0x3fd,0x42f],0x460,0x462,0x464,0x466,0x468,0x46a,0x46c,0x46e,0x470,0x472,0x474,0x476,0x478,0x47a,0x47c,0x47e,0x480,0x48a,0x48c,0x48e,0x490,0x492,0x494,0x496,0x498,0x49a,0x49c,0x49e,0x4a0,0x4a2,0x4a4,0x4a6,0x4a8,0x4aa,0x4ac,0x4ae,0x4b0,0x4b2,0x4b4,0x4b6,0x4b8,0x4ba,0x4bc,0x4be,[0x4c0,0x4c1],0x4c3,0x4c5,0x4c7,0x4c9,0x4cb,0x4cd,0x4d0,0x4d2,0x4d4,0x4d6,0x4d8,0x4da,0x4dc,0x4de,0x4e0,0x4e2,0x4e4,0x4e6,0x4e8,0x4ea,0x4ec,0x4ee,0x4f0,0x4f2,0x4f4,0x4f6,0x4f8,0x4fa,0x4fc,0x4fe,0x500,0x502,0x504,0x506,0x508,0x50a,0x50c,0x50e,0x510,0x512,0x514,0x516,0x518,0x51a,0x51c,0x51e,0x520,0x522,0x524,0x526,0x528,0x52a,0x52c,0x52e,[0x531,0x556],[0x10a0,0x10c5],0x10c7,0x10cd,[0x13a0,0x13f5],0x1e00,0x1e02,0x1e04,0x1e06,0x1e08,0x1e0a,0x1e0c,0x1e0e,0x1e10,0x1e12,0x1e14,0x1e16,0x1e18,0x1e1a,0x1e1c,0x1e1e,0x1e20,0x1e22,0x1e24,0x1e26,0x1e28,0x1e2a,0x1e2c,0x1e2e,0x1e30,0x1e32,0x1e34,0x1e36,0x1e38,0x1e3a,0x1e3c,0x1e3e,0x1e40,0x1e42,0x1e44,0x1e46,0x1e48,0x1e4a,0x1e4c,0x1e4e,0x1e50,0x1e52,0x1e54,0x1e56,0x1e58,0x1e5a,0x1e5c,0x1e5e,0x1e60,0x1e62,0x1e64,0x1e66,0x1e68,0x1e6a,0x1e6c,0x1e6e,0x1e70,0x1e72,0x1e74,0x1e76,0x1e78,0x1e7a,0x1e7c,0x1e7e,0x1e80,0x1e82,0x1e84,0x1e86,0x1e88,0x1e8a,0x1e8c,0x1e8e,0x1e90,0x1e92,0x1e94,0x1e9e,0x1ea0,0x1ea2,0x1ea4,0x1ea6,0x1ea8,0x1eaa,0x1eac,0x1eae,0x1eb0,0x1eb2,0x1eb4,0x1eb6,0x1eb8,0x1eba,0x1ebc,0x1ebe,0x1ec0,0x1ec2,0x1ec4,0x1ec6,0x1ec8,0x1eca,0x1ecc,0x1ece,0x1ed0,0x1ed2,0x1ed4,0x1ed6,0x1ed8,0x1eda,0x1edc,0x1ede,0x1ee0,0x1ee2,0x1ee4,0x1ee6,0x1ee8,0x1eea,0x1eec,0x1eee,0x1ef0,0x1ef2,0x1ef4,0x1ef6,0x1ef8,0x1efa,0x1efc,0x1efe,[0x1f08,0x1f0f],[0x1f18,0x1f1d],[0x1f28,0x1f2f],[0x1f38,0x1f3f],[0x1f48,0x1f4d],0x1f59,0x1f5b,0x1f5d,0x1f5f,[0x1f68,0x1f6f],[0x1fb8,0x1fbb],[0x1fc8,0x1fcb],[0x1fd8,0x1fdb],[0x1fe8,0x1fec],[0x1ff8,0x1ffb],0x2102,0x2107,[0x210b,0x210d],[0x2110,0x2112],0x2115,[0x2119,0x211d],0x2124,0x2126,0x2128,[0x212a,0x212d],[0x2130,0x2133],[0x213e,0x213f],0x2145,0x2183,[0x2c00,0x2c2e],0x2c60,[0x2c62,0x2c64],0x2c67,0x2c69,0x2c6b,[0x2c6d,0x2c70],0x2c72,0x2c75,[0x2c7e,0x2c80],0x2c82,0x2c84,0x2c86,0x2c88,0x2c8a,0x2c8c,0x2c8e,0x2c90,0x2c92,0x2c94,0x2c96,0x2c98,0x2c9a,0x2c9c,0x2c9e,0x2ca0,0x2ca2,0x2ca4,0x2ca6,0x2ca8,0x2caa,0x2cac,0x2cae,0x2cb0,0x2cb2,0x2cb4,0x2cb6,0x2cb8,0x2cba,0x2cbc,0x2cbe,0x2cc0,0x2cc2,0x2cc4,0x2cc6,0x2cc8,0x2cca,0x2ccc,0x2cce,0x2cd0,0x2cd2,0x2cd4,0x2cd6,0x2cd8,0x2cda,0x2cdc,0x2cde,0x2ce0,0x2ce2,0x2ceb,0x2ced,0x2cf2,0xa640,0xa642,0xa644,0xa646,0xa648,0xa64a,0xa64c,0xa64e,0xa650,0xa652,0xa654,0xa656,0xa658,0xa65a,0xa65c,0xa65e,0xa660,0xa662,0xa664,0xa666,0xa668,0xa66a,0xa66c,0xa680,0xa682,0xa684,0xa686,0xa688,0xa68a,0xa68c,0xa68e,0xa690,0xa692,0xa694,0xa696,0xa698,0xa69a,0xa722,0xa724,0xa726,0xa728,0xa72a,0xa72c,0xa72e,0xa732,0xa734,0xa736,0xa738,0xa73a,0xa73c,0xa73e,0xa740,0xa742,0xa744,0xa746,0xa748,0xa74a,0xa74c,0xa74e,0xa750,0xa752,0xa754,0xa756,0xa758,0xa75a,0xa75c,0xa75e,0xa760,0xa762,0xa764,0xa766,0xa768,0xa76a,0xa76c,0xa76e,0xa779,0xa77b,[0xa77d,0xa77e],0xa780,0xa782,0xa784,0xa786,0xa78b,0xa78d,0xa790,0xa792,0xa796,0xa798,0xa79a,0xa79c,0xa79e,0xa7a0,0xa7a2,0xa7a4,0xa7a6,0xa7a8,[0xa7aa,0xa7ae],[0xa7b0,0xa7b4],0xa7b6,[0xff21,0xff3a],[0x10400,0x10427],[0x104b0,0x104d3],[0x10c80,0x10cb2],[0x118a0,0x118bf],[0x1d400,0x1d419],[0x1d434,0x1d44d],[0x1d468,0x1d481],0x1d49c,[0x1d49e,0x1d49f],0x1d4a2,[0x1d4a5,0x1d4a6],[0x1d4a9,0x1d4ac],[0x1d4ae,0x1d4b5],[0x1d4d0,0x1d4e9],[0x1d504,0x1d505],[0x1d507,0x1d50a],[0x1d50d,0x1d514],[0x1d516,0x1d51c],[0x1d538,0x1d539],[0x1d53b,0x1d53e],[0x1d540,0x1d544],0x1d546,[0x1d54a,0x1d550],[0x1d56c,0x1d585],[0x1d5a0,0x1d5b9],[0x1d5d4,0x1d5ed],[0x1d608,0x1d621],[0x1d63c,0x1d655],[0x1d670,0x1d689],[0x1d6a8,0x1d6c0],[0x1d6e2,0x1d6fa],[0x1d71c,0x1d734],[0x1d756,0x1d76e],[0x1d790,0x1d7a8],0x1d7ca,[0x1e900,0x1e921]],_0x20a806[_0x165f4e(0x47b)+_0x165f4e(0x378)]=_0x30ea1b,_0x20a806['unicodeLl']=[[0x61,0x7a],0xb5,[0xdf,0xf6],[0xf8,0xff],0x101,0x103,0x105,0x107,0x109,0x10b,0x10d,0x10f,0x111,0x113,0x115,0x117,0x119,0x11b,0x11d,0x11f,0x121,0x123,0x125,0x127,0x129,0x12b,0x12d,0x12f,0x131,0x133,0x135,[0x137,0x138],0x13a,0x13c,0x13e,0x140,0x142,0x144,0x146,[0x148,0x149],0x14b,0x14d,0x14f,0x151,0x153,0x155,0x157,0x159,0x15b,0x15d,0x15f,0x161,0x163,0x165,0x167,0x169,0x16b,0x16d,0x16f,0x171,0x173,0x175,0x177,0x17a,0x17c,[0x17e,0x180],0x183,0x185,0x188,[0x18c,0x18d],0x192,0x195,[0x199,0x19b],0x19e,0x1a1,0x1a3,0x1a5,0x1a8,[0x1aa,0x1ab],0x1ad,0x1b0,0x1b4,0x1b6,[0x1b9,0x1ba],[0x1bd,0x1bf],0x1c6,0x1c9,0x1cc,0x1ce,0x1d0,0x1d2,0x1d4,0x1d6,0x1d8,0x1da,[0x1dc,0x1dd],0x1df,0x1e1,0x1e3,0x1e5,0x1e7,0x1e9,0x1eb,0x1ed,[0x1ef,0x1f0],0x1f3,0x1f5,0x1f9,0x1fb,0x1fd,0x1ff,0x201,0x203,0x205,0x207,0x209,0x20b,0x20d,0x20f,0x211,0x213,0x215,0x217,0x219,0x21b,0x21d,0x21f,0x221,0x223,0x225,0x227,0x229,0x22b,0x22d,0x22f,0x231,[0x233,0x239],0x23c,[0x23f,0x240],0x242,0x247,0x249,0x24b,0x24d,[0x24f,0x293],[0x295,0x2af],0x371,0x373,0x377,[0x37b,0x37d],0x390,[0x3ac,0x3ce],[0x3d0,0x3d1],[0x3d5,0x3d7],0x3d9,0x3db,0x3dd,0x3df,0x3e1,0x3e3,0x3e5,0x3e7,0x3e9,0x3eb,0x3ed,[0x3ef,0x3f3],0x3f5,0x3f8,[0x3fb,0x3fc],[0x430,0x45f],0x461,0x463,0x465,0x467,0x469,0x46b,0x46d,0x46f,0x471,0x473,0x475,0x477,0x479,0x47b,0x47d,0x47f,0x481,0x48b,0x48d,0x48f,0x491,0x493,0x495,0x497,0x499,0x49b,0x49d,0x49f,0x4a1,0x4a3,0x4a5,0x4a7,0x4a9,0x4ab,0x4ad,0x4af,0x4b1,0x4b3,0x4b5,0x4b7,0x4b9,0x4bb,0x4bd,0x4bf,0x4c2,0x4c4,0x4c6,0x4c8,0x4ca,0x4cc,[0x4ce,0x4cf],0x4d1,0x4d3,0x4d5,0x4d7,0x4d9,0x4db,0x4dd,0x4df,0x4e1,0x4e3,0x4e5,0x4e7,0x4e9,0x4eb,0x4ed,0x4ef,0x4f1,0x4f3,0x4f5,0x4f7,0x4f9,0x4fb,0x4fd,0x4ff,0x501,0x503,0x505,0x507,0x509,0x50b,0x50d,0x50f,0x511,0x513,0x515,0x517,0x519,0x51b,0x51d,0x51f,0x521,0x523,0x525,0x527,0x529,0x52b,0x52d,0x52f,[0x561,0x587],[0x13f8,0x13fd],[0x1c80,0x1c88],[0x1d00,0x1d2b],[0x1d6b,0x1d77],[0x1d79,0x1d9a],0x1e01,0x1e03,0x1e05,0x1e07,0x1e09,0x1e0b,0x1e0d,0x1e0f,0x1e11,0x1e13,0x1e15,0x1e17,0x1e19,0x1e1b,0x1e1d,0x1e1f,0x1e21,0x1e23,0x1e25,0x1e27,0x1e29,0x1e2b,0x1e2d,0x1e2f,0x1e31,0x1e33,0x1e35,0x1e37,0x1e39,0x1e3b,0x1e3d,0x1e3f,0x1e41,0x1e43,0x1e45,0x1e47,0x1e49,0x1e4b,0x1e4d,0x1e4f,0x1e51,0x1e53,0x1e55,0x1e57,0x1e59,0x1e5b,0x1e5d,0x1e5f,0x1e61,0x1e63,0x1e65,0x1e67,0x1e69,0x1e6b,0x1e6d,0x1e6f,0x1e71,0x1e73,0x1e75,0x1e77,0x1e79,0x1e7b,0x1e7d,0x1e7f,0x1e81,0x1e83,0x1e85,0x1e87,0x1e89,0x1e8b,0x1e8d,0x1e8f,0x1e91,0x1e93,[0x1e95,0x1e9d],0x1e9f,0x1ea1,0x1ea3,0x1ea5,0x1ea7,0x1ea9,0x1eab,0x1ead,0x1eaf,0x1eb1,0x1eb3,0x1eb5,0x1eb7,0x1eb9,0x1ebb,0x1ebd,0x1ebf,0x1ec1,0x1ec3,0x1ec5,0x1ec7,0x1ec9,0x1ecb,0x1ecd,0x1ecf,0x1ed1,0x1ed3,0x1ed5,0x1ed7,0x1ed9,0x1edb,0x1edd,0x1edf,0x1ee1,0x1ee3,0x1ee5,0x1ee7,0x1ee9,0x1eeb,0x1eed,0x1eef,0x1ef1,0x1ef3,0x1ef5,0x1ef7,0x1ef9,0x1efb,0x1efd,[0x1eff,0x1f07],[0x1f10,0x1f15],[0x1f20,0x1f27],[0x1f30,0x1f37],[0x1f40,0x1f45],[0x1f50,0x1f57],[0x1f60,0x1f67],[0x1f70,0x1f7d],[0x1f80,0x1f87],[0x1f90,0x1f97],[0x1fa0,0x1fa7],[0x1fb0,0x1fb4],[0x1fb6,0x1fb7],0x1fbe,[0x1fc2,0x1fc4],[0x1fc6,0x1fc7],[0x1fd0,0x1fd3],[0x1fd6,0x1fd7],[0x1fe0,0x1fe7],[0x1ff2,0x1ff4],[0x1ff6,0x1ff7],0x210a,[0x210e,0x210f],0x2113,0x212f,0x2134,0x2139,[0x213c,0x213d],[0x2146,0x2149],0x214e,0x2184,[0x2c30,0x2c5e],0x2c61,[0x2c65,0x2c66],0x2c68,0x2c6a,0x2c6c,0x2c71,[0x2c73,0x2c74],[0x2c76,0x2c7b],0x2c81,0x2c83,0x2c85,0x2c87,0x2c89,0x2c8b,0x2c8d,0x2c8f,0x2c91,0x2c93,0x2c95,0x2c97,0x2c99,0x2c9b,0x2c9d,0x2c9f,0x2ca1,0x2ca3,0x2ca5,0x2ca7,0x2ca9,0x2cab,0x2cad,0x2caf,0x2cb1,0x2cb3,0x2cb5,0x2cb7,0x2cb9,0x2cbb,0x2cbd,0x2cbf,0x2cc1,0x2cc3,0x2cc5,0x2cc7,0x2cc9,0x2ccb,0x2ccd,0x2ccf,0x2cd1,0x2cd3,0x2cd5,0x2cd7,0x2cd9,0x2cdb,0x2cdd,0x2cdf,0x2ce1,[0x2ce3,0x2ce4],0x2cec,0x2cee,0x2cf3,[0x2d00,0x2d25],0x2d27,0x2d2d,0xa641,0xa643,0xa645,0xa647,0xa649,0xa64b,0xa64d,0xa64f,0xa651,0xa653,0xa15,0xa657,0xa659,0xa65b,0xa65d,0xa65f,0xa661,0xa663,0xa665,0xa667,0xa669,0xa66b,0xa66d,0xa681,0xa683,0xa685,0xa687,0xa689,0xa68b,0xa68d,0xa68f,0xa691,0xa693,0xa695,0xa697,0xa699,0xa69b,0xa723,0xa725,0xa727,0xa729,0xa72b,0xa72d,[0xa72f,0xa731],0xa733,0xa735,0xa737,0xa739,0xa73b,0xa73d,0xa73f,0xa741,0xa743,0xa745,0xa747,0xa749,0xa74b,0xa74d,0xa74f,0xa751,0xa753,0xa755,0xa757,0xa759,0xa75b,0xa75d,0xa75f,0xa761,0xa763,0xa765,0xa767,0xa769,0xa76b,0xa76d,0xa76f,[0xa771,0xa778],0xa77a,0xa77c,0xa77f,0xa781,0xa783,0xa785,0xa787,0xa78c,0xa78e,0xa791,[0xa793,0xa795],0xa797,0xa799,0xa79b,0xa79d,0xa79f,0xa7a1,0xa7a3,0xa7a5,0xa7a7,0xa7a9,0xa7b5,0xa7b7,0xa7fa,[0xab30,0xab5a],[0xab60,0xab65],[0xab70,0xabbf],[0xfb00,0xfb06],[0xfb13,0xfb17],[0xff41,0xff5a],[0x10428,0x1044f],[0x104d8,0x104fb],[0x10cc0,0x10cf2],[0x118c0,0x118df],[0x1d41a,0x1d433],[0x1d44e,0x1d454],[0x1d456,0x1d467],[0x1d482,0x1d49b],[0x1d4b6,0x1d4b9],0x1d4bb,[0x1d4bd,0x1d4c3],[0x1d4c5,0x1d4cf],[0x1d4ea,0x1d503],[0x1d51e,0x1d537],[0x1d552,0x1d56b],[0x1d586,0x1d59f],[0x1d5ba,0x1d5d3],[0x1d5ee,0x1d607],[0x1d622,0x1d63b],[0x1d656,0x1d66f],[0x1d68a,0x1d6a5],[0x1d6c2,0x1d6da],[0x1d6dc,0x1d6e1],[0x1d6fc,0x1d714],[0x1d716,0x1d71b],[0x1d736,0x1d74e],[0x1d750,0x1d755],[0x1d770,0x1d788],[0x1d78a,0x1d78f],[0x1d7aa,0x1d7c2],[0x1d7c4,0x1d7c9],0x1d7cb,[0x1e922,0x1e943]],_0x20a806[_0x165f4e(0x4c6)+'urrogate']=_0x392e16,_0x20a806[_0x165f4e(0x4c9)]=[0x1c5,0x1c8,0x1cb,0x1f2,[0x1f88,0x1f8f],[0x1f98,0x1f9f],[0x1fa8,0x1faf],0x1fbc,0x1fcc,0x1ffc],_0x20a806[_0x165f4e(0x54e)]=[0xaa,0xba,0x1bb,[0x1c0,0x1c3],0x294,[0x5d0,0x5ea],[0x5f0,0x5f2],[0x620,0x63f],[0x641,0x64a],[0x66e,0x66f],[0x671,0x6d3],0x6d5,[0x6ee,0x6ef],[0x6fa,0x6fc],0x6ff,0x710,[0x712,0x72f],[0x74d,0x7a5],0x7b1,[0x7ca,0x7ea],[0x800,0x815],[0x840,0x858],[0x860,0x86a],[0x8a0,0x8b4],[0x8b6,0x8bd],[0x904,0x939],0x93d,0x950,[0x958,0x961],[0x972,0x980],[0x985,0x98c],[0x98f,0x990],[0x993,0x9a8],[0x9aa,0x9b0],0x9b2,[0x9b6,0x9b9],0x9bd,0x9ce,[0x9dc,0x9dd],[0x9df,0x9e1],[0x9f0,0x9f1],0x9fc,[0xa05,0xa0a],[0xa0f,0xa10],[0xa13,0xa28],[0xa2a,0xa30],[0xa32,0xa33],[0xa35,0xa36],[0xa38,0xa39],[0xa59,0xa5c],0xa5e,[0xa72,0xa74],[0xa85,0xa8d],[0xa8f,0xa91],[0xa93,0xaa8],[0xaaa,0xab0],[0xab2,0xab3],[0xab5,0xab9],0xabd,0xad0,[0xae0,0xae1],0xaf9,[0xb05,0xb0c],[0xb0f,0xb10],[0xb13,0xb28],[0xb2a,0xb30],[0xb32,0xb33],[0xb35,0xb39],0xb3d,[0xb5c,0xb5d],[0xb5f,0xb61],0xb71,0xb83,[0xb85,0xb8a],[0xb8e,0xb90],[0xb92,0xb95],[0xb99,0xb9a],0xb9c,[0xb9e,0xb9f],[0xba3,0xba4],[0xba8,0xbaa],[0xbae,0xbb9],0xbd0,[0xc05,0xc0c],[0xc0e,0xc10],[0xc12,0xc28],[0xc2a,0xc39],0xc3d,[0xc58,0xc5a],[0xc60,0xc61],0xc80,[0xc85,0xc8c],[0xc8e,0xc90],[0xc92,0xca8],[0xcaa,0xcb3],[0xcb5,0xcb9],0xcbd,0xcde,[0xce0,0xce1],[0xcf1,0xcf2],[0xd05,0xd0c],[0xd0e,0xd10],[0xd12,0xd3a],0xd3d,0xd4e,[0xd54,0xd56],[0xd5f,0xd61],[0xd7a,0xd7f],[0xd85,0xd96],[0xd9a,0xdb1],[0xdb3,0xdbb],0xdbd,[0xdc0,0xdc6],[0xe01,0xe30],[0xe32,0xe33],[0xe40,0xe45],[0xe81,0xe82],0xe84,[0xe87,0xe88],0xe8a,0xe8d,[0xe94,0xe97],[0xe99,0xe9f],[0xea1,0xea3],0xea5,0xea7,[0xeaa,0xeab],[0xead,0xeb0],[0xeb2,0xeb3],0xebd,[0xec0,0xec4],[0xedc,0xedf],0xf00,[0xf40,0xf47],[0xf49,0xf6c],[0xf88,0xf8c],[0x1000,0x102a],0x103f,[0x1050,0x1055],[0x105a,0x105d],0x1061,[0x1065,0x1066],[0x106e,0x1070],[0x1075,0x1081],0x108e,[0x10d0,0x10fa],[0x10fd,0x1248],[0x124a,0x124d],[0x1250,0x1256],0x1258,[0x125a,0x125d],[0x1260,0x1288],[0x128a,0x128d],[0x1290,0x12b0],[0x12b2,0x12b5],[0x12b8,0x12be],0x12c0,[0x12c2,0x12c5],[0x12c8,0x12d6],[0x12d8,0x1310],[0x1312,0x1315],[0x1318,0x135a],[0x1380,0x138f],[0x1401,0x166c],[0x166f,0x167f],[0x1681,0x169a],[0x16a0,0x16ea],[0x16f1,0x16f8],[0x1700,0x170c],[0x170e,0x1711],[0x1720,0x1731],[0x1740,0x1751],[0x1760,0x176c],[0x176e,0x1770],[0x1780,0x17b3],0x17dc,[0x1820,0x1842],[0x1844,0x1877],[0x1880,0x1884],[0x1887,0x18a8],0x18aa,[0x18b0,0x18f5],[0x1900,0x191e],[0x1950,0x196d],[0x1970,0x1974],[0x1980,0x19ab],[0x19b0,0x19c9],[0x1a00,0x1a16],[0x1a20,0x1a54],[0x1b05,0x1b33],[0x1b45,0x1b4b],[0x1b83,0x1ba0],[0x1bae,0x1baf],[0x1bba,0x1be5],[0x1c00,0x1c23],[0x1c4d,0x1c4f],[0x1c5a,0x1c77],[0x1ce9,0x1cec],[0x1cee,0x1cf1],[0x1cf5,0x1cf6],[0x2135,0x2138],[0x2d30,0x2d67],[0x2d80,0x2d96],[0x2da0,0x2da6],[0x2da8,0x2dae],[0x2db0,0x2db6],[0x2db8,0x2dbe],[0x2dc0,0x2dc6],[0x2dc8,0x2dce],[0x2dd0,0x2dd6],[0x2dd8,0x2dde],0x3006,0x303c,[0x3041,0x3096],0x309f,[0x30a1,0x30fa],0x30ff,[0x3105,0x312e],[0x3131,0x318e],[0x31a0,0x31ba],[0x31f0,0x31ff],[0x3400,0x4db5],[0x4e00,0x9fea],[0xa000,0xa014],[0xa016,0xa48c],[0xa4d0,0xa4f7],[0xa500,0xa60b],[0xa610,0xa61f],[0xa62a,0xa62b],0xa66e,[0xa6a0,0xa6e5],0xa78f,0xa7f7,[0xa7fb,0xa801],[0xa803,0xa805],[0xa807,0xa80a],[0xa80c,0xa822],[0xa840,0xa873],[0xa882,0xa8b3],[0xa8f2,0xa8f7],0xa8fb,0xa8fd,[0xa90a,0xa925],[0xa930,0xa946],[0xa960,0xa97c],[0xa984,0xa9b2],[0xa9e0,0xa9e4],[0xa9e7,0xa9ef],[0xa9fa,0xa9fe],[0xaa00,0xaa28],[0xaa40,0xaa42],[0xaa44,0xaa4b],[0xaa60,0xaa6f],[0xaa71,0xaa76],0xaa7a,[0xaa7e,0xaaaf],0xaab1,[0xaab5,0xaab6],[0xaab9,0xaabd],0xaac0,0xaac2,[0xaadb,0xaadc],[0xaae0,0xaaea],0xaaf2,[0xab01,0xab06],[0xab09,0xab0e],[0xab11,0xab16],[0xab20,0xab26],[0xab28,0xab2e],[0xabc0,0xabe2],[0xac00,0xd7a3],[0xd7b0,0xd7c6],[0xd7cb,0xd7fb],[0xf900,0xfa6d],[0xfa70,0xfad9],0xfb1d,[0xfb1f,0xfb28],[0xfb2a,0xfb36],[0xfb38,0xfb3c],0xfb3e,[0xfb40,0xfb41],[0xfb43,0xfb44],[0xfb46,0xfbb1],[0xfbd3,0xfd3d],[0xfd50,0xfd8f],[0xfd92,0xfdc7],[0xfdf0,0xfdfb],[0xfe70,0xfe74],[0xfe76,0xfefc],[0xff66,0xff6f],[0xff71,0xff9d],[0xffa0,0xffbe],[0xffc2,0xffc7],[0xffca,0xffcf],[0xffd2,0xffd7],[0xffda,0xffdc],[0x10000,0x1000b],[0x1000d,0x10026],[0x10028,0x1003a],[0x1003c,0x1003d],[0x1003f,0x1004d],[0x10050,0x1005d],[0x10080,0x100fa],[0x10280,0x1029c],[0x102a0,0x102d0],[0x10300,0x1031f],[0x1032d,0x10340],[0x10342,0x10349],[0x10350,0x10375],[0x10380,0x1039d],[0x103a0,0x103c3],[0x103c8,0x103cf],[0x10450,0x1049d],[0x10500,0x10527],[0x10530,0x10563],[0x10600,0x10736],[0x10740,0x10755],[0x10760,0x10767],[0x10800,0x10805],0x10808,[0x1080a,0x10835],[0x10837,0x10838],0x1083c,[0x1083f,0x10855],[0x10860,0x10876],[0x10880,0x1089e],[0x108e0,0x108f2],[0x108f4,0x108f5],[0x10900,0x10915],[0x10920,0x10939],[0x10980,0x109b7],[0x109be,0x109bf],0x10a00,[0x10a10,0x10a13],[0x10a15,0x10a17],[0x10a19,0x10a33],[0x10a60,0x10a7c],[0x10a80,0x10a9c],[0x10ac0,0x10ac7],[0x10ac9,0x10ae4],[0x10b00,0x10b35],[0x10b40,0x10b55],[0x10b60,0x10b72],[0x10b80,0x10b91],[0x10c00,0x10c48],[0x11003,0x11037],[0x11083,0x110af],[0x110d0,0x110e8],[0x11103,0x11126],[0x11150,0x11172],0x11176,[0x11183,0x111b2],[0x111c1,0x111c4],0x111da,0x111dc,[0x11200,0x11211],[0x11213,0x1122b],[0x11280,0x11286],0x11288,[0x1128a,0x1128d],[0x1128f,0x1129d],[0x1129f,0x112a8],[0x112b0,0x112de],[0x11305,0x1130c],[0x1130f,0x11310],[0x11313,0x11328],[0x1132a,0x11330],[0x11332,0x11333],[0x11335,0x11339],0x1133d,0x11350,[0x1135d,0x11361],[0x11400,0x11434],[0x11447,0x1144a],[0x11480,0x114af],[0x114c4,0x114c5],0x114c7,[0x11580,0x115ae],[0x115d8,0x115db],[0x11600,0x1162f],0x11644,[0x11680,0x116aa],[0x11700,0x11719],0x118ff,0x11a00,[0x11a0b,0x11a32],0x11a3a,0x11a50,[0x11a5c,0x11a83],[0x11a86,0x11a89],[0x11ac0,0x11af8],[0x11c00,0x11c08],[0x11c0a,0x11c2e],0x11c40,[0x11c72,0x11c8f],[0x11d00,0x11d06],[0x11d08,0x11d09],[0x11d0b,0x11d30],0x11d46,[0x12000,0x12399],[0x12480,0x12543],[0x13000,0x1342e],[0x14400,0x14646],[0x16800,0x16a38],[0x16a40,0x16a5e],[0x16ad0,0x16aed],[0x16b00,0x16b2f],[0x16b63,0x16b77],[0x16b7d,0x16b8f],[0x16f00,0x16f44],0x16f50,[0x17000,0x187ec],[0x18800,0x18af2],[0x1b000,0x1b11e],[0x1b170,0x1b2fb],[0x1bc00,0x1bc6a],[0x1bc70,0x1bc7c],[0x1bc80,0x1bc88],[0x1bc90,0x1bc99],[0x1e800,0x1e8c4],[0x1ee00,0x1ee03],[0x1ee05,0x1ee1f],[0x1ee21,0x1ee22],0x1ee24,0x1ee27,[0x1ee29,0x1ee32],[0x1ee34,0x1ee37],0x1ee39,0x1ee3b,0x1ee42,0x1ee47,0x1ee49,0x1ee4b,[0x1ee4d,0x1ee4f],[0x1ee51,0x1ee52],0x1ee54,0x1ee57,0x1ee59,0x1ee5b,0x1ee5d,0x1ee5f,[0x1ee61,0x1ee62],0x1ee64,[0x1ee67,0x1ee6a],[0x1ee6c,0x1ee72],[0x1ee74,0x1ee77],[0x1ee79,0x1ee7c],0x1ee7e,[0x1ee80,0x1ee89],[0x1ee8b,0x1ee9b],[0x1eea1,0x1eea3],[0x1eea5,0x1eea9],[0x1eeab,0x1eebb],[0x20000,0x2a6d6],[0x2a700,0x2b734],[0x2b740,0x2b81d],[0x2b820,0x2cea1],[0x2ceb0,0x2ebe0],[0x2f800,0x2fa1d]],_0x20a806[_0x165f4e(0x30d)+_0x165f4e(0x378)]=_0x2dc55e,_0x20a806[_0x165f4e(0x298)]=[[0x2b0,0x2c1],[0x2c6,0x2d1],[0x2e0,0x2e4],0x2ec,0x2ee,0x374,0x37a,0x559,0x640,[0x6e5,0x6e6],[0x7f4,0x7f5],0x7fa,0x81a,0x824,0x828,0x971,0xe46,0xec6,0x10fc,0x17d7,0x1843,0x1aa7,[0x1c78,0x1c7d],[0x1d2c,0x1d6a],0x1d78,[0x1d9b,0x1dbf],0x2071,0x207f,[0x2090,0x209c],[0x2c7c,0x2c7d],0x2d6f,0x2e2f,0x3005,[0x3031,0x3035],0x303b,[0x309d,0x309e],[0x30fc,0x30fe],0xa015,[0xa4f8,0xa4fd],0xa60c,0xa67f,[0xa69c,0xa69d],[0xa717,0xa71f],0xa770,0xa788,[0xa7f8,0xa7f9],0xa9cf,0xa9e6,0xaa70,0xaadd,[0xaaf3,0xaaf4],[0xab5c,0xab5f],0xff70,[0xff9e,0xff9f],[0x16b40,0x16b43],[0x16f93,0x16f9f],[0x16fe0,0x16fe1]],_0x20a806[_0x165f4e(0x1a4)+'urrogate']=_0x4f16c6,_0x20a806[_0x165f4e(0x580)]=[[0x16ee,0x16f0],[0x2160,0x2182],[0x2185,0x2188],0x3007,[0x3021,0x3029],[0x3038,0x303a],[0xa6e6,0xa6ef],[0x10140,0x10174],0x10341,0x1034a,[0x103d1,0x103d5],[0x12400,0x1246e]],_0x20a806[_0x165f4e(0x526)+_0x165f4e(0x378)]=_0x1d55a8,_0x20a806[_0x165f4e(0x12c)]=[[0x300,0x36f],[0x483,0x487],[0x591,0x5bd],0x5bf,[0x5c1,0x5c2],[0x5c4,0x5c5],0x5c7,[0x610,0x61a],[0x64b,0x65f],0x670,[0x6d6,0x6dc],[0x6df,0x6e4],[0x6e7,0x6e8],[0x6ea,0x6ed],0x711,[0x730,0x74a],[0x7a6,0x7b0],[0x7eb,0x7f3],[0x816,0x819],[0x81b,0x823],[0x825,0x827],[0x829,0x82d],[0x859,0x85b],[0x8d4,0x8e1],[0x8e3,0x902],0x93a,0x93c,[0x941,0x948],0x94d,[0x951,0x957],[0x962,0x963],0x981,0x9bc,[0x9c1,0x9c4],0x9cd,[0x9e2,0x9e3],[0xa01,0xa02],0xa3c,[0xa41,0xa42],[0xa47,0xa48],[0xa4b,0xa4d],0xa51,[0xa70,0xa71],0xa75,[0xa81,0xa82],0xabc,[0xac1,0xac5],[0xac7,0xac8],0xacd,[0xae2,0xae3],[0xafa,0xaff],0xb01,0xb3c,0xb3f,[0xb41,0xb44],0xb4d,0xb56,[0xb62,0xb63],0xb82,0xbc0,0xbcd,0xc00,[0xc3e,0xc40],[0xc46,0xc48],[0xc4a,0xc4d],[0xc55,0xc56],[0xc62,0xc63],0xc81,0xcbc,0xcbf,0xcc6,[0xccc,0xccd],[0xce2,0xce3],[0xd00,0xd01],[0xd3b,0xd3c],[0xd41,0xd44],0xd4d,[0xd62,0xd63],0xdca,[0xdd2,0xdd4],0xdd6,0xe31,[0xe34,0xe3a],[0xe47,0xe4e],0xeb1,[0xeb4,0xeb9],[0xebb,0xebc],[0xec8,0xecd],[0xf18,0xf19],0xf35,0xf37,0xf39,[0xf71,0xf7e],[0xf80,0xf84],[0xf86,0xf87],[0xf8d,0xf97],[0xf99,0xfbc],0xfc6,[0x102d,0x1030],[0x1032,0x1037],[0x1039,0x103a],[0x103d,0x103e],[0x1058,0x1059],[0x105e,0x1060],[0x1071,0x1074],0x1082,[0x1085,0x1086],0x108d,0x109d,[0x135d,0x135f],[0x1712,0x1714],[0x1732,0x1734],[0x1752,0x1753],[0x1772,0x1773],[0x17b4,0x17b5],[0x17b7,0x17bd],0x17c6,[0x17c9,0x17d3],0x17dd,[0x180b,0x180d],[0x1885,0x1886],0x18a9,[0x1920,0x1922],[0x1927,0x1928],0x1932,[0x1939,0x193b],[0x1a17,0x1a18],0x1a1b,0x1a56,[0x1a58,0x1a5e],0x1a60,0x1a62,[0x1a65,0x1a6c],[0x1a73,0x1a7c],0x1a7f,[0x1ab0,0x1abd],[0x1b00,0x1b03],0x1b34,[0x1b36,0x1b3a],0x1b3c,0x1b42,[0x1b6b,0x1b73],[0x1b80,0x1b81],[0x1ba2,0x1ba5],[0x1ba8,0x1ba9],[0x1bab,0x1bad],0x1be6,[0x1be8,0x1be9],0x1bed,[0x1bef,0x1bf1],[0x1c2c,0x1c33],[0x1c36,0x1c37],[0x1cd0,0x1cd2],[0x1cd4,0x1ce0],[0x1ce2,0x1ce8],0x1ced,0x1cf4,[0x1cf8,0x1cf9],[0x1dc0,0x1df9],[0x1dfb,0x1dff],[0x20d0,0x20dc],0x20e1,[0x20e5,0x20f0],[0x2cef,0x2cf1],0x2d7f,[0x2de0,0x2dff],[0x302a,0x302d],[0x3099,0x309a],0xa66f,[0xa674,0xa67d],[0xa69e,0xa69f],[0xa6f0,0xa6f1],0xa802,0xa806,0xa80b,[0xa825,0xa826],[0xa8c4,0xa8c5],[0xa8e0,0xa8f1],[0xa926,0xa92d],[0xa947,0xa951],[0xa980,0xa982],0xa9b3,[0xa9b6,0xa9b9],0xa9bc,0xa9e5,[0xaa29,0xaa2e],[0xaa31,0xaa32],[0xaa35,0xaa36],0xaa43,0xaa4c,0xaa7c,0xaab0,[0xaab2,0xaab4],[0xaab7,0xaab8],[0xaabe,0xaabf],0xaac1,[0xaaec,0xaaed],0xaaf6,0xabe5,0xabe8,0xabed,0xfb1e,[0xfe00,0xfe0f],[0xfe20,0xfe2f],0x101fd,0x102e0,[0x10376,0x1037a],[0x10a01,0x10a03],[0x10a05,0x10a06],[0x10a0c,0x10a0f],[0x10a38,0x10a3a],0x10a3f,[0x10ae5,0x10ae6],0x11001,[0x11038,0x11046],[0x1107f,0x11081],[0x110b3,0x110b6],[0x110b9,0x110ba],[0x11100,0x11102],[0x11127,0x1112b],[0x1112d,0x11134],0x11173,[0x11180,0x11181],[0x111b6,0x111be],[0x111ca,0x111cc],[0x1122f,0x11231],0x11234,[0x11236,0x11237],0x1123e,0x112df,[0x112e3,0x112ea],[0x11300,0x11301],0x1133c,0x11340,[0x11366,0x1136c],[0x11370,0x11374],[0x11438,0x1143f],[0x11442,0x11444],0x11446,[0x114b3,0x114b8],0x114ba,[0x114bf,0x114c0],[0x114c2,0x114c3],[0x115b2,0x115b5],[0x115bc,0x115bd],[0x115bf,0x115c0],[0x115dc,0x115dd],[0x11633,0x1163a],0x1163d,[0x1163f,0x11640],0x116ab,0x116ad,[0x116b0,0x116b5],0x116b7,[0x1171d,0x1171f],[0x11722,0x11725],[0x11727,0x1172b],[0x11a01,0x11a06],[0x11a09,0x11a0a],[0x11a33,0x11a38],[0x11a3b,0x11a3e],0x11a47,[0x11a51,0x11a56],[0x11a59,0x11a5b],[0x11a8a,0x11a96],[0x11a98,0x11a99],[0x11c30,0x11c36],[0x11c38,0x11c3d],0x11c3f,[0x11c92,0x11ca7],[0x11caa,0x11cb0],[0x11cb2,0x11cb3],[0x11cb5,0x11cb6],[0x11d31,0x11d36],0x11d3a,[0x11d3c,0x11d3d],[0x11d3f,0x11d45],0x11d47,[0x16af0,0x16af4],[0x16b30,0x16b36],[0x16f8f,0x16f92],[0x1bc9d,0x1bc9e],[0x1d167,0x1d169],[0x1d17b,0x1d182],[0x1d185,0x1d18b],[0x1d1aa,0x1d1ad],[0x1d242,0x1d244],[0x1da00,0x1da36],[0x1da3b,0x1da6c],0x1da75,0x1da84,[0x1da9b,0x1da9f],[0x1daa1,0x1daaf],[0x1e000,0x1e006],[0x1e008,0x1e018],[0x1e01b,0x1e021],[0x1e023,0x1e024],[0x1e026,0x1e02a],[0x1e8d0,0x1e8d6],[0x1e944,0x1e94a],[0xe0100,0xe01ef]],_0x20a806[_0x165f4e(0x4f5)+_0x165f4e(0x378)]=_0xcae550,_0x20a806[_0x165f4e(0x169)]=[0x903,0x93b,[0x93e,0x940],[0x949,0x94c],[0x94e,0x94f],[0x982,0x983],[0x9be,0x9c0],[0x9c7,0x9c8],[0x9cb,0x9cc],0x9d7,0xa03,[0xa3e,0xa40],0xa83,[0xabe,0xac0],0xac9,[0xacb,0xacc],[0xb02,0xb03],0xb3e,0xb40,[0xb47,0xb48],[0xb4b,0xb4c],0xb57,[0xbbe,0xbbf],[0xbc1,0xbc2],[0xbc6,0xbc8],[0xbca,0xbcc],0xbd7,[0xc01,0xc03],[0xc41,0xc44],[0xc82,0xc83],0xcbe,[0xcc0,0xcc4],[0xcc7,0xcc8],[0xcca,0xccb],[0xcd5,0xcd6],[0xd02,0xd03],[0xd3e,0xd40],[0xd46,0xd48],[0xd4a,0xd4c],0xd57,[0xd82,0xd83],[0xdcf,0xdd1],[0xdd8,0xddf],[0xdf2,0xdf3],[0xf3e,0xf3f],0xf7f,[0x102b,0x102c],0x1031,0x1038,[0x103b,0x103c],[0x1056,0x1057],[0x1062,0x1064],[0x1067,0x106d],[0x1083,0x1084],[0x1087,0x108c],0x108f,[0x109a,0x109c],0x17b6,[0x17be,0x17c5],[0x17c7,0x17c8],[0x1923,0x1926],[0x1929,0x192b],[0x1930,0x1931],[0x1933,0x1938],[0x1a19,0x1a1a],0x1a55,0x1a57,0x1a61,[0x1a63,0x1a64],[0x1a6d,0x1a72],0x1b04,0x1b35,0x1b3b,[0x1b3d,0x1b41],[0x1b43,0x1b44],0x1b82,0x1ba1,[0x1ba6,0x1ba7],0x1baa,0x1be7,[0x1bea,0x1bec],0x1bee,[0x1bf2,0x1bf3],[0x1c24,0x1c2b],[0x1c34,0x1c35],0x1ce1,[0x1cf2,0x1cf3],0x1cf7,[0x302e,0x302f],[0xa823,0xa824],0xa827,[0xa880,0xa881],[0xa8b4,0xa8c3],[0xa952,0xa953],0xa983,[0xa9b4,0xa9b5],[0xa9ba,0xa9bb],[0xa9bd,0xa9c0],[0xaa2f,0xaa30],[0xaa33,0xaa34],0xaa4d,0xaa7b,0xaa7d,0xaaeb,[0xaaee,0xaaef],0xaaf5,[0xabe3,0xabe4],[0xabe6,0xabe7],[0xabe9,0xabea],0xabec,0x11000,0x11002,0x11082,[0x110b0,0x110b2],[0x110b7,0x110b8],0x1112c,0x11182,[0x111b3,0x111b5],[0x111bf,0x111c0],[0x1122c,0x1122e],[0x11232,0x11233],0x11235,[0x112e0,0x112e2],[0x11302,0x11303],[0x1133e,0x1133f],[0x11341,0x11344],[0x11347,0x11348],[0x1134b,0x1134d],0x11357,[0x11362,0x11363],[0x11435,0x11437],[0x11440,0x11441],0x11445,[0x114b0,0x114b2],0x114b9,[0x114bb,0x114be],0x114c1,[0x115af,0x115b1],[0x115b8,0x115bb],0x115be,[0x11630,0x11632],[0x1163b,0x1163c],0x1163e,0x116ac,[0x116ae,0x116af],0x116b6,[0x11720,0x11721],0x11726,[0x11a07,0x11a08],0x11a39,[0x11a57,0x11a58],0x11a97,0x11c2f,0x11c3e,0x11ca9,0x11cb1,0x11cb4,[0x16f51,0x16f7e],[0x1d165,0x1d166],[0x1d16d,0x1d172]],_0x20a806[_0x165f4e(0x504)+_0x165f4e(0x378)]=_0x20ae72,_0x20a806[_0x165f4e(0x2fd)]=[[0x30,0x39],[0x660,0x669],[0x6f0,0x6f9],[0x7c0,0x7c9],[0x966,0x96f],[0x9e6,0x9ef],[0xa66,0xa6f],[0xae6,0xaef],[0xb66,0xb6f],[0xbe6,0xbef],[0xc66,0xc6f],[0xce6,0xcef],[0xd66,0xd6f],[0xde6,0xdef],[0xe50,0xe59],[0xed0,0xed9],[0xf20,0xf29],[0x1040,0x1049],[0x1090,0x1099],[0x17e0,0x17e9],[0x1810,0x1819],[0x1946,0x194f],[0x19d0,0x19d9],[0x1a80,0x1a89],[0x1a90,0x1a99],[0x1b50,0x1b59],[0x1bb0,0x1bb9],[0x1c40,0x1c49],[0x1c50,0x1c59],[0xa620,0xa629],[0xa8d0,0xa8d9],[0xa900,0xa909],[0xa9d0,0xa9d9],[0xa9f0,0xa9f9],[0xaa50,0xaa59],[0xabf0,0xabf9],[0xff10,0xff19],[0x104a0,0x104a9],[0x11066,0x1106f],[0x110f0,0x110f9],[0x11136,0x1113f],[0x111d0,0x111d9],[0x112f0,0x112f9],[0x11450,0x11459],[0x114d0,0x114d9],[0x11650,0x11659],[0x116c0,0x116c9],[0x11730,0x11739],[0x118e0,0x118e9],[0x11c50,0x11c59],[0x11d50,0x11d59],[0x16a60,0x16a69],[0x16b50,0x16b59],[0x1d7ce,0x1d7ff],[0x1e950,0x1e959]],_0x20a806[_0x165f4e(0x3b1)+_0x165f4e(0x378)]=_0x55cf38,_0x20a806[_0x165f4e(0x4e7)]=[0x5f,[0x203f,0x2040],0x2054,[0xfe33,0xfe34],[0xfe4d,0xfe4f],0xff3f]);},0x13c4:function(_0x3df89d,_0x4cf0f7,_0x451307){'use strict';var _0x1d8d1f=a0_0x1bd9;var _0xa3331c=this&&this[_0x1d8d1f(0x3ff)+_0x1d8d1f(0x429)]||(Object['create']?function(_0x105101,_0x1b01dd,_0x4c7629,_0xd332c1){var _0xdd48c9=_0x1d8d1f;void 0x0===_0xd332c1&&(_0xd332c1=_0x4c7629),Object[_0xdd48c9(0x36a)+_0xdd48c9(0x487)](_0x105101,_0xd332c1,{'enumerable':!0x0,'get':function(){return _0x1b01dd[_0x4c7629];}});}:function(_0x249476,_0x2969db,_0x2a1475,_0x2357fb){void 0x0===_0x2357fb&&(_0x2357fb=_0x2a1475),_0x249476[_0x2357fb]=_0x2969db[_0x2a1475];}),_0xbf3ec9=this&&this[_0x1d8d1f(0x493)+_0x1d8d1f(0x2e5)]||(Object[_0x1d8d1f(0x52c)]?function(_0x4793a7,_0x196b17){var _0x8b840f=_0x1d8d1f,_0x4db45e={};_0x4db45e[_0x8b840f(0x3b6)]=!0x0,_0x4db45e['value']=_0x196b17,Object[_0x8b840f(0x36a)+_0x8b840f(0x487)](_0x4793a7,'default',_0x4db45e);}:function(_0x227a47,_0x2ac8a1){var _0x291646=_0x1d8d1f;_0x227a47[_0x291646(0x554)]=_0x2ac8a1;}),_0x11d268=this&&this[_0x1d8d1f(0x3ee)+'ar']||function(_0x167887){var _0x45eeb4=_0x1d8d1f;if(_0x167887&&_0x167887[_0x45eeb4(0x47a)])return _0x167887;var _0xc7cd3={};if(null!=_0x167887){for(var _0x4616ab in _0x167887)'default'!==_0x4616ab&&Object['prototype']['hasOwnProp'+_0x45eeb4(0x487)][_0x45eeb4(0x50b)](_0x167887,_0x4616ab)&&_0xa3331c(_0xc7cd3,_0x167887,_0x4616ab);}return _0xbf3ec9(_0xc7cd3,_0x167887),_0xc7cd3;},_0x1d6c2e={};_0x1d6c2e['value']=!0x0,(Object['defineProp'+_0x1d8d1f(0x487)](_0x4cf0f7,_0x1d8d1f(0x47a),_0x1d6c2e),_0x4cf0f7[_0x1d8d1f(0x284)+_0x1d8d1f(0x367)]=void 0x0);const _0x385171=_0x11d268(_0x451307(0x2518)),_0xd115e0=_0x451307(0x198d),_0x3a09b4=_0x451307(0xa32);_0x4cf0f7[_0x1d8d1f(0x284)+_0x1d8d1f(0x367)]=function(){var _0x52f5cd=_0x1d8d1f;(function(){var _0x2c0ed3=a0_0x1bd9;const _0x4f00ca=_0x385171[_0x2c0ed3(0x335)]['getConfigu'+'ration']('python')[_0x2c0ed3(0x270)](_0x2c0ed3(0x55c)+_0x2c0ed3(0x44f));return _0x2c0ed3(0x1a0)===_0x4f00ca||_0x2c0ed3(0x43a)===_0x4f00ca;}())&&_0x385171[_0x52f5cd(0x335)][_0x52f5cd(0x58a)+'eTextDocum'+_0x52f5cd(0x1de)](_0x129856=>{var _0x6db940=_0x52f5cd;'python'===_0x129856['document']['languageId']&&_0x129856['contentCha'+'nges']['forEach'](_0x3e6dc4=>function(_0x48efec,_0x116460){var _0x385853=a0_0x1bd9;if('\x27'!==_0x116460[_0x385853(0x2db)]&&'\x22'!==_0x116460['text'])return;const _0x34b2d7=_0x385171[_0x385853(0x3a0)][_0x385853(0x461)+_0x385853(0x425)];if(!_0x34b2d7||_0x34b2d7[_0x385853(0x447)][_0x385853(0x1a7)][_0x385853(0x145)]()!==_0x48efec[_0x385853(0x1a7)][_0x385853(0x145)]())return;if(_0x34b2d7[_0x385853(0x407)][_0x385853(0x262)]>0x1||!_0x34b2d7[_0x385853(0x264)][_0x385853(0x2cd)])return;const _0x3d7e2e=_0x116460[_0x385853(0x3d9)][_0x385853(0x582)],_0x11c2c0=_0x3d7e2e['translate'](0x0,0x1),_0x3ad934=_0x116460[_0x385853(0x2db)][0x0][_0x385853(0x538)](0x3);if(!_0x48efec[_0x385853(0x360)](new _0x385171['Range'](_0x11c2c0['with'](void 0x0,0x0),_0x11c2c0))[_0x385853(0x44c)](_0x3ad934))return;const _0x18a791=_0x48efec[_0x385853(0x360)](new _0x385171[(_0x385853(0x36b))](new _0x385171[(_0x385853(0x4da))](0x0,0x0),new _0x385171['Position'](_0x3d7e2e['line']+0x1,0x0))),_0x356448=new _0x3a09b4[(_0x385853(0x4ec))](),{lines:_0x3f6562,tokens:_0x27a2aa}=_0x356448[_0x385853(0x361)](_0x18a791),_0x285b23=(0x0,_0xd115e0[_0x385853(0x18f)+_0x385853(0x3c6)+_0x385853(0x1b3)])(_0x3d7e2e,_0x3f6562);if(void 0x0===_0x285b23||_0x285b23<0x0)return;const _0x14d79f=_0x27a2aa[_0x385853(0x548)](_0x27a2aa[_0x385853(0x162)+_0x385853(0x346)](_0x285b23));(function(_0x52fe09){return 0x5===_0x52fe09['type'];}(_0x14d79f)&&function(_0x4966e3,_0x5cc24d,_0x4d548d,_0x52513b,_0x498cd6,_0xd6296e){var _0x5b405d=_0x385853;const _0x1ae571=0x0!=(0x4&_0x52513b['flags']),_0x416600=0x0!=(0x10000&_0x52513b['flags']),_0x5f47cb=/^\s*$/[_0x5b405d(0x129)](_0x52513b['escapedVal'+'ue']);_0x1ae571&&_0x5f47cb&&_0x416600&&function(_0xbfadc7,_0xc6a214,_0x32bf8a){var _0x5d5bd3=_0x5b405d;const _0x44062c=_0x385171['workspace']['getConfigu'+_0x5d5bd3(0x1ed)]('editor',_0xbfadc7)[_0x5d5bd3(0x270)](_0x5d5bd3(0x4b1)+_0x5d5bd3(0x48e));return _0x5d5bd3(0x37c)===_0x44062c||_0x5d5bd3(0x2f4)+'fined'===_0x44062c||!('beforeWhit'+_0x5d5bd3(0x2ea)!==_0x44062c||0x0!==_0x32bf8a[_0x5d5bd3(0x5e4)]&&!/\s/[_0x5d5bd3(0x129)](_0xc6a214[_0x32bf8a[_0x5d5bd3(0x5e4)]-0x1]));}(_0x5cc24d[_0x5b405d(0x1a7)],_0x498cd6,_0x52513b)&&function(_0x21ef09,_0x58c252,_0x5b354d){var _0x2be13d=_0x5b405d;const _0x925e74=new _0x385171[(_0x2be13d(0x5e9))+'ing']();_0x925e74[_0x2be13d(0x528)+'eholder']('',0x0),_0x925e74['appendText'](_0x58c252),_0x21ef09['insertSnip'+_0x2be13d(0x210)](_0x925e74,_0x5b354d);}(_0x4966e3,_0x4d548d,_0xd6296e);}(_0x34b2d7,_0x48efec,_0x3ad934,_0x14d79f,_0x18a791,_0x11c2c0));}(_0x129856[_0x6db940(0x447)],_0x3e6dc4));});};},0x26ab:function(_0x645e75,_0x2252ab,_0x4b4552){'use strict';var _0x5a3954=a0_0x1bd9;var _0x1d9255=this&&this[_0x5a3954(0x3ff)+_0x5a3954(0x429)]||(Object['create']?function(_0x504179,_0x41a7b2,_0x13c2b5,_0x42ddb1){var _0x4cd6ec=_0x5a3954;void 0x0===_0x42ddb1&&(_0x42ddb1=_0x13c2b5),Object[_0x4cd6ec(0x36a)+_0x4cd6ec(0x487)](_0x504179,_0x42ddb1,{'enumerable':!0x0,'get':function(){return _0x41a7b2[_0x13c2b5];}});}:function(_0x68cf,_0x44f858,_0x416ee4,_0x3b2e97){void 0x0===_0x3b2e97&&(_0x3b2e97=_0x416ee4),_0x68cf[_0x3b2e97]=_0x44f858[_0x416ee4];}),_0x5cbc5c=this&&this[_0x5a3954(0x493)+_0x5a3954(0x2e5)]||(Object['create']?function(_0x5c781f,_0x415dce){var _0x276b47=_0x5a3954,_0x1bde11={};_0x1bde11[_0x276b47(0x3b6)]=!0x0,_0x1bde11[_0x276b47(0x5a3)]=_0x415dce,Object[_0x276b47(0x36a)+_0x276b47(0x487)](_0x5c781f,'default',_0x1bde11);}:function(_0x5d4f82,_0x5ed49e){_0x5d4f82['default']=_0x5ed49e;}),_0x18e5f8=this&&this[_0x5a3954(0x3ee)+'ar']||function(_0x339bac){var _0x472655=_0x5a3954;if(_0x339bac&&_0x339bac[_0x472655(0x47a)])return _0x339bac;var _0x161078={};if(null!=_0x339bac){for(var _0x127465 in _0x339bac)_0x472655(0x554)!==_0x127465&&Object[_0x472655(0x309)][_0x472655(0x3c1)+'erty'][_0x472655(0x50b)](_0x339bac,_0x127465)&&_0x1d9255(_0x161078,_0x339bac,_0x127465);}return _0x5cbc5c(_0x161078,_0x339bac),_0x161078;},_0xe7eed={};_0xe7eed[_0x5a3954(0x5a3)]=!0x0,(Object['defineProp'+'erty'](_0x2252ab,'__esModule',_0xe7eed),_0x2252ab['activate']=void 0x0);const _0x22cf90=_0x18e5f8(_0x4b4552(0x2518)),_0x26ed5f=_0x4b4552(0x144d);_0x2252ab['activate']=async function(_0x15ba70){var _0x4dea5d=_0x5a3954;const {version:_0x2ba041}=await(0x0,_0x26ed5f['activateSh'+'ared'])(_0x15ba70);return{'languageServerFolder':async()=>({'path':_0x22cf90['Uri'][_0x4dea5d(0x3e6)](_0x15ba70['extensionU'+'ri'],'dist')['toString'](),'version':_0x2ba041})};};},0x37d:(_0xef6ab1,_0x30c27a,_0x56558d)=>{'use strict';var _0x4fcbed=a0_0x1bd9;var _0x3b419f={};_0x3b419f['value']=!0x0,(Object[_0x4fcbed(0x36a)+_0x4fcbed(0x487)](_0x30c27a,_0x4fcbed(0x47a),_0x3b419f),_0x30c27a[_0x4fcbed(0x153)+'Paths']=void 0x0);const _0x47b684=_0x56558d(0x2518),_0x4dceff=_0x56558d(0x13a2);_0x30c27a['addToExtra'+_0x4fcbed(0x4e6)]=async function(_0x5a843d,_0x3f6aa0,_0x53e846,_0x5cf19a){var _0x79e06b=_0x4fcbed;const _0x343c3b=_0x5a843d[_0x79e06b(0x5b0)+_0x79e06b(0x1ed)]('python.ana'+'lysis',_0x47b684[_0x79e06b(0x2f5)][_0x79e06b(0x206)](_0x53e846)),_0x48919e=_0x343c3b['get']('extraPaths'),_0x594339=Array['isArray'](_0x48919e)?[..._0x48919e]:[];_0x594339['push'](_0x5cf19a),await _0x343c3b[_0x79e06b(0x3b4)](_0x79e06b(0x31e),_0x594339),await _0x3f6aa0[_0x79e06b(0x3a5)+_0x79e06b(0x5b8)](_0x4dceff[_0x79e06b(0x1f7)][_0x79e06b(0x25f)+_0x79e06b(0x4fd)+'d'],_0x4dceff[_0x79e06b(0x58b)+_0x79e06b(0x292)][_0x79e06b(0x153)+_0x79e06b(0x4e6)]);};},0x225b:function(_0x3dbe14,_0x32c540,_0x2b85cf){'use strict';var _0x4a5386=a0_0x1bd9;var _0x3c6308=this&&this[_0x4a5386(0x3ff)+_0x4a5386(0x429)]||(Object[_0x4a5386(0x52c)]?function(_0x56aa68,_0x879b46,_0x4c3e01,_0x3c88b4){var _0x431919=_0x4a5386;void 0x0===_0x3c88b4&&(_0x3c88b4=_0x4c3e01),Object[_0x431919(0x36a)+_0x431919(0x487)](_0x56aa68,_0x3c88b4,{'enumerable':!0x0,'get':function(){return _0x879b46[_0x4c3e01];}});}:function(_0xcf467e,_0x557daa,_0x79828f,_0x3d16e3){void 0x0===_0x3d16e3&&(_0x3d16e3=_0x79828f),_0xcf467e[_0x3d16e3]=_0x557daa[_0x79828f];}),_0xd11101=this&&this[_0x4a5386(0x493)+_0x4a5386(0x2e5)]||(Object[_0x4a5386(0x52c)]?function(_0x3f398d,_0x4dc7d3){var _0x2d4d0e=_0x4a5386,_0x10e014={};_0x10e014[_0x2d4d0e(0x3b6)]=!0x0,_0x10e014[_0x2d4d0e(0x5a3)]=_0x4dc7d3,Object[_0x2d4d0e(0x36a)+_0x2d4d0e(0x487)](_0x3f398d,_0x2d4d0e(0x554),_0x10e014);}:function(_0x563413,_0xd7277d){var _0x5dcb89=_0x4a5386;_0x563413[_0x5dcb89(0x554)]=_0xd7277d;}),_0x33066c=this&&this['__importSt'+'ar']||function(_0x3a3d9a){var _0x1d225b=_0x4a5386;if(_0x3a3d9a&&_0x3a3d9a[_0x1d225b(0x47a)])return _0x3a3d9a;var _0x3a668a={};if(null!=_0x3a3d9a){for(var _0x2c8e1b in _0x3a3d9a)'default'!==_0x2c8e1b&&Object[_0x1d225b(0x309)]['hasOwnProp'+_0x1d225b(0x487)][_0x1d225b(0x50b)](_0x3a3d9a,_0x2c8e1b)&&_0x3c6308(_0x3a668a,_0x3a3d9a,_0x2c8e1b);}return _0xd11101(_0x3a668a,_0x3a3d9a),_0x3a668a;},_0x2ba4cf={};_0x2ba4cf[_0x4a5386(0x5a3)]=!0x0,(Object[_0x4a5386(0x36a)+_0x4a5386(0x487)](_0x32c540,_0x4a5386(0x47a),_0x2ba4cf),_0x32c540[_0x4a5386(0x53a)]=void 0x0);const _0x115227=_0x33066c(_0x2b85cf(0x2518));_0x32c540[_0x4a5386(0x53a)]=function(_0xcf8de8){var _0xd73ffe=_0x4a5386;const _0xd86d44=_0x115227['window'][_0xd73ffe(0x461)+_0xd73ffe(0x425)];if(!_0xd86d44)return;const _0x3fab37=_0xcf8de8[_0xd73ffe(0x3a9)][_0xd73ffe(0x472)],_0x4506c8=_0xcf8de8['data'];if(_0x3fab37&&_0x4506c8){const _0x33282f=_0x4506c8[_0xd73ffe(0x1a8)+_0xd73ffe(0x383)],_0x7bc9d1=_0xd86d44[_0xd73ffe(0x447)][_0xd73ffe(0x1a7)][_0xd73ffe(0x145)](),_0x5e23d5=_0x3fab37[_0x7bc9d1];if(!_0x5e23d5){const _0x1ebe4a=Object[_0xd73ffe(0x399)](_0x3fab37);throw new Error(_0xd73ffe(0x1f1)+_0xd73ffe(0x427)+'ve\x20uri:\x20'+_0x7bc9d1+(_0xd73ffe(0x1e7)+_0xd73ffe(0x4f9)+_0xd73ffe(0x241))+_0x1ebe4a[_0xd73ffe(0x4f2)]('\x0a'));}let _0x15c543;for(let _0xdd899e=_0x5e23d5[_0xd73ffe(0x1bf)]((_0x406231,_0x5c3f6c)=>_0x5c3f6c['range'][_0xd73ffe(0x5e4)]['line']<_0x406231?_0x5c3f6c[_0xd73ffe(0x3d9)][_0xd73ffe(0x5e4)][_0xd73ffe(0x211)]:_0x406231,_0x5e23d5[0x0][_0xd73ffe(0x3d9)][_0xd73ffe(0x5e4)][_0xd73ffe(0x211)]);_0xdd899e<_0xd86d44['document']['lineCount'];_0xdd899e+=0x1){const _0x58e8f8=_0xd86d44[_0xd73ffe(0x447)][_0xd73ffe(0x21c)](_0xdd899e),_0x4169ac=_0x58e8f8['text']['indexOf'](_0x33282f);if(_0x4169ac>=0x0){_0x15c543=new _0x115227[(_0xd73ffe(0x4da))](_0x58e8f8['range'][_0xd73ffe(0x5e4)][_0xd73ffe(0x211)],_0x4169ac);break;}}_0x15c543&&(_0xd86d44[_0xd73ffe(0x407)]=[new _0x115227[(_0xd73ffe(0x348))](_0x15c543,new _0x115227[(_0xd73ffe(0x4da))](_0x15c543[_0xd73ffe(0x211)],_0x15c543[_0xd73ffe(0x4ad)]+_0x33282f[_0xd73ffe(0x262)]))],_0xd86d44['revealRang'+'e'](new _0x115227[(_0xd73ffe(0x36b))](_0xd86d44['selection']['start'],_0xd86d44[_0xd73ffe(0x264)][_0xd73ffe(0x582)]),_0x115227[_0xd73ffe(0x486)+'RevealType'][_0xd73ffe(0x1a0)])),_0x115227[_0xd73ffe(0x445)][_0xd73ffe(0x3a5)+_0xd73ffe(0x5b8)](_0xd73ffe(0x48c)+_0xd73ffe(0x4df));}};},0x1656:function(_0x5a9633,_0x1c109e,_0x1fc5e9){'use strict';var _0x265b7d=a0_0x1bd9;var _0x43b558=_0x1fc5e9(0xd26),_0x149a30=this&&this[_0x265b7d(0x3ff)+'nding']||(Object['create']?function(_0x1e6fc1,_0x1d850e,_0x33d05b,_0x4bb284){var _0x570f9d=_0x265b7d;void 0x0===_0x4bb284&&(_0x4bb284=_0x33d05b),Object[_0x570f9d(0x36a)+'erty'](_0x1e6fc1,_0x4bb284,{'enumerable':!0x0,'get':function(){return _0x1d850e[_0x33d05b];}});}:function(_0x211962,_0x397d1b,_0x568f0f,_0x4c2b34){void 0x0===_0x4c2b34&&(_0x4c2b34=_0x568f0f),_0x211962[_0x4c2b34]=_0x397d1b[_0x568f0f];}),_0x138d71=this&&this[_0x265b7d(0x493)+_0x265b7d(0x2e5)]||(Object[_0x265b7d(0x52c)]?function(_0x4227e0,_0x215cd5){var _0xc378ec=_0x265b7d,_0x503a22={};_0x503a22['enumerable']=!0x0,_0x503a22[_0xc378ec(0x5a3)]=_0x215cd5,Object[_0xc378ec(0x36a)+_0xc378ec(0x487)](_0x4227e0,_0xc378ec(0x554),_0x503a22);}:function(_0x59492c,_0xd34fda){_0x59492c['default']=_0xd34fda;}),_0xf85a07=this&&this['__importSt'+'ar']||function(_0x53b825){var _0x3400b2=_0x265b7d;if(_0x53b825&&_0x53b825['__esModule'])return _0x53b825;var _0x5a6931={};if(null!=_0x53b825){for(var _0x4fe6b7 in _0x53b825)_0x3400b2(0x554)!==_0x4fe6b7&&Object[_0x3400b2(0x309)][_0x3400b2(0x3c1)+'erty'][_0x3400b2(0x50b)](_0x53b825,_0x4fe6b7)&&_0x149a30(_0x5a6931,_0x53b825,_0x4fe6b7);}return _0x138d71(_0x5a6931,_0x53b825),_0x5a6931;},_0x52a5f6=this&&this['__importDe'+_0x265b7d(0x384)]||function(_0xbc0056){return _0xbc0056&&_0xbc0056['__esModule']?_0xbc0056:{'default':_0xbc0056};},_0x2eb549={};_0x2eb549['value']=!0x0,Object[_0x265b7d(0x36a)+_0x265b7d(0x487)](_0x1c109e,'__esModule',_0x2eb549);const _0x3e4c88=_0x52a5f6(_0x1fc5e9(0x1e37)),_0x50e141=_0xf85a07(_0x1fc5e9(0x2518));_0x1c109e[_0x265b7d(0x554)]=function(_0x3dcd89,_0x147465){var _0x32b8b2=_0x265b7d;_0x50e141[_0x32b8b2(0x445)][_0x32b8b2(0x3a5)+_0x32b8b2(0x5b8)](_0x32b8b2(0x12f)+_0x32b8b2(0x2b5)+_0x32b8b2(0x345)+'t')['then'](()=>{setTimeout(()=>{!function(_0x1b4e41,_0x3fd7a9){var _0x597ecb=a0_0x1bd9;const _0x4ab10b=_0x43b558[_0x597ecb(0x3f7)]||_0x597ecb(0x45d),_0x52f512=_0x43b558[_0x597ecb(0x1f0)]||'',_0x4474bd=_0x50e141[_0x597ecb(0x335)][_0x597ecb(0x5b0)+_0x597ecb(0x1ed)]('python'),_0x74c42b=_0x4474bd[_0x597ecb(0x270)]('analysis.i'+_0x597ecb(0x1fe)),_0x261eef=_0x4474bd[_0x597ecb(0x270)](_0x597ecb(0x4a6)+'ypeCheckin'+'gMode');let _0x3cca65='';const _0x221105=_0x50e141[_0x597ecb(0x335)][_0x597ecb(0x1f3)+_0x597ecb(0x420)]['find'](_0x2f527c=>_0x597ecb(0x4e5)===_0x2f527c[_0x597ecb(0x189)]);_0x221105&&(_0x3cca65=_0x221105[_0x597ecb(0x360)]());const _0x438f6e='\x0a\x0a'+_0x597ecb(0x4f0)+_0x597ecb(0x51b)+_0x597ecb(0x381)+_0x597ecb(0x45f)+_0x597ecb(0x524)+_0x597ecb(0x3ad)+_0x3fd7a9+(_0x597ecb(0x159)+'d\x20version:'+'\x20')+_0x4ab10b+'\x20'+_0x52f512+(_0x597ecb(0x39a)+_0x597ecb(0x514)+_0x597ecb(0x454)+_0x597ecb(0x1b8)+_0x597ecb(0x566)+'e,\x20e.g.\x20An'+_0x597ecb(0x3f5)+'-\x20\x20\x20python'+'.analysis.'+'indexing:\x20')+_0x74c42b+('\x0a-\x20\x20\x20pytho'+_0x597ecb(0x56e)+_0x597ecb(0x2f6)+_0x597ecb(0x4c7))+_0x261eef+(_0x597ecb(0x193)+'ected\x20beha'+_0x597ecb(0x29d)+_0x597ecb(0x32b)+_0x597ecb(0x171)+_0x597ecb(0x2ca)+_0x597ecb(0x45b)+'\x0a\x0a

\x20Log'+'s\x20

\x0a\x0a<'+_0x597ecb(0x4fa)+_0x597ecb(0x22f)+_0x597ecb(0x4ca)+_0x597ecb(0x59d)+_0x597ecb(0x2fe)+'s.logLevel'+_0x597ecb(0x1da)+_0x597ecb(0x51d)+_0x597ecb(0x4e1)+'on\x20configu'+'ration\x20fil'+'e.\x0a\x0aAdding'+'\x20this\x20will'+'\x20cause\x20a\x20l'+_0x597ecb(0x1b6)+_0x597ecb(0x553)+_0x597ecb(0x3b2)+'ted\x20to\x20the'+_0x597ecb(0x4ab)+'tput\x20panel'+'.\x20This\x20sho'+_0x597ecb(0x5c1)+_0x597ecb(0x273)+_0x597ecb(0x5b2)+_0x597ecb(0x3b7)+_0x597ecb(0x1ef)+_0x597ecb(0x48d)+_0x597ecb(0x244)+'\x20significa'+'nt.\x0a-->\x0aPy'+_0x597ecb(0x1c1)+_0x597ecb(0x56f)+'\x20Log\x0a```\x0aX'+'XX\x20\x27Please'+_0x597ecb(0x4ea)+_0x597ecb(0x40a)+_0x597ecb(0x1e3)+_0x597ecb(0x50f)+_0x597ecb(0x1c9)+'ode\x20Snippe'+_0x597ecb(0x5ea)+'onal\x20infor'+_0x597ecb(0x342)+'3>\x0a\x0a read all rows\n ' - ... - - def remove_noconvert(self) -> typing.Any: - ... - - def set_error_bad_lines(self) -> typing.Any: - ... - - def set_noconvert(self) -> typing.Any: - ... - - @property - def skipfooter(self) -> typing.Any: - ... - - @property - def skiprows(self) -> typing.Any: - ... - - @property - def table_width(self) -> typing.Any: - ... - - @property - def unnamed_cols(self) -> typing.Any: - ... - - @property - def usecols(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -_NA_VALUES: list -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def _compute_na_values() -> typing.Any: - ... - -def _concatenate_chunks() -> typing.Any: - ... - -def _ensure_encoded() -> typing.Any: - ... - -def _maybe_encode() -> typing.Any: - ... - -def _maybe_upcast() -> typing.Any: - '\n\n ' - ... - -def is_bool_dtype(arr_or_dtype) -> bool: - "\n Check whether the provided array or dtype is of a boolean dtype.\n\n Parameters\n ----------\n arr_or_dtype : array-like\n The array or dtype to check.\n\n Returns\n -------\n boolean\n Whether or not the array or dtype is of a boolean dtype.\n\n Notes\n -----\n An ExtensionArray is considered boolean when the ``_is_boolean``\n attribute is set to True.\n\n Examples\n --------\n >>> is_bool_dtype(str)\n False\n >>> is_bool_dtype(int)\n False\n >>> is_bool_dtype(bool)\n True\n >>> is_bool_dtype(np.bool_)\n True\n >>> is_bool_dtype(np.array(['a', 'b']))\n False\n >>> is_bool_dtype(pd.Series([1, 2]))\n False\n >>> is_bool_dtype(np.array([True, False]))\n True\n >>> is_bool_dtype(pd.Categorical([True, False]))\n True\n >>> is_bool_dtype(pd.arrays.SparseArray([True, False]))\n True\n " - ... - -def is_categorical_dtype(arr_or_dtype) -> bool: - '\n Check whether an array-like or dtype is of the Categorical dtype.\n\n Parameters\n ----------\n arr_or_dtype : array-like\n The array-like or dtype to check.\n\n Returns\n -------\n boolean\n Whether or not the array-like or dtype is of the Categorical dtype.\n\n Examples\n --------\n >>> is_categorical_dtype(object)\n False\n >>> is_categorical_dtype(CategoricalDtype())\n True\n >>> is_categorical_dtype([1, 2, 3])\n False\n >>> is_categorical_dtype(pd.Categorical([1, 2, 3]))\n True\n >>> is_categorical_dtype(pd.CategoricalIndex([1, 2, 3]))\n True\n ' - ... - -def is_datetime64_dtype(arr_or_dtype) -> bool: - '\n Check whether an array-like or dtype is of the datetime64 dtype.\n\n Parameters\n ----------\n arr_or_dtype : array-like\n The array-like or dtype to check.\n\n Returns\n -------\n boolean\n Whether or not the array-like or dtype is of the datetime64 dtype.\n\n Examples\n --------\n >>> is_datetime64_dtype(object)\n False\n >>> is_datetime64_dtype(np.datetime64)\n True\n >>> is_datetime64_dtype(np.array([], dtype=int))\n False\n >>> is_datetime64_dtype(np.array([], dtype=np.datetime64))\n True\n >>> is_datetime64_dtype([1, 2, 3])\n False\n ' - ... - -def is_extension_array_dtype(arr_or_dtype) -> bool: - "\n Check if an object is a pandas extension array type.\n\n See the :ref:`Use Guide ` for more.\n\n Parameters\n ----------\n arr_or_dtype : object\n For array-like input, the ``.dtype`` attribute will\n be extracted.\n\n Returns\n -------\n bool\n Whether the `arr_or_dtype` is an extension array type.\n\n Notes\n -----\n This checks whether an object implements the pandas extension\n array interface. In pandas, this includes:\n\n * Categorical\n * Sparse\n * Interval\n * Period\n * DatetimeArray\n * TimedeltaArray\n\n Third-party libraries may implement arrays or types satisfying\n this interface as well.\n\n Examples\n --------\n >>> from pandas.api.types import is_extension_array_dtype\n >>> arr = pd.Categorical(['a', 'b'])\n >>> is_extension_array_dtype(arr)\n True\n >>> is_extension_array_dtype(arr.dtype)\n True\n\n >>> arr = np.array(['a', 'b'])\n >>> is_extension_array_dtype(arr.dtype)\n False\n " - ... - -def is_float_dtype(arr_or_dtype) -> bool: - "\n Check whether the provided array or dtype is of a float dtype.\n\n This function is internal and should not be exposed in the public API.\n\n Parameters\n ----------\n arr_or_dtype : array-like\n The array or dtype to check.\n\n Returns\n -------\n boolean\n Whether or not the array or dtype is of a float dtype.\n\n Examples\n --------\n >>> is_float_dtype(str)\n False\n >>> is_float_dtype(int)\n False\n >>> is_float_dtype(float)\n True\n >>> is_float_dtype(np.array(['a', 'b']))\n False\n >>> is_float_dtype(pd.Series([1, 2]))\n False\n >>> is_float_dtype(pd.Index([1, 2.]))\n True\n " - ... - -def is_integer_dtype(arr_or_dtype) -> bool: - "\n Check whether the provided array or dtype is of an integer dtype.\n\n Unlike in `in_any_int_dtype`, timedelta64 instances will return False.\n\n .. versionchanged:: 0.24.0\n\n The nullable Integer dtypes (e.g. pandas.Int64Dtype) are also considered\n as integer by this function.\n\n Parameters\n ----------\n arr_or_dtype : array-like\n The array or dtype to check.\n\n Returns\n -------\n boolean\n Whether or not the array or dtype is of an integer dtype and\n not an instance of timedelta64.\n\n Examples\n --------\n >>> is_integer_dtype(str)\n False\n >>> is_integer_dtype(int)\n True\n >>> is_integer_dtype(float)\n False\n >>> is_integer_dtype(np.uint64)\n True\n >>> is_integer_dtype('int8')\n True\n >>> is_integer_dtype('Int8')\n True\n >>> is_integer_dtype(pd.Int8Dtype)\n True\n >>> is_integer_dtype(np.datetime64)\n False\n >>> is_integer_dtype(np.timedelta64)\n False\n >>> is_integer_dtype(np.array(['a', 'b']))\n False\n >>> is_integer_dtype(pd.Series([1, 2]))\n True\n >>> is_integer_dtype(np.array([], dtype=np.timedelta64))\n False\n >>> is_integer_dtype(pd.Index([1, 2.])) # float\n False\n " - ... - -def is_object_dtype(arr_or_dtype) -> bool: - '\n Check whether an array-like or dtype is of the object dtype.\n\n Parameters\n ----------\n arr_or_dtype : array-like\n The array-like or dtype to check.\n\n Returns\n -------\n boolean\n Whether or not the array-like or dtype is of the object dtype.\n\n Examples\n --------\n >>> is_object_dtype(object)\n True\n >>> is_object_dtype(int)\n False\n >>> is_object_dtype(np.array([], dtype=object))\n True\n >>> is_object_dtype(np.array([], dtype=int))\n False\n >>> is_object_dtype([1, 2, 3])\n False\n ' - ... - -k = _mod_numpy.object_ -na_values: dict -def pandas_dtype(dtype) -> Union[numpy.dtype, ForwardRef('ExtensionDtype')]: - '\n Convert input into a pandas only dtype object or a numpy dtype object.\n\n Parameters\n ----------\n dtype : object to be converted\n\n Returns\n -------\n np.dtype or a pandas dtype\n\n Raises\n ------\n TypeError if not a dtype\n ' - ... - -def sanitize_objects() -> typing.Any: - '\n Convert specified values, including the given set na_values and empty\n strings if convert_empty is True, to np.nan.\n\n Parameters\n ----------\n values : ndarray[object]\n na_values : set\n convert_empty : bool, default True\n ' - ... - -def union_categoricals(to_union, sort_categories, ignore_order) -> typing.Any: - '\n Combine list-like of Categorical-like, unioning categories.\n\n All categories must have the same dtype.\n\n Parameters\n ----------\n to_union : list-like\n Categorical, CategoricalIndex, or Series with dtype=\'category\'.\n sort_categories : bool, default False\n If true, resulting categories will be lexsorted, otherwise\n they will be ordered as they appear in the data.\n ignore_order : bool, default False\n If true, the ordered attribute of the Categoricals will be ignored.\n Results in an unordered categorical.\n\n Returns\n -------\n Categorical\n\n Raises\n ------\n TypeError\n - all inputs do not have the same dtype\n - all inputs do not have the same ordered property\n - all inputs are ordered and their categories are not identical\n - sort_categories=True and Categoricals are ordered\n ValueError\n Empty list of categoricals passed\n\n Notes\n -----\n To learn more about categories, see `link\n `__\n\n Examples\n --------\n >>> from pandas.api.types import union_categoricals\n\n If you want to combine categoricals that do not necessarily have\n the same categories, `union_categoricals` will combine a list-like\n of categoricals. The new categories will be the union of the\n categories being combined.\n\n >>> a = pd.Categorical(["b", "c"])\n >>> b = pd.Categorical(["a", "b"])\n >>> union_categoricals([a, b])\n [\'b\', \'c\', \'a\', \'b\']\n Categories (3, object): [\'b\', \'c\', \'a\']\n\n By default, the resulting categories will be ordered as they appear\n in the `categories` of the data. If you want the categories to be\n lexsorted, use `sort_categories=True` argument.\n\n >>> union_categoricals([a, b], sort_categories=True)\n [\'b\', \'c\', \'a\', \'b\']\n Categories (3, object): [\'a\', \'b\', \'c\']\n\n `union_categoricals` also works with the case of combining two\n categoricals of the same categories and order information (e.g. what\n you could also `append` for).\n\n >>> a = pd.Categorical(["a", "b"], ordered=True)\n >>> b = pd.Categorical(["a", "b", "a"], ordered=True)\n >>> union_categoricals([a, b])\n [\'a\', \'b\', \'a\', \'b\', \'a\']\n Categories (2, object): [\'a\' < \'b\']\n\n Raises `TypeError` because the categories are ordered and not identical.\n\n >>> a = pd.Categorical(["a", "b"], ordered=True)\n >>> b = pd.Categorical(["a", "b", "c"], ordered=True)\n >>> union_categoricals([a, b])\n Traceback (most recent call last):\n ...\n TypeError: to union ordered Categoricals, all categories must be the same\n\n New in version 0.20.0\n\n Ordered categoricals with different categories or orderings can be\n combined by using the `ignore_ordered=True` argument.\n\n >>> a = pd.Categorical(["a", "b", "c"], ordered=True)\n >>> b = pd.Categorical(["c", "b", "a"], ordered=True)\n >>> union_categoricals([a, b], ignore_order=True)\n [\'a\', \'b\', \'c\', \'c\', \'b\', \'a\']\n Categories (3, object): [\'a\', \'b\', \'c\']\n\n `union_categoricals` also works with a `CategoricalIndex`, or `Series`\n containing categorical data, but note that the resulting array will\n always be a plain `Categorical`\n\n >>> a = pd.Series(["b", "c"], dtype=\'category\')\n >>> b = pd.Series(["a", "b"], dtype=\'category\')\n >>> union_categoricals([a, b])\n [\'b\', \'c\', \'a\', \'b\']\n Categories (3, object): [\'b\', \'c\', \'a\']\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/properties.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/properties.pyi deleted file mode 100644 index 5acee9c5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/properties.pyi +++ /dev/null @@ -1,99 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.properties, version: unspecified -import typing -import builtins as _mod_builtins - -class AxisProperty(_mod_builtins.object): - def __delete__(self, instance) -> typing.Any: - 'Delete an attribute of instance.' - ... - - def __get__(self, instance, owner) -> AxisProperty: - 'Return an attribute of instance, which is of type owner.' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __set__(self, instance, value) -> None: - 'Set an attribute of instance to value.' - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def axis(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class CachedProperty(_mod_builtins.object): - def __delete__(self, instance) -> typing.Any: - 'Delete an attribute of instance.' - ... - - def __get__(self, instance, owner) -> CachedProperty: - 'Return an attribute of instance, which is of type owner.' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __set__(self, instance, value) -> None: - 'Set an attribute of instance to value.' - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def func(self) -> typing.Any: - ... - - @property - def name(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_AxisProperty() -> typing.Any: - ... - -def __pyx_unpickle_CachedProperty() -> typing.Any: - ... - -__test__: dict -cache_readonly: CachedProperty -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/reduction.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/reduction.pyi deleted file mode 100644 index 4d0764ac..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/reduction.pyi +++ /dev/null @@ -1,295 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.reduction, version: unspecified -import typing -import builtins as _mod_builtins - -class BlockSlider(_mod_builtins.object): - '\n Only capable of sliding on axis=0\n ' - def __init__(self, *args, **kwargs) -> None: - '\n Only capable of sliding on axis=0\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class InvalidApply(_mod_builtins.Exception): - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class SeriesBinGrouper(_BaseGrouper): - '\n Performs grouping operation according to bin edges, rather than labels\n ' - def __init__(self, *args, **kwargs) -> None: - '\n Performs grouping operation according to bin edges, rather than labels\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def arr(self) -> typing.Any: - ... - - @property - def bins(self) -> typing.Any: - ... - - @property - def dummy_arr(self) -> typing.Any: - ... - - @property - def dummy_index(self) -> typing.Any: - ... - - @property - def f(self) -> typing.Any: - ... - - def get_result(self) -> typing.Any: - ... - - @property - def index(self) -> typing.Any: - ... - - @property - def ityp(self) -> typing.Any: - ... - - @property - def name(self) -> typing.Any: - ... - - @property - def typ(self) -> typing.Any: - ... - - @property - def values(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class SeriesGrouper(_BaseGrouper): - '\n Performs generic grouping operation while avoiding ndarray construction\n overhead\n ' - def __init__(self, *args, **kwargs) -> None: - '\n Performs generic grouping operation while avoiding ndarray construction\n overhead\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def arr(self) -> typing.Any: - ... - - @property - def dummy_arr(self) -> typing.Any: - ... - - @property - def dummy_index(self) -> typing.Any: - ... - - @property - def f(self) -> typing.Any: - ... - - def get_result(self) -> typing.Any: - ... - - @property - def index(self) -> typing.Any: - ... - - @property - def ityp(self) -> typing.Any: - ... - - @property - def labels(self) -> typing.Any: - ... - - @property - def name(self) -> typing.Any: - ... - - @property - def typ(self) -> typing.Any: - ... - - @property - def values(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class Slider(_mod_builtins.object): - '\n Only handles contiguous data for now\n ' - def __init__(self, *args, **kwargs) -> None: - '\n Only handles contiguous data for now\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class _BaseGrouper(_mod_builtins.object): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -def __pyx_unpickle_SeriesBinGrouper() -> typing.Any: - ... - -def __pyx_unpickle_SeriesGrouper() -> typing.Any: - ... - -def __pyx_unpickle_Slider() -> typing.Any: - ... - -def __pyx_unpickle__BaseGrouper() -> typing.Any: - ... - -__test__: dict -def apply_frame_axis0() -> typing.Any: - ... - -def check_result_array() -> typing.Any: - ... - -def copy(x) -> typing.Any: - "Shallow copy operation on arbitrary Python objects.\n\n See the module's __doc__ string for more info.\n " - ... - -def extract_result() -> typing.Any: - ' extract the result object, it might be a 0-dim ndarray\n or a len-1 0-dim, or a scalar ' - ... - -def is_scalar() -> typing.Any: - '\n Return True if given object is scalar.\n\n Parameters\n ----------\n val : object\n This includes:\n\n - numpy array scalar (e.g. np.int64)\n - Python builtin numerics\n - Python builtin byte arrays and strings\n - None\n - datetime.datetime\n - datetime.timedelta\n - Period\n - decimal.Decimal\n - Interval\n - DateOffset\n - Fraction\n - Number.\n\n Returns\n -------\n bool\n Return True if given object is scalar.\n\n Examples\n --------\n >>> dt = datetime.datetime(2018, 10, 3)\n >>> pd.api.types.is_scalar(dt)\n True\n\n >>> pd.api.types.is_scalar([2, 3])\n False\n\n >>> pd.api.types.is_scalar({0: 1, 2: 3})\n False\n\n >>> pd.api.types.is_scalar((0, 2))\n False\n\n pandas supports PEP 3141 numbers:\n\n >>> from fractions import Fraction\n >>> pd.api.types.is_scalar(Fraction(3, 5))\n True\n ' - ... - -def maybe_convert_objects() -> typing.Any: - '\n Type inference function-- convert object array to proper dtype\n\n Parameters\n ----------\n values : ndarray\n Array of object elements to convert.\n try_float : bool, default False\n If an array-like object contains only float or NaN values is\n encountered, whether to convert and return an array of float dtype.\n safe : bool, default False\n Whether to upcast numeric type (e.g. int cast to float). If set to\n True, no upcasting will be performed.\n convert_datetime : bool, default False\n If an array-like object contains only datetime values or NaT is\n encountered, whether to convert and return an array of M8[ns] dtype.\n convert_timedelta : bool, default False\n If an array-like object contains only timedelta values or NaT is\n encountered, whether to convert and return an array of m8[ns] dtype.\n convert_to_nullable_integer : bool, default False\n If an array-like object contains only integer values (and NaN) is\n encountered, whether to convert and return an IntegerArray.\n\n Returns\n -------\n Array of converted object values to more specific dtypes if applicable.\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/reshape.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/reshape.pyi deleted file mode 100644 index 802ea242..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/reshape.pyi +++ /dev/null @@ -1,25 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.reshape, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def explode() -> typing.Any: - '\n transform array list-likes to long form\n preserve non-list entries\n\n Parameters\n ----------\n values : object ndarray\n\n Returns\n -------\n tuple(values, counts)\n ' - ... - -def unstack(values, mask, stride, length, width, new_values, new_mask) -> typing.Any: - '\n Transform long values to wide new_values.\n\n Parameters\n ----------\n values : typed ndarray\n mask : boolean ndarray\n stride : int\n length : int\n width : int\n new_values : typed ndarray\n result array\n new_mask : boolean ndarray\n result mask\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/sparse.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/sparse.pyi deleted file mode 100644 index 8580c4d3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/sparse.pyi +++ /dev/null @@ -1,494 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.sparse, version: unspecified -import typing -import builtins as _mod_builtins - -class BlockIndex(SparseIndex): - '\n Object for holding block-based sparse indexing information\n\n Parameters\n ----------\n ' - def __init__(self, *args, **kwargs) -> None: - '\n Object for holding block-based sparse indexing information\n\n Parameters\n ----------\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __repr__(self) -> str: - 'Return repr(self).' - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def blengths(self) -> typing.Any: - ... - - @property - def blocs(self) -> typing.Any: - ... - - def check_integrity(self) -> typing.Any: - '\n Check:\n - Locations are in ascending order\n - No overlapping blocks\n - Blocks to not start after end of index, nor extend beyond end\n ' - ... - - def equals(self) -> typing.Any: - ... - - def intersect(self) -> typing.Any: - '\n Intersect two BlockIndex objects\n\n Returns\n -------\n BlockIndex\n ' - ... - - @property - def length(self) -> typing.Any: - ... - - def lookup(self) -> typing.Any: - '\n Return the internal location if value exists on given index.\n Return -1 otherwise.\n ' - ... - - def lookup_array(self) -> typing.Any: - '\n Vectorized lookup, returns ndarray[int32_t]\n ' - ... - - def make_union(self) -> typing.Any: - '\n Combine together two BlockIndex objects, accepting indices if contained\n in one or the other\n\n Parameters\n ----------\n other : SparseIndex\n\n Notes\n -----\n union is a protected keyword in Cython, hence make_union\n\n Returns\n -------\n BlockIndex\n ' - ... - - @property - def nblocks(self) -> typing.Any: - ... - - @property - def nbytes(self) -> typing.Any: - ... - - @property - def ngaps(self) -> typing.Any: - ... - - @property - def npoints(self) -> typing.Any: - ... - - def put(self) -> typing.Any: - ... - - def reindex(self) -> typing.Any: - ... - - def take(self) -> typing.Any: - ... - - def to_block_index(self) -> typing.Any: - ... - - def to_int_index(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class BlockMerge(_mod_builtins.object): - '\n Object-oriented approach makes sharing state between recursive functions a\n lot easier and reduces code duplication\n ' - def __init__(self, *args, **kwargs) -> None: - '\n Object-oriented approach makes sharing state between recursive functions a\n lot easier and reduces code duplication\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class BlockUnion(BlockMerge): - '\n Object-oriented approach makes sharing state between recursive functions a\n lot easier and reduces code duplication\n ' - def __init__(self, *args, **kwargs) -> None: - '\n Object-oriented approach makes sharing state between recursive functions a\n lot easier and reduces code duplication\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class IntIndex(SparseIndex): - '\n Object for holding exact integer sparse indexing information\n\n Parameters\n ----------\n length : integer\n indices : array-like\n Contains integers corresponding to the indices.\n check_integrity : bool, default=True\n Check integrity of the input.\n ' - def __init__(self, *args, **kwargs) -> None: - '\n Object for holding exact integer sparse indexing information\n\n Parameters\n ----------\n length : integer\n indices : array-like\n Contains integers corresponding to the indices.\n check_integrity : bool, default=True\n Check integrity of the input.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __repr__(self) -> str: - 'Return repr(self).' - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def check_integrity(self) -> typing.Any: - '\n Checks the following:\n\n - Indices are strictly ascending\n - Number of indices is at most self.length\n - Indices are at least 0 and at most the total length less one\n\n A ValueError is raised if any of these conditions is violated.\n ' - ... - - def equals(self) -> typing.Any: - ... - - @property - def indices(self) -> typing.Any: - ... - - def intersect(self) -> typing.Any: - ... - - @property - def length(self) -> typing.Any: - ... - - def lookup(self) -> typing.Any: - '\n Return the internal location if value exists on given index.\n Return -1 otherwise.\n ' - ... - - def lookup_array(self) -> typing.Any: - '\n Vectorized lookup, returns ndarray[int32_t]\n ' - ... - - def make_union(self) -> typing.Any: - ... - - @property - def nbytes(self) -> typing.Any: - ... - - @property - def ngaps(self) -> typing.Any: - ... - - @property - def npoints(self) -> typing.Any: - ... - - def put(self) -> typing.Any: - ... - - def reindex(self) -> typing.Any: - ... - - def take(self) -> typing.Any: - ... - - def to_block_index(self) -> typing.Any: - ... - - def to_int_index(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class SparseIndex(_mod_builtins.object): - '\n Abstract superclass for sparse index types.\n ' - def __init__(self, *args, **kwargs) -> None: - '\n Abstract superclass for sparse index types.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_BlockMerge() -> typing.Any: - ... - -def __pyx_unpickle_BlockUnion() -> typing.Any: - ... - -def __pyx_unpickle_Enum() -> typing.Any: - ... - -def __pyx_unpickle_SparseIndex() -> typing.Any: - ... - -__test__: dict -def get_blocks() -> typing.Any: - ... - -def make_mask_object_ndarray() -> typing.Any: - ... - -def sparse_add_float64() -> typing.Any: - ... - -def sparse_add_int64() -> typing.Any: - ... - -def sparse_and_int64() -> typing.Any: - ... - -def sparse_and_uint8() -> typing.Any: - ... - -def sparse_div_float64() -> typing.Any: - ... - -def sparse_div_int64() -> typing.Any: - ... - -def sparse_eq_float64() -> typing.Any: - ... - -def sparse_eq_int64() -> typing.Any: - ... - -def sparse_fill_add_float64() -> typing.Any: - ... - -def sparse_fill_add_int64() -> typing.Any: - ... - -def sparse_fill_and_int64() -> typing.Any: - ... - -def sparse_fill_and_uint8() -> typing.Any: - ... - -def sparse_fill_div_float64() -> typing.Any: - ... - -def sparse_fill_div_int64() -> typing.Any: - ... - -def sparse_fill_eq_float64() -> typing.Any: - ... - -def sparse_fill_eq_int64() -> typing.Any: - ... - -def sparse_fill_floordiv_float64() -> typing.Any: - ... - -def sparse_fill_floordiv_int64() -> typing.Any: - ... - -def sparse_fill_ge_float64() -> typing.Any: - ... - -def sparse_fill_ge_int64() -> typing.Any: - ... - -def sparse_fill_gt_float64() -> typing.Any: - ... - -def sparse_fill_gt_int64() -> typing.Any: - ... - -def sparse_fill_le_float64() -> typing.Any: - ... - -def sparse_fill_le_int64() -> typing.Any: - ... - -def sparse_fill_lt_float64() -> typing.Any: - ... - -def sparse_fill_lt_int64() -> typing.Any: - ... - -def sparse_fill_mod_float64() -> typing.Any: - ... - -def sparse_fill_mod_int64() -> typing.Any: - ... - -def sparse_fill_mul_float64() -> typing.Any: - ... - -def sparse_fill_mul_int64() -> typing.Any: - ... - -def sparse_fill_ne_float64() -> typing.Any: - ... - -def sparse_fill_ne_int64() -> typing.Any: - ... - -def sparse_fill_or_int64() -> typing.Any: - ... - -def sparse_fill_or_uint8() -> typing.Any: - ... - -def sparse_fill_pow_float64() -> typing.Any: - ... - -def sparse_fill_pow_int64() -> typing.Any: - ... - -def sparse_fill_sub_float64() -> typing.Any: - ... - -def sparse_fill_sub_int64() -> typing.Any: - ... - -def sparse_fill_truediv_float64() -> typing.Any: - ... - -def sparse_fill_truediv_int64() -> typing.Any: - ... - -def sparse_fill_xor_int64() -> typing.Any: - ... - -def sparse_fill_xor_uint8() -> typing.Any: - ... - -def sparse_floordiv_float64() -> typing.Any: - ... - -def sparse_floordiv_int64() -> typing.Any: - ... - -def sparse_ge_float64() -> typing.Any: - ... - -def sparse_ge_int64() -> typing.Any: - ... - -def sparse_gt_float64() -> typing.Any: - ... - -def sparse_gt_int64() -> typing.Any: - ... - -def sparse_le_float64() -> typing.Any: - ... - -def sparse_le_int64() -> typing.Any: - ... - -def sparse_lt_float64() -> typing.Any: - ... - -def sparse_lt_int64() -> typing.Any: - ... - -def sparse_mod_float64() -> typing.Any: - ... - -def sparse_mod_int64() -> typing.Any: - ... - -def sparse_mul_float64() -> typing.Any: - ... - -def sparse_mul_int64() -> typing.Any: - ... - -def sparse_ne_float64() -> typing.Any: - ... - -def sparse_ne_int64() -> typing.Any: - ... - -def sparse_or_int64() -> typing.Any: - ... - -def sparse_or_uint8() -> typing.Any: - ... - -def sparse_pow_float64() -> typing.Any: - ... - -def sparse_pow_int64() -> typing.Any: - ... - -def sparse_sub_float64() -> typing.Any: - ... - -def sparse_sub_int64() -> typing.Any: - ... - -def sparse_truediv_float64() -> typing.Any: - ... - -def sparse_truediv_int64() -> typing.Any: - ... - -def sparse_xor_int64() -> typing.Any: - ... - -def sparse_xor_uint8() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/testing.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/testing.pyi deleted file mode 100644 index 5510567e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/testing.pyi +++ /dev/null @@ -1,37 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.testing, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__test__: dict -def array_equivalent(left, right, strict_nan, dtype_equal) -> bool: - '\n True if two arrays, left and right, have equal non-NaN elements, and NaNs\n in corresponding locations. False otherwise. It is assumed that left and\n right are NumPy arrays of the same dtype. The behavior of this function\n (particularly with respect to NaNs) is not defined if the dtypes are\n different.\n\n Parameters\n ----------\n left, right : ndarrays\n strict_nan : bool, default False\n If True, consider NaN and None to be different.\n dtype_equal : bool, default False\n Whether `left` and `right` are known to have the same dtype\n according to `is_dtype_equal`. Some methods like `BlockManager.equals`.\n require that the dtypes match. Setting this to ``True`` can improve\n performance, but will give different results for arrays that are\n equal but different dtypes.\n\n Returns\n -------\n b : bool\n Returns True if the arrays are equivalent.\n\n Examples\n --------\n >>> array_equivalent(\n ... np.array([1, 2, np.nan]),\n ... np.array([1, 2, np.nan]))\n True\n >>> array_equivalent(\n ... np.array([1, np.nan, 2]),\n ... np.array([1, 2, np.nan]))\n False\n ' - ... - -def assert_almost_equal() -> typing.Any: - '\n Check that left and right objects are almost equal.\n\n Parameters\n ----------\n a : object\n b : object\n rtol : float, default 1e-5\n Relative tolerance.\n\n .. versionadded:: 1.1.0\n atol : float, default 1e-8\n Absolute tolerance.\n\n .. versionadded:: 1.1.0\n check_dtype: bool, default True\n check dtype if both a and b are np.ndarray.\n obj : str, default None\n Specify object name being compared, internally used to show\n appropriate assertion message.\n lobj : str, default None\n Specify left object name being compared, internally used to show\n appropriate assertion message.\n robj : str, default None\n Specify right object name being compared, internally used to show\n appropriate assertion message.\n index_values : ndarray, default None\n Specify shared index values of objects being compared, internally used\n to show appropriate assertion message.\n\n .. versionadded:: 1.1.0\n\n ' - ... - -def assert_dict_equal() -> typing.Any: - ... - -def is_complex() -> typing.Any: - '\n Return True if given object is complex.\n\n Returns\n -------\n bool\n ' - ... - -def is_dtype_equal(source, target) -> bool: - '\n Check if two dtypes are equal.\n\n Parameters\n ----------\n source : The first dtype to compare\n target : The second dtype to compare\n\n Returns\n -------\n boolean\n Whether or not the two dtypes are equal.\n\n Examples\n --------\n >>> is_dtype_equal(int, float)\n False\n >>> is_dtype_equal("int", int)\n True\n >>> is_dtype_equal(object, "category")\n False\n >>> is_dtype_equal(CategoricalDtype(), "category")\n True\n >>> is_dtype_equal(DatetimeTZDtype(tz="UTC"), "datetime64")\n False\n ' - ... - -def isna(obj) -> typing.Any: - '\n Detect missing values for an array-like object.\n\n This function takes a scalar or array-like object and indicates\n whether values are missing (``NaN`` in numeric arrays, ``None`` or ``NaN``\n in object arrays, ``NaT`` in datetimelike).\n\n Parameters\n ----------\n obj : scalar or array-like\n Object to check for null or missing values.\n\n Returns\n -------\n bool or array-like of bool\n For scalar input, returns a scalar boolean.\n For array input, returns an array of boolean indicating whether each\n corresponding element is missing.\n\n See Also\n --------\n notna : Boolean inverse of pandas.isna.\n Series.isna : Detect missing values in a Series.\n DataFrame.isna : Detect missing values in a DataFrame.\n Index.isna : Detect missing values in an Index.\n\n Examples\n --------\n Scalar arguments (including strings) result in a scalar boolean.\n\n >>> pd.isna(\'dog\')\n False\n\n >>> pd.isna(pd.NA)\n True\n\n >>> pd.isna(np.nan)\n True\n\n ndarrays result in an ndarray of booleans.\n\n >>> array = np.array([[1, np.nan, 3], [4, 5, np.nan]])\n >>> array\n array([[ 1., nan, 3.],\n [ 4., 5., nan]])\n >>> pd.isna(array)\n array([[False, True, False],\n [False, False, True]])\n\n For indexes, an ndarray of booleans is returned.\n\n >>> index = pd.DatetimeIndex(["2017-07-05", "2017-07-06", None,\n ... "2017-07-08"])\n >>> index\n DatetimeIndex([\'2017-07-05\', \'2017-07-06\', \'NaT\', \'2017-07-08\'],\n dtype=\'datetime64[ns]\', freq=None)\n >>> pd.isna(index)\n array([False, False, True, False])\n\n For Series and DataFrame, the same type is returned, containing booleans.\n\n >>> df = pd.DataFrame([[\'ant\', \'bee\', \'cat\'], [\'dog\', None, \'fly\']])\n >>> df\n 0 1 2\n 0 ant bee cat\n 1 dog None fly\n >>> pd.isna(df)\n 0 1 2\n 0 False False False\n 1 False True False\n\n >>> pd.isna(df[1])\n 0 False\n 1 True\n Name: 1, dtype: bool\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslib.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslib.pyi deleted file mode 100644 index e1435cba..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslib.pyi +++ /dev/null @@ -1,38 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.tslib, version: unspecified -import typing -import builtins as _mod_builtins -import pandas._libs.tslibs.np_datetime as _mod_pandas__libs_tslibs_np_datetime -import pandas._libs.tslibs.timestamps as _mod_pandas__libs_tslibs_timestamps - -OutOfBoundsDatetime = _mod_pandas__libs_tslibs_np_datetime.OutOfBoundsDatetime -Timestamp = _mod_pandas__libs_tslibs_timestamps.Timestamp -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__test__: dict -def _test_parse_iso8601() -> typing.Any: - '\n TESTING ONLY: Parse string into Timestamp using iso8601 parser. Used\n only for testing, actual construction uses `convert_str_to_tsobject`\n ' - ... - -def array_to_datetime() -> typing.Any: - "\n Converts a 1D array of date-like values to a numpy array of either:\n 1) datetime64[ns] data\n 2) datetime.datetime objects, if OutOfBoundsDatetime or TypeError\n is encountered\n\n Also returns a pytz.FixedOffset if an array of strings with the same\n timezone offset is passed and utc=True is not passed. Otherwise, None\n is returned\n\n Handles datetime.date, datetime.datetime, np.datetime64 objects, numeric,\n strings\n\n Parameters\n ----------\n values : ndarray of object\n date-like objects to convert\n errors : str, default 'raise'\n error behavior when parsing\n dayfirst : bool, default False\n dayfirst parsing behavior when encountering datetime strings\n yearfirst : bool, default False\n yearfirst parsing behavior when encountering datetime strings\n utc : bool, default False\n indicator whether the dates should be UTC\n require_iso8601 : bool, default False\n indicator whether the datetime string should be iso8601\n\n Returns\n -------\n tuple (ndarray, tzoffset)\n " - ... - -def array_with_unit_to_datetime() -> typing.Any: - "\n Convert the ndarray to datetime according to the time unit.\n\n This function converts an array of objects into a numpy array of\n datetime64[ns]. It returns the converted array\n and also returns the timezone offset\n\n if errors:\n - raise: return converted values or raise OutOfBoundsDatetime\n if out of range on the conversion or\n ValueError for other conversions (e.g. a string)\n - ignore: return non-convertible values as the same unit\n - coerce: NaT for non-convertibles\n\n Parameters\n ----------\n values : ndarray of object\n Date-like objects to convert.\n unit : str\n Time unit to use during conversion.\n errors : str, default 'raise'\n Error behavior when parsing.\n\n Returns\n -------\n result : ndarray of m8 values\n tz : parsed timezone offset or None\n " - ... - -def format_array_from_datetime() -> typing.Any: - '\n return a np object array of the string formatted values\n\n Parameters\n ----------\n values : a 1-d i8 array\n tz : tzinfo or None, default None\n format : str or None, default None\n a strftime capable string\n na_rep : optional, default is None\n a nat format\n\n ' - ... - -def parse_datetime_string() -> typing.Any: - '\n Parse datetime string, only returns datetime.\n Also cares special handling matching time patterns.\n\n Returns\n -------\n datetime\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/base.pyi deleted file mode 100644 index dd65f7c4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/base.pyi +++ /dev/null @@ -1,92 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.tslibs.base, version: unspecified -import typing -import builtins as _mod_builtins -import datetime as _mod_datetime - -class ABCTimestamp(_mod_datetime.datetime): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __reduce_cython__(self) -> typing.Any: - ... - - def __setstate_cython__(self) -> typing.Any: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @classmethod - def combine(cls) -> typing.Any: - 'date, time -> datetime with same date and time fields' - ... - - @classmethod - def fromisocalendar(cls) -> typing.Any: - 'int, int, int -> Construct a date from the ISO year, week number and weekday.\n\nThis is the inverse of the date.isocalendar() function' - ... - - @classmethod - def fromisoformat(cls) -> typing.Any: - 'string -> datetime from datetime.isoformat() output' - ... - - @classmethod - def fromordinal(cls) -> typing.Any: - 'int -> date corresponding to a proleptic Gregorian ordinal.' - ... - - @classmethod - def fromtimestamp(cls) -> typing.Any: - "timestamp[, tz] -> tz's local time from POSIX timestamp." - ... - - @classmethod - def now(cls, type, tz) -> typing.Any: - 'Returns new datetime object representing current time local to tz.\n\n tz\n Timezone object.\n\nIf no tz is specified, uses local timezone.' - ... - - @classmethod - def strptime(cls) -> typing.Any: - 'string, format -> new datetime parsed from a string (like time.strptime()).' - ... - - @classmethod - def today(cls) -> typing.Any: - 'Current date or datetime: same as self.__class__.fromtimestamp(time.time()).' - ... - - @classmethod - def utcfromtimestamp(cls) -> typing.Any: - 'Construct a naive UTC datetime from a POSIX timestamp.' - ... - - @classmethod - def utcnow(cls) -> typing.Any: - 'Return a new datetime representing UTC day and time.' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: str -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_ABCTimestamp() -> typing.Any: - ... - -__test__: dict -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/ccalendar.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/ccalendar.pyi deleted file mode 100644 index 382e2825..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/ccalendar.pyi +++ /dev/null @@ -1,50 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.tslibs.ccalendar, version: unspecified -import typing -import builtins as _mod_builtins - -DAYS: list -DAYS_FULL: list -DAY_SECONDS: int -HOUR_SECONDS: int -MONTHS: list -MONTHS_FULL: list -MONTH_ALIASES: dict -MONTH_NUMBERS: dict -MONTH_TO_CAL_NUM: dict -__doc__: str -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -__test__: dict -def get_day_of_year() -> typing.Any: - '\n Return the ordinal day-of-year for the given day.\n\n Parameters\n ----------\n year : int\n month : int\n day : int\n\n Returns\n -------\n day_of_year : int32_t\n\n Notes\n -----\n Assumes the inputs describe a valid date.\n ' - ... - -def get_days_in_month() -> typing.Any: - '\n Return the number of days in the given month of the given year.\n\n Parameters\n ----------\n year : int\n month : int\n\n Returns\n -------\n days_in_month : int\n\n Notes\n -----\n Assumes that the arguments are valid. Passing a month not between 1 and 12\n risks a segfault.\n ' - ... - -def get_firstbday() -> typing.Any: - '\n Find the first day of the month that is a business day.\n\n Parameters\n ----------\n year : int\n month : int\n\n Returns\n -------\n first_bday : int\n ' - ... - -def get_iso_calendar() -> typing.Any: - '\n Return the year, week, and day of year corresponding to ISO 8601\n\n Parameters\n ----------\n year : int\n month : int\n day : int\n\n Returns\n -------\n year : int32_t\n week : int32_t\n day : int32_t\n\n Notes\n -----\n Assumes the inputs describe a valid date.\n ' - ... - -def get_lastbday() -> typing.Any: - '\n Find the last day of the month that is a business day.\n\n Parameters\n ----------\n year : int\n month : int\n\n Returns\n -------\n last_bday : int\n ' - ... - -def get_week_of_year() -> typing.Any: - '\n Return the ordinal week-of-year for the given day.\n\n Parameters\n ----------\n year : int\n month : int\n day : int\n\n Returns\n -------\n week_of_year : int32_t\n\n Notes\n -----\n Assumes the inputs describe a valid date.\n ' - ... - -int_to_weekday: dict -weekday_to_int: dict -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/conversion.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/conversion.pyi deleted file mode 100644 index 5e24f15c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/conversion.pyi +++ /dev/null @@ -1,102 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.tslibs.conversion, version: unspecified -import typing -import builtins as _mod_builtins -import numpy as _mod_numpy -import pandas._libs.tslibs.np_datetime as _mod_pandas__libs_tslibs_np_datetime - -DT64NS_DTYPE: _mod_numpy.dtype[datetime64] -OutOfBoundsDatetime = _mod_pandas__libs_tslibs_np_datetime.OutOfBoundsDatetime -class OutOfBoundsTimedelta(_mod_builtins.ValueError): - '\n Raised when encountering a timedelta value that cannot be represented\n as a timedelta64[ns].\n ' - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - '\n Raised when encountering a timedelta value that cannot be represented\n as a timedelta64[ns].\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -TD64NS_DTYPE: _mod_numpy.dtype[timedelta64] -class _TSObject(_mod_builtins.object): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def value(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def datetime_to_datetime64() -> typing.Any: - '\n Convert ndarray of datetime-like objects to int64 array representing\n nanosecond timestamps.\n\n Parameters\n ----------\n values : ndarray[object]\n\n Returns\n -------\n result : ndarray[int64_t]\n inferred_tz : tzinfo or None\n ' - ... - -def ensure_datetime64ns() -> typing.Any: - "\n Ensure a np.datetime64 array has dtype specifically 'datetime64[ns]'\n\n Parameters\n ----------\n arr : ndarray\n copy : bool, default True\n\n Returns\n -------\n ndarray with dtype datetime64[ns]\n " - ... - -def ensure_timedelta64ns() -> typing.Any: - "\n Ensure a np.timedelta64 array has dtype specifically 'timedelta64[ns]'\n\n Parameters\n ----------\n arr : ndarray\n copy : boolean, default True\n\n Returns\n -------\n ndarray[timedelta64[ns]]\n " - ... - -def localize_pydatetime() -> typing.Any: - '\n Take a datetime/Timestamp in UTC and localizes to timezone tz.\n\n Parameters\n ----------\n dt : datetime or Timestamp\n tz : tzinfo, "UTC", or None\n\n Returns\n -------\n localized : datetime or Timestamp\n ' - ... - -def parse_datetime_string() -> typing.Any: - '\n Parse datetime string, only returns datetime.\n Also cares special handling matching time patterns.\n\n Returns\n -------\n datetime\n ' - ... - -def precision_from_unit() -> typing.Any: - '\n Return a casting of the unit represented to nanoseconds + the precision\n to round the fractional part.\n\n Notes\n -----\n The caller is responsible for ensuring that the default value of "ns"\n takes the place of None.\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/dtypes.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/dtypes.pyi deleted file mode 100644 index 14ffb73b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/dtypes.pyi +++ /dev/null @@ -1,147 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.tslibs.dtypes, version: unspecified -import typing -import builtins as _mod_builtins -import enum as _mod_enum - -Enum = _mod_enum.Enum -class FreqGroup(_mod_builtins.object): - FR_ANN: int - FR_BUS: int - FR_DAY: int - FR_HR: int - FR_MIN: int - FR_MS: int - FR_MTH: int - FR_NS: int - FR_QTR: int - FR_SEC: int - FR_UND: int - FR_US: int - FR_WK: int - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def get_freq_group(self, code) -> 'int': - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class PeriodDtypeBase(_mod_builtins.object): - '\n Similar to an actual dtype, this contains all of the information\n describing a PeriodDtype in an integer code.\n ' - def __eq__(self, value) -> bool: - 'Return self==value.' - ... - - def __ge__(self, value) -> bool: - 'Return self>=value.' - ... - - def __gt__(self, value) -> bool: - 'Return self>value.' - ... - - __hash__: typing.Any - def __init__(self, *args, **kwargs) -> None: - '\n Similar to an actual dtype, this contains all of the information\n describing a PeriodDtype in an integer code.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __le__(self, value) -> bool: - 'Return self<=value.' - ... - - def __lt__(self, value) -> bool: - 'Return self bool: - 'Return self!=value.' - ... - - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def _dtype_code(self) -> typing.Any: - ... - - @property - def date_offset(self) -> typing.Any: - '\n Corresponding DateOffset object.\n\n This mapping is mainly for backward-compatibility.\n ' - ... - - @property - def freq_group(self) -> typing.Any: - ... - - @classmethod - def from_date_offset(cls) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class Resolution(_mod_enum.Enum): - 'An enumeration.' - RESO_DAY: Resolution - RESO_HR: Resolution - RESO_MIN: Resolution - RESO_MS: Resolution - RESO_MTH: Resolution - RESO_NS: Resolution - RESO_QTR: Resolution - RESO_SEC: Resolution - RESO_US: Resolution - RESO_YR: Resolution - __members__: mappingproxy - __module__: str - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -__test__: dict -_attrname_to_abbrevs: dict -_period_code_map: dict -_reverse_period_code_map: dict -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/fields.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/fields.pyi deleted file mode 100644 index 00291612..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/fields.pyi +++ /dev/null @@ -1,61 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.tslibs.fields, version: unspecified -import typing -import builtins as _mod_builtins -import pandas._libs.tslibs.strptime as _mod_pandas__libs_tslibs_strptime - -DAYS_FULL: list -LC_TIME: int -LocaleTime = _mod_pandas__libs_tslibs_strptime.LocaleTime -MONTHS_FULL: list -__doc__: str -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def build_field_sarray() -> typing.Any: - '\n Datetime as int64 representation to a structured array of fields\n ' - ... - -def build_isocalendar_sarray() -> typing.Any: - '\n Given a int64-based datetime array, return the ISO 8601 year, week, and day\n as a structured array.\n ' - ... - -def get_date_field() -> typing.Any: - '\n Given a int64-based datetime index, extract the year, month, etc.,\n field and return an array of these values.\n ' - ... - -def get_date_name_field() -> typing.Any: - '\n Given a int64-based datetime index, return array of strings of date\n name based on requested field (e.g. day_name)\n ' - ... - -def get_locale_names() -> typing.Any: - '\n Returns an array of localized day or month names.\n\n Parameters\n ----------\n name_type : string, attribute of LocaleTime() in which to return localized\n names\n locale : string\n\n Returns\n -------\n list of locale names\n ' - ... - -def get_start_end_field() -> typing.Any: - '\n Given an int64-based datetime index return array of indicators\n of whether timestamps are at the start/end of the month/quarter/year\n (defined by frequency).\n ' - ... - -def get_timedelta_field() -> typing.Any: - '\n Given a int64-based timedelta index, extract the days, hrs, sec.,\n field and return an array of these values.\n ' - ... - -def isleapyear_arr() -> typing.Any: - 'vectorized version of isleapyear; NaT evaluates as False' - ... - -def month_position_check() -> typing.Any: - ... - -def set_locale(*args, **kwds) -> typing.Any: - '\n Context manager for temporarily setting a locale.\n\n Parameters\n ----------\n new_locale : str or tuple\n A string of the form .. For example to set\n the current locale to US English with a UTF8 encoding, you would pass\n "en_US.UTF-8".\n lc_var : int, default `locale.LC_ALL`\n The category of the locale being set.\n\n Notes\n -----\n This is useful when you want to run a particular block of code under a\n particular locale, without globally setting the locale. This probably isn\'t\n thread-safe.\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/nattype.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/nattype.pyi deleted file mode 100644 index 453b90c1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/nattype.pyi +++ /dev/null @@ -1,464 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.tslibs.nattype, version: unspecified -import typing -import builtins as _mod_builtins -import datetime as _mod_datetime - -NaT: NaTType -class NaTType(_NaT): - '\n (N)ot-(A)-(T)ime, the time equivalent of NaN.\n ' - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - '\n (N)ot-(A)-(T)ime, the time equivalent of NaN.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __rdiv__(self, other) -> typing.Any: - ... - - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __reduce_ex__(self, protocol) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __rfloordiv__(self, other) -> NaTType: - ... - - def __rmul__(self, other) -> NaTType: - ... - - def __rtruediv__(self, other) -> NaTType: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def astimezone(self, *args, **kwargs) -> typing.Any: - '\n Convert tz-aware Timestamp to another time zone.\n\n Parameters\n ----------\n tz : str, pytz.timezone, dateutil.tz.tzfile or None\n Time zone for time which Timestamp will be converted to.\n None will remove timezone holding UTC time.\n\n Returns\n -------\n converted : Timestamp\n\n Raises\n ------\n TypeError\n If Timestamp is tz-naive.\n ' - ... - - def ceil(self, *args, **kwargs) -> typing.Any: - "\n Return a new Timestamp ceiled to this resolution.\n\n Parameters\n ----------\n freq : str\n Frequency string indicating the ceiling resolution.\n ambiguous : bool or {'raise', 'NaT'}, default 'raise'\n The behavior is as follows:\n\n * bool contains flags to determine if time is dst or not (note\n that this flag is only applicable for ambiguous fall dst dates).\n * 'NaT' will return NaT for an ambiguous time.\n * 'raise' will raise an AmbiguousTimeError for an ambiguous time.\n\n .. versionadded:: 0.24.0\n nonexistent : {'raise', 'shift_forward', 'shift_backward, 'NaT', timedelta}, default 'raise'\n A nonexistent time does not exist in a particular timezone\n where clocks moved forward due to DST.\n\n * 'shift_forward' will shift the nonexistent time forward to the\n closest existing time.\n * 'shift_backward' will shift the nonexistent time backward to the\n closest existing time.\n * 'NaT' will return NaT where there are nonexistent times.\n * timedelta objects will shift nonexistent times by the timedelta.\n * 'raise' will raise an NonExistentTimeError if there are\n nonexistent times.\n\n .. versionadded:: 0.24.0\n\n Raises\n ------\n ValueError if the freq cannot be converted.\n " - ... - - def combine(self, *args, **kwargs) -> typing.Any: - '\n Timestamp.combine(date, time)\n\n Combine date, time into datetime with same date and time fields.\n ' - ... - - def ctime(self, *args, **kwargs) -> typing.Any: - 'Return ctime() style string.' - ... - - def date(self, *args, **kwargs) -> typing.Any: - 'Return date object with same year, month and day.' - ... - - day: property - def day_name(self, *args, **kwargs) -> typing.Any: - '\n Return the day name of the Timestamp with specified locale.\n\n Parameters\n ----------\n locale : str, default None (English locale)\n Locale determining the language in which to return the day name.\n\n Returns\n -------\n str\n ' - ... - - day_of_week: property - day_of_year: property - dayofweek: property - dayofyear: property - days: property - days_in_month: property - daysinmonth: property - def dst(self, *args, **kwargs) -> typing.Any: - 'Return self.tzinfo.dst(self).' - ... - - def floor(self, *args, **kwargs) -> typing.Any: - "\n Return a new Timestamp floored to this resolution.\n\n Parameters\n ----------\n freq : str\n Frequency string indicating the flooring resolution.\n ambiguous : bool or {'raise', 'NaT'}, default 'raise'\n The behavior is as follows:\n\n * bool contains flags to determine if time is dst or not (note\n that this flag is only applicable for ambiguous fall dst dates).\n * 'NaT' will return NaT for an ambiguous time.\n * 'raise' will raise an AmbiguousTimeError for an ambiguous time.\n\n .. versionadded:: 0.24.0\n nonexistent : {'raise', 'shift_forward', 'shift_backward, 'NaT', timedelta}, default 'raise'\n A nonexistent time does not exist in a particular timezone\n where clocks moved forward due to DST.\n\n * 'shift_forward' will shift the nonexistent time forward to the\n closest existing time.\n * 'shift_backward' will shift the nonexistent time backward to the\n closest existing time.\n * 'NaT' will return NaT where there are nonexistent times.\n * timedelta objects will shift nonexistent times by the timedelta.\n * 'raise' will raise an NonExistentTimeError if there are\n nonexistent times.\n\n .. versionadded:: 0.24.0\n\n Raises\n ------\n ValueError if the freq cannot be converted.\n " - ... - - def fromisocalendar(self, *args, **kwargs) -> typing.Any: - 'int, int, int -> Construct a date from the ISO year, week number and weekday.\n\nThis is the inverse of the date.isocalendar() function' - ... - - @classmethod - def fromisoformat(cls) -> typing.Any: - 'string -> datetime from datetime.isoformat() output' - ... - - def fromordinal(self, *args, **kwargs) -> typing.Any: - '\n Timestamp.fromordinal(ordinal, freq=None, tz=None)\n\n Passed an ordinal, translate and convert to a ts.\n Note: by definition there cannot be any tz info on the ordinal itself.\n\n Parameters\n ----------\n ordinal : int\n Date corresponding to a proleptic Gregorian ordinal.\n freq : str, DateOffset\n Offset to apply to the Timestamp.\n tz : str, pytz.timezone, dateutil.tz.tzfile or None\n Time zone for the Timestamp.\n ' - ... - - def fromtimestamp(self, *args, **kwargs) -> typing.Any: - "\n Timestamp.fromtimestamp(ts)\n\n Transform timestamp[, tz] to tz's local time from POSIX timestamp.\n " - ... - - hour: property - def isocalendar(self, *args, **kwargs) -> typing.Any: - 'Return a named tuple containing ISO year, week number, and weekday.' - ... - - def isoweekday(self, *args, **kwargs) -> typing.Any: - 'Return the day of the week represented by the date.\nMonday == 1 ... Sunday == 7' - ... - - microsecond: property - microseconds: property - millisecond: property - minute: property - month: property - def month_name(self, *args, **kwargs) -> typing.Any: - '\n Return the month name of the Timestamp with specified locale.\n\n Parameters\n ----------\n locale : str, default None (English locale)\n Locale determining the language in which to return the month name.\n\n Returns\n -------\n str\n ' - ... - - nanosecond: property - nanoseconds: property - def now(self, *args, **kwargs) -> typing.Any: - '\n Timestamp.now(tz=None)\n\n Return new Timestamp object representing current time local to\n tz.\n\n Parameters\n ----------\n tz : str or timezone object, default None\n Timezone to localize to.\n ' - ... - - quarter: property - qyear: property - def replace(self, *args, **kwargs) -> typing.Any: - '\n Implements datetime.replace, handles nanoseconds.\n\n Parameters\n ----------\n year : int, optional\n month : int, optional\n day : int, optional\n hour : int, optional\n minute : int, optional\n second : int, optional\n microsecond : int, optional\n nanosecond : int, optional\n tzinfo : tz-convertible, optional\n fold : int, optional\n\n Returns\n -------\n Timestamp with fields replaced\n ' - ... - - def round(self, *args, **kwargs) -> typing.Any: - "\n Round the Timestamp to the specified resolution.\n\n Parameters\n ----------\n freq : str\n Frequency string indicating the rounding resolution.\n ambiguous : bool or {'raise', 'NaT'}, default 'raise'\n The behavior is as follows:\n\n * bool contains flags to determine if time is dst or not (note\n that this flag is only applicable for ambiguous fall dst dates).\n * 'NaT' will return NaT for an ambiguous time.\n * 'raise' will raise an AmbiguousTimeError for an ambiguous time.\n\n .. versionadded:: 0.24.0\n nonexistent : {'raise', 'shift_forward', 'shift_backward, 'NaT', timedelta}, default 'raise'\n A nonexistent time does not exist in a particular timezone\n where clocks moved forward due to DST.\n\n * 'shift_forward' will shift the nonexistent time forward to the\n closest existing time.\n * 'shift_backward' will shift the nonexistent time backward to the\n closest existing time.\n * 'NaT' will return NaT where there are nonexistent times.\n * timedelta objects will shift nonexistent times by the timedelta.\n * 'raise' will raise an NonExistentTimeError if there are\n nonexistent times.\n\n .. versionadded:: 0.24.0\n\n Returns\n -------\n a new Timestamp rounded to the given resolution of `freq`\n\n Raises\n ------\n ValueError if the freq cannot be converted\n " - ... - - second: property - seconds: property - def strftime(self, *args, **kwargs) -> typing.Any: - '\n Timestamp.strftime(format)\n\n Return a string representing the given POSIX timestamp\n controlled by an explicit format string.\n\n Parameters\n ----------\n format : str\n Format string to convert Timestamp to string.\n See strftime documentation for more information on the format string:\n https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior.\n ' - ... - - def strptime(self, *args, **kwargs) -> typing.Any: - '\n Timestamp.strptime(string, format)\n\n Function is not implemented. Use pd.to_datetime().\n ' - ... - - def time(self, *args, **kwargs) -> typing.Any: - 'Return time object with same time but with tzinfo=None.' - ... - - def timestamp(self, *args, **kwargs) -> typing.Any: - 'Return POSIX timestamp as float.' - ... - - def timetuple(self, *args, **kwargs) -> typing.Any: - 'Return time tuple, compatible with time.localtime().' - ... - - def timetz(self, *args, **kwargs) -> typing.Any: - 'Return time object with same time and tzinfo.' - ... - - def to_pydatetime(self, *args, **kwargs) -> typing.Any: - '\n Convert a Timestamp object to a native Python datetime object.\n\n If warn=True, issue a warning if nanoseconds is nonzero.\n ' - ... - - def today(self, *args, **kwargs) -> typing.Any: - '\n Timestamp.today(cls, tz=None)\n\n Return the current time in the local timezone. This differs\n from datetime.today() in that it can be localized to a\n passed timezone.\n\n Parameters\n ----------\n tz : str or timezone object, default None\n Timezone to localize to.\n ' - ... - - def toordinal(self, *args, **kwargs) -> typing.Any: - 'Return proleptic Gregorian ordinal. January 1 of year 1 is day 1.' - ... - - def total_seconds(self, *args, **kwargs) -> typing.Any: - 'Total seconds in the duration.' - ... - - def tz_convert(self, *args, **kwargs) -> typing.Any: - '\n Convert tz-aware Timestamp to another time zone.\n\n Parameters\n ----------\n tz : str, pytz.timezone, dateutil.tz.tzfile or None\n Time zone for time which Timestamp will be converted to.\n None will remove timezone holding UTC time.\n\n Returns\n -------\n converted : Timestamp\n\n Raises\n ------\n TypeError\n If Timestamp is tz-naive.\n ' - ... - - def tz_localize(self, *args, **kwargs) -> typing.Any: - "\n Convert naive Timestamp to local time zone, or remove\n timezone from tz-aware Timestamp.\n\n Parameters\n ----------\n tz : str, pytz.timezone, dateutil.tz.tzfile or None\n Time zone for time which Timestamp will be converted to.\n None will remove timezone holding local time.\n\n ambiguous : bool, 'NaT', default 'raise'\n When clocks moved backward due to DST, ambiguous times may arise.\n For example in Central European Time (UTC+01), when going from\n 03:00 DST to 02:00 non-DST, 02:30:00 local time occurs both at\n 00:30:00 UTC and at 01:30:00 UTC. In such a situation, the\n `ambiguous` parameter dictates how ambiguous times should be\n handled.\n\n The behavior is as follows:\n\n * bool contains flags to determine if time is dst or not (note\n that this flag is only applicable for ambiguous fall dst dates).\n * 'NaT' will return NaT for an ambiguous time.\n * 'raise' will raise an AmbiguousTimeError for an ambiguous time.\n\n nonexistent : 'shift_forward', 'shift_backward, 'NaT', timedelta, default 'raise'\n A nonexistent time does not exist in a particular timezone\n where clocks moved forward due to DST.\n\n The behavior is as follows:\n\n * 'shift_forward' will shift the nonexistent time forward to the\n closest existing time.\n * 'shift_backward' will shift the nonexistent time backward to the\n closest existing time.\n * 'NaT' will return NaT where there are nonexistent times.\n * timedelta objects will shift nonexistent times by the timedelta.\n * 'raise' will raise an NonExistentTimeError if there are\n nonexistent times.\n\n .. versionadded:: 0.24.0\n\n Returns\n -------\n localized : Timestamp\n\n Raises\n ------\n TypeError\n If the Timestamp is tz-aware and tz is not None.\n " - ... - - def tzname(self, *args, **kwargs) -> typing.Any: - 'Return self.tzinfo.tzname(self).' - ... - - def utcfromtimestamp(self, *args, **kwargs) -> typing.Any: - '\n Timestamp.utcfromtimestamp(ts)\n\n Construct a naive UTC datetime from a POSIX timestamp.\n ' - ... - - def utcnow(self, *args, **kwargs) -> typing.Any: - '\n Timestamp.utcnow()\n\n Return a new Timestamp representing UTC day and time.\n ' - ... - - def utcoffset(self, *args, **kwargs) -> typing.Any: - 'Return self.tzinfo.utcoffset(self).' - ... - - def utctimetuple(self, *args, **kwargs) -> typing.Any: - 'Return UTC time tuple, compatible with time.localtime().' - ... - - week: property - def weekday(self, *args, **kwargs) -> typing.Any: - 'Return the day of the week represented by the date.\nMonday == 0 ... Sunday == 6' - ... - - weekofyear: property - year: property - def __getattr__(self, name) -> typing.Any: - ... - - -class _NaT(_mod_datetime.datetime): - def __add__(self, value) -> _NaT: - 'Return self+value.' - ... - - __array_priority__: int - def __eq__(self, value) -> bool: - 'Return self==value.' - ... - - def __floordiv__(self, value) -> int: - 'Return self//value.' - ... - - def __ge__(self, value) -> bool: - 'Return self>=value.' - ... - - def __gt__(self, value) -> bool: - 'Return self>value.' - ... - - def __hash__(self) -> int: - 'Return hash(self).' - ... - - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __int__(self) -> int: - 'int(self)' - ... - - def __le__(self, value) -> bool: - 'Return self<=value.' - ... - - def __lt__(self, value) -> bool: - 'Return self _NaT: - 'Return self*value.' - ... - - def __ne__(self, value) -> bool: - 'Return self!=value.' - ... - - def __neg__(self) -> _NaT: - '-self' - ... - - def __pos__(self) -> _NaT: - '+self' - ... - - def __radd__(self, value) -> _NaT: - 'Return value+self.' - ... - - def __reduce_cython__(self) -> typing.Any: - ... - - def __repr__(self) -> str: - 'Return repr(self).' - ... - - def __rfloordiv__(self, value) -> _NaT: - 'Return value//self.' - ... - - def __rmul__(self, value) -> _NaT: - 'Return value*self.' - ... - - def __rsub__(self, value) -> _NaT: - 'Return value-self.' - ... - - def __rtruediv__(self, value) -> _NaT: - 'Return value/self.' - ... - - def __setstate_cython__(self) -> typing.Any: - ... - - def __str__(self) -> str: - 'Return str(self).' - ... - - def __sub__(self, value) -> _NaT: - 'Return self-value.' - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def __truediv__(self, value) -> float: - 'Return self/value.' - ... - - @property - def asm8(self) -> typing.Any: - ... - - @classmethod - def combine(cls) -> typing.Any: - 'date, time -> datetime with same date and time fields' - ... - - @property - def freq(self) -> typing.Any: - ... - - @classmethod - def fromisocalendar(cls) -> typing.Any: - 'int, int, int -> Construct a date from the ISO year, week number and weekday.\n\nThis is the inverse of the date.isocalendar() function' - ... - - @classmethod - def fromisoformat(cls) -> typing.Any: - 'string -> datetime from datetime.isoformat() output' - ... - - @classmethod - def fromordinal(cls) -> typing.Any: - 'int -> date corresponding to a proleptic Gregorian ordinal.' - ... - - @classmethod - def fromtimestamp(cls) -> typing.Any: - "timestamp[, tz] -> tz's local time from POSIX timestamp." - ... - - @property - def is_leap_year(self) -> typing.Any: - ... - - @property - def is_month_end(self) -> typing.Any: - ... - - @property - def is_month_start(self) -> typing.Any: - ... - - @property - def is_quarter_end(self) -> typing.Any: - ... - - @property - def is_quarter_start(self) -> typing.Any: - ... - - @property - def is_year_end(self) -> typing.Any: - ... - - @property - def is_year_start(self) -> typing.Any: - ... - - def isoformat(self) -> typing.Any: - ... - - @classmethod - def now(cls, type, tz) -> typing.Any: - 'Returns new datetime object representing current time local to tz.\n\n tz\n Timezone object.\n\nIf no tz is specified, uses local timezone.' - ... - - @classmethod - def strptime(cls) -> typing.Any: - 'string, format -> new datetime parsed from a string (like time.strptime()).' - ... - - def to_datetime64(self) -> typing.Any: - "\n Return a numpy.datetime64 object with 'ns' precision.\n " - ... - - def to_numpy(self) -> typing.Any: - '\n Convert the Timestamp to a NumPy datetime64.\n\n .. versionadded:: 0.25.0\n\n This is an alias method for `Timestamp.to_datetime64()`. The dtype and\n copy parameters are available here only for compatibility. Their values\n will not affect the return value.\n\n Returns\n -------\n numpy.datetime64\n\n See Also\n --------\n DatetimeIndex.to_numpy : Similar method for DatetimeIndex.\n ' - ... - - @classmethod - def today(cls) -> typing.Any: - 'Current date or datetime: same as self.__class__.fromtimestamp(time.time()).' - ... - - @classmethod - def utcfromtimestamp(cls) -> typing.Any: - 'Construct a naive UTC datetime from a POSIX timestamp.' - ... - - @classmethod - def utcnow(cls) -> typing.Any: - 'Return a new datetime representing UTC day and time.' - ... - - @property - def value(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: typing.Any -__file__: str -__name__: str -def __nat_unpickle() -> typing.Any: - ... - -__package__: str -__pyx_capi__: dict -def __pyx_unpickle__NaT() -> typing.Any: - ... - -__test__: dict -def _make_error_func() -> typing.Any: - ... - -def _make_nan_func() -> typing.Any: - ... - -def _make_nat_func() -> typing.Any: - ... - -iNaT: int -def is_null_datetimelike() -> typing.Any: - '\n Determine if we have a null for a timedelta/datetime (or integer versions).\n\n Parameters\n ----------\n val : object\n inat_is_null : bool, default True\n Whether to treat integer iNaT value as null\n\n Returns\n -------\n bool\n ' - ... - -nat_strings: set -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/np_datetime.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/np_datetime.pyi deleted file mode 100644 index 5c3b874c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/np_datetime.pyi +++ /dev/null @@ -1,40 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.tslibs.np_datetime, version: unspecified -import typing -import builtins as _mod_builtins - -class OutOfBoundsDatetime(_mod_builtins.ValueError): - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -__test__: dict -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/offsets.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/offsets.pyi deleted file mode 100644 index 85802115..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/offsets.pyi +++ /dev/null @@ -1,2013 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.tslibs.offsets, version: unspecified -import typing -import builtins as _mod_builtins -import dateutil.relativedelta as _mod_dateutil_relativedelta -import pandas._libs.properties as _mod_pandas__libs_properties -import pandas._libs.tslibs.timedeltas as _mod_pandas__libs_tslibs_timedeltas -import pandas._libs.tslibs.timestamps as _mod_pandas__libs_tslibs_timestamps -import re as _mod_re - -def Any(self, *args, **kwds) -> typing.Any: - 'Special type indicating an unconstrained type.\n\n - Any is compatible with every type.\n - Any assumed to have all methods.\n - All values assumed to be instances of Any.\n\n Note that all the above statements are true from the point of view of\n static type checkers. At runtime, Any should not be used with instance\n or class checks.\n ' - ... - -class ApplyTypeError(_mod_builtins.TypeError): - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -BDay: BusinessDay -BMonthBegin: BusinessMonthBegin -BMonthEnd: BusinessMonthEnd -class BQuarterBegin(QuarterOffset): - "\n DateOffset increments between the first business day of each Quarter.\n\n startingMonth = 1 corresponds to dates like 1/01/2007, 4/01/2007, ...\n startingMonth = 2 corresponds to dates like 2/01/2007, 5/01/2007, ...\n startingMonth = 3 corresponds to dates like 3/01/2007, 6/01/2007, ...\n\n Examples\n --------\n >>> from pandas.tseries.offset import BQuarterBegin\n >>> ts = pd.Timestamp('2020-05-24 05:01:15')\n >>> ts + BQuarterBegin()\n Timestamp('2020-06-01 05:01:15')\n >>> ts + BQuarterBegin(2)\n Timestamp('2020-09-01 05:01:15')\n >>> ts + BQuarterBegin(startingMonth=2)\n Timestamp('2020-08-03 05:01:15')\n >>> ts + BQuarterBegin(-1)\n Timestamp('2020-03-02 05:01:15')\n " - def __init__(self, *args, **kwargs) -> None: - "\n DateOffset increments between the first business day of each Quarter.\n\n startingMonth = 1 corresponds to dates like 1/01/2007, 4/01/2007, ...\n startingMonth = 2 corresponds to dates like 2/01/2007, 5/01/2007, ...\n startingMonth = 3 corresponds to dates like 3/01/2007, 6/01/2007, ...\n\n Examples\n --------\n >>> from pandas.tseries.offset import BQuarterBegin\n >>> ts = pd.Timestamp('2020-05-24 05:01:15')\n >>> ts + BQuarterBegin()\n Timestamp('2020-06-01 05:01:15')\n >>> ts + BQuarterBegin(2)\n Timestamp('2020-09-01 05:01:15')\n >>> ts + BQuarterBegin(startingMonth=2)\n Timestamp('2020-08-03 05:01:15')\n >>> ts + BQuarterBegin(-1)\n Timestamp('2020-03-02 05:01:15')\n " - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _day_opt: str - _default_starting_month: int - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _from_name_starting_month: int - _output_name: str - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class BQuarterEnd(QuarterOffset): - "\n DateOffset increments between the last business day of each Quarter.\n\n startingMonth = 1 corresponds to dates like 1/31/2007, 4/30/2007, ...\n startingMonth = 2 corresponds to dates like 2/28/2007, 5/31/2007, ...\n startingMonth = 3 corresponds to dates like 3/30/2007, 6/29/2007, ...\n\n Examples\n --------\n >>> from pandas.tseries.offset import BQuarterEnd\n >>> ts = pd.Timestamp('2020-05-24 05:01:15')\n >>> ts + BQuarterEnd()\n Timestamp('2020-06-30 05:01:15')\n >>> ts + BQuarterEnd(2)\n Timestamp('2020-09-30 05:01:15')\n >>> ts + BQuarterEnd(1, startingMonth=2)\n Timestamp('2020-05-29 05:01:15')\n >>> ts + BQuarterEnd(startingMonth=2)\n Timestamp('2020-05-29 05:01:15')\n " - def __init__(self, *args, **kwargs) -> None: - "\n DateOffset increments between the last business day of each Quarter.\n\n startingMonth = 1 corresponds to dates like 1/31/2007, 4/30/2007, ...\n startingMonth = 2 corresponds to dates like 2/28/2007, 5/31/2007, ...\n startingMonth = 3 corresponds to dates like 3/30/2007, 6/29/2007, ...\n\n Examples\n --------\n >>> from pandas.tseries.offset import BQuarterEnd\n >>> ts = pd.Timestamp('2020-05-24 05:01:15')\n >>> ts + BQuarterEnd()\n Timestamp('2020-06-30 05:01:15')\n >>> ts + BQuarterEnd(2)\n Timestamp('2020-09-30 05:01:15')\n >>> ts + BQuarterEnd(1, startingMonth=2)\n Timestamp('2020-05-29 05:01:15')\n >>> ts + BQuarterEnd(startingMonth=2)\n Timestamp('2020-05-29 05:01:15')\n " - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _day_opt: str - _default_starting_month: int - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _from_name_starting_month: int - _output_name: str - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class BYearBegin(YearOffset): - "\n DateOffset increments between the first business day of the year.\n\n Examples\n --------\n >>> from pandas.tseries.offset import BYearBegin\n >>> ts = pd.Timestamp('2020-05-24 05:01:15')\n >>> ts + BYearBegin()\n Timestamp('2021-01-01 05:01:15')\n >>> ts - BYearBegin()\n Timestamp('2020-01-01 05:01:15')\n >>> ts + BYearBegin(-1)\n Timestamp('2020-01-01 05:01:15')\n >>> ts + BYearBegin(2)\n Timestamp('2022-01-03 05:01:15')\n " - def __init__(self, *args, **kwargs) -> None: - "\n DateOffset increments between the first business day of the year.\n\n Examples\n --------\n >>> from pandas.tseries.offset import BYearBegin\n >>> ts = pd.Timestamp('2020-05-24 05:01:15')\n >>> ts + BYearBegin()\n Timestamp('2021-01-01 05:01:15')\n >>> ts - BYearBegin()\n Timestamp('2020-01-01 05:01:15')\n >>> ts + BYearBegin(-1)\n Timestamp('2020-01-01 05:01:15')\n >>> ts + BYearBegin(2)\n Timestamp('2022-01-03 05:01:15')\n " - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _day_opt: str - _default_month: int - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _outputName: str - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class BYearEnd(YearOffset): - "\n DateOffset increments between the last business day of the year.\n\n Examples\n --------\n >>> from pandas.tseries.offset import BYearEnd\n >>> ts = pd.Timestamp('2020-05-24 05:01:15')\n >>> ts - BYearEnd()\n Timestamp('2019-12-31 05:01:15')\n >>> ts + BYearEnd()\n Timestamp('2020-12-31 05:01:15')\n >>> ts + BYearEnd(3)\n Timestamp('2022-12-30 05:01:15')\n >>> ts + BYearEnd(-3)\n Timestamp('2017-12-29 05:01:15')\n >>> ts + BYearEnd(month=11)\n Timestamp('2020-11-30 05:01:15')\n " - def __init__(self, *args, **kwargs) -> None: - "\n DateOffset increments between the last business day of the year.\n\n Examples\n --------\n >>> from pandas.tseries.offset import BYearEnd\n >>> ts = pd.Timestamp('2020-05-24 05:01:15')\n >>> ts - BYearEnd()\n Timestamp('2019-12-31 05:01:15')\n >>> ts + BYearEnd()\n Timestamp('2020-12-31 05:01:15')\n >>> ts + BYearEnd(3)\n Timestamp('2022-12-30 05:01:15')\n >>> ts + BYearEnd(-3)\n Timestamp('2017-12-29 05:01:15')\n >>> ts + BYearEnd(month=11)\n Timestamp('2020-11-30 05:01:15')\n " - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _day_opt: str - _default_month: int - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _outputName: str - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class BaseOffset(_mod_builtins.object): - '\n Base class for DateOffset methods that are not overridden by subclasses.\n ' - def __add__(self, value) -> BaseOffset: - 'Return self+value.' - ... - - def __call__(self, *args, **kwargs) -> typing.Any: - 'Call self as a function.' - ... - - def __eq__(self, value) -> bool: - 'Return self==value.' - ... - - def __ge__(self, value) -> bool: - 'Return self>=value.' - ... - - def __getstate__(self) -> typing.Any: - '\n Return a pickleable state\n ' - ... - - def __gt__(self, value) -> bool: - 'Return self>value.' - ... - - def __hash__(self) -> int: - 'Return hash(self).' - ... - - def __init__(self, *args, **kwargs) -> None: - '\n Base class for DateOffset methods that are not overridden by subclasses.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __le__(self, value) -> bool: - 'Return self<=value.' - ... - - def __lt__(self, value) -> bool: - 'Return self BaseOffset: - 'Return self*value.' - ... - - def __ne__(self, value) -> bool: - 'Return self!=value.' - ... - - def __neg__(self) -> BaseOffset: - '-self' - ... - - def __radd__(self, value) -> BaseOffset: - 'Return value+self.' - ... - - def __reduce_cython__(self) -> typing.Any: - ... - - def __repr__(self) -> str: - 'Return repr(self).' - ... - - def __rmul__(self, value) -> BaseOffset: - 'Return value*self.' - ... - - def __rsub__(self, value) -> BaseOffset: - 'Return value-self.' - ... - - def __setstate__(self, state: typing.Any) -> None: - '\n Reconstruct an instance from a pickled state\n ' - ... - - def __setstate_cython__(self) -> typing.Any: - ... - - def __sub__(self, value) -> BaseOffset: - 'Return self-value.' - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _adjust_dst: bool - def _apply_array(self, other) -> numpy.ndarray: - ... - - _attributes: tuple - @property - def _cache(self) -> typing.Any: - ... - - _day_opt: typing.Any - _deprecations: frozenset - def _get_offset_day(self) -> typing.Any: - ... - - def _offset_str(self) -> typing.Any: - ... - - _params: _mod_pandas__libs_properties.CachedProperty - @property - def _prefix(self) -> typing.Any: - ... - - def _repr_attrs(self) -> typing.Any: - ... - - _use_relativedelta: bool - @classmethod - def _validate_n(cls) -> typing.Any: - '\n Require that `n` be an integer.\n\n Parameters\n ----------\n n : int\n\n Returns\n -------\n nint : int\n\n Raises\n ------\n TypeError if `int(n)` raises\n ValueError if n != int(n)\n ' - ... - - def apply_index(self, other) -> typing.Any: - ... - - @property - def base(self) -> typing.Any: - '\n Returns a copy of the calling offset object with n=1 and all other\n attributes equal.\n ' - ... - - def copy(self) -> typing.Any: - ... - - freqstr: _mod_pandas__libs_properties.CachedProperty - def isAnchored(self) -> typing.Any: - ... - - def is_anchored(self) -> typing.Any: - ... - - def is_on_offset(self) -> typing.Any: - ... - - @property - def kwds(self) -> typing.Any: - ... - - @property - def n(self) -> typing.Any: - ... - - @property - def name(self) -> typing.Any: - ... - - @property - def nanos(self) -> typing.Any: - ... - - @property - def normalize(self) -> typing.Any: - ... - - def onOffset(self) -> typing.Any: - ... - - def rollback(self) -> typing.Any: - '\n Roll provided date backward to next offset only if not on offset.\n\n Returns\n -------\n TimeStamp\n Rolled timestamp if not on offset, otherwise unchanged timestamp.\n ' - ... - - def rollforward(self) -> typing.Any: - '\n Roll provided date forward to next offset only if not on offset.\n\n Returns\n -------\n TimeStamp\n Rolled timestamp if not on offset, otherwise unchanged timestamp.\n ' - ... - - @property - def rule_code(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class BusinessDay(BusinessMixin): - '\n DateOffset subclass representing possibly n business days.\n ' - def __init__(self, *args, **kwargs) -> None: - '\n DateOffset subclass representing possibly n business days.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def _apply_array(self, other) -> numpy.ndarray: - ... - - _attributes: tuple - @classmethod - def _from_name(cls) -> typing.Any: - ... - - def _offset_str(self) -> typing.Any: - ... - - _period_dtype_code: int - _prefix: str - def apply(self, other) -> typing.Any: - ... - - def apply_index(self, other) -> typing.Any: - ... - - def is_on_offset(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class BusinessHour(BusinessMixin): - '\n DateOffset subclass representing possibly n business hours.\n\n Parameters\n ----------\n n : int, default 1\n The number of months represented.\n normalize : bool, default False\n Normalize start/end dates to midnight before generating date range.\n weekmask : str, Default \'Mon Tue Wed Thu Fri\'\n Weekmask of valid business days, passed to ``numpy.busdaycalendar``.\n start : str, default "09:00"\n Start time of your custom business hour in 24h format.\n end : str, default: "17:00"\n End time of your custom business hour in 24h format.\n ' - def __init__(self, *args, **kwargs) -> None: - '\n DateOffset subclass representing possibly n business hours.\n\n Parameters\n ----------\n n : int, default 1\n The number of months represented.\n normalize : bool, default False\n Normalize start/end dates to midnight before generating date range.\n weekmask : str, Default \'Mon Tue Wed Thu Fri\'\n Weekmask of valid business days, passed to ``numpy.busdaycalendar``.\n start : str, default "09:00"\n Start time of your custom business hour in 24h format.\n end : str, default: "17:00"\n End time of your custom business hour in 24h format.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _adjust_dst: bool - _anchor: int - _attributes: tuple - @classmethod - def _from_name(cls) -> typing.Any: - ... - - def _get_business_hours_by_sec(self) -> typing.Any: - '\n Return business hours in a day by seconds.\n ' - ... - - def _get_closing_time(self) -> typing.Any: - '\n Get the closing time of a business hour interval by its opening time.\n\n Parameters\n ----------\n dt : datetime\n Opening time of a business hour interval.\n\n Returns\n -------\n result : datetime\n Corresponding closing time.\n ' - ... - - def _is_on_offset(self) -> typing.Any: - '\n Slight speedups using calculated values.\n ' - ... - - def _next_opening_time(self) -> typing.Any: - '\n If self.n and sign have the same sign, return the earliest opening time\n later than or equal to current time.\n Otherwise the latest opening time earlier than or equal to current\n time.\n\n Opening time always locates on BusinessDay.\n However, closing time may not if business hour extends over midnight.\n\n Parameters\n ----------\n other : datetime\n Current time.\n sign : int, default 1.\n Either 1 or -1. Going forward in time if it has the same sign as\n self.n. Going backward in time otherwise.\n\n Returns\n -------\n result : datetime\n Next opening time.\n ' - ... - - _prefix: str - def _prev_opening_time(self) -> typing.Any: - '\n If n is positive, return the latest opening time earlier than or equal\n to current time.\n Otherwise the earliest opening time later than or equal to current\n time.\n\n Parameters\n ----------\n other : datetime\n Current time.\n\n Returns\n -------\n result : datetime\n Previous opening time.\n ' - ... - - def _repr_attrs(self) -> typing.Any: - ... - - def apply(self, other) -> typing.Any: - ... - - @property - def end(self) -> typing.Any: - ... - - def is_on_offset(self) -> typing.Any: - ... - - next_bday: _mod_pandas__libs_properties.CachedProperty - def rollback(self, other) -> typing.Any: - '\n Roll provided date backward to next offset only if not on offset.\n ' - ... - - def rollforward(self, other) -> typing.Any: - '\n Roll provided date forward to next offset only if not on offset.\n ' - ... - - @property - def start(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class BusinessMixin(SingleConstructorOffset): - '\n Mixin to business types to provide related functions.\n ' - def __init__(self, *args, **kwargs) -> None: - '\n Mixin to business types to provide related functions.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @classmethod - def _from_name(cls) -> typing.Any: - ... - - def _init_custom(self) -> typing.Any: - '\n Additional __init__ for Custom subclasses.\n ' - ... - - @property - def _offset(self) -> typing.Any: - ... - - def _repr_attrs(self) -> typing.Any: - ... - - @property - def calendar(self) -> typing.Any: - ... - - @property - def holidays(self) -> typing.Any: - ... - - @property - def offset(self) -> typing.Any: - '\n Alias for self._offset.\n ' - ... - - @property - def weekmask(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class BusinessMonthBegin(MonthOffset): - "\n DateOffset of one month at the first business day.\n\n Examples\n --------\n >>> from pandas.tseries.offset import BMonthBegin\n >>> ts=pd.Timestamp('2020-05-24 05:01:15')\n >>> ts + BMonthBegin()\n Timestamp('2020-06-01 05:01:15')\n >>> ts + BMonthBegin(2)\n Timestamp('2020-07-01 05:01:15')\n >>> ts + BMonthBegin(-3)\n Timestamp('2020-03-02 05:01:15')\n " - def __init__(self, *args, **kwargs) -> None: - "\n DateOffset of one month at the first business day.\n\n Examples\n --------\n >>> from pandas.tseries.offset import BMonthBegin\n >>> ts=pd.Timestamp('2020-05-24 05:01:15')\n >>> ts + BMonthBegin()\n Timestamp('2020-06-01 05:01:15')\n >>> ts + BMonthBegin(2)\n Timestamp('2020-07-01 05:01:15')\n >>> ts + BMonthBegin(-3)\n Timestamp('2020-03-02 05:01:15')\n " - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _day_opt: str - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class BusinessMonthEnd(MonthOffset): - "\n DateOffset increments between the last business day of the month\n\n Examples\n --------\n >>> from pandas.tseries.offset import BMonthEnd\n >>> ts = pd.Timestamp('2020-05-24 05:01:15')\n >>> ts + BMonthEnd()\n Timestamp('2020-05-29 05:01:15')\n >>> ts + BMonthEnd(2)\n Timestamp('2020-06-30 05:01:15')\n >>> ts + BMonthEnd(-2)\n Timestamp('2020-03-31 05:01:15')\n " - def __init__(self, *args, **kwargs) -> None: - "\n DateOffset increments between the last business day of the month\n\n Examples\n --------\n >>> from pandas.tseries.offset import BMonthEnd\n >>> ts = pd.Timestamp('2020-05-24 05:01:15')\n >>> ts + BMonthEnd()\n Timestamp('2020-05-29 05:01:15')\n >>> ts + BMonthEnd(2)\n Timestamp('2020-06-30 05:01:15')\n >>> ts + BMonthEnd(-2)\n Timestamp('2020-03-31 05:01:15')\n " - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _day_opt: str - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -CBMonthBegin: CustomBusinessMonthBegin -CBMonthEnd: CustomBusinessMonthEnd -CDay: CustomBusinessDay -class CustomBusinessDay(BusinessDay): - "\n DateOffset subclass representing custom business days excluding holidays.\n\n Parameters\n ----------\n n : int, default 1\n normalize : bool, default False\n Normalize start/end dates to midnight before generating date range.\n weekmask : str, Default 'Mon Tue Wed Thu Fri'\n Weekmask of valid business days, passed to ``numpy.busdaycalendar``.\n holidays : list\n List/array of dates to exclude from the set of valid business days,\n passed to ``numpy.busdaycalendar``.\n calendar : pd.HolidayCalendar or np.busdaycalendar\n offset : timedelta, default timedelta(0)\n " - def __init__(self, *args, **kwargs) -> None: - "\n DateOffset subclass representing custom business days excluding holidays.\n\n Parameters\n ----------\n n : int, default 1\n normalize : bool, default False\n Normalize start/end dates to midnight before generating date range.\n weekmask : str, Default 'Mon Tue Wed Thu Fri'\n Weekmask of valid business days, passed to ``numpy.busdaycalendar``.\n holidays : list\n List/array of dates to exclude from the set of valid business days,\n passed to ``numpy.busdaycalendar``.\n calendar : pd.HolidayCalendar or np.busdaycalendar\n offset : timedelta, default timedelta(0)\n " - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def _apply_array(self) -> typing.Any: - ... - - _attributes: tuple - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _prefix: str - def apply(self, other) -> typing.Any: - ... - - def apply_index(self) -> typing.Any: - ... - - def is_on_offset(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class CustomBusinessHour(BusinessHour): - '\n DateOffset subclass representing possibly n custom business days.\n\n Parameters\n ----------\n n : int, default 1\n The number of months represented.\n normalize : bool, default False\n Normalize start/end dates to midnight before generating date range.\n weekmask : str, Default \'Mon Tue Wed Thu Fri\'\n Weekmask of valid business days, passed to ``numpy.busdaycalendar``.\n start : str, default "09:00"\n Start time of your custom business hour in 24h format.\n end : str, default: "17:00"\n End time of your custom business hour in 24h format.\n ' - def __init__(self, *args, **kwargs) -> None: - '\n DateOffset subclass representing possibly n custom business days.\n\n Parameters\n ----------\n n : int, default 1\n The number of months represented.\n normalize : bool, default False\n Normalize start/end dates to midnight before generating date range.\n weekmask : str, Default \'Mon Tue Wed Thu Fri\'\n Weekmask of valid business days, passed to ``numpy.busdaycalendar``.\n start : str, default "09:00"\n Start time of your custom business hour in 24h format.\n end : str, default: "17:00"\n End time of your custom business hour in 24h format.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _attributes: tuple - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class CustomBusinessMonthBegin(_CustomBusinessMonth): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class CustomBusinessMonthEnd(_CustomBusinessMonth): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class DateOffset(RelativeDeltaOffset): - "\n Standard kind of date increment used for a date range.\n\n Works exactly like relativedelta in terms of the keyword args you\n pass in, use of the keyword n is discouraged-- you would be better\n off specifying n in the keywords you use, but regardless it is\n there for you. n is needed for DateOffset subclasses.\n\n DateOffset work as follows. Each offset specify a set of dates\n that conform to the DateOffset. For example, Bday defines this\n set to be the set of dates that are weekdays (M-F). To test if a\n date is in the set of a DateOffset dateOffset we can use the\n is_on_offset method: dateOffset.is_on_offset(date).\n\n If a date is not on a valid date, the rollback and rollforward\n methods can be used to roll the date to the nearest valid date\n before/after the date.\n\n DateOffsets can be created to move dates forward a given number of\n valid dates. For example, Bday(2) can be added to a date to move\n it two business days forward. If the date does not start on a\n valid date, first it is moved to a valid date. Thus pseudo code\n is:\n\n def __add__(date):\n date = rollback(date) # does nothing if date is valid\n return date + \n\n When a date offset is created for a negative number of periods,\n the date is first rolled forward. The pseudo code is:\n\n def __add__(date):\n date = rollforward(date) # does nothing is date is valid\n return date + \n\n Zero presents a problem. Should it roll forward or back? We\n arbitrarily have it rollforward:\n\n date + BDay(0) == BDay.rollforward(date)\n\n Since 0 is a bit weird, we suggest avoiding its use.\n\n Parameters\n ----------\n n : int, default 1\n The number of time periods the offset represents.\n normalize : bool, default False\n Whether to round the result of a DateOffset addition down to the\n previous midnight.\n **kwds\n Temporal parameter that add to or replace the offset value.\n\n Parameters that **add** to the offset (like Timedelta):\n\n - years\n - months\n - weeks\n - days\n - hours\n - minutes\n - seconds\n - microseconds\n - nanoseconds\n\n Parameters that **replace** the offset value:\n\n - year\n - month\n - day\n - weekday\n - hour\n - minute\n - second\n - microsecond\n - nanosecond.\n\n See Also\n --------\n dateutil.relativedelta.relativedelta : The relativedelta type is designed\n to be applied to an existing datetime an can replace specific components of\n that datetime, or represents an interval of time.\n\n Examples\n --------\n >>> from pandas.tseries.offsets import DateOffset\n >>> ts = pd.Timestamp('2017-01-01 09:10:11')\n >>> ts + DateOffset(months=3)\n Timestamp('2017-04-01 09:10:11')\n\n >>> ts = pd.Timestamp('2017-01-01 09:10:11')\n >>> ts + DateOffset(months=2)\n Timestamp('2017-03-01 09:10:11')\n " - __class__: OffsetMeta - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - "\n Standard kind of date increment used for a date range.\n\n Works exactly like relativedelta in terms of the keyword args you\n pass in, use of the keyword n is discouraged-- you would be better\n off specifying n in the keywords you use, but regardless it is\n there for you. n is needed for DateOffset subclasses.\n\n DateOffset work as follows. Each offset specify a set of dates\n that conform to the DateOffset. For example, Bday defines this\n set to be the set of dates that are weekdays (M-F). To test if a\n date is in the set of a DateOffset dateOffset we can use the\n is_on_offset method: dateOffset.is_on_offset(date).\n\n If a date is not on a valid date, the rollback and rollforward\n methods can be used to roll the date to the nearest valid date\n before/after the date.\n\n DateOffsets can be created to move dates forward a given number of\n valid dates. For example, Bday(2) can be added to a date to move\n it two business days forward. If the date does not start on a\n valid date, first it is moved to a valid date. Thus pseudo code\n is:\n\n def __add__(date):\n date = rollback(date) # does nothing if date is valid\n return date + \n\n When a date offset is created for a negative number of periods,\n the date is first rolled forward. The pseudo code is:\n\n def __add__(date):\n date = rollforward(date) # does nothing is date is valid\n return date + \n\n Zero presents a problem. Should it roll forward or back? We\n arbitrarily have it rollforward:\n\n date + BDay(0) == BDay.rollforward(date)\n\n Since 0 is a bit weird, we suggest avoiding its use.\n\n Parameters\n ----------\n n : int, default 1\n The number of time periods the offset represents.\n normalize : bool, default False\n Whether to round the result of a DateOffset addition down to the\n previous midnight.\n **kwds\n Temporal parameter that add to or replace the offset value.\n\n Parameters that **add** to the offset (like Timedelta):\n\n - years\n - months\n - weeks\n - days\n - hours\n - minutes\n - seconds\n - microseconds\n - nanoseconds\n\n Parameters that **replace** the offset value:\n\n - year\n - month\n - day\n - weekday\n - hour\n - minute\n - second\n - microsecond\n - nanosecond.\n\n See Also\n --------\n dateutil.relativedelta.relativedelta : The relativedelta type is designed\n to be applied to an existing datetime an can replace specific components of\n that datetime, or represents an interval of time.\n\n Examples\n --------\n >>> from pandas.tseries.offsets import DateOffset\n >>> ts = pd.Timestamp('2017-01-01 09:10:11')\n >>> ts + DateOffset(months=3)\n Timestamp('2017-04-01 09:10:11')\n\n >>> ts = pd.Timestamp('2017-01-01 09:10:11')\n >>> ts + DateOffset(months=2)\n Timestamp('2017-03-01 09:10:11')\n " - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __setattr__(self, name, value) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class Day(Tick): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _nanos_inc: int - _period_dtype_code: int - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class Easter(SingleConstructorOffset): - '\n DateOffset for the Easter holiday using logic defined in dateutil.\n\n Right now uses the revised method which is valid in years 1583-4099.\n ' - def __init__(self, *args, **kwargs) -> None: - '\n DateOffset for the Easter holiday using logic defined in dateutil.\n\n Right now uses the revised method which is valid in years 1583-4099.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @classmethod - def _from_name(cls) -> typing.Any: - ... - - def apply(self, other) -> typing.Any: - ... - - def is_on_offset(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class FY5253(FY5253Mixin): - '\n Describes 52-53 week fiscal year. This is also known as a 4-4-5 calendar.\n\n It is used by companies that desire that their\n fiscal year always end on the same day of the week.\n\n It is a method of managing accounting periods.\n It is a common calendar structure for some industries,\n such as retail, manufacturing and parking industry.\n\n For more information see:\n https://en.wikipedia.org/wiki/4-4-5_calendar\n\n The year may either:\n\n - end on the last X day of the Y month.\n - end on the last X day closest to the last day of the Y month.\n\n X is a specific day of the week.\n Y is a certain month of the year\n\n Parameters\n ----------\n n : int\n weekday : int {0, 1, ..., 6}, default 0\n A specific integer for the day of the week.\n\n - 0 is Monday\n - 1 is Tuesday\n - 2 is Wednesday\n - 3 is Thursday\n - 4 is Friday\n - 5 is Saturday\n - 6 is Sunday.\n\n startingMonth : int {1, 2, ... 12}, default 1\n The month in which the fiscal year ends.\n\n variation : str, default "nearest"\n Method of employing 4-4-5 calendar.\n\n There are two options:\n\n - "nearest" means year end is **weekday** closest to last day of month in year.\n - "last" means year end is final **weekday** of the final month in fiscal year.\n ' - def __init__(self, *args, **kwargs) -> None: - '\n Describes 52-53 week fiscal year. This is also known as a 4-4-5 calendar.\n\n It is used by companies that desire that their\n fiscal year always end on the same day of the week.\n\n It is a method of managing accounting periods.\n It is a common calendar structure for some industries,\n such as retail, manufacturing and parking industry.\n\n For more information see:\n https://en.wikipedia.org/wiki/4-4-5_calendar\n\n The year may either:\n\n - end on the last X day of the Y month.\n - end on the last X day closest to the last day of the Y month.\n\n X is a specific day of the week.\n Y is a certain month of the year\n\n Parameters\n ----------\n n : int\n weekday : int {0, 1, ..., 6}, default 0\n A specific integer for the day of the week.\n\n - 0 is Monday\n - 1 is Tuesday\n - 2 is Wednesday\n - 3 is Thursday\n - 4 is Friday\n - 5 is Saturday\n - 6 is Sunday.\n\n startingMonth : int {1, 2, ... 12}, default 1\n The month in which the fiscal year ends.\n\n variation : str, default "nearest"\n Method of employing 4-4-5 calendar.\n\n There are two options:\n\n - "nearest" means year end is **weekday** closest to last day of month in year.\n - "last" means year end is final **weekday** of the final month in fiscal year.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _attributes: tuple - @classmethod - def _from_name(cls) -> typing.Any: - ... - - @classmethod - def _parse_suffix(cls) -> typing.Any: - ... - - _prefix: str - def apply(self, other) -> typing.Any: - ... - - def get_year_end(self) -> typing.Any: - ... - - def is_on_offset(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class FY5253Mixin(SingleConstructorOffset): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @classmethod - def _from_name(cls) -> typing.Any: - ... - - def _get_suffix_prefix(self) -> typing.Any: - ... - - def get_rule_code_suffix(self) -> typing.Any: - ... - - def is_anchored(self) -> typing.Any: - ... - - @property - def rule_code(self) -> typing.Any: - ... - - @property - def startingMonth(self) -> typing.Any: - ... - - @property - def variation(self) -> typing.Any: - ... - - @property - def weekday(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class FY5253Quarter(FY5253Mixin): - '\n DateOffset increments between business quarter dates\n for 52-53 week fiscal year (also known as a 4-4-5 calendar).\n\n It is used by companies that desire that their\n fiscal year always end on the same day of the week.\n\n It is a method of managing accounting periods.\n It is a common calendar structure for some industries,\n such as retail, manufacturing and parking industry.\n\n For more information see:\n https://en.wikipedia.org/wiki/4-4-5_calendar\n\n The year may either:\n\n - end on the last X day of the Y month.\n - end on the last X day closest to the last day of the Y month.\n\n X is a specific day of the week.\n Y is a certain month of the year\n\n startingMonth = 1 corresponds to dates like 1/31/2007, 4/30/2007, ...\n startingMonth = 2 corresponds to dates like 2/28/2007, 5/31/2007, ...\n startingMonth = 3 corresponds to dates like 3/30/2007, 6/29/2007, ...\n\n Parameters\n ----------\n n : int\n weekday : int {0, 1, ..., 6}, default 0\n A specific integer for the day of the week.\n\n - 0 is Monday\n - 1 is Tuesday\n - 2 is Wednesday\n - 3 is Thursday\n - 4 is Friday\n - 5 is Saturday\n - 6 is Sunday.\n\n startingMonth : int {1, 2, ..., 12}, default 1\n The month in which fiscal years end.\n\n qtr_with_extra_week : int {1, 2, 3, 4}, default 1\n The quarter number that has the leap or 14 week when needed.\n\n variation : str, default "nearest"\n Method of employing 4-4-5 calendar.\n\n There are two options:\n\n - "nearest" means year end is **weekday** closest to last day of month in year.\n - "last" means year end is final **weekday** of the final month in fiscal year.\n ' - def __init__(self, *args, **kwargs) -> None: - '\n DateOffset increments between business quarter dates\n for 52-53 week fiscal year (also known as a 4-4-5 calendar).\n\n It is used by companies that desire that their\n fiscal year always end on the same day of the week.\n\n It is a method of managing accounting periods.\n It is a common calendar structure for some industries,\n such as retail, manufacturing and parking industry.\n\n For more information see:\n https://en.wikipedia.org/wiki/4-4-5_calendar\n\n The year may either:\n\n - end on the last X day of the Y month.\n - end on the last X day closest to the last day of the Y month.\n\n X is a specific day of the week.\n Y is a certain month of the year\n\n startingMonth = 1 corresponds to dates like 1/31/2007, 4/30/2007, ...\n startingMonth = 2 corresponds to dates like 2/28/2007, 5/31/2007, ...\n startingMonth = 3 corresponds to dates like 3/30/2007, 6/29/2007, ...\n\n Parameters\n ----------\n n : int\n weekday : int {0, 1, ..., 6}, default 0\n A specific integer for the day of the week.\n\n - 0 is Monday\n - 1 is Tuesday\n - 2 is Wednesday\n - 3 is Thursday\n - 4 is Friday\n - 5 is Saturday\n - 6 is Sunday.\n\n startingMonth : int {1, 2, ..., 12}, default 1\n The month in which fiscal years end.\n\n qtr_with_extra_week : int {1, 2, 3, 4}, default 1\n The quarter number that has the leap or 14 week when needed.\n\n variation : str, default "nearest"\n Method of employing 4-4-5 calendar.\n\n There are two options:\n\n - "nearest" means year end is **weekday** closest to last day of month in year.\n - "last" means year end is final **weekday** of the final month in fiscal year.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _attributes: tuple - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _offset: _mod_pandas__libs_properties.CachedProperty - _prefix: str - def _rollback_to_year(self) -> typing.Any: - '\n Roll `other` back to the most recent date that was on a fiscal year\n end.\n\n Return the date of that year-end, the number of full quarters\n elapsed between that year-end and other, and the remaining Timedelta\n since the most recent quarter-end.\n\n Parameters\n ----------\n other : datetime or Timestamp\n\n Returns\n -------\n tuple of\n prev_year_end : Timestamp giving most recent fiscal year end\n num_qtrs : int\n tdelta : Timedelta\n ' - ... - - def apply(self, other) -> typing.Any: - ... - - def get_weeks(self) -> typing.Any: - ... - - def is_on_offset(self) -> typing.Any: - ... - - @property - def qtr_with_extra_week(self) -> typing.Any: - ... - - @property - def rule_code(self) -> typing.Any: - ... - - def year_has_extra_week(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class Hour(Tick): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _nanos_inc: int - _period_dtype_code: int - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -INVALID_FREQ_ERR_MSG: str -class LastWeekOfMonth(WeekOfMonthMixin): - '\n Describes monthly dates in last week of month like "the last Tuesday of\n each month".\n\n Parameters\n ----------\n n : int, default 1\n weekday : int {0, 1, ..., 6}, default 0\n A specific integer for the day of the week.\n\n - 0 is Monday\n - 1 is Tuesday\n - 2 is Wednesday\n - 3 is Thursday\n - 4 is Friday\n - 5 is Saturday\n - 6 is Sunday.\n ' - def __init__(self, *args, **kwargs) -> None: - '\n Describes monthly dates in last week of month like "the last Tuesday of\n each month".\n\n Parameters\n ----------\n n : int, default 1\n weekday : int {0, 1, ..., 6}, default 0\n A specific integer for the day of the week.\n\n - 0 is Monday\n - 1 is Tuesday\n - 2 is Wednesday\n - 3 is Thursday\n - 4 is Friday\n - 5 is Saturday\n - 6 is Sunday.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _attributes: tuple - @classmethod - def _from_name(cls) -> typing.Any: - ... - - def _get_offset_day(self) -> typing.Any: - '\n Find the day in the same month as other that has the same\n weekday as self.weekday and is the last such day in the month.\n\n Parameters\n ----------\n other: datetime\n\n Returns\n -------\n day: int\n ' - ... - - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -MONTH_ALIASES: dict -MONTH_TO_CAL_NUM: dict -class Micro(Tick): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _nanos_inc: int - _period_dtype_code: int - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class Milli(Tick): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _nanos_inc: int - _period_dtype_code: int - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class Minute(Tick): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _nanos_inc: int - _period_dtype_code: int - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class MonthBegin(MonthOffset): - '\n DateOffset of one month at beginning.\n ' - def __init__(self, *args, **kwargs) -> None: - '\n DateOffset of one month at beginning.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _day_opt: str - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class MonthEnd(MonthOffset): - '\n DateOffset of one month end.\n ' - def __init__(self, *args, **kwargs) -> None: - '\n DateOffset of one month end.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _day_opt: str - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _period_dtype_code: int - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class MonthOffset(SingleConstructorOffset): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def _apply_array(self, other) -> numpy.ndarray: - ... - - @classmethod - def _from_name(cls) -> typing.Any: - ... - - def apply(self, other) -> typing.Any: - ... - - def apply_index(self, other) -> typing.Any: - ... - - def is_on_offset(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class Nano(Tick): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _nanos_inc: int - _period_dtype_code: int - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class OffsetMeta(_mod_builtins.type): - '\n Metaclass that allows us to pretend that all BaseOffset subclasses\n inherit from DateOffset (which is needed for backward-compatibility).\n ' - __base__ = _mod_builtins.type - __bases__: typing.Tuple[type, ...] - __basicsize__: int - __dict__: typing.Dict[str, typing.Any] - __dictoffset__: int - __flags__: int - def __init__(self, *args, **kwargs) -> None: - '\n Metaclass that allows us to pretend that all BaseOffset subclasses\n inherit from DateOffset (which is needed for backward-compatibility).\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __instancecheck__(self, cls, obj) -> bool: - ... - - __module__: str - __mro__: typing.Tuple[type, ...] - __name__: str - @classmethod - def __prepare__(cls, name: str, bases: typing.Tuple[type, ...], **kwds: typing.Any) -> typing.Dict[typing.Any, typing.Any]: - '__prepare__() -> dict\nused to create the namespace for the class statement' - ... - - __qualname__: str - def __subclasscheck__(self, cls, obj) -> bool: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - __weakrefoffset__: int - def __getattr__(self, name) -> typing.Any: - ... - - -class QuarterBegin(QuarterOffset): - '\n DateOffset increments between Quarter start dates.\n\n startingMonth = 1 corresponds to dates like 1/01/2007, 4/01/2007, ...\n startingMonth = 2 corresponds to dates like 2/01/2007, 5/01/2007, ...\n startingMonth = 3 corresponds to dates like 3/01/2007, 6/01/2007, ...\n ' - def __init__(self, *args, **kwargs) -> None: - '\n DateOffset increments between Quarter start dates.\n\n startingMonth = 1 corresponds to dates like 1/01/2007, 4/01/2007, ...\n startingMonth = 2 corresponds to dates like 2/01/2007, 5/01/2007, ...\n startingMonth = 3 corresponds to dates like 3/01/2007, 6/01/2007, ...\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _day_opt: str - _default_starting_month: int - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _from_name_starting_month: int - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class QuarterEnd(QuarterOffset): - '\n DateOffset increments between Quarter end dates.\n\n startingMonth = 1 corresponds to dates like 1/31/2007, 4/30/2007, ...\n startingMonth = 2 corresponds to dates like 2/28/2007, 5/31/2007, ...\n startingMonth = 3 corresponds to dates like 3/31/2007, 6/30/2007, ...\n ' - def __init__(self, *args, **kwargs) -> None: - '\n DateOffset increments between Quarter end dates.\n\n startingMonth = 1 corresponds to dates like 1/31/2007, 4/30/2007, ...\n startingMonth = 2 corresponds to dates like 2/28/2007, 5/31/2007, ...\n startingMonth = 3 corresponds to dates like 3/31/2007, 6/30/2007, ...\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _day_opt: str - _default_starting_month: int - @classmethod - def _from_name(cls) -> typing.Any: - ... - - @property - def _period_dtype_code(self) -> typing.Any: - ... - - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class QuarterOffset(SingleConstructorOffset): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def _apply_array(self, other) -> numpy.ndarray: - ... - - _attributes: tuple - @classmethod - def _from_name(cls) -> typing.Any: - ... - - def apply(self, other) -> typing.Any: - ... - - def apply_index(self, other) -> typing.Any: - ... - - def is_anchored(self) -> typing.Any: - ... - - def is_on_offset(self) -> typing.Any: - ... - - @property - def rule_code(self) -> typing.Any: - ... - - @property - def startingMonth(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class RelativeDeltaOffset(BaseOffset): - '\n DateOffset subclass backed by a dateutil relativedelta object.\n ' - def __getstate__(self) -> typing.Any: - '\n Return a pickleable state\n ' - ... - - def __init__(self, *args, **kwargs) -> None: - '\n DateOffset subclass backed by a dateutil relativedelta object.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __reduce_cython__(self) -> typing.Any: - ... - - def __setstate__(self, state: typing.Any) -> None: - '\n Reconstruct an instance from a pickled state\n ' - ... - - def __setstate_cython__(self) -> typing.Any: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _adjust_dst: bool - def _apply_array(self, other) -> numpy.ndarray: - ... - - _attributes: tuple - def apply(self, other) -> typing.Any: - ... - - def apply_index(self, other) -> typing.Any: - ... - - def is_on_offset(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class Second(Tick): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _nanos_inc: int - _period_dtype_code: int - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class SemiMonthBegin(SemiMonthOffset): - "\n Two DateOffset's per month repeating on the first\n day of the month and day_of_month.\n\n Parameters\n ----------\n n : int\n normalize : bool, default False\n day_of_month : int, {2, 3,...,27}, default 15\n " - def __init__(self, *args, **kwargs) -> None: - "\n Two DateOffset's per month repeating on the first\n day of the month and day_of_month.\n\n Parameters\n ----------\n n : int\n normalize : bool, default False\n day_of_month : int, {2, 3,...,27}, default 15\n " - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _prefix: str - def is_on_offset(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class SemiMonthEnd(SemiMonthOffset): - "\n Two DateOffset's per month repeating on the last\n day of the month and day_of_month.\n\n Parameters\n ----------\n n : int\n normalize : bool, default False\n day_of_month : int, {1, 3,...,27}, default 15\n " - def __init__(self, *args, **kwargs) -> None: - "\n Two DateOffset's per month repeating on the last\n day of the month and day_of_month.\n\n Parameters\n ----------\n n : int\n normalize : bool, default False\n day_of_month : int, {1, 3,...,27}, default 15\n " - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _min_day_of_month: int - _prefix: str - def is_on_offset(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class SemiMonthOffset(SingleConstructorOffset): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def _apply_array(self, other) -> numpy.ndarray: - ... - - _attributes: tuple - _default_day_of_month: int - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _min_day_of_month: int - def apply(self, other) -> typing.Any: - ... - - def apply_index(self, other) -> typing.Any: - ... - - @property - def day_of_month(self) -> typing.Any: - ... - - @property - def rule_code(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class SingleConstructorOffset(BaseOffset): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @classmethod - def _from_name(cls) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class Tick(SingleConstructorOffset): - def __add__(self, value) -> Tick: - 'Return self+value.' - ... - - __array_priority__: int - def __eq__(self, value) -> bool: - 'Return self==value.' - ... - - def __ge__(self, value) -> bool: - 'Return self>=value.' - ... - - def __gt__(self, value) -> bool: - 'Return self>value.' - ... - - def __hash__(self) -> int: - 'Return hash(self).' - ... - - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __le__(self, value) -> bool: - 'Return self<=value.' - ... - - def __lt__(self, value) -> bool: - 'Return self Tick: - 'Return self*value.' - ... - - def __ne__(self, value) -> bool: - 'Return self!=value.' - ... - - __pyx_vtable__: PyCapsule - def __radd__(self, value) -> Tick: - 'Return value+self.' - ... - - def __rmul__(self, value) -> Tick: - 'Return value*self.' - ... - - def __rtruediv__(self, value) -> Tick: - 'Return value/self.' - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def __truediv__(self, value) -> float: - 'Return self/value.' - ... - - _adjust_dst: bool - _attributes: tuple - @classmethod - def _from_name(cls) -> typing.Any: - ... - - def _next_higher_resolution(self) -> typing.Any: - ... - - _prefix: str - def _repr_attrs(self) -> typing.Any: - ... - - def apply(self) -> typing.Any: - ... - - @property - def delta(self) -> typing.Any: - ... - - def is_anchored(self) -> typing.Any: - ... - - def is_on_offset(self) -> typing.Any: - ... - - @property - def nanos(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -Timedelta = _mod_pandas__libs_tslibs_timedeltas.Timedelta -Timestamp = _mod_pandas__libs_tslibs_timestamps.Timestamp -class Week(SingleConstructorOffset): - '\n Weekly offset.\n\n Parameters\n ----------\n weekday : int or None, default None\n Always generate specific day of week. 0 for Monday.\n ' - def __init__(self, *args, **kwargs) -> None: - '\n Weekly offset.\n\n Parameters\n ----------\n weekday : int or None, default None\n Always generate specific day of week. 0 for Monday.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def _apply_array(self, other) -> numpy.ndarray: - ... - - _attributes: tuple - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _inc: _mod_datetime.timedelta - @property - def _period_dtype_code(self) -> typing.Any: - ... - - _prefix: str - def apply(self, other) -> typing.Any: - ... - - def apply_index(self, other) -> typing.Any: - ... - - def is_anchored(self) -> typing.Any: - ... - - def is_on_offset(self) -> typing.Any: - ... - - @property - def rule_code(self) -> typing.Any: - ... - - @property - def weekday(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class WeekOfMonth(WeekOfMonthMixin): - '\n Describes monthly dates like "the Tuesday of the 2nd week of each month".\n\n Parameters\n ----------\n n : int\n week : int {0, 1, 2, 3, ...}, default 0\n A specific integer for the week of the month.\n e.g. 0 is 1st week of month, 1 is the 2nd week, etc.\n weekday : int {0, 1, ..., 6}, default 0\n A specific integer for the day of the week.\n\n - 0 is Monday\n - 1 is Tuesday\n - 2 is Wednesday\n - 3 is Thursday\n - 4 is Friday\n - 5 is Saturday\n - 6 is Sunday.\n ' - def __init__(self, *args, **kwargs) -> None: - '\n Describes monthly dates like "the Tuesday of the 2nd week of each month".\n\n Parameters\n ----------\n n : int\n week : int {0, 1, 2, 3, ...}, default 0\n A specific integer for the week of the month.\n e.g. 0 is 1st week of month, 1 is the 2nd week, etc.\n weekday : int {0, 1, ..., 6}, default 0\n A specific integer for the day of the week.\n\n - 0 is Monday\n - 1 is Tuesday\n - 2 is Wednesday\n - 3 is Thursday\n - 4 is Friday\n - 5 is Saturday\n - 6 is Sunday.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _attributes: tuple - @classmethod - def _from_name(cls) -> typing.Any: - ... - - def _get_offset_day(self) -> typing.Any: - "\n Find the day in the same month as other that has the same\n weekday as self.weekday and is the self.week'th such day in the month.\n\n Parameters\n ----------\n other : datetime\n\n Returns\n -------\n day : int\n " - ... - - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class WeekOfMonthMixin(SingleConstructorOffset): - '\n Mixin for methods common to WeekOfMonth and LastWeekOfMonth.\n ' - def __init__(self, *args, **kwargs) -> None: - '\n Mixin for methods common to WeekOfMonth and LastWeekOfMonth.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @classmethod - def _from_name(cls) -> typing.Any: - ... - - def apply(self, other) -> typing.Any: - ... - - def is_on_offset(self) -> typing.Any: - ... - - @property - def rule_code(self) -> typing.Any: - ... - - @property - def week(self) -> typing.Any: - ... - - @property - def weekday(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class YearBegin(YearOffset): - '\n DateOffset increments between calendar year begin dates.\n ' - def __init__(self, *args, **kwargs) -> None: - '\n DateOffset increments between calendar year begin dates.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _day_opt: str - _default_month: int - @classmethod - def _from_name(cls) -> typing.Any: - ... - - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class YearEnd(YearOffset): - '\n DateOffset increments between calendar year ends.\n ' - def __init__(self, *args, **kwargs) -> None: - '\n DateOffset increments between calendar year ends.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _day_opt: str - _default_month: int - @classmethod - def _from_name(cls) -> typing.Any: - ... - - @property - def _period_dtype_code(self) -> typing.Any: - ... - - _prefix: str - def __getattr__(self, name) -> typing.Any: - ... - - -class YearOffset(SingleConstructorOffset): - '\n DateOffset that just needs a month.\n ' - def __init__(self, *args, **kwargs) -> None: - '\n DateOffset that just needs a month.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def _apply_array(self, other) -> numpy.ndarray: - ... - - _attributes: tuple - @classmethod - def _from_name(cls) -> typing.Any: - ... - - def _get_offset_day(self) -> typing.Any: - ... - - def apply(self, other) -> typing.Any: - ... - - def apply_index(self, other) -> typing.Any: - ... - - def is_on_offset(self) -> typing.Any: - ... - - @property - def month(self) -> typing.Any: - ... - - @property - def rule_code(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class _CustomBusinessMonth(BusinessMixin): - "\n DateOffset subclass representing custom business month(s).\n\n Increments between beginning/end of month dates.\n\n Parameters\n ----------\n n : int, default 1\n The number of months represented.\n normalize : bool, default False\n Normalize start/end dates to midnight before generating date range.\n weekmask : str, Default 'Mon Tue Wed Thu Fri'\n Weekmask of valid business days, passed to ``numpy.busdaycalendar``.\n holidays : list\n List/array of dates to exclude from the set of valid business days,\n passed to ``numpy.busdaycalendar``.\n calendar : pd.HolidayCalendar or np.busdaycalendar\n Calendar to integrate.\n offset : timedelta, default timedelta(0)\n Time offset to apply.\n " - def __init__(self, *args, **kwargs) -> None: - "\n DateOffset subclass representing custom business month(s).\n\n Increments between beginning/end of month dates.\n\n Parameters\n ----------\n n : int, default 1\n The number of months represented.\n normalize : bool, default False\n Normalize start/end dates to midnight before generating date range.\n weekmask : str, Default 'Mon Tue Wed Thu Fri'\n Weekmask of valid business days, passed to ``numpy.busdaycalendar``.\n holidays : list\n List/array of dates to exclude from the set of valid business days,\n passed to ``numpy.busdaycalendar``.\n calendar : pd.HolidayCalendar or np.busdaycalendar\n Calendar to integrate.\n offset : timedelta, default timedelta(0)\n Time offset to apply.\n " - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - _attributes: tuple - @classmethod - def _from_name(cls) -> typing.Any: - ... - - def apply(self, other) -> typing.Any: - ... - - cbday_roll: _mod_pandas__libs_properties.CachedProperty - m_offset: _mod_pandas__libs_properties.CachedProperty - month_roll: _mod_pandas__libs_properties.CachedProperty - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -def __pyx_unpickle_BaseOffset() -> typing.Any: - ... - -def __pyx_unpickle_Enum() -> typing.Any: - ... - -def __pyx_unpickle_RelativeDeltaOffset() -> typing.Any: - ... - -__test__: dict -_dont_uppercase: set -def _get_offset() -> typing.Any: - "\n Return DateOffset object associated with rule name.\n\n Examples\n --------\n _get_offset('EOM') --> BMonthEnd(1)\n " - ... - -_lite_rule_alias: dict -_offset_map: dict -_relativedelta_kwds: set -def apply_array_wraps() -> typing.Any: - ... - -def apply_index_wraps() -> typing.Any: - ... - -def apply_wrapper_core() -> typing.Any: - ... - -def apply_wraps() -> typing.Any: - ... - -cache_readonly = _mod_pandas__libs_properties.CachedProperty -def delta_to_tick() -> typing.Any: - ... - -def easter(year, method) -> typing.Any: - '\n This method was ported from the work done by GM Arts,\n on top of the algorithm by Claus Tondering, which was\n based in part on the algorithm of Ouding (1940), as\n quoted in "Explanatory Supplement to the Astronomical\n Almanac", P. Kenneth Seidelmann, editor.\n\n This algorithm implements three different easter\n calculation methods:\n\n 1 - Original calculation in Julian calendar, valid in\n dates after 326 AD\n 2 - Original method, with date converted to Gregorian\n calendar, valid in years 1583 to 4099\n 3 - Revised method, in Gregorian calendar, valid in\n years 1583 to 4099 as well\n\n These methods are represented by the constants:\n\n * ``EASTER_JULIAN = 1``\n * ``EASTER_ORTHODOX = 2``\n * ``EASTER_WESTERN = 3``\n\n The default method is method 3.\n\n More about the algorithm may be found at:\n\n `GM Arts: Easter Algorithms `_\n\n and\n\n `The Calendar FAQ: Easter `_\n\n ' - ... - -int_to_weekday: dict -opattern: _mod_re.Pattern -prefix_mapping: dict -relativedelta = _mod_dateutil_relativedelta.relativedelta -def roll_convention() -> typing.Any: - '\n Possibly increment or decrement the number of periods to shift\n based on rollforward/rollbackward conventions.\n\n Parameters\n ----------\n other : int, generally the day component of a datetime\n n : number of periods to increment, before adjusting for rolling\n compare : int, generally the day component of a datetime, in the same\n month as the datetime form which `other` was taken.\n\n Returns\n -------\n n : int number of periods to increment\n ' - ... - -def roll_qtrday() -> typing.Any: - "\n Possibly increment or decrement the number of periods to shift\n based on rollforward/rollbackward conventions.\n\n Parameters\n ----------\n other : datetime or Timestamp\n n : number of periods to increment, before adjusting for rolling\n month : int reference month giving the first month of the year\n day_opt : {'start', 'end', 'business_start', 'business_end'}\n The convention to use in finding the day in a given month against\n which to compare for rollforward/rollbackward decisions.\n modby : int 3 for quarters, 12 for years\n\n Returns\n -------\n n : int number of periods to increment\n\n See Also\n --------\n get_day_of_month : Find the day in a month provided an offset.\n " - ... - -def shift_day() -> typing.Any: - "\n Increment the datetime `other` by the given number of days, retaining\n the time-portion of the datetime. For tz-naive datetimes this is\n equivalent to adding a timedelta. For tz-aware datetimes it is similar to\n dateutil's relativedelta.__add__, but handles pytz tzinfo objects.\n\n Parameters\n ----------\n other : datetime or Timestamp\n days : int\n\n Returns\n -------\n shifted: datetime or Timestamp\n " - ... - -def shift_month() -> typing.Any: - "\n Given a datetime (or Timestamp) `stamp`, an integer `months` and an\n option `day_opt`, return a new datetimelike that many months later,\n with day determined by `day_opt` using relativedelta semantics.\n\n Scalar analogue of shift_months\n\n Parameters\n ----------\n stamp : datetime or Timestamp\n months : int\n day_opt : None, 'start', 'end', 'business_start', 'business_end', or int\n None: returned datetimelike has the same day as the input, or the\n last day of the month if the new month is too short\n 'start': returned datetimelike has day=1\n 'end': returned datetimelike has day on the last day of the month\n 'business_start': returned datetimelike has day on the first\n business day of the month\n 'business_end': returned datetimelike has day on the last\n business day of the month\n int: returned datetimelike has day equal to day_opt\n\n Returns\n -------\n shifted : datetime or Timestamp (same as input `stamp`)\n " - ... - -def shift_months() -> typing.Any: - "\n Given an int64-based datetime index, shift all elements\n specified number of months using DateOffset semantics\n\n day_opt: {None, 'start', 'end', 'business_start', 'business_end'}\n * None: day of month\n * 'start' 1st day of month\n * 'end' last day of month\n " - ... - -def to_offset() -> typing.Any: - '\n Return DateOffset object from string or tuple representation\n or datetime.timedelta object.\n\n Parameters\n ----------\n freq : str, tuple, datetime.timedelta, DateOffset or None\n\n Returns\n -------\n DateOffset or None\n\n Raises\n ------\n ValueError\n If freq is an invalid frequency\n\n See Also\n --------\n DateOffset : Standard kind of date increment used for a date range.\n\n Examples\n --------\n >>> to_offset("5min")\n <5 * Minutes>\n\n >>> to_offset("1D1H")\n <25 * Hours>\n\n >>> to_offset("2W")\n <2 * Weeks: weekday=6>\n\n >>> to_offset("2B")\n <2 * BusinessDays>\n\n >>> to_offset(pd.Timedelta(days=1))\n \n\n >>> to_offset(Hour())\n \n ' - ... - -weekday_to_int: dict -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/parsing.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/parsing.pyi deleted file mode 100644 index b9571570..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/parsing.pyi +++ /dev/null @@ -1,137 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.tslibs.parsing, version: unspecified -import typing -import builtins as _mod_builtins -import datetime as _mod_datetime -import dateutil.parser._parser as _mod_dateutil_parser__parser -import dateutil.relativedelta as _mod_dateutil_relativedelta -import dateutil.tz.tz as _mod_dateutil_tz_tz - -DEFAULTPARSER: _mod_dateutil_parser__parser.parser -class DateParseError(_mod_builtins.ValueError): - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -def _DATEUTIL_LEXER_SPLIT(cls, s) -> typing.Any: - ... - -_DEFAULT_DATETIME: _mod_datetime.datetime -__doc__: str -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -_dateutil_tzlocal = _mod_dateutil_tz_tz.tzlocal -_dateutil_tzstr = _mod_dateutil_tz_tz.tzstr -_dateutil_tzutc = _mod_dateutil_tz_tz.tzutc -def _does_string_look_like_datetime() -> typing.Any: - "\n Checks whether given string is a datetime: it has to start with '0' or\n be greater than 1000.\n\n Parameters\n ----------\n py_string: str\n\n Returns\n -------\n bool\n Whether given string is potentially a datetime.\n " - ... - -class _timelex(_mod_builtins.object): - __dict__: typing.Dict[str, typing.Any] - def __init__(self, instream) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def get_tokens(self) -> typing.Any: - '\n This function breaks the time string into lexical units (tokens), which\n can be parsed by the parser. Lexical units are demarcated by changes in\n the character set, so any continuous string of letters is considered\n one unit, any continuous string of numbers is considered one unit.\n The main complication arises from the fact that dots (\'.\') can be used\n both as separators (e.g. "Sep.20.2009") or decimal points (e.g.\n "4:30:21.447"). As such, it is necessary to read the full context of\n any dot-separated strings before breaking it into tokens; as such, this\n function maintains a "token stack", for when the ambiguous context\n demands that multiple tokens be parsed at once.\n ' - ... - - def split(self, cls, s) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -def concat_date_cols() -> typing.Any: - "\n Concatenates elements from numpy arrays in `date_cols` into strings.\n\n Parameters\n ----------\n date_cols : tuple[ndarray]\n keep_trivial_numbers : bool, default True\n if True and len(date_cols) == 1, then\n conversion (to string from integer/float zero) is not performed\n\n Returns\n -------\n arr_of_rows : ndarray[object]\n\n Examples\n --------\n >>> dates=np.array(['3/31/2019', '4/31/2019'], dtype=object)\n >>> times=np.array(['11:20', '10:45'], dtype=object)\n >>> result = concat_date_cols((dates, times))\n >>> result\n array(['3/31/2019 11:20', '4/31/2019 10:45'], dtype=object)\n " - ... - -def du_parse(timestr, parserinfo, **kwargs) -> typing.Any: - '\n\n Parse a string in one of the supported formats, using the\n ``parserinfo`` parameters.\n\n :param timestr:\n A string containing a date/time stamp.\n\n :param parserinfo:\n A :class:`parserinfo` object containing parameters for the parser.\n If ``None``, the default arguments to the :class:`parserinfo`\n constructor are used.\n\n The ``**kwargs`` parameter takes the following keyword arguments:\n\n :param default:\n The default datetime object, if this is a datetime object and not\n ``None``, elements specified in ``timestr`` replace elements in the\n default object.\n\n :param ignoretz:\n If set ``True``, time zones in parsed strings are ignored and a naive\n :class:`datetime` object is returned.\n\n :param tzinfos:\n Additional time zone names / aliases which may be present in the\n string. This argument maps time zone names (and optionally offsets\n from those time zones) to time zones. This parameter can be a\n dictionary with timezone aliases mapping time zone names to time\n zones or a function taking two parameters (``tzname`` and\n ``tzoffset``) and returning a time zone.\n\n The timezones to which the names are mapped can be an integer\n offset from UTC in seconds or a :class:`tzinfo` object.\n\n .. doctest::\n :options: +NORMALIZE_WHITESPACE\n\n >>> from dateutil.parser import parse\n >>> from dateutil.tz import gettz\n >>> tzinfos = {"BRST": -7200, "CST": gettz("America/Chicago")}\n >>> parse("2012-01-19 17:21:00 BRST", tzinfos=tzinfos)\n datetime.datetime(2012, 1, 19, 17, 21, tzinfo=tzoffset(u\'BRST\', -7200))\n >>> parse("2012-01-19 17:21:00 CST", tzinfos=tzinfos)\n datetime.datetime(2012, 1, 19, 17, 21,\n tzinfo=tzfile(\'/usr/share/zoneinfo/America/Chicago\'))\n\n This parameter is ignored if ``ignoretz`` is set.\n\n :param dayfirst:\n Whether to interpret the first value in an ambiguous 3-integer date\n (e.g. 01/05/09) as the day (``True``) or month (``False``). If\n ``yearfirst`` is set to ``True``, this distinguishes between YDM and\n YMD. If set to ``None``, this value is retrieved from the current\n :class:`parserinfo` object (which itself defaults to ``False``).\n\n :param yearfirst:\n Whether to interpret the first value in an ambiguous 3-integer date\n (e.g. 01/05/09) as the year. If ``True``, the first number is taken to\n be the year, otherwise the last number is taken to be the year. If\n this is set to ``None``, the value is retrieved from the current\n :class:`parserinfo` object (which itself defaults to ``False``).\n\n :param fuzzy:\n Whether to allow fuzzy parsing, allowing for string like "Today is\n January 1, 2047 at 8:21:00AM".\n\n :param fuzzy_with_tokens:\n If ``True``, ``fuzzy`` is automatically set to True, and the parser\n will return a tuple where the first element is the parsed\n :class:`datetime.datetime` datetimestamp and the second element is\n a tuple containing the portions of the string which were ignored:\n\n .. doctest::\n\n >>> from dateutil.parser import parse\n >>> parse("Today is January 1, 2047 at 8:21:00AM", fuzzy_with_tokens=True)\n (datetime.datetime(2047, 1, 1, 8, 21), (u\'Today is \', u\' \', u\'at \'))\n\n :return:\n Returns a :class:`datetime.datetime` object or, if the\n ``fuzzy_with_tokens`` option is ``True``, returns a tuple, the\n first element being a :class:`datetime.datetime` object, the second\n a tuple containing the fuzzy tokens.\n\n :raises ValueError:\n Raised for invalid or unknown string format, if the provided\n :class:`tzinfo` is not in a valid format, or if an invalid date\n would be created.\n\n :raises OverflowError:\n Raised if the parsed date exceeds the largest valid C integer on\n your system.\n ' - ... - -def format_is_iso() -> typing.Any: - '\n Does format match the iso8601 set that can be handled by the C parser?\n Generally of form YYYY-MM-DDTHH:MM:SS - date separator can be different\n but must be consistent. Leading 0s in dates and times are optional.\n ' - ... - -def get_option(self, *args, **kwds) -> typing.Any: - '\nget_option(pat)\n\nRetrieves the value of the specified option.\n\nAvailable options:\n\n- compute.[use_bottleneck, use_numba, use_numexpr]\n- display.[chop_threshold, colheader_justify, column_space, date_dayfirst,\n date_yearfirst, encoding, expand_frame_repr, float_format]\n- display.html.[border, table_schema, use_mathjax]\n- display.[large_repr]\n- display.latex.[escape, longtable, multicolumn, multicolumn_format, multirow,\n repr]\n- display.[max_categories, max_columns, max_colwidth, max_info_columns,\n max_info_rows, max_rows, max_seq_items, memory_usage, min_rows, multi_sparse,\n notebook_repr_html, pprint_nest_depth, precision, show_dimensions]\n- display.unicode.[ambiguous_as_wide, east_asian_width]\n- display.[width]\n- io.excel.ods.[reader, writer]\n- io.excel.xls.[reader, writer]\n- io.excel.xlsb.[reader]\n- io.excel.xlsm.[reader, writer]\n- io.excel.xlsx.[reader, writer]\n- io.hdf.[default_format, dropna_table]\n- io.parquet.[engine]\n- mode.[chained_assignment, sim_interactive, use_inf_as_na, use_inf_as_null]\n- plotting.[backend]\n- plotting.matplotlib.[register_converters]\n\nParameters\n----------\npat : str\n Regexp which should match a single option.\n Note: partial matches are supported for convenience, but unless you use the\n full option name (e.g. x.y.z.option_name), your code may break in future\n versions if new options with similar names are introduced.\n\nReturns\n-------\nresult : the value of the option\n\nRaises\n------\nOptionError : if no such option exists\n\nNotes\n-----\nThe available options with its descriptions:\n\ncompute.use_bottleneck : bool\n Use the bottleneck library to accelerate if it is installed,\n the default is True\n Valid values: False,True\n [default: True] [currently: True]\ncompute.use_numba : bool\n Use the numba engine option for select operations if it is installed,\n the default is False\n Valid values: False,True\n [default: False] [currently: False]\ncompute.use_numexpr : bool\n Use the numexpr library to accelerate computation if it is installed,\n the default is True\n Valid values: False,True\n [default: True] [currently: True]\ndisplay.chop_threshold : float or None\n if set to a float value, all float values smaller then the given threshold\n will be displayed as exactly 0 by repr and friends.\n [default: None] [currently: None]\ndisplay.colheader_justify : \'left\'/\'right\'\n Controls the justification of column headers. used by DataFrameFormatter.\n [default: right] [currently: right]\ndisplay.column_space No description available.\n [default: 12] [currently: 12]\ndisplay.date_dayfirst : boolean\n When True, prints and parses dates with the day first, eg 20/01/2005\n [default: False] [currently: False]\ndisplay.date_yearfirst : boolean\n When True, prints and parses dates with the year first, eg 2005/01/20\n [default: False] [currently: False]\ndisplay.encoding : str/unicode\n Defaults to the detected encoding of the console.\n Specifies the encoding to be used for strings returned by to_string,\n these are generally strings meant to be displayed on the console.\n [default: utf-8] [currently: utf-8]\ndisplay.expand_frame_repr : boolean\n Whether to print out the full DataFrame repr for wide DataFrames across\n multiple lines, `max_columns` is still respected, but the output will\n wrap-around across multiple "pages" if its width exceeds `display.width`.\n [default: True] [currently: True]\ndisplay.float_format : callable\n The callable should accept a floating point number and return\n a string with the desired format of the number. This is used\n in some places like SeriesFormatter.\n See formats.format.EngFormatter for an example.\n [default: None] [currently: None]\ndisplay.html.border : int\n A ``border=value`` attribute is inserted in the ```` tag\n for the DataFrame HTML repr.\n [default: 1] [currently: 1]\ndisplay.html.table_schema : boolean\n Whether to publish a Table Schema representation for frontends\n that support it.\n (default: False)\n [default: False] [currently: False]\ndisplay.html.use_mathjax : boolean\n When True, Jupyter notebook will process table contents using MathJax,\n rendering mathematical expressions enclosed by the dollar symbol.\n (default: True)\n [default: True] [currently: True]\ndisplay.large_repr : \'truncate\'/\'info\'\n For DataFrames exceeding max_rows/max_cols, the repr (and HTML repr) can\n show a truncated table (the default from 0.13), or switch to the view from\n df.info() (the behaviour in earlier versions of pandas).\n [default: truncate] [currently: truncate]\ndisplay.latex.escape : bool\n This specifies if the to_latex method of a Dataframe uses escapes special\n characters.\n Valid values: False,True\n [default: True] [currently: True]\ndisplay.latex.longtable :bool\n This specifies if the to_latex method of a Dataframe uses the longtable\n format.\n Valid values: False,True\n [default: False] [currently: False]\ndisplay.latex.multicolumn : bool\n This specifies if the to_latex method of a Dataframe uses multicolumns\n to pretty-print MultiIndex columns.\n Valid values: False,True\n [default: True] [currently: True]\ndisplay.latex.multicolumn_format : bool\n This specifies if the to_latex method of a Dataframe uses multicolumns\n to pretty-print MultiIndex columns.\n Valid values: False,True\n [default: l] [currently: l]\ndisplay.latex.multirow : bool\n This specifies if the to_latex method of a Dataframe uses multirows\n to pretty-print MultiIndex rows.\n Valid values: False,True\n [default: False] [currently: False]\ndisplay.latex.repr : boolean\n Whether to produce a latex DataFrame representation for jupyter\n environments that support it.\n (default: False)\n [default: False] [currently: False]\ndisplay.max_categories : int\n This sets the maximum number of categories pandas should output when\n printing out a `Categorical` or a Series of dtype "category".\n [default: 8] [currently: 8]\ndisplay.max_columns : int\n If max_cols is exceeded, switch to truncate view. Depending on\n `large_repr`, objects are either centrally truncated or printed as\n a summary view. \'None\' value means unlimited.\n\n In case python/IPython is running in a terminal and `large_repr`\n equals \'truncate\' this can be set to 0 and pandas will auto-detect\n the width of the terminal and print a truncated object which fits\n the screen width. The IPython notebook, IPython qtconsole, or IDLE\n do not run in a terminal and hence it is not possible to do\n correct auto-detection.\n [default: 0] [currently: 0]\ndisplay.max_colwidth : int or None\n The maximum width in characters of a column in the repr of\n a pandas data structure. When the column overflows, a "..."\n placeholder is embedded in the output. A \'None\' value means unlimited.\n [default: 50] [currently: 50]\ndisplay.max_info_columns : int\n max_info_columns is used in DataFrame.info method to decide if\n per column information will be printed.\n [default: 100] [currently: 100]\ndisplay.max_info_rows : int or None\n df.info() will usually show null-counts for each column.\n For large frames this can be quite slow. max_info_rows and max_info_cols\n limit this null check only to frames with smaller dimensions than\n specified.\n [default: 1690785] [currently: 1690785]\ndisplay.max_rows : int\n If max_rows is exceeded, switch to truncate view. Depending on\n `large_repr`, objects are either centrally truncated or printed as\n a summary view. \'None\' value means unlimited.\n\n In case python/IPython is running in a terminal and `large_repr`\n equals \'truncate\' this can be set to 0 and pandas will auto-detect\n the height of the terminal and print a truncated object which fits\n the screen height. The IPython notebook, IPython qtconsole, or\n IDLE do not run in a terminal and hence it is not possible to do\n correct auto-detection.\n [default: 60] [currently: 60]\ndisplay.max_seq_items : int or None\n When pretty-printing a long sequence, no more then `max_seq_items`\n will be printed. If items are omitted, they will be denoted by the\n addition of "..." to the resulting string.\n\n If set to None, the number of items to be printed is unlimited.\n [default: 100] [currently: 100]\ndisplay.memory_usage : bool, string or None\n This specifies if the memory usage of a DataFrame should be displayed when\n df.info() is called. Valid values True,False,\'deep\'\n [default: True] [currently: True]\ndisplay.min_rows : int\n The numbers of rows to show in a truncated view (when `max_rows` is\n exceeded). Ignored when `max_rows` is set to None or 0. When set to\n None, follows the value of `max_rows`.\n [default: 10] [currently: 10]\ndisplay.multi_sparse : boolean\n "sparsify" MultiIndex display (don\'t display repeated\n elements in outer levels within groups)\n [default: True] [currently: True]\ndisplay.notebook_repr_html : boolean\n When True, IPython notebook will use html representation for\n pandas objects (if it is available).\n [default: True] [currently: True]\ndisplay.pprint_nest_depth : int\n Controls the number of nested levels to process when pretty-printing\n [default: 3] [currently: 3]\ndisplay.precision : int\n Floating point output precision in terms of number of places after the\n decimal, for regular formatting as well as scientific notation. Similar\n to ``precision`` in :meth:`numpy.set_printoptions`.\n [default: 6] [currently: 6]\ndisplay.show_dimensions : boolean or \'truncate\'\n Whether to print out dimensions at the end of DataFrame repr.\n If \'truncate\' is specified, only print out the dimensions if the\n frame is truncated (e.g. not display all rows and/or columns)\n [default: truncate] [currently: truncate]\ndisplay.unicode.ambiguous_as_wide : boolean\n Whether to use the Unicode East Asian Width to calculate the display text\n width.\n Enabling this may affect to the performance (default: False)\n [default: False] [currently: False]\ndisplay.unicode.east_asian_width : boolean\n Whether to use the Unicode East Asian Width to calculate the display text\n width.\n Enabling this may affect to the performance (default: False)\n [default: False] [currently: False]\ndisplay.width : int\n Width of the display in characters. In case python/IPython is running in\n a terminal this can be set to None and pandas will correctly auto-detect\n the width.\n Note that the IPython notebook, IPython qtconsole, or IDLE do not run in a\n terminal and hence it is not possible to correctly detect the width.\n [default: 80] [currently: 80]\nio.excel.ods.reader : string\n The default Excel reader engine for \'ods\' files. Available options:\n auto, odf.\n [default: auto] [currently: auto]\nio.excel.ods.writer : string\n The default Excel writer engine for \'ods\' files. Available options:\n auto, odf.\n [default: auto] [currently: auto]\nio.excel.xls.reader : string\n The default Excel reader engine for \'xls\' files. Available options:\n auto, xlrd.\n [default: auto] [currently: auto]\nio.excel.xls.writer : string\n The default Excel writer engine for \'xls\' files. Available options:\n auto, xlwt.\n [default: auto] [currently: auto]\n (Deprecated, use `` instead.)\nio.excel.xlsb.reader : string\n The default Excel reader engine for \'xlsb\' files. Available options:\n auto, pyxlsb.\n [default: auto] [currently: auto]\nio.excel.xlsm.reader : string\n The default Excel reader engine for \'xlsm\' files. Available options:\n auto, xlrd, openpyxl.\n [default: auto] [currently: auto]\nio.excel.xlsm.writer : string\n The default Excel writer engine for \'xlsm\' files. Available options:\n auto, openpyxl.\n [default: auto] [currently: auto]\nio.excel.xlsx.reader : string\n The default Excel reader engine for \'xlsx\' files. Available options:\n auto, xlrd, openpyxl.\n [default: auto] [currently: auto]\nio.excel.xlsx.writer : string\n The default Excel writer engine for \'xlsx\' files. Available options:\n auto, openpyxl, xlsxwriter.\n [default: auto] [currently: auto]\nio.hdf.default_format : format\n default format writing format, if None, then\n put will default to \'fixed\' and append will default to \'table\'\n [default: None] [currently: None]\nio.hdf.dropna_table : boolean\n drop ALL nan rows when appending to a table\n [default: False] [currently: False]\nio.parquet.engine : string\n The default parquet reader/writer engine. Available options:\n \'auto\', \'pyarrow\', \'fastparquet\', the default is \'auto\'\n [default: auto] [currently: auto]\nmode.chained_assignment : string\n Raise an exception, warn, or no action if trying to use chained assignment,\n The default is warn\n [default: warn] [currently: warn]\nmode.sim_interactive : boolean\n Whether to simulate interactive mode for purposes of testing\n [default: False] [currently: False]\nmode.use_inf_as_na : boolean\n True means treat None, NaN, INF, -INF as NA (old way),\n False means None and NaN are null, but INF, -INF are not NA\n (new way).\n [default: False] [currently: False]\nmode.use_inf_as_null : boolean\n use_inf_as_null had been deprecated and will be removed in a future\n version. Use `use_inf_as_na` instead.\n [default: False] [currently: False]\n (Deprecated, use `mode.use_inf_as_na` instead.)\nplotting.backend : str\n The plotting backend to use. The default value is "matplotlib", the\n backend provided with pandas. Other backends can be specified by\n providing the name of the module that implements the backend.\n [default: matplotlib] [currently: matplotlib]\nplotting.matplotlib.register_converters : bool or \'auto\'.\n Whether to register converters with matplotlib\'s units registry for\n dates, times, datetimes, and Periods. Toggling to False will remove\n the converters, restoring any converters that pandas overwrote.\n [default: auto] [currently: auto]\n' - ... - -def get_rule_month() -> typing.Any: - "\n Return starting month of given freq, default is December.\n\n Parameters\n ----------\n source : str\n Derived from `freq.rule_code` or `freq.freqstr`.\n\n Returns\n -------\n rule_month: str\n\n Examples\n --------\n >>> get_rule_month('D')\n 'DEC'\n\n >>> get_rule_month('A-JAN')\n 'JAN'\n " - ... - -def guess_datetime_format() -> typing.Any: - "\n Guess the datetime format of a given datetime string.\n\n Parameters\n ----------\n dt_str : str\n Datetime string to guess the format of.\n dayfirst : bool, default False\n If True parses dates with the day first, eg 20/01/2005\n Warning: dayfirst=True is not strict, but will prefer to parse\n with day first (this is a known bug).\n dt_str_parse : function, defaults to `dateutil.parser.parse`\n This function should take in a datetime string and return\n a `datetime.datetime` guess that the datetime string represents\n dt_str_split : function, defaults to `_DATEUTIL_LEXER_SPLIT` (dateutil)\n This function should take in a datetime string and return\n a list of strings, the guess of the various specific parts\n e.g. '2011/12/30' -> ['2011', '/', '12', '/', '30']\n\n Returns\n -------\n ret : datetime format string (for `strftime` or `strptime`)\n " - ... - -def parse_datetime_string() -> typing.Any: - '\n Parse datetime string, only returns datetime.\n Also cares special handling matching time patterns.\n\n Returns\n -------\n datetime\n ' - ... - -def parse_time_string() -> typing.Any: - '\n Try hard to parse datetime string, leveraging dateutil plus some extra\n goodies like quarter recognition.\n\n Parameters\n ----------\n arg : str\n freq : str or DateOffset, default None\n Helps with interpreting time string if supplied\n dayfirst : bool, default None\n If None uses default from print_config\n yearfirst : bool, default None\n If None uses default from print_config\n\n Returns\n -------\n datetime, datetime/dateutil.parser._result, str\n ' - ... - -relativedelta = _mod_dateutil_relativedelta.relativedelta -def try_parse_date_and_time() -> typing.Any: - ... - -def try_parse_dates() -> typing.Any: - ... - -def try_parse_datetime_components() -> typing.Any: - ... - -def try_parse_year_month_day() -> typing.Any: - ... - -tzoffset = _mod_dateutil_tz_tz.tzoffset -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/period.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/period.pyi deleted file mode 100644 index 04da6d7a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/period.pyi +++ /dev/null @@ -1,383 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.tslibs.period, version: unspecified -import typing -import builtins as _mod_builtins -import pandas._libs.tslibs.timedeltas as _mod_pandas__libs_tslibs_timedeltas -import pandas._libs.tslibs.timestamps as _mod_pandas__libs_tslibs_timestamps - -DIFFERENT_FREQ: str -INVALID_FREQ_ERR_MSG: str -class IncompatibleFrequency(_mod_builtins.ValueError): - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class Period(_Period): - "\n Represents a period of time.\n\n Parameters\n ----------\n value : Period or str, default None\n The time period represented (e.g., '4Q2005').\n freq : str, default None\n One of pandas period strings or corresponding objects.\n ordinal : int, default None\n The period offset from the proleptic Gregorian epoch.\n year : int, default None\n Year value of the period.\n month : int, default 1\n Month value of the period.\n quarter : int, default None\n Quarter value of the period.\n day : int, default 1\n Day value of the period.\n hour : int, default 0\n Hour value of the period.\n minute : int, default 0\n Minute value of the period.\n second : int, default 0\n Second value of the period.\n " - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - "\n Represents a period of time.\n\n Parameters\n ----------\n value : Period or str, default None\n The time period represented (e.g., '4Q2005').\n freq : str, default None\n One of pandas period strings or corresponding objects.\n ordinal : int, default None\n The period offset from the proleptic Gregorian epoch.\n year : int, default None\n Year value of the period.\n month : int, default 1\n Month value of the period.\n quarter : int, default None\n Quarter value of the period.\n day : int, default 1\n Day value of the period.\n hour : int, default 0\n Hour value of the period.\n minute : int, default 0\n Minute value of the period.\n second : int, default 0\n Second value of the period.\n " - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - @classmethod - def _from_ordinal(cls) -> typing.Any: - '\n Fast creation from an ordinal and freq that are already validated!\n ' - ... - - @classmethod - def _maybe_convert_freq(cls) -> typing.Any: - "\n Internally we allow integer and tuple representations (for now) that\n are not recognized by to_offset, so we convert them here. Also, a\n Period's freq attribute must have `freq.n > 0`, which we check for here.\n\n Returns\n -------\n DateOffset\n " - ... - - @classmethod - def now(cls) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class PeriodMixin(_mod_builtins.object): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def _get_to_timestamp_base(self) -> typing.Any: - '\n Return frequency code group used for base of to_timestamp against\n frequency code.\n\n Return day freq code against longer freq than day.\n Return second freq code against hour between second.\n\n Returns\n -------\n int\n ' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -Timedelta = _mod_pandas__libs_tslibs_timedeltas.Timedelta -Timestamp = _mod_pandas__libs_tslibs_timestamps.Timestamp -class _Period(PeriodMixin): - def __add__(self, value) -> _Period: - 'Return self+value.' - ... - - def __eq__(self, value) -> bool: - 'Return self==value.' - ... - - def __ge__(self, value) -> bool: - 'Return self>=value.' - ... - - def __gt__(self, value) -> bool: - 'Return self>value.' - ... - - def __hash__(self) -> int: - 'Return hash(self).' - ... - - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __le__(self, value) -> bool: - 'Return self<=value.' - ... - - def __lt__(self, value) -> bool: - 'Return self bool: - 'Return self!=value.' - ... - - __pyx_vtable__: PyCapsule - def __radd__(self, value) -> _Period: - 'Return value+self.' - ... - - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __repr__(self) -> str: - 'Return repr(self).' - ... - - def __rsub__(self, value) -> _Period: - 'Return value-self.' - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - def __str__(self) -> str: - '\n Return a string representation for a particular DataFrame\n ' - ... - - def __sub__(self, value) -> _Period: - 'Return self-value.' - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def _add_delta(self) -> typing.Any: - ... - - def _add_offset(self) -> typing.Any: - ... - - @property - def _dtype(self) -> typing.Any: - ... - - @classmethod - def _from_ordinal(cls) -> typing.Any: - '\n Fast creation from an ordinal and freq that are already validated!\n ' - ... - - @classmethod - def _maybe_convert_freq(cls) -> typing.Any: - "\n Internally we allow integer and tuple representations (for now) that\n are not recognized by to_offset, so we convert them here. Also, a\n Period's freq attribute must have `freq.n > 0`, which we check for here.\n\n Returns\n -------\n DateOffset\n " - ... - - def asfreq(self) -> typing.Any: - "\n Convert Period to desired frequency, at the start or end of the interval.\n\n Parameters\n ----------\n freq : str\n The desired frequency.\n how : {'E', 'S', 'end', 'start'}, default 'end'\n Start or end of the timespan.\n\n Returns\n -------\n resampled : Period\n " - ... - - @property - def day(self) -> typing.Any: - '\n Get day of the month that a Period falls on.\n\n Returns\n -------\n int\n\n See Also\n --------\n Period.dayofweek : Get the day of the week.\n Period.dayofyear : Get the day of the year.\n\n Examples\n --------\n >>> p = pd.Period("2018-03-11", freq=\'H\')\n >>> p.day\n 11\n ' - ... - - @property - def day_of_week(self) -> typing.Any: - "\n Day of the week the period lies in, with Monday=0 and Sunday=6.\n\n If the period frequency is lower than daily (e.g. hourly), and the\n period spans over multiple days, the day at the start of the period is\n used.\n\n If the frequency is higher than daily (e.g. monthly), the last day\n of the period is used.\n\n Returns\n -------\n int\n Day of the week.\n\n See Also\n --------\n Period.day_of_week : Day of the week the period lies in.\n Period.weekday : Alias of Period.day_of_week.\n Period.day : Day of the month.\n Period.dayofyear : Day of the year.\n\n Examples\n --------\n >>> per = pd.Period('2017-12-31 22:00', 'H')\n >>> per.day_of_week\n 6\n\n For periods that span over multiple days, the day at the beginning of\n the period is returned.\n\n >>> per = pd.Period('2017-12-31 22:00', '4H')\n >>> per.day_of_week\n 6\n >>> per.start_time.day_of_week\n 6\n\n For periods with a frequency higher than days, the last day of the\n period is returned.\n\n >>> per = pd.Period('2018-01', 'M')\n >>> per.day_of_week\n 2\n >>> per.end_time.day_of_week\n 2\n " - ... - - @property - def day_of_year(self) -> typing.Any: - '\n Return the day of the year.\n\n This attribute returns the day of the year on which the particular\n date occurs. The return value ranges between 1 to 365 for regular\n years and 1 to 366 for leap years.\n\n Returns\n -------\n int\n The day of year.\n\n See Also\n --------\n Period.day : Return the day of the month.\n Period.day_of_week : Return the day of week.\n PeriodIndex.day_of_year : Return the day of year of all indexes.\n\n Examples\n --------\n >>> period = pd.Period("2015-10-23", freq=\'H\')\n >>> period.day_of_year\n 296\n >>> period = pd.Period("2012-12-31", freq=\'D\')\n >>> period.day_of_year\n 366\n >>> period = pd.Period("2013-01-01", freq=\'D\')\n >>> period.day_of_year\n 1\n ' - ... - - @property - def dayofweek(self) -> typing.Any: - "\n Day of the week the period lies in, with Monday=0 and Sunday=6.\n\n If the period frequency is lower than daily (e.g. hourly), and the\n period spans over multiple days, the day at the start of the period is\n used.\n\n If the frequency is higher than daily (e.g. monthly), the last day\n of the period is used.\n\n Returns\n -------\n int\n Day of the week.\n\n See Also\n --------\n Period.day_of_week : Day of the week the period lies in.\n Period.weekday : Alias of Period.day_of_week.\n Period.day : Day of the month.\n Period.dayofyear : Day of the year.\n\n Examples\n --------\n >>> per = pd.Period('2017-12-31 22:00', 'H')\n >>> per.day_of_week\n 6\n\n For periods that span over multiple days, the day at the beginning of\n the period is returned.\n\n >>> per = pd.Period('2017-12-31 22:00', '4H')\n >>> per.day_of_week\n 6\n >>> per.start_time.day_of_week\n 6\n\n For periods with a frequency higher than days, the last day of the\n period is returned.\n\n >>> per = pd.Period('2018-01', 'M')\n >>> per.day_of_week\n 2\n >>> per.end_time.day_of_week\n 2\n " - ... - - @property - def dayofyear(self) -> typing.Any: - '\n Return the day of the year.\n\n This attribute returns the day of the year on which the particular\n date occurs. The return value ranges between 1 to 365 for regular\n years and 1 to 366 for leap years.\n\n Returns\n -------\n int\n The day of year.\n\n See Also\n --------\n Period.day : Return the day of the month.\n Period.day_of_week : Return the day of week.\n PeriodIndex.day_of_year : Return the day of year of all indexes.\n\n Examples\n --------\n >>> period = pd.Period("2015-10-23", freq=\'H\')\n >>> period.day_of_year\n 296\n >>> period = pd.Period("2012-12-31", freq=\'D\')\n >>> period.day_of_year\n 366\n >>> period = pd.Period("2013-01-01", freq=\'D\')\n >>> period.day_of_year\n 1\n ' - ... - - @property - def days_in_month(self) -> typing.Any: - "\n Get the total number of days in the month that this period falls on.\n\n Returns\n -------\n int\n\n See Also\n --------\n Period.daysinmonth : Gets the number of days in the month.\n DatetimeIndex.daysinmonth : Gets the number of days in the month.\n calendar.monthrange : Returns a tuple containing weekday\n (0-6 ~ Mon-Sun) and number of days (28-31).\n\n Examples\n --------\n >>> p = pd.Period('2018-2-17')\n >>> p.days_in_month\n 28\n\n >>> pd.Period('2018-03-01').days_in_month\n 31\n\n Handles the leap year case as well:\n\n >>> p = pd.Period('2016-2-17')\n >>> p.days_in_month\n 29\n " - ... - - @property - def daysinmonth(self) -> typing.Any: - '\n Get the total number of days of the month that the Period falls in.\n\n Returns\n -------\n int\n\n See Also\n --------\n Period.days_in_month : Return the days of the month.\n Period.dayofyear : Return the day of the year.\n\n Examples\n --------\n >>> p = pd.Period("2018-03-11", freq=\'H\')\n >>> p.daysinmonth\n 31\n ' - ... - - @property - def end_time(self) -> typing.Any: - ... - - @property - def freq(self) -> typing.Any: - ... - - @property - def freqstr(self) -> typing.Any: - ... - - @property - def hour(self) -> typing.Any: - '\n Get the hour of the day component of the Period.\n\n Returns\n -------\n int\n The hour as an integer, between 0 and 23.\n\n See Also\n --------\n Period.second : Get the second component of the Period.\n Period.minute : Get the minute component of the Period.\n\n Examples\n --------\n >>> p = pd.Period("2018-03-11 13:03:12.050000")\n >>> p.hour\n 13\n\n Period longer than a day\n\n >>> p = pd.Period("2018-03-11", freq="M")\n >>> p.hour\n 0\n ' - ... - - @property - def is_leap_year(self) -> typing.Any: - ... - - @property - def minute(self) -> typing.Any: - '\n Get minute of the hour component of the Period.\n\n Returns\n -------\n int\n The minute as an integer, between 0 and 59.\n\n See Also\n --------\n Period.hour : Get the hour component of the Period.\n Period.second : Get the second component of the Period.\n\n Examples\n --------\n >>> p = pd.Period("2018-03-11 13:03:12.050000")\n >>> p.minute\n 3\n ' - ... - - @property - def month(self) -> typing.Any: - ... - - @classmethod - def now(cls) -> typing.Any: - ... - - @property - def ordinal(self) -> typing.Any: - ... - - @property - def quarter(self) -> typing.Any: - ... - - @property - def qyear(self) -> typing.Any: - "\n Fiscal year the Period lies in according to its starting-quarter.\n\n The `year` and the `qyear` of the period will be the same if the fiscal\n and calendar years are the same. When they are not, the fiscal year\n can be different from the calendar year of the period.\n\n Returns\n -------\n int\n The fiscal year of the period.\n\n See Also\n --------\n Period.year : Return the calendar year of the period.\n\n Examples\n --------\n If the natural and fiscal year are the same, `qyear` and `year` will\n be the same.\n\n >>> per = pd.Period('2018Q1', freq='Q')\n >>> per.qyear\n 2018\n >>> per.year\n 2018\n\n If the fiscal year starts in April (`Q-MAR`), the first quarter of\n 2018 will start in April 2017. `year` will then be 2018, but `qyear`\n will be the fiscal year, 2018.\n\n >>> per = pd.Period('2018Q1', freq='Q-MAR')\n >>> per.start_time\n Timestamp('2017-04-01 00:00:00')\n >>> per.qyear\n 2018\n >>> per.year\n 2017\n " - ... - - @property - def second(self) -> typing.Any: - '\n Get the second component of the Period.\n\n Returns\n -------\n int\n The second of the Period (ranges from 0 to 59).\n\n See Also\n --------\n Period.hour : Get the hour component of the Period.\n Period.minute : Get the minute component of the Period.\n\n Examples\n --------\n >>> p = pd.Period("2018-03-11 13:03:12.050000")\n >>> p.second\n 12\n ' - ... - - @property - def start_time(self) -> typing.Any: - "\n Get the Timestamp for the start of the period.\n\n Returns\n -------\n Timestamp\n\n See Also\n --------\n Period.end_time : Return the end Timestamp.\n Period.dayofyear : Return the day of year.\n Period.daysinmonth : Return the days in that month.\n Period.dayofweek : Return the day of the week.\n\n Examples\n --------\n >>> period = pd.Period('2012-1-1', freq='D')\n >>> period\n Period('2012-01-01', 'D')\n\n >>> period.start_time\n Timestamp('2012-01-01 00:00:00')\n\n >>> period.end_time\n Timestamp('2012-01-01 23:59:59.999999999')\n " - ... - - def strftime(self) -> typing.Any: - "\n Returns the string representation of the :class:`Period`, depending\n on the selected ``fmt``. ``fmt`` must be a string\n containing one or several directives. The method recognizes the same\n directives as the :func:`time.strftime` function of the standard Python\n distribution, as well as the specific additional directives ``%f``,\n ``%F``, ``%q``. (formatting & docs originally from scikits.timeries).\n\n +-----------+--------------------------------+-------+\n | Directive | Meaning | Notes |\n +===========+================================+=======+\n | ``%a`` | Locale's abbreviated weekday | |\n | | name. | |\n +-----------+--------------------------------+-------+\n | ``%A`` | Locale's full weekday name. | |\n +-----------+--------------------------------+-------+\n | ``%b`` | Locale's abbreviated month | |\n | | name. | |\n +-----------+--------------------------------+-------+\n | ``%B`` | Locale's full month name. | |\n +-----------+--------------------------------+-------+\n | ``%c`` | Locale's appropriate date and | |\n | | time representation. | |\n +-----------+--------------------------------+-------+\n | ``%d`` | Day of the month as a decimal | |\n | | number [01,31]. | |\n +-----------+--------------------------------+-------+\n | ``%f`` | 'Fiscal' year without a | \\(1) |\n | | century as a decimal number | |\n | | [00,99] | |\n +-----------+--------------------------------+-------+\n | ``%F`` | 'Fiscal' year with a century | \\(2) |\n | | as a decimal number | |\n +-----------+--------------------------------+-------+\n | ``%H`` | Hour (24-hour clock) as a | |\n | | decimal number [00,23]. | |\n +-----------+--------------------------------+-------+\n | ``%I`` | Hour (12-hour clock) as a | |\n | | decimal number [01,12]. | |\n +-----------+--------------------------------+-------+\n | ``%j`` | Day of the year as a decimal | |\n | | number [001,366]. | |\n +-----------+--------------------------------+-------+\n | ``%m`` | Month as a decimal number | |\n | | [01,12]. | |\n +-----------+--------------------------------+-------+\n | ``%M`` | Minute as a decimal number | |\n | | [00,59]. | |\n +-----------+--------------------------------+-------+\n | ``%p`` | Locale's equivalent of either | \\(3) |\n | | AM or PM. | |\n +-----------+--------------------------------+-------+\n | ``%q`` | Quarter as a decimal number | |\n | | [01,04] | |\n +-----------+--------------------------------+-------+\n | ``%S`` | Second as a decimal number | \\(4) |\n | | [00,61]. | |\n +-----------+--------------------------------+-------+\n | ``%U`` | Week number of the year | \\(5) |\n | | (Sunday as the first day of | |\n | | the week) as a decimal number | |\n | | [00,53]. All days in a new | |\n | | year preceding the first | |\n | | Sunday are considered to be in | |\n | | week 0. | |\n +-----------+--------------------------------+-------+\n | ``%w`` | Weekday as a decimal number | |\n | | [0(Sunday),6]. | |\n +-----------+--------------------------------+-------+\n | ``%W`` | Week number of the year | \\(5) |\n | | (Monday as the first day of | |\n | | the week) as a decimal number | |\n | | [00,53]. All days in a new | |\n | | year preceding the first | |\n | | Monday are considered to be in | |\n | | week 0. | |\n +-----------+--------------------------------+-------+\n | ``%x`` | Locale's appropriate date | |\n | | representation. | |\n +-----------+--------------------------------+-------+\n | ``%X`` | Locale's appropriate time | |\n | | representation. | |\n +-----------+--------------------------------+-------+\n | ``%y`` | Year without century as a | |\n | | decimal number [00,99]. | |\n +-----------+--------------------------------+-------+\n | ``%Y`` | Year with century as a decimal | |\n | | number. | |\n +-----------+--------------------------------+-------+\n | ``%Z`` | Time zone name (no characters | |\n | | if no time zone exists). | |\n +-----------+--------------------------------+-------+\n | ``%%`` | A literal ``'%'`` character. | |\n +-----------+--------------------------------+-------+\n\n Notes\n -----\n\n (1)\n The ``%f`` directive is the same as ``%y`` if the frequency is\n not quarterly.\n Otherwise, it corresponds to the 'fiscal' year, as defined by\n the :attr:`qyear` attribute.\n\n (2)\n The ``%F`` directive is the same as ``%Y`` if the frequency is\n not quarterly.\n Otherwise, it corresponds to the 'fiscal' year, as defined by\n the :attr:`qyear` attribute.\n\n (3)\n The ``%p`` directive only affects the output hour field\n if the ``%I`` directive is used to parse the hour.\n\n (4)\n The range really is ``0`` to ``61``; this accounts for leap\n seconds and the (very rare) double leap seconds.\n\n (5)\n The ``%U`` and ``%W`` directives are only used in calculations\n when the day of the week and the year are specified.\n\n Examples\n --------\n\n >>> a = Period(freq='Q-JUL', year=2006, quarter=1)\n >>> a.strftime('%F-Q%q')\n '2006-Q1'\n >>> # Output the last month in the quarter of this date\n >>> a.strftime('%b-%Y')\n 'Oct-2005'\n >>>\n >>> a = Period(freq='D', year=2001, month=1, day=1)\n >>> a.strftime('%d-%b-%Y')\n '01-Jan-2006'\n >>> a.strftime('%b. %d, %Y was a %A')\n 'Jan. 01, 2001 was a Monday'\n " - ... - - def to_timestamp(self) -> typing.Any: - "\n Return the Timestamp representation of the Period.\n\n Uses the target frequency specified at the part of the period specified\n by `how`, which is either `Start` or `Finish`.\n\n Parameters\n ----------\n freq : str or DateOffset\n Target frequency. Default is 'D' if self.freq is week or\n longer and 'S' otherwise.\n how : str, default 'S' (start)\n One of 'S', 'E'. Can be aliased as case insensitive\n 'Start', 'Finish', 'Begin', 'End'.\n\n Returns\n -------\n Timestamp\n " - ... - - @property - def week(self) -> typing.Any: - '\n Get the week of the year on the given Period.\n\n Returns\n -------\n int\n\n See Also\n --------\n Period.dayofweek : Get the day component of the Period.\n Period.weekday : Get the day component of the Period.\n\n Examples\n --------\n >>> p = pd.Period("2018-03-11", "H")\n >>> p.week\n 10\n\n >>> p = pd.Period("2018-02-01", "D")\n >>> p.week\n 5\n\n >>> p = pd.Period("2018-01-06", "D")\n >>> p.week\n 1\n ' - ... - - @property - def weekday(self) -> typing.Any: - "\n Day of the week the period lies in, with Monday=0 and Sunday=6.\n\n If the period frequency is lower than daily (e.g. hourly), and the\n period spans over multiple days, the day at the start of the period is\n used.\n\n If the frequency is higher than daily (e.g. monthly), the last day\n of the period is used.\n\n Returns\n -------\n int\n Day of the week.\n\n See Also\n --------\n Period.dayofweek : Day of the week the period lies in.\n Period.weekday : Alias of Period.dayofweek.\n Period.day : Day of the month.\n Period.dayofyear : Day of the year.\n\n Examples\n --------\n >>> per = pd.Period('2017-12-31 22:00', 'H')\n >>> per.dayofweek\n 6\n\n For periods that span over multiple days, the day at the beginning of\n the period is returned.\n\n >>> per = pd.Period('2017-12-31 22:00', '4H')\n >>> per.dayofweek\n 6\n >>> per.start_time.dayofweek\n 6\n\n For periods with a frequency higher than days, the last day of the\n period is returned.\n\n >>> per = pd.Period('2018-01', 'M')\n >>> per.dayofweek\n 2\n >>> per.end_time.dayofweek\n 2\n " - ... - - @property - def weekofyear(self) -> typing.Any: - ... - - @property - def year(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -def __pyx_unpickle_Enum() -> typing.Any: - ... - -def __pyx_unpickle_PeriodMixin() -> typing.Any: - ... - -__test__: dict -def ensure_datetime64ns() -> typing.Any: - "\n Ensure a np.datetime64 array has dtype specifically 'datetime64[ns]'\n\n Parameters\n ----------\n arr : ndarray\n copy : bool, default True\n\n Returns\n -------\n ndarray with dtype datetime64[ns]\n " - ... - -def extract_freq() -> typing.Any: - ... - -def extract_ordinals() -> typing.Any: - ... - -def freq_to_dtype_code() -> typing.Any: - ... - -def get_period_field_arr() -> typing.Any: - ... - -def parse_time_string() -> typing.Any: - '\n Try hard to parse datetime string, leveraging dateutil plus some extra\n goodies like quarter recognition.\n\n Parameters\n ----------\n arg : str\n freq : str or DateOffset, default None\n Helps with interpreting time string if supplied\n dayfirst : bool, default None\n If None uses default from print_config\n yearfirst : bool, default None\n If None uses default from print_config\n\n Returns\n -------\n datetime, datetime/dateutil.parser._result, str\n ' - ... - -def period_asfreq() -> typing.Any: - "\n Convert period ordinal from one frequency to another, and if upsampling,\n choose to use start ('S') or end ('E') of period.\n " - ... - -def period_asfreq_arr() -> typing.Any: - "\n Convert int64-array of period ordinals from one frequency to another, and\n if upsampling, choose to use start ('S') or end ('E') of period.\n " - ... - -def period_ordinal() -> typing.Any: - '\n Find the ordinal representation of the given datetime components at the\n frequency `freq`.\n\n Parameters\n ----------\n y : int\n m : int\n d : int\n h : int\n min : int\n s : int\n us : int\n ps : int\n\n Returns\n -------\n ordinal : int64_t\n ' - ... - -def periodarr_to_dt64arr() -> typing.Any: - '\n Convert array to datetime64 values from a set of ordinals corresponding to\n periods per period convention.\n ' - ... - -def quarter_to_myear() -> typing.Any: - '\n A quarterly frequency defines a "year" which may not coincide with\n the calendar-year. Find the calendar-year and calendar-month associated\n with the given year and quarter under the `freq`-derived calendar.\n\n Parameters\n ----------\n year : int\n quarter : int\n freqstr : str\n Equivalent to freq.freqstr\n\n Returns\n -------\n year : int\n month : int\n\n See Also\n --------\n Period.qyear\n ' - ... - -def validate_end_alias() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/strptime.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/strptime.pyi deleted file mode 100644 index 7704afe7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/strptime.pyi +++ /dev/null @@ -1,131 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.tslibs.strptime, version: unspecified -import typing -import _thread as _mod__thread -import builtins as _mod_builtins - -class LocaleTime(_mod_builtins.object): - '\n Stores and handles locale-specific information related to time.\n\n ATTRIBUTES:\n f_weekday -- full weekday names (7-item list)\n a_weekday -- abbreviated weekday names (7-item list)\n f_month -- full month names (13-item list; dummy value in [0], which\n is added by code)\n a_month -- abbreviated month names (13-item list, dummy value in\n [0], which is added by code)\n am_pm -- AM/PM representation (2-item list)\n LC_date_time -- format string for date/time representation (string)\n LC_date -- format string for date representation (string)\n LC_time -- format string for time representation (string)\n timezone -- daylight- and non-daylight-savings timezone representation\n (2-item list of sets)\n lang -- Language used by instance (2-item tuple)\n ' - def _LocaleTime__calc_am_pm(self) -> typing.Any: - ... - - def _LocaleTime__calc_date_time(self) -> typing.Any: - ... - - def _LocaleTime__calc_month(self) -> typing.Any: - ... - - def _LocaleTime__calc_timezone(self) -> typing.Any: - ... - - def _LocaleTime__calc_weekday(self) -> typing.Any: - ... - - def _LocaleTime__pad(self, seq, front) -> typing.Any: - ... - - __dict__: typing.Dict[str, typing.Any] - def __init__(self) -> None: - '\n Set all attributes.\n\n Order of methods called matters for dependency reasons.\n\n The locale language is set at the offset and then checked again before\n exiting. This is to make sure that the attributes were not set with a\n mix of information from more than one locale. This would most likely\n happen when using threads where one thread calls a locale-dependent\n function while another thread changes the locale while the function in\n the other thread is still running. Proper coding would call for\n locks to prevent changing the locale while locale-dependent code is\n running. The check here is done in case someone does not think about\n doing this.\n\n Only other possible issue is if someone changed the timezone and did\n not call tz.tzset . That is an issue for the programmer, though,\n since changing the timezone is worthless without that call.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class TimeRE(_mod_builtins.dict): - '\n Handle conversion from format directives to regexes.\n\n Creates regexes for pattern matching a string of text containing\n time information\n ' - def _TimeRE__seqToRE(self, to_convert, directive) -> typing.Any: - "\n Convert a list to a regex string for matching a directive.\n\n Want possible matching values to be from longest to shortest. This\n prevents the possibility of a match occurring for a value that also\n a substring of a larger value that should have matched (e.g., 'abc'\n matching when 'abcdef' should have been the match).\n " - ... - - @classmethod - def __class_getitem__(cls) -> typing.Any: - 'See PEP 585' - ... - - __dict__: typing.Dict[str, typing.Any] - def __getitem__(self, key) -> typing.Any: - ... - - def __init__(self, locale_time) -> None: - '\n Create keys/values.\n\n Order of execution is important for dependency reasons.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def compile(self, format) -> typing.Any: - 'Return a compiled re object for the format string.' - ... - - @classmethod - def fromkeys(cls, type, iterable, value) -> typing.Any: - 'Create a new dictionary with keys from iterable and values set to value.' - ... - - def pattern(self, format) -> typing.Any: - '\n Return regex pattern for the format string.\n\n Need to make sure that any characters that might be interpreted as\n regex syntax are escaped.\n ' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -_CACHE_MAX_SIZE: int -_TimeRE_cache: TimeRE -__doc__: str -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -_cache_lock: _mod__thread.lock -def _getlang() -> typing.Any: - 'Figure out what language is being used for the locale' - ... - -_regex_cache: dict -def _thread_allocate_lock() -> typing.Any: - 'allocate_lock() -> lock object\n(allocate() is an obsolete synonym)\n\nCreate a new lock object. See help(type(threading.Lock())) for\ninformation about locks.' - ... - -def array_strptime() -> typing.Any: - "\n Calculates the datetime structs represented by the passed array of strings\n\n Parameters\n ----------\n values : ndarray of string-like objects\n fmt : string-like regex\n exact : matches must be exact if True, search if False\n errors : string specifying error handling, {'raise', 'ignore', 'coerce'}\n " - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/timedeltas.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/timedeltas.pyi deleted file mode 100644 index 87d18781..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/timedeltas.pyi +++ /dev/null @@ -1,312 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.tslibs.timedeltas, version: unspecified -import typing -import builtins as _mod_builtins -import datetime as _mod_datetime -import importlib._bootstrap as _mod_importlib__bootstrap - -Components = _mod_importlib__bootstrap.Components -class Timedelta(_Timedelta): - "\n Represents a duration, the difference between two dates or times.\n\n Timedelta is the pandas equivalent of python's ``datetime.timedelta``\n and is interchangeable with it in most cases.\n\n Parameters\n ----------\n value : Timedelta, timedelta, np.timedelta64, str, or int\n unit : str, default 'ns'\n Denote the unit of the input, if input is an integer.\n\n Possible values:\n\n * 'W', 'D', 'T', 'S', 'L', 'U', or 'N'\n * 'days' or 'day'\n * 'hours', 'hour', 'hr', or 'h'\n * 'minutes', 'minute', 'min', or 'm'\n * 'seconds', 'second', or 'sec'\n * 'milliseconds', 'millisecond', 'millis', or 'milli'\n * 'microseconds', 'microsecond', 'micros', or 'micro'\n * 'nanoseconds', 'nanosecond', 'nanos', 'nano', or 'ns'.\n\n **kwargs\n Available kwargs: {days, seconds, microseconds,\n milliseconds, minutes, hours, weeks}.\n Values for construction in compat with datetime.timedelta.\n Numpy ints and floats will be coerced to python ints and floats.\n\n Notes\n -----\n The ``.value`` attribute is always in ns.\n\n If the precision is higher than nanoseconds, the precision of the duration is\n truncated to nanoseconds.\n " - def __abs__(self) -> Timedelta: - ... - - def __add__(self, other) -> Timedelta: - ... - - __dict__: typing.Dict[str, typing.Any] - def __divmod__(self, other) -> typing.Tuple[Timedelta, Timedelta]: - ... - - def __floordiv__(self, other) -> int: - ... - - def __init__(self, *args, **kwargs) -> None: - "\n Represents a duration, the difference between two dates or times.\n\n Timedelta is the pandas equivalent of python's ``datetime.timedelta``\n and is interchangeable with it in most cases.\n\n Parameters\n ----------\n value : Timedelta, timedelta, np.timedelta64, str, or int\n unit : str, default 'ns'\n Denote the unit of the input, if input is an integer.\n\n Possible values:\n\n * 'W', 'D', 'T', 'S', 'L', 'U', or 'N'\n * 'days' or 'day'\n * 'hours', 'hour', 'hr', or 'h'\n * 'minutes', 'minute', 'min', or 'm'\n * 'seconds', 'second', or 'sec'\n * 'milliseconds', 'millisecond', 'millis', or 'milli'\n * 'microseconds', 'microsecond', 'micros', or 'micro'\n * 'nanoseconds', 'nanosecond', 'nanos', 'nano', or 'ns'.\n\n **kwargs\n Available kwargs: {days, seconds, microseconds,\n milliseconds, minutes, hours, weeks}.\n Values for construction in compat with datetime.timedelta.\n Numpy ints and floats will be coerced to python ints and floats.\n\n Notes\n -----\n The ``.value`` attribute is always in ns.\n\n If the precision is higher than nanoseconds, the precision of the duration is\n truncated to nanoseconds.\n " - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __inv__(self) -> typing.Any: - ... - - def __mod__(self, other) -> Timedelta: - ... - - def __mul__(self, other) -> Timedelta: - ... - - def __neg__(self) -> Timedelta: - ... - - def __pos__(self) -> Timedelta: - ... - - def __radd__(self, other) -> Timedelta: - ... - - def __rdivmod__(self, other) -> typing.Tuple[Timedelta, Timedelta]: - ... - - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __rfloordiv__(self, other) -> Timedelta: - ... - - def __rmod__(self, other) -> Timedelta: - ... - - def __rmul__(self, other) -> Timedelta: - ... - - def __rsub__(self, other) -> Timedelta: - ... - - def __rtruediv__(self, other) -> Timedelta: - ... - - def __setstate__(self, state) -> None: - ... - - def __sub__(self, other) -> Timedelta: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def __truediv__(self, other) -> float: - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def _round(self, freq, rounder) -> typing.Any: - ... - - def ceil(self, freq) -> typing.Any: - '\n Return a new Timedelta ceiled to this resolution.\n\n Parameters\n ----------\n freq : str\n Frequency string indicating the ceiling resolution.\n ' - ... - - def floor(self, freq) -> typing.Any: - '\n Return a new Timedelta floored to this resolution.\n\n Parameters\n ----------\n freq : str\n Frequency string indicating the flooring resolution.\n ' - ... - - max: Timedelta - min: Timedelta - resolution: Timedelta - def round(self, freq) -> typing.Any: - '\n Round the Timedelta to the specified resolution.\n\n Parameters\n ----------\n freq : str\n Frequency string indicating the rounding resolution.\n\n Returns\n -------\n a new Timedelta rounded to the given resolution of `freq`\n\n Raises\n ------\n ValueError if the freq cannot be converted\n ' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class _Timedelta(_mod_datetime.timedelta): - __array_priority__: int - def __bool__(self) -> bool: - 'self != 0' - ... - - def __eq__(self, value) -> bool: - 'Return self==value.' - ... - - def __ge__(self, value) -> bool: - 'Return self>=value.' - ... - - def __gt__(self, value) -> bool: - 'Return self>value.' - ... - - def __hash__(self) -> int: - 'Return hash(self).' - ... - - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __le__(self, value) -> bool: - 'Return self<=value.' - ... - - def __lt__(self, value) -> bool: - 'Return self bool: - 'Return self!=value.' - ... - - __pyx_vtable__: PyCapsule - def __reduce_cython__(self) -> typing.Any: - ... - - def __repr__(self) -> str: - 'Return repr(self).' - ... - - def __setstate_cython__(self) -> typing.Any: - ... - - def __str__(self) -> str: - 'Return str(self).' - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def _d(self) -> typing.Any: - ... - - def _ensure_components(self) -> typing.Any: - '\n compute the components\n ' - ... - - @property - def _h(self) -> typing.Any: - ... - - def _has_ns(self) -> typing.Any: - ... - - @property - def _m(self) -> typing.Any: - ... - - @property - def _ms(self) -> typing.Any: - ... - - @property - def _ns(self) -> typing.Any: - ... - - def _repr_base(self) -> typing.Any: - '\n\n Parameters\n ----------\n format : None|all|sub_day|long\n\n Returns\n -------\n converted : string of a Timedelta\n\n ' - ... - - @property - def _s(self) -> typing.Any: - ... - - @property - def _us(self) -> typing.Any: - ... - - @property - def asm8(self) -> typing.Any: - "\n Return a numpy timedelta64 array scalar view.\n\n Provides access to the array scalar view (i.e. a combination of the\n value and the units) associated with the numpy.timedelta64().view(),\n including a 64-bit integer representation of the timedelta in\n nanoseconds (Python int compatible).\n\n Returns\n -------\n numpy timedelta64 array scalar view\n Array scalar view of the timedelta in nanoseconds.\n\n Examples\n --------\n >>> td = pd.Timedelta('1 days 2 min 3 us 42 ns')\n >>> td.asm8\n numpy.timedelta64(86520000003042,'ns')\n\n >>> td = pd.Timedelta('2 min 3 s')\n >>> td.asm8\n numpy.timedelta64(123000000000,'ns')\n\n >>> td = pd.Timedelta('3 ms 5 us')\n >>> td.asm8\n numpy.timedelta64(3005000,'ns')\n\n >>> td = pd.Timedelta(42, unit='ns')\n >>> td.asm8\n numpy.timedelta64(42,'ns')\n " - ... - - @property - def components(self) -> typing.Any: - '\n Return a components namedtuple-like.\n ' - ... - - @property - def delta(self) -> typing.Any: - "\n Return the timedelta in nanoseconds (ns), for internal compatibility.\n\n Returns\n -------\n int\n Timedelta in nanoseconds.\n\n Examples\n --------\n >>> td = pd.Timedelta('1 days 42 ns')\n >>> td.delta\n 86400000000042\n\n >>> td = pd.Timedelta('3 s')\n >>> td.delta\n 3000000000\n\n >>> td = pd.Timedelta('3 ms 5 us')\n >>> td.delta\n 3005000\n\n >>> td = pd.Timedelta(42, unit='ns')\n >>> td.delta\n 42\n " - ... - - @property - def freq(self) -> typing.Any: - ... - - @property - def is_populated(self) -> typing.Any: - ... - - def isoformat(self) -> typing.Any: - "\n Format Timedelta as ISO 8601 Duration like\n ``P[n]Y[n]M[n]DT[n]H[n]M[n]S``, where the ``[n]`` s are replaced by the\n values. See https://en.wikipedia.org/wiki/ISO_8601#Durations.\n\n Returns\n -------\n str\n\n See Also\n --------\n Timestamp.isoformat : Function is used to convert the given\n Timestamp object into the ISO format.\n\n Notes\n -----\n The longest component is days, whose value may be larger than\n 365.\n Every component is always included, even if its value is 0.\n Pandas uses nanosecond precision, so up to 9 decimal places may\n be included in the seconds component.\n Trailing 0's are removed from the seconds component after the decimal.\n We do not 0 pad components, so it's `...T5H...`, not `...T05H...`\n\n Examples\n --------\n >>> td = pd.Timedelta(days=6, minutes=50, seconds=3,\n ... milliseconds=10, microseconds=10, nanoseconds=12)\n\n >>> td.isoformat()\n 'P6DT0H50M3.010010012S'\n >>> pd.Timedelta(hours=1, seconds=10).isoformat()\n 'P0DT0H0M10S'\n >>> pd.Timedelta(hours=1, seconds=10).isoformat()\n 'P0DT0H0M10S'\n >>> pd.Timedelta(days=500.5).isoformat()\n 'P500DT12H0MS'\n " - ... - - @property - def nanoseconds(self) -> typing.Any: - "\n Return the number of nanoseconds (n), where 0 <= n < 1 microsecond.\n\n Returns\n -------\n int\n Number of nanoseconds.\n\n See Also\n --------\n Timedelta.components : Return all attributes with assigned values\n (i.e. days, hours, minutes, seconds, milliseconds, microseconds,\n nanoseconds).\n\n Examples\n --------\n **Using string input**\n\n >>> td = pd.Timedelta('1 days 2 min 3 us 42 ns')\n\n >>> td.nanoseconds\n 42\n\n **Using integer input**\n\n >>> td = pd.Timedelta(42, unit='ns')\n >>> td.nanoseconds\n 42\n " - ... - - @property - def resolution_string(self) -> typing.Any: - "\n Return a string representing the lowest timedelta resolution.\n\n Each timedelta has a defined resolution that represents the lowest OR\n most granular level of precision. Each level of resolution is\n represented by a short string as defined below:\n\n Resolution: Return value\n\n * Days: 'D'\n * Hours: 'H'\n * Minutes: 'T'\n * Seconds: 'S'\n * Milliseconds: 'L'\n * Microseconds: 'U'\n * Nanoseconds: 'N'\n\n Returns\n -------\n str\n Timedelta resolution.\n\n Examples\n --------\n >>> td = pd.Timedelta('1 days 2 min 3 us 42 ns')\n >>> td.resolution_string\n 'N'\n\n >>> td = pd.Timedelta('1 days 2 min 3 us')\n >>> td.resolution_string\n 'U'\n\n >>> td = pd.Timedelta('2 min 3 s')\n >>> td.resolution_string\n 'S'\n\n >>> td = pd.Timedelta(36, unit='us')\n >>> td.resolution_string\n 'U'\n " - ... - - def to_numpy(self) -> typing.Any: - '\n Convert the Timedelta to a NumPy timedelta64.\n\n .. versionadded:: 0.25.0\n\n This is an alias method for `Timedelta.to_timedelta64()`. The dtype and\n copy parameters are available here only for compatibility. Their values\n will not affect the return value.\n\n Returns\n -------\n numpy.timedelta64\n\n See Also\n --------\n Series.to_numpy : Similar method for Series.\n ' - ... - - def to_pytimedelta(self) -> typing.Any: - '\n Convert a pandas Timedelta object into a python timedelta object.\n\n Timedelta objects are internally saved as numpy datetime64[ns] dtype.\n Use to_pytimedelta() to convert to object dtype.\n\n Returns\n -------\n datetime.timedelta or numpy.array of datetime.timedelta\n\n See Also\n --------\n to_timedelta : Convert argument to Timedelta type.\n\n Notes\n -----\n Any nanosecond resolution will be lost.\n ' - ... - - def to_timedelta64(self) -> typing.Any: - "\n Return a numpy.timedelta64 object with 'ns' precision.\n " - ... - - @property - def value(self) -> typing.Any: - ... - - def view(self) -> typing.Any: - '\n Array view compatibility.\n ' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -def __pyx_unpickle_Enum() -> typing.Any: - ... - -def __pyx_unpickle__Timedelta() -> typing.Any: - ... - -__test__: dict -def _binary_op_method_timedeltalike() -> typing.Any: - ... - -_no_input: object -def _op_unary_method() -> typing.Any: - ... - -def array_to_timedelta64() -> typing.Any: - "\n Convert an ndarray to an array of timedeltas. If errors == 'coerce',\n coerce non-convertible objects to NaT. Otherwise, raise.\n " - ... - -def delta_to_nanoseconds() -> typing.Any: - ... - -def ints_to_pytimedelta() -> typing.Any: - '\n convert an i8 repr to an ndarray of timedelta or Timedelta (if box ==\n True)\n\n Parameters\n ----------\n arr : ndarray[int64_t]\n box : bool, default False\n\n Returns\n -------\n result : ndarray[object]\n array of Timedelta or timedeltas objects\n ' - ... - -def parse_timedelta_unit() -> typing.Any: - '\n Parameters\n ----------\n unit : str or None\n\n Returns\n -------\n str\n Canonical unit string.\n\n Raises\n ------\n ValueError : on non-parseable input\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/timestamps.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/timestamps.pyi deleted file mode 100644 index fc8ee959..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/timestamps.pyi +++ /dev/null @@ -1,460 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.tslibs.timestamps, version: unspecified -import typing -import builtins as _mod_builtins -import datetime as _mod_datetime -import pandas._libs.tslibs.base as _mod_pandas__libs_tslibs_base -import pandas._libs.tslibs.np_datetime as _mod_pandas__libs_tslibs_np_datetime -import pandas._libs.tslibs.timedeltas as _mod_pandas__libs_tslibs_timedeltas - -OutOfBoundsDatetime = _mod_pandas__libs_tslibs_np_datetime.OutOfBoundsDatetime -class RoundTo(_mod_builtins.object): - '\n enumeration defining the available rounding modes\n\n Attributes\n ----------\n MINUS_INFTY\n round towards -∞, or floor [2]_\n PLUS_INFTY\n round towards +∞, or ceil [3]_\n NEAREST_HALF_EVEN\n round to nearest, tie-break half to even [6]_\n NEAREST_HALF_MINUS_INFTY\n round to nearest, tie-break half to -∞ [5]_\n NEAREST_HALF_PLUS_INFTY\n round to nearest, tie-break half to +∞ [4]_\n\n\n References\n ----------\n .. [1] "Rounding - Wikipedia"\n https://en.wikipedia.org/wiki/Rounding\n .. [2] "Rounding down"\n https://en.wikipedia.org/wiki/Rounding#Rounding_down\n .. [3] "Rounding up"\n https://en.wikipedia.org/wiki/Rounding#Rounding_up\n .. [4] "Round half up"\n https://en.wikipedia.org/wiki/Rounding#Round_half_up\n .. [5] "Round half down"\n https://en.wikipedia.org/wiki/Rounding#Round_half_down\n .. [6] "Round half to even"\n https://en.wikipedia.org/wiki/Rounding#Round_half_to_even\n ' - MINUS_INFTY: property - NEAREST_HALF_EVEN: property - NEAREST_HALF_MINUS_INFTY: property - NEAREST_HALF_PLUS_INFTY: property - PLUS_INFTY: property - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - '\n enumeration defining the available rounding modes\n\n Attributes\n ----------\n MINUS_INFTY\n round towards -∞, or floor [2]_\n PLUS_INFTY\n round towards +∞, or ceil [3]_\n NEAREST_HALF_EVEN\n round to nearest, tie-break half to even [6]_\n NEAREST_HALF_MINUS_INFTY\n round to nearest, tie-break half to -∞ [5]_\n NEAREST_HALF_PLUS_INFTY\n round to nearest, tie-break half to +∞ [4]_\n\n\n References\n ----------\n .. [1] "Rounding - Wikipedia"\n https://en.wikipedia.org/wiki/Rounding\n .. [2] "Rounding down"\n https://en.wikipedia.org/wiki/Rounding#Rounding_down\n .. [3] "Rounding up"\n https://en.wikipedia.org/wiki/Rounding#Rounding_up\n .. [4] "Round half up"\n https://en.wikipedia.org/wiki/Rounding#Round_half_up\n .. [5] "Round half down"\n https://en.wikipedia.org/wiki/Rounding#Round_half_down\n .. [6] "Round half to even"\n https://en.wikipedia.org/wiki/Rounding#Round_half_to_even\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -Timedelta = _mod_pandas__libs_tslibs_timedeltas.Timedelta -class Timestamp(_Timestamp): - "\n Pandas replacement for python datetime.datetime object.\n\n Timestamp is the pandas equivalent of python's Datetime\n and is interchangeable with it in most cases. It's the type used\n for the entries that make up a DatetimeIndex, and other timeseries\n oriented data structures in pandas.\n\n Parameters\n ----------\n ts_input : datetime-like, str, int, float\n Value to be converted to Timestamp.\n freq : str, DateOffset\n Offset which Timestamp will have.\n tz : str, pytz.timezone, dateutil.tz.tzfile or None\n Time zone for time which Timestamp will have.\n unit : str\n Unit used for conversion if ts_input is of type int or float. The\n valid values are 'D', 'h', 'm', 's', 'ms', 'us', and 'ns'. For\n example, 's' means seconds and 'ms' means milliseconds.\n year, month, day : int\n hour, minute, second, microsecond : int, optional, default 0\n nanosecond : int, optional, default 0\n tzinfo : datetime.tzinfo, optional, default None\n fold : {0, 1}, default None, keyword-only\n Due to daylight saving time, one wall clock time can occur twice\n when shifting from summer to winter time; fold describes whether the\n datetime-like corresponds to the first (0) or the second time (1)\n the wall clock hits the ambiguous time\n\n .. versionadded:: 1.1.0\n\n Notes\n -----\n There are essentially three calling conventions for the constructor. The\n primary form accepts four parameters. They can be passed by position or\n keyword.\n\n The other two forms mimic the parameters from ``datetime.datetime``. They\n can be passed by either position or keyword, but not both mixed together.\n\n Examples\n --------\n Using the primary calling convention:\n\n This converts a datetime-like string\n\n >>> pd.Timestamp('2017-01-01T12')\n Timestamp('2017-01-01 12:00:00')\n\n This converts a float representing a Unix epoch in units of seconds\n\n >>> pd.Timestamp(1513393355.5, unit='s')\n Timestamp('2017-12-16 03:02:35.500000')\n\n This converts an int representing a Unix-epoch in units of seconds\n and for a particular timezone\n\n >>> pd.Timestamp(1513393355, unit='s', tz='US/Pacific')\n Timestamp('2017-12-15 19:02:35-0800', tz='US/Pacific')\n\n Using the other two forms that mimic the API for ``datetime.datetime``:\n\n >>> pd.Timestamp(2017, 1, 1, 12)\n Timestamp('2017-01-01 12:00:00')\n\n >>> pd.Timestamp(year=2017, month=1, day=1, hour=12)\n Timestamp('2017-01-01 12:00:00')\n " - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - "\n Pandas replacement for python datetime.datetime object.\n\n Timestamp is the pandas equivalent of python's Datetime\n and is interchangeable with it in most cases. It's the type used\n for the entries that make up a DatetimeIndex, and other timeseries\n oriented data structures in pandas.\n\n Parameters\n ----------\n ts_input : datetime-like, str, int, float\n Value to be converted to Timestamp.\n freq : str, DateOffset\n Offset which Timestamp will have.\n tz : str, pytz.timezone, dateutil.tz.tzfile or None\n Time zone for time which Timestamp will have.\n unit : str\n Unit used for conversion if ts_input is of type int or float. The\n valid values are 'D', 'h', 'm', 's', 'ms', 'us', and 'ns'. For\n example, 's' means seconds and 'ms' means milliseconds.\n year, month, day : int\n hour, minute, second, microsecond : int, optional, default 0\n nanosecond : int, optional, default 0\n tzinfo : datetime.tzinfo, optional, default None\n fold : {0, 1}, default None, keyword-only\n Due to daylight saving time, one wall clock time can occur twice\n when shifting from summer to winter time; fold describes whether the\n datetime-like corresponds to the first (0) or the second time (1)\n the wall clock hits the ambiguous time\n\n .. versionadded:: 1.1.0\n\n Notes\n -----\n There are essentially three calling conventions for the constructor. The\n primary form accepts four parameters. They can be passed by position or\n keyword.\n\n The other two forms mimic the parameters from ``datetime.datetime``. They\n can be passed by either position or keyword, but not both mixed together.\n\n Examples\n --------\n Using the primary calling convention:\n\n This converts a datetime-like string\n\n >>> pd.Timestamp('2017-01-01T12')\n Timestamp('2017-01-01 12:00:00')\n\n This converts a float representing a Unix epoch in units of seconds\n\n >>> pd.Timestamp(1513393355.5, unit='s')\n Timestamp('2017-12-16 03:02:35.500000')\n\n This converts an int representing a Unix-epoch in units of seconds\n and for a particular timezone\n\n >>> pd.Timestamp(1513393355, unit='s', tz='US/Pacific')\n Timestamp('2017-12-15 19:02:35-0800', tz='US/Pacific')\n\n Using the other two forms that mimic the API for ``datetime.datetime``:\n\n >>> pd.Timestamp(2017, 1, 1, 12)\n Timestamp('2017-01-01 12:00:00')\n\n >>> pd.Timestamp(year=2017, month=1, day=1, hour=12)\n Timestamp('2017-01-01 12:00:00')\n " - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def _round(self, freq, mode, ambiguous, nonexistent) -> typing.Any: - ... - - def astimezone(self, tz) -> typing.Any: - '\n Convert tz-aware Timestamp to another time zone.\n\n Parameters\n ----------\n tz : str, pytz.timezone, dateutil.tz.tzfile or None\n Time zone for time which Timestamp will be converted to.\n None will remove timezone holding UTC time.\n\n Returns\n -------\n converted : Timestamp\n\n Raises\n ------\n TypeError\n If Timestamp is tz-naive.\n ' - ... - - def ceil(self, freq, ambiguous, nonexistent) -> typing.Any: - "\n Return a new Timestamp ceiled to this resolution.\n\n Parameters\n ----------\n freq : str\n Frequency string indicating the ceiling resolution.\n ambiguous : bool or {'raise', 'NaT'}, default 'raise'\n The behavior is as follows:\n\n * bool contains flags to determine if time is dst or not (note\n that this flag is only applicable for ambiguous fall dst dates).\n * 'NaT' will return NaT for an ambiguous time.\n * 'raise' will raise an AmbiguousTimeError for an ambiguous time.\n\n .. versionadded:: 0.24.0\n nonexistent : {'raise', 'shift_forward', 'shift_backward, 'NaT', timedelta}, default 'raise'\n A nonexistent time does not exist in a particular timezone\n where clocks moved forward due to DST.\n\n * 'shift_forward' will shift the nonexistent time forward to the\n closest existing time.\n * 'shift_backward' will shift the nonexistent time backward to the\n closest existing time.\n * 'NaT' will return NaT where there are nonexistent times.\n * timedelta objects will shift nonexistent times by the timedelta.\n * 'raise' will raise an NonExistentTimeError if there are\n nonexistent times.\n\n .. versionadded:: 0.24.0\n\n Raises\n ------\n ValueError if the freq cannot be converted.\n " - ... - - def combine(self, cls, date, time) -> typing.Any: - '\n Timestamp.combine(date, time)\n\n Combine date, time into datetime with same date and time fields.\n ' - ... - - @property - def daysinmonth(self) -> typing.Any: - '\n Return the number of days in the month.\n ' - ... - - def floor(self, freq, ambiguous, nonexistent) -> typing.Any: - "\n Return a new Timestamp floored to this resolution.\n\n Parameters\n ----------\n freq : str\n Frequency string indicating the flooring resolution.\n ambiguous : bool or {'raise', 'NaT'}, default 'raise'\n The behavior is as follows:\n\n * bool contains flags to determine if time is dst or not (note\n that this flag is only applicable for ambiguous fall dst dates).\n * 'NaT' will return NaT for an ambiguous time.\n * 'raise' will raise an AmbiguousTimeError for an ambiguous time.\n\n .. versionadded:: 0.24.0\n nonexistent : {'raise', 'shift_forward', 'shift_backward, 'NaT', timedelta}, default 'raise'\n A nonexistent time does not exist in a particular timezone\n where clocks moved forward due to DST.\n\n * 'shift_forward' will shift the nonexistent time forward to the\n closest existing time.\n * 'shift_backward' will shift the nonexistent time backward to the\n closest existing time.\n * 'NaT' will return NaT where there are nonexistent times.\n * timedelta objects will shift nonexistent times by the timedelta.\n * 'raise' will raise an NonExistentTimeError if there are\n nonexistent times.\n\n .. versionadded:: 0.24.0\n\n Raises\n ------\n ValueError if the freq cannot be converted.\n " - ... - - freqstr: property - @classmethod - def fromisocalendar(cls) -> typing.Any: - 'int, int, int -> Construct a date from the ISO year, week number and weekday.\n\nThis is the inverse of the date.isocalendar() function' - ... - - @classmethod - def fromisoformat(cls) -> typing.Any: - 'string -> datetime from datetime.isoformat() output' - ... - - def fromordinal(self, cls, ordinal, freq, tz) -> typing.Any: - '\n Timestamp.fromordinal(ordinal, freq=None, tz=None)\n\n Passed an ordinal, translate and convert to a ts.\n Note: by definition there cannot be any tz info on the ordinal itself.\n\n Parameters\n ----------\n ordinal : int\n Date corresponding to a proleptic Gregorian ordinal.\n freq : str, DateOffset\n Offset to apply to the Timestamp.\n tz : str, pytz.timezone, dateutil.tz.tzfile or None\n Time zone for the Timestamp.\n ' - ... - - def fromtimestamp(self, cls, ts) -> typing.Any: - "\n Timestamp.fromtimestamp(ts)\n\n Transform timestamp[, tz] to tz's local time from POSIX timestamp.\n " - ... - - max: Timestamp - min: Timestamp - def now(self, cls, tz) -> typing.Any: - '\n Timestamp.now(tz=None)\n\n Return new Timestamp object representing current time local to\n tz.\n\n Parameters\n ----------\n tz : str or timezone object, default None\n Timezone to localize to.\n ' - ... - - def replace(self, year, month, day, hour, minute, second, microsecond, nanosecond, tzinfo, fold) -> typing.Any: - '\n Implements datetime.replace, handles nanoseconds.\n\n Parameters\n ----------\n year : int, optional\n month : int, optional\n day : int, optional\n hour : int, optional\n minute : int, optional\n second : int, optional\n microsecond : int, optional\n nanosecond : int, optional\n tzinfo : tz-convertible, optional\n fold : int, optional\n\n Returns\n -------\n Timestamp with fields replaced\n ' - ... - - resolution: _mod_pandas__libs_tslibs_timedeltas.Timedelta - def round(self, freq, ambiguous, nonexistent) -> typing.Any: - "\n Round the Timestamp to the specified resolution.\n\n Parameters\n ----------\n freq : str\n Frequency string indicating the rounding resolution.\n ambiguous : bool or {'raise', 'NaT'}, default 'raise'\n The behavior is as follows:\n\n * bool contains flags to determine if time is dst or not (note\n that this flag is only applicable for ambiguous fall dst dates).\n * 'NaT' will return NaT for an ambiguous time.\n * 'raise' will raise an AmbiguousTimeError for an ambiguous time.\n\n .. versionadded:: 0.24.0\n nonexistent : {'raise', 'shift_forward', 'shift_backward, 'NaT', timedelta}, default 'raise'\n A nonexistent time does not exist in a particular timezone\n where clocks moved forward due to DST.\n\n * 'shift_forward' will shift the nonexistent time forward to the\n closest existing time.\n * 'shift_backward' will shift the nonexistent time backward to the\n closest existing time.\n * 'NaT' will return NaT where there are nonexistent times.\n * timedelta objects will shift nonexistent times by the timedelta.\n * 'raise' will raise an NonExistentTimeError if there are\n nonexistent times.\n\n .. versionadded:: 0.24.0\n\n Returns\n -------\n a new Timestamp rounded to the given resolution of `freq`\n\n Raises\n ------\n ValueError if the freq cannot be converted\n " - ... - - def strftime(self, format) -> typing.Any: - '\n Timestamp.strftime(format)\n\n Return a string representing the given POSIX timestamp\n controlled by an explicit format string.\n\n Parameters\n ----------\n format : str\n Format string to convert Timestamp to string.\n See strftime documentation for more information on the format string:\n https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior.\n ' - ... - - def strptime(self, cls, date_string, format) -> typing.Any: - '\n Timestamp.strptime(string, format)\n\n Function is not implemented. Use pd.to_datetime().\n ' - ... - - def to_julian_date(self) -> numpy.float64: - '\n Convert TimeStamp to a Julian Date.\n 0 Julian date is noon January 1, 4713 BC.\n ' - ... - - def today(self, cls, tz) -> typing.Any: - '\n Timestamp.today(cls, tz=None)\n\n Return the current time in the local timezone. This differs\n from datetime.today() in that it can be localized to a\n passed timezone.\n\n Parameters\n ----------\n tz : str or timezone object, default None\n Timezone to localize to.\n ' - ... - - tz: property - def tz_convert(self, tz) -> typing.Any: - '\n Convert tz-aware Timestamp to another time zone.\n\n Parameters\n ----------\n tz : str, pytz.timezone, dateutil.tz.tzfile or None\n Time zone for time which Timestamp will be converted to.\n None will remove timezone holding UTC time.\n\n Returns\n -------\n converted : Timestamp\n\n Raises\n ------\n TypeError\n If Timestamp is tz-naive.\n ' - ... - - def tz_localize(self, tz, ambiguous, nonexistent) -> typing.Any: - "\n Convert naive Timestamp to local time zone, or remove\n timezone from tz-aware Timestamp.\n\n Parameters\n ----------\n tz : str, pytz.timezone, dateutil.tz.tzfile or None\n Time zone for time which Timestamp will be converted to.\n None will remove timezone holding local time.\n\n ambiguous : bool, 'NaT', default 'raise'\n When clocks moved backward due to DST, ambiguous times may arise.\n For example in Central European Time (UTC+01), when going from\n 03:00 DST to 02:00 non-DST, 02:30:00 local time occurs both at\n 00:30:00 UTC and at 01:30:00 UTC. In such a situation, the\n `ambiguous` parameter dictates how ambiguous times should be\n handled.\n\n The behavior is as follows:\n\n * bool contains flags to determine if time is dst or not (note\n that this flag is only applicable for ambiguous fall dst dates).\n * 'NaT' will return NaT for an ambiguous time.\n * 'raise' will raise an AmbiguousTimeError for an ambiguous time.\n\n nonexistent : 'shift_forward', 'shift_backward, 'NaT', timedelta, default 'raise'\n A nonexistent time does not exist in a particular timezone\n where clocks moved forward due to DST.\n\n The behavior is as follows:\n\n * 'shift_forward' will shift the nonexistent time forward to the\n closest existing time.\n * 'shift_backward' will shift the nonexistent time backward to the\n closest existing time.\n * 'NaT' will return NaT where there are nonexistent times.\n * timedelta objects will shift nonexistent times by the timedelta.\n * 'raise' will raise an NonExistentTimeError if there are\n nonexistent times.\n\n .. versionadded:: 0.24.0\n\n Returns\n -------\n localized : Timestamp\n\n Raises\n ------\n TypeError\n If the Timestamp is tz-aware and tz is not None.\n " - ... - - def utcfromtimestamp(self, cls, ts) -> typing.Any: - '\n Timestamp.utcfromtimestamp(ts)\n\n Construct a naive UTC datetime from a POSIX timestamp.\n ' - ... - - def utcnow(self, cls) -> typing.Any: - '\n Timestamp.utcnow()\n\n Return a new Timestamp representing UTC day and time.\n ' - ... - - @property - def weekofyear(self) -> typing.Any: - '\n Return the week number of the year.\n ' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class _Timestamp(_mod_pandas__libs_tslibs_base.ABCTimestamp): - def __add__(self, value) -> _Timestamp: - 'Return self+value.' - ... - - __array_priority__: int - def __eq__(self, value) -> bool: - 'Return self==value.' - ... - - def __ge__(self, value) -> bool: - 'Return self>=value.' - ... - - def __gt__(self, value) -> bool: - 'Return self>value.' - ... - - def __hash__(self) -> int: - 'Return hash(self).' - ... - - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __le__(self, value) -> bool: - 'Return self<=value.' - ... - - def __lt__(self, value) -> bool: - 'Return self bool: - 'Return self!=value.' - ... - - __pyx_vtable__: PyCapsule - def __radd__(self, value) -> _Timestamp: - 'Return value+self.' - ... - - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __reduce_ex__(self, protocol: int) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __repr__(self) -> str: - 'Return repr(self).' - ... - - def __rsub__(self, value) -> _Timestamp: - 'Return value-self.' - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - def __sub__(self, value) -> _Timestamp: - 'Return self-value.' - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def _date_repr(self) -> typing.Any: - ... - - @property - def _repr_base(self) -> typing.Any: - ... - - @property - def _short_repr(self) -> typing.Any: - ... - - @property - def _time_repr(self) -> typing.Any: - ... - - @property - def asm8(self) -> typing.Any: - '\n Return numpy datetime64 format in nanoseconds.\n ' - ... - - @classmethod - def combine(cls) -> typing.Any: - 'date, time -> datetime with same date and time fields' - ... - - def day_name(self) -> typing.Any: - '\n Return the day name of the Timestamp with specified locale.\n\n Parameters\n ----------\n locale : str, default None (English locale)\n Locale determining the language in which to return the day name.\n\n Returns\n -------\n str\n ' - ... - - @property - def day_of_week(self) -> typing.Any: - '\n Return day of the week.\n ' - ... - - @property - def day_of_year(self) -> typing.Any: - '\n Return the day of the year.\n ' - ... - - @property - def dayofweek(self) -> typing.Any: - '\n Return day of the week.\n ' - ... - - @property - def dayofyear(self) -> typing.Any: - '\n Return the day of the year.\n ' - ... - - @property - def days_in_month(self) -> typing.Any: - '\n Return the number of days in the month.\n ' - ... - - @property - def freq(self) -> typing.Any: - ... - - @classmethod - def fromisocalendar(cls) -> typing.Any: - 'int, int, int -> Construct a date from the ISO year, week number and weekday.\n\nThis is the inverse of the date.isocalendar() function' - ... - - @classmethod - def fromisoformat(cls) -> typing.Any: - 'string -> datetime from datetime.isoformat() output' - ... - - @classmethod - def fromordinal(cls) -> typing.Any: - 'int -> date corresponding to a proleptic Gregorian ordinal.' - ... - - @classmethod - def fromtimestamp(cls) -> typing.Any: - "timestamp[, tz] -> tz's local time from POSIX timestamp." - ... - - @property - def is_leap_year(self) -> typing.Any: - '\n Return True if year is a leap year.\n ' - ... - - @property - def is_month_end(self) -> typing.Any: - '\n Return True if date is last day of month.\n ' - ... - - @property - def is_month_start(self) -> typing.Any: - '\n Return True if date is first day of month.\n ' - ... - - @property - def is_quarter_end(self) -> typing.Any: - '\n Return True if date is last day of the quarter.\n ' - ... - - @property - def is_quarter_start(self) -> typing.Any: - '\n Return True if date is first day of the quarter.\n ' - ... - - @property - def is_year_end(self) -> typing.Any: - '\n Return True if date is last day of the year.\n ' - ... - - @property - def is_year_start(self) -> typing.Any: - '\n Return True if date is first day of the year.\n ' - ... - - def isoformat(self) -> typing.Any: - ... - - def month_name(self) -> typing.Any: - '\n Return the month name of the Timestamp with specified locale.\n\n Parameters\n ----------\n locale : str, default None (English locale)\n Locale determining the language in which to return the month name.\n\n Returns\n -------\n str\n ' - ... - - @property - def nanosecond(self) -> typing.Any: - ... - - def normalize(self) -> typing.Any: - '\n Normalize Timestamp to midnight, preserving tz information.\n ' - ... - - @classmethod - def now(cls, type, tz) -> typing.Any: - 'Returns new datetime object representing current time local to tz.\n\n tz\n Timezone object.\n\nIf no tz is specified, uses local timezone.' - ... - - @property - def quarter(self) -> typing.Any: - '\n Return the quarter of the year.\n ' - ... - - @classmethod - def strptime(cls) -> typing.Any: - 'string, format -> new datetime parsed from a string (like time.strptime()).' - ... - - def timestamp(self) -> typing.Any: - 'Return POSIX timestamp as float.' - ... - - def to_datetime64(self) -> typing.Any: - "\n Return a numpy.datetime64 object with 'ns' precision.\n " - ... - - def to_numpy(self) -> typing.Any: - '\n Convert the Timestamp to a NumPy datetime64.\n\n .. versionadded:: 0.25.0\n\n This is an alias method for `Timestamp.to_datetime64()`. The dtype and\n copy parameters are available here only for compatibility. Their values\n will not affect the return value.\n\n Returns\n -------\n numpy.datetime64\n\n See Also\n --------\n DatetimeIndex.to_numpy : Similar method for DatetimeIndex.\n ' - ... - - def to_period(self) -> typing.Any: - '\n Return an period of which this timestamp is an observation.\n ' - ... - - def to_pydatetime(self) -> typing.Any: - '\n Convert a Timestamp object to a native Python datetime object.\n\n If warn=True, issue a warning if nanoseconds is nonzero.\n ' - ... - - @classmethod - def today(cls) -> typing.Any: - 'Current date or datetime: same as self.__class__.fromtimestamp(time.time()).' - ... - - @classmethod - def utcfromtimestamp(cls) -> typing.Any: - 'Construct a naive UTC datetime from a POSIX timestamp.' - ... - - @classmethod - def utcnow(cls) -> typing.Any: - 'Return a new datetime representing UTC day and time.' - ... - - @property - def value(self) -> typing.Any: - ... - - @property - def week(self) -> typing.Any: - '\n Return the week number of the year.\n ' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: str -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -_no_input: object -_zero_time: _mod_datetime.time -def get_date_name_field() -> typing.Any: - '\n Given a int64-based datetime index, return array of strings of date\n name based on requested field (e.g. day_name)\n ' - ... - -def get_start_end_field() -> typing.Any: - '\n Given an int64-based datetime index return array of indicators\n of whether timestamps are at the start/end of the month/quarter/year\n (defined by frequency).\n ' - ... - -def integer_op_not_supported() -> typing.Any: - ... - -def round_nsint64() -> typing.Any: - '\n Applies rounding mode at given frequency\n\n Parameters\n ----------\n values : :obj:`ndarray`\n mode : instance of `RoundTo` enumeration\n freq : str, obj\n\n Returns\n -------\n :obj:`ndarray`\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/timezones.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/timezones.pyi deleted file mode 100644 index fcd06ba7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/timezones.pyi +++ /dev/null @@ -1,59 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.tslibs.timezones, version: unspecified -import typing -import builtins as _mod_builtins -import datetime as _mod_datetime -import dateutil.tz.tz as _mod_dateutil_tz_tz -import pytz as _mod_pytz -import pytz.tzinfo as _mod_pytz_tzinfo - -UTC: _mod_pytz.UTC -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -_dateutil_tzfile = _mod_dateutil_tz_tz.tzfile -_dateutil_tzlocal = _mod_dateutil_tz_tz.tzlocal -_dateutil_tzutc = _mod_dateutil_tz_tz.tzutc -def _p_tz_cache_key() -> typing.Any: - '\n Python interface for cache function to facilitate testing.\n ' - ... - -_pytz_BaseTzInfo = _mod_pytz_tzinfo.BaseTzInfo -def dateutil_gettz(self, name) -> typing.Any: - '\n Retrieve a time zone object from a string representation\n\n This function is intended to retrieve the :py:class:`tzinfo` subclass\n that best represents the time zone that would be used if a POSIX\n `TZ variable`_ were set to the same value.\n\n If no argument or an empty string is passed to ``gettz``, local time\n is returned:\n\n .. code-block:: python3\n\n >>> gettz()\n tzfile(\'/etc/localtime\')\n\n This function is also the preferred way to map IANA tz database keys\n to :class:`tzfile` objects:\n\n .. code-block:: python3\n\n >>> gettz(\'Pacific/Kiritimati\')\n tzfile(\'/usr/share/zoneinfo/Pacific/Kiritimati\')\n\n On Windows, the standard is extended to include the Windows-specific\n zone names provided by the operating system:\n\n .. code-block:: python3\n\n >>> gettz(\'Egypt Standard Time\')\n tzwin(\'Egypt Standard Time\')\n\n Passing a GNU ``TZ`` style string time zone specification returns a\n :class:`tzstr` object:\n\n .. code-block:: python3\n\n >>> gettz(\'AEST-10AEDT-11,M10.1.0/2,M4.1.0/3\')\n tzstr(\'AEST-10AEDT-11,M10.1.0/2,M4.1.0/3\')\n\n :param name:\n A time zone name (IANA, or, on Windows, Windows keys), location of\n a ``tzfile(5)`` zoneinfo file or ``TZ`` variable style time zone\n specifier. An empty string, no argument or ``None`` is interpreted\n as local time.\n\n :return:\n Returns an instance of one of ``dateutil``\'s :py:class:`tzinfo`\n subclasses.\n\n .. versionchanged:: 2.7.0\n\n After version 2.7.0, any two calls to ``gettz`` using the same\n input strings will return the same object:\n\n .. code-block:: python3\n\n >>> tz.gettz(\'America/Chicago\') is tz.gettz(\'America/Chicago\')\n True\n\n In addition to improving performance, this ensures that\n `"same zone" semantics`_ are used for datetimes in the same zone.\n\n\n .. _`TZ variable`:\n https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html\n\n .. _`"same zone" semantics`:\n https://blog.ganssle.io/articles/2018/02/aware-datetime-arithmetic.html\n ' - ... - -dst_cache: dict -def get_timezone() -> typing.Any: - "\n We need to do several things here:\n 1) Distinguish between pytz and dateutil timezones\n 2) Not be over-specific (e.g. US/Eastern with/without DST is same *zone*\n but a different tz object)\n 3) Provide something to serialize when we're storing a datetime object\n in pytables.\n\n We return a string prefaced with dateutil if it's a dateutil tz, else just\n the tz name. It needs to be a string so that we can serialize it with\n UJSON/pytables. maybe_get_tz (below) is the inverse of this process.\n " - ... - -def infer_tzinfo() -> typing.Any: - ... - -def is_utc() -> typing.Any: - ... - -def maybe_get_tz() -> typing.Any: - '\n (Maybe) Construct a timezone object from a string. If tz is a string, use\n it to construct a timezone object. Otherwise, just return tz.\n ' - ... - -timezone = _mod_datetime.timezone -def tz_compare() -> typing.Any: - "\n Compare string representations of timezones\n\n The same timezone can be represented as different instances of\n timezones. For example\n `` and\n `` are essentially same\n timezones but aren't evaluated such, but the string representation\n for both of these is `'Europe/Paris'`.\n\n This exists only to add a notion of equality to pytz-style zones\n that is compatible with the notion of equality expected of tzinfo\n subclasses.\n\n Parameters\n ----------\n start : tzinfo\n end : tzinfo\n\n Returns:\n -------\n bool\n " - ... - -def tz_standardize() -> typing.Any: - '\n If the passed tz is a pytz timezone object, "normalize" it to the a\n consistent version\n\n Parameters\n ----------\n tz : tz object\n\n Returns:\n -------\n tz object\n\n Examples:\n --------\n >>> tz\n \n\n >>> tz_standardize(tz)\n \n\n >>> tz\n \n\n >>> tz_standardize(tz)\n \n\n >>> tz\n dateutil.tz.tz.tzutc\n\n >>> tz_standardize(tz)\n dateutil.tz.tz.tzutc\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/tzconversion.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/tzconversion.pyi deleted file mode 100644 index e849365d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/tzconversion.pyi +++ /dev/null @@ -1,32 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.tslibs.tzconversion, version: unspecified -import typing -import builtins as _mod_builtins -import dateutil.tz.tz as _mod_dateutil_tz_tz - -__doc__: str -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def tz_convert_from_utc() -> typing.Any: - '\n Convert the values (in i8) from UTC to tz\n\n Parameters\n ----------\n vals : int64 ndarray\n tz : tzinfo\n\n Returns\n -------\n int64 ndarray of converted\n ' - ... - -def tz_convert_from_utc_single() -> typing.Any: - '\n Convert the val (in i8) from UTC to tz\n\n This is a single value version of tz_convert_from_utc.\n\n Parameters\n ----------\n val : int64\n tz : tzinfo\n\n Returns\n -------\n converted: int64\n ' - ... - -def tz_localize_to_utc() -> typing.Any: - '\n Localize tzinfo-naive i8 to given time zone (using pytz). If\n there are ambiguities in the values, raise AmbiguousTimeError.\n\n Parameters\n ----------\n vals : ndarray[int64_t]\n tz : tzinfo or None\n ambiguous : str, bool, or arraylike\n When clocks moved backward due to DST, ambiguous times may arise.\n For example in Central European Time (UTC+01), when going from 03:00\n DST to 02:00 non-DST, 02:30:00 local time occurs both at 00:30:00 UTC\n and at 01:30:00 UTC. In such a situation, the `ambiguous` parameter\n dictates how ambiguous times should be handled.\n\n - \'infer\' will attempt to infer fall dst-transition hours based on\n order\n - bool-ndarray where True signifies a DST time, False signifies a\n non-DST time (note that this flag is only applicable for ambiguous\n times, but the array must have the same length as vals)\n - bool if True, treat all vals as DST. If False, treat them as non-DST\n - \'NaT\' will return NaT where there are ambiguous times\n\n nonexistent : {None, "NaT", "shift_forward", "shift_backward", "raise", timedelta-like}\n How to handle non-existent times when converting wall times to UTC\n\n .. versionadded:: 0.24.0\n\n Returns\n -------\n localized : ndarray[int64_t]\n ' - ... - -tzutc = _mod_dateutil_tz_tz.tzutc -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/vectorized.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/vectorized.pyi deleted file mode 100644 index 7caa5bc9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/tslibs/vectorized.pyi +++ /dev/null @@ -1,37 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.tslibs.vectorized, version: unspecified -import typing -import builtins as _mod_builtins -import pandas._libs.tslibs.dtypes as _mod_pandas__libs_tslibs_dtypes - -Resolution = _mod_pandas__libs_tslibs_dtypes.Resolution -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def dt64arr_to_periodarr() -> typing.Any: - ... - -def get_resolution() -> typing.Any: - ... - -def ints_to_pydatetime() -> typing.Any: - "\n Convert an i8 repr to an ndarray of datetimes, date, time or Timestamp.\n\n Parameters\n ----------\n arr : array of i8\n tz : str, optional\n convert to this timezone\n freq : str/Offset, optional\n freq to convert\n fold : bint, default is 0\n Due to daylight saving time, one wall clock time can occur twice\n when shifting from summer to winter time; fold describes whether the\n datetime-like corresponds to the first (0) or the second time (1)\n the wall clock hits the ambiguous time\n\n .. versionadded:: 1.1.0\n box : {'datetime', 'timestamp', 'date', 'time'}, default 'datetime'\n * If datetime, convert to datetime.datetime\n * If date, convert to datetime.date\n * If time, convert to datetime.time\n * If Timestamp, convert to pandas.Timestamp\n\n Returns\n -------\n ndarray of dtype specified by box\n " - ... - -def is_date_array_normalized() -> typing.Any: - '\n Check if all of the given (nanosecond) timestamps are normalized to\n midnight, i.e. hour == minute == second == 0. If the optional timezone\n `tz` is not None, then this is midnight for this timezone.\n\n Parameters\n ----------\n stamps : int64 ndarray\n tz : tzinfo or None\n\n Returns\n -------\n is_normalized : bool True if all stamps are normalized\n ' - ... - -def normalize_i8_timestamps() -> typing.Any: - '\n Normalize each of the (nanosecond) timezone aware timestamps in the given\n array by rounding down to the beginning of the day (i.e. midnight).\n This is midnight for timezone, `tz`.\n\n Parameters\n ----------\n stamps : int64 ndarray\n tz : tzinfo or None\n\n Returns\n -------\n result : int64 ndarray of converted of normalized nanosecond timestamps\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/window/aggregations.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/window/aggregations.pyi deleted file mode 100644 index 7311b62f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/window/aggregations.pyi +++ /dev/null @@ -1,78 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.window.aggregations, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def ewma() -> typing.Any: - '\n Compute exponentially-weighted moving average using center-of-mass.\n\n Parameters\n ----------\n vals : ndarray (float64 type)\n start: ndarray (int64 type)\n end: ndarray (int64 type)\n minp : int\n com : float64\n adjust : int\n ignore_na : bool\n\n Returns\n -------\n ndarray\n ' - ... - -def ewma_time() -> typing.Any: - '\n Compute exponentially-weighted moving average using halflife and time\n distances.\n\n Parameters\n ----------\n vals : ndarray[float_64]\n start: ndarray[int_64]\n end: ndarray[int_64]\n minp : int\n times : ndarray[int64]\n halflife : int64\n\n Returns\n -------\n ndarray\n ' - ... - -def ewmcov() -> typing.Any: - '\n Compute exponentially-weighted moving variance using center-of-mass.\n\n Parameters\n ----------\n input_x : ndarray (float64 type)\n start: ndarray (int64 type)\n end: ndarray (int64 type)\n minp : int\n input_y : ndarray (float64 type)\n com : float64\n adjust : int\n ignore_na : bool\n bias : int\n\n Returns\n -------\n ndarray\n ' - ... - -interpolation_types: dict -def is_monotonic(arr, timelike) -> typing.Any: - '\n Returns\n -------\n tuple\n is_monotonic_inc : bool\n is_monotonic_dec : bool\n is_unique : bool\n ' - ... - -def roll_apply() -> typing.Any: - ... - -def roll_kurt() -> typing.Any: - ... - -def roll_max() -> typing.Any: - "\n Moving max of 1d array of any numeric type along axis=0 ignoring NaNs.\n\n Parameters\n ----------\n values : np.ndarray[np.float64]\n window : int, size of rolling window\n minp : if number of observations in window\n is below this, output a NaN\n index : ndarray, optional\n index for window computation\n closed : 'right', 'left', 'both', 'neither'\n make the interval closed on the right, left,\n both or neither endpoints\n " - ... - -def roll_mean() -> typing.Any: - ... - -def roll_median_c() -> typing.Any: - ... - -def roll_min() -> typing.Any: - '\n Moving min of 1d array of any numeric type along axis=0 ignoring NaNs.\n\n Parameters\n ----------\n values : np.ndarray[np.float64]\n window : int, size of rolling window\n minp : if number of observations in window\n is below this, output a NaN\n index : ndarray, optional\n index for window computation\n ' - ... - -def roll_quantile() -> typing.Any: - '\n O(N log(window)) implementation using skip list\n ' - ... - -def roll_skew() -> typing.Any: - ... - -def roll_sum() -> typing.Any: - ... - -def roll_var() -> typing.Any: - "\n Numerically stable implementation using Welford's method.\n " - ... - -def roll_weighted_mean() -> typing.Any: - ... - -def roll_weighted_sum() -> typing.Any: - ... - -def roll_weighted_var() -> typing.Any: - "\n Calculates weighted rolling variance using West's online algorithm.\n\n Paper: https://dl.acm.org/citation.cfm?id=359153\n\n Parameters\n ----------\n values: float64_t[:]\n values to roll window over\n weights: float64_t[:]\n array of weights whose length is window size\n minp: int64_t\n minimum number of observations to calculate\n variance of a window\n ddof: unsigned int\n the divisor used in variance calculations\n is the window size - ddof\n\n Returns\n -------\n output: float64_t[:]\n weighted variances of windows\n " - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/window/indexers.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/window/indexers.pyi deleted file mode 100644 index 45f3e62f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/window/indexers.pyi +++ /dev/null @@ -1,21 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.window.indexers, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def calculate_variable_window_bounds() -> typing.Any: - '\n Calculate window boundaries for rolling windows from a time offset.\n\n Parameters\n ----------\n num_values : int64\n total number of values\n\n window_size : int64\n window size calculated from the offset\n\n min_periods : object\n ignored, exists for compatibility\n\n center : object\n ignored, exists for compatibility\n\n closed : str\n string of side of the window that should be closed\n\n index : ndarray[int64]\n time series index to roll over\n\n Returns\n -------\n (ndarray[int64], ndarray[int64])\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/writers.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/writers.pyi deleted file mode 100644 index 6ea17b90..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/_libs/writers.pyi +++ /dev/null @@ -1,37 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas._libs.writers, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def convert_json_to_lines() -> typing.Any: - '\n replace comma separated json with line feeds, paying special attention\n to quotes & brackets\n ' - ... - -def max_len_string_array(arr) -> typing.Any: - '\n Return the maximum size of elements in a 1-dim string array.\n ' - ... - -def string_array_replace_from_nan_rep() -> typing.Any: - "\n Replace the values in the array with 'replacement' if\n they are 'nan_rep'. Return the same array.\n " - ... - -def word_len() -> typing.Any: - '\n Return the maximum length of a string or bytes value.\n ' - ... - -def write_csv_rows() -> typing.Any: - '\n Write the given data to the writer object, pre-allocating where possible\n for performance improvements.\n\n Parameters\n ----------\n data : list\n data_index : ndarray\n nlevels : int\n cols : ndarray\n writer : object\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/io/sas/_sas.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/io/sas/_sas.pyi deleted file mode 100644 index f4671cfb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/native-stubs/pandas/io/sas/_sas.pyi +++ /dev/null @@ -1,45 +0,0 @@ -# Python: 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] -# Library: pandas, version: 1.2.4 -# Module: pandas.io.sas._sas, version: unspecified -import typing -import builtins as _mod_builtins - -class Parser(_mod_builtins.object): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def read(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/cv2-stubs/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/cv2-stubs/__init__.pyi deleted file mode 100644 index 0aa219e5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/cv2-stubs/__init__.pyi +++ /dev/null @@ -1,3101 +0,0 @@ -# Python: 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC v.1916 64 bit (AMD64)] -# Library: cv2, version: 4.4.0 -# Module: cv2.cv2, version: 4.4.0 -import typing -import builtins as _mod_builtins -import cv2 as _mod_cv2 -import numpy as np - -Mat = np.ndarray[int, np.dtype[np.generic]] - -ACCESS_FAST: int -ACCESS_MASK: int -ACCESS_READ: int -ACCESS_RW: int -ACCESS_WRITE: int -ADAPTIVE_THRESH_GAUSSIAN_C: int -ADAPTIVE_THRESH_MEAN_C: int -AGAST_FEATURE_DETECTOR_AGAST_5_8: int -AGAST_FEATURE_DETECTOR_AGAST_7_12D: int -AGAST_FEATURE_DETECTOR_AGAST_7_12S: int -AGAST_FEATURE_DETECTOR_NONMAX_SUPPRESSION: int -AGAST_FEATURE_DETECTOR_OAST_9_16: int -AGAST_FEATURE_DETECTOR_THRESHOLD: int -AKAZE = _mod_cv2.AKAZE -AKAZE_DESCRIPTOR_KAZE: int -AKAZE_DESCRIPTOR_KAZE_UPRIGHT: int -AKAZE_DESCRIPTOR_MLDB: int -AKAZE_DESCRIPTOR_MLDB_UPRIGHT: int -def AKAZE_create(descriptor_type=..., descriptor_size=..., descriptor_channels=..., threshold=..., nOctaves=..., nOctaveLayers=..., diffusivity=...) -> typing.Any: - 'AKAZE_create([, descriptor_type[, descriptor_size[, descriptor_channels[, threshold[, nOctaves[, nOctaveLayers[, diffusivity]]]]]]]) -> retval\n. @brief The AKAZE constructor\n. \n. @param descriptor_type Type of the extracted descriptor: DESCRIPTOR_KAZE,\n. DESCRIPTOR_KAZE_UPRIGHT, DESCRIPTOR_MLDB or DESCRIPTOR_MLDB_UPRIGHT.\n. @param descriptor_size Size of the descriptor in bits. 0 -\\> Full size\n. @param descriptor_channels Number of channels in the descriptor (1, 2, 3)\n. @param threshold Detector response threshold to accept point\n. @param nOctaves Maximum octave evolution of the image\n. @param nOctaveLayers Default number of sublevels per scale level\n. @param diffusivity Diffusivity type. DIFF_PM_G1, DIFF_PM_G2, DIFF_WEICKERT or\n. DIFF_CHARBONNIER' - ... - -AgastFeatureDetector = _mod_cv2.AgastFeatureDetector -AgastFeatureDetector_AGAST_5_8: int -AgastFeatureDetector_AGAST_7_12d: int -AgastFeatureDetector_AGAST_7_12s: int -AgastFeatureDetector_NONMAX_SUPPRESSION: int -AgastFeatureDetector_OAST_9_16: int -AgastFeatureDetector_THRESHOLD: int -def AgastFeatureDetector_create(threshold=..., nonmaxSuppression=..., type=...) -> typing.Any: - 'AgastFeatureDetector_create([, threshold[, nonmaxSuppression[, type]]]) -> retval\n.' - ... - -Algorithm = _mod_cv2.Algorithm -AlignExposures = _mod_cv2.AlignExposures -AlignMTB = _mod_cv2.AlignMTB -AsyncArray = _mod_cv2.AsyncArray -BFMatcher = _mod_cv2.BFMatcher -def BFMatcher_create(normType: int = ..., crossCheck=...) -> typing.Any: - "BFMatcher_create([, normType[, crossCheck]]) -> retval\n. @brief Brute-force matcher create method.\n. @param normType One of NORM_L1, NORM_L2, NORM_HAMMING, NORM_HAMMING2. L1 and L2 norms are\n. preferable choices for SIFT and SURF descriptors, NORM_HAMMING should be used with ORB, BRISK and\n. BRIEF, NORM_HAMMING2 should be used with ORB when WTA_K==3 or 4 (see ORB::ORB constructor\n. description).\n. @param crossCheck If it is false, this is will be default BFMatcher behaviour when it finds the k\n. nearest neighbors for each query descriptor. If crossCheck==true, then the knnMatch() method with\n. k=1 will only return pairs (i,j) such that for i-th query descriptor the j-th descriptor in the\n. matcher's collection is the nearest and vice versa, i.e. the BFMatcher will only return consistent\n. pairs. Such technique usually produces best results with minimal number of outliers when there are\n. enough matches. This is alternative to the ratio test, used by D. Lowe in SIFT paper." - ... - -BORDER_CONSTANT: int -BORDER_DEFAULT: int -BORDER_ISOLATED: int -BORDER_REFLECT: int -BORDER_REFLECT101: int -BORDER_REFLECT_101: int -BORDER_REPLICATE: int -BORDER_TRANSPARENT: int -BORDER_WRAP: int -BOWImgDescriptorExtractor = _mod_cv2.BOWImgDescriptorExtractor -BOWKMeansTrainer = _mod_cv2.BOWKMeansTrainer -BOWTrainer = _mod_cv2.BOWTrainer -BRISK = _mod_cv2.BRISK -def BRISK_create(thresh=..., octaves=..., patternScale=...) -> typing.Any: - 'BRISK_create([, thresh[, octaves[, patternScale]]]) -> retval\n. @brief The BRISK constructor\n. \n. @param thresh AGAST detection threshold score.\n. @param octaves detection octaves. Use 0 to do single scale.\n. @param patternScale apply this scale to the pattern used for sampling the neighbourhood of a\n. keypoint.\n\n\n\nBRISK_create(radiusList, numberList[, dMax[, dMin[, indexChange]]]) -> retval\n. @brief The BRISK constructor for a custom pattern\n. \n. @param radiusList defines the radii (in pixels) where the samples around a keypoint are taken (for\n. keypoint scale 1).\n. @param numberList defines the number of sampling points on the sampling circle. Must be the same\n. size as radiusList..\n. @param dMax threshold for the short pairings used for descriptor formation (in pixels for keypoint\n. scale 1).\n. @param dMin threshold for the long pairings used for orientation determination (in pixels for\n. keypoint scale 1).\n. @param indexChange index remapping of the bits.\n\n\n\nBRISK_create(thresh, octaves, radiusList, numberList[, dMax[, dMin[, indexChange]]]) -> retval\n. @brief The BRISK constructor for a custom pattern, detection threshold and octaves\n. \n. @param thresh AGAST detection threshold score.\n. @param octaves detection octaves. Use 0 to do single scale.\n. @param radiusList defines the radii (in pixels) where the samples around a keypoint are taken (for\n. keypoint scale 1).\n. @param numberList defines the number of sampling points on the sampling circle. Must be the same\n. size as radiusList..\n. @param dMax threshold for the short pairings used for descriptor formation (in pixels for keypoint\n. scale 1).\n. @param dMin threshold for the long pairings used for orientation determination (in pixels for\n. keypoint scale 1).\n. @param indexChange index remapping of the bits.' - ... - -BackgroundSubtractor = _mod_cv2.BackgroundSubtractor -BackgroundSubtractorKNN = _mod_cv2.BackgroundSubtractorKNN -BackgroundSubtractorMOG2 = _mod_cv2.BackgroundSubtractorMOG2 -BaseCascadeClassifier = _mod_cv2.BaseCascadeClassifier -CALIB_CB_ACCURACY: int -CALIB_CB_ADAPTIVE_THRESH: int -CALIB_CB_ASYMMETRIC_GRID: int -CALIB_CB_CLUSTERING: int -CALIB_CB_EXHAUSTIVE: int -CALIB_CB_FAST_CHECK: int -CALIB_CB_FILTER_QUADS: int -CALIB_CB_LARGER: int -CALIB_CB_MARKER: int -CALIB_CB_NORMALIZE_IMAGE: int -CALIB_CB_SYMMETRIC_GRID: int -CALIB_FIX_ASPECT_RATIO: int -CALIB_FIX_FOCAL_LENGTH: int -CALIB_FIX_INTRINSIC: int -CALIB_FIX_K1: int -CALIB_FIX_K2: int -CALIB_FIX_K3: int -CALIB_FIX_K4: int -CALIB_FIX_K5: int -CALIB_FIX_K6: int -CALIB_FIX_PRINCIPAL_POINT: int -CALIB_FIX_S1_S2_S3_S4: int -CALIB_FIX_TANGENT_DIST: int -CALIB_FIX_TAUX_TAUY: int -CALIB_HAND_EYE_ANDREFF: int -CALIB_HAND_EYE_DANIILIDIS: int -CALIB_HAND_EYE_HORAUD: int -CALIB_HAND_EYE_PARK: int -CALIB_HAND_EYE_TSAI: int -CALIB_NINTRINSIC: int -CALIB_RATIONAL_MODEL: int -CALIB_SAME_FOCAL_LENGTH: int -CALIB_THIN_PRISM_MODEL: int -CALIB_TILTED_MODEL: int -CALIB_USE_EXTRINSIC_GUESS: int -CALIB_USE_INTRINSIC_GUESS: int -CALIB_USE_LU: int -CALIB_USE_QR: int -CALIB_ZERO_DISPARITY: int -CALIB_ZERO_TANGENT_DIST: int -CAP_ANDROID: int -CAP_ANY: int -CAP_ARAVIS: int -CAP_AVFOUNDATION: int -CAP_CMU1394: int -CAP_DC1394: int -CAP_DSHOW: int -CAP_FFMPEG: int -CAP_FIREWARE: int -CAP_FIREWIRE: int -CAP_GIGANETIX: int -CAP_GPHOTO2: int -CAP_GSTREAMER: int -CAP_IEEE1394: int -CAP_IMAGES: int -CAP_INTELPERC: int -CAP_INTELPERC_DEPTH_GENERATOR: int -CAP_INTELPERC_DEPTH_MAP: int -CAP_INTELPERC_GENERATORS_MASK: int -CAP_INTELPERC_IMAGE: int -CAP_INTELPERC_IMAGE_GENERATOR: int -CAP_INTELPERC_IR_GENERATOR: int -CAP_INTELPERC_IR_MAP: int -CAP_INTELPERC_UVDEPTH_MAP: int -CAP_INTEL_MFX: int -CAP_MSMF: int -CAP_OPENCV_MJPEG: int -CAP_OPENNI: int -CAP_OPENNI2: int -CAP_OPENNI2_ASUS: int -CAP_OPENNI_ASUS: int -CAP_OPENNI_BGR_IMAGE: int -CAP_OPENNI_DEPTH_GENERATOR: int -CAP_OPENNI_DEPTH_GENERATOR_BASELINE: int -CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH: int -CAP_OPENNI_DEPTH_GENERATOR_PRESENT: int -CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION: int -CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION_ON: int -CAP_OPENNI_DEPTH_MAP: int -CAP_OPENNI_DISPARITY_MAP: int -CAP_OPENNI_DISPARITY_MAP_32F: int -CAP_OPENNI_GENERATORS_MASK: int -CAP_OPENNI_GRAY_IMAGE: int -CAP_OPENNI_IMAGE_GENERATOR: int -CAP_OPENNI_IMAGE_GENERATOR_OUTPUT_MODE: int -CAP_OPENNI_IMAGE_GENERATOR_PRESENT: int -CAP_OPENNI_IR_GENERATOR: int -CAP_OPENNI_IR_GENERATOR_PRESENT: int -CAP_OPENNI_IR_IMAGE: int -CAP_OPENNI_POINT_CLOUD_MAP: int -CAP_OPENNI_QVGA_30HZ: int -CAP_OPENNI_QVGA_60HZ: int -CAP_OPENNI_SXGA_15HZ: int -CAP_OPENNI_SXGA_30HZ: int -CAP_OPENNI_VALID_DEPTH_MASK: int -CAP_OPENNI_VGA_30HZ: int -CAP_PROP_APERTURE: int -CAP_PROP_ARAVIS_AUTOTRIGGER: int -CAP_PROP_AUTOFOCUS: int -CAP_PROP_AUTO_EXPOSURE: int -CAP_PROP_AUTO_WB: int -CAP_PROP_BACKEND: int -CAP_PROP_BACKLIGHT: int -CAP_PROP_BITRATE: int -CAP_PROP_BRIGHTNESS: int -CAP_PROP_BUFFERSIZE: int -CAP_PROP_CHANNEL: int -CAP_PROP_CODEC_PIXEL_FORMAT: int -CAP_PROP_CONTRAST: int -CAP_PROP_CONVERT_RGB: int -CAP_PROP_DC1394_MAX: int -CAP_PROP_DC1394_MODE_AUTO: int -CAP_PROP_DC1394_MODE_MANUAL: int -CAP_PROP_DC1394_MODE_ONE_PUSH_AUTO: int -CAP_PROP_DC1394_OFF: int -CAP_PROP_EXPOSURE: int -CAP_PROP_EXPOSUREPROGRAM: int -CAP_PROP_FOCUS: int -CAP_PROP_FORMAT: int -CAP_PROP_FOURCC: int -CAP_PROP_FPS: int -CAP_PROP_FRAME_COUNT: int -CAP_PROP_FRAME_HEIGHT: int -CAP_PROP_FRAME_WIDTH: int -CAP_PROP_GAIN: int -CAP_PROP_GAMMA: int -CAP_PROP_GIGA_FRAME_HEIGH_MAX: int -CAP_PROP_GIGA_FRAME_OFFSET_X: int -CAP_PROP_GIGA_FRAME_OFFSET_Y: int -CAP_PROP_GIGA_FRAME_SENS_HEIGH: int -CAP_PROP_GIGA_FRAME_SENS_WIDTH: int -CAP_PROP_GIGA_FRAME_WIDTH_MAX: int -CAP_PROP_GPHOTO2_COLLECT_MSGS: int -CAP_PROP_GPHOTO2_FLUSH_MSGS: int -CAP_PROP_GPHOTO2_PREVIEW: int -CAP_PROP_GPHOTO2_RELOAD_CONFIG: int -CAP_PROP_GPHOTO2_RELOAD_ON_CHANGE: int -CAP_PROP_GPHOTO2_WIDGET_ENUMERATE: int -CAP_PROP_GSTREAMER_QUEUE_LENGTH: int -CAP_PROP_GUID: int -CAP_PROP_HUE: int -CAP_PROP_IMAGES_BASE: int -CAP_PROP_IMAGES_LAST: int -CAP_PROP_INTELPERC_DEPTH_CONFIDENCE_THRESHOLD: int -CAP_PROP_INTELPERC_DEPTH_FOCAL_LENGTH_HORZ: int -CAP_PROP_INTELPERC_DEPTH_FOCAL_LENGTH_VERT: int -CAP_PROP_INTELPERC_DEPTH_LOW_CONFIDENCE_VALUE: int -CAP_PROP_INTELPERC_DEPTH_SATURATION_VALUE: int -CAP_PROP_INTELPERC_PROFILE_COUNT: int -CAP_PROP_INTELPERC_PROFILE_IDX: int -CAP_PROP_IOS_DEVICE_EXPOSURE: int -CAP_PROP_IOS_DEVICE_FLASH: int -CAP_PROP_IOS_DEVICE_FOCUS: int -CAP_PROP_IOS_DEVICE_TORCH: int -CAP_PROP_IOS_DEVICE_WHITEBALANCE: int -CAP_PROP_IRIS: int -CAP_PROP_ISO_SPEED: int -CAP_PROP_MODE: int -CAP_PROP_MONOCHROME: int -CAP_PROP_OPENNI2_MIRROR: int -CAP_PROP_OPENNI2_SYNC: int -CAP_PROP_OPENNI_APPROX_FRAME_SYNC: int -CAP_PROP_OPENNI_BASELINE: int -CAP_PROP_OPENNI_CIRCLE_BUFFER: int -CAP_PROP_OPENNI_FOCAL_LENGTH: int -CAP_PROP_OPENNI_FRAME_MAX_DEPTH: int -CAP_PROP_OPENNI_GENERATOR_PRESENT: int -CAP_PROP_OPENNI_MAX_BUFFER_SIZE: int -CAP_PROP_OPENNI_MAX_TIME_DURATION: int -CAP_PROP_OPENNI_OUTPUT_MODE: int -CAP_PROP_OPENNI_REGISTRATION: int -CAP_PROP_OPENNI_REGISTRATION_ON: int -CAP_PROP_PAN: int -CAP_PROP_POS_AVI_RATIO: int -CAP_PROP_POS_FRAMES: int -CAP_PROP_POS_MSEC: int -CAP_PROP_PVAPI_BINNINGX: int -CAP_PROP_PVAPI_BINNINGY: int -CAP_PROP_PVAPI_DECIMATIONHORIZONTAL: int -CAP_PROP_PVAPI_DECIMATIONVERTICAL: int -CAP_PROP_PVAPI_FRAMESTARTTRIGGERMODE: int -CAP_PROP_PVAPI_MULTICASTIP: int -CAP_PROP_PVAPI_PIXELFORMAT: int -CAP_PROP_RECTIFICATION: int -CAP_PROP_ROLL: int -CAP_PROP_SAR_DEN: int -CAP_PROP_SAR_NUM: int -CAP_PROP_SATURATION: int -CAP_PROP_SETTINGS: int -CAP_PROP_SHARPNESS: int -CAP_PROP_SPEED: int -CAP_PROP_TEMPERATURE: int -CAP_PROP_TILT: int -CAP_PROP_TRIGGER: int -CAP_PROP_TRIGGER_DELAY: int -CAP_PROP_VIEWFINDER: int -CAP_PROP_WB_TEMPERATURE: int -CAP_PROP_WHITE_BALANCE_BLUE_U: int -CAP_PROP_WHITE_BALANCE_RED_V: int -CAP_PROP_XI_ACQ_BUFFER_SIZE: int -CAP_PROP_XI_ACQ_BUFFER_SIZE_UNIT: int -CAP_PROP_XI_ACQ_FRAME_BURST_COUNT: int -CAP_PROP_XI_ACQ_TIMING_MODE: int -CAP_PROP_XI_ACQ_TRANSPORT_BUFFER_COMMIT: int -CAP_PROP_XI_ACQ_TRANSPORT_BUFFER_SIZE: int -CAP_PROP_XI_AEAG: int -CAP_PROP_XI_AEAG_LEVEL: int -CAP_PROP_XI_AEAG_ROI_HEIGHT: int -CAP_PROP_XI_AEAG_ROI_OFFSET_X: int -CAP_PROP_XI_AEAG_ROI_OFFSET_Y: int -CAP_PROP_XI_AEAG_ROI_WIDTH: int -CAP_PROP_XI_AE_MAX_LIMIT: int -CAP_PROP_XI_AG_MAX_LIMIT: int -CAP_PROP_XI_APPLY_CMS: int -CAP_PROP_XI_AUTO_BANDWIDTH_CALCULATION: int -CAP_PROP_XI_AUTO_WB: int -CAP_PROP_XI_AVAILABLE_BANDWIDTH: int -CAP_PROP_XI_BINNING_HORIZONTAL: int -CAP_PROP_XI_BINNING_PATTERN: int -CAP_PROP_XI_BINNING_SELECTOR: int -CAP_PROP_XI_BINNING_VERTICAL: int -CAP_PROP_XI_BPC: int -CAP_PROP_XI_BUFFERS_QUEUE_SIZE: int -CAP_PROP_XI_BUFFER_POLICY: int -CAP_PROP_XI_CC_MATRIX_00: int -CAP_PROP_XI_CC_MATRIX_01: int -CAP_PROP_XI_CC_MATRIX_02: int -CAP_PROP_XI_CC_MATRIX_03: int -CAP_PROP_XI_CC_MATRIX_10: int -CAP_PROP_XI_CC_MATRIX_11: int -CAP_PROP_XI_CC_MATRIX_12: int -CAP_PROP_XI_CC_MATRIX_13: int -CAP_PROP_XI_CC_MATRIX_20: int -CAP_PROP_XI_CC_MATRIX_21: int -CAP_PROP_XI_CC_MATRIX_22: int -CAP_PROP_XI_CC_MATRIX_23: int -CAP_PROP_XI_CC_MATRIX_30: int -CAP_PROP_XI_CC_MATRIX_31: int -CAP_PROP_XI_CC_MATRIX_32: int -CAP_PROP_XI_CC_MATRIX_33: int -CAP_PROP_XI_CHIP_TEMP: int -CAP_PROP_XI_CMS: int -CAP_PROP_XI_COLOR_FILTER_ARRAY: int -CAP_PROP_XI_COLUMN_FPN_CORRECTION: int -CAP_PROP_XI_COOLING: int -CAP_PROP_XI_COUNTER_SELECTOR: int -CAP_PROP_XI_COUNTER_VALUE: int -CAP_PROP_XI_DATA_FORMAT: int -CAP_PROP_XI_DEBOUNCE_EN: int -CAP_PROP_XI_DEBOUNCE_POL: int -CAP_PROP_XI_DEBOUNCE_T0: int -CAP_PROP_XI_DEBOUNCE_T1: int -CAP_PROP_XI_DEBUG_LEVEL: int -CAP_PROP_XI_DECIMATION_HORIZONTAL: int -CAP_PROP_XI_DECIMATION_PATTERN: int -CAP_PROP_XI_DECIMATION_SELECTOR: int -CAP_PROP_XI_DECIMATION_VERTICAL: int -CAP_PROP_XI_DEFAULT_CC_MATRIX: int -CAP_PROP_XI_DEVICE_MODEL_ID: int -CAP_PROP_XI_DEVICE_RESET: int -CAP_PROP_XI_DEVICE_SN: int -CAP_PROP_XI_DOWNSAMPLING: int -CAP_PROP_XI_DOWNSAMPLING_TYPE: int -CAP_PROP_XI_EXPOSURE: int -CAP_PROP_XI_EXPOSURE_BURST_COUNT: int -CAP_PROP_XI_EXP_PRIORITY: int -CAP_PROP_XI_FFS_ACCESS_KEY: int -CAP_PROP_XI_FFS_FILE_ID: int -CAP_PROP_XI_FFS_FILE_SIZE: int -CAP_PROP_XI_FRAMERATE: int -CAP_PROP_XI_FREE_FFS_SIZE: int -CAP_PROP_XI_GAIN: int -CAP_PROP_XI_GAIN_SELECTOR: int -CAP_PROP_XI_GAMMAC: int -CAP_PROP_XI_GAMMAY: int -CAP_PROP_XI_GPI_LEVEL: int -CAP_PROP_XI_GPI_MODE: int -CAP_PROP_XI_GPI_SELECTOR: int -CAP_PROP_XI_GPO_MODE: int -CAP_PROP_XI_GPO_SELECTOR: int -CAP_PROP_XI_HDR: int -CAP_PROP_XI_HDR_KNEEPOINT_COUNT: int -CAP_PROP_XI_HDR_T1: int -CAP_PROP_XI_HDR_T2: int -CAP_PROP_XI_HEIGHT: int -CAP_PROP_XI_HOUS_BACK_SIDE_TEMP: int -CAP_PROP_XI_HOUS_TEMP: int -CAP_PROP_XI_HW_REVISION: int -CAP_PROP_XI_IMAGE_BLACK_LEVEL: int -CAP_PROP_XI_IMAGE_DATA_BIT_DEPTH: int -CAP_PROP_XI_IMAGE_DATA_FORMAT: int -CAP_PROP_XI_IMAGE_DATA_FORMAT_RGB32_ALPHA: int -CAP_PROP_XI_IMAGE_IS_COLOR: int -CAP_PROP_XI_IMAGE_PAYLOAD_SIZE: int -CAP_PROP_XI_IS_COOLED: int -CAP_PROP_XI_IS_DEVICE_EXIST: int -CAP_PROP_XI_KNEEPOINT1: int -CAP_PROP_XI_KNEEPOINT2: int -CAP_PROP_XI_LED_MODE: int -CAP_PROP_XI_LED_SELECTOR: int -CAP_PROP_XI_LENS_APERTURE_VALUE: int -CAP_PROP_XI_LENS_FEATURE: int -CAP_PROP_XI_LENS_FEATURE_SELECTOR: int -CAP_PROP_XI_LENS_FOCAL_LENGTH: int -CAP_PROP_XI_LENS_FOCUS_DISTANCE: int -CAP_PROP_XI_LENS_FOCUS_MOVE: int -CAP_PROP_XI_LENS_FOCUS_MOVEMENT_VALUE: int -CAP_PROP_XI_LENS_MODE: int -CAP_PROP_XI_LIMIT_BANDWIDTH: int -CAP_PROP_XI_LUT_EN: int -CAP_PROP_XI_LUT_INDEX: int -CAP_PROP_XI_LUT_VALUE: int -CAP_PROP_XI_MANUAL_WB: int -CAP_PROP_XI_OFFSET_X: int -CAP_PROP_XI_OFFSET_Y: int -CAP_PROP_XI_OUTPUT_DATA_BIT_DEPTH: int -CAP_PROP_XI_OUTPUT_DATA_PACKING: int -CAP_PROP_XI_OUTPUT_DATA_PACKING_TYPE: int -CAP_PROP_XI_RECENT_FRAME: int -CAP_PROP_XI_REGION_MODE: int -CAP_PROP_XI_REGION_SELECTOR: int -CAP_PROP_XI_ROW_FPN_CORRECTION: int -CAP_PROP_XI_SENSOR_BOARD_TEMP: int -CAP_PROP_XI_SENSOR_CLOCK_FREQ_HZ: int -CAP_PROP_XI_SENSOR_CLOCK_FREQ_INDEX: int -CAP_PROP_XI_SENSOR_DATA_BIT_DEPTH: int -CAP_PROP_XI_SENSOR_FEATURE_SELECTOR: int -CAP_PROP_XI_SENSOR_FEATURE_VALUE: int -CAP_PROP_XI_SENSOR_MODE: int -CAP_PROP_XI_SENSOR_OUTPUT_CHANNEL_COUNT: int -CAP_PROP_XI_SENSOR_TAPS: int -CAP_PROP_XI_SHARPNESS: int -CAP_PROP_XI_SHUTTER_TYPE: int -CAP_PROP_XI_TARGET_TEMP: int -CAP_PROP_XI_TEST_PATTERN: int -CAP_PROP_XI_TEST_PATTERN_GENERATOR_SELECTOR: int -CAP_PROP_XI_TIMEOUT: int -CAP_PROP_XI_TRANSPORT_PIXEL_FORMAT: int -CAP_PROP_XI_TRG_DELAY: int -CAP_PROP_XI_TRG_SELECTOR: int -CAP_PROP_XI_TRG_SOFTWARE: int -CAP_PROP_XI_TRG_SOURCE: int -CAP_PROP_XI_TS_RST_MODE: int -CAP_PROP_XI_TS_RST_SOURCE: int -CAP_PROP_XI_USED_FFS_SIZE: int -CAP_PROP_XI_WB_KB: int -CAP_PROP_XI_WB_KG: int -CAP_PROP_XI_WB_KR: int -CAP_PROP_XI_WIDTH: int -CAP_PROP_ZOOM: int -CAP_PVAPI: int -CAP_PVAPI_DECIMATION_2OUTOF16: int -CAP_PVAPI_DECIMATION_2OUTOF4: int -CAP_PVAPI_DECIMATION_2OUTOF8: int -CAP_PVAPI_DECIMATION_OFF: int -CAP_PVAPI_FSTRIGMODE_FIXEDRATE: int -CAP_PVAPI_FSTRIGMODE_FREERUN: int -CAP_PVAPI_FSTRIGMODE_SOFTWARE: int -CAP_PVAPI_FSTRIGMODE_SYNCIN1: int -CAP_PVAPI_FSTRIGMODE_SYNCIN2: int -CAP_PVAPI_PIXELFORMAT_BAYER16: int -CAP_PVAPI_PIXELFORMAT_BAYER8: int -CAP_PVAPI_PIXELFORMAT_BGR24: int -CAP_PVAPI_PIXELFORMAT_BGRA32: int -CAP_PVAPI_PIXELFORMAT_MONO16: int -CAP_PVAPI_PIXELFORMAT_MONO8: int -CAP_PVAPI_PIXELFORMAT_RGB24: int -CAP_PVAPI_PIXELFORMAT_RGBA32: int -CAP_QT: int -CAP_REALSENSE: int -CAP_UNICAP: int -CAP_V4L: int -CAP_V4L2: int -CAP_VFW: int -CAP_WINRT: int -CAP_XIAPI: int -CAP_XINE: int -CASCADE_DO_CANNY_PRUNING: int -CASCADE_DO_ROUGH_SEARCH: int -CASCADE_FIND_BIGGEST_OBJECT: int -CASCADE_SCALE_IMAGE: int -CCL_DEFAULT: int -CCL_GRANA: int -CCL_WU: int -CC_STAT_AREA: int -CC_STAT_HEIGHT: int -CC_STAT_LEFT: int -CC_STAT_MAX: int -CC_STAT_TOP: int -CC_STAT_WIDTH: int -CHAIN_APPROX_NONE: int -CHAIN_APPROX_SIMPLE: int -CHAIN_APPROX_TC89_KCOS: int -CHAIN_APPROX_TC89_L1: int -CIRCLES_GRID_FINDER_PARAMETERS_ASYMMETRIC_GRID: int -CIRCLES_GRID_FINDER_PARAMETERS_SYMMETRIC_GRID: int -CLAHE = _mod_cv2.CLAHE -CMP_EQ: int -CMP_GE: int -CMP_GT: int -CMP_LE: int -CMP_LT: int -CMP_NE: int -COLORMAP_AUTUMN: int -COLORMAP_BONE: int -COLORMAP_CIVIDIS: int -COLORMAP_COOL: int -COLORMAP_DEEPGREEN: int -COLORMAP_HOT: int -COLORMAP_HSV: int -COLORMAP_INFERNO: int -COLORMAP_JET: int -COLORMAP_MAGMA: int -COLORMAP_OCEAN: int -COLORMAP_PARULA: int -COLORMAP_PINK: int -COLORMAP_PLASMA: int -COLORMAP_RAINBOW: int -COLORMAP_SPRING: int -COLORMAP_SUMMER: int -COLORMAP_TURBO: int -COLORMAP_TWILIGHT: int -COLORMAP_TWILIGHT_SHIFTED: int -COLORMAP_VIRIDIS: int -COLORMAP_WINTER: int -COLOR_BAYER_BG2BGR: int -COLOR_BAYER_BG2BGRA: int -COLOR_BAYER_BG2BGR_EA: int -COLOR_BAYER_BG2BGR_VNG: int -COLOR_BAYER_BG2GRAY: int -COLOR_BAYER_BG2RGB: int -COLOR_BAYER_BG2RGBA: int -COLOR_BAYER_BG2RGB_EA: int -COLOR_BAYER_BG2RGB_VNG: int -COLOR_BAYER_GB2BGR: int -COLOR_BAYER_GB2BGRA: int -COLOR_BAYER_GB2BGR_EA: int -COLOR_BAYER_GB2BGR_VNG: int -COLOR_BAYER_GB2GRAY: int -COLOR_BAYER_GB2RGB: int -COLOR_BAYER_GB2RGBA: int -COLOR_BAYER_GB2RGB_EA: int -COLOR_BAYER_GB2RGB_VNG: int -COLOR_BAYER_GR2BGR: int -COLOR_BAYER_GR2BGRA: int -COLOR_BAYER_GR2BGR_EA: int -COLOR_BAYER_GR2BGR_VNG: int -COLOR_BAYER_GR2GRAY: int -COLOR_BAYER_GR2RGB: int -COLOR_BAYER_GR2RGBA: int -COLOR_BAYER_GR2RGB_EA: int -COLOR_BAYER_GR2RGB_VNG: int -COLOR_BAYER_RG2BGR: int -COLOR_BAYER_RG2BGRA: int -COLOR_BAYER_RG2BGR_EA: int -COLOR_BAYER_RG2BGR_VNG: int -COLOR_BAYER_RG2GRAY: int -COLOR_BAYER_RG2RGB: int -COLOR_BAYER_RG2RGBA: int -COLOR_BAYER_RG2RGB_EA: int -COLOR_BAYER_RG2RGB_VNG: int -COLOR_BGR2BGR555: int -COLOR_BGR2BGR565: int -COLOR_BGR2BGRA: int -COLOR_BGR2GRAY: int -COLOR_BGR2HLS: int -COLOR_BGR2HLS_FULL: int -COLOR_BGR2HSV: int -COLOR_BGR2HSV_FULL: int -COLOR_BGR2LAB: int -COLOR_BGR2LUV: int -COLOR_BGR2Lab: int -COLOR_BGR2Luv: int -COLOR_BGR2RGB: int -COLOR_BGR2RGBA: int -COLOR_BGR2XYZ: int -COLOR_BGR2YCR_CB: int -COLOR_BGR2YCrCb: int -COLOR_BGR2YUV: int -COLOR_BGR2YUV_I420: int -COLOR_BGR2YUV_IYUV: int -COLOR_BGR2YUV_YV12: int -COLOR_BGR5552BGR: int -COLOR_BGR5552BGRA: int -COLOR_BGR5552GRAY: int -COLOR_BGR5552RGB: int -COLOR_BGR5552RGBA: int -COLOR_BGR5652BGR: int -COLOR_BGR5652BGRA: int -COLOR_BGR5652GRAY: int -COLOR_BGR5652RGB: int -COLOR_BGR5652RGBA: int -COLOR_BGRA2BGR: int -COLOR_BGRA2BGR555: int -COLOR_BGRA2BGR565: int -COLOR_BGRA2GRAY: int -COLOR_BGRA2RGB: int -COLOR_BGRA2RGBA: int -COLOR_BGRA2YUV_I420: int -COLOR_BGRA2YUV_IYUV: int -COLOR_BGRA2YUV_YV12: int -COLOR_BayerBG2BGR: int -COLOR_BayerBG2BGRA: int -COLOR_BayerBG2BGR_EA: int -COLOR_BayerBG2BGR_VNG: int -COLOR_BayerBG2GRAY: int -COLOR_BayerBG2RGB: int -COLOR_BayerBG2RGBA: int -COLOR_BayerBG2RGB_EA: int -COLOR_BayerBG2RGB_VNG: int -COLOR_BayerGB2BGR: int -COLOR_BayerGB2BGRA: int -COLOR_BayerGB2BGR_EA: int -COLOR_BayerGB2BGR_VNG: int -COLOR_BayerGB2GRAY: int -COLOR_BayerGB2RGB: int -COLOR_BayerGB2RGBA: int -COLOR_BayerGB2RGB_EA: int -COLOR_BayerGB2RGB_VNG: int -COLOR_BayerGR2BGR: int -COLOR_BayerGR2BGRA: int -COLOR_BayerGR2BGR_EA: int -COLOR_BayerGR2BGR_VNG: int -COLOR_BayerGR2GRAY: int -COLOR_BayerGR2RGB: int -COLOR_BayerGR2RGBA: int -COLOR_BayerGR2RGB_EA: int -COLOR_BayerGR2RGB_VNG: int -COLOR_BayerRG2BGR: int -COLOR_BayerRG2BGRA: int -COLOR_BayerRG2BGR_EA: int -COLOR_BayerRG2BGR_VNG: int -COLOR_BayerRG2GRAY: int -COLOR_BayerRG2RGB: int -COLOR_BayerRG2RGBA: int -COLOR_BayerRG2RGB_EA: int -COLOR_BayerRG2RGB_VNG: int -COLOR_COLORCVT_MAX: int -COLOR_GRAY2BGR: int -COLOR_GRAY2BGR555: int -COLOR_GRAY2BGR565: int -COLOR_GRAY2BGRA: int -COLOR_GRAY2RGB: int -COLOR_GRAY2RGBA: int -COLOR_HLS2BGR: int -COLOR_HLS2BGR_FULL: int -COLOR_HLS2RGB: int -COLOR_HLS2RGB_FULL: int -COLOR_HSV2BGR: int -COLOR_HSV2BGR_FULL: int -COLOR_HSV2RGB: int -COLOR_HSV2RGB_FULL: int -COLOR_LAB2BGR: int -COLOR_LAB2LBGR: int -COLOR_LAB2LRGB: int -COLOR_LAB2RGB: int -COLOR_LBGR2LAB: int -COLOR_LBGR2LUV: int -COLOR_LBGR2Lab: int -COLOR_LBGR2Luv: int -COLOR_LRGB2LAB: int -COLOR_LRGB2LUV: int -COLOR_LRGB2Lab: int -COLOR_LRGB2Luv: int -COLOR_LUV2BGR: int -COLOR_LUV2LBGR: int -COLOR_LUV2LRGB: int -COLOR_LUV2RGB: int -COLOR_Lab2BGR: int -COLOR_Lab2LBGR: int -COLOR_Lab2LRGB: int -COLOR_Lab2RGB: int -COLOR_Luv2BGR: int -COLOR_Luv2LBGR: int -COLOR_Luv2LRGB: int -COLOR_Luv2RGB: int -COLOR_M_RGBA2RGBA: int -COLOR_RGB2BGR: int -COLOR_RGB2BGR555: int -COLOR_RGB2BGR565: int -COLOR_RGB2BGRA: int -COLOR_RGB2GRAY: int -COLOR_RGB2HLS: int -COLOR_RGB2HLS_FULL: int -COLOR_RGB2HSV: int -COLOR_RGB2HSV_FULL: int -COLOR_RGB2LAB: int -COLOR_RGB2LUV: int -COLOR_RGB2Lab: int -COLOR_RGB2Luv: int -COLOR_RGB2RGBA: int -COLOR_RGB2XYZ: int -COLOR_RGB2YCR_CB: int -COLOR_RGB2YCrCb: int -COLOR_RGB2YUV: int -COLOR_RGB2YUV_I420: int -COLOR_RGB2YUV_IYUV: int -COLOR_RGB2YUV_YV12: int -COLOR_RGBA2BGR: int -COLOR_RGBA2BGR555: int -COLOR_RGBA2BGR565: int -COLOR_RGBA2BGRA: int -COLOR_RGBA2GRAY: int -COLOR_RGBA2M_RGBA: int -COLOR_RGBA2RGB: int -COLOR_RGBA2YUV_I420: int -COLOR_RGBA2YUV_IYUV: int -COLOR_RGBA2YUV_YV12: int -COLOR_RGBA2mRGBA: int -COLOR_XYZ2BGR: int -COLOR_XYZ2RGB: int -COLOR_YCR_CB2BGR: int -COLOR_YCR_CB2RGB: int -COLOR_YCrCb2BGR: int -COLOR_YCrCb2RGB: int -COLOR_YUV2BGR: int -COLOR_YUV2BGRA_I420: int -COLOR_YUV2BGRA_IYUV: int -COLOR_YUV2BGRA_NV12: int -COLOR_YUV2BGRA_NV21: int -COLOR_YUV2BGRA_UYNV: int -COLOR_YUV2BGRA_UYVY: int -COLOR_YUV2BGRA_Y422: int -COLOR_YUV2BGRA_YUNV: int -COLOR_YUV2BGRA_YUY2: int -COLOR_YUV2BGRA_YUYV: int -COLOR_YUV2BGRA_YV12: int -COLOR_YUV2BGRA_YVYU: int -COLOR_YUV2BGR_I420: int -COLOR_YUV2BGR_IYUV: int -COLOR_YUV2BGR_NV12: int -COLOR_YUV2BGR_NV21: int -COLOR_YUV2BGR_UYNV: int -COLOR_YUV2BGR_UYVY: int -COLOR_YUV2BGR_Y422: int -COLOR_YUV2BGR_YUNV: int -COLOR_YUV2BGR_YUY2: int -COLOR_YUV2BGR_YUYV: int -COLOR_YUV2BGR_YV12: int -COLOR_YUV2BGR_YVYU: int -COLOR_YUV2GRAY_420: int -COLOR_YUV2GRAY_I420: int -COLOR_YUV2GRAY_IYUV: int -COLOR_YUV2GRAY_NV12: int -COLOR_YUV2GRAY_NV21: int -COLOR_YUV2GRAY_UYNV: int -COLOR_YUV2GRAY_UYVY: int -COLOR_YUV2GRAY_Y422: int -COLOR_YUV2GRAY_YUNV: int -COLOR_YUV2GRAY_YUY2: int -COLOR_YUV2GRAY_YUYV: int -COLOR_YUV2GRAY_YV12: int -COLOR_YUV2GRAY_YVYU: int -COLOR_YUV2RGB: int -COLOR_YUV2RGBA_I420: int -COLOR_YUV2RGBA_IYUV: int -COLOR_YUV2RGBA_NV12: int -COLOR_YUV2RGBA_NV21: int -COLOR_YUV2RGBA_UYNV: int -COLOR_YUV2RGBA_UYVY: int -COLOR_YUV2RGBA_Y422: int -COLOR_YUV2RGBA_YUNV: int -COLOR_YUV2RGBA_YUY2: int -COLOR_YUV2RGBA_YUYV: int -COLOR_YUV2RGBA_YV12: int -COLOR_YUV2RGBA_YVYU: int -COLOR_YUV2RGB_I420: int -COLOR_YUV2RGB_IYUV: int -COLOR_YUV2RGB_NV12: int -COLOR_YUV2RGB_NV21: int -COLOR_YUV2RGB_UYNV: int -COLOR_YUV2RGB_UYVY: int -COLOR_YUV2RGB_Y422: int -COLOR_YUV2RGB_YUNV: int -COLOR_YUV2RGB_YUY2: int -COLOR_YUV2RGB_YUYV: int -COLOR_YUV2RGB_YV12: int -COLOR_YUV2RGB_YVYU: int -COLOR_YUV420P2BGR: int -COLOR_YUV420P2BGRA: int -COLOR_YUV420P2GRAY: int -COLOR_YUV420P2RGB: int -COLOR_YUV420P2RGBA: int -COLOR_YUV420SP2BGR: int -COLOR_YUV420SP2BGRA: int -COLOR_YUV420SP2GRAY: int -COLOR_YUV420SP2RGB: int -COLOR_YUV420SP2RGBA: int -COLOR_YUV420p2BGR: int -COLOR_YUV420p2BGRA: int -COLOR_YUV420p2GRAY: int -COLOR_YUV420p2RGB: int -COLOR_YUV420p2RGBA: int -COLOR_YUV420sp2BGR: int -COLOR_YUV420sp2BGRA: int -COLOR_YUV420sp2GRAY: int -COLOR_YUV420sp2RGB: int -COLOR_YUV420sp2RGBA: int -COLOR_mRGBA2RGBA: int -CONTOURS_MATCH_I1: int -CONTOURS_MATCH_I2: int -CONTOURS_MATCH_I3: int -COVAR_COLS: int -COVAR_NORMAL: int -COVAR_ROWS: int -COVAR_SCALE: int -COVAR_SCRAMBLED: int -COVAR_USE_AVG: int -CV_16S: int -CV_16SC1: int -CV_16SC2: int -CV_16SC3: int -CV_16SC4: int -CV_16U: int -CV_16UC1: int -CV_16UC2: int -CV_16UC3: int -CV_16UC4: int -CV_32F: int -CV_32FC1: int -CV_32FC2: int -CV_32FC3: int -CV_32FC4: int -CV_32S: int -CV_32SC1: int -CV_32SC2: int -CV_32SC3: int -CV_32SC4: int -CV_64F: int -CV_64FC1: int -CV_64FC2: int -CV_64FC3: int -CV_64FC4: int -CV_8S: int -CV_8SC1: int -CV_8SC2: int -CV_8SC3: int -CV_8SC4: int -CV_8U: int -CV_8UC1: int -CV_8UC2: int -CV_8UC3: int -CV_8UC4: int -CalibrateCRF = _mod_cv2.CalibrateCRF -CalibrateDebevec = _mod_cv2.CalibrateDebevec -CalibrateRobertson = _mod_cv2.CalibrateRobertson -def CamShift(probImage, window, criteria) -> typing.Any: - 'CamShift(probImage, window, criteria) -> retval, window\n. @brief Finds an object center, size, and orientation.\n. \n. @param probImage Back projection of the object histogram. See calcBackProject.\n. @param window Initial search window.\n. @param criteria Stop criteria for the underlying meanShift.\n. returns\n. (in old interfaces) Number of iterations CAMSHIFT took to converge\n. The function implements the CAMSHIFT object tracking algorithm @cite Bradski98 . First, it finds an\n. object center using meanShift and then adjusts the window size and finds the optimal rotation. The\n. function returns the rotated rectangle structure that includes the object position, size, and\n. orientation. The next position of the search window can be obtained with RotatedRect::boundingRect()\n. \n. See the OpenCV sample camshiftdemo.c that tracks colored objects.\n. \n. @note\n. - (Python) A sample explaining the camshift tracking algorithm can be found at\n. opencv_source_code/samples/python/camshift.py' - ... - -def Canny(image: Mat, threshold1, threshold2, edges=..., apertureSize=..., L2gradient=...) -> typing.Any: - 'Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient]]]) -> edges\n. @brief Finds edges in an image using the Canny algorithm @cite Canny86 .\n. \n. The function finds edges in the input image and marks them in the output map edges using the\n. Canny algorithm. The smallest value between threshold1 and threshold2 is used for edge linking. The\n. largest value is used to find initial segments of strong edges. See\n. \n. \n. @param image 8-bit input image.\n. @param edges output edge map; single channels 8-bit image, which has the same size as image .\n. @param threshold1 first threshold for the hysteresis procedure.\n. @param threshold2 second threshold for the hysteresis procedure.\n. @param apertureSize aperture size for the Sobel operator.\n. @param L2gradient a flag, indicating whether a more accurate \\f$L_2\\f$ norm\n. \\f$=\\sqrt{(dI/dx)^2 + (dI/dy)^2}\\f$ should be used to calculate the image gradient magnitude (\n. L2gradient=true ), or whether the default \\f$L_1\\f$ norm \\f$=|dI/dx|+|dI/dy|\\f$ is enough (\n. L2gradient=false ).\n\n\n\nCanny(dx, dy, threshold1, threshold2[, edges[, L2gradient]]) -> edges\n. \\overload\n. \n. Finds edges in an image using the Canny algorithm with custom image gradient.\n. \n. @param dx 16-bit x derivative of input image (CV_16SC1 or CV_16SC3).\n. @param dy 16-bit y derivative of input image (same type as dx).\n. @param edges output edge map; single channels 8-bit image, which has the same size as image .\n. @param threshold1 first threshold for the hysteresis procedure.\n. @param threshold2 second threshold for the hysteresis procedure.\n. @param L2gradient a flag, indicating whether a more accurate \\f$L_2\\f$ norm\n. \\f$=\\sqrt{(dI/dx)^2 + (dI/dy)^2}\\f$ should be used to calculate the image gradient magnitude (\n. L2gradient=true ), or whether the default \\f$L_1\\f$ norm \\f$=|dI/dx|+|dI/dy|\\f$ is enough (\n. L2gradient=false ).' - ... - -CascadeClassifier = _mod_cv2.CascadeClassifier -def CascadeClassifier_convert(oldcascade, newcascade) -> typing.Any: - 'CascadeClassifier_convert(oldcascade, newcascade) -> retval\n.' - ... - -CirclesGridFinderParameters = _mod_cv2.CirclesGridFinderParameters -CirclesGridFinderParameters_ASYMMETRIC_GRID: int -CirclesGridFinderParameters_SYMMETRIC_GRID: int -DCT_INVERSE: int -DCT_ROWS: int -DECOMP_CHOLESKY: int -DECOMP_EIG: int -DECOMP_LU: int -DECOMP_NORMAL: int -DECOMP_QR: int -DECOMP_SVD: int -DESCRIPTOR_MATCHER_BRUTEFORCE: int -DESCRIPTOR_MATCHER_BRUTEFORCE_HAMMING: int -DESCRIPTOR_MATCHER_BRUTEFORCE_HAMMINGLUT: int -DESCRIPTOR_MATCHER_BRUTEFORCE_L1: int -DESCRIPTOR_MATCHER_BRUTEFORCE_SL2: int -DESCRIPTOR_MATCHER_FLANNBASED: int -DFT_COMPLEX_INPUT: int -DFT_COMPLEX_OUTPUT: int -DFT_INVERSE: int -DFT_REAL_OUTPUT: int -DFT_ROWS: int -DFT_SCALE: int -DISOPTICAL_FLOW_PRESET_FAST: int -DISOPTICAL_FLOW_PRESET_MEDIUM: int -DISOPTICAL_FLOW_PRESET_ULTRAFAST: int -DISOpticalFlow = _mod_cv2.DISOpticalFlow -DISOpticalFlow_PRESET_FAST: int -DISOpticalFlow_PRESET_MEDIUM: int -DISOpticalFlow_PRESET_ULTRAFAST: int -def DISOpticalFlow_create(preset=...) -> typing.Any: - 'DISOpticalFlow_create([, preset]) -> retval\n. @brief Creates an instance of DISOpticalFlow\n. \n. @param preset one of PRESET_ULTRAFAST, PRESET_FAST and PRESET_MEDIUM' - ... - -DIST_C: int -DIST_FAIR: int -DIST_HUBER: int -DIST_L1: int -DIST_L12: int -DIST_L2: int -DIST_LABEL_CCOMP: int -DIST_LABEL_PIXEL: int -DIST_MASK_3: int -DIST_MASK_5: int -DIST_MASK_PRECISE: int -DIST_USER: int -DIST_WELSCH: int -DMatch = _mod_cv2.DMatch -DRAW_MATCHES_FLAGS_DEFAULT: int -DRAW_MATCHES_FLAGS_DRAW_OVER_OUTIMG: int -DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS: int -DRAW_MATCHES_FLAGS_NOT_DRAW_SINGLE_POINTS: int -DenseOpticalFlow = _mod_cv2.DenseOpticalFlow -DescriptorMatcher = _mod_cv2.DescriptorMatcher -DescriptorMatcher_BRUTEFORCE: int -DescriptorMatcher_BRUTEFORCE_HAMMING: int -DescriptorMatcher_BRUTEFORCE_HAMMINGLUT: int -DescriptorMatcher_BRUTEFORCE_L1: int -DescriptorMatcher_BRUTEFORCE_SL2: int -DescriptorMatcher_FLANNBASED: int -def DescriptorMatcher_create(descriptorMatcherType) -> typing.Any: - 'DescriptorMatcher_create(descriptorMatcherType) -> retval\n. @brief Creates a descriptor matcher of a given type with the default parameters (using default\n. constructor).\n. \n. @param descriptorMatcherType Descriptor matcher type. Now the following matcher types are\n. supported:\n. - `BruteForce` (it uses L2 )\n. - `BruteForce-L1`\n. - `BruteForce-Hamming`\n. - `BruteForce-Hamming(2)`\n. - `FlannBased`\n\n\n\nDescriptorMatcher_create(matcherType) -> retval\n.' - ... - -DrawMatchesFlags_DEFAULT: int -DrawMatchesFlags_DRAW_OVER_OUTIMG: int -DrawMatchesFlags_DRAW_RICH_KEYPOINTS: int -DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS: int -def EMD(signature1, signature2, distType, cost=..., lowerBound=..., flow=...) -> typing.Any: - 'EMD(signature1, signature2, distType[, cost[, lowerBound[, flow]]]) -> retval, lowerBound, flow\n. @brief Computes the "minimal work" distance between two weighted point configurations.\n. \n. The function computes the earth mover distance and/or a lower boundary of the distance between the\n. two weighted point configurations. One of the applications described in @cite RubnerSept98,\n. @cite Rubner2000 is multi-dimensional histogram comparison for image retrieval. EMD is a transportation\n. problem that is solved using some modification of a simplex algorithm, thus the complexity is\n. exponential in the worst case, though, on average it is much faster. In the case of a real metric\n. the lower boundary can be calculated even faster (using linear-time algorithm) and it can be used\n. to determine roughly whether the two signatures are far enough so that they cannot relate to the\n. same object.\n. \n. @param signature1 First signature, a \\f$\\texttt{size1}\\times \\texttt{dims}+1\\f$ floating-point matrix.\n. Each row stores the point weight followed by the point coordinates. The matrix is allowed to have\n. a single column (weights only) if the user-defined cost matrix is used. The weights must be\n. non-negative and have at least one non-zero value.\n. @param signature2 Second signature of the same format as signature1 , though the number of rows\n. may be different. The total weights may be different. In this case an extra "dummy" point is added\n. to either signature1 or signature2. The weights must be non-negative and have at least one non-zero\n. value.\n. @param distType Used metric. See #DistanceTypes.\n. @param cost User-defined \\f$\\texttt{size1}\\times \\texttt{size2}\\f$ cost matrix. Also, if a cost matrix\n. is used, lower boundary lowerBound cannot be calculated because it needs a metric function.\n. @param lowerBound Optional input/output parameter: lower boundary of a distance between the two\n. signatures that is a distance between mass centers. The lower boundary may not be calculated if\n. the user-defined cost matrix is used, the total weights of point configurations are not equal, or\n. if the signatures consist of weights only (the signature matrices have a single column). You\n. **must** initialize \\*lowerBound . If the calculated distance between mass centers is greater or\n. equal to \\*lowerBound (it means that the signatures are far enough), the function does not\n. calculate EMD. In any case \\*lowerBound is set to the calculated distance between mass centers on\n. return. Thus, if you want to calculate both distance between mass centers and EMD, \\*lowerBound\n. should be set to 0.\n. @param flow Resultant \\f$\\texttt{size1} \\times \\texttt{size2}\\f$ flow matrix: \\f$\\texttt{flow}_{i,j}\\f$ is\n. a flow from \\f$i\\f$ -th point of signature1 to \\f$j\\f$ -th point of signature2 .' - ... - -EVENT_FLAG_ALTKEY: int -EVENT_FLAG_CTRLKEY: int -EVENT_FLAG_LBUTTON: int -EVENT_FLAG_MBUTTON: int -EVENT_FLAG_RBUTTON: int -EVENT_FLAG_SHIFTKEY: int -EVENT_LBUTTONDBLCLK: int -EVENT_LBUTTONDOWN: int -EVENT_LBUTTONUP: int -EVENT_MBUTTONDBLCLK: int -EVENT_MBUTTONDOWN: int -EVENT_MBUTTONUP: int -EVENT_MOUSEHWHEEL: int -EVENT_MOUSEMOVE: int -EVENT_MOUSEWHEEL: int -EVENT_RBUTTONDBLCLK: int -EVENT_RBUTTONDOWN: int -EVENT_RBUTTONUP: int -FAST_FEATURE_DETECTOR_FAST_N: int -FAST_FEATURE_DETECTOR_NONMAX_SUPPRESSION: int -FAST_FEATURE_DETECTOR_THRESHOLD: int -FAST_FEATURE_DETECTOR_TYPE_5_8: int -FAST_FEATURE_DETECTOR_TYPE_7_12: int -FAST_FEATURE_DETECTOR_TYPE_9_16: int -FILE_NODE_EMPTY: int -FILE_NODE_FLOAT: int -FILE_NODE_FLOW: int -FILE_NODE_INT: int -FILE_NODE_MAP: int -FILE_NODE_NAMED: int -FILE_NODE_NONE: int -FILE_NODE_REAL: int -FILE_NODE_SEQ: int -FILE_NODE_STR: int -FILE_NODE_STRING: int -FILE_NODE_TYPE_MASK: int -FILE_NODE_UNIFORM: int -FILE_STORAGE_APPEND: int -FILE_STORAGE_BASE64: int -FILE_STORAGE_FORMAT_AUTO: int -FILE_STORAGE_FORMAT_JSON: int -FILE_STORAGE_FORMAT_MASK: int -FILE_STORAGE_FORMAT_XML: int -FILE_STORAGE_FORMAT_YAML: int -FILE_STORAGE_INSIDE_MAP: int -FILE_STORAGE_MEMORY: int -FILE_STORAGE_NAME_EXPECTED: int -FILE_STORAGE_READ: int -FILE_STORAGE_UNDEFINED: int -FILE_STORAGE_VALUE_EXPECTED: int -FILE_STORAGE_WRITE: int -FILE_STORAGE_WRITE_BASE64: int -FILLED: int -FILTER_SCHARR: int -FLOODFILL_FIXED_RANGE: int -FLOODFILL_MASK_ONLY: int -FM_7POINT: int -FM_8POINT: int -FM_LMEDS: int -FM_RANSAC: int -FONT_HERSHEY_COMPLEX: int -FONT_HERSHEY_COMPLEX_SMALL: int -FONT_HERSHEY_DUPLEX: int -FONT_HERSHEY_PLAIN: int -FONT_HERSHEY_SCRIPT_COMPLEX: int -FONT_HERSHEY_SCRIPT_SIMPLEX: int -FONT_HERSHEY_SIMPLEX: int -FONT_HERSHEY_TRIPLEX: int -FONT_ITALIC: int -FORMATTER_FMT_C: int -FORMATTER_FMT_CSV: int -FORMATTER_FMT_DEFAULT: int -FORMATTER_FMT_MATLAB: int -FORMATTER_FMT_NUMPY: int -FORMATTER_FMT_PYTHON: int -FarnebackOpticalFlow = _mod_cv2.FarnebackOpticalFlow -def FarnebackOpticalFlow_create(numLevels=..., pyrScale=..., fastPyramids=..., winSize=..., numIters=..., polyN=..., polySigma=..., flags: int = ...) -> typing.Any: - 'FarnebackOpticalFlow_create([, numLevels[, pyrScale[, fastPyramids[, winSize[, numIters[, polyN[, polySigma[, flags]]]]]]]]) -> retval\n.' - ... - -FastFeatureDetector = _mod_cv2.FastFeatureDetector -FastFeatureDetector_FAST_N: int -FastFeatureDetector_NONMAX_SUPPRESSION: int -FastFeatureDetector_THRESHOLD: int -FastFeatureDetector_TYPE_5_8: int -FastFeatureDetector_TYPE_7_12: int -FastFeatureDetector_TYPE_9_16: int -def FastFeatureDetector_create(threshold=..., nonmaxSuppression=..., type=...) -> typing.Any: - 'FastFeatureDetector_create([, threshold[, nonmaxSuppression[, type]]]) -> retval\n.' - ... - -Feature2D = _mod_cv2.Feature2D -FileNode = _mod_cv2.FileNode -FileNode_EMPTY: int -FileNode_FLOAT: int -FileNode_FLOW: int -FileNode_INT: int -FileNode_MAP: int -FileNode_NAMED: int -FileNode_NONE: int -FileNode_REAL: int -FileNode_SEQ: int -FileNode_STR: int -FileNode_STRING: int -FileNode_TYPE_MASK: int -FileNode_UNIFORM: int -FileStorage = _mod_cv2.FileStorage -FileStorage_APPEND: int -FileStorage_BASE64: int -FileStorage_FORMAT_AUTO: int -FileStorage_FORMAT_JSON: int -FileStorage_FORMAT_MASK: int -FileStorage_FORMAT_XML: int -FileStorage_FORMAT_YAML: int -FileStorage_INSIDE_MAP: int -FileStorage_MEMORY: int -FileStorage_NAME_EXPECTED: int -FileStorage_READ: int -FileStorage_UNDEFINED: int -FileStorage_VALUE_EXPECTED: int -FileStorage_WRITE: int -FileStorage_WRITE_BASE64: int -FlannBasedMatcher = _mod_cv2.FlannBasedMatcher -def FlannBasedMatcher_create() -> typing.Any: - 'FlannBasedMatcher_create() -> retval\n.' - ... - -Formatter_FMT_C: int -Formatter_FMT_CSV: int -Formatter_FMT_DEFAULT: int -Formatter_FMT_MATLAB: int -Formatter_FMT_NUMPY: int -Formatter_FMT_PYTHON: int -GC_BGD: int -GC_EVAL: int -GC_EVAL_FREEZE_MODEL: int -GC_FGD: int -GC_INIT_WITH_MASK: int -GC_INIT_WITH_RECT: int -GC_PR_BGD: int -GC_PR_FGD: int -GEMM_1_T: int -GEMM_2_T: int -GEMM_3_T: int -GFTTDetector = _mod_cv2.GFTTDetector -def GFTTDetector_create(maxCorners=..., qualityLevel=..., minDistance=..., blockSize=..., useHarrisDetector=..., k=...) -> typing.Any: - 'GFTTDetector_create([, maxCorners[, qualityLevel[, minDistance[, blockSize[, useHarrisDetector[, k]]]]]]) -> retval\n. \n\n\n\nGFTTDetector_create(maxCorners, qualityLevel, minDistance, blockSize, gradiantSize[, useHarrisDetector[, k]]) -> retval\n.' - ... - -def GaussianBlur(src: Mat, ksize, sigmaX, dts: Mat = ..., sigmaY=..., borderType=...) -> typing.Any: - "GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType]]]) -> dst\n. @brief Blurs an image using a Gaussian filter.\n. \n. The function convolves the source image with the specified Gaussian kernel. In-place filtering is\n. supported.\n. \n. @param src input image; the image can have any number of channels, which are processed\n. independently, but the depth should be CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.\n. @param dst output image of the same size and type as src.\n. @param ksize Gaussian kernel size. ksize.width and ksize.height can differ but they both must be\n. positive and odd. Or, they can be zero's and then they are computed from sigma.\n. @param sigmaX Gaussian kernel standard deviation in X direction.\n. @param sigmaY Gaussian kernel standard deviation in Y direction; if sigmaY is zero, it is set to be\n. equal to sigmaX, if both sigmas are zeros, they are computed from ksize.width and ksize.height,\n. respectively (see #getGaussianKernel for details); to fully control the result regardless of\n. possible future modifications of all this semantics, it is recommended to specify all of ksize,\n. sigmaX, and sigmaY.\n. @param borderType pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not supported.\n. \n. @sa sepFilter2D, filter2D, blur, boxFilter, bilateralFilter, medianBlur" - ... - -GeneralizedHough = _mod_cv2.GeneralizedHough -GeneralizedHoughBallard = _mod_cv2.GeneralizedHoughBallard -GeneralizedHoughGuil = _mod_cv2.GeneralizedHoughGuil -HISTCMP_BHATTACHARYYA: int -HISTCMP_CHISQR: int -HISTCMP_CHISQR_ALT: int -HISTCMP_CORREL: int -HISTCMP_HELLINGER: int -HISTCMP_INTERSECT: int -HISTCMP_KL_DIV: int -HOGDESCRIPTOR_DEFAULT_NLEVELS: int -HOGDESCRIPTOR_DESCR_FORMAT_COL_BY_COL: int -HOGDESCRIPTOR_DESCR_FORMAT_ROW_BY_ROW: int -HOGDESCRIPTOR_L2HYS: int -HOGDescriptor = _mod_cv2.HOGDescriptor -HOGDescriptor_DEFAULT_NLEVELS: int -HOGDescriptor_DESCR_FORMAT_COL_BY_COL: int -HOGDescriptor_DESCR_FORMAT_ROW_BY_ROW: int -HOGDescriptor_L2Hys: int -def HOGDescriptor_getDaimlerPeopleDetector() -> typing.Any: - 'HOGDescriptor_getDaimlerPeopleDetector() -> retval\n. @brief Returns coefficients of the classifier trained for people detection (for 48x96 windows).' - ... - -def HOGDescriptor_getDefaultPeopleDetector() -> typing.Any: - 'HOGDescriptor_getDefaultPeopleDetector() -> retval\n. @brief Returns coefficients of the classifier trained for people detection (for 64x128 windows).' - ... - -HOUGH_GRADIENT: int -HOUGH_GRADIENT_ALT: int -HOUGH_MULTI_SCALE: int -HOUGH_PROBABILISTIC: int -HOUGH_STANDARD: int -def HoughCircles(image: Mat, method: int, dp, minDist, circles=..., param1=..., param2=..., minRadius=..., maxRadius=...) -> typing.Any: - 'HoughCircles(image, method, dp, minDist[, circles[, param1[, param2[, minRadius[, maxRadius]]]]]) -> circles\n. @brief Finds circles in a grayscale image using the Hough transform.\n. \n. The function finds circles in a grayscale image using a modification of the Hough transform.\n. \n. Example: :\n. @include snippets/imgproc_HoughLinesCircles.cpp\n. \n. @note Usually the function detects the centers of circles well. However, it may fail to find correct\n. radii. You can assist to the function by specifying the radius range ( minRadius and maxRadius ) if\n. you know it. Or, in the case of #HOUGH_GRADIENT method you may set maxRadius to a negative number\n. to return centers only without radius search, and find the correct radius using an additional procedure.\n. \n. It also helps to smooth image a bit unless it\'s already soft. For example,\n. GaussianBlur() with 7x7 kernel and 1.5x1.5 sigma or similar blurring may help.\n. \n. @param image 8-bit, single-channel, grayscale input image.\n. @param circles Output vector of found circles. Each vector is encoded as 3 or 4 element\n. floating-point vector \\f$(x, y, radius)\\f$ or \\f$(x, y, radius, votes)\\f$ .\n. @param method Detection method, see #HoughModes. The available methods are #HOUGH_GRADIENT and #HOUGH_GRADIENT_ALT.\n. @param dp Inverse ratio of the accumulator resolution to the image resolution. For example, if\n. dp=1 , the accumulator has the same resolution as the input image. If dp=2 , the accumulator has\n. half as big width and height. For #HOUGH_GRADIENT_ALT the recommended value is dp=1.5,\n. unless some small very circles need to be detected.\n. @param minDist Minimum distance between the centers of the detected circles. If the parameter is\n. too small, multiple neighbor circles may be falsely detected in addition to a true one. If it is\n. too large, some circles may be missed.\n. @param param1 First method-specific parameter. In case of #HOUGH_GRADIENT and #HOUGH_GRADIENT_ALT,\n. it is the higher threshold of the two passed to the Canny edge detector (the lower one is twice smaller).\n. Note that #HOUGH_GRADIENT_ALT uses #Scharr algorithm to compute image derivatives, so the threshold value\n. shough normally be higher, such as 300 or normally exposed and contrasty images.\n. @param param2 Second method-specific parameter. In case of #HOUGH_GRADIENT, it is the\n. accumulator threshold for the circle centers at the detection stage. The smaller it is, the more\n. false circles may be detected. Circles, corresponding to the larger accumulator values, will be\n. returned first. In the case of #HOUGH_GRADIENT_ALT algorithm, this is the circle "perfectness" measure.\n. The closer it to 1, the better shaped circles algorithm selects. In most cases 0.9 should be fine.\n. If you want get better detection of small circles, you may decrease it to 0.85, 0.8 or even less.\n. But then also try to limit the search range [minRadius, maxRadius] to avoid many false circles.\n. @param minRadius Minimum circle radius.\n. @param maxRadius Maximum circle radius. If <= 0, uses the maximum image dimension. If < 0, #HOUGH_GRADIENT returns\n. centers without finding the radius. #HOUGH_GRADIENT_ALT always computes circle radiuses.\n. \n. @sa fitEllipse, minEnclosingCircle' - ... - -def HoughLines(image: Mat, rho, theta, threshold, lines=..., srn=..., stn=..., min_theta=..., max_theta=...) -> typing.Any: - 'HoughLines(image, rho, theta, threshold[, lines[, srn[, stn[, min_theta[, max_theta]]]]]) -> lines\n. @brief Finds lines in a binary image using the standard Hough transform.\n. \n. The function implements the standard or standard multi-scale Hough transform algorithm for line\n. detection. See for a good explanation of Hough\n. transform.\n. \n. @param image 8-bit, single-channel binary source image. The image may be modified by the function.\n. @param lines Output vector of lines. Each line is represented by a 2 or 3 element vector\n. \\f$(\\rho, \\theta)\\f$ or \\f$(\\rho, \\theta, \\textrm{votes})\\f$ . \\f$\\rho\\f$ is the distance from the coordinate origin \\f$(0,0)\\f$ (top-left corner of\n. the image). \\f$\\theta\\f$ is the line rotation angle in radians (\n. \\f$0 \\sim \\textrm{vertical line}, \\pi/2 \\sim \\textrm{horizontal line}\\f$ ).\n. \\f$\\textrm{votes}\\f$ is the value of accumulator.\n. @param rho Distance resolution of the accumulator in pixels.\n. @param theta Angle resolution of the accumulator in radians.\n. @param threshold Accumulator threshold parameter. Only those lines are returned that get enough\n. votes ( \\f$>\\texttt{threshold}\\f$ ).\n. @param srn For the multi-scale Hough transform, it is a divisor for the distance resolution rho .\n. The coarse accumulator distance resolution is rho and the accurate accumulator resolution is\n. rho/srn . If both srn=0 and stn=0 , the classical Hough transform is used. Otherwise, both these\n. parameters should be positive.\n. @param stn For the multi-scale Hough transform, it is a divisor for the distance resolution theta.\n. @param min_theta For standard and multi-scale Hough transform, minimum angle to check for lines.\n. Must fall between 0 and max_theta.\n. @param max_theta For standard and multi-scale Hough transform, maximum angle to check for lines.\n. Must fall between min_theta and CV_PI.' - ... - -def HoughLinesP(image: Mat, rho, theta, threshold, lines=..., minLineLength=..., maxLineGap=...) -> typing.Any: - 'HoughLinesP(image, rho, theta, threshold[, lines[, minLineLength[, maxLineGap]]]) -> lines\n. @brief Finds line segments in a binary image using the probabilistic Hough transform.\n. \n. The function implements the probabilistic Hough transform algorithm for line detection, described\n. in @cite Matas00\n. \n. See the line detection example below:\n. @include snippets/imgproc_HoughLinesP.cpp\n. This is a sample picture the function parameters have been tuned for:\n. \n. ![image](pics/building.jpg)\n. \n. And this is the output of the above program in case of the probabilistic Hough transform:\n. \n. ![image](pics/houghp.png)\n. \n. @param image 8-bit, single-channel binary source image. The image may be modified by the function.\n. @param lines Output vector of lines. Each line is represented by a 4-element vector\n. \\f$(x_1, y_1, x_2, y_2)\\f$ , where \\f$(x_1,y_1)\\f$ and \\f$(x_2, y_2)\\f$ are the ending points of each detected\n. line segment.\n. @param rho Distance resolution of the accumulator in pixels.\n. @param theta Angle resolution of the accumulator in radians.\n. @param threshold Accumulator threshold parameter. Only those lines are returned that get enough\n. votes ( \\f$>\\texttt{threshold}\\f$ ).\n. @param minLineLength Minimum line length. Line segments shorter than that are rejected.\n. @param maxLineGap Maximum allowed gap between points on the same line to link them.\n. \n. @sa LineSegmentDetector' - ... - -def HoughLinesPointSet(_point, lines_max, threshold, min_rho, max_rho, rho_step, min_theta, max_theta, theta_step, _lines=...) -> typing.Any: - "HoughLinesPointSet(_point, lines_max, threshold, min_rho, max_rho, rho_step, min_theta, max_theta, theta_step[, _lines]) -> _lines\n. @brief Finds lines in a set of points using the standard Hough transform.\n. \n. The function finds lines in a set of points using a modification of the Hough transform.\n. @include snippets/imgproc_HoughLinesPointSet.cpp\n. @param _point Input vector of points. Each vector must be encoded as a Point vector \\f$(x,y)\\f$. Type must be CV_32FC2 or CV_32SC2.\n. @param _lines Output vector of found lines. Each vector is encoded as a vector \\f$(votes, rho, theta)\\f$.\n. The larger the value of 'votes', the higher the reliability of the Hough line.\n. @param lines_max Max count of hough lines.\n. @param threshold Accumulator threshold parameter. Only those lines are returned that get enough\n. votes ( \\f$>\\texttt{threshold}\\f$ )\n. @param min_rho Minimum Distance value of the accumulator in pixels.\n. @param max_rho Maximum Distance value of the accumulator in pixels.\n. @param rho_step Distance resolution of the accumulator in pixels.\n. @param min_theta Minimum angle value of the accumulator in radians.\n. @param max_theta Maximum angle value of the accumulator in radians.\n. @param theta_step Angle resolution of the accumulator in radians." - ... - -def HuMoments(m, hu=...) -> typing.Any: - 'HuMoments(m[, hu]) -> hu\n. @overload' - ... - -IMREAD_ANYCOLOR: int -IMREAD_ANYDEPTH: int -IMREAD_COLOR: int -IMREAD_GRAYSCALE: int -IMREAD_IGNORE_ORIENTATION: int -IMREAD_LOAD_GDAL: int -IMREAD_REDUCED_COLOR_2: int -IMREAD_REDUCED_COLOR_4: int -IMREAD_REDUCED_COLOR_8: int -IMREAD_REDUCED_GRAYSCALE_2: int -IMREAD_REDUCED_GRAYSCALE_4: int -IMREAD_REDUCED_GRAYSCALE_8: int -IMREAD_UNCHANGED: int -IMWRITE_EXR_TYPE: int -IMWRITE_EXR_TYPE_FLOAT: int -IMWRITE_EXR_TYPE_HALF: int -IMWRITE_JPEG2000_COMPRESSION_X1000: int -IMWRITE_JPEG_CHROMA_QUALITY: int -IMWRITE_JPEG_LUMA_QUALITY: int -IMWRITE_JPEG_OPTIMIZE: int -IMWRITE_JPEG_PROGRESSIVE: int -IMWRITE_JPEG_QUALITY: int -IMWRITE_JPEG_RST_INTERVAL: int -IMWRITE_PAM_FORMAT_BLACKANDWHITE: int -IMWRITE_PAM_FORMAT_GRAYSCALE: int -IMWRITE_PAM_FORMAT_GRAYSCALE_ALPHA: int -IMWRITE_PAM_FORMAT_NULL: int -IMWRITE_PAM_FORMAT_RGB: int -IMWRITE_PAM_FORMAT_RGB_ALPHA: int -IMWRITE_PAM_TUPLETYPE: int -IMWRITE_PNG_BILEVEL: int -IMWRITE_PNG_COMPRESSION: int -IMWRITE_PNG_STRATEGY: int -IMWRITE_PNG_STRATEGY_DEFAULT: int -IMWRITE_PNG_STRATEGY_FILTERED: int -IMWRITE_PNG_STRATEGY_FIXED: int -IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY: int -IMWRITE_PNG_STRATEGY_RLE: int -IMWRITE_PXM_BINARY: int -IMWRITE_TIFF_COMPRESSION: int -IMWRITE_TIFF_RESUNIT: int -IMWRITE_TIFF_XDPI: int -IMWRITE_TIFF_YDPI: int -IMWRITE_WEBP_QUALITY: int -INPAINT_NS: int -INPAINT_TELEA: int -INTERSECT_FULL: int -INTERSECT_NONE: int -INTERSECT_PARTIAL: int -INTER_AREA: int -INTER_BITS: int -INTER_BITS2: int -INTER_CUBIC: int -INTER_LANCZOS4: int -INTER_LINEAR: int -INTER_LINEAR_EXACT: int -INTER_MAX: int -INTER_NEAREST: int -INTER_TAB_SIZE: int -INTER_TAB_SIZE2: int -KAZE = _mod_cv2.KAZE -KAZE_DIFF_CHARBONNIER: int -KAZE_DIFF_PM_G1: int -KAZE_DIFF_PM_G2: int -KAZE_DIFF_WEICKERT: int -def KAZE_create(extended=..., upright=..., threshold=..., nOctaves=..., nOctaveLayers=..., diffusivity=...) -> typing.Any: - 'KAZE_create([, extended[, upright[, threshold[, nOctaves[, nOctaveLayers[, diffusivity]]]]]]) -> retval\n. @brief The KAZE constructor\n. \n. @param extended Set to enable extraction of extended (128-byte) descriptor.\n. @param upright Set to enable use of upright descriptors (non rotation-invariant).\n. @param threshold Detector response threshold to accept point\n. @param nOctaves Maximum octave evolution of the image\n. @param nOctaveLayers Default number of sublevels per scale level\n. @param diffusivity Diffusivity type. DIFF_PM_G1, DIFF_PM_G2, DIFF_WEICKERT or\n. DIFF_CHARBONNIER' - ... - -KMEANS_PP_CENTERS: int -KMEANS_RANDOM_CENTERS: int -KMEANS_USE_INITIAL_LABELS: int -KalmanFilter = _mod_cv2.KalmanFilter -KeyPoint = _mod_cv2.KeyPoint -def KeyPoint_convert(keypoints, keypointIndexes=...) -> typing.Any: - 'KeyPoint_convert(keypoints[, keypointIndexes]) -> points2f\n. This method converts vector of keypoints to vector of points or the reverse, where each keypoint is\n. assigned the same size and the same orientation.\n. \n. @param keypoints Keypoints obtained from any feature detection algorithm like SIFT/SURF/ORB\n. @param points2f Array of (x,y) coordinates of each keypoint\n. @param keypointIndexes Array of indexes of keypoints to be converted to points. (Acts like a mask to\n. convert only specified keypoints)\n\n\n\nKeyPoint_convert(points2f[, size[, response[, octave[, class_id]]]]) -> keypoints\n. @overload\n. @param points2f Array of (x,y) coordinates of each keypoint\n. @param keypoints Keypoints obtained from any feature detection algorithm like SIFT/SURF/ORB\n. @param size keypoint diameter\n. @param response keypoint detector response on the keypoint (that is, strength of the keypoint)\n. @param octave pyramid octave in which the keypoint has been detected\n. @param class_id object id' - ... - -def KeyPoint_overlap(kp1, kp2) -> typing.Any: - "KeyPoint_overlap(kp1, kp2) -> retval\n. This method computes overlap for pair of keypoints. Overlap is the ratio between area of keypoint\n. regions' intersection and area of keypoint regions' union (considering keypoint region as circle).\n. If they don't overlap, we get zero. If they coincide at same location with same size, we get 1.\n. @param kp1 First keypoint\n. @param kp2 Second keypoint" - ... - -LDR_SIZE: int -LINE_4: int -LINE_8: int -LINE_AA: int -LMEDS: int -LSD_REFINE_ADV: int -LSD_REFINE_NONE: int -LSD_REFINE_STD: int -def LUT(src: Mat, lut, dts: Mat = ...) -> typing.Any: - 'LUT(src, lut[, dst]) -> dst\n. @brief Performs a look-up table transform of an array.\n. \n. The function LUT fills the output array with values from the look-up table. Indices of the entries\n. are taken from the input array. That is, the function processes each element of src as follows:\n. \\f[\\texttt{dst} (I) \\leftarrow \\texttt{lut(src(I) + d)}\\f]\n. where\n. \\f[d = \\fork{0}{if \\(\\texttt{src}\\) has depth \\(\\texttt{CV_8U}\\)}{128}{if \\(\\texttt{src}\\) has depth \\(\\texttt{CV_8S}\\)}\\f]\n. @param src input array of 8-bit elements.\n. @param lut look-up table of 256 elements; in case of multi-channel input array, the table should\n. either have a single channel (in this case the same table is used for all channels) or the same\n. number of channels as in the input array.\n. @param dst output array of the same size and number of channels as src, and the same depth as lut.\n. @sa convertScaleAbs, Mat::convertTo' - ... - -def Laplacian(src: Mat, ddepth, dts: Mat = ..., ksize=..., scale=..., delta=..., borderType=...) -> typing.Any: - 'Laplacian(src, ddepth[, dst[, ksize[, scale[, delta[, borderType]]]]]) -> dst\n. @brief Calculates the Laplacian of an image.\n. \n. The function calculates the Laplacian of the source image by adding up the second x and y\n. derivatives calculated using the Sobel operator:\n. \n. \\f[\\texttt{dst} = \\Delta \\texttt{src} = \\frac{\\partial^2 \\texttt{src}}{\\partial x^2} + \\frac{\\partial^2 \\texttt{src}}{\\partial y^2}\\f]\n. \n. This is done when `ksize > 1`. When `ksize == 1`, the Laplacian is computed by filtering the image\n. with the following \\f$3 \\times 3\\f$ aperture:\n. \n. \\f[\\vecthreethree {0}{1}{0}{1}{-4}{1}{0}{1}{0}\\f]\n. \n. @param src Source image.\n. @param dst Destination image of the same size and the same number of channels as src .\n. @param ddepth Desired depth of the destination image.\n. @param ksize Aperture size used to compute the second-derivative filters. See #getDerivKernels for\n. details. The size must be positive and odd.\n. @param scale Optional scale factor for the computed Laplacian values. By default, no scaling is\n. applied. See #getDerivKernels for details.\n. @param delta Optional delta value that is added to the results prior to storing them in dst .\n. @param borderType Pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not supported.\n. @sa Sobel, Scharr' - ... - -LineSegmentDetector = _mod_cv2.LineSegmentDetector -MARKER_CROSS: int -MARKER_DIAMOND: int -MARKER_SQUARE: int -MARKER_STAR: int -MARKER_TILTED_CROSS: int -MARKER_TRIANGLE_DOWN: int -MARKER_TRIANGLE_UP: int -MAT_AUTO_STEP: int -MAT_CONTINUOUS_FLAG: int -MAT_DEPTH_MASK: int -MAT_MAGIC_MASK: int -MAT_MAGIC_VAL: int -MAT_SUBMATRIX_FLAG: int -MAT_TYPE_MASK: int -MIXED_CLONE: int -MONOCHROME_TRANSFER: int -MORPH_BLACKHAT: int -MORPH_CLOSE: int -MORPH_CROSS: int -MORPH_DILATE: int -MORPH_ELLIPSE: int -MORPH_ERODE: int -MORPH_GRADIENT: int -MORPH_HITMISS: int -MORPH_OPEN: int -MORPH_RECT: int -MORPH_TOPHAT: int -MOTION_AFFINE: int -MOTION_EUCLIDEAN: int -MOTION_HOMOGRAPHY: int -MOTION_TRANSLATION: int -MSER = _mod_cv2.MSER -def MSER_create(_delta=..., _min_area=..., _max_area=..., _max_variation=..., _min_diversity=..., _max_evolution=..., _area_threshold=..., _min_margin=..., _edge_blur_size=...) -> typing.Any: - 'MSER_create([, _delta[, _min_area[, _max_area[, _max_variation[, _min_diversity[, _max_evolution[, _area_threshold[, _min_margin[, _edge_blur_size]]]]]]]]]) -> retval\n. @brief Full constructor for %MSER detector\n. \n. @param _delta it compares \\f$(size_{i}-size_{i-delta})/size_{i-delta}\\f$\n. @param _min_area prune the area which smaller than minArea\n. @param _max_area prune the area which bigger than maxArea\n. @param _max_variation prune the area have similar size to its children\n. @param _min_diversity for color image, trace back to cut off mser with diversity less than min_diversity\n. @param _max_evolution for color image, the evolution steps\n. @param _area_threshold for color image, the area threshold to cause re-initialize\n. @param _min_margin for color image, ignore too small margin\n. @param _edge_blur_size for color image, the aperture size for edge blur' - ... - -def Mahalanobis(v1, v2, icovar) -> typing.Any: - 'Mahalanobis(v1, v2, icovar) -> retval\n. @brief Calculates the Mahalanobis distance between two vectors.\n. \n. The function cv::Mahalanobis calculates and returns the weighted distance between two vectors:\n. \\f[d( \\texttt{vec1} , \\texttt{vec2} )= \\sqrt{\\sum_{i,j}{\\texttt{icovar(i,j)}\\cdot(\\texttt{vec1}(I)-\\texttt{vec2}(I))\\cdot(\\texttt{vec1(j)}-\\texttt{vec2(j)})} }\\f]\n. The covariance matrix may be calculated using the #calcCovarMatrix function and then inverted using\n. the invert function (preferably using the #DECOMP_SVD method, as the most accurate).\n. @param v1 first 1D input vector.\n. @param v2 second 1D input vector.\n. @param icovar inverse covariance matrix.' - ... - -Mat_AUTO_STEP: int -Mat_CONTINUOUS_FLAG: int -Mat_DEPTH_MASK: int -Mat_MAGIC_MASK: int -Mat_MAGIC_VAL: int -Mat_SUBMATRIX_FLAG: int -Mat_TYPE_MASK: int -MergeDebevec = _mod_cv2.MergeDebevec -MergeExposures = _mod_cv2.MergeExposures -MergeMertens = _mod_cv2.MergeMertens -MergeRobertson = _mod_cv2.MergeRobertson -NORMAL_CLONE: int -NORMCONV_FILTER: int -NORM_HAMMING: int -NORM_HAMMING2: int -NORM_INF: int -NORM_L1: int -NORM_L2: int -NORM_L2SQR: int -NORM_MINMAX: int -NORM_RELATIVE: int -NORM_TYPE_MASK: int -OPTFLOW_FARNEBACK_GAUSSIAN: int -OPTFLOW_LK_GET_MIN_EIGENVALS: int -OPTFLOW_USE_INITIAL_FLOW: int -ORB = _mod_cv2.ORB -ORB_FAST_SCORE: int -ORB_HARRIS_SCORE: int -def ORB_create(nfeatures=..., scaleFactor=..., nlevels=..., edgeThreshold=..., firstLevel=..., WTA_K=..., scoreType=..., patchSize=..., fastThreshold=...) -> typing.Any: - 'ORB_create([, nfeatures[, scaleFactor[, nlevels[, edgeThreshold[, firstLevel[, WTA_K[, scoreType[, patchSize[, fastThreshold]]]]]]]]]) -> retval\n. @brief The ORB constructor\n. \n. @param nfeatures The maximum number of features to retain.\n. @param scaleFactor Pyramid decimation ratio, greater than 1. scaleFactor==2 means the classical\n. pyramid, where each next level has 4x less pixels than the previous, but such a big scale factor\n. will degrade feature matching scores dramatically. On the other hand, too close to 1 scale factor\n. will mean that to cover certain scale range you will need more pyramid levels and so the speed\n. will suffer.\n. @param nlevels The number of pyramid levels. The smallest level will have linear size equal to\n. input_image_linear_size/pow(scaleFactor, nlevels - firstLevel).\n. @param edgeThreshold This is size of the border where the features are not detected. It should\n. roughly match the patchSize parameter.\n. @param firstLevel The level of pyramid to put source image to. Previous layers are filled\n. with upscaled source image.\n. @param WTA_K The number of points that produce each element of the oriented BRIEF descriptor. The\n. default value 2 means the BRIEF where we take a random point pair and compare their brightnesses,\n. so we get 0/1 response. Other possible values are 3 and 4. For example, 3 means that we take 3\n. random points (of course, those point coordinates are random, but they are generated from the\n. pre-defined seed, so each element of BRIEF descriptor is computed deterministically from the pixel\n. rectangle), find point of maximum brightness and output index of the winner (0, 1 or 2). Such\n. output will occupy 2 bits, and therefore it will need a special variant of Hamming distance,\n. denoted as NORM_HAMMING2 (2 bits per bin). When WTA_K=4, we take 4 random points to compute each\n. bin (that will also occupy 2 bits with possible values 0, 1, 2 or 3).\n. @param scoreType The default HARRIS_SCORE means that Harris algorithm is used to rank features\n. (the score is written to KeyPoint::score and is used to retain best nfeatures features);\n. FAST_SCORE is alternative value of the parameter that produces slightly less stable keypoints,\n. but it is a little faster to compute.\n. @param patchSize size of the patch used by the oriented BRIEF descriptor. Of course, on smaller\n. pyramid layers the perceived image area covered by a feature will be larger.\n. @param fastThreshold the fast threshold' - ... - -PARAM_ALGORITHM: int -PARAM_BOOLEAN: int -PARAM_FLOAT: int -PARAM_INT: int -PARAM_MAT: int -PARAM_MAT_VECTOR: int -PARAM_REAL: int -PARAM_SCALAR: int -PARAM_STRING: int -PARAM_UCHAR: int -PARAM_UINT64: int -PARAM_UNSIGNED_INT: int -def PCABackProject(data, mean, eigenvectors, result=...) -> typing.Any: - 'PCABackProject(data, mean, eigenvectors[, result]) -> result\n. wrap PCA::backProject' - ... - -def PCACompute(data, mean, eigenvectors=..., maxComponents=...) -> typing.Any: - 'PCACompute(data, mean[, eigenvectors[, maxComponents]]) -> mean, eigenvectors\n. wrap PCA::operator()\n\n\n\nPCACompute(data, mean, retainedVariance[, eigenvectors]) -> mean, eigenvectors\n. wrap PCA::operator()' - ... - -def PCACompute2(data, mean, eigenvectors=..., eigenvalues=..., maxComponents=...) -> typing.Any: - 'PCACompute2(data, mean[, eigenvectors[, eigenvalues[, maxComponents]]]) -> mean, eigenvectors, eigenvalues\n. wrap PCA::operator() and add eigenvalues output parameter\n\n\n\nPCACompute2(data, mean, retainedVariance[, eigenvectors[, eigenvalues]]) -> mean, eigenvectors, eigenvalues\n. wrap PCA::operator() and add eigenvalues output parameter' - ... - -def PCAProject(data, mean, eigenvectors, result=...) -> typing.Any: - 'PCAProject(data, mean, eigenvectors[, result]) -> result\n. wrap PCA::project' - ... - -PCA_DATA_AS_COL: int -PCA_DATA_AS_ROW: int -PCA_USE_AVG: int -PROJ_SPHERICAL_EQRECT: int -PROJ_SPHERICAL_ORTHO: int -def PSNR(src1: Mat, src2: Mat, R=...) -> typing.Any: - 'PSNR(src1, src2[, R]) -> retval\n. @brief Computes the Peak Signal-to-Noise Ratio (PSNR) image quality metric.\n. \n. This function calculates the Peak Signal-to-Noise Ratio (PSNR) image quality metric in decibels (dB),\n. between two input arrays src1 and src2. The arrays must have the same type.\n. \n. The PSNR is calculated as follows:\n. \n. \\f[\n. \\texttt{PSNR} = 10 \\cdot \\log_{10}{\\left( \\frac{R^2}{MSE} \\right) }\n. \\f]\n. \n. where R is the maximum integer value of depth (e.g. 255 in the case of CV_8U data)\n. and MSE is the mean squared error between the two arrays.\n. \n. @param src1 first input array.\n. @param src2 second input array of the same size as src1.\n. @param R the maximum pixel value (255 by default)' - ... - -Param_ALGORITHM: int -Param_BOOLEAN: int -Param_FLOAT: int -Param_INT: int -Param_MAT: int -Param_MAT_VECTOR: int -Param_REAL: int -Param_SCALAR: int -Param_STRING: int -Param_UCHAR: int -Param_UINT64: int -Param_UNSIGNED_INT: int -PyRotationWarper = _mod_cv2.PyRotationWarper -QRCodeDetector = _mod_cv2.QRCodeDetector -QT_CHECKBOX: int -QT_FONT_BLACK: int -QT_FONT_BOLD: int -QT_FONT_DEMIBOLD: int -QT_FONT_LIGHT: int -QT_FONT_NORMAL: int -QT_NEW_BUTTONBAR: int -QT_PUSH_BUTTON: int -QT_RADIOBOX: int -QT_STYLE_ITALIC: int -QT_STYLE_NORMAL: int -QT_STYLE_OBLIQUE: int -RANSAC: int -RECURS_FILTER: int -REDUCE_AVG: int -REDUCE_MAX: int -REDUCE_MIN: int -REDUCE_SUM: int -RETR_CCOMP: int -RETR_EXTERNAL: int -RETR_FLOODFILL: int -RETR_LIST: int -RETR_TREE: int -RHO: int -RNG_NORMAL: int -RNG_UNIFORM: int -ROTATE_180: int -ROTATE_90_CLOCKWISE: int -ROTATE_90_COUNTERCLOCKWISE: int -def RQDecomp3x3(src: Mat, mtxR=..., mtxQ=..., Qx=..., Qy=..., Qz=...) -> typing.Any: - 'RQDecomp3x3(src[, mtxR[, mtxQ[, Qx[, Qy[, Qz]]]]]) -> retval, mtxR, mtxQ, Qx, Qy, Qz\n. @brief Computes an RQ decomposition of 3x3 matrices.\n. \n. @param src 3x3 input matrix.\n. @param mtxR Output 3x3 upper-triangular matrix.\n. @param mtxQ Output 3x3 orthogonal matrix.\n. @param Qx Optional output 3x3 rotation matrix around x-axis.\n. @param Qy Optional output 3x3 rotation matrix around y-axis.\n. @param Qz Optional output 3x3 rotation matrix around z-axis.\n. \n. The function computes a RQ decomposition using the given rotations. This function is used in\n. decomposeProjectionMatrix to decompose the left 3x3 submatrix of a projection matrix into a camera\n. and a rotation matrix.\n. \n. It optionally returns three rotation matrices, one for each axis, and the three Euler angles in\n. degrees (as the return value) that could be used in OpenGL. Note, there is always more than one\n. sequence of rotations about the three principal axes that results in the same orientation of an\n. object, e.g. see @cite Slabaugh . Returned tree rotation matrices and corresponding three Euler angles\n. are only one of the possible solutions.' - ... - -def Rodrigues(src: Mat, dts: Mat = ..., jacobian=...) -> typing.Any: - 'Rodrigues(src[, dst[, jacobian]]) -> dst, jacobian\n. @brief Converts a rotation matrix to a rotation vector or vice versa.\n. \n. @param src Input rotation vector (3x1 or 1x3) or rotation matrix (3x3).\n. @param dst Output rotation matrix (3x3) or rotation vector (3x1 or 1x3), respectively.\n. @param jacobian Optional output Jacobian matrix, 3x9 or 9x3, which is a matrix of partial\n. derivatives of the output array components with respect to the input array components.\n. \n. \\f[\\begin{array}{l} \\theta \\leftarrow norm(r) \\\\ r \\leftarrow r/ \\theta \\\\ R = \\cos(\\theta) I + (1- \\cos{\\theta} ) r r^T + \\sin(\\theta) \\vecthreethree{0}{-r_z}{r_y}{r_z}{0}{-r_x}{-r_y}{r_x}{0} \\end{array}\\f]\n. \n. Inverse transformation can be also done easily, since\n. \n. \\f[\\sin ( \\theta ) \\vecthreethree{0}{-r_z}{r_y}{r_z}{0}{-r_x}{-r_y}{r_x}{0} = \\frac{R - R^T}{2}\\f]\n. \n. A rotation vector is a convenient and most compact representation of a rotation matrix (since any\n. rotation matrix has just 3 degrees of freedom). The representation is used in the global 3D geometry\n. optimization procedures like @ref calibrateCamera, @ref stereoCalibrate, or @ref solvePnP .\n. \n. @note More information about the computation of the derivative of a 3D rotation matrix with respect to its exponential coordinate\n. can be found in:\n. - A Compact Formula for the Derivative of a 3-D Rotation in Exponential Coordinates, Guillermo Gallego, Anthony J. Yezzi @cite Gallego2014ACF\n. \n. @note Useful information on SE(3) and Lie Groups can be found in:\n. - A tutorial on SE(3) transformation parameterizations and on-manifold optimization, Jose-Luis Blanco @cite blanco2010tutorial\n. - Lie Groups for 2D and 3D Transformation, Ethan Eade @cite Eade17\n. - A micro Lie theory for state estimation in robotics, Joan Solà, Jérémie Deray, Dinesh Atchuthan @cite Sol2018AML' - ... - -SIFT = _mod_cv2.SIFT -def SIFT_create(nfeatures=..., nOctaveLayers=..., contrastThreshold=..., edgeThreshold=..., sigma=...) -> typing.Any: - 'SIFT_create([, nfeatures[, nOctaveLayers[, contrastThreshold[, edgeThreshold[, sigma]]]]]) -> retval\n. @param nfeatures The number of best features to retain. The features are ranked by their scores\n. (measured in SIFT algorithm as the local contrast)\n. \n. @param nOctaveLayers The number of layers in each octave. 3 is the value used in D. Lowe paper. The\n. number of octaves is computed automatically from the image resolution.\n. \n. @param contrastThreshold The contrast threshold used to filter out weak features in semi-uniform\n. (low-contrast) regions. The larger the threshold, the less features are produced by the detector.\n. \n. @note The contrast threshold will be divided by nOctaveLayers when the filtering is applied. When\n. nOctaveLayers is set to default and if you want to use the value used in D. Lowe paper, 0.03, set\n. this argument to 0.09.\n. \n. @param edgeThreshold The threshold used to filter out edge-like features. Note that the its meaning\n. is different from the contrastThreshold, i.e. the larger the edgeThreshold, the less features are\n. filtered out (more features are retained).\n. \n. @param sigma The sigma of the Gaussian applied to the input image at the octave \\#0. If your image\n. is captured with a weak camera with soft lenses, you might want to reduce the number.' - ... - -SOLVELP_MULTI: int -SOLVELP_SINGLE: int -SOLVELP_UNBOUNDED: int -SOLVELP_UNFEASIBLE: int -SOLVEPNP_AP3P: int -SOLVEPNP_DLS: int -SOLVEPNP_EPNP: int -SOLVEPNP_IPPE: int -SOLVEPNP_IPPE_SQUARE: int -SOLVEPNP_ITERATIVE: int -SOLVEPNP_MAX_COUNT: int -SOLVEPNP_P3P: int -SOLVEPNP_UPNP: int -SORT_ASCENDING: int -SORT_DESCENDING: int -SORT_EVERY_COLUMN: int -SORT_EVERY_ROW: int -SPARSE_MAT_HASH_BIT: int -SPARSE_MAT_HASH_SCALE: int -SPARSE_MAT_MAGIC_VAL: int -SPARSE_MAT_MAX_DIM: int -STEREO_BM_PREFILTER_NORMALIZED_RESPONSE: int -STEREO_BM_PREFILTER_XSOBEL: int -STEREO_MATCHER_DISP_SCALE: int -STEREO_MATCHER_DISP_SHIFT: int -STEREO_SGBM_MODE_HH: int -STEREO_SGBM_MODE_HH4: int -STEREO_SGBM_MODE_SGBM: int -STEREO_SGBM_MODE_SGBM_3WAY: int -STITCHER_ERR_CAMERA_PARAMS_ADJUST_FAIL: int -STITCHER_ERR_HOMOGRAPHY_EST_FAIL: int -STITCHER_ERR_NEED_MORE_IMGS: int -STITCHER_OK: int -STITCHER_PANORAMA: int -STITCHER_SCANS: int -SUBDIV2D_NEXT_AROUND_DST: int -SUBDIV2D_NEXT_AROUND_LEFT: int -SUBDIV2D_NEXT_AROUND_ORG: int -SUBDIV2D_NEXT_AROUND_RIGHT: int -SUBDIV2D_PREV_AROUND_DST: int -SUBDIV2D_PREV_AROUND_LEFT: int -SUBDIV2D_PREV_AROUND_ORG: int -SUBDIV2D_PREV_AROUND_RIGHT: int -SUBDIV2D_PTLOC_ERROR: int -SUBDIV2D_PTLOC_INSIDE: int -SUBDIV2D_PTLOC_ON_EDGE: int -SUBDIV2D_PTLOC_OUTSIDE_RECT: int -SUBDIV2D_PTLOC_VERTEX: int -def SVBackSubst(w, u, vt, rhs, dts: Mat = ...) -> typing.Any: - 'SVBackSubst(w, u, vt, rhs[, dst]) -> dst\n. wrap SVD::backSubst' - ... - -SVD_FULL_UV: int -SVD_MODIFY_A: int -SVD_NO_UV: int -def SVDecomp(src: Mat, w=..., u=..., vt=..., flags: int = ...) -> typing.Any: - 'SVDecomp(src[, w[, u[, vt[, flags]]]]) -> w, u, vt\n. wrap SVD::compute' - ... - -def Scharr(src: Mat, ddepth, dx, dy, dts: Mat = ..., scale=..., delta=..., borderType=...) -> typing.Any: - 'Scharr(src, ddepth, dx, dy[, dst[, scale[, delta[, borderType]]]]) -> dst\n. @brief Calculates the first x- or y- image derivative using Scharr operator.\n. \n. The function computes the first x- or y- spatial image derivative using the Scharr operator. The\n. call\n. \n. \\f[\\texttt{Scharr(src, dst, ddepth, dx, dy, scale, delta, borderType)}\\f]\n. \n. is equivalent to\n. \n. \\f[\\texttt{Sobel(src, dst, ddepth, dx, dy, FILTER_SCHARR, scale, delta, borderType)} .\\f]\n. \n. @param src input image.\n. @param dst output image of the same size and the same number of channels as src.\n. @param ddepth output image depth, see @ref filter_depths "combinations"\n. @param dx order of the derivative x.\n. @param dy order of the derivative y.\n. @param scale optional scale factor for the computed derivative values; by default, no scaling is\n. applied (see #getDerivKernels for details).\n. @param delta optional delta value that is added to the results prior to storing them in dst.\n. @param borderType pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not supported.\n. @sa cartToPolar' - ... - -SimpleBlobDetector = _mod_cv2.SimpleBlobDetector -SimpleBlobDetector_Params = _mod_cv2.SimpleBlobDetector_Params -def SimpleBlobDetector_create(parameters=...) -> typing.Any: - 'SimpleBlobDetector_create([, parameters]) -> retval\n.' - ... - -def Sobel(src: Mat, ddepth, dx, dy, dts: Mat = ..., ksize=..., scale=..., delta=..., borderType=...) -> typing.Any: - 'Sobel(src, ddepth, dx, dy[, dst[, ksize[, scale[, delta[, borderType]]]]]) -> dst\n. @brief Calculates the first, second, third, or mixed image derivatives using an extended Sobel operator.\n. \n. In all cases except one, the \\f$\\texttt{ksize} \\times \\texttt{ksize}\\f$ separable kernel is used to\n. calculate the derivative. When \\f$\\texttt{ksize = 1}\\f$, the \\f$3 \\times 1\\f$ or \\f$1 \\times 3\\f$\n. kernel is used (that is, no Gaussian smoothing is done). `ksize = 1` can only be used for the first\n. or the second x- or y- derivatives.\n. \n. There is also the special value `ksize = #FILTER_SCHARR (-1)` that corresponds to the \\f$3\\times3\\f$ Scharr\n. filter that may give more accurate results than the \\f$3\\times3\\f$ Sobel. The Scharr aperture is\n. \n. \\f[\\vecthreethree{-3}{0}{3}{-10}{0}{10}{-3}{0}{3}\\f]\n. \n. for the x-derivative, or transposed for the y-derivative.\n. \n. The function calculates an image derivative by convolving the image with the appropriate kernel:\n. \n. \\f[\\texttt{dst} = \\frac{\\partial^{xorder+yorder} \\texttt{src}}{\\partial x^{xorder} \\partial y^{yorder}}\\f]\n. \n. The Sobel operators combine Gaussian smoothing and differentiation, so the result is more or less\n. resistant to the noise. Most often, the function is called with ( xorder = 1, yorder = 0, ksize = 3)\n. or ( xorder = 0, yorder = 1, ksize = 3) to calculate the first x- or y- image derivative. The first\n. case corresponds to a kernel of:\n. \n. \\f[\\vecthreethree{-1}{0}{1}{-2}{0}{2}{-1}{0}{1}\\f]\n. \n. The second case corresponds to a kernel of:\n. \n. \\f[\\vecthreethree{-1}{-2}{-1}{0}{0}{0}{1}{2}{1}\\f]\n. \n. @param src input image.\n. @param dst output image of the same size and the same number of channels as src .\n. @param ddepth output image depth, see @ref filter_depths "combinations"; in the case of\n. 8-bit input images it will result in truncated derivatives.\n. @param dx order of the derivative x.\n. @param dy order of the derivative y.\n. @param ksize size of the extended Sobel kernel; it must be 1, 3, 5, or 7.\n. @param scale optional scale factor for the computed derivative values; by default, no scaling is\n. applied (see #getDerivKernels for details).\n. @param delta optional delta value that is added to the results prior to storing them in dst.\n. @param borderType pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not supported.\n. @sa Scharr, Laplacian, sepFilter2D, filter2D, GaussianBlur, cartToPolar' - ... - -SparseMat_HASH_BIT: int -SparseMat_HASH_SCALE: int -SparseMat_MAGIC_VAL: int -SparseMat_MAX_DIM: int -SparseOpticalFlow = _mod_cv2.SparseOpticalFlow -SparsePyrLKOpticalFlow = _mod_cv2.SparsePyrLKOpticalFlow -def SparsePyrLKOpticalFlow_create(winSize=..., maxLevel=..., crit=..., flags: int = ..., minEigThreshold=...) -> typing.Any: - 'SparsePyrLKOpticalFlow_create([, winSize[, maxLevel[, crit[, flags[, minEigThreshold]]]]]) -> retval\n.' - ... - -StereoBM = _mod_cv2.StereoBM -StereoBM_PREFILTER_NORMALIZED_RESPONSE: int -StereoBM_PREFILTER_XSOBEL: int -def StereoBM_create(numDisparities=..., blockSize=...) -> typing.Any: - 'StereoBM_create([, numDisparities[, blockSize]]) -> retval\n. @brief Creates StereoBM object\n. \n. @param numDisparities the disparity search range. For each pixel algorithm will find the best\n. disparity from 0 (default minimum disparity) to numDisparities. The search range can then be\n. shifted by changing the minimum disparity.\n. @param blockSize the linear size of the blocks compared by the algorithm. The size should be odd\n. (as the block is centered at the current pixel). Larger block size implies smoother, though less\n. accurate disparity map. Smaller block size gives more detailed disparity map, but there is higher\n. chance for algorithm to find a wrong correspondence.\n. \n. The function create StereoBM object. You can then call StereoBM::compute() to compute disparity for\n. a specific stereo pair.' - ... - -StereoMatcher = _mod_cv2.StereoMatcher -StereoMatcher_DISP_SCALE: int -StereoMatcher_DISP_SHIFT: int -StereoSGBM = _mod_cv2.StereoSGBM -StereoSGBM_MODE_HH: int -StereoSGBM_MODE_HH4: int -StereoSGBM_MODE_SGBM: int -StereoSGBM_MODE_SGBM_3WAY: int -def StereoSGBM_create(minDisparity=..., numDisparities=..., blockSize=..., P1=..., P2=..., disp12MaxDiff=..., preFilterCap=..., uniquenessRatio=..., speckleWindowSize=..., speckleRange=..., mode=...) -> typing.Any: - 'StereoSGBM_create([, minDisparity[, numDisparities[, blockSize[, P1[, P2[, disp12MaxDiff[, preFilterCap[, uniquenessRatio[, speckleWindowSize[, speckleRange[, mode]]]]]]]]]]]) -> retval\n. @brief Creates StereoSGBM object\n. \n. @param minDisparity Minimum possible disparity value. Normally, it is zero but sometimes\n. rectification algorithms can shift images, so this parameter needs to be adjusted accordingly.\n. @param numDisparities Maximum disparity minus minimum disparity. The value is always greater than\n. zero. In the current implementation, this parameter must be divisible by 16.\n. @param blockSize Matched block size. It must be an odd number \\>=1 . Normally, it should be\n. somewhere in the 3..11 range.\n. @param P1 The first parameter controlling the disparity smoothness. See below.\n. @param P2 The second parameter controlling the disparity smoothness. The larger the values are,\n. the smoother the disparity is. P1 is the penalty on the disparity change by plus or minus 1\n. between neighbor pixels. P2 is the penalty on the disparity change by more than 1 between neighbor\n. pixels. The algorithm requires P2 \\> P1 . See stereo_match.cpp sample where some reasonably good\n. P1 and P2 values are shown (like 8\\*number_of_image_channels\\*blockSize\\*blockSize and\n. 32\\*number_of_image_channels\\*blockSize\\*blockSize , respectively).\n. @param disp12MaxDiff Maximum allowed difference (in integer pixel units) in the left-right\n. disparity check. Set it to a non-positive value to disable the check.\n. @param preFilterCap Truncation value for the prefiltered image pixels. The algorithm first\n. computes x-derivative at each pixel and clips its value by [-preFilterCap, preFilterCap] interval.\n. The result values are passed to the Birchfield-Tomasi pixel cost function.\n. @param uniquenessRatio Margin in percentage by which the best (minimum) computed cost function\n. value should "win" the second best value to consider the found match correct. Normally, a value\n. within the 5-15 range is good enough.\n. @param speckleWindowSize Maximum size of smooth disparity regions to consider their noise speckles\n. and invalidate. Set it to 0 to disable speckle filtering. Otherwise, set it somewhere in the\n. 50-200 range.\n. @param speckleRange Maximum disparity variation within each connected component. If you do speckle\n. filtering, set the parameter to a positive value, it will be implicitly multiplied by 16.\n. Normally, 1 or 2 is good enough.\n. @param mode Set it to StereoSGBM::MODE_HH to run the full-scale two-pass dynamic programming\n. algorithm. It will consume O(W\\*H\\*numDisparities) bytes, which is large for 640x480 stereo and\n. huge for HD-size pictures. By default, it is set to false .\n. \n. The first constructor initializes StereoSGBM with all the default parameters. So, you only have to\n. set StereoSGBM::numDisparities at minimum. The second constructor enables you to set each parameter\n. to a custom value.' - ... - -Stitcher = _mod_cv2.Stitcher -Stitcher_ERR_CAMERA_PARAMS_ADJUST_FAIL: int -Stitcher_ERR_HOMOGRAPHY_EST_FAIL: int -Stitcher_ERR_NEED_MORE_IMGS: int -Stitcher_OK: int -Stitcher_PANORAMA: int -Stitcher_SCANS: int -def Stitcher_create(mode=...) -> typing.Any: - 'Stitcher_create([, mode]) -> retval\n. @brief Creates a Stitcher configured in one of the stitching modes.\n. \n. @param mode Scenario for stitcher operation. This is usually determined by source of images\n. to stitch and their transformation. Default parameters will be chosen for operation in given\n. scenario.\n. @return Stitcher class instance.' - ... - -Subdiv2D = _mod_cv2.Subdiv2D -Subdiv2D_NEXT_AROUND_DST: int -Subdiv2D_NEXT_AROUND_LEFT: int -Subdiv2D_NEXT_AROUND_ORG: int -Subdiv2D_NEXT_AROUND_RIGHT: int -Subdiv2D_PREV_AROUND_DST: int -Subdiv2D_PREV_AROUND_LEFT: int -Subdiv2D_PREV_AROUND_ORG: int -Subdiv2D_PREV_AROUND_RIGHT: int -Subdiv2D_PTLOC_ERROR: int -Subdiv2D_PTLOC_INSIDE: int -Subdiv2D_PTLOC_ON_EDGE: int -Subdiv2D_PTLOC_OUTSIDE_RECT: int -Subdiv2D_PTLOC_VERTEX: int -TERM_CRITERIA_COUNT: int -TERM_CRITERIA_EPS: int -TERM_CRITERIA_MAX_ITER: int -THRESH_BINARY: int -THRESH_BINARY_INV: int -THRESH_MASK: int -THRESH_OTSU: int -THRESH_TOZERO: int -THRESH_TOZERO_INV: int -THRESH_TRIANGLE: int -THRESH_TRUNC: int -TM_CCOEFF: int -TM_CCOEFF_NORMED: int -TM_CCORR: int -TM_CCORR_NORMED: int -TM_SQDIFF: int -TM_SQDIFF_NORMED: int -TermCriteria_COUNT: int -TermCriteria_EPS: int -TermCriteria_MAX_ITER: int -TickMeter = _mod_cv2.TickMeter -Tonemap = _mod_cv2.Tonemap -TonemapDrago = _mod_cv2.TonemapDrago -TonemapMantiuk = _mod_cv2.TonemapMantiuk -TonemapReinhard = _mod_cv2.TonemapReinhard -UMAT_AUTO_STEP: int -UMAT_CONTINUOUS_FLAG: int -UMAT_DATA_ASYNC_CLEANUP: int -UMAT_DATA_COPY_ON_MAP: int -UMAT_DATA_DEVICE_COPY_OBSOLETE: int -UMAT_DATA_DEVICE_MEM_MAPPED: int -UMAT_DATA_HOST_COPY_OBSOLETE: int -UMAT_DATA_TEMP_COPIED_UMAT: int -UMAT_DATA_TEMP_UMAT: int -UMAT_DATA_USER_ALLOCATED: int -UMAT_DEPTH_MASK: int -UMAT_MAGIC_MASK: int -UMAT_MAGIC_VAL: int -UMAT_SUBMATRIX_FLAG: int -UMAT_TYPE_MASK: int -UMat = _mod_cv2.UMat -UMatData_ASYNC_CLEANUP: int -UMatData_COPY_ON_MAP: int -UMatData_DEVICE_COPY_OBSOLETE: int -UMatData_DEVICE_MEM_MAPPED: int -UMatData_HOST_COPY_OBSOLETE: int -UMatData_TEMP_COPIED_UMAT: int -UMatData_TEMP_UMAT: int -UMatData_USER_ALLOCATED: int -UMat_AUTO_STEP: int -UMat_CONTINUOUS_FLAG: int -UMat_DEPTH_MASK: int -UMat_MAGIC_MASK: int -UMat_MAGIC_VAL: int -UMat_SUBMATRIX_FLAG: int -UMat_TYPE_MASK: int -def UMat_context() -> typing.Any: - 'UMat_context() -> retval\n.' - ... - -def UMat_queue() -> typing.Any: - 'UMat_queue() -> retval\n.' - ... - -USAGE_ALLOCATE_DEVICE_MEMORY: int -USAGE_ALLOCATE_HOST_MEMORY: int -USAGE_ALLOCATE_SHARED_MEMORY: int -USAGE_DEFAULT: int -VIDEOWRITER_PROP_FRAMEBYTES: int -VIDEOWRITER_PROP_IS_COLOR: int -VIDEOWRITER_PROP_NSTRIPES: int -VIDEOWRITER_PROP_QUALITY: int -VariationalRefinement = _mod_cv2.VariationalRefinement -def VariationalRefinement_create() -> typing.Any: - 'VariationalRefinement_create() -> retval\n. @brief Creates an instance of VariationalRefinement' - ... - -VideoCapture = _mod_cv2.VideoCapture -VideoWriter = _mod_cv2.VideoWriter -def VideoWriter_fourcc(c1, c2, c3, c4) -> typing.Any: - 'VideoWriter_fourcc(c1, c2, c3, c4) -> retval\n. @brief Concatenates 4 chars to a fourcc code\n. \n. @return a fourcc code\n. \n. This static method constructs the fourcc code of the codec to be used in the constructor\n. VideoWriter::VideoWriter or VideoWriter::open.' - ... - -WARP_FILL_OUTLIERS: int -WARP_INVERSE_MAP: int -WARP_POLAR_LINEAR: int -WARP_POLAR_LOG: int -WINDOW_AUTOSIZE: int -WINDOW_FREERATIO: int -WINDOW_FULLSCREEN: int -WINDOW_GUI_EXPANDED: int -WINDOW_GUI_NORMAL: int -WINDOW_KEEPRATIO: int -WINDOW_NORMAL: int -WINDOW_OPENGL: int -WND_PROP_ASPECT_RATIO: int -WND_PROP_AUTOSIZE: int -WND_PROP_FULLSCREEN: int -WND_PROP_OPENGL: int -WND_PROP_TOPMOST: int -WND_PROP_VISIBLE: int -WarperCreator = _mod_cv2.WarperCreator -_INPUT_ARRAY_CUDA_GPU_MAT: int -_INPUT_ARRAY_CUDA_HOST_MEM: int -_INPUT_ARRAY_EXPR: int -_INPUT_ARRAY_FIXED_SIZE: int -_INPUT_ARRAY_FIXED_TYPE: int -_INPUT_ARRAY_KIND_MASK: int -_INPUT_ARRAY_KIND_SHIFT: int -_INPUT_ARRAY_MAT: int -_INPUT_ARRAY_MATX: int -_INPUT_ARRAY_NONE: int -_INPUT_ARRAY_OPENGL_BUFFER: int -_INPUT_ARRAY_STD_ARRAY: int -_INPUT_ARRAY_STD_ARRAY_MAT: int -_INPUT_ARRAY_STD_BOOL_VECTOR: int -_INPUT_ARRAY_STD_VECTOR: int -_INPUT_ARRAY_STD_VECTOR_CUDA_GPU_MAT: int -_INPUT_ARRAY_STD_VECTOR_MAT: int -_INPUT_ARRAY_STD_VECTOR_UMAT: int -_INPUT_ARRAY_STD_VECTOR_VECTOR: int -_INPUT_ARRAY_UMAT: int -_InputArray_CUDA_GPU_MAT: int -_InputArray_CUDA_HOST_MEM: int -_InputArray_EXPR: int -_InputArray_FIXED_SIZE: int -_InputArray_FIXED_TYPE: int -_InputArray_KIND_MASK: int -_InputArray_KIND_SHIFT: int -_InputArray_MAT: int -_InputArray_MATX: int -_InputArray_NONE: int -_InputArray_OPENGL_BUFFER: int -_InputArray_STD_ARRAY: int -_InputArray_STD_ARRAY_MAT: int -_InputArray_STD_BOOL_VECTOR: int -_InputArray_STD_VECTOR: int -_InputArray_STD_VECTOR_CUDA_GPU_MAT: int -_InputArray_STD_VECTOR_MAT: int -_InputArray_STD_VECTOR_UMAT: int -_InputArray_STD_VECTOR_VECTOR: int -_InputArray_UMAT: int -_OUTPUT_ARRAY_DEPTH_MASK_16F: int -_OUTPUT_ARRAY_DEPTH_MASK_16S: int -_OUTPUT_ARRAY_DEPTH_MASK_16U: int -_OUTPUT_ARRAY_DEPTH_MASK_32F: int -_OUTPUT_ARRAY_DEPTH_MASK_32S: int -_OUTPUT_ARRAY_DEPTH_MASK_64F: int -_OUTPUT_ARRAY_DEPTH_MASK_8S: int -_OUTPUT_ARRAY_DEPTH_MASK_8U: int -_OUTPUT_ARRAY_DEPTH_MASK_ALL: int -_OUTPUT_ARRAY_DEPTH_MASK_ALL_16F: int -_OUTPUT_ARRAY_DEPTH_MASK_ALL_BUT_8S: int -_OUTPUT_ARRAY_DEPTH_MASK_FLT: int -_OutputArray_DEPTH_MASK_16F: int -_OutputArray_DEPTH_MASK_16S: int -_OutputArray_DEPTH_MASK_16U: int -_OutputArray_DEPTH_MASK_32F: int -_OutputArray_DEPTH_MASK_32S: int -_OutputArray_DEPTH_MASK_64F: int -_OutputArray_DEPTH_MASK_8S: int -_OutputArray_DEPTH_MASK_8U: int -_OutputArray_DEPTH_MASK_ALL: int -_OutputArray_DEPTH_MASK_ALL_16F: int -_OutputArray_DEPTH_MASK_ALL_BUT_8S: int -_OutputArray_DEPTH_MASK_FLT: int -__UMAT_USAGE_FLAGS_32BIT: int -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: str -def absdiff(src1: Mat, src2: Mat, dts: Mat = ...) -> typing.Any: - 'absdiff(src1, src2[, dst]) -> dst\n. @brief Calculates the per-element absolute difference between two arrays or between an array and a scalar.\n. \n. The function cv::absdiff calculates:\n. * Absolute difference between two arrays when they have the same\n. size and type:\n. \\f[\\texttt{dst}(I) = \\texttt{saturate} (| \\texttt{src1}(I) - \\texttt{src2}(I)|)\\f]\n. * Absolute difference between an array and a scalar when the second\n. array is constructed from Scalar or has as many elements as the\n. number of channels in `src1`:\n. \\f[\\texttt{dst}(I) = \\texttt{saturate} (| \\texttt{src1}(I) - \\texttt{src2} |)\\f]\n. * Absolute difference between a scalar and an array when the first\n. array is constructed from Scalar or has as many elements as the\n. number of channels in `src2`:\n. \\f[\\texttt{dst}(I) = \\texttt{saturate} (| \\texttt{src1} - \\texttt{src2}(I) |)\\f]\n. where I is a multi-dimensional index of array elements. In case of\n. multi-channel arrays, each channel is processed independently.\n. @note Saturation is not applied when the arrays have the depth CV_32S.\n. You may even get a negative value in the case of overflow.\n. @param src1 first input array or a scalar.\n. @param src2 second input array or a scalar.\n. @param dst output array that has the same size and type as input arrays.\n. @sa cv::abs(const Mat&)' - ... - -def accumulate(src: Mat, dts: Mat, mask: Mat = ...) -> typing.Any: - 'accumulate(src, dst[, mask]) -> dst\n. @brief Adds an image to the accumulator image.\n. \n. The function adds src or some of its elements to dst :\n. \n. \\f[\\texttt{dst} (x,y) \\leftarrow \\texttt{dst} (x,y) + \\texttt{src} (x,y) \\quad \\text{if} \\quad \\texttt{mask} (x,y) \\ne 0\\f]\n. \n. The function supports multi-channel images. Each channel is processed independently.\n. \n. The function cv::accumulate can be used, for example, to collect statistics of a scene background\n. viewed by a still camera and for the further foreground-background segmentation.\n. \n. @param src Input image of type CV_8UC(n), CV_16UC(n), CV_32FC(n) or CV_64FC(n), where n is a positive integer.\n. @param dst %Accumulator image with the same number of channels as input image, and a depth of CV_32F or CV_64F.\n. @param mask Optional operation mask.\n. \n. @sa accumulateSquare, accumulateProduct, accumulateWeighted' - ... - -def accumulateProduct(src1: Mat, src2: Mat, dts: Mat, mask: Mat = ...) -> typing.Any: - 'accumulateProduct(src1, src2, dst[, mask]) -> dst\n. @brief Adds the per-element product of two input images to the accumulator image.\n. \n. The function adds the product of two images or their selected regions to the accumulator dst :\n. \n. \\f[\\texttt{dst} (x,y) \\leftarrow \\texttt{dst} (x,y) + \\texttt{src1} (x,y) \\cdot \\texttt{src2} (x,y) \\quad \\text{if} \\quad \\texttt{mask} (x,y) \\ne 0\\f]\n. \n. The function supports multi-channel images. Each channel is processed independently.\n. \n. @param src1 First input image, 1- or 3-channel, 8-bit or 32-bit floating point.\n. @param src2 Second input image of the same type and the same size as src1 .\n. @param dst %Accumulator image with the same number of channels as input images, 32-bit or 64-bit\n. floating-point.\n. @param mask Optional operation mask.\n. \n. @sa accumulate, accumulateSquare, accumulateWeighted' - ... - -def accumulateSquare(src: Mat, dts: Mat, mask: Mat = ...) -> typing.Any: - 'accumulateSquare(src, dst[, mask]) -> dst\n. @brief Adds the square of a source image to the accumulator image.\n. \n. The function adds the input image src or its selected region, raised to a power of 2, to the\n. accumulator dst :\n. \n. \\f[\\texttt{dst} (x,y) \\leftarrow \\texttt{dst} (x,y) + \\texttt{src} (x,y)^2 \\quad \\text{if} \\quad \\texttt{mask} (x,y) \\ne 0\\f]\n. \n. The function supports multi-channel images. Each channel is processed independently.\n. \n. @param src Input image as 1- or 3-channel, 8-bit or 32-bit floating point.\n. @param dst %Accumulator image with the same number of channels as input image, 32-bit or 64-bit\n. floating-point.\n. @param mask Optional operation mask.\n. \n. @sa accumulateSquare, accumulateProduct, accumulateWeighted' - ... - -def accumulateWeighted(src: Mat, dts: Mat, alpha, mask: Mat = ...) -> typing.Any: - 'accumulateWeighted(src, dst, alpha[, mask]) -> dst\n. @brief Updates a running average.\n. \n. The function calculates the weighted sum of the input image src and the accumulator dst so that dst\n. becomes a running average of a frame sequence:\n. \n. \\f[\\texttt{dst} (x,y) \\leftarrow (1- \\texttt{alpha} ) \\cdot \\texttt{dst} (x,y) + \\texttt{alpha} \\cdot \\texttt{src} (x,y) \\quad \\text{if} \\quad \\texttt{mask} (x,y) \\ne 0\\f]\n. \n. That is, alpha regulates the update speed (how fast the accumulator "forgets" about earlier images).\n. The function supports multi-channel images. Each channel is processed independently.\n. \n. @param src Input image as 1- or 3-channel, 8-bit or 32-bit floating point.\n. @param dst %Accumulator image with the same number of channels as input image, 32-bit or 64-bit\n. floating-point.\n. @param alpha Weight of the input image.\n. @param mask Optional operation mask.\n. \n. @sa accumulate, accumulateSquare, accumulateProduct' - ... - -def adaptiveThreshold(src: Mat, maxValue, adaptiveMethod, thresholdType, blockSize, C, dts: Mat = ...) -> typing.Any: - 'adaptiveThreshold(src, maxValue, adaptiveMethod, thresholdType, blockSize, C[, dst]) -> dst\n. @brief Applies an adaptive threshold to an array.\n. \n. The function transforms a grayscale image to a binary image according to the formulae:\n. - **THRESH_BINARY**\n. \\f[dst(x,y) = \\fork{\\texttt{maxValue}}{if \\(src(x,y) > T(x,y)\\)}{0}{otherwise}\\f]\n. - **THRESH_BINARY_INV**\n. \\f[dst(x,y) = \\fork{0}{if \\(src(x,y) > T(x,y)\\)}{\\texttt{maxValue}}{otherwise}\\f]\n. where \\f$T(x,y)\\f$ is a threshold calculated individually for each pixel (see adaptiveMethod parameter).\n. \n. The function can process the image in-place.\n. \n. @param src Source 8-bit single-channel image.\n. @param dst Destination image of the same size and the same type as src.\n. @param maxValue Non-zero value assigned to the pixels for which the condition is satisfied\n. @param adaptiveMethod Adaptive thresholding algorithm to use, see #AdaptiveThresholdTypes.\n. The #BORDER_REPLICATE | #BORDER_ISOLATED is used to process boundaries.\n. @param thresholdType Thresholding type that must be either #THRESH_BINARY or #THRESH_BINARY_INV,\n. see #ThresholdTypes.\n. @param blockSize Size of a pixel neighborhood that is used to calculate a threshold value for the\n. pixel: 3, 5, 7, and so on.\n. @param C Constant subtracted from the mean or weighted mean (see the details below). Normally, it\n. is positive but may be zero or negative as well.\n. \n. @sa threshold, blur, GaussianBlur' - ... - -def add(src1: Mat, src2: Mat, dts: Mat = ..., mask: Mat = ..., dtype=...) -> typing.Any: - 'add(src1, src2[, dst[, mask[, dtype]]]) -> dst\n. @brief Calculates the per-element sum of two arrays or an array and a scalar.\n. \n. The function add calculates:\n. - Sum of two arrays when both input arrays have the same size and the same number of channels:\n. \\f[\\texttt{dst}(I) = \\texttt{saturate} ( \\texttt{src1}(I) + \\texttt{src2}(I)) \\quad \\texttt{if mask}(I) \\ne0\\f]\n. - Sum of an array and a scalar when src2 is constructed from Scalar or has the same number of\n. elements as `src1.channels()`:\n. \\f[\\texttt{dst}(I) = \\texttt{saturate} ( \\texttt{src1}(I) + \\texttt{src2} ) \\quad \\texttt{if mask}(I) \\ne0\\f]\n. - Sum of a scalar and an array when src1 is constructed from Scalar or has the same number of\n. elements as `src2.channels()`:\n. \\f[\\texttt{dst}(I) = \\texttt{saturate} ( \\texttt{src1} + \\texttt{src2}(I) ) \\quad \\texttt{if mask}(I) \\ne0\\f]\n. where `I` is a multi-dimensional index of array elements. In case of multi-channel arrays, each\n. channel is processed independently.\n. \n. The first function in the list above can be replaced with matrix expressions:\n. @code{.cpp}\n. dst = src1 + src2;\n. dst += src1; // equivalent to add(dst, src1, dst);\n. @endcode\n. The input arrays and the output array can all have the same or different depths. For example, you\n. can add a 16-bit unsigned array to a 8-bit signed array and store the sum as a 32-bit\n. floating-point array. Depth of the output array is determined by the dtype parameter. In the second\n. and third cases above, as well as in the first case, when src1.depth() == src2.depth(), dtype can\n. be set to the default -1. In this case, the output array will have the same depth as the input\n. array, be it src1, src2 or both.\n. @note Saturation is not applied when the output array has the depth CV_32S. You may even get\n. result of an incorrect sign in the case of overflow.\n. @param src1 first input array or a scalar.\n. @param src2 second input array or a scalar.\n. @param dst output array that has the same size and number of channels as the input array(s); the\n. depth is defined by dtype or src1/src2.\n. @param mask optional operation mask - 8-bit single channel array, that specifies elements of the\n. output array to be changed.\n. @param dtype optional depth of the output array (see the discussion below).\n. @sa subtract, addWeighted, scaleAdd, Mat::convertTo' - ... - -def addText(img: Mat, text, org, nameFont, pointSize=..., color=..., weight=..., style=..., spacing=...) -> typing.Any: - 'addText(img, text, org, nameFont[, pointSize[, color[, weight[, style[, spacing]]]]]) -> None\n. @brief Draws a text on the image.\n. \n. @param img 8-bit 3-channel image where the text should be drawn.\n. @param text Text to write on an image.\n. @param org Point(x,y) where the text should start on an image.\n. @param nameFont Name of the font. The name should match the name of a system font (such as\n. *Times*). If the font is not found, a default one is used.\n. @param pointSize Size of the font. If not specified, equal zero or negative, the point size of the\n. font is set to a system-dependent default value. Generally, this is 12 points.\n. @param color Color of the font in BGRA where A = 255 is fully transparent.\n. @param weight Font weight. Available operation flags are : cv::QtFontWeights You can also specify a positive integer for better control.\n. @param style Font style. Available operation flags are : cv::QtFontStyles\n. @param spacing Spacing between characters. It can be negative or positive.' - ... - -def addWeighted(src1: Mat, alpha, src2: Mat, beta, gamma, dts: Mat = ..., dtype=...) -> typing.Any: - 'addWeighted(src1, alpha, src2, beta, gamma[, dst[, dtype]]) -> dst\n. @brief Calculates the weighted sum of two arrays.\n. \n. The function addWeighted calculates the weighted sum of two arrays as follows:\n. \\f[\\texttt{dst} (I)= \\texttt{saturate} ( \\texttt{src1} (I)* \\texttt{alpha} + \\texttt{src2} (I)* \\texttt{beta} + \\texttt{gamma} )\\f]\n. where I is a multi-dimensional index of array elements. In case of multi-channel arrays, each\n. channel is processed independently.\n. The function can be replaced with a matrix expression:\n. @code{.cpp}\n. dst = src1*alpha + src2*beta + gamma;\n. @endcode\n. @note Saturation is not applied when the output array has the depth CV_32S. You may even get\n. result of an incorrect sign in the case of overflow.\n. @param src1 first input array.\n. @param alpha weight of the first array elements.\n. @param src2 second input array of the same size and channel number as src1.\n. @param beta weight of the second array elements.\n. @param gamma scalar added to each sum.\n. @param dst output array that has the same size and number of channels as the input arrays.\n. @param dtype optional depth of the output array; when both input arrays have the same depth, dtype\n. can be set to -1, which will be equivalent to src1.depth().\n. @sa add, subtract, scaleAdd, Mat::convertTo' - ... - -def applyColorMap(src: Mat, colormap, dts: Mat = ...) -> typing.Any: - 'applyColorMap(src, colormap[, dst]) -> dst\n. @brief Applies a GNU Octave/MATLAB equivalent colormap on a given image.\n. \n. @param src The source image, grayscale or colored of type CV_8UC1 or CV_8UC3.\n. @param dst The result is the colormapped source image. Note: Mat::create is called on dst.\n. @param colormap The colormap to apply, see #ColormapTypes\n\n\n\napplyColorMap(src, userColor[, dst]) -> dst\n. @brief Applies a user colormap on a given image.\n. \n. @param src The source image, grayscale or colored of type CV_8UC1 or CV_8UC3.\n. @param dst The result is the colormapped source image. Note: Mat::create is called on dst.\n. @param userColor The colormap to apply of type CV_8UC1 or CV_8UC3 and size 256' - ... - -def approxPolyDP(curve, epsilon, closed, approxCurve=...) -> typing.Any: - 'approxPolyDP(curve, epsilon, closed[, approxCurve]) -> approxCurve\n. @brief Approximates a polygonal curve(s) with the specified precision.\n. \n. The function cv::approxPolyDP approximates a curve or a polygon with another curve/polygon with less\n. vertices so that the distance between them is less or equal to the specified precision. It uses the\n. Douglas-Peucker algorithm \n. \n. @param curve Input vector of a 2D point stored in std::vector or Mat\n. @param approxCurve Result of the approximation. The type should match the type of the input curve.\n. @param epsilon Parameter specifying the approximation accuracy. This is the maximum distance\n. between the original curve and its approximation.\n. @param closed If true, the approximated curve is closed (its first and last vertices are\n. connected). Otherwise, it is not closed.' - ... - -def arcLength(curve, closed) -> typing.Any: - 'arcLength(curve, closed) -> retval\n. @brief Calculates a contour perimeter or a curve length.\n. \n. The function computes a curve length or a closed contour perimeter.\n. \n. @param curve Input vector of 2D points, stored in std::vector or Mat.\n. @param closed Flag indicating whether the curve is closed or not.' - ... - -def arrowedLine(img: Mat, pt1, pt2, color, thickness=..., line_type=..., shift=..., tipLength=...) -> typing.Any: - 'arrowedLine(img, pt1, pt2, color[, thickness[, line_type[, shift[, tipLength]]]]) -> img\n. @brief Draws a arrow segment pointing from the first point to the second one.\n. \n. The function cv::arrowedLine draws an arrow between pt1 and pt2 points in the image. See also #line.\n. \n. @param img Image.\n. @param pt1 The point the arrow starts from.\n. @param pt2 The point the arrow points to.\n. @param color Line color.\n. @param thickness Line thickness.\n. @param line_type Type of the line. See #LineTypes\n. @param shift Number of fractional bits in the point coordinates.\n. @param tipLength The length of the arrow tip in relation to the arrow length' - ... - -def batchDistance(src1: Mat, src2: Mat, dtype, dist=..., nidx=..., normType: int = ..., K=..., mask: Mat = ..., update=..., crosscheck=...) -> typing.Any: - 'batchDistance(src1, src2, dtype[, dist[, nidx[, normType[, K[, mask[, update[, crosscheck]]]]]]]) -> dist, nidx\n. @brief naive nearest neighbor finder\n. \n. see http://en.wikipedia.org/wiki/Nearest_neighbor_search\n. @todo document' - ... - -def bilateralFilter(src: Mat, d, sigmaColor, sigmaSpace, dts: Mat = ..., borderType=...) -> typing.Any: - 'bilateralFilter(src, d, sigmaColor, sigmaSpace[, dst[, borderType]]) -> dst\n. @brief Applies the bilateral filter to an image.\n. \n. The function applies bilateral filtering to the input image, as described in\n. http://www.dai.ed.ac.uk/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Filtering.html\n. bilateralFilter can reduce unwanted noise very well while keeping edges fairly sharp. However, it is\n. very slow compared to most filters.\n. \n. _Sigma values_: For simplicity, you can set the 2 sigma values to be the same. If they are small (\\<\n. 10), the filter will not have much effect, whereas if they are large (\\> 150), they will have a very\n. strong effect, making the image look "cartoonish".\n. \n. _Filter size_: Large filters (d \\> 5) are very slow, so it is recommended to use d=5 for real-time\n. applications, and perhaps d=9 for offline applications that need heavy noise filtering.\n. \n. This filter does not work inplace.\n. @param src Source 8-bit or floating-point, 1-channel or 3-channel image.\n. @param dst Destination image of the same size and type as src .\n. @param d Diameter of each pixel neighborhood that is used during filtering. If it is non-positive,\n. it is computed from sigmaSpace.\n. @param sigmaColor Filter sigma in the color space. A larger value of the parameter means that\n. farther colors within the pixel neighborhood (see sigmaSpace) will be mixed together, resulting\n. in larger areas of semi-equal color.\n. @param sigmaSpace Filter sigma in the coordinate space. A larger value of the parameter means that\n. farther pixels will influence each other as long as their colors are close enough (see sigmaColor\n. ). When d\\>0, it specifies the neighborhood size regardless of sigmaSpace. Otherwise, d is\n. proportional to sigmaSpace.\n. @param borderType border mode used to extrapolate pixels outside of the image, see #BorderTypes' - ... - -def bitwise_and(src1: Mat, src2: Mat, dts: Mat = ..., mask: Mat = ...) -> typing.Any: - 'bitwise_and(src1, src2[, dst[, mask]]) -> dst\n. @brief computes bitwise conjunction of the two arrays (dst = src1 & src2)\n. Calculates the per-element bit-wise conjunction of two arrays or an\n. array and a scalar.\n. \n. The function cv::bitwise_and calculates the per-element bit-wise logical conjunction for:\n. * Two arrays when src1 and src2 have the same size:\n. \\f[\\texttt{dst} (I) = \\texttt{src1} (I) \\wedge \\texttt{src2} (I) \\quad \\texttt{if mask} (I) \\ne0\\f]\n. * An array and a scalar when src2 is constructed from Scalar or has\n. the same number of elements as `src1.channels()`:\n. \\f[\\texttt{dst} (I) = \\texttt{src1} (I) \\wedge \\texttt{src2} \\quad \\texttt{if mask} (I) \\ne0\\f]\n. * A scalar and an array when src1 is constructed from Scalar or has\n. the same number of elements as `src2.channels()`:\n. \\f[\\texttt{dst} (I) = \\texttt{src1} \\wedge \\texttt{src2} (I) \\quad \\texttt{if mask} (I) \\ne0\\f]\n. In case of floating-point arrays, their machine-specific bit\n. representations (usually IEEE754-compliant) are used for the operation.\n. In case of multi-channel arrays, each channel is processed\n. independently. In the second and third cases above, the scalar is first\n. converted to the array type.\n. @param src1 first input array or a scalar.\n. @param src2 second input array or a scalar.\n. @param dst output array that has the same size and type as the input\n. arrays.\n. @param mask optional operation mask, 8-bit single channel array, that\n. specifies elements of the output array to be changed.' - ... - -def bitwise_not(src: Mat, dts: Mat = ..., mask: Mat = ...) -> typing.Any: - 'bitwise_not(src[, dst[, mask]]) -> dst\n. @brief Inverts every bit of an array.\n. \n. The function cv::bitwise_not calculates per-element bit-wise inversion of the input\n. array:\n. \\f[\\texttt{dst} (I) = \\neg \\texttt{src} (I)\\f]\n. In case of a floating-point input array, its machine-specific bit\n. representation (usually IEEE754-compliant) is used for the operation. In\n. case of multi-channel arrays, each channel is processed independently.\n. @param src input array.\n. @param dst output array that has the same size and type as the input\n. array.\n. @param mask optional operation mask, 8-bit single channel array, that\n. specifies elements of the output array to be changed.' - ... - -def bitwise_or(src1: Mat, src2: Mat, dts: Mat = ..., mask: Mat = ...) -> typing.Any: - 'bitwise_or(src1, src2[, dst[, mask]]) -> dst\n. @brief Calculates the per-element bit-wise disjunction of two arrays or an\n. array and a scalar.\n. \n. The function cv::bitwise_or calculates the per-element bit-wise logical disjunction for:\n. * Two arrays when src1 and src2 have the same size:\n. \\f[\\texttt{dst} (I) = \\texttt{src1} (I) \\vee \\texttt{src2} (I) \\quad \\texttt{if mask} (I) \\ne0\\f]\n. * An array and a scalar when src2 is constructed from Scalar or has\n. the same number of elements as `src1.channels()`:\n. \\f[\\texttt{dst} (I) = \\texttt{src1} (I) \\vee \\texttt{src2} \\quad \\texttt{if mask} (I) \\ne0\\f]\n. * A scalar and an array when src1 is constructed from Scalar or has\n. the same number of elements as `src2.channels()`:\n. \\f[\\texttt{dst} (I) = \\texttt{src1} \\vee \\texttt{src2} (I) \\quad \\texttt{if mask} (I) \\ne0\\f]\n. In case of floating-point arrays, their machine-specific bit\n. representations (usually IEEE754-compliant) are used for the operation.\n. In case of multi-channel arrays, each channel is processed\n. independently. In the second and third cases above, the scalar is first\n. converted to the array type.\n. @param src1 first input array or a scalar.\n. @param src2 second input array or a scalar.\n. @param dst output array that has the same size and type as the input\n. arrays.\n. @param mask optional operation mask, 8-bit single channel array, that\n. specifies elements of the output array to be changed.' - ... - -def bitwise_xor(src1: Mat, src2: Mat, dts: Mat = ..., mask: Mat = ...) -> typing.Any: - 'bitwise_xor(src1, src2[, dst[, mask]]) -> dst\n. @brief Calculates the per-element bit-wise "exclusive or" operation on two\n. arrays or an array and a scalar.\n. \n. The function cv::bitwise_xor calculates the per-element bit-wise logical "exclusive-or"\n. operation for:\n. * Two arrays when src1 and src2 have the same size:\n. \\f[\\texttt{dst} (I) = \\texttt{src1} (I) \\oplus \\texttt{src2} (I) \\quad \\texttt{if mask} (I) \\ne0\\f]\n. * An array and a scalar when src2 is constructed from Scalar or has\n. the same number of elements as `src1.channels()`:\n. \\f[\\texttt{dst} (I) = \\texttt{src1} (I) \\oplus \\texttt{src2} \\quad \\texttt{if mask} (I) \\ne0\\f]\n. * A scalar and an array when src1 is constructed from Scalar or has\n. the same number of elements as `src2.channels()`:\n. \\f[\\texttt{dst} (I) = \\texttt{src1} \\oplus \\texttt{src2} (I) \\quad \\texttt{if mask} (I) \\ne0\\f]\n. In case of floating-point arrays, their machine-specific bit\n. representations (usually IEEE754-compliant) are used for the operation.\n. In case of multi-channel arrays, each channel is processed\n. independently. In the 2nd and 3rd cases above, the scalar is first\n. converted to the array type.\n. @param src1 first input array or a scalar.\n. @param src2 second input array or a scalar.\n. @param dst output array that has the same size and type as the input\n. arrays.\n. @param mask optional operation mask, 8-bit single channel array, that\n. specifies elements of the output array to be changed.' - ... - -def blur(src: Mat, ksize, dts: Mat = ..., anchor=..., borderType=...) -> typing.Any: - 'blur(src, ksize[, dst[, anchor[, borderType]]]) -> dst\n. @brief Blurs an image using the normalized box filter.\n. \n. The function smooths an image using the kernel:\n. \n. \\f[\\texttt{K} = \\frac{1}{\\texttt{ksize.width*ksize.height}} \\begin{bmatrix} 1 & 1 & 1 & \\cdots & 1 & 1 \\\\ 1 & 1 & 1 & \\cdots & 1 & 1 \\\\ \\hdotsfor{6} \\\\ 1 & 1 & 1 & \\cdots & 1 & 1 \\\\ \\end{bmatrix}\\f]\n. \n. The call `blur(src, dst, ksize, anchor, borderType)` is equivalent to `boxFilter(src, dst, src.type(), ksize,\n. anchor, true, borderType)`.\n. \n. @param src input image; it can have any number of channels, which are processed independently, but\n. the depth should be CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.\n. @param dst output image of the same size and type as src.\n. @param ksize blurring kernel size.\n. @param anchor anchor point; default value Point(-1,-1) means that the anchor is at the kernel\n. center.\n. @param borderType border mode used to extrapolate pixels outside of the image, see #BorderTypes. #BORDER_WRAP is not supported.\n. @sa boxFilter, bilateralFilter, GaussianBlur, medianBlur' - ... - -def borderInterpolate(p, len, borderType) -> typing.Any: - 'borderInterpolate(p, len, borderType) -> retval\n. @brief Computes the source location of an extrapolated pixel.\n. \n. The function computes and returns the coordinate of a donor pixel corresponding to the specified\n. extrapolated pixel when using the specified extrapolation border mode. For example, if you use\n. cv::BORDER_WRAP mode in the horizontal direction, cv::BORDER_REFLECT_101 in the vertical direction and\n. want to compute value of the "virtual" pixel Point(-5, 100) in a floating-point image img , it\n. looks like:\n. @code{.cpp}\n. float val = img.at(borderInterpolate(100, img.rows, cv::BORDER_REFLECT_101),\n. borderInterpolate(-5, img.cols, cv::BORDER_WRAP));\n. @endcode\n. Normally, the function is not called directly. It is used inside filtering functions and also in\n. copyMakeBorder.\n. @param p 0-based coordinate of the extrapolated pixel along one of the axes, likely \\<0 or \\>= len\n. @param len Length of the array along the corresponding axis.\n. @param borderType Border type, one of the #BorderTypes, except for #BORDER_TRANSPARENT and\n. #BORDER_ISOLATED . When borderType==#BORDER_CONSTANT , the function always returns -1, regardless\n. of p and len.\n. \n. @sa copyMakeBorder' - ... - -def boundingRect(array) -> typing.Any: - 'boundingRect(array) -> retval\n. @brief Calculates the up-right bounding rectangle of a point set or non-zero pixels of gray-scale image.\n. \n. The function calculates and returns the minimal up-right bounding rectangle for the specified point set or\n. non-zero pixels of gray-scale image.\n. \n. @param array Input gray-scale image or 2D point set, stored in std::vector or Mat.' - ... - -def boxFilter(src: Mat, ddepth, ksize, dts: Mat = ..., anchor=..., normalize=..., borderType=...) -> typing.Any: - 'boxFilter(src, ddepth, ksize[, dst[, anchor[, normalize[, borderType]]]]) -> dst\n. @brief Blurs an image using the box filter.\n. \n. The function smooths an image using the kernel:\n. \n. \\f[\\texttt{K} = \\alpha \\begin{bmatrix} 1 & 1 & 1 & \\cdots & 1 & 1 \\\\ 1 & 1 & 1 & \\cdots & 1 & 1 \\\\ \\hdotsfor{6} \\\\ 1 & 1 & 1 & \\cdots & 1 & 1 \\end{bmatrix}\\f]\n. \n. where\n. \n. \\f[\\alpha = \\begin{cases} \\frac{1}{\\texttt{ksize.width*ksize.height}} & \\texttt{when } \\texttt{normalize=true} \\\\1 & \\texttt{otherwise}\\end{cases}\\f]\n. \n. Unnormalized box filter is useful for computing various integral characteristics over each pixel\n. neighborhood, such as covariance matrices of image derivatives (used in dense optical flow\n. algorithms, and so on). If you need to compute pixel sums over variable-size windows, use #integral.\n. \n. @param src input image.\n. @param dst output image of the same size and type as src.\n. @param ddepth the output image depth (-1 to use src.depth()).\n. @param ksize blurring kernel size.\n. @param anchor anchor point; default value Point(-1,-1) means that the anchor is at the kernel\n. center.\n. @param normalize flag, specifying whether the kernel is normalized by its area or not.\n. @param borderType border mode used to extrapolate pixels outside of the image, see #BorderTypes. #BORDER_WRAP is not supported.\n. @sa blur, bilateralFilter, GaussianBlur, medianBlur, integral' - ... - -def boxPoints(box, points=...) -> typing.Any: - 'boxPoints(box[, points]) -> points\n. @brief Finds the four vertices of a rotated rect. Useful to draw the rotated rectangle.\n. \n. The function finds the four vertices of a rotated rectangle. This function is useful to draw the\n. rectangle. In C++, instead of using this function, you can directly use RotatedRect::points method. Please\n. visit the @ref tutorial_bounding_rotated_ellipses "tutorial on Creating Bounding rotated boxes and ellipses for contours" for more information.\n. \n. @param box The input rotated rectangle. It may be the output of\n. @param points The output array of four vertices of rectangles.' - ... - -def buildOpticalFlowPyramid(img: Mat, winSize, maxLevel, pyramid=..., withDerivatives=..., pyrBorder=..., derivBorder=..., tryReuseInputImage=...) -> typing.Any: - 'buildOpticalFlowPyramid(img, winSize, maxLevel[, pyramid[, withDerivatives[, pyrBorder[, derivBorder[, tryReuseInputImage]]]]]) -> retval, pyramid\n. @brief Constructs the image pyramid which can be passed to calcOpticalFlowPyrLK.\n. \n. @param img 8-bit input image.\n. @param pyramid output pyramid.\n. @param winSize window size of optical flow algorithm. Must be not less than winSize argument of\n. calcOpticalFlowPyrLK. It is needed to calculate required padding for pyramid levels.\n. @param maxLevel 0-based maximal pyramid level number.\n. @param withDerivatives set to precompute gradients for the every pyramid level. If pyramid is\n. constructed without the gradients then calcOpticalFlowPyrLK will calculate them internally.\n. @param pyrBorder the border mode for pyramid layers.\n. @param derivBorder the border mode for gradients.\n. @param tryReuseInputImage put ROI of input image into the pyramid if possible. You can pass false\n. to force data copying.\n. @return number of levels in constructed pyramid. Can be less than maxLevel.' - ... - -def calcBackProject(images: typing.List[Mat], channels: typing.List[int], hist, ranges: typing.List[int], scale, dts: Mat = ...) -> typing.Any: - 'calcBackProject(images, channels, hist, ranges, scale[, dst]) -> dst\n. @overload' - ... - -def calcCovarMatrix(samples, mean, flags: int, covar=..., ctype=...) -> typing.Any: - "calcCovarMatrix(samples, mean, flags[, covar[, ctype]]) -> covar, mean\n. @overload\n. @note use #COVAR_ROWS or #COVAR_COLS flag\n. @param samples samples stored as rows/columns of a single matrix.\n. @param covar output covariance matrix of the type ctype and square size.\n. @param mean input or output (depending on the flags) array as the average value of the input vectors.\n. @param flags operation flags as a combination of #CovarFlags\n. @param ctype type of the matrixl; it equals 'CV_64F' by default." - ... - -def calcHist(images: typing.List[Mat], channels: typing.List[int], mask: typing.Optional[Mat], histSize: typing.List[int], ranges: typing.List[int], hist=..., accumulate=...) -> Mat: - 'calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate]]) -> hist\n. @overload' - ... - -def calcOpticalFlowFarneback(prev, next, flow, pyr_scale, levels, winsize, iterations, poly_n, poly_sigma, flags: int) -> typing.Any: - "calcOpticalFlowFarneback(prev, next, flow, pyr_scale, levels, winsize, iterations, poly_n, poly_sigma, flags) -> flow\n. @brief Computes a dense optical flow using the Gunnar Farneback's algorithm.\n. \n. @param prev first 8-bit single-channel input image.\n. @param next second input image of the same size and the same type as prev.\n. @param flow computed flow image that has the same size as prev and type CV_32FC2.\n. @param pyr_scale parameter, specifying the image scale (\\<1) to build pyramids for each image;\n. pyr_scale=0.5 means a classical pyramid, where each next layer is twice smaller than the previous\n. one.\n. @param levels number of pyramid layers including the initial image; levels=1 means that no extra\n. layers are created and only the original images are used.\n. @param winsize averaging window size; larger values increase the algorithm robustness to image\n. noise and give more chances for fast motion detection, but yield more blurred motion field.\n. @param iterations number of iterations the algorithm does at each pyramid level.\n. @param poly_n size of the pixel neighborhood used to find polynomial expansion in each pixel;\n. larger values mean that the image will be approximated with smoother surfaces, yielding more\n. robust algorithm and more blurred motion field, typically poly_n =5 or 7.\n. @param poly_sigma standard deviation of the Gaussian that is used to smooth derivatives used as a\n. basis for the polynomial expansion; for poly_n=5, you can set poly_sigma=1.1, for poly_n=7, a\n. good value would be poly_sigma=1.5.\n. @param flags operation flags that can be a combination of the following:\n. - **OPTFLOW_USE_INITIAL_FLOW** uses the input flow as an initial flow approximation.\n. - **OPTFLOW_FARNEBACK_GAUSSIAN** uses the Gaussian \\f$\\texttt{winsize}\\times\\texttt{winsize}\\f$\n. filter instead of a box filter of the same size for optical flow estimation; usually, this\n. option gives z more accurate flow than with a box filter, at the cost of lower speed;\n. normally, winsize for a Gaussian window should be set to a larger value to achieve the same\n. level of robustness.\n. \n. The function finds an optical flow for each prev pixel using the @cite Farneback2003 algorithm so that\n. \n. \\f[\\texttt{prev} (y,x) \\sim \\texttt{next} ( y + \\texttt{flow} (y,x)[1], x + \\texttt{flow} (y,x)[0])\\f]\n. \n. @note\n. \n. - An example using the optical flow algorithm described by Gunnar Farneback can be found at\n. opencv_source_code/samples/cpp/fback.cpp\n. - (Python) An example using the optical flow algorithm described by Gunnar Farneback can be\n. found at opencv_source_code/samples/python/opt_flow.py" - ... - -def calcOpticalFlowPyrLK(prevImg, nextImg, prevPts, nextPts, status=..., err=..., winSize=..., maxLevel=..., criteria=..., flags: int = ..., minEigThreshold=...) -> typing.Any: - "calcOpticalFlowPyrLK(prevImg, nextImg, prevPts, nextPts[, status[, err[, winSize[, maxLevel[, criteria[, flags[, minEigThreshold]]]]]]]) -> nextPts, status, err\n. @brief Calculates an optical flow for a sparse feature set using the iterative Lucas-Kanade method with\n. pyramids.\n. \n. @param prevImg first 8-bit input image or pyramid constructed by buildOpticalFlowPyramid.\n. @param nextImg second input image or pyramid of the same size and the same type as prevImg.\n. @param prevPts vector of 2D points for which the flow needs to be found; point coordinates must be\n. single-precision floating-point numbers.\n. @param nextPts output vector of 2D points (with single-precision floating-point coordinates)\n. containing the calculated new positions of input features in the second image; when\n. OPTFLOW_USE_INITIAL_FLOW flag is passed, the vector must have the same size as in the input.\n. @param status output status vector (of unsigned chars); each element of the vector is set to 1 if\n. the flow for the corresponding features has been found, otherwise, it is set to 0.\n. @param err output vector of errors; each element of the vector is set to an error for the\n. corresponding feature, type of the error measure can be set in flags parameter; if the flow wasn't\n. found then the error is not defined (use the status parameter to find such cases).\n. @param winSize size of the search window at each pyramid level.\n. @param maxLevel 0-based maximal pyramid level number; if set to 0, pyramids are not used (single\n. level), if set to 1, two levels are used, and so on; if pyramids are passed to input then\n. algorithm will use as many levels as pyramids have but no more than maxLevel.\n. @param criteria parameter, specifying the termination criteria of the iterative search algorithm\n. (after the specified maximum number of iterations criteria.maxCount or when the search window\n. moves by less than criteria.epsilon.\n. @param flags operation flags:\n. - **OPTFLOW_USE_INITIAL_FLOW** uses initial estimations, stored in nextPts; if the flag is\n. not set, then prevPts is copied to nextPts and is considered the initial estimate.\n. - **OPTFLOW_LK_GET_MIN_EIGENVALS** use minimum eigen values as an error measure (see\n. minEigThreshold description); if the flag is not set, then L1 distance between patches\n. around the original and a moved point, divided by number of pixels in a window, is used as a\n. error measure.\n. @param minEigThreshold the algorithm calculates the minimum eigen value of a 2x2 normal matrix of\n. optical flow equations (this matrix is called a spatial gradient matrix in @cite Bouguet00), divided\n. by number of pixels in a window; if this value is less than minEigThreshold, then a corresponding\n. feature is filtered out and its flow is not processed, so it allows to remove bad points and get a\n. performance boost.\n. \n. The function implements a sparse iterative version of the Lucas-Kanade optical flow in pyramids. See\n. @cite Bouguet00 . The function is parallelized with the TBB library.\n. \n. @note\n. \n. - An example using the Lucas-Kanade optical flow algorithm can be found at\n. opencv_source_code/samples/cpp/lkdemo.cpp\n. - (Python) An example using the Lucas-Kanade optical flow algorithm can be found at\n. opencv_source_code/samples/python/lk_track.py\n. - (Python) An example using the Lucas-Kanade tracker for homography matching can be found at\n. opencv_source_code/samples/python/lk_homography.py" - ... - -def calibrateCamera(objectPoints, imagePoints, imageSize, cameraMatrix, distCoeffs, rvecs=..., tvecs=..., flags: int = ..., criteria=...) -> typing.Any: - 'calibrateCamera(objectPoints, imagePoints, imageSize, cameraMatrix, distCoeffs[, rvecs[, tvecs[, flags[, criteria]]]]) -> retval, cameraMatrix, distCoeffs, rvecs, tvecs\n. @overload' - ... - -def calibrateCameraExtended(objectPoints, imagePoints, imageSize, cameraMatrix, distCoeffs, rvecs=..., tvecs=..., stdDeviationsIntrinsics=..., stdDeviationsExtrinsics=..., perViewErrors=..., flags: int = ..., criteria=...) -> typing.Any: - "calibrateCameraExtended(objectPoints, imagePoints, imageSize, cameraMatrix, distCoeffs[, rvecs[, tvecs[, stdDeviationsIntrinsics[, stdDeviationsExtrinsics[, perViewErrors[, flags[, criteria]]]]]]]) -> retval, cameraMatrix, distCoeffs, rvecs, tvecs, stdDeviationsIntrinsics, stdDeviationsExtrinsics, perViewErrors\n. @brief Finds the camera intrinsic and extrinsic parameters from several views of a calibration\n. pattern.\n. \n. @param objectPoints In the new interface it is a vector of vectors of calibration pattern points in\n. the calibration pattern coordinate space (e.g. std::vector>). The outer\n. vector contains as many elements as the number of pattern views. If the same calibration pattern\n. is shown in each view and it is fully visible, all the vectors will be the same. Although, it is\n. possible to use partially occluded patterns or even different patterns in different views. Then,\n. the vectors will be different. Although the points are 3D, they all lie in the calibration pattern's\n. XY coordinate plane (thus 0 in the Z-coordinate), if the used calibration pattern is a planar rig.\n. In the old interface all the vectors of object points from different views are concatenated\n. together.\n. @param imagePoints In the new interface it is a vector of vectors of the projections of calibration\n. pattern points (e.g. std::vector>). imagePoints.size() and\n. objectPoints.size(), and imagePoints[i].size() and objectPoints[i].size() for each i, must be equal,\n. respectively. In the old interface all the vectors of object points from different views are\n. concatenated together.\n. @param imageSize Size of the image used only to initialize the intrinsic camera matrix.\n. @param cameraMatrix Input/output 3x3 floating-point camera matrix\n. \\f$A = \\vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\\f$ . If CV\\_CALIB\\_USE\\_INTRINSIC\\_GUESS\n. and/or CALIB_FIX_ASPECT_RATIO are specified, some or all of fx, fy, cx, cy must be\n. initialized before calling the function.\n. @param distCoeffs Input/output vector of distortion coefficients\n. \\f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]])\\f$ of\n. 4, 5, 8, 12 or 14 elements.\n. @param rvecs Output vector of rotation vectors (@ref Rodrigues ) estimated for each pattern view\n. (e.g. std::vector>). That is, each i-th rotation vector together with the corresponding\n. i-th translation vector (see the next output parameter description) brings the calibration pattern\n. from the object coordinate space (in which object points are specified) to the camera coordinate\n. space. In more technical terms, the tuple of the i-th rotation and translation vector performs\n. a change of basis from object coordinate space to camera coordinate space. Due to its duality, this\n. tuple is equivalent to the position of the calibration pattern with respect to the camera coordinate\n. space.\n. @param tvecs Output vector of translation vectors estimated for each pattern view, see parameter\n. describtion above.\n. @param stdDeviationsIntrinsics Output vector of standard deviations estimated for intrinsic\n. parameters. Order of deviations values:\n. \\f$(f_x, f_y, c_x, c_y, k_1, k_2, p_1, p_2, k_3, k_4, k_5, k_6 , s_1, s_2, s_3,\n. s_4, \\tau_x, \\tau_y)\\f$ If one of parameters is not estimated, it's deviation is equals to zero.\n. @param stdDeviationsExtrinsics Output vector of standard deviations estimated for extrinsic\n. parameters. Order of deviations values: \\f$(R_0, T_0, \\dotsc , R_{M - 1}, T_{M - 1})\\f$ where M is\n. the number of pattern views. \\f$R_i, T_i\\f$ are concatenated 1x3 vectors.\n. @param perViewErrors Output vector of the RMS re-projection error estimated for each pattern view.\n. @param flags Different flags that may be zero or a combination of the following values:\n. - **CALIB_USE_INTRINSIC_GUESS** cameraMatrix contains valid initial values of\n. fx, fy, cx, cy that are optimized further. Otherwise, (cx, cy) is initially set to the image\n. center ( imageSize is used), and focal distances are computed in a least-squares fashion.\n. Note, that if intrinsic parameters are known, there is no need to use this function just to\n. estimate extrinsic parameters. Use solvePnP instead.\n. - **CALIB_FIX_PRINCIPAL_POINT** The principal point is not changed during the global\n. optimization. It stays at the center or at a different location specified when\n. CALIB_USE_INTRINSIC_GUESS is set too.\n. - **CALIB_FIX_ASPECT_RATIO** The functions consider only fy as a free parameter. The\n. ratio fx/fy stays the same as in the input cameraMatrix . When\n. CALIB_USE_INTRINSIC_GUESS is not set, the actual input values of fx and fy are\n. ignored, only their ratio is computed and used further.\n. - **CALIB_ZERO_TANGENT_DIST** Tangential distortion coefficients \\f$(p_1, p_2)\\f$ are set\n. to zeros and stay zero.\n. - **CALIB_FIX_K1,...,CALIB_FIX_K6** The corresponding radial distortion\n. coefficient is not changed during the optimization. If CALIB_USE_INTRINSIC_GUESS is\n. set, the coefficient from the supplied distCoeffs matrix is used. Otherwise, it is set to 0.\n. - **CALIB_RATIONAL_MODEL** Coefficients k4, k5, and k6 are enabled. To provide the\n. backward compatibility, this extra flag should be explicitly specified to make the\n. calibration function use the rational model and return 8 coefficients. If the flag is not\n. set, the function computes and returns only 5 distortion coefficients.\n. - **CALIB_THIN_PRISM_MODEL** Coefficients s1, s2, s3 and s4 are enabled. To provide the\n. backward compatibility, this extra flag should be explicitly specified to make the\n. calibration function use the thin prism model and return 12 coefficients. If the flag is not\n. set, the function computes and returns only 5 distortion coefficients.\n. - **CALIB_FIX_S1_S2_S3_S4** The thin prism distortion coefficients are not changed during\n. the optimization. If CALIB_USE_INTRINSIC_GUESS is set, the coefficient from the\n. supplied distCoeffs matrix is used. Otherwise, it is set to 0.\n. - **CALIB_TILTED_MODEL** Coefficients tauX and tauY are enabled. To provide the\n. backward compatibility, this extra flag should be explicitly specified to make the\n. calibration function use the tilted sensor model and return 14 coefficients. If the flag is not\n. set, the function computes and returns only 5 distortion coefficients.\n. - **CALIB_FIX_TAUX_TAUY** The coefficients of the tilted sensor model are not changed during\n. the optimization. If CALIB_USE_INTRINSIC_GUESS is set, the coefficient from the\n. supplied distCoeffs matrix is used. Otherwise, it is set to 0.\n. @param criteria Termination criteria for the iterative optimization algorithm.\n. \n. @return the overall RMS re-projection error.\n. \n. The function estimates the intrinsic camera parameters and extrinsic parameters for each of the\n. views. The algorithm is based on @cite Zhang2000 and @cite BouguetMCT . The coordinates of 3D object\n. points and their corresponding 2D projections in each view must be specified. That may be achieved\n. by using an object with known geometry and easily detectable feature points. Such an object is\n. called a calibration rig or calibration pattern, and OpenCV has built-in support for a chessboard as\n. a calibration rig (see @ref findChessboardCorners). Currently, initialization of intrinsic\n. parameters (when CALIB_USE_INTRINSIC_GUESS is not set) is only implemented for planar calibration\n. patterns (where Z-coordinates of the object points must be all zeros). 3D calibration rigs can also\n. be used as long as initial cameraMatrix is provided.\n. \n. The algorithm performs the following steps:\n. \n. - Compute the initial intrinsic parameters (the option only available for planar calibration\n. patterns) or read them from the input parameters. The distortion coefficients are all set to\n. zeros initially unless some of CALIB_FIX_K? are specified.\n. \n. - Estimate the initial camera pose as if the intrinsic parameters have been already known. This is\n. done using solvePnP .\n. \n. - Run the global Levenberg-Marquardt optimization algorithm to minimize the reprojection error,\n. that is, the total sum of squared distances between the observed feature points imagePoints and\n. the projected (using the current estimates for camera parameters and the poses) object points\n. objectPoints. See projectPoints for details.\n. \n. @note\n. If you use a non-square (i.e. non-N-by-N) grid and @ref findChessboardCorners for calibration,\n. and @ref calibrateCamera returns bad values (zero distortion coefficients, \\f$c_x\\f$ and\n. \\f$c_y\\f$ very far from the image center, and/or large differences between \\f$f_x\\f$ and\n. \\f$f_y\\f$ (ratios of 10:1 or more)), then you are probably using patternSize=cvSize(rows,cols)\n. instead of using patternSize=cvSize(cols,rows) in @ref findChessboardCorners.\n. \n. @sa\n. calibrateCameraRO, findChessboardCorners, solvePnP, initCameraMatrix2D, stereoCalibrate,\n. undistort" - ... - -def calibrateCameraRO(objectPoints, imagePoints, imageSize, iFixedPoint, cameraMatrix, distCoeffs, rvecs=..., tvecs=..., newObjPoints=..., flags: int = ..., criteria=...) -> typing.Any: - 'calibrateCameraRO(objectPoints, imagePoints, imageSize, iFixedPoint, cameraMatrix, distCoeffs[, rvecs[, tvecs[, newObjPoints[, flags[, criteria]]]]]) -> retval, cameraMatrix, distCoeffs, rvecs, tvecs, newObjPoints\n. @overload' - ... - -def calibrateCameraROExtended(objectPoints, imagePoints, imageSize, iFixedPoint, cameraMatrix, distCoeffs, rvecs=..., tvecs=..., newObjPoints=..., stdDeviationsIntrinsics=..., stdDeviationsExtrinsics=..., stdDeviationsObjPoints=..., perViewErrors=..., flags: int = ..., criteria=...) -> typing.Any: - 'calibrateCameraROExtended(objectPoints, imagePoints, imageSize, iFixedPoint, cameraMatrix, distCoeffs[, rvecs[, tvecs[, newObjPoints[, stdDeviationsIntrinsics[, stdDeviationsExtrinsics[, stdDeviationsObjPoints[, perViewErrors[, flags[, criteria]]]]]]]]]) -> retval, cameraMatrix, distCoeffs, rvecs, tvecs, newObjPoints, stdDeviationsIntrinsics, stdDeviationsExtrinsics, stdDeviationsObjPoints, perViewErrors\n. @brief Finds the camera intrinsic and extrinsic parameters from several views of a calibration pattern.\n. \n. This function is an extension of calibrateCamera() with the method of releasing object which was\n. proposed in @cite strobl2011iccv. In many common cases with inaccurate, unmeasured, roughly planar\n. targets (calibration plates), this method can dramatically improve the precision of the estimated\n. camera parameters. Both the object-releasing method and standard method are supported by this\n. function. Use the parameter **iFixedPoint** for method selection. In the internal implementation,\n. calibrateCamera() is a wrapper for this function.\n. \n. @param objectPoints Vector of vectors of calibration pattern points in the calibration pattern\n. coordinate space. See calibrateCamera() for details. If the method of releasing object to be used,\n. the identical calibration board must be used in each view and it must be fully visible, and all\n. objectPoints[i] must be the same and all points should be roughly close to a plane. **The calibration\n. target has to be rigid, or at least static if the camera (rather than the calibration target) is\n. shifted for grabbing images.**\n. @param imagePoints Vector of vectors of the projections of calibration pattern points. See\n. calibrateCamera() for details.\n. @param imageSize Size of the image used only to initialize the intrinsic camera matrix.\n. @param iFixedPoint The index of the 3D object point in objectPoints[0] to be fixed. It also acts as\n. a switch for calibration method selection. If object-releasing method to be used, pass in the\n. parameter in the range of [1, objectPoints[0].size()-2], otherwise a value out of this range will\n. make standard calibration method selected. Usually the top-right corner point of the calibration\n. board grid is recommended to be fixed when object-releasing method being utilized. According to\n. \\cite strobl2011iccv, two other points are also fixed. In this implementation, objectPoints[0].front\n. and objectPoints[0].back.z are used. With object-releasing method, accurate rvecs, tvecs and\n. newObjPoints are only possible if coordinates of these three fixed points are accurate enough.\n. @param cameraMatrix Output 3x3 floating-point camera matrix. See calibrateCamera() for details.\n. @param distCoeffs Output vector of distortion coefficients. See calibrateCamera() for details.\n. @param rvecs Output vector of rotation vectors estimated for each pattern view. See calibrateCamera()\n. for details.\n. @param tvecs Output vector of translation vectors estimated for each pattern view.\n. @param newObjPoints The updated output vector of calibration pattern points. The coordinates might\n. be scaled based on three fixed points. The returned coordinates are accurate only if the above\n. mentioned three fixed points are accurate. If not needed, noArray() can be passed in. This parameter\n. is ignored with standard calibration method.\n. @param stdDeviationsIntrinsics Output vector of standard deviations estimated for intrinsic parameters.\n. See calibrateCamera() for details.\n. @param stdDeviationsExtrinsics Output vector of standard deviations estimated for extrinsic parameters.\n. See calibrateCamera() for details.\n. @param stdDeviationsObjPoints Output vector of standard deviations estimated for refined coordinates\n. of calibration pattern points. It has the same size and order as objectPoints[0] vector. This\n. parameter is ignored with standard calibration method.\n. @param perViewErrors Output vector of the RMS re-projection error estimated for each pattern view.\n. @param flags Different flags that may be zero or a combination of some predefined values. See\n. calibrateCamera() for details. If the method of releasing object is used, the calibration time may\n. be much longer. CALIB_USE_QR or CALIB_USE_LU could be used for faster calibration with potentially\n. less precise and less stable in some rare cases.\n. @param criteria Termination criteria for the iterative optimization algorithm.\n. \n. @return the overall RMS re-projection error.\n. \n. The function estimates the intrinsic camera parameters and extrinsic parameters for each of the\n. views. The algorithm is based on @cite Zhang2000, @cite BouguetMCT and @cite strobl2011iccv. See\n. calibrateCamera() for other detailed explanations.\n. @sa\n. calibrateCamera, findChessboardCorners, solvePnP, initCameraMatrix2D, stereoCalibrate, undistort' - ... - -def calibrateHandEye(R_gripper2base, t_gripper2base, R_target2cam, t_target2cam, R_cam2gripper=..., t_cam2gripper=..., method: int = ...) -> typing.Any: - 'calibrateHandEye(R_gripper2base, t_gripper2base, R_target2cam, t_target2cam[, R_cam2gripper[, t_cam2gripper[, method]]]) -> R_cam2gripper, t_cam2gripper\n. @brief Computes Hand-Eye calibration: \\f$_{}^{g}\\textrm{T}_c\\f$\n. \n. @param[in] R_gripper2base Rotation part extracted from the homogeneous matrix that transforms a point\n. expressed in the gripper frame to the robot base frame (\\f$_{}^{b}\\textrm{T}_g\\f$).\n. This is a vector (`vector`) that contains the rotation matrices for all the transformations\n. from gripper frame to robot base frame.\n. @param[in] t_gripper2base Translation part extracted from the homogeneous matrix that transforms a point\n. expressed in the gripper frame to the robot base frame (\\f$_{}^{b}\\textrm{T}_g\\f$).\n. This is a vector (`vector`) that contains the translation vectors for all the transformations\n. from gripper frame to robot base frame.\n. @param[in] R_target2cam Rotation part extracted from the homogeneous matrix that transforms a point\n. expressed in the target frame to the camera frame (\\f$_{}^{c}\\textrm{T}_t\\f$).\n. This is a vector (`vector`) that contains the rotation matrices for all the transformations\n. from calibration target frame to camera frame.\n. @param[in] t_target2cam Rotation part extracted from the homogeneous matrix that transforms a point\n. expressed in the target frame to the camera frame (\\f$_{}^{c}\\textrm{T}_t\\f$).\n. This is a vector (`vector`) that contains the translation vectors for all the transformations\n. from calibration target frame to camera frame.\n. @param[out] R_cam2gripper Estimated rotation part extracted from the homogeneous matrix that transforms a point\n. expressed in the camera frame to the gripper frame (\\f$_{}^{g}\\textrm{T}_c\\f$).\n. @param[out] t_cam2gripper Estimated translation part extracted from the homogeneous matrix that transforms a point\n. expressed in the camera frame to the gripper frame (\\f$_{}^{g}\\textrm{T}_c\\f$).\n. @param[in] method One of the implemented Hand-Eye calibration method, see cv::HandEyeCalibrationMethod\n. \n. The function performs the Hand-Eye calibration using various methods. One approach consists in estimating the\n. rotation then the translation (separable solutions) and the following methods are implemented:\n. - R. Tsai, R. Lenz A New Technique for Fully Autonomous and Efficient 3D Robotics Hand/EyeCalibration \\cite Tsai89\n. - F. Park, B. Martin Robot Sensor Calibration: Solving AX = XB on the Euclidean Group \\cite Park94\n. - R. Horaud, F. Dornaika Hand-Eye Calibration \\cite Horaud95\n. \n. Another approach consists in estimating simultaneously the rotation and the translation (simultaneous solutions),\n. with the following implemented method:\n. - N. Andreff, R. Horaud, B. Espiau On-line Hand-Eye Calibration \\cite Andreff99\n. - K. Daniilidis Hand-Eye Calibration Using Dual Quaternions \\cite Daniilidis98\n. \n. The following picture describes the Hand-Eye calibration problem where the transformation between a camera ("eye")\n. mounted on a robot gripper ("hand") has to be estimated.\n. \n. ![](pics/hand-eye_figure.png)\n. \n. The calibration procedure is the following:\n. - a static calibration pattern is used to estimate the transformation between the target frame\n. and the camera frame\n. - the robot gripper is moved in order to acquire several poses\n. - for each pose, the homogeneous transformation between the gripper frame and the robot base frame is recorded using for\n. instance the robot kinematics\n. \\f[\n. \\begin{bmatrix}\n. X_b\\\\\n. Y_b\\\\\n. Z_b\\\\\n. 1\n. \\end{bmatrix}\n. =\n. \\begin{bmatrix}\n. _{}^{b}\\textrm{R}_g & _{}^{b}\\textrm{t}_g \\\\\n. 0_{1 \\times 3} & 1\n. \\end{bmatrix}\n. \\begin{bmatrix}\n. X_g\\\\\n. Y_g\\\\\n. Z_g\\\\\n. 1\n. \\end{bmatrix}\n. \\f]\n. - for each pose, the homogeneous transformation between the calibration target frame and the camera frame is recorded using\n. for instance a pose estimation method (PnP) from 2D-3D point correspondences\n. \\f[\n. \\begin{bmatrix}\n. X_c\\\\\n. Y_c\\\\\n. Z_c\\\\\n. 1\n. \\end{bmatrix}\n. =\n. \\begin{bmatrix}\n. _{}^{c}\\textrm{R}_t & _{}^{c}\\textrm{t}_t \\\\\n. 0_{1 \\times 3} & 1\n. \\end{bmatrix}\n. \\begin{bmatrix}\n. X_t\\\\\n. Y_t\\\\\n. Z_t\\\\\n. 1\n. \\end{bmatrix}\n. \\f]\n. \n. The Hand-Eye calibration procedure returns the following homogeneous transformation\n. \\f[\n. \\begin{bmatrix}\n. X_g\\\\\n. Y_g\\\\\n. Z_g\\\\\n. 1\n. \\end{bmatrix}\n. =\n. \\begin{bmatrix}\n. _{}^{g}\\textrm{R}_c & _{}^{g}\\textrm{t}_c \\\\\n. 0_{1 \\times 3} & 1\n. \\end{bmatrix}\n. \\begin{bmatrix}\n. X_c\\\\\n. Y_c\\\\\n. Z_c\\\\\n. 1\n. \\end{bmatrix}\n. \\f]\n. \n. This problem is also known as solving the \\f$\\mathbf{A}\\mathbf{X}=\\mathbf{X}\\mathbf{B}\\f$ equation:\n. \\f[\n. \\begin{align*}\n. ^{b}{\\textrm{T}_g}^{(1)} \\hspace{0.2em} ^{g}\\textrm{T}_c \\hspace{0.2em} ^{c}{\\textrm{T}_t}^{(1)} &=\n. \\hspace{0.1em} ^{b}{\\textrm{T}_g}^{(2)} \\hspace{0.2em} ^{g}\\textrm{T}_c \\hspace{0.2em} ^{c}{\\textrm{T}_t}^{(2)} \\\\\n. \n. (^{b}{\\textrm{T}_g}^{(2)})^{-1} \\hspace{0.2em} ^{b}{\\textrm{T}_g}^{(1)} \\hspace{0.2em} ^{g}\\textrm{T}_c &=\n. \\hspace{0.1em} ^{g}\\textrm{T}_c \\hspace{0.2em} ^{c}{\\textrm{T}_t}^{(2)} (^{c}{\\textrm{T}_t}^{(1)})^{-1} \\\\\n. \n. \\textrm{A}_i \\textrm{X} &= \\textrm{X} \\textrm{B}_i \\\\\n. \\end{align*}\n. \\f]\n. \n. \\note\n. Additional information can be found on this [website](http://campar.in.tum.de/Chair/HandEyeCalibration).\n. \\note\n. A minimum of 2 motions with non parallel rotation axes are necessary to determine the hand-eye transformation.\n. So at least 3 different poses are required, but it is strongly recommended to use many more poses.' - ... - -def calibrationMatrixValues(cameraMatrix, imageSize, apertureWidth, apertureHeight) -> typing.Any: - "calibrationMatrixValues(cameraMatrix, imageSize, apertureWidth, apertureHeight) -> fovx, fovy, focalLength, principalPoint, aspectRatio\n. @brief Computes useful camera characteristics from the camera matrix.\n. \n. @param cameraMatrix Input camera matrix that can be estimated by calibrateCamera or\n. stereoCalibrate .\n. @param imageSize Input image size in pixels.\n. @param apertureWidth Physical width in mm of the sensor.\n. @param apertureHeight Physical height in mm of the sensor.\n. @param fovx Output field of view in degrees along the horizontal sensor axis.\n. @param fovy Output field of view in degrees along the vertical sensor axis.\n. @param focalLength Focal length of the lens in mm.\n. @param principalPoint Principal point in mm.\n. @param aspectRatio \\f$f_y/f_x\\f$\n. \n. The function computes various useful camera characteristics from the previously estimated camera\n. matrix.\n. \n. @note\n. Do keep in mind that the unity measure 'mm' stands for whatever unit of measure one chooses for\n. the chessboard pitch (it can thus be any value)." - ... - -def cartToPolar(x, y, magnitude=..., angle=..., angleInDegrees=...) -> typing.Any: - 'cartToPolar(x, y[, magnitude[, angle[, angleInDegrees]]]) -> magnitude, angle\n. @brief Calculates the magnitude and angle of 2D vectors.\n. \n. The function cv::cartToPolar calculates either the magnitude, angle, or both\n. for every 2D vector (x(I),y(I)):\n. \\f[\\begin{array}{l} \\texttt{magnitude} (I)= \\sqrt{\\texttt{x}(I)^2+\\texttt{y}(I)^2} , \\\\ \\texttt{angle} (I)= \\texttt{atan2} ( \\texttt{y} (I), \\texttt{x} (I))[ \\cdot180 / \\pi ] \\end{array}\\f]\n. \n. The angles are calculated with accuracy about 0.3 degrees. For the point\n. (0,0), the angle is set to 0.\n. @param x array of x-coordinates; this must be a single-precision or\n. double-precision floating-point array.\n. @param y array of y-coordinates, that must have the same size and same type as x.\n. @param magnitude output array of magnitudes of the same size and type as x.\n. @param angle output array of angles that has the same size and type as\n. x; the angles are measured in radians (from 0 to 2\\*Pi) or in degrees (0 to 360 degrees).\n. @param angleInDegrees a flag, indicating whether the angles are measured\n. in radians (which is by default), or in degrees.\n. @sa Sobel, Scharr' - ... - -def checkChessboard(img: Mat, size) -> typing.Any: - 'checkChessboard(img, size) -> retval\n.' - ... - -def checkHardwareSupport(feature) -> typing.Any: - 'checkHardwareSupport(feature) -> retval\n. @brief Returns true if the specified feature is supported by the host hardware.\n. \n. The function returns true if the host hardware supports the specified feature. When user calls\n. setUseOptimized(false), the subsequent calls to checkHardwareSupport() will return false until\n. setUseOptimized(true) is called. This way user can dynamically switch on and off the optimized code\n. in OpenCV.\n. @param feature The feature of interest, one of cv::CpuFeatures' - ... - -def checkRange(a, quiet=..., minVal=..., maxVal=...) -> typing.Any: - 'checkRange(a[, quiet[, minVal[, maxVal]]]) -> retval, pos\n. @brief Checks every element of an input array for invalid values.\n. \n. The function cv::checkRange checks that every array element is neither NaN nor infinite. When minVal \\>\n. -DBL_MAX and maxVal \\< DBL_MAX, the function also checks that each value is between minVal and\n. maxVal. In case of multi-channel arrays, each channel is processed independently. If some values\n. are out of range, position of the first outlier is stored in pos (when pos != NULL). Then, the\n. function either returns false (when quiet=true) or throws an exception.\n. @param a input array.\n. @param quiet a flag, indicating whether the functions quietly return false when the array elements\n. are out of range or they throw an exception.\n. @param pos optional output parameter, when not NULL, must be a pointer to array of src.dims\n. elements.\n. @param minVal inclusive lower boundary of valid values range.\n. @param maxVal exclusive upper boundary of valid values range.' - ... - -def circle(img: Mat, center, radius, color, thickness=..., lineType=..., shift=...) -> typing.Any: - 'circle(img, center, radius, color[, thickness[, lineType[, shift]]]) -> img\n. @brief Draws a circle.\n. \n. The function cv::circle draws a simple or filled circle with a given center and radius.\n. @param img Image where the circle is drawn.\n. @param center Center of the circle.\n. @param radius Radius of the circle.\n. @param color Circle color.\n. @param thickness Thickness of the circle outline, if positive. Negative values, like #FILLED,\n. mean that a filled circle is to be drawn.\n. @param lineType Type of the circle boundary. See #LineTypes\n. @param shift Number of fractional bits in the coordinates of the center and in the radius value.' - ... - -def clipLine(imgRect, pt1, pt2) -> typing.Any: - 'clipLine(imgRect, pt1, pt2) -> retval, pt1, pt2\n. @overload\n. @param imgRect Image rectangle.\n. @param pt1 First line point.\n. @param pt2 Second line point.' - ... - -def colorChange(src: Mat, mask: Mat, dts: Mat = ..., red_mul=..., green_mul=..., blue_mul=...) -> typing.Any: - 'colorChange(src, mask[, dst[, red_mul[, green_mul[, blue_mul]]]]) -> dst\n. @brief Given an original color image, two differently colored versions of this image can be mixed\n. seamlessly.\n. \n. @param src Input 8-bit 3-channel image.\n. @param mask Input 8-bit 1 or 3-channel image.\n. @param dst Output image with the same size and type as src .\n. @param red_mul R-channel multiply factor.\n. @param green_mul G-channel multiply factor.\n. @param blue_mul B-channel multiply factor.\n. \n. Multiplication factor is between .5 to 2.5.' - ... - -def compare(src1: Mat, src2: Mat, cmpop, dts: Mat = ...) -> typing.Any: - 'compare(src1, src2, cmpop[, dst]) -> dst\n. @brief Performs the per-element comparison of two arrays or an array and scalar value.\n. \n. The function compares:\n. * Elements of two arrays when src1 and src2 have the same size:\n. \\f[\\texttt{dst} (I) = \\texttt{src1} (I) \\,\\texttt{cmpop}\\, \\texttt{src2} (I)\\f]\n. * Elements of src1 with a scalar src2 when src2 is constructed from\n. Scalar or has a single element:\n. \\f[\\texttt{dst} (I) = \\texttt{src1}(I) \\,\\texttt{cmpop}\\, \\texttt{src2}\\f]\n. * src1 with elements of src2 when src1 is constructed from Scalar or\n. has a single element:\n. \\f[\\texttt{dst} (I) = \\texttt{src1} \\,\\texttt{cmpop}\\, \\texttt{src2} (I)\\f]\n. When the comparison result is true, the corresponding element of output\n. array is set to 255. The comparison operations can be replaced with the\n. equivalent matrix expressions:\n. @code{.cpp}\n. Mat dst1 = src1 >= src2;\n. Mat dst2 = src1 < 8;\n. ...\n. @endcode\n. @param src1 first input array or a scalar; when it is an array, it must have a single channel.\n. @param src2 second input array or a scalar; when it is an array, it must have a single channel.\n. @param dst output array of type ref CV_8U that has the same size and the same number of channels as\n. the input arrays.\n. @param cmpop a flag, that specifies correspondence between the arrays (cv::CmpTypes)\n. @sa checkRange, min, max, threshold' - ... - -def compareHist(H1: Mat, H2: Mat, method: int) -> float: - 'compareHist(H1, H2, method) -> retval\n. @brief Compares two histograms.\n. \n. The function cv::compareHist compares two dense or two sparse histograms using the specified method.\n. \n. The function returns \\f$d(H_1, H_2)\\f$ .\n. \n. While the function works well with 1-, 2-, 3-dimensional dense histograms, it may not be suitable\n. for high-dimensional sparse histograms. In such histograms, because of aliasing and sampling\n. problems, the coordinates of non-zero histogram bins can slightly shift. To compare such histograms\n. or more general sparse configurations of weighted points, consider using the #EMD function.\n. \n. @param H1 First compared histogram.\n. @param H2 Second compared histogram of the same size as H1 .\n. @param method Comparison method, see #HistCompMethods' - ... - -def completeSymm(m, lowerToUpper=...) -> typing.Any: - 'completeSymm(m[, lowerToUpper]) -> m\n. @brief Copies the lower or the upper half of a square matrix to its another half.\n. \n. The function cv::completeSymm copies the lower or the upper half of a square matrix to\n. its another half. The matrix diagonal remains unchanged:\n. - \\f$\\texttt{m}_{ij}=\\texttt{m}_{ji}\\f$ for \\f$i > j\\f$ if\n. lowerToUpper=false\n. - \\f$\\texttt{m}_{ij}=\\texttt{m}_{ji}\\f$ for \\f$i < j\\f$ if\n. lowerToUpper=true\n. \n. @param m input-output floating-point square matrix.\n. @param lowerToUpper operation flag; if true, the lower half is copied to\n. the upper half. Otherwise, the upper half is copied to the lower half.\n. @sa flip, transpose' - ... - -def composeRT(rvec1, tvec1, rvec2, tvec2, rvec3=..., tvec3=..., dr3dr1=..., dr3dt1=..., dr3dr2=..., dr3dt2=..., dt3dr1=..., dt3dt1=..., dt3dr2=..., dt3dt2=...) -> typing.Any: - 'composeRT(rvec1, tvec1, rvec2, tvec2[, rvec3[, tvec3[, dr3dr1[, dr3dt1[, dr3dr2[, dr3dt2[, dt3dr1[, dt3dt1[, dt3dr2[, dt3dt2]]]]]]]]]]) -> rvec3, tvec3, dr3dr1, dr3dt1, dr3dr2, dr3dt2, dt3dr1, dt3dt1, dt3dr2, dt3dt2\n. @brief Combines two rotation-and-shift transformations.\n. \n. @param rvec1 First rotation vector.\n. @param tvec1 First translation vector.\n. @param rvec2 Second rotation vector.\n. @param tvec2 Second translation vector.\n. @param rvec3 Output rotation vector of the superposition.\n. @param tvec3 Output translation vector of the superposition.\n. @param dr3dr1 Optional output derivative of rvec3 with regard to rvec1\n. @param dr3dt1 Optional output derivative of rvec3 with regard to tvec1\n. @param dr3dr2 Optional output derivative of rvec3 with regard to rvec2\n. @param dr3dt2 Optional output derivative of rvec3 with regard to tvec2\n. @param dt3dr1 Optional output derivative of tvec3 with regard to rvec1\n. @param dt3dt1 Optional output derivative of tvec3 with regard to tvec1\n. @param dt3dr2 Optional output derivative of tvec3 with regard to rvec2\n. @param dt3dt2 Optional output derivative of tvec3 with regard to tvec2\n. \n. The functions compute:\n. \n. \\f[\\begin{array}{l} \\texttt{rvec3} = \\mathrm{rodrigues} ^{-1} \\left ( \\mathrm{rodrigues} ( \\texttt{rvec2} ) \\cdot \\mathrm{rodrigues} ( \\texttt{rvec1} ) \\right ) \\\\ \\texttt{tvec3} = \\mathrm{rodrigues} ( \\texttt{rvec2} ) \\cdot \\texttt{tvec1} + \\texttt{tvec2} \\end{array} ,\\f]\n. \n. where \\f$\\mathrm{rodrigues}\\f$ denotes a rotation vector to a rotation matrix transformation, and\n. \\f$\\mathrm{rodrigues}^{-1}\\f$ denotes the inverse transformation. See Rodrigues for details.\n. \n. Also, the functions can compute the derivatives of the output vectors with regards to the input\n. vectors (see matMulDeriv ). The functions are used inside stereoCalibrate but can also be used in\n. your own code where Levenberg-Marquardt or another gradient-based solver is used to optimize a\n. function that contains a matrix multiplication.' - ... - -def computeCorrespondEpilines(points, whichImage, F, lines=...) -> typing.Any: - 'computeCorrespondEpilines(points, whichImage, F[, lines]) -> lines\n. @brief For points in an image of a stereo pair, computes the corresponding epilines in the other image.\n. \n. @param points Input points. \\f$N \\times 1\\f$ or \\f$1 \\times N\\f$ matrix of type CV_32FC2 or\n. vector\\ .\n. @param whichImage Index of the image (1 or 2) that contains the points .\n. @param F Fundamental matrix that can be estimated using findFundamentalMat or stereoRectify .\n. @param lines Output vector of the epipolar lines corresponding to the points in the other image.\n. Each line \\f$ax + by + c=0\\f$ is encoded by 3 numbers \\f$(a, b, c)\\f$ .\n. \n. For every point in one of the two images of a stereo pair, the function finds the equation of the\n. corresponding epipolar line in the other image.\n. \n. From the fundamental matrix definition (see findFundamentalMat ), line \\f$l^{(2)}_i\\f$ in the second\n. image for the point \\f$p^{(1)}_i\\f$ in the first image (when whichImage=1 ) is computed as:\n. \n. \\f[l^{(2)}_i = F p^{(1)}_i\\f]\n. \n. And vice versa, when whichImage=2, \\f$l^{(1)}_i\\f$ is computed from \\f$p^{(2)}_i\\f$ as:\n. \n. \\f[l^{(1)}_i = F^T p^{(2)}_i\\f]\n. \n. Line coefficients are defined up to a scale. They are normalized so that \\f$a_i^2+b_i^2=1\\f$ .' - ... - -def computeECC(templateImage, inputImage, inputMask=...) -> typing.Any: - 'computeECC(templateImage, inputImage[, inputMask]) -> retval\n. @brief Computes the Enhanced Correlation Coefficient value between two images @cite EP08 .\n. \n. @param templateImage single-channel template image; CV_8U or CV_32F array.\n. @param inputImage single-channel input image to be warped to provide an image similar to\n. templateImage, same type as templateImage.\n. @param inputMask An optional mask to indicate valid values of inputImage.\n. \n. @sa\n. findTransformECC' - ... - -def connectedComponents(image: Mat, labels=..., connectivity=..., ltype=...) -> typing.Any: - 'connectedComponents(image[, labels[, connectivity[, ltype]]]) -> retval, labels\n. @overload\n. \n. @param image the 8-bit single-channel image to be labeled\n. @param labels destination labeled image\n. @param connectivity 8 or 4 for 8-way or 4-way connectivity respectively\n. @param ltype output image label type. Currently CV_32S and CV_16U are supported.' - ... - -def connectedComponentsWithAlgorithm(image: Mat, connectivity, ltype, ccltype, labels=...) -> typing.Any: - "connectedComponentsWithAlgorithm(image, connectivity, ltype, ccltype[, labels]) -> retval, labels\n. @brief computes the connected components labeled image of boolean image\n. \n. image with 4 or 8 way connectivity - returns N, the total number of labels [0, N-1] where 0\n. represents the background label. ltype specifies the output label image type, an important\n. consideration based on the total number of labels or alternatively the total number of pixels in\n. the source image. ccltype specifies the connected components labeling algorithm to use, currently\n. Grana (BBDT) and Wu's (SAUF) algorithms are supported, see the #ConnectedComponentsAlgorithmsTypes\n. for details. Note that SAUF algorithm forces a row major ordering of labels while BBDT does not.\n. This function uses parallel version of both Grana and Wu's algorithms if at least one allowed\n. parallel framework is enabled and if the rows of the image are at least twice the number returned by #getNumberOfCPUs.\n. \n. @param image the 8-bit single-channel image to be labeled\n. @param labels destination labeled image\n. @param connectivity 8 or 4 for 8-way or 4-way connectivity respectively\n. @param ltype output image label type. Currently CV_32S and CV_16U are supported.\n. @param ccltype connected components algorithm type (see the #ConnectedComponentsAlgorithmsTypes)." - ... - -def connectedComponentsWithStats(image: Mat, labels=..., stats=..., centroids=..., connectivity=..., ltype=...) -> typing.Any: - 'connectedComponentsWithStats(image[, labels[, stats[, centroids[, connectivity[, ltype]]]]]) -> retval, labels, stats, centroids\n. @overload\n. @param image the 8-bit single-channel image to be labeled\n. @param labels destination labeled image\n. @param stats statistics output for each label, including the background label.\n. Statistics are accessed via stats(label, COLUMN) where COLUMN is one of\n. #ConnectedComponentsTypes, selecting the statistic. The data type is CV_32S.\n. @param centroids centroid output for each label, including the background label. Centroids are\n. accessed via centroids(label, 0) for x and centroids(label, 1) for y. The data type CV_64F.\n. @param connectivity 8 or 4 for 8-way or 4-way connectivity respectively\n. @param ltype output image label type. Currently CV_32S and CV_16U are supported.' - ... - -def connectedComponentsWithStatsWithAlgorithm(image: Mat, connectivity, ltype, ccltype, labels=..., stats=..., centroids=...) -> typing.Any: - "connectedComponentsWithStatsWithAlgorithm(image, connectivity, ltype, ccltype[, labels[, stats[, centroids]]]) -> retval, labels, stats, centroids\n. @brief computes the connected components labeled image of boolean image and also produces a statistics output for each label\n. \n. image with 4 or 8 way connectivity - returns N, the total number of labels [0, N-1] where 0\n. represents the background label. ltype specifies the output label image type, an important\n. consideration based on the total number of labels or alternatively the total number of pixels in\n. the source image. ccltype specifies the connected components labeling algorithm to use, currently\n. Grana's (BBDT) and Wu's (SAUF) algorithms are supported, see the #ConnectedComponentsAlgorithmsTypes\n. for details. Note that SAUF algorithm forces a row major ordering of labels while BBDT does not.\n. This function uses parallel version of both Grana and Wu's algorithms (statistics included) if at least one allowed\n. parallel framework is enabled and if the rows of the image are at least twice the number returned by #getNumberOfCPUs.\n. \n. @param image the 8-bit single-channel image to be labeled\n. @param labels destination labeled image\n. @param stats statistics output for each label, including the background label.\n. Statistics are accessed via stats(label, COLUMN) where COLUMN is one of\n. #ConnectedComponentsTypes, selecting the statistic. The data type is CV_32S.\n. @param centroids centroid output for each label, including the background label. Centroids are\n. accessed via centroids(label, 0) for x and centroids(label, 1) for y. The data type CV_64F.\n. @param connectivity 8 or 4 for 8-way or 4-way connectivity respectively\n. @param ltype output image label type. Currently CV_32S and CV_16U are supported.\n. @param ccltype connected components algorithm type (see #ConnectedComponentsAlgorithmsTypes)." - ... - -def contourArea(contour, oriented=...) -> typing.Any: - 'contourArea(contour[, oriented]) -> retval\n. @brief Calculates a contour area.\n. \n. The function computes a contour area. Similarly to moments , the area is computed using the Green\n. formula. Thus, the returned area and the number of non-zero pixels, if you draw the contour using\n. #drawContours or #fillPoly , can be different. Also, the function will most certainly give a wrong\n. results for contours with self-intersections.\n. \n. Example:\n. @code\n. vector contour;\n. contour.push_back(Point2f(0, 0));\n. contour.push_back(Point2f(10, 0));\n. contour.push_back(Point2f(10, 10));\n. contour.push_back(Point2f(5, 4));\n. \n. double area0 = contourArea(contour);\n. vector approx;\n. approxPolyDP(contour, approx, 5, true);\n. double area1 = contourArea(approx);\n. \n. cout << "area0 =" << area0 << endl <<\n. "area1 =" << area1 << endl <<\n. "approx poly vertices" << approx.size() << endl;\n. @endcode\n. @param contour Input vector of 2D points (contour vertices), stored in std::vector or Mat.\n. @param oriented Oriented area flag. If it is true, the function returns a signed area value,\n. depending on the contour orientation (clockwise or counter-clockwise). Using this feature you can\n. determine orientation of a contour by taking the sign of an area. By default, the parameter is\n. false, which means that the absolute value is returned.' - ... - -def convertFp16(src: Mat, dts: Mat = ...) -> typing.Any: - 'convertFp16(src[, dst]) -> dst\n. @brief Converts an array to half precision floating number.\n. \n. This function converts FP32 (single precision floating point) from/to FP16 (half precision floating point). CV_16S format is used to represent FP16 data.\n. There are two use modes (src -> dst): CV_32F -> CV_16S and CV_16S -> CV_32F. The input array has to have type of CV_32F or\n. CV_16S to represent the bit depth. If the input array is neither of them, the function will raise an error.\n. The format of half precision floating point is defined in IEEE 754-2008.\n. \n. @param src input array.\n. @param dst output array.' - ... - -def convertMaps(map1, map2, dstmap1type, dstmap1=..., dstmap2=..., nninterpolation=...) -> typing.Any: - 'convertMaps(map1, map2, dstmap1type[, dstmap1[, dstmap2[, nninterpolation]]]) -> dstmap1, dstmap2\n. @brief Converts image transformation maps from one representation to another.\n. \n. The function converts a pair of maps for remap from one representation to another. The following\n. options ( (map1.type(), map2.type()) \\f$\\rightarrow\\f$ (dstmap1.type(), dstmap2.type()) ) are\n. supported:\n. \n. - \\f$\\texttt{(CV_32FC1, CV_32FC1)} \\rightarrow \\texttt{(CV_16SC2, CV_16UC1)}\\f$. This is the\n. most frequently used conversion operation, in which the original floating-point maps (see remap )\n. are converted to a more compact and much faster fixed-point representation. The first output array\n. contains the rounded coordinates and the second array (created only when nninterpolation=false )\n. contains indices in the interpolation tables.\n. \n. - \\f$\\texttt{(CV_32FC2)} \\rightarrow \\texttt{(CV_16SC2, CV_16UC1)}\\f$. The same as above but\n. the original maps are stored in one 2-channel matrix.\n. \n. - Reverse conversion. Obviously, the reconstructed floating-point maps will not be exactly the same\n. as the originals.\n. \n. @param map1 The first input map of type CV_16SC2, CV_32FC1, or CV_32FC2 .\n. @param map2 The second input map of type CV_16UC1, CV_32FC1, or none (empty matrix),\n. respectively.\n. @param dstmap1 The first output map that has the type dstmap1type and the same size as src .\n. @param dstmap2 The second output map.\n. @param dstmap1type Type of the first output map that should be CV_16SC2, CV_32FC1, or\n. CV_32FC2 .\n. @param nninterpolation Flag indicating whether the fixed-point maps are used for the\n. nearest-neighbor or for a more complex interpolation.\n. \n. @sa remap, undistort, initUndistortRectifyMap' - ... - -def convertPointsFromHomogeneous(src: Mat, dts: Mat = ...) -> typing.Any: - 'convertPointsFromHomogeneous(src[, dst]) -> dst\n. @brief Converts points from homogeneous to Euclidean space.\n. \n. @param src Input vector of N-dimensional points.\n. @param dst Output vector of N-1-dimensional points.\n. \n. The function converts points homogeneous to Euclidean space using perspective projection. That is,\n. each point (x1, x2, ... x(n-1), xn) is converted to (x1/xn, x2/xn, ..., x(n-1)/xn). When xn=0, the\n. output point coordinates will be (0,0,0,...).' - ... - -def convertPointsToHomogeneous(src: Mat, dts: Mat = ...) -> typing.Any: - "convertPointsToHomogeneous(src[, dst]) -> dst\n. @brief Converts points from Euclidean to homogeneous space.\n. \n. @param src Input vector of N-dimensional points.\n. @param dst Output vector of N+1-dimensional points.\n. \n. The function converts points from Euclidean to homogeneous space by appending 1's to the tuple of\n. point coordinates. That is, each point (x1, x2, ..., xn) is converted to (x1, x2, ..., xn, 1)." - ... - -def convertScaleAbs(src: Mat, dts: Mat = ..., alpha=..., beta=...) -> typing.Any: - 'convertScaleAbs(src[, dst[, alpha[, beta]]]) -> dst\n. @brief Scales, calculates absolute values, and converts the result to 8-bit.\n. \n. On each element of the input array, the function convertScaleAbs\n. performs three operations sequentially: scaling, taking an absolute\n. value, conversion to an unsigned 8-bit type:\n. \\f[\\texttt{dst} (I)= \\texttt{saturate\\_cast} (| \\texttt{src} (I)* \\texttt{alpha} + \\texttt{beta} |)\\f]\n. In case of multi-channel arrays, the function processes each channel\n. independently. When the output is not 8-bit, the operation can be\n. emulated by calling the Mat::convertTo method (or by using matrix\n. expressions) and then by calculating an absolute value of the result.\n. For example:\n. @code{.cpp}\n. Mat_ A(30,30);\n. randu(A, Scalar(-100), Scalar(100));\n. Mat_ B = A*5 + 3;\n. B = abs(B);\n. // Mat_ B = abs(A*5+3) will also do the job,\n. // but it will allocate a temporary matrix\n. @endcode\n. @param src input array.\n. @param dst output array.\n. @param alpha optional scale factor.\n. @param beta optional delta added to the scaled values.\n. @sa Mat::convertTo, cv::abs(const Mat&)' - ... - -def convexHull(points, hull=..., clockwise=..., returnPoints=...) -> typing.Any: - 'convexHull(points[, hull[, clockwise[, returnPoints]]]) -> hull\n. @brief Finds the convex hull of a point set.\n. \n. The function cv::convexHull finds the convex hull of a 2D point set using the Sklansky\'s algorithm @cite Sklansky82\n. that has *O(N logN)* complexity in the current implementation.\n. \n. @param points Input 2D point set, stored in std::vector or Mat.\n. @param hull Output convex hull. It is either an integer vector of indices or vector of points. In\n. the first case, the hull elements are 0-based indices of the convex hull points in the original\n. array (since the set of convex hull points is a subset of the original point set). In the second\n. case, hull elements are the convex hull points themselves.\n. @param clockwise Orientation flag. If it is true, the output convex hull is oriented clockwise.\n. Otherwise, it is oriented counter-clockwise. The assumed coordinate system has its X axis pointing\n. to the right, and its Y axis pointing upwards.\n. @param returnPoints Operation flag. In case of a matrix, when the flag is true, the function\n. returns convex hull points. Otherwise, it returns indices of the convex hull points. When the\n. output array is std::vector, the flag is ignored, and the output depends on the type of the\n. vector: std::vector\\ implies returnPoints=false, std::vector\\ implies\n. returnPoints=true.\n. \n. @note `points` and `hull` should be different arrays, inplace processing isn\'t supported.\n. \n. Check @ref tutorial_hull "the corresponding tutorial" for more details.\n. \n. useful links:\n. \n. https://www.learnopencv.com/convex-hull-using-opencv-in-python-and-c/' - ... - -def convexityDefects(contour, convexhull, convexityDefects=...) -> typing.Any: - 'convexityDefects(contour, convexhull[, convexityDefects]) -> convexityDefects\n. @brief Finds the convexity defects of a contour.\n. \n. The figure below displays convexity defects of a hand contour:\n. \n. ![image](pics/defects.png)\n. \n. @param contour Input contour.\n. @param convexhull Convex hull obtained using convexHull that should contain indices of the contour\n. points that make the hull.\n. @param convexityDefects The output vector of convexity defects. In C++ and the new Python/Java\n. interface each convexity defect is represented as 4-element integer vector (a.k.a. #Vec4i):\n. (start_index, end_index, farthest_pt_index, fixpt_depth), where indices are 0-based indices\n. in the original contour of the convexity defect beginning, end and the farthest point, and\n. fixpt_depth is fixed-point approximation (with 8 fractional bits) of the distance between the\n. farthest contour point and the hull. That is, to get the floating-point value of the depth will be\n. fixpt_depth/256.0.' - ... - -def copyMakeBorder(src: Mat, top, bottom, left, right, borderType, dts: Mat = ..., value=...) -> typing.Any: - 'copyMakeBorder(src, top, bottom, left, right, borderType[, dst[, value]]) -> dst\n. @brief Forms a border around an image.\n. \n. The function copies the source image into the middle of the destination image. The areas to the\n. left, to the right, above and below the copied source image will be filled with extrapolated\n. pixels. This is not what filtering functions based on it do (they extrapolate pixels on-fly), but\n. what other more complex functions, including your own, may do to simplify image boundary handling.\n. \n. The function supports the mode when src is already in the middle of dst . In this case, the\n. function does not copy src itself but simply constructs the border, for example:\n. \n. @code{.cpp}\n. // let border be the same in all directions\n. int border=2;\n. // constructs a larger image to fit both the image and the border\n. Mat gray_buf(rgb.rows + border*2, rgb.cols + border*2, rgb.depth());\n. // select the middle part of it w/o copying data\n. Mat gray(gray_canvas, Rect(border, border, rgb.cols, rgb.rows));\n. // convert image from RGB to grayscale\n. cvtColor(rgb, gray, COLOR_RGB2GRAY);\n. // form a border in-place\n. copyMakeBorder(gray, gray_buf, border, border,\n. border, border, BORDER_REPLICATE);\n. // now do some custom filtering ...\n. ...\n. @endcode\n. @note When the source image is a part (ROI) of a bigger image, the function will try to use the\n. pixels outside of the ROI to form a border. To disable this feature and always do extrapolation, as\n. if src was not a ROI, use borderType | #BORDER_ISOLATED.\n. \n. @param src Source image.\n. @param dst Destination image of the same type as src and the size Size(src.cols+left+right,\n. src.rows+top+bottom) .\n. @param top the top pixels\n. @param bottom the bottom pixels\n. @param left the left pixels\n. @param right Parameter specifying how many pixels in each direction from the source image rectangle\n. to extrapolate. For example, top=1, bottom=1, left=1, right=1 mean that 1 pixel-wide border needs\n. to be built.\n. @param borderType Border type. See borderInterpolate for details.\n. @param value Border value if borderType==BORDER_CONSTANT .\n. \n. @sa borderInterpolate' - ... - -def copyTo(src: Mat, mask: Mat, dts: Mat = ...) -> typing.Any: - 'copyTo(src, mask[, dst]) -> dst\n. @brief This is an overloaded member function, provided for convenience (python)\n. Copies the matrix to another one.\n. When the operation mask is specified, if the Mat::create call shown above reallocates the matrix, the newly allocated matrix is initialized with all zeros before copying the data.\n. @param src source matrix.\n. @param dst Destination matrix. If it does not have a proper size or type before the operation, it is\n. reallocated.\n. @param mask Operation mask of the same size as \\*this. Its non-zero elements indicate which matrix\n. elements need to be copied. The mask has to be of type CV_8U and can have 1 or multiple channels.' - ... - -def cornerEigenValsAndVecs(src: Mat, blockSize, ksize, dts: Mat = ..., borderType=...) -> typing.Any: - 'cornerEigenValsAndVecs(src, blockSize, ksize[, dst[, borderType]]) -> dst\n. @brief Calculates eigenvalues and eigenvectors of image blocks for corner detection.\n. \n. For every pixel \\f$p\\f$ , the function cornerEigenValsAndVecs considers a blockSize \\f$\\times\\f$ blockSize\n. neighborhood \\f$S(p)\\f$ . It calculates the covariation matrix of derivatives over the neighborhood as:\n. \n. \\f[M = \\begin{bmatrix} \\sum _{S(p)}(dI/dx)^2 & \\sum _{S(p)}dI/dx dI/dy \\\\ \\sum _{S(p)}dI/dx dI/dy & \\sum _{S(p)}(dI/dy)^2 \\end{bmatrix}\\f]\n. \n. where the derivatives are computed using the Sobel operator.\n. \n. After that, it finds eigenvectors and eigenvalues of \\f$M\\f$ and stores them in the destination image as\n. \\f$(\\lambda_1, \\lambda_2, x_1, y_1, x_2, y_2)\\f$ where\n. \n. - \\f$\\lambda_1, \\lambda_2\\f$ are the non-sorted eigenvalues of \\f$M\\f$\n. - \\f$x_1, y_1\\f$ are the eigenvectors corresponding to \\f$\\lambda_1\\f$\n. - \\f$x_2, y_2\\f$ are the eigenvectors corresponding to \\f$\\lambda_2\\f$\n. \n. The output of the function can be used for robust edge or corner detection.\n. \n. @param src Input single-channel 8-bit or floating-point image.\n. @param dst Image to store the results. It has the same size as src and the type CV_32FC(6) .\n. @param blockSize Neighborhood size (see details below).\n. @param ksize Aperture parameter for the Sobel operator.\n. @param borderType Pixel extrapolation method. See #BorderTypes. #BORDER_WRAP is not supported.\n. \n. @sa cornerMinEigenVal, cornerHarris, preCornerDetect' - ... - -def cornerHarris(src: Mat, blockSize, ksize, k, dts: Mat = ..., borderType=...) -> typing.Any: - 'cornerHarris(src, blockSize, ksize, k[, dst[, borderType]]) -> dst\n. @brief Harris corner detector.\n. \n. The function runs the Harris corner detector on the image. Similarly to cornerMinEigenVal and\n. cornerEigenValsAndVecs , for each pixel \\f$(x, y)\\f$ it calculates a \\f$2\\times2\\f$ gradient covariance\n. matrix \\f$M^{(x,y)}\\f$ over a \\f$\\texttt{blockSize} \\times \\texttt{blockSize}\\f$ neighborhood. Then, it\n. computes the following characteristic:\n. \n. \\f[\\texttt{dst} (x,y) = \\mathrm{det} M^{(x,y)} - k \\cdot \\left ( \\mathrm{tr} M^{(x,y)} \\right )^2\\f]\n. \n. Corners in the image can be found as the local maxima of this response map.\n. \n. @param src Input single-channel 8-bit or floating-point image.\n. @param dst Image to store the Harris detector responses. It has the type CV_32FC1 and the same\n. size as src .\n. @param blockSize Neighborhood size (see the details on #cornerEigenValsAndVecs ).\n. @param ksize Aperture parameter for the Sobel operator.\n. @param k Harris detector free parameter. See the formula above.\n. @param borderType Pixel extrapolation method. See #BorderTypes. #BORDER_WRAP is not supported.' - ... - -def cornerMinEigenVal(src: Mat, blockSize, dts: Mat = ..., ksize=..., borderType=...) -> typing.Any: - 'cornerMinEigenVal(src, blockSize[, dst[, ksize[, borderType]]]) -> dst\n. @brief Calculates the minimal eigenvalue of gradient matrices for corner detection.\n. \n. The function is similar to cornerEigenValsAndVecs but it calculates and stores only the minimal\n. eigenvalue of the covariance matrix of derivatives, that is, \\f$\\min(\\lambda_1, \\lambda_2)\\f$ in terms\n. of the formulae in the cornerEigenValsAndVecs description.\n. \n. @param src Input single-channel 8-bit or floating-point image.\n. @param dst Image to store the minimal eigenvalues. It has the type CV_32FC1 and the same size as\n. src .\n. @param blockSize Neighborhood size (see the details on #cornerEigenValsAndVecs ).\n. @param ksize Aperture parameter for the Sobel operator.\n. @param borderType Pixel extrapolation method. See #BorderTypes. #BORDER_WRAP is not supported.' - ... - -def cornerSubPix(image: Mat, corners, winSize, zeroZone, criteria) -> typing.Any: - 'cornerSubPix(image, corners, winSize, zeroZone, criteria) -> corners\n. @brief Refines the corner locations.\n. \n. The function iterates to find the sub-pixel accurate location of corners or radial saddle points, as\n. shown on the figure below.\n. \n. ![image](pics/cornersubpix.png)\n. \n. Sub-pixel accurate corner locator is based on the observation that every vector from the center \\f$q\\f$\n. to a point \\f$p\\f$ located within a neighborhood of \\f$q\\f$ is orthogonal to the image gradient at \\f$p\\f$\n. subject to image and measurement noise. Consider the expression:\n. \n. \\f[\\epsilon _i = {DI_{p_i}}^T \\cdot (q - p_i)\\f]\n. \n. where \\f${DI_{p_i}}\\f$ is an image gradient at one of the points \\f$p_i\\f$ in a neighborhood of \\f$q\\f$ . The\n. value of \\f$q\\f$ is to be found so that \\f$\\epsilon_i\\f$ is minimized. A system of equations may be set up\n. with \\f$\\epsilon_i\\f$ set to zero:\n. \n. \\f[\\sum _i(DI_{p_i} \\cdot {DI_{p_i}}^T) \\cdot q - \\sum _i(DI_{p_i} \\cdot {DI_{p_i}}^T \\cdot p_i)\\f]\n. \n. where the gradients are summed within a neighborhood ("search window") of \\f$q\\f$ . Calling the first\n. gradient term \\f$G\\f$ and the second gradient term \\f$b\\f$ gives:\n. \n. \\f[q = G^{-1} \\cdot b\\f]\n. \n. The algorithm sets the center of the neighborhood window at this new center \\f$q\\f$ and then iterates\n. until the center stays within a set threshold.\n. \n. @param image Input single-channel, 8-bit or float image.\n. @param corners Initial coordinates of the input corners and refined coordinates provided for\n. output.\n. @param winSize Half of the side length of the search window. For example, if winSize=Size(5,5) ,\n. then a \\f$(5*2+1) \\times (5*2+1) = 11 \\times 11\\f$ search window is used.\n. @param zeroZone Half of the size of the dead region in the middle of the search zone over which\n. the summation in the formula below is not done. It is used sometimes to avoid possible\n. singularities of the autocorrelation matrix. The value of (-1,-1) indicates that there is no such\n. a size.\n. @param criteria Criteria for termination of the iterative process of corner refinement. That is,\n. the process of corner position refinement stops either after criteria.maxCount iterations or when\n. the corner position moves by less than criteria.epsilon on some iteration.' - ... - -def correctMatches(F, points1, points2, newPoints1=..., newPoints2=...) -> typing.Any: - 'correctMatches(F, points1, points2[, newPoints1[, newPoints2]]) -> newPoints1, newPoints2\n. @brief Refines coordinates of corresponding points.\n. \n. @param F 3x3 fundamental matrix.\n. @param points1 1xN array containing the first set of points.\n. @param points2 1xN array containing the second set of points.\n. @param newPoints1 The optimized points1.\n. @param newPoints2 The optimized points2.\n. \n. The function implements the Optimal Triangulation Method (see Multiple View Geometry for details).\n. For each given point correspondence points1[i] \\<-\\> points2[i], and a fundamental matrix F, it\n. computes the corrected correspondences newPoints1[i] \\<-\\> newPoints2[i] that minimize the geometric\n. error \\f$d(points1[i], newPoints1[i])^2 + d(points2[i],newPoints2[i])^2\\f$ (where \\f$d(a,b)\\f$ is the\n. geometric distance between points \\f$a\\f$ and \\f$b\\f$ ) subject to the epipolar constraint\n. \\f$newPoints2^T * F * newPoints1 = 0\\f$ .' - ... - -def countNonZero(src) -> typing.Any: - 'countNonZero(src) -> retval\n. @brief Counts non-zero array elements.\n. \n. The function returns the number of non-zero elements in src :\n. \\f[\\sum _{I: \\; \\texttt{src} (I) \\ne0 } 1\\f]\n. @param src single-channel array.\n. @sa mean, meanStdDev, norm, minMaxLoc, calcCovarMatrix' - ... - -def createAlignMTB(max_bits=..., exclude_range=..., cut=...) -> typing.Any: - 'createAlignMTB([, max_bits[, exclude_range[, cut]]]) -> retval\n. @brief Creates AlignMTB object\n. \n. @param max_bits logarithm to the base 2 of maximal shift in each dimension. Values of 5 and 6 are\n. usually good enough (31 and 63 pixels shift respectively).\n. @param exclude_range range for exclusion bitmap that is constructed to suppress noise around the\n. median value.\n. @param cut if true cuts images, otherwise fills the new regions with zeros.' - ... - -def createBackgroundSubtractorKNN(history=..., dist2Threshold=..., detectShadows=...) -> typing.Any: - 'createBackgroundSubtractorKNN([, history[, dist2Threshold[, detectShadows]]]) -> retval\n. @brief Creates KNN Background Subtractor\n. \n. @param history Length of the history.\n. @param dist2Threshold Threshold on the squared distance between the pixel and the sample to decide\n. whether a pixel is close to that sample. This parameter does not affect the background update.\n. @param detectShadows If true, the algorithm will detect shadows and mark them. It decreases the\n. speed a bit, so if you do not need this feature, set the parameter to false.' - ... - -def createBackgroundSubtractorMOG2(history=..., varThreshold=..., detectShadows=...) -> typing.Any: - 'createBackgroundSubtractorMOG2([, history[, varThreshold[, detectShadows]]]) -> retval\n. @brief Creates MOG2 Background Subtractor\n. \n. @param history Length of the history.\n. @param varThreshold Threshold on the squared Mahalanobis distance between the pixel and the model\n. to decide whether a pixel is well described by the background model. This parameter does not\n. affect the background update.\n. @param detectShadows If true, the algorithm will detect shadows and mark them. It decreases the\n. speed a bit, so if you do not need this feature, set the parameter to false.' - ... - -def createButton(buttonName, onChange, userData=..., buttonType=..., initialButtonState=...) -> typing.Any: - 'createButton(buttonName, onChange [, userData, buttonType, initialButtonState]) -> None' - ... - -def createCLAHE(clipLimit=..., tileGridSize=...) -> typing.Any: - 'createCLAHE([, clipLimit[, tileGridSize]]) -> retval\n. @brief Creates a smart pointer to a cv::CLAHE class and initializes it.\n. \n. @param clipLimit Threshold for contrast limiting.\n. @param tileGridSize Size of grid for histogram equalization. Input image will be divided into\n. equally sized rectangular tiles. tileGridSize defines the number of tiles in row and column.' - ... - -def createCalibrateDebevec(samples=..., lambda_=..., random=...) -> typing.Any: - 'createCalibrateDebevec([, samples[, lambda[, random]]]) -> retval\n. @brief Creates CalibrateDebevec object\n. \n. @param samples number of pixel locations to use\n. @param lambda smoothness term weight. Greater values produce smoother results, but can alter the\n. response.\n. @param random if true sample pixel locations are chosen at random, otherwise they form a\n. rectangular grid.' - ... - -def createCalibrateRobertson(max_iter=..., threshold=...) -> typing.Any: - 'createCalibrateRobertson([, max_iter[, threshold]]) -> retval\n. @brief Creates CalibrateRobertson object\n. \n. @param max_iter maximal number of Gauss-Seidel solver iterations.\n. @param threshold target difference between results of two successive steps of the minimization.' - ... - -def createGeneralizedHoughBallard() -> typing.Any: - 'createGeneralizedHoughBallard() -> retval\n. @brief Creates a smart pointer to a cv::GeneralizedHoughBallard class and initializes it.' - ... - -def createGeneralizedHoughGuil() -> typing.Any: - 'createGeneralizedHoughGuil() -> retval\n. @brief Creates a smart pointer to a cv::GeneralizedHoughGuil class and initializes it.' - ... - -def createHanningWindow(winSize, type, dts: Mat = ...) -> typing.Any: - 'createHanningWindow(winSize, type[, dst]) -> dst\n. @brief This function computes a Hanning window coefficients in two dimensions.\n. \n. See (http://en.wikipedia.org/wiki/Hann_function) and (http://en.wikipedia.org/wiki/Window_function)\n. for more information.\n. \n. An example is shown below:\n. @code\n. // create hanning window of size 100x100 and type CV_32F\n. Mat hann;\n. createHanningWindow(hann, Size(100, 100), CV_32F);\n. @endcode\n. @param dst Destination array to place Hann coefficients in\n. @param winSize The window size specifications (both width and height must be > 1)\n. @param type Created array type' - ... - -def createLineSegmentDetector(_refine=..., _scale=..., _sigma_scale=..., _quant=..., _ang_th=..., _log_eps=..., _density_th=..., _n_bins=...) -> typing.Any: - 'createLineSegmentDetector([, _refine[, _scale[, _sigma_scale[, _quant[, _ang_th[, _log_eps[, _density_th[, _n_bins]]]]]]]]) -> retval\n. @brief Creates a smart pointer to a LineSegmentDetector object and initializes it.\n. \n. The LineSegmentDetector algorithm is defined using the standard values. Only advanced users may want\n. to edit those, as to tailor it for their own application.\n. \n. @param _refine The way found lines will be refined, see #LineSegmentDetectorModes\n. @param _scale The scale of the image that will be used to find the lines. Range (0..1].\n. @param _sigma_scale Sigma for Gaussian filter. It is computed as sigma = _sigma_scale/_scale.\n. @param _quant Bound to the quantization error on the gradient norm.\n. @param _ang_th Gradient angle tolerance in degrees.\n. @param _log_eps Detection threshold: -log10(NFA) \\> log_eps. Used only when advance refinement\n. is chosen.\n. @param _density_th Minimal density of aligned region points in the enclosing rectangle.\n. @param _n_bins Number of bins in pseudo-ordering of gradient modulus.\n. \n. @note Implementation has been removed due original code license conflict' - ... - -def createMergeDebevec() -> typing.Any: - 'createMergeDebevec() -> retval\n. @brief Creates MergeDebevec object' - ... - -def createMergeMertens(contrast_weight=..., saturation_weight=..., exposure_weight=...) -> typing.Any: - 'createMergeMertens([, contrast_weight[, saturation_weight[, exposure_weight]]]) -> retval\n. @brief Creates MergeMertens object\n. \n. @param contrast_weight contrast measure weight. See MergeMertens.\n. @param saturation_weight saturation measure weight\n. @param exposure_weight well-exposedness measure weight' - ... - -def createMergeRobertson() -> typing.Any: - 'createMergeRobertson() -> retval\n. @brief Creates MergeRobertson object' - ... - -def createTonemap(gamma=...) -> typing.Any: - 'createTonemap([, gamma]) -> retval\n. @brief Creates simple linear mapper with gamma correction\n. \n. @param gamma positive value for gamma correction. Gamma value of 1.0 implies no correction, gamma\n. equal to 2.2f is suitable for most displays.\n. Generally gamma \\> 1 brightens the image and gamma \\< 1 darkens it.' - ... - -def createTonemapDrago(gamma=..., saturation=..., bias=...) -> typing.Any: - 'createTonemapDrago([, gamma[, saturation[, bias]]]) -> retval\n. @brief Creates TonemapDrago object\n. \n. @param gamma gamma value for gamma correction. See createTonemap\n. @param saturation positive saturation enhancement value. 1.0 preserves saturation, values greater\n. than 1 increase saturation and values less than 1 decrease it.\n. @param bias value for bias function in [0, 1] range. Values from 0.7 to 0.9 usually give best\n. results, default value is 0.85.' - ... - -def createTonemapMantiuk(gamma=..., scale=..., saturation=...) -> typing.Any: - 'createTonemapMantiuk([, gamma[, scale[, saturation]]]) -> retval\n. @brief Creates TonemapMantiuk object\n. \n. @param gamma gamma value for gamma correction. See createTonemap\n. @param scale contrast scale factor. HVS response is multiplied by this parameter, thus compressing\n. dynamic range. Values from 0.6 to 0.9 produce best results.\n. @param saturation saturation enhancement value. See createTonemapDrago' - ... - -def createTonemapReinhard(gamma=..., intensity=..., light_adapt=..., color_adapt=...) -> typing.Any: - "createTonemapReinhard([, gamma[, intensity[, light_adapt[, color_adapt]]]]) -> retval\n. @brief Creates TonemapReinhard object\n. \n. @param gamma gamma value for gamma correction. See createTonemap\n. @param intensity result intensity in [-8, 8] range. Greater intensity produces brighter results.\n. @param light_adapt light adaptation in [0, 1] range. If 1 adaptation is based only on pixel\n. value, if 0 it's global, otherwise it's a weighted mean of this two cases.\n. @param color_adapt chromatic adaptation in [0, 1] range. If 1 channels are treated independently,\n. if 0 adaptation level is the same for each channel." - ... - -def createTrackbar(trackbarName, windowName, value, count, onChange) -> typing.Any: - 'createTrackbar(trackbarName, windowName, value, count, onChange) -> None' - ... - -def cubeRoot(val) -> typing.Any: - 'cubeRoot(val) -> retval\n. @brief Computes the cube root of an argument.\n. \n. The function cubeRoot computes \\f$\\sqrt[3]{\\texttt{val}}\\f$. Negative arguments are handled correctly.\n. NaN and Inf are not handled. The accuracy approaches the maximum possible accuracy for\n. single-precision data.\n. @param val A function argument.' - ... - -cuda_BufferPool = _mod_cv2.cuda_BufferPool -cuda_DeviceInfo = _mod_cv2.cuda_DeviceInfo -cuda_Event = _mod_cv2.cuda_Event -cuda_GpuMat = _mod_cv2.cuda_GpuMat -cuda_GpuMat_Allocator = _mod_cv2.cuda_GpuMat_Allocator -cuda_HostMem = _mod_cv2.cuda_HostMem -cuda_Stream = _mod_cv2.cuda_Stream -cuda_TargetArchs = _mod_cv2.cuda_TargetArchs -def cvtColor(src: Mat, code: int, dts: Mat = ..., dstCn: int = ...) -> Mat: - 'cvtColor(src, code[, dst[, dstCn]]) -> dst\n. @brief Converts an image from one color space to another.\n. \n. The function converts an input image from one color space to another. In case of a transformation\n. to-from RGB color space, the order of the channels should be specified explicitly (RGB or BGR). Note\n. that the default color format in OpenCV is often referred to as RGB but it is actually BGR (the\n. bytes are reversed). So the first byte in a standard (24-bit) color image will be an 8-bit Blue\n. component, the second byte will be Green, and the third byte will be Red. The fourth, fifth, and\n. sixth bytes would then be the second pixel (Blue, then Green, then Red), and so on.\n. \n. The conventional ranges for R, G, and B channel values are:\n. - 0 to 255 for CV_8U images\n. - 0 to 65535 for CV_16U images\n. - 0 to 1 for CV_32F images\n. \n. In case of linear transformations, the range does not matter. But in case of a non-linear\n. transformation, an input RGB image should be normalized to the proper value range to get the correct\n. results, for example, for RGB \\f$\\rightarrow\\f$ L\\*u\\*v\\* transformation. For example, if you have a\n. 32-bit floating-point image directly converted from an 8-bit image without any scaling, then it will\n. have the 0..255 value range instead of 0..1 assumed by the function. So, before calling #cvtColor ,\n. you need first to scale the image down:\n. @code\n. img *= 1./255;\n. cvtColor(img, img, COLOR_BGR2Luv);\n. @endcode\n. If you use #cvtColor with 8-bit images, the conversion will have some information lost. For many\n. applications, this will not be noticeable but it is recommended to use 32-bit images in applications\n. that need the full range of colors or that convert an image before an operation and then convert\n. back.\n. \n. If conversion adds the alpha channel, its value will set to the maximum of corresponding channel\n. range: 255 for CV_8U, 65535 for CV_16U, 1 for CV_32F.\n. \n. @param src input image: 8-bit unsigned, 16-bit unsigned ( CV_16UC... ), or single-precision\n. floating-point.\n. @param dst output image of the same size and depth as src.\n. @param code color space conversion code (see #ColorConversionCodes).\n. @param dstCn number of channels in the destination image; if the parameter is 0, the number of the\n. channels is derived automatically from src and code.\n. \n. @see @ref imgproc_color_conversions' - ... - -def cvtColorTwoPlane(src1: Mat, src2: Mat, code: int, dts: Mat = ...) -> typing.Any: - 'cvtColorTwoPlane(src1, src2, code[, dst]) -> dst\n. @brief Converts an image from one color space to another where the source image is\n. stored in two planes.\n. \n. This function only supports YUV420 to RGB conversion as of now.\n. \n. @param src1: 8-bit image (#CV_8U) of the Y plane.\n. @param src2: image containing interleaved U/V plane.\n. @param dst: output image.\n. @param code: Specifies the type of conversion. It can take any of the following values:\n. - #COLOR_YUV2BGR_NV12\n. - #COLOR_YUV2RGB_NV12\n. - #COLOR_YUV2BGRA_NV12\n. - #COLOR_YUV2RGBA_NV12\n. - #COLOR_YUV2BGR_NV21\n. - #COLOR_YUV2RGB_NV21\n. - #COLOR_YUV2BGRA_NV21\n. - #COLOR_YUV2RGBA_NV21' - ... - -def dct(src: Mat, dts: Mat = ..., flags: int = ...) -> typing.Any: - 'dct(src[, dst[, flags]]) -> dst\n. @brief Performs a forward or inverse discrete Cosine transform of 1D or 2D array.\n. \n. The function cv::dct performs a forward or inverse discrete Cosine transform (DCT) of a 1D or 2D\n. floating-point array:\n. - Forward Cosine transform of a 1D vector of N elements:\n. \\f[Y = C^{(N)} \\cdot X\\f]\n. where\n. \\f[C^{(N)}_{jk}= \\sqrt{\\alpha_j/N} \\cos \\left ( \\frac{\\pi(2k+1)j}{2N} \\right )\\f]\n. and\n. \\f$\\alpha_0=1\\f$, \\f$\\alpha_j=2\\f$ for *j \\> 0*.\n. - Inverse Cosine transform of a 1D vector of N elements:\n. \\f[X = \\left (C^{(N)} \\right )^{-1} \\cdot Y = \\left (C^{(N)} \\right )^T \\cdot Y\\f]\n. (since \\f$C^{(N)}\\f$ is an orthogonal matrix, \\f$C^{(N)} \\cdot \\left(C^{(N)}\\right)^T = I\\f$ )\n. - Forward 2D Cosine transform of M x N matrix:\n. \\f[Y = C^{(N)} \\cdot X \\cdot \\left (C^{(N)} \\right )^T\\f]\n. - Inverse 2D Cosine transform of M x N matrix:\n. \\f[X = \\left (C^{(N)} \\right )^T \\cdot X \\cdot C^{(N)}\\f]\n. \n. The function chooses the mode of operation by looking at the flags and size of the input array:\n. - If (flags & #DCT_INVERSE) == 0 , the function does a forward 1D or 2D transform. Otherwise, it\n. is an inverse 1D or 2D transform.\n. - If (flags & #DCT_ROWS) != 0 , the function performs a 1D transform of each row.\n. - If the array is a single column or a single row, the function performs a 1D transform.\n. - If none of the above is true, the function performs a 2D transform.\n. \n. @note Currently dct supports even-size arrays (2, 4, 6 ...). For data analysis and approximation, you\n. can pad the array when necessary.\n. Also, the function performance depends very much, and not monotonically, on the array size (see\n. getOptimalDFTSize ). In the current implementation DCT of a vector of size N is calculated via DFT\n. of a vector of size N/2 . Thus, the optimal DCT size N1 \\>= N can be calculated as:\n. @code\n. size_t getOptimalDCTSize(size_t N) { return 2*getOptimalDFTSize((N+1)/2); }\n. N1 = getOptimalDCTSize(N);\n. @endcode\n. @param src input floating-point array.\n. @param dst output array of the same size and type as src .\n. @param flags transformation flags as a combination of cv::DftFlags (DCT_*)\n. @sa dft , getOptimalDFTSize , idct' - ... - -def decolor(src: Mat, grayscale=..., color_boost=...) -> typing.Any: - 'decolor(src[, grayscale[, color_boost]]) -> grayscale, color_boost\n. @brief Transforms a color image to a grayscale image. It is a basic tool in digital printing, stylized\n. black-and-white photograph rendering, and in many single channel image processing applications\n. @cite CL12 .\n. \n. @param src Input 8-bit 3-channel image.\n. @param grayscale Output 8-bit 1-channel image.\n. @param color_boost Output 8-bit 3-channel image.\n. \n. This function is to be applied on color images.' - ... - -def decomposeEssentialMat(E, R1=..., R2=..., t=...) -> typing.Any: - "decomposeEssentialMat(E[, R1[, R2[, t]]]) -> R1, R2, t\n. @brief Decompose an essential matrix to possible rotations and translation.\n. \n. @param E The input essential matrix.\n. @param R1 One possible rotation matrix.\n. @param R2 Another possible rotation matrix.\n. @param t One possible translation.\n. \n. This function decomposes the essential matrix E using svd decomposition @cite HartleyZ00. In\n. general, four possible poses exist for the decomposition of E. They are \\f$[R_1, t]\\f$,\n. \\f$[R_1, -t]\\f$, \\f$[R_2, t]\\f$, \\f$[R_2, -t]\\f$.\n. \n. If E gives the epipolar constraint \\f$[p_2; 1]^T A^{-T} E A^{-1} [p_1; 1] = 0\\f$ between the image\n. points \\f$p_1\\f$ in the first image and \\f$p_2\\f$ in second image, then any of the tuples\n. \\f$[R_1, t]\\f$, \\f$[R_1, -t]\\f$, \\f$[R_2, t]\\f$, \\f$[R_2, -t]\\f$ is a change of basis from the first\n. camera's coordinate system to the second camera's coordinate system. However, by decomposing E, one\n. can only get the direction of the translation. For this reason, the translation t is returned with\n. unit length." - ... - -def decomposeHomographyMat(H, K, rotations=..., translations=..., normals=...) -> typing.Any: - "decomposeHomographyMat(H, K[, rotations[, translations[, normals]]]) -> retval, rotations, translations, normals\n. @brief Decompose a homography matrix to rotation(s), translation(s) and plane normal(s).\n. \n. @param H The input homography matrix between two images.\n. @param K The input intrinsic camera calibration matrix.\n. @param rotations Array of rotation matrices.\n. @param translations Array of translation matrices.\n. @param normals Array of plane normal matrices.\n. \n. This function extracts relative camera motion between two views of a planar object and returns up to\n. four mathematical solution tuples of rotation, translation, and plane normal. The decomposition of\n. the homography matrix H is described in detail in @cite Malis.\n. \n. If the homography H, induced by the plane, gives the constraint\n. \\f[s_i \\vecthree{x'_i}{y'_i}{1} \\sim H \\vecthree{x_i}{y_i}{1}\\f] on the source image points\n. \\f$p_i\\f$ and the destination image points \\f$p'_i\\f$, then the tuple of rotations[k] and\n. translations[k] is a change of basis from the source camera's coordinate system to the destination\n. camera's coordinate system. However, by decomposing H, one can only get the translation normalized\n. by the (typically unknown) depth of the scene, i.e. its direction but with normalized length.\n. \n. If point correspondences are available, at least two solutions may further be invalidated, by\n. applying positive depth constraint, i.e. all points must be in front of the camera." - ... - -def decomposeProjectionMatrix(projMatrix, cameraMatrix=..., rotMatrix=..., transVect=..., rotMatrixX=..., rotMatrixY=..., rotMatrixZ=..., eulerAngles=...) -> typing.Any: - 'decomposeProjectionMatrix(projMatrix[, cameraMatrix[, rotMatrix[, transVect[, rotMatrixX[, rotMatrixY[, rotMatrixZ[, eulerAngles]]]]]]]) -> cameraMatrix, rotMatrix, transVect, rotMatrixX, rotMatrixY, rotMatrixZ, eulerAngles\n. @brief Decomposes a projection matrix into a rotation matrix and a camera matrix.\n. \n. @param projMatrix 3x4 input projection matrix P.\n. @param cameraMatrix Output 3x3 camera matrix K.\n. @param rotMatrix Output 3x3 external rotation matrix R.\n. @param transVect Output 4x1 translation vector T.\n. @param rotMatrixX Optional 3x3 rotation matrix around x-axis.\n. @param rotMatrixY Optional 3x3 rotation matrix around y-axis.\n. @param rotMatrixZ Optional 3x3 rotation matrix around z-axis.\n. @param eulerAngles Optional three-element vector containing three Euler angles of rotation in\n. degrees.\n. \n. The function computes a decomposition of a projection matrix into a calibration and a rotation\n. matrix and the position of a camera.\n. \n. It optionally returns three rotation matrices, one for each axis, and three Euler angles that could\n. be used in OpenGL. Note, there is always more than one sequence of rotations about the three\n. principal axes that results in the same orientation of an object, e.g. see @cite Slabaugh . Returned\n. tree rotation matrices and corresponding three Euler angles are only one of the possible solutions.\n. \n. The function is based on RQDecomp3x3 .' - ... - -def demosaicing(src: Mat, code: int, dts: Mat = ..., dstCn: int = ...) -> typing.Any: - 'demosaicing(src, code[, dst[, dstCn]]) -> dst\n. @brief main function for all demosaicing processes\n. \n. @param src input image: 8-bit unsigned or 16-bit unsigned.\n. @param dst output image of the same size and depth as src.\n. @param code Color space conversion code (see the description below).\n. @param dstCn number of channels in the destination image; if the parameter is 0, the number of the\n. channels is derived automatically from src and code.\n. \n. The function can do the following transformations:\n. \n. - Demosaicing using bilinear interpolation\n. \n. #COLOR_BayerBG2BGR , #COLOR_BayerGB2BGR , #COLOR_BayerRG2BGR , #COLOR_BayerGR2BGR\n. \n. #COLOR_BayerBG2GRAY , #COLOR_BayerGB2GRAY , #COLOR_BayerRG2GRAY , #COLOR_BayerGR2GRAY\n. \n. - Demosaicing using Variable Number of Gradients.\n. \n. #COLOR_BayerBG2BGR_VNG , #COLOR_BayerGB2BGR_VNG , #COLOR_BayerRG2BGR_VNG , #COLOR_BayerGR2BGR_VNG\n. \n. - Edge-Aware Demosaicing.\n. \n. #COLOR_BayerBG2BGR_EA , #COLOR_BayerGB2BGR_EA , #COLOR_BayerRG2BGR_EA , #COLOR_BayerGR2BGR_EA\n. \n. - Demosaicing with alpha channel\n. \n. #COLOR_BayerBG2BGRA , #COLOR_BayerGB2BGRA , #COLOR_BayerRG2BGRA , #COLOR_BayerGR2BGRA\n. \n. @sa cvtColor' - ... - -def denoise_TVL1(observations, result, lambda_=..., niters=...) -> typing.Any: - "denoise_TVL1(observations, result[, lambda[, niters]]) -> None\n. @brief Primal-dual algorithm is an algorithm for solving special types of variational problems (that is,\n. finding a function to minimize some functional). As the image denoising, in particular, may be seen\n. as the variational problem, primal-dual algorithm then can be used to perform denoising and this is\n. exactly what is implemented.\n. \n. It should be noted, that this implementation was taken from the July 2013 blog entry\n. @cite MA13 , which also contained (slightly more general) ready-to-use source code on Python.\n. Subsequently, that code was rewritten on C++ with the usage of openCV by Vadim Pisarevsky at the end\n. of July 2013 and finally it was slightly adapted by later authors.\n. \n. Although the thorough discussion and justification of the algorithm involved may be found in\n. @cite ChambolleEtAl, it might make sense to skim over it here, following @cite MA13 . To begin\n. with, we consider the 1-byte gray-level images as the functions from the rectangular domain of\n. pixels (it may be seen as set\n. \\f$\\left\\{(x,y)\\in\\mathbb{N}\\times\\mathbb{N}\\mid 1\\leq x\\leq n,\\;1\\leq y\\leq m\\right\\}\\f$ for some\n. \\f$m,\\;n\\in\\mathbb{N}\\f$) into \\f$\\{0,1,\\dots,255\\}\\f$. We shall denote the noised images as \\f$f_i\\f$ and with\n. this view, given some image \\f$x\\f$ of the same size, we may measure how bad it is by the formula\n. \n. \\f[\\left\\|\\left\\|\\nabla x\\right\\|\\right\\| + \\lambda\\sum_i\\left\\|\\left\\|x-f_i\\right\\|\\right\\|\\f]\n. \n. \\f$\\|\\|\\cdot\\|\\|\\f$ here denotes \\f$L_2\\f$-norm and as you see, the first addend states that we want our\n. image to be smooth (ideally, having zero gradient, thus being constant) and the second states that\n. we want our result to be close to the observations we've got. If we treat \\f$x\\f$ as a function, this is\n. exactly the functional what we seek to minimize and here the Primal-Dual algorithm comes into play.\n. \n. @param observations This array should contain one or more noised versions of the image that is to\n. be restored.\n. @param result Here the denoised image will be stored. There is no need to do pre-allocation of\n. storage space, as it will be automatically allocated, if necessary.\n. @param lambda Corresponds to \\f$\\lambda\\f$ in the formulas above. As it is enlarged, the smooth\n. (blurred) images are treated more favorably than detailed (but maybe more noised) ones. Roughly\n. speaking, as it becomes smaller, the result will be more blur but more sever outliers will be\n. removed.\n. @param niters Number of iterations that the algorithm will run. Of course, as more iterations as\n. better, but it is hard to quantitatively refine this statement, so just use the default and\n. increase it if the results are poor." - ... - -def destroyAllWindows() -> typing.Any: - 'destroyAllWindows() -> None\n. @brief Destroys all of the HighGUI windows.\n. \n. The function destroyAllWindows destroys all of the opened HighGUI windows.' - ... - -def destroyWindow(winname) -> typing.Any: - 'destroyWindow(winname) -> None\n. @brief Destroys the specified window.\n. \n. The function destroyWindow destroys the window with the given name.\n. \n. @param winname Name of the window to be destroyed.' - ... - -def detailEnhance(src: Mat, dts: Mat = ..., sigma_s=..., sigma_r=...) -> typing.Any: - 'detailEnhance(src[, dst[, sigma_s[, sigma_r]]]) -> dst\n. @brief This filter enhances the details of a particular image.\n. \n. @param src Input 8-bit 3-channel image.\n. @param dst Output image with the same size and type as src.\n. @param sigma_s %Range between 0 to 200.\n. @param sigma_r %Range between 0 to 1.' - ... - -detail_AffineBasedEstimator = _mod_cv2.detail_AffineBasedEstimator -detail_AffineBestOf2NearestMatcher = _mod_cv2.detail_AffineBestOf2NearestMatcher -detail_BestOf2NearestMatcher = _mod_cv2.detail_BestOf2NearestMatcher -detail_BestOf2NearestRangeMatcher = _mod_cv2.detail_BestOf2NearestRangeMatcher -detail_Blender = _mod_cv2.detail_Blender -detail_BlocksChannelsCompensator = _mod_cv2.detail_BlocksChannelsCompensator -detail_BlocksCompensator = _mod_cv2.detail_BlocksCompensator -detail_BlocksGainCompensator = _mod_cv2.detail_BlocksGainCompensator -detail_BundleAdjusterAffine = _mod_cv2.detail_BundleAdjusterAffine -detail_BundleAdjusterAffinePartial = _mod_cv2.detail_BundleAdjusterAffinePartial -detail_BundleAdjusterBase = _mod_cv2.detail_BundleAdjusterBase -detail_BundleAdjusterRay = _mod_cv2.detail_BundleAdjusterRay -detail_BundleAdjusterReproj = _mod_cv2.detail_BundleAdjusterReproj -detail_CameraParams = _mod_cv2.detail_CameraParams -detail_ChannelsCompensator = _mod_cv2.detail_ChannelsCompensator -detail_DpSeamFinder = _mod_cv2.detail_DpSeamFinder -detail_Estimator = _mod_cv2.detail_Estimator -detail_ExposureCompensator = _mod_cv2.detail_ExposureCompensator -detail_FeatherBlender = _mod_cv2.detail_FeatherBlender -detail_FeaturesMatcher = _mod_cv2.detail_FeaturesMatcher -detail_GainCompensator = _mod_cv2.detail_GainCompensator -detail_GraphCutSeamFinder = _mod_cv2.detail_GraphCutSeamFinder -detail_HomographyBasedEstimator = _mod_cv2.detail_HomographyBasedEstimator -detail_ImageFeatures = _mod_cv2.detail_ImageFeatures -detail_MatchesInfo = _mod_cv2.detail_MatchesInfo -detail_MultiBandBlender = _mod_cv2.detail_MultiBandBlender -detail_NoBundleAdjuster = _mod_cv2.detail_NoBundleAdjuster -detail_NoExposureCompensator = _mod_cv2.detail_NoExposureCompensator -detail_NoSeamFinder = _mod_cv2.detail_NoSeamFinder -detail_PairwiseSeamFinder = _mod_cv2.detail_PairwiseSeamFinder -detail_ProjectorBase = _mod_cv2.detail_ProjectorBase -detail_SeamFinder = _mod_cv2.detail_SeamFinder -detail_SphericalProjector = _mod_cv2.detail_SphericalProjector -detail_Timelapser = _mod_cv2.detail_Timelapser -detail_TimelapserCrop = _mod_cv2.detail_TimelapserCrop -detail_VoronoiSeamFinder = _mod_cv2.detail_VoronoiSeamFinder -def determinant(mtx) -> typing.Any: - 'determinant(mtx) -> retval\n. @brief Returns the determinant of a square floating-point matrix.\n. \n. The function cv::determinant calculates and returns the determinant of the\n. specified matrix. For small matrices ( mtx.cols=mtx.rows\\<=3 ), the\n. direct method is used. For larger matrices, the function uses LU\n. factorization with partial pivoting.\n. \n. For symmetric positively-determined matrices, it is also possible to use\n. eigen decomposition to calculate the determinant.\n. @param mtx input matrix that must have CV_32FC1 or CV_64FC1 type and\n. square size.\n. @sa trace, invert, solve, eigen, @ref MatrixExpressions' - ... - -def dft(src: Mat, dts: Mat = ..., flags: int = ..., nonzeroRows=...) -> typing.Any: - 'dft(src[, dst[, flags[, nonzeroRows]]]) -> dst\n. @brief Performs a forward or inverse Discrete Fourier transform of a 1D or 2D floating-point array.\n. \n. The function cv::dft performs one of the following:\n. - Forward the Fourier transform of a 1D vector of N elements:\n. \\f[Y = F^{(N)} \\cdot X,\\f]\n. where \\f$F^{(N)}_{jk}=\\exp(-2\\pi i j k/N)\\f$ and \\f$i=\\sqrt{-1}\\f$\n. - Inverse the Fourier transform of a 1D vector of N elements:\n. \\f[\\begin{array}{l} X\'= \\left (F^{(N)} \\right )^{-1} \\cdot Y = \\left (F^{(N)} \\right )^* \\cdot y \\\\ X = (1/N) \\cdot X, \\end{array}\\f]\n. where \\f$F^*=\\left(\\textrm{Re}(F^{(N)})-\\textrm{Im}(F^{(N)})\\right)^T\\f$\n. - Forward the 2D Fourier transform of a M x N matrix:\n. \\f[Y = F^{(M)} \\cdot X \\cdot F^{(N)}\\f]\n. - Inverse the 2D Fourier transform of a M x N matrix:\n. \\f[\\begin{array}{l} X\'= \\left (F^{(M)} \\right )^* \\cdot Y \\cdot \\left (F^{(N)} \\right )^* \\\\ X = \\frac{1}{M \\cdot N} \\cdot X\' \\end{array}\\f]\n. \n. In case of real (single-channel) data, the output spectrum of the forward Fourier transform or input\n. spectrum of the inverse Fourier transform can be represented in a packed format called *CCS*\n. (complex-conjugate-symmetrical). It was borrowed from IPL (Intel\\* Image Processing Library). Here\n. is how 2D *CCS* spectrum looks:\n. \\f[\\begin{bmatrix} Re Y_{0,0} & Re Y_{0,1} & Im Y_{0,1} & Re Y_{0,2} & Im Y_{0,2} & \\cdots & Re Y_{0,N/2-1} & Im Y_{0,N/2-1} & Re Y_{0,N/2} \\\\ Re Y_{1,0} & Re Y_{1,1} & Im Y_{1,1} & Re Y_{1,2} & Im Y_{1,2} & \\cdots & Re Y_{1,N/2-1} & Im Y_{1,N/2-1} & Re Y_{1,N/2} \\\\ Im Y_{1,0} & Re Y_{2,1} & Im Y_{2,1} & Re Y_{2,2} & Im Y_{2,2} & \\cdots & Re Y_{2,N/2-1} & Im Y_{2,N/2-1} & Im Y_{1,N/2} \\\\ \\hdotsfor{9} \\\\ Re Y_{M/2-1,0} & Re Y_{M-3,1} & Im Y_{M-3,1} & \\hdotsfor{3} & Re Y_{M-3,N/2-1} & Im Y_{M-3,N/2-1}& Re Y_{M/2-1,N/2} \\\\ Im Y_{M/2-1,0} & Re Y_{M-2,1} & Im Y_{M-2,1} & \\hdotsfor{3} & Re Y_{M-2,N/2-1} & Im Y_{M-2,N/2-1}& Im Y_{M/2-1,N/2} \\\\ Re Y_{M/2,0} & Re Y_{M-1,1} & Im Y_{M-1,1} & \\hdotsfor{3} & Re Y_{M-1,N/2-1} & Im Y_{M-1,N/2-1}& Re Y_{M/2,N/2} \\end{bmatrix}\\f]\n. \n. In case of 1D transform of a real vector, the output looks like the first row of the matrix above.\n. \n. So, the function chooses an operation mode depending on the flags and size of the input array:\n. - If #DFT_ROWS is set or the input array has a single row or single column, the function\n. performs a 1D forward or inverse transform of each row of a matrix when #DFT_ROWS is set.\n. Otherwise, it performs a 2D transform.\n. - If the input array is real and #DFT_INVERSE is not set, the function performs a forward 1D or\n. 2D transform:\n. - When #DFT_COMPLEX_OUTPUT is set, the output is a complex matrix of the same size as\n. input.\n. - When #DFT_COMPLEX_OUTPUT is not set, the output is a real matrix of the same size as\n. input. In case of 2D transform, it uses the packed format as shown above. In case of a\n. single 1D transform, it looks like the first row of the matrix above. In case of\n. multiple 1D transforms (when using the #DFT_ROWS flag), each row of the output matrix\n. looks like the first row of the matrix above.\n. - If the input array is complex and either #DFT_INVERSE or #DFT_REAL_OUTPUT are not set, the\n. output is a complex array of the same size as input. The function performs a forward or\n. inverse 1D or 2D transform of the whole input array or each row of the input array\n. independently, depending on the flags DFT_INVERSE and DFT_ROWS.\n. - When #DFT_INVERSE is set and the input array is real, or it is complex but #DFT_REAL_OUTPUT\n. is set, the output is a real array of the same size as input. The function performs a 1D or 2D\n. inverse transformation of the whole input array or each individual row, depending on the flags\n. #DFT_INVERSE and #DFT_ROWS.\n. \n. If #DFT_SCALE is set, the scaling is done after the transformation.\n. \n. Unlike dct , the function supports arrays of arbitrary size. But only those arrays are processed\n. efficiently, whose sizes can be factorized in a product of small prime numbers (2, 3, and 5 in the\n. current implementation). Such an efficient DFT size can be calculated using the getOptimalDFTSize\n. method.\n. \n. The sample below illustrates how to calculate a DFT-based convolution of two 2D real arrays:\n. @code\n. void convolveDFT(InputArray A, InputArray B, OutputArray C)\n. {\n. // reallocate the output array if needed\n. C.create(abs(A.rows - B.rows)+1, abs(A.cols - B.cols)+1, A.type());\n. Size dftSize;\n. // calculate the size of DFT transform\n. dftSize.width = getOptimalDFTSize(A.cols + B.cols - 1);\n. dftSize.height = getOptimalDFTSize(A.rows + B.rows - 1);\n. \n. // allocate temporary buffers and initialize them with 0\'s\n. Mat tempA(dftSize, A.type(), Scalar::all(0));\n. Mat tempB(dftSize, B.type(), Scalar::all(0));\n. \n. // copy A and B to the top-left corners of tempA and tempB, respectively\n. Mat roiA(tempA, Rect(0,0,A.cols,A.rows));\n. A.copyTo(roiA);\n. Mat roiB(tempB, Rect(0,0,B.cols,B.rows));\n. B.copyTo(roiB);\n. \n. // now transform the padded A & B in-place;\n. // use "nonzeroRows" hint for faster processing\n. dft(tempA, tempA, 0, A.rows);\n. dft(tempB, tempB, 0, B.rows);\n. \n. // multiply the spectrums;\n. // the function handles packed spectrum representations well\n. mulSpectrums(tempA, tempB, tempA);\n. \n. // transform the product back from the frequency domain.\n. // Even though all the result rows will be non-zero,\n. // you need only the first C.rows of them, and thus you\n. // pass nonzeroRows == C.rows\n. dft(tempA, tempA, DFT_INVERSE + DFT_SCALE, C.rows);\n. \n. // now copy the result back to C.\n. tempA(Rect(0, 0, C.cols, C.rows)).copyTo(C);\n. \n. // all the temporary buffers will be deallocated automatically\n. }\n. @endcode\n. To optimize this sample, consider the following approaches:\n. - Since nonzeroRows != 0 is passed to the forward transform calls and since A and B are copied to\n. the top-left corners of tempA and tempB, respectively, it is not necessary to clear the whole\n. tempA and tempB. It is only necessary to clear the tempA.cols - A.cols ( tempB.cols - B.cols)\n. rightmost columns of the matrices.\n. - This DFT-based convolution does not have to be applied to the whole big arrays, especially if B\n. is significantly smaller than A or vice versa. Instead, you can calculate convolution by parts.\n. To do this, you need to split the output array C into multiple tiles. For each tile, estimate\n. which parts of A and B are required to calculate convolution in this tile. If the tiles in C are\n. too small, the speed will decrease a lot because of repeated work. In the ultimate case, when\n. each tile in C is a single pixel, the algorithm becomes equivalent to the naive convolution\n. algorithm. If the tiles are too big, the temporary arrays tempA and tempB become too big and\n. there is also a slowdown because of bad cache locality. So, there is an optimal tile size\n. somewhere in the middle.\n. - If different tiles in C can be calculated in parallel and, thus, the convolution is done by\n. parts, the loop can be threaded.\n. \n. All of the above improvements have been implemented in #matchTemplate and #filter2D . Therefore, by\n. using them, you can get the performance even better than with the above theoretically optimal\n. implementation. Though, those two functions actually calculate cross-correlation, not convolution,\n. so you need to "flip" the second convolution operand B vertically and horizontally using flip .\n. @note\n. - An example using the discrete fourier transform can be found at\n. opencv_source_code/samples/cpp/dft.cpp\n. - (Python) An example using the dft functionality to perform Wiener deconvolution can be found\n. at opencv_source/samples/python/deconvolution.py\n. - (Python) An example rearranging the quadrants of a Fourier image can be found at\n. opencv_source/samples/python/dft.py\n. @param src input array that could be real or complex.\n. @param dst output array whose size and type depends on the flags .\n. @param flags transformation flags, representing a combination of the #DftFlags\n. @param nonzeroRows when the parameter is not zero, the function assumes that only the first\n. nonzeroRows rows of the input array (#DFT_INVERSE is not set) or only the first nonzeroRows of the\n. output array (#DFT_INVERSE is set) contain non-zeros, thus, the function can handle the rest of the\n. rows more efficiently and save some time; this technique is very useful for calculating array\n. cross-correlation or convolution using DFT.\n. @sa dct , getOptimalDFTSize , mulSpectrums, filter2D , matchTemplate , flip , cartToPolar ,\n. magnitude , phase' - ... - -def dilate(src: Mat, kernel, dts: Mat = ..., anchor=..., iterations=..., borderType=..., borderValue=...) -> typing.Any: - "dilate(src, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]]) -> dst\n. @brief Dilates an image by using a specific structuring element.\n. \n. The function dilates the source image using the specified structuring element that determines the\n. shape of a pixel neighborhood over which the maximum is taken:\n. \\f[\\texttt{dst} (x,y) = \\max _{(x',y'): \\, \\texttt{element} (x',y') \\ne0 } \\texttt{src} (x+x',y+y')\\f]\n. \n. The function supports the in-place mode. Dilation can be applied several ( iterations ) times. In\n. case of multi-channel images, each channel is processed independently.\n. \n. @param src input image; the number of channels can be arbitrary, but the depth should be one of\n. CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.\n. @param dst output image of the same size and type as src.\n. @param kernel structuring element used for dilation; if elemenat=Mat(), a 3 x 3 rectangular\n. structuring element is used. Kernel can be created using #getStructuringElement\n. @param anchor position of the anchor within the element; default value (-1, -1) means that the\n. anchor is at the element center.\n. @param iterations number of times dilation is applied.\n. @param borderType pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not suported.\n. @param borderValue border value in case of a constant border\n. @sa erode, morphologyEx, getStructuringElement" - ... - -def displayOverlay(winname, text, delayms=...) -> typing.Any: - 'displayOverlay(winname, text[, delayms]) -> None\n. @brief Displays a text on a window image as an overlay for a specified duration.\n. \n. The function displayOverlay displays useful information/tips on top of the window for a certain\n. amount of time *delayms*. The function does not modify the image, displayed in the window, that is,\n. after the specified delay the original content of the window is restored.\n. \n. @param winname Name of the window.\n. @param text Overlay text to write on a window image.\n. @param delayms The period (in milliseconds), during which the overlay text is displayed. If this\n. function is called before the previous overlay text timed out, the timer is restarted and the text\n. is updated. If this value is zero, the text never disappears.' - ... - -def displayStatusBar(winname, text, delayms=...) -> typing.Any: - 'displayStatusBar(winname, text[, delayms]) -> None\n. @brief Displays a text on the window statusbar during the specified period of time.\n. \n. The function displayStatusBar displays useful information/tips on top of the window for a certain\n. amount of time *delayms* . This information is displayed on the window statusbar (the window must be\n. created with the CV_GUI_EXPANDED flags).\n. \n. @param winname Name of the window.\n. @param text Text to write on the window statusbar.\n. @param delayms Duration (in milliseconds) to display the text. If this function is called before\n. the previous text timed out, the timer is restarted and the text is updated. If this value is\n. zero, the text never disappears.' - ... - -def distanceTransform(src: Mat, distanceType, maskSize, dts: Mat = ..., dstType=...) -> typing.Any: - 'distanceTransform(src, distanceType, maskSize[, dst[, dstType]]) -> dst\n. @overload\n. @param src 8-bit, single-channel (binary) source image.\n. @param dst Output image with calculated distances. It is a 8-bit or 32-bit floating-point,\n. single-channel image of the same size as src .\n. @param distanceType Type of distance, see #DistanceTypes\n. @param maskSize Size of the distance transform mask, see #DistanceTransformMasks. In case of the\n. #DIST_L1 or #DIST_C distance type, the parameter is forced to 3 because a \\f$3\\times 3\\f$ mask gives\n. the same result as \\f$5\\times 5\\f$ or any larger aperture.\n. @param dstType Type of output image. It can be CV_8U or CV_32F. Type CV_8U can be used only for\n. the first variant of the function and distanceType == #DIST_L1.' - ... - -def distanceTransformWithLabels(src: Mat, distanceType, maskSize, dts: Mat = ..., labels=..., labelType=...) -> typing.Any: - "distanceTransformWithLabels(src, distanceType, maskSize[, dst[, labels[, labelType]]]) -> dst, labels\n. @brief Calculates the distance to the closest zero pixel for each pixel of the source image.\n. \n. The function cv::distanceTransform calculates the approximate or precise distance from every binary\n. image pixel to the nearest zero pixel. For zero image pixels, the distance will obviously be zero.\n. \n. When maskSize == #DIST_MASK_PRECISE and distanceType == #DIST_L2 , the function runs the\n. algorithm described in @cite Felzenszwalb04 . This algorithm is parallelized with the TBB library.\n. \n. In other cases, the algorithm @cite Borgefors86 is used. This means that for a pixel the function\n. finds the shortest path to the nearest zero pixel consisting of basic shifts: horizontal, vertical,\n. diagonal, or knight's move (the latest is available for a \\f$5\\times 5\\f$ mask). The overall\n. distance is calculated as a sum of these basic distances. Since the distance function should be\n. symmetric, all of the horizontal and vertical shifts must have the same cost (denoted as a ), all\n. the diagonal shifts must have the same cost (denoted as `b`), and all knight's moves must have the\n. same cost (denoted as `c`). For the #DIST_C and #DIST_L1 types, the distance is calculated\n. precisely, whereas for #DIST_L2 (Euclidean distance) the distance can be calculated only with a\n. relative error (a \\f$5\\times 5\\f$ mask gives more accurate results). For `a`,`b`, and `c`, OpenCV\n. uses the values suggested in the original paper:\n. - DIST_L1: `a = 1, b = 2`\n. - DIST_L2:\n. - `3 x 3`: `a=0.955, b=1.3693`\n. - `5 x 5`: `a=1, b=1.4, c=2.1969`\n. - DIST_C: `a = 1, b = 1`\n. \n. Typically, for a fast, coarse distance estimation #DIST_L2, a \\f$3\\times 3\\f$ mask is used. For a\n. more accurate distance estimation #DIST_L2, a \\f$5\\times 5\\f$ mask or the precise algorithm is used.\n. Note that both the precise and the approximate algorithms are linear on the number of pixels.\n. \n. This variant of the function does not only compute the minimum distance for each pixel \\f$(x, y)\\f$\n. but also identifies the nearest connected component consisting of zero pixels\n. (labelType==#DIST_LABEL_CCOMP) or the nearest zero pixel (labelType==#DIST_LABEL_PIXEL). Index of the\n. component/pixel is stored in `labels(x, y)`. When labelType==#DIST_LABEL_CCOMP, the function\n. automatically finds connected components of zero pixels in the input image and marks them with\n. distinct labels. When labelType==#DIST_LABEL_CCOMP, the function scans through the input image and\n. marks all the zero pixels with distinct labels.\n. \n. In this mode, the complexity is still linear. That is, the function provides a very fast way to\n. compute the Voronoi diagram for a binary image. Currently, the second variant can use only the\n. approximate distance transform algorithm, i.e. maskSize=#DIST_MASK_PRECISE is not supported\n. yet.\n. \n. @param src 8-bit, single-channel (binary) source image.\n. @param dst Output image with calculated distances. It is a 8-bit or 32-bit floating-point,\n. single-channel image of the same size as src.\n. @param labels Output 2D array of labels (the discrete Voronoi diagram). It has the type\n. CV_32SC1 and the same size as src.\n. @param distanceType Type of distance, see #DistanceTypes\n. @param maskSize Size of the distance transform mask, see #DistanceTransformMasks.\n. #DIST_MASK_PRECISE is not supported by this variant. In case of the #DIST_L1 or #DIST_C distance type,\n. the parameter is forced to 3 because a \\f$3\\times 3\\f$ mask gives the same result as \\f$5\\times\n. 5\\f$ or any larger aperture.\n. @param labelType Type of the label array to build, see #DistanceTransformLabelTypes." - ... - -def divide(src1: Mat, src2: Mat, dts: Mat = ..., scale=..., dtype=...) -> typing.Any: - 'divide(src1, src2[, dst[, scale[, dtype]]]) -> dst\n. @brief Performs per-element division of two arrays or a scalar by an array.\n. \n. The function cv::divide divides one array by another:\n. \\f[\\texttt{dst(I) = saturate(src1(I)*scale/src2(I))}\\f]\n. or a scalar by an array when there is no src1 :\n. \\f[\\texttt{dst(I) = saturate(scale/src2(I))}\\f]\n. \n. Different channels of multi-channel arrays are processed independently.\n. \n. For integer types when src2(I) is zero, dst(I) will also be zero.\n. \n. @note In case of floating point data there is no special defined behavior for zero src2(I) values.\n. Regular floating-point division is used.\n. Expect correct IEEE-754 behaviour for floating-point data (with NaN, Inf result values).\n. \n. @note Saturation is not applied when the output array has the depth CV_32S. You may even get\n. result of an incorrect sign in the case of overflow.\n. @param src1 first input array.\n. @param src2 second input array of the same size and type as src1.\n. @param scale scalar factor.\n. @param dst output array of the same size and type as src2.\n. @param dtype optional depth of the output array; if -1, dst will have depth src2.depth(), but in\n. case of an array-by-array division, you can only pass -1 when src1.depth()==src2.depth().\n. @sa multiply, add, subtract\n\n\n\ndivide(scale, src2[, dst[, dtype]]) -> dst\n. @overload' - ... - -dnn_ClassificationModel = _mod_cv2.dnn_ClassificationModel -dnn_DetectionModel = _mod_cv2.dnn_DetectionModel -dnn_DictValue = _mod_cv2.dnn_DictValue -dnn_KeypointsModel = _mod_cv2.dnn_KeypointsModel -dnn_Layer = _mod_cv2.dnn_Layer -dnn_Model = _mod_cv2.dnn_Model -dnn_Net = _mod_cv2.dnn_Net -dnn_SegmentationModel = _mod_cv2.dnn_SegmentationModel -def dnn_registerLayer() -> typing.Any: - 'registerLayer(type, class) -> None' - ... - -def dnn_unregisterLayer() -> typing.Any: - 'unregisterLayer(type) -> None' - ... - -def drawChessboardCorners(image: Mat, patternSize, corners, patternWasFound) -> typing.Any: - 'drawChessboardCorners(image, patternSize, corners, patternWasFound) -> image\n. @brief Renders the detected chessboard corners.\n. \n. @param image Destination image. It must be an 8-bit color image.\n. @param patternSize Number of inner corners per a chessboard row and column\n. (patternSize = cv::Size(points_per_row,points_per_column)).\n. @param corners Array of detected corners, the output of findChessboardCorners.\n. @param patternWasFound Parameter indicating whether the complete board was found or not. The\n. return value of findChessboardCorners should be passed here.\n. \n. The function draws individual chessboard corners detected either as red circles if the board was not\n. found, or as colored corners connected with lines if the board was found.' - ... - -def drawContours(image: Mat, contours, contourIdx, color, thickness=..., lineType=..., hierarchy=..., maxLevel=..., offset=...) -> typing.Any: - 'drawContours(image, contours, contourIdx, color[, thickness[, lineType[, hierarchy[, maxLevel[, offset]]]]]) -> image\n. @brief Draws contours outlines or filled contours.\n. \n. The function draws contour outlines in the image if \\f$\\texttt{thickness} \\ge 0\\f$ or fills the area\n. bounded by the contours if \\f$\\texttt{thickness}<0\\f$ . The example below shows how to retrieve\n. connected components from the binary image and label them: :\n. @include snippets/imgproc_drawContours.cpp\n. \n. @param image Destination image.\n. @param contours All the input contours. Each contour is stored as a point vector.\n. @param contourIdx Parameter indicating a contour to draw. If it is negative, all the contours are drawn.\n. @param color Color of the contours.\n. @param thickness Thickness of lines the contours are drawn with. If it is negative (for example,\n. thickness=#FILLED ), the contour interiors are drawn.\n. @param lineType Line connectivity. See #LineTypes\n. @param hierarchy Optional information about hierarchy. It is only needed if you want to draw only\n. some of the contours (see maxLevel ).\n. @param maxLevel Maximal level for drawn contours. If it is 0, only the specified contour is drawn.\n. If it is 1, the function draws the contour(s) and all the nested contours. If it is 2, the function\n. draws the contours, all the nested contours, all the nested-to-nested contours, and so on. This\n. parameter is only taken into account when there is hierarchy available.\n. @param offset Optional contour shift parameter. Shift all the drawn contours by the specified\n. \\f$\\texttt{offset}=(dx,dy)\\f$ .\n. @note When thickness=#FILLED, the function is designed to handle connected components with holes correctly\n. even when no hierarchy date is provided. This is done by analyzing all the outlines together\n. using even-odd rule. This may give incorrect results if you have a joint collection of separately retrieved\n. contours. In order to solve this problem, you need to call #drawContours separately for each sub-group\n. of contours, or iterate over the collection using contourIdx parameter.' - ... - -def drawFrameAxes(image: Mat, cameraMatrix, distCoeffs, rvec, tvec, length, thickness=...) -> typing.Any: - 'drawFrameAxes(image, cameraMatrix, distCoeffs, rvec, tvec, length[, thickness]) -> image\n. @brief Draw axes of the world/object coordinate system from pose estimation. @sa solvePnP\n. \n. @param image Input/output image. It must have 1 or 3 channels. The number of channels is not altered.\n. @param cameraMatrix Input 3x3 floating-point matrix of camera intrinsic parameters.\n. \\f$A = \\vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\\f$\n. @param distCoeffs Input vector of distortion coefficients\n. \\f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]])\\f$ of\n. 4, 5, 8, 12 or 14 elements. If the vector is empty, the zero distortion coefficients are assumed.\n. @param rvec Rotation vector (see @ref Rodrigues ) that, together with tvec, brings points from\n. the model coordinate system to the camera coordinate system.\n. @param tvec Translation vector.\n. @param length Length of the painted axes in the same unit than tvec (usually in meters).\n. @param thickness Line thickness of the painted axes.\n. \n. This function draws the axes of the world/object coordinate system w.r.t. to the camera frame.\n. OX is drawn in red, OY in green and OZ in blue.' - ... - -def drawKeypoints(image: Mat, keypoints, outImage, color=..., flags: int = ...) -> typing.Any: - 'drawKeypoints(image, keypoints, outImage[, color[, flags]]) -> outImage\n. @brief Draws keypoints.\n. \n. @param image Source image.\n. @param keypoints Keypoints from the source image.\n. @param outImage Output image. Its content depends on the flags value defining what is drawn in the\n. output image. See possible flags bit values below.\n. @param color Color of keypoints.\n. @param flags Flags setting drawing features. Possible flags bit values are defined by\n. DrawMatchesFlags. See details above in drawMatches .\n. \n. @note\n. For Python API, flags are modified as cv.DRAW_MATCHES_FLAGS_DEFAULT,\n. cv.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS, cv.DRAW_MATCHES_FLAGS_DRAW_OVER_OUTIMG,\n. cv.DRAW_MATCHES_FLAGS_NOT_DRAW_SINGLE_POINTS' - ... - -def drawMarker(img: Mat, position, color, markerType=..., markerSize=..., thickness=..., line_type=...) -> typing.Any: - 'drawMarker(img, position, color[, markerType[, markerSize[, thickness[, line_type]]]]) -> img\n. @brief Draws a marker on a predefined position in an image.\n. \n. The function cv::drawMarker draws a marker on a given position in the image. For the moment several\n. marker types are supported, see #MarkerTypes for more information.\n. \n. @param img Image.\n. @param position The point where the crosshair is positioned.\n. @param color Line color.\n. @param markerType The specific type of marker you want to use, see #MarkerTypes\n. @param thickness Line thickness.\n. @param line_type Type of the line, See #LineTypes\n. @param markerSize The length of the marker axis [default = 20 pixels]' - ... - -def drawMatches(img1, keypoints1, img2, keypoints2, matches1to2, outImg, matchColor=..., singlePointColor=..., matchesMask=..., flags: int = ...) -> typing.Any: - 'drawMatches(img1, keypoints1, img2, keypoints2, matches1to2, outImg[, matchColor[, singlePointColor[, matchesMask[, flags]]]]) -> outImg\n. @brief Draws the found matches of keypoints from two images.\n. \n. @param img1 First source image.\n. @param keypoints1 Keypoints from the first source image.\n. @param img2 Second source image.\n. @param keypoints2 Keypoints from the second source image.\n. @param matches1to2 Matches from the first image to the second one, which means that keypoints1[i]\n. has a corresponding point in keypoints2[matches[i]] .\n. @param outImg Output image. Its content depends on the flags value defining what is drawn in the\n. output image. See possible flags bit values below.\n. @param matchColor Color of matches (lines and connected keypoints). If matchColor==Scalar::all(-1)\n. , the color is generated randomly.\n. @param singlePointColor Color of single keypoints (circles), which means that keypoints do not\n. have the matches. If singlePointColor==Scalar::all(-1) , the color is generated randomly.\n. @param matchesMask Mask determining which matches are drawn. If the mask is empty, all matches are\n. drawn.\n. @param flags Flags setting drawing features. Possible flags bit values are defined by\n. DrawMatchesFlags.\n. \n. This function draws matches of keypoints from two images in the output image. Match is a line\n. connecting two keypoints (circles). See cv::DrawMatchesFlags.' - ... - -def drawMatchesKnn(img1, keypoints1, img2, keypoints2, matches1to2, outImg, matchColor=..., singlePointColor=..., matchesMask=..., flags: int = ...) -> typing.Any: - 'drawMatchesKnn(img1, keypoints1, img2, keypoints2, matches1to2, outImg[, matchColor[, singlePointColor[, matchesMask[, flags]]]]) -> outImg\n. @overload' - ... - -def edgePreservingFilter(src: Mat, dts: Mat = ..., flags: int = ..., sigma_s=..., sigma_r=...) -> typing.Any: - 'edgePreservingFilter(src[, dst[, flags[, sigma_s[, sigma_r]]]]) -> dst\n. @brief Filtering is the fundamental operation in image and video processing. Edge-preserving smoothing\n. filters are used in many different applications @cite EM11 .\n. \n. @param src Input 8-bit 3-channel image.\n. @param dst Output 8-bit 3-channel image.\n. @param flags Edge preserving filters: cv::RECURS_FILTER or cv::NORMCONV_FILTER\n. @param sigma_s %Range between 0 to 200.\n. @param sigma_r %Range between 0 to 1.' - ... - -def eigen(src: Mat, eigenvalues=..., eigenvectors=...) -> typing.Any: - 'eigen(src[, eigenvalues[, eigenvectors]]) -> retval, eigenvalues, eigenvectors\n. @brief Calculates eigenvalues and eigenvectors of a symmetric matrix.\n. \n. The function cv::eigen calculates just eigenvalues, or eigenvalues and eigenvectors of the symmetric\n. matrix src:\n. @code\n. src*eigenvectors.row(i).t() = eigenvalues.at(i)*eigenvectors.row(i).t()\n. @endcode\n. \n. @note Use cv::eigenNonSymmetric for calculation of real eigenvalues and eigenvectors of non-symmetric matrix.\n. \n. @param src input matrix that must have CV_32FC1 or CV_64FC1 type, square size and be symmetrical\n. (src ^T^ == src).\n. @param eigenvalues output vector of eigenvalues of the same type as src; the eigenvalues are stored\n. in the descending order.\n. @param eigenvectors output matrix of eigenvectors; it has the same size and type as src; the\n. eigenvectors are stored as subsequent matrix rows, in the same order as the corresponding\n. eigenvalues.\n. @sa eigenNonSymmetric, completeSymm , PCA' - ... - -def eigenNonSymmetric(src: Mat, eigenvalues=..., eigenvectors=...) -> typing.Any: - 'eigenNonSymmetric(src[, eigenvalues[, eigenvectors]]) -> eigenvalues, eigenvectors\n. @brief Calculates eigenvalues and eigenvectors of a non-symmetric matrix (real eigenvalues only).\n. \n. @note Assumes real eigenvalues.\n. \n. The function calculates eigenvalues and eigenvectors (optional) of the square matrix src:\n. @code\n. src*eigenvectors.row(i).t() = eigenvalues.at(i)*eigenvectors.row(i).t()\n. @endcode\n. \n. @param src input matrix (CV_32FC1 or CV_64FC1 type).\n. @param eigenvalues output vector of eigenvalues (type is the same type as src).\n. @param eigenvectors output matrix of eigenvectors (type is the same type as src). The eigenvectors are stored as subsequent matrix rows, in the same order as the corresponding eigenvalues.\n. @sa eigen' - ... - -def ellipse(img: Mat, center, axes, angle, startAngle, endAngle, color, thickness=..., lineType=..., shift=...) -> typing.Any: - 'ellipse(img, center, axes, angle, startAngle, endAngle, color[, thickness[, lineType[, shift]]]) -> img\n. @brief Draws a simple or thick elliptic arc or fills an ellipse sector.\n. \n. The function cv::ellipse with more parameters draws an ellipse outline, a filled ellipse, an elliptic\n. arc, or a filled ellipse sector. The drawing code uses general parametric form.\n. A piecewise-linear curve is used to approximate the elliptic arc\n. boundary. If you need more control of the ellipse rendering, you can retrieve the curve using\n. #ellipse2Poly and then render it with #polylines or fill it with #fillPoly. If you use the first\n. variant of the function and want to draw the whole ellipse, not an arc, pass `startAngle=0` and\n. `endAngle=360`. If `startAngle` is greater than `endAngle`, they are swapped. The figure below explains\n. the meaning of the parameters to draw the blue arc.\n. \n. ![Parameters of Elliptic Arc](pics/ellipse.svg)\n. \n. @param img Image.\n. @param center Center of the ellipse.\n. @param axes Half of the size of the ellipse main axes.\n. @param angle Ellipse rotation angle in degrees.\n. @param startAngle Starting angle of the elliptic arc in degrees.\n. @param endAngle Ending angle of the elliptic arc in degrees.\n. @param color Ellipse color.\n. @param thickness Thickness of the ellipse arc outline, if positive. Otherwise, this indicates that\n. a filled ellipse sector is to be drawn.\n. @param lineType Type of the ellipse boundary. See #LineTypes\n. @param shift Number of fractional bits in the coordinates of the center and values of axes.\n\n\n\nellipse(img, box, color[, thickness[, lineType]]) -> img\n. @overload\n. @param img Image.\n. @param box Alternative ellipse representation via RotatedRect. This means that the function draws\n. an ellipse inscribed in the rotated rectangle.\n. @param color Ellipse color.\n. @param thickness Thickness of the ellipse arc outline, if positive. Otherwise, this indicates that\n. a filled ellipse sector is to be drawn.\n. @param lineType Type of the ellipse boundary. See #LineTypes' - ... - -def ellipse2Poly(center, axes, angle, arcStart, arcEnd, delta) -> typing.Any: - 'ellipse2Poly(center, axes, angle, arcStart, arcEnd, delta) -> pts\n. @brief Approximates an elliptic arc with a polyline.\n. \n. The function ellipse2Poly computes the vertices of a polyline that approximates the specified\n. elliptic arc. It is used by #ellipse. If `arcStart` is greater than `arcEnd`, they are swapped.\n. \n. @param center Center of the arc.\n. @param axes Half of the size of the ellipse main axes. See #ellipse for details.\n. @param angle Rotation angle of the ellipse in degrees. See #ellipse for details.\n. @param arcStart Starting angle of the elliptic arc in degrees.\n. @param arcEnd Ending angle of the elliptic arc in degrees.\n. @param delta Angle between the subsequent polyline vertices. It defines the approximation\n. accuracy.\n. @param pts Output vector of polyline vertices.' - ... - -def equalizeHist(src: Mat, dts: Mat = ...) -> typing.Any: - "equalizeHist(src[, dst]) -> dst\n. @brief Equalizes the histogram of a grayscale image.\n. \n. The function equalizes the histogram of the input image using the following algorithm:\n. \n. - Calculate the histogram \\f$H\\f$ for src .\n. - Normalize the histogram so that the sum of histogram bins is 255.\n. - Compute the integral of the histogram:\n. \\f[H'_i = \\sum _{0 \\le j < i} H(j)\\f]\n. - Transform the image using \\f$H'\\f$ as a look-up table: \\f$\\texttt{dst}(x,y) = H'(\\texttt{src}(x,y))\\f$\n. \n. The algorithm normalizes the brightness and increases the contrast of the image.\n. \n. @param src Source 8-bit single channel image.\n. @param dst Destination image of the same size and type as src ." - ... - -def erode(src: Mat, kernel, dts: Mat = ..., anchor=..., iterations=..., borderType=..., borderValue=...) -> typing.Any: - "erode(src, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]]) -> dst\n. @brief Erodes an image by using a specific structuring element.\n. \n. The function erodes the source image using the specified structuring element that determines the\n. shape of a pixel neighborhood over which the minimum is taken:\n. \n. \\f[\\texttt{dst} (x,y) = \\min _{(x',y'): \\, \\texttt{element} (x',y') \\ne0 } \\texttt{src} (x+x',y+y')\\f]\n. \n. The function supports the in-place mode. Erosion can be applied several ( iterations ) times. In\n. case of multi-channel images, each channel is processed independently.\n. \n. @param src input image; the number of channels can be arbitrary, but the depth should be one of\n. CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.\n. @param dst output image of the same size and type as src.\n. @param kernel structuring element used for erosion; if `element=Mat()`, a `3 x 3` rectangular\n. structuring element is used. Kernel can be created using #getStructuringElement.\n. @param anchor position of the anchor within the element; default value (-1, -1) means that the\n. anchor is at the element center.\n. @param iterations number of times erosion is applied.\n. @param borderType pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not supported.\n. @param borderValue border value in case of a constant border\n. @sa dilate, morphologyEx, getStructuringElement" - ... - -error = _mod_cv2.error -def estimateAffine2D(from_, to, inliers=..., method: int = ..., ransacReprojThreshold=..., maxIters=..., confidence=..., refineIters=...) -> typing.Any: - 'estimateAffine2D(from, to[, inliers[, method[, ransacReprojThreshold[, maxIters[, confidence[, refineIters]]]]]]) -> retval, inliers\n. @brief Computes an optimal affine transformation between two 2D point sets.\n. \n. It computes\n. \\f[\n. \\begin{bmatrix}\n. x\\\\\n. y\\\\\n. \\end{bmatrix}\n. =\n. \\begin{bmatrix}\n. a_{11} & a_{12}\\\\\n. a_{21} & a_{22}\\\\\n. \\end{bmatrix}\n. \\begin{bmatrix}\n. X\\\\\n. Y\\\\\n. \\end{bmatrix}\n. +\n. \\begin{bmatrix}\n. b_1\\\\\n. b_2\\\\\n. \\end{bmatrix}\n. \\f]\n. \n. @param from First input 2D point set containing \\f$(X,Y)\\f$.\n. @param to Second input 2D point set containing \\f$(x,y)\\f$.\n. @param inliers Output vector indicating which points are inliers (1-inlier, 0-outlier).\n. @param method Robust method used to compute transformation. The following methods are possible:\n. - cv::RANSAC - RANSAC-based robust method\n. - cv::LMEDS - Least-Median robust method\n. RANSAC is the default method.\n. @param ransacReprojThreshold Maximum reprojection error in the RANSAC algorithm to consider\n. a point as an inlier. Applies only to RANSAC.\n. @param maxIters The maximum number of robust method iterations.\n. @param confidence Confidence level, between 0 and 1, for the estimated transformation. Anything\n. between 0.95 and 0.99 is usually good enough. Values too close to 1 can slow down the estimation\n. significantly. Values lower than 0.8-0.9 can result in an incorrectly estimated transformation.\n. @param refineIters Maximum number of iterations of refining algorithm (Levenberg-Marquardt).\n. Passing 0 will disable refining, so the output matrix will be output of robust method.\n. \n. @return Output 2D affine transformation matrix \\f$2 \\times 3\\f$ or empty matrix if transformation\n. could not be estimated. The returned matrix has the following form:\n. \\f[\n. \\begin{bmatrix}\n. a_{11} & a_{12} & b_1\\\\\n. a_{21} & a_{22} & b_2\\\\\n. \\end{bmatrix}\n. \\f]\n. \n. The function estimates an optimal 2D affine transformation between two 2D point sets using the\n. selected robust algorithm.\n. \n. The computed transformation is then refined further (using only inliers) with the\n. Levenberg-Marquardt method to reduce the re-projection error even more.\n. \n. @note\n. The RANSAC method can handle practically any ratio of outliers but needs a threshold to\n. distinguish inliers from outliers. The method LMeDS does not need any threshold but it works\n. correctly only when there are more than 50% of inliers.\n. \n. @sa estimateAffinePartial2D, getAffineTransform' - ... - -def estimateAffine3D(src: Mat, dts: Mat, out=..., inliers=..., ransacThreshold=..., confidence=...) -> typing.Any: - 'estimateAffine3D(src, dst[, out[, inliers[, ransacThreshold[, confidence]]]]) -> retval, out, inliers\n. @brief Computes an optimal affine transformation between two 3D point sets.\n. \n. It computes\n. \\f[\n. \\begin{bmatrix}\n. x\\\\\n. y\\\\\n. z\\\\\n. \\end{bmatrix}\n. =\n. \\begin{bmatrix}\n. a_{11} & a_{12} & a_{13}\\\\\n. a_{21} & a_{22} & a_{23}\\\\\n. a_{31} & a_{32} & a_{33}\\\\\n. \\end{bmatrix}\n. \\begin{bmatrix}\n. X\\\\\n. Y\\\\\n. Z\\\\\n. \\end{bmatrix}\n. +\n. \\begin{bmatrix}\n. b_1\\\\\n. b_2\\\\\n. b_3\\\\\n. \\end{bmatrix}\n. \\f]\n. \n. @param src First input 3D point set containing \\f$(X,Y,Z)\\f$.\n. @param dst Second input 3D point set containing \\f$(x,y,z)\\f$.\n. @param out Output 3D affine transformation matrix \\f$3 \\times 4\\f$ of the form\n. \\f[\n. \\begin{bmatrix}\n. a_{11} & a_{12} & a_{13} & b_1\\\\\n. a_{21} & a_{22} & a_{23} & b_2\\\\\n. a_{31} & a_{32} & a_{33} & b_3\\\\\n. \\end{bmatrix}\n. \\f]\n. @param inliers Output vector indicating which points are inliers (1-inlier, 0-outlier).\n. @param ransacThreshold Maximum reprojection error in the RANSAC algorithm to consider a point as\n. an inlier.\n. @param confidence Confidence level, between 0 and 1, for the estimated transformation. Anything\n. between 0.95 and 0.99 is usually good enough. Values too close to 1 can slow down the estimation\n. significantly. Values lower than 0.8-0.9 can result in an incorrectly estimated transformation.\n. \n. The function estimates an optimal 3D affine transformation between two 3D point sets using the\n. RANSAC algorithm.' - ... - -def estimateAffinePartial2D(from_, to, inliers=..., method: int = ..., ransacReprojThreshold=..., maxIters=..., confidence=..., refineIters=...) -> typing.Any: - 'estimateAffinePartial2D(from, to[, inliers[, method[, ransacReprojThreshold[, maxIters[, confidence[, refineIters]]]]]]) -> retval, inliers\n. @brief Computes an optimal limited affine transformation with 4 degrees of freedom between\n. two 2D point sets.\n. \n. @param from First input 2D point set.\n. @param to Second input 2D point set.\n. @param inliers Output vector indicating which points are inliers.\n. @param method Robust method used to compute transformation. The following methods are possible:\n. - cv::RANSAC - RANSAC-based robust method\n. - cv::LMEDS - Least-Median robust method\n. RANSAC is the default method.\n. @param ransacReprojThreshold Maximum reprojection error in the RANSAC algorithm to consider\n. a point as an inlier. Applies only to RANSAC.\n. @param maxIters The maximum number of robust method iterations.\n. @param confidence Confidence level, between 0 and 1, for the estimated transformation. Anything\n. between 0.95 and 0.99 is usually good enough. Values too close to 1 can slow down the estimation\n. significantly. Values lower than 0.8-0.9 can result in an incorrectly estimated transformation.\n. @param refineIters Maximum number of iterations of refining algorithm (Levenberg-Marquardt).\n. Passing 0 will disable refining, so the output matrix will be output of robust method.\n. \n. @return Output 2D affine transformation (4 degrees of freedom) matrix \\f$2 \\times 3\\f$ or\n. empty matrix if transformation could not be estimated.\n. \n. The function estimates an optimal 2D affine transformation with 4 degrees of freedom limited to\n. combinations of translation, rotation, and uniform scaling. Uses the selected algorithm for robust\n. estimation.\n. \n. The computed transformation is then refined further (using only inliers) with the\n. Levenberg-Marquardt method to reduce the re-projection error even more.\n. \n. Estimated transformation matrix is:\n. \\f[ \\begin{bmatrix} \\cos(\\theta) \\cdot s & -\\sin(\\theta) \\cdot s & t_x \\\\\n. \\sin(\\theta) \\cdot s & \\cos(\\theta) \\cdot s & t_y\n. \\end{bmatrix} \\f]\n. Where \\f$ \\theta \\f$ is the rotation angle, \\f$ s \\f$ the scaling factor and \\f$ t_x, t_y \\f$ are\n. translations in \\f$ x, y \\f$ axes respectively.\n. \n. @note\n. The RANSAC method can handle practically any ratio of outliers but need a threshold to\n. distinguish inliers from outliers. The method LMeDS does not need any threshold but it works\n. correctly only when there are more than 50% of inliers.\n. \n. @sa estimateAffine2D, getAffineTransform' - ... - -def estimateChessboardSharpness(image: Mat, patternSize, corners, rise_distance=..., vertical=..., sharpness=...) -> typing.Any: - 'estimateChessboardSharpness(image, patternSize, corners[, rise_distance[, vertical[, sharpness]]]) -> retval, sharpness\n. @brief Estimates the sharpness of a detected chessboard.\n. \n. Image sharpness, as well as brightness, are a critical parameter for accuracte\n. camera calibration. For accessing these parameters for filtering out\n. problematic calibraiton images, this method calculates edge profiles by traveling from\n. black to white chessboard cell centers. Based on this, the number of pixels is\n. calculated required to transit from black to white. This width of the\n. transition area is a good indication of how sharp the chessboard is imaged\n. and should be below ~3.0 pixels.\n. \n. @param image Gray image used to find chessboard corners\n. @param patternSize Size of a found chessboard pattern\n. @param corners Corners found by findChessboardCorners(SB)\n. @param rise_distance Rise distance 0.8 means 10% ... 90% of the final signal strength\n. @param vertical By default edge responses for horizontal lines are calculated\n. @param sharpness Optional output array with a sharpness value for calculated edge responses (see description)\n. \n. The optional sharpness array is of type CV_32FC1 and has for each calculated\n. profile one row with the following five entries:\n. * 0 = x coordinate of the underlying edge in the image\n. * 1 = y coordinate of the underlying edge in the image\n. * 2 = width of the transition area (sharpness)\n. * 3 = signal strength in the black cell (min brightness)\n. * 4 = signal strength in the white cell (max brightness)\n. \n. @return Scalar(average sharpness, average min brightness, average max brightness,0)' - ... - -def estimateTranslation3D(src: Mat, dts: Mat, out=..., inliers=..., ransacThreshold=..., confidence=...) -> typing.Any: - 'estimateTranslation3D(src, dst[, out[, inliers[, ransacThreshold[, confidence]]]]) -> retval, out, inliers\n. @brief Computes an optimal translation between two 3D point sets.\n. *\n. * It computes\n. * \\f[\n. * \\begin{bmatrix}\n. * x\\\\\n. * y\\\\\n. * z\\\\\n. * \\end{bmatrix}\n. * =\n. * \\begin{bmatrix}\n. * X\\\\\n. * Y\\\\\n. * Z\\\\\n. * \\end{bmatrix}\n. * +\n. * \\begin{bmatrix}\n. * b_1\\\\\n. * b_2\\\\\n. * b_3\\\\\n. * \\end{bmatrix}\n. * \\f]\n. *\n. * @param src First input 3D point set containing \\f$(X,Y,Z)\\f$.\n. * @param dst Second input 3D point set containing \\f$(x,y,z)\\f$.\n. * @param out Output 3D translation vector \\f$3 \\times 1\\f$ of the form\n. * \\f[\n. * \\begin{bmatrix}\n. * b_1 \\\\\n. * b_2 \\\\\n. * b_3 \\\\\n. * \\end{bmatrix}\n. * \\f]\n. * @param inliers Output vector indicating which points are inliers (1-inlier, 0-outlier).\n. * @param ransacThreshold Maximum reprojection error in the RANSAC algorithm to consider a point as\n. * an inlier.\n. * @param confidence Confidence level, between 0 and 1, for the estimated transformation. Anything\n. * between 0.95 and 0.99 is usually good enough. Values too close to 1 can slow down the estimation\n. * significantly. Values lower than 0.8-0.9 can result in an incorrectly estimated transformation.\n. *\n. * The function estimates an optimal 3D translation between two 3D point sets using the\n. * RANSAC algorithm.\n. *' - ... - -def exp(src: Mat, dts: Mat = ...) -> typing.Any: - 'exp(src[, dst]) -> dst\n. @brief Calculates the exponent of every array element.\n. \n. The function cv::exp calculates the exponent of every element of the input\n. array:\n. \\f[\\texttt{dst} [I] = e^{ src(I) }\\f]\n. \n. The maximum relative error is about 7e-6 for single-precision input and\n. less than 1e-10 for double-precision input. Currently, the function\n. converts denormalized values to zeros on output. Special values (NaN,\n. Inf) are not handled.\n. @param src input array.\n. @param dst output array of the same size and type as src.\n. @sa log , cartToPolar , polarToCart , phase , pow , sqrt , magnitude' - ... - -def extractChannel(src: Mat, coi, dts: Mat = ...) -> typing.Any: - 'extractChannel(src, coi[, dst]) -> dst\n. @brief Extracts a single channel from src (coi is 0-based index)\n. @param src input array\n. @param dst output array\n. @param coi index of channel to extract\n. @sa mixChannels, split' - ... - -def fastAtan2(y, x) -> typing.Any: - 'fastAtan2(y, x) -> retval\n. @brief Calculates the angle of a 2D vector in degrees.\n. \n. The function fastAtan2 calculates the full-range angle of an input 2D vector. The angle is measured\n. in degrees and varies from 0 to 360 degrees. The accuracy is about 0.3 degrees.\n. @param x x-coordinate of the vector.\n. @param y y-coordinate of the vector.' - ... - -def fastNlMeansDenoising(src: Mat, dts: Mat = ..., h=..., templateWindowSize=..., searchWindowSize=...) -> typing.Any: - 'fastNlMeansDenoising(src[, dst[, h[, templateWindowSize[, searchWindowSize]]]]) -> dst\n. @brief Perform image denoising using Non-local Means Denoising algorithm\n. with several computational\n. optimizations. Noise expected to be a gaussian white noise\n. \n. @param src Input 8-bit 1-channel, 2-channel, 3-channel or 4-channel image.\n. @param dst Output image with the same size and type as src .\n. @param templateWindowSize Size in pixels of the template patch that is used to compute weights.\n. Should be odd. Recommended value 7 pixels\n. @param searchWindowSize Size in pixels of the window that is used to compute weighted average for\n. given pixel. Should be odd. Affect performance linearly: greater searchWindowsSize - greater\n. denoising time. Recommended value 21 pixels\n. @param h Parameter regulating filter strength. Big h value perfectly removes noise but also\n. removes image details, smaller h value preserves details but also preserves some noise\n. \n. This function expected to be applied to grayscale images. For colored images look at\n. fastNlMeansDenoisingColored. Advanced usage of this functions can be manual denoising of colored\n. image in different colorspaces. Such approach is used in fastNlMeansDenoisingColored by converting\n. image to CIELAB colorspace and then separately denoise L and AB components with different h\n. parameter.\n\n\n\nfastNlMeansDenoising(src, h[, dst[, templateWindowSize[, searchWindowSize[, normType]]]]) -> dst\n. @brief Perform image denoising using Non-local Means Denoising algorithm\n. with several computational\n. optimizations. Noise expected to be a gaussian white noise\n. \n. @param src Input 8-bit or 16-bit (only with NORM_L1) 1-channel,\n. 2-channel, 3-channel or 4-channel image.\n. @param dst Output image with the same size and type as src .\n. @param templateWindowSize Size in pixels of the template patch that is used to compute weights.\n. Should be odd. Recommended value 7 pixels\n. @param searchWindowSize Size in pixels of the window that is used to compute weighted average for\n. given pixel. Should be odd. Affect performance linearly: greater searchWindowsSize - greater\n. denoising time. Recommended value 21 pixels\n. @param h Array of parameters regulating filter strength, either one\n. parameter applied to all channels or one per channel in dst. Big h value\n. perfectly removes noise but also removes image details, smaller h\n. value preserves details but also preserves some noise\n. @param normType Type of norm used for weight calculation. Can be either NORM_L2 or NORM_L1\n. \n. This function expected to be applied to grayscale images. For colored images look at\n. fastNlMeansDenoisingColored. Advanced usage of this functions can be manual denoising of colored\n. image in different colorspaces. Such approach is used in fastNlMeansDenoisingColored by converting\n. image to CIELAB colorspace and then separately denoise L and AB components with different h\n. parameter.' - ... - -def fastNlMeansDenoisingColored(src: Mat, dts: Mat = ..., h=..., hColor=..., templateWindowSize=..., searchWindowSize=...) -> typing.Any: - 'fastNlMeansDenoisingColored(src[, dst[, h[, hColor[, templateWindowSize[, searchWindowSize]]]]]) -> dst\n. @brief Modification of fastNlMeansDenoising function for colored images\n. \n. @param src Input 8-bit 3-channel image.\n. @param dst Output image with the same size and type as src .\n. @param templateWindowSize Size in pixels of the template patch that is used to compute weights.\n. Should be odd. Recommended value 7 pixels\n. @param searchWindowSize Size in pixels of the window that is used to compute weighted average for\n. given pixel. Should be odd. Affect performance linearly: greater searchWindowsSize - greater\n. denoising time. Recommended value 21 pixels\n. @param h Parameter regulating filter strength for luminance component. Bigger h value perfectly\n. removes noise but also removes image details, smaller h value preserves details but also preserves\n. some noise\n. @param hColor The same as h but for color components. For most images value equals 10\n. will be enough to remove colored noise and do not distort colors\n. \n. The function converts image to CIELAB colorspace and then separately denoise L and AB components\n. with given h parameters using fastNlMeansDenoising function.' - ... - -def fastNlMeansDenoisingColoredMulti(srcImgs, imgToDenoiseIndex, temporalWindowSize, dts: Mat = ..., h=..., hColor=..., templateWindowSize=..., searchWindowSize=...) -> typing.Any: - 'fastNlMeansDenoisingColoredMulti(srcImgs, imgToDenoiseIndex, temporalWindowSize[, dst[, h[, hColor[, templateWindowSize[, searchWindowSize]]]]]) -> dst\n. @brief Modification of fastNlMeansDenoisingMulti function for colored images sequences\n. \n. @param srcImgs Input 8-bit 3-channel images sequence. All images should have the same type and\n. size.\n. @param imgToDenoiseIndex Target image to denoise index in srcImgs sequence\n. @param temporalWindowSize Number of surrounding images to use for target image denoising. Should\n. be odd. Images from imgToDenoiseIndex - temporalWindowSize / 2 to\n. imgToDenoiseIndex - temporalWindowSize / 2 from srcImgs will be used to denoise\n. srcImgs[imgToDenoiseIndex] image.\n. @param dst Output image with the same size and type as srcImgs images.\n. @param templateWindowSize Size in pixels of the template patch that is used to compute weights.\n. Should be odd. Recommended value 7 pixels\n. @param searchWindowSize Size in pixels of the window that is used to compute weighted average for\n. given pixel. Should be odd. Affect performance linearly: greater searchWindowsSize - greater\n. denoising time. Recommended value 21 pixels\n. @param h Parameter regulating filter strength for luminance component. Bigger h value perfectly\n. removes noise but also removes image details, smaller h value preserves details but also preserves\n. some noise.\n. @param hColor The same as h but for color components.\n. \n. The function converts images to CIELAB colorspace and then separately denoise L and AB components\n. with given h parameters using fastNlMeansDenoisingMulti function.' - ... - -def fastNlMeansDenoisingMulti(srcImgs, imgToDenoiseIndex, temporalWindowSize, dts: Mat = ..., h=..., templateWindowSize=..., searchWindowSize=...) -> typing.Any: - 'fastNlMeansDenoisingMulti(srcImgs, imgToDenoiseIndex, temporalWindowSize[, dst[, h[, templateWindowSize[, searchWindowSize]]]]) -> dst\n. @brief Modification of fastNlMeansDenoising function for images sequence where consecutive images have been\n. captured in small period of time. For example video. This version of the function is for grayscale\n. images or for manual manipulation with colorspaces. For more details see\n. \n. \n. @param srcImgs Input 8-bit 1-channel, 2-channel, 3-channel or\n. 4-channel images sequence. All images should have the same type and\n. size.\n. @param imgToDenoiseIndex Target image to denoise index in srcImgs sequence\n. @param temporalWindowSize Number of surrounding images to use for target image denoising. Should\n. be odd. Images from imgToDenoiseIndex - temporalWindowSize / 2 to\n. imgToDenoiseIndex - temporalWindowSize / 2 from srcImgs will be used to denoise\n. srcImgs[imgToDenoiseIndex] image.\n. @param dst Output image with the same size and type as srcImgs images.\n. @param templateWindowSize Size in pixels of the template patch that is used to compute weights.\n. Should be odd. Recommended value 7 pixels\n. @param searchWindowSize Size in pixels of the window that is used to compute weighted average for\n. given pixel. Should be odd. Affect performance linearly: greater searchWindowsSize - greater\n. denoising time. Recommended value 21 pixels\n. @param h Parameter regulating filter strength. Bigger h value\n. perfectly removes noise but also removes image details, smaller h\n. value preserves details but also preserves some noise\n\n\n\nfastNlMeansDenoisingMulti(srcImgs, imgToDenoiseIndex, temporalWindowSize, h[, dst[, templateWindowSize[, searchWindowSize[, normType]]]]) -> dst\n. @brief Modification of fastNlMeansDenoising function for images sequence where consecutive images have been\n. captured in small period of time. For example video. This version of the function is for grayscale\n. images or for manual manipulation with colorspaces. For more details see\n. \n. \n. @param srcImgs Input 8-bit or 16-bit (only with NORM_L1) 1-channel,\n. 2-channel, 3-channel or 4-channel images sequence. All images should\n. have the same type and size.\n. @param imgToDenoiseIndex Target image to denoise index in srcImgs sequence\n. @param temporalWindowSize Number of surrounding images to use for target image denoising. Should\n. be odd. Images from imgToDenoiseIndex - temporalWindowSize / 2 to\n. imgToDenoiseIndex - temporalWindowSize / 2 from srcImgs will be used to denoise\n. srcImgs[imgToDenoiseIndex] image.\n. @param dst Output image with the same size and type as srcImgs images.\n. @param templateWindowSize Size in pixels of the template patch that is used to compute weights.\n. Should be odd. Recommended value 7 pixels\n. @param searchWindowSize Size in pixels of the window that is used to compute weighted average for\n. given pixel. Should be odd. Affect performance linearly: greater searchWindowsSize - greater\n. denoising time. Recommended value 21 pixels\n. @param h Array of parameters regulating filter strength, either one\n. parameter applied to all channels or one per channel in dst. Big h value\n. perfectly removes noise but also removes image details, smaller h\n. value preserves details but also preserves some noise\n. @param normType Type of norm used for weight calculation. Can be either NORM_L2 or NORM_L1' - ... - -def fillConvexPoly(img: Mat, points, color, lineType=..., shift=...) -> typing.Any: - 'fillConvexPoly(img, points, color[, lineType[, shift]]) -> img\n. @brief Fills a convex polygon.\n. \n. The function cv::fillConvexPoly draws a filled convex polygon. This function is much faster than the\n. function #fillPoly . It can fill not only convex polygons but any monotonic polygon without\n. self-intersections, that is, a polygon whose contour intersects every horizontal line (scan line)\n. twice at the most (though, its top-most and/or the bottom edge could be horizontal).\n. \n. @param img Image.\n. @param points Polygon vertices.\n. @param color Polygon color.\n. @param lineType Type of the polygon boundaries. See #LineTypes\n. @param shift Number of fractional bits in the vertex coordinates.' - ... - -def fillPoly(img: Mat, pts, color, lineType=..., shift=..., offset=...) -> typing.Any: - 'fillPoly(img, pts, color[, lineType[, shift[, offset]]]) -> img\n. @brief Fills the area bounded by one or more polygons.\n. \n. The function cv::fillPoly fills an area bounded by several polygonal contours. The function can fill\n. complex areas, for example, areas with holes, contours with self-intersections (some of their\n. parts), and so forth.\n. \n. @param img Image.\n. @param pts Array of polygons where each polygon is represented as an array of points.\n. @param color Polygon color.\n. @param lineType Type of the polygon boundaries. See #LineTypes\n. @param shift Number of fractional bits in the vertex coordinates.\n. @param offset Optional offset of all points of the contours.' - ... - -def filter2D(src: Mat, ddepth, kernel, dts: Mat = ..., anchor=..., delta=..., borderType=...) -> typing.Any: - 'filter2D(src, ddepth, kernel[, dst[, anchor[, delta[, borderType]]]]) -> dst\n. @brief Convolves an image with the kernel.\n. \n. The function applies an arbitrary linear filter to an image. In-place operation is supported. When\n. the aperture is partially outside the image, the function interpolates outlier pixel values\n. according to the specified border mode.\n. \n. The function does actually compute correlation, not the convolution:\n. \n. \\f[\\texttt{dst} (x,y) = \\sum _{ \\substack{0\\leq x\' < \\texttt{kernel.cols}\\\\{0\\leq y\' < \\texttt{kernel.rows}}}} \\texttt{kernel} (x\',y\')* \\texttt{src} (x+x\'- \\texttt{anchor.x} ,y+y\'- \\texttt{anchor.y} )\\f]\n. \n. That is, the kernel is not mirrored around the anchor point. If you need a real convolution, flip\n. the kernel using #flip and set the new anchor to `(kernel.cols - anchor.x - 1, kernel.rows -\n. anchor.y - 1)`.\n. \n. The function uses the DFT-based algorithm in case of sufficiently large kernels (~`11 x 11` or\n. larger) and the direct algorithm for small kernels.\n. \n. @param src input image.\n. @param dst output image of the same size and the same number of channels as src.\n. @param ddepth desired depth of the destination image, see @ref filter_depths "combinations"\n. @param kernel convolution kernel (or rather a correlation kernel), a single-channel floating point\n. matrix; if you want to apply different kernels to different channels, split the image into\n. separate color planes using split and process them individually.\n. @param anchor anchor of the kernel that indicates the relative position of a filtered point within\n. the kernel; the anchor should lie within the kernel; default value (-1,-1) means that the anchor\n. is at the kernel center.\n. @param delta optional value added to the filtered pixels before storing them in dst.\n. @param borderType pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not supported.\n. @sa sepFilter2D, dft, matchTemplate' - ... - -def filterHomographyDecompByVisibleRefpoints(rotations, normals, beforePoints, afterPoints, possibleSolutions=..., pointsMask=...) -> typing.Any: - 'filterHomographyDecompByVisibleRefpoints(rotations, normals, beforePoints, afterPoints[, possibleSolutions[, pointsMask]]) -> possibleSolutions\n. @brief Filters homography decompositions based on additional information.\n. \n. @param rotations Vector of rotation matrices.\n. @param normals Vector of plane normal matrices.\n. @param beforePoints Vector of (rectified) visible reference points before the homography is applied\n. @param afterPoints Vector of (rectified) visible reference points after the homography is applied\n. @param possibleSolutions Vector of int indices representing the viable solution set after filtering\n. @param pointsMask optional Mat/Vector of 8u type representing the mask for the inliers as given by the findHomography function\n. \n. This function is intended to filter the output of the decomposeHomographyMat based on additional\n. information as described in @cite Malis . The summary of the method: the decomposeHomographyMat function\n. returns 2 unique solutions and their "opposites" for a total of 4 solutions. If we have access to the\n. sets of points visible in the camera frame before and after the homography transformation is applied,\n. we can determine which are the true potential solutions and which are the opposites by verifying which\n. homographies are consistent with all visible reference points being in front of the camera. The inputs\n. are left unchanged; the filtered solution set is returned as indices into the existing one.' - ... - -def filterSpeckles(img: Mat, newVal, maxSpeckleSize, maxDiff, buf=...) -> typing.Any: - 'filterSpeckles(img, newVal, maxSpeckleSize, maxDiff[, buf]) -> img, buf\n. @brief Filters off small noise blobs (speckles) in the disparity map\n. \n. @param img The input 16-bit signed disparity image\n. @param newVal The disparity value used to paint-off the speckles\n. @param maxSpeckleSize The maximum speckle size to consider it a speckle. Larger blobs are not\n. affected by the algorithm\n. @param maxDiff Maximum difference between neighbor disparity pixels to put them into the same\n. blob. Note that since StereoBM, StereoSGBM and may be other algorithms return a fixed-point\n. disparity map, where disparity values are multiplied by 16, this scale factor should be taken into\n. account when specifying this parameter value.\n. @param buf The optional temporary buffer to avoid memory allocation within the function.' - ... - -def find4QuadCornerSubpix(img: Mat, corners, region_size) -> typing.Any: - 'find4QuadCornerSubpix(img, corners, region_size) -> retval, corners\n.' - ... - -def findChessboardCorners(image: Mat, patternSize, corners=..., flags: int = ...) -> typing.Any: - 'findChessboardCorners(image, patternSize[, corners[, flags]]) -> retval, corners\n. @brief Finds the positions of internal corners of the chessboard.\n. \n. @param image Source chessboard view. It must be an 8-bit grayscale or color image.\n. @param patternSize Number of inner corners per a chessboard row and column\n. ( patternSize = cv::Size(points_per_row,points_per_colum) = cv::Size(columns,rows) ).\n. @param corners Output array of detected corners.\n. @param flags Various operation flags that can be zero or a combination of the following values:\n. - **CALIB_CB_ADAPTIVE_THRESH** Use adaptive thresholding to convert the image to black\n. and white, rather than a fixed threshold level (computed from the average image brightness).\n. - **CALIB_CB_NORMALIZE_IMAGE** Normalize the image gamma with equalizeHist before\n. applying fixed or adaptive thresholding.\n. - **CALIB_CB_FILTER_QUADS** Use additional criteria (like contour area, perimeter,\n. square-like shape) to filter out false quads extracted at the contour retrieval stage.\n. - **CALIB_CB_FAST_CHECK** Run a fast check on the image that looks for chessboard corners,\n. and shortcut the call if none is found. This can drastically speed up the call in the\n. degenerate condition when no chessboard is observed.\n. \n. The function attempts to determine whether the input image is a view of the chessboard pattern and\n. locate the internal chessboard corners. The function returns a non-zero value if all of the corners\n. are found and they are placed in a certain order (row by row, left to right in every row).\n. Otherwise, if the function fails to find all the corners or reorder them, it returns 0. For example,\n. a regular chessboard has 8 x 8 squares and 7 x 7 internal corners, that is, points where the black\n. squares touch each other. The detected coordinates are approximate, and to determine their positions\n. more accurately, the function calls cornerSubPix. You also may use the function cornerSubPix with\n. different parameters if returned coordinates are not accurate enough.\n. \n. Sample usage of detecting and drawing chessboard corners: :\n. @code\n. Size patternsize(8,6); //interior number of corners\n. Mat gray = ....; //source image\n. vector corners; //this will be filled by the detected corners\n. \n. //CALIB_CB_FAST_CHECK saves a lot of time on images\n. //that do not contain any chessboard corners\n. bool patternfound = findChessboardCorners(gray, patternsize, corners,\n. CALIB_CB_ADAPTIVE_THRESH + CALIB_CB_NORMALIZE_IMAGE\n. + CALIB_CB_FAST_CHECK);\n. \n. if(patternfound)\n. cornerSubPix(gray, corners, Size(11, 11), Size(-1, -1),\n. TermCriteria(CV_TERMCRIT_EPS + CV_TERMCRIT_ITER, 30, 0.1));\n. \n. drawChessboardCorners(img, patternsize, Mat(corners), patternfound);\n. @endcode\n. @note The function requires white space (like a square-thick border, the wider the better) around\n. the board to make the detection more robust in various environments. Otherwise, if there is no\n. border and the background is dark, the outer black squares cannot be segmented properly and so the\n. square grouping and ordering algorithm fails.' - ... - -def findChessboardCornersSB(image: Mat, patternSize, corners=..., flags: int = ...) -> typing.Any: - 'findChessboardCornersSB(image, patternSize[, corners[, flags]]) -> retval, corners\n. @overload' - ... - -def findChessboardCornersSBWithMeta(image: Mat, patternSize, flags: int, corners=..., meta=...) -> typing.Any: - 'findChessboardCornersSBWithMeta(image, patternSize, flags[, corners[, meta]]) -> retval, corners, meta\n. @brief Finds the positions of internal corners of the chessboard using a sector based approach.\n. \n. @param image Source chessboard view. It must be an 8-bit grayscale or color image.\n. @param patternSize Number of inner corners per a chessboard row and column\n. ( patternSize = cv::Size(points_per_row,points_per_colum) = cv::Size(columns,rows) ).\n. @param corners Output array of detected corners.\n. @param flags Various operation flags that can be zero or a combination of the following values:\n. - **CALIB_CB_NORMALIZE_IMAGE** Normalize the image gamma with equalizeHist before detection.\n. - **CALIB_CB_EXHAUSTIVE** Run an exhaustive search to improve detection rate.\n. - **CALIB_CB_ACCURACY** Up sample input image to improve sub-pixel accuracy due to aliasing effects.\n. - **CALIB_CB_LARGER** The detected pattern is allowed to be larger than patternSize (see description).\n. - **CALIB_CB_MARKER** The detected pattern must have a marker (see description).\n. This should be used if an accurate camera calibration is required.\n. @param meta Optional output arrray of detected corners (CV_8UC1 and size = cv::Size(columns,rows)).\n. Each entry stands for one corner of the pattern and can have one of the following values:\n. - 0 = no meta data attached\n. - 1 = left-top corner of a black cell\n. - 2 = left-top corner of a white cell\n. - 3 = left-top corner of a black cell with a white marker dot\n. - 4 = left-top corner of a white cell with a black marker dot (pattern origin in case of markers otherwise first corner)\n. \n. The function is analog to findchessboardCorners but uses a localized radon\n. transformation approximated by box filters being more robust to all sort of\n. noise, faster on larger images and is able to directly return the sub-pixel\n. position of the internal chessboard corners. The Method is based on the paper\n. @cite duda2018 "Accurate Detection and Localization of Checkerboard Corners for\n. Calibration" demonstrating that the returned sub-pixel positions are more\n. accurate than the one returned by cornerSubPix allowing a precise camera\n. calibration for demanding applications.\n. \n. In the case, the flags **CALIB_CB_LARGER** or **CALIB_CB_MARKER** are given,\n. the result can be recovered from the optional meta array. Both flags are\n. helpful to use calibration patterns exceeding the field of view of the camera.\n. These oversized patterns allow more accurate calibrations as corners can be\n. utilized, which are as close as possible to the image borders. For a\n. consistent coordinate system across all images, the optional marker (see image\n. below) can be used to move the origin of the board to the location where the\n. black circle is located.\n. \n. @note The function requires a white boarder with roughly the same width as one\n. of the checkerboard fields around the whole board to improve the detection in\n. various environments. In addition, because of the localized radon\n. transformation it is beneficial to use round corners for the field corners\n. which are located on the outside of the board. The following figure illustrates\n. a sample checkerboard optimized for the detection. However, any other checkerboard\n. can be used as well.\n. ![Checkerboard](pics/checkerboard_radon.png)' - ... - -def findCirclesGrid(image: Mat, patternSize, flags: int, blobDetector, parameters, centers=...) -> typing.Any: - 'findCirclesGrid(image, patternSize, flags, blobDetector, parameters[, centers]) -> retval, centers\n. @brief Finds centers in the grid of circles.\n. \n. @param image grid view of input circles; it must be an 8-bit grayscale or color image.\n. @param patternSize number of circles per row and column\n. ( patternSize = Size(points_per_row, points_per_colum) ).\n. @param centers output array of detected centers.\n. @param flags various operation flags that can be one of the following values:\n. - **CALIB_CB_SYMMETRIC_GRID** uses symmetric pattern of circles.\n. - **CALIB_CB_ASYMMETRIC_GRID** uses asymmetric pattern of circles.\n. - **CALIB_CB_CLUSTERING** uses a special algorithm for grid detection. It is more robust to\n. perspective distortions but much more sensitive to background clutter.\n. @param blobDetector feature detector that finds blobs like dark circles on light background.\n. @param parameters struct for finding circles in a grid pattern.\n. \n. The function attempts to determine whether the input image contains a grid of circles. If it is, the\n. function locates centers of the circles. The function returns a non-zero value if all of the centers\n. have been found and they have been placed in a certain order (row by row, left to right in every\n. row). Otherwise, if the function fails to find all the corners or reorder them, it returns 0.\n. \n. Sample usage of detecting and drawing the centers of circles: :\n. @code\n. Size patternsize(7,7); //number of centers\n. Mat gray = ....; //source image\n. vector centers; //this will be filled by the detected centers\n. \n. bool patternfound = findCirclesGrid(gray, patternsize, centers);\n. \n. drawChessboardCorners(img, patternsize, Mat(centers), patternfound);\n. @endcode\n. @note The function requires white space (like a square-thick border, the wider the better) around\n. the board to make the detection more robust in various environments.\n\n\n\nfindCirclesGrid(image, patternSize[, centers[, flags[, blobDetector]]]) -> retval, centers\n. @overload' - ... - -def findContours(image: Mat, mode, method: int, contours=..., hierarchy=..., offset=...) -> typing.Any: - "findContours(image, mode, method[, contours[, hierarchy[, offset]]]) -> contours, hierarchy\n. @brief Finds contours in a binary image.\n. \n. The function retrieves contours from the binary image using the algorithm @cite Suzuki85 . The contours\n. are a useful tool for shape analysis and object detection and recognition. See squares.cpp in the\n. OpenCV sample directory.\n. @note Since opencv 3.2 source image is not modified by this function.\n. \n. @param image Source, an 8-bit single-channel image. Non-zero pixels are treated as 1's. Zero\n. pixels remain 0's, so the image is treated as binary . You can use #compare, #inRange, #threshold ,\n. #adaptiveThreshold, #Canny, and others to create a binary image out of a grayscale or color one.\n. If mode equals to #RETR_CCOMP or #RETR_FLOODFILL, the input can also be a 32-bit integer image of labels (CV_32SC1).\n. @param contours Detected contours. Each contour is stored as a vector of points (e.g.\n. std::vector >).\n. @param hierarchy Optional output vector (e.g. std::vector), containing information about the image topology. It has\n. as many elements as the number of contours. For each i-th contour contours[i], the elements\n. hierarchy[i][0] , hierarchy[i][1] , hierarchy[i][2] , and hierarchy[i][3] are set to 0-based indices\n. in contours of the next and previous contours at the same hierarchical level, the first child\n. contour and the parent contour, respectively. If for the contour i there are no next, previous,\n. parent, or nested contours, the corresponding elements of hierarchy[i] will be negative.\n. @param mode Contour retrieval mode, see #RetrievalModes\n. @param method Contour approximation method, see #ContourApproximationModes\n. @param offset Optional offset by which every contour point is shifted. This is useful if the\n. contours are extracted from the image ROI and then they should be analyzed in the whole image\n. context." - ... - -def findEssentialMat(points1, points2, cameraMatrix, method: int = ..., prob=..., threshold=..., mask: Mat = ...) -> typing.Any: - 'findEssentialMat(points1, points2, cameraMatrix[, method[, prob[, threshold[, mask]]]]) -> retval, mask\n. @brief Calculates an essential matrix from the corresponding points in two images.\n. \n. @param points1 Array of N (N \\>= 5) 2D points from the first image. The point coordinates should\n. be floating-point (single or double precision).\n. @param points2 Array of the second image points of the same size and format as points1 .\n. @param cameraMatrix Camera matrix \\f$K = \\vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\\f$ .\n. Note that this function assumes that points1 and points2 are feature points from cameras with the\n. same camera matrix. If this assumption does not hold for your use case, use\n. `undistortPoints()` with `P = cv::NoArray()` for both cameras to transform image points\n. to normalized image coordinates, which are valid for the identity camera matrix. When\n. passing these coordinates, pass the identity matrix for this parameter.\n. @param method Method for computing an essential matrix.\n. - **RANSAC** for the RANSAC algorithm.\n. - **LMEDS** for the LMedS algorithm.\n. @param prob Parameter used for the RANSAC or LMedS methods only. It specifies a desirable level of\n. confidence (probability) that the estimated matrix is correct.\n. @param threshold Parameter used for RANSAC. It is the maximum distance from a point to an epipolar\n. line in pixels, beyond which the point is considered an outlier and is not used for computing the\n. final fundamental matrix. It can be set to something like 1-3, depending on the accuracy of the\n. point localization, image resolution, and the image noise.\n. @param mask Output array of N elements, every element of which is set to 0 for outliers and to 1\n. for the other points. The array is computed only in the RANSAC and LMedS methods.\n. \n. This function estimates essential matrix based on the five-point algorithm solver in @cite Nister03 .\n. @cite SteweniusCFS is also a related. The epipolar geometry is described by the following equation:\n. \n. \\f[[p_2; 1]^T K^{-T} E K^{-1} [p_1; 1] = 0\\f]\n. \n. where \\f$E\\f$ is an essential matrix, \\f$p_1\\f$ and \\f$p_2\\f$ are corresponding points in the first and the\n. second images, respectively. The result of this function may be passed further to\n. decomposeEssentialMat or recoverPose to recover the relative pose between cameras.\n\n\n\nfindEssentialMat(points1, points2[, focal[, pp[, method[, prob[, threshold[, mask]]]]]]) -> retval, mask\n. @overload\n. @param points1 Array of N (N \\>= 5) 2D points from the first image. The point coordinates should\n. be floating-point (single or double precision).\n. @param points2 Array of the second image points of the same size and format as points1 .\n. @param focal focal length of the camera. Note that this function assumes that points1 and points2\n. are feature points from cameras with same focal length and principal point.\n. @param pp principal point of the camera.\n. @param method Method for computing a fundamental matrix.\n. - **RANSAC** for the RANSAC algorithm.\n. - **LMEDS** for the LMedS algorithm.\n. @param threshold Parameter used for RANSAC. It is the maximum distance from a point to an epipolar\n. line in pixels, beyond which the point is considered an outlier and is not used for computing the\n. final fundamental matrix. It can be set to something like 1-3, depending on the accuracy of the\n. point localization, image resolution, and the image noise.\n. @param prob Parameter used for the RANSAC or LMedS methods only. It specifies a desirable level of\n. confidence (probability) that the estimated matrix is correct.\n. @param mask Output array of N elements, every element of which is set to 0 for outliers and to 1\n. for the other points. The array is computed only in the RANSAC and LMedS methods.\n. \n. This function differs from the one above that it computes camera matrix from focal length and\n. principal point:\n. \n. \\f[K =\n. \\begin{bmatrix}\n. f & 0 & x_{pp} \\\\\n. 0 & f & y_{pp} \\\\\n. 0 & 0 & 1\n. \\end{bmatrix}\\f]' - ... - -def findFundamentalMat(points1, points2, method: int, ransacReprojThreshold, confidence, maxIters, mask: Mat = ...) -> typing.Any: - 'findFundamentalMat(points1, points2, method, ransacReprojThreshold, confidence, maxIters[, mask]) -> retval, mask\n. @brief Calculates a fundamental matrix from the corresponding points in two images.\n. \n. @param points1 Array of N points from the first image. The point coordinates should be\n. floating-point (single or double precision).\n. @param points2 Array of the second image points of the same size and format as points1 .\n. @param method Method for computing a fundamental matrix.\n. - **CV_FM_7POINT** for a 7-point algorithm. \\f$N = 7\\f$\n. - **CV_FM_8POINT** for an 8-point algorithm. \\f$N \\ge 8\\f$\n. - **CV_FM_RANSAC** for the RANSAC algorithm. \\f$N \\ge 8\\f$\n. - **CV_FM_LMEDS** for the LMedS algorithm. \\f$N \\ge 8\\f$\n. @param ransacReprojThreshold Parameter used only for RANSAC. It is the maximum distance from a point to an epipolar\n. line in pixels, beyond which the point is considered an outlier and is not used for computing the\n. final fundamental matrix. It can be set to something like 1-3, depending on the accuracy of the\n. point localization, image resolution, and the image noise.\n. @param confidence Parameter used for the RANSAC and LMedS methods only. It specifies a desirable level\n. of confidence (probability) that the estimated matrix is correct.\n. @param mask\n. @param maxIters The maximum number of robust method iterations.\n. \n. The epipolar geometry is described by the following equation:\n. \n. \\f[[p_2; 1]^T F [p_1; 1] = 0\\f]\n. \n. where \\f$F\\f$ is a fundamental matrix, \\f$p_1\\f$ and \\f$p_2\\f$ are corresponding points in the first and the\n. second images, respectively.\n. \n. The function calculates the fundamental matrix using one of four methods listed above and returns\n. the found fundamental matrix. Normally just one matrix is found. But in case of the 7-point\n. algorithm, the function may return up to 3 solutions ( \\f$9 \\times 3\\f$ matrix that stores all 3\n. matrices sequentially).\n. \n. The calculated fundamental matrix may be passed further to computeCorrespondEpilines that finds the\n. epipolar lines corresponding to the specified points. It can also be passed to\n. stereoRectifyUncalibrated to compute the rectification transformation. :\n. @code\n. // Example. Estimation of fundamental matrix using the RANSAC algorithm\n. int point_count = 100;\n. vector points1(point_count);\n. vector points2(point_count);\n. \n. // initialize the points here ...\n. for( int i = 0; i < point_count; i++ )\n. {\n. points1[i] = ...;\n. points2[i] = ...;\n. }\n. \n. Mat fundamental_matrix =\n. findFundamentalMat(points1, points2, FM_RANSAC, 3, 0.99);\n. @endcode\n\n\n\nfindFundamentalMat(points1, points2[, method[, ransacReprojThreshold[, confidence[, mask]]]]) -> retval, mask\n. @overload' - ... - -def findHomography(srcPoints, dstPoints, method: int = ..., ransacReprojThreshold=..., mask: Mat = ..., maxIters=..., confidence=...) -> typing.Any: - "findHomography(srcPoints, dstPoints[, method[, ransacReprojThreshold[, mask[, maxIters[, confidence]]]]]) -> retval, mask\n. @brief Finds a perspective transformation between two planes.\n. \n. @param srcPoints Coordinates of the points in the original plane, a matrix of the type CV_32FC2\n. or vector\\ .\n. @param dstPoints Coordinates of the points in the target plane, a matrix of the type CV_32FC2 or\n. a vector\\ .\n. @param method Method used to compute a homography matrix. The following methods are possible:\n. - **0** - a regular method using all the points, i.e., the least squares method\n. - **RANSAC** - RANSAC-based robust method\n. - **LMEDS** - Least-Median robust method\n. - **RHO** - PROSAC-based robust method\n. @param ransacReprojThreshold Maximum allowed reprojection error to treat a point pair as an inlier\n. (used in the RANSAC and RHO methods only). That is, if\n. \\f[\\| \\texttt{dstPoints} _i - \\texttt{convertPointsHomogeneous} ( \\texttt{H} * \\texttt{srcPoints} _i) \\|_2 > \\texttt{ransacReprojThreshold}\\f]\n. then the point \\f$i\\f$ is considered as an outlier. If srcPoints and dstPoints are measured in pixels,\n. it usually makes sense to set this parameter somewhere in the range of 1 to 10.\n. @param mask Optional output mask set by a robust method ( RANSAC or LMEDS ). Note that the input\n. mask values are ignored.\n. @param maxIters The maximum number of RANSAC iterations.\n. @param confidence Confidence level, between 0 and 1.\n. \n. The function finds and returns the perspective transformation \\f$H\\f$ between the source and the\n. destination planes:\n. \n. \\f[s_i \\vecthree{x'_i}{y'_i}{1} \\sim H \\vecthree{x_i}{y_i}{1}\\f]\n. \n. so that the back-projection error\n. \n. \\f[\\sum _i \\left ( x'_i- \\frac{h_{11} x_i + h_{12} y_i + h_{13}}{h_{31} x_i + h_{32} y_i + h_{33}} \\right )^2+ \\left ( y'_i- \\frac{h_{21} x_i + h_{22} y_i + h_{23}}{h_{31} x_i + h_{32} y_i + h_{33}} \\right )^2\\f]\n. \n. is minimized. If the parameter method is set to the default value 0, the function uses all the point\n. pairs to compute an initial homography estimate with a simple least-squares scheme.\n. \n. However, if not all of the point pairs ( \\f$srcPoints_i\\f$, \\f$dstPoints_i\\f$ ) fit the rigid perspective\n. transformation (that is, there are some outliers), this initial estimate will be poor. In this case,\n. you can use one of the three robust methods. The methods RANSAC, LMeDS and RHO try many different\n. random subsets of the corresponding point pairs (of four pairs each, collinear pairs are discarded), estimate the homography matrix\n. using this subset and a simple least-squares algorithm, and then compute the quality/goodness of the\n. computed homography (which is the number of inliers for RANSAC or the least median re-projection error for\n. LMeDS). The best subset is then used to produce the initial estimate of the homography matrix and\n. the mask of inliers/outliers.\n. \n. Regardless of the method, robust or not, the computed homography matrix is refined further (using\n. inliers only in case of a robust method) with the Levenberg-Marquardt method to reduce the\n. re-projection error even more.\n. \n. The methods RANSAC and RHO can handle practically any ratio of outliers but need a threshold to\n. distinguish inliers from outliers. The method LMeDS does not need any threshold but it works\n. correctly only when there are more than 50% of inliers. Finally, if there are no outliers and the\n. noise is rather small, use the default method (method=0).\n. \n. The function is used to find initial intrinsic and extrinsic matrices. Homography matrix is\n. determined up to a scale. Thus, it is normalized so that \\f$h_{33}=1\\f$. Note that whenever an \\f$H\\f$ matrix\n. cannot be estimated, an empty one will be returned.\n. \n. @sa\n. getAffineTransform, estimateAffine2D, estimateAffinePartial2D, getPerspectiveTransform, warpPerspective,\n. perspectiveTransform" - ... - -def findNonZero(src: Mat, idx=...) -> typing.Any: - 'findNonZero(src[, idx]) -> idx\n. @brief Returns the list of locations of non-zero pixels\n. \n. Given a binary matrix (likely returned from an operation such\n. as threshold(), compare(), >, ==, etc, return all of\n. the non-zero indices as a cv::Mat or std::vector (x,y)\n. For example:\n. @code{.cpp}\n. cv::Mat binaryImage; // input, binary image\n. cv::Mat locations; // output, locations of non-zero pixels\n. cv::findNonZero(binaryImage, locations);\n. \n. // access pixel coordinates\n. Point pnt = locations.at(i);\n. @endcode\n. or\n. @code{.cpp}\n. cv::Mat binaryImage; // input, binary image\n. vector locations; // output, locations of non-zero pixels\n. cv::findNonZero(binaryImage, locations);\n. \n. // access pixel coordinates\n. Point pnt = locations[i];\n. @endcode\n. @param src single-channel array\n. @param idx the output array, type of cv::Mat or std::vector, corresponding to non-zero indices in the input' - ... - -def findTransformECC(templateImage, inputImage, warpMatrix, motionType, criteria, inputMask, gaussFiltSize) -> typing.Any: - "findTransformECC(templateImage, inputImage, warpMatrix, motionType, criteria, inputMask, gaussFiltSize) -> retval, warpMatrix\n. @brief Finds the geometric transform (warp) between two images in terms of the ECC criterion @cite EP08 .\n. \n. @param templateImage single-channel template image; CV_8U or CV_32F array.\n. @param inputImage single-channel input image which should be warped with the final warpMatrix in\n. order to provide an image similar to templateImage, same type as templateImage.\n. @param warpMatrix floating-point \\f$2\\times 3\\f$ or \\f$3\\times 3\\f$ mapping matrix (warp).\n. @param motionType parameter, specifying the type of motion:\n. - **MOTION_TRANSLATION** sets a translational motion model; warpMatrix is \\f$2\\times 3\\f$ with\n. the first \\f$2\\times 2\\f$ part being the unity matrix and the rest two parameters being\n. estimated.\n. - **MOTION_EUCLIDEAN** sets a Euclidean (rigid) transformation as motion model; three\n. parameters are estimated; warpMatrix is \\f$2\\times 3\\f$.\n. - **MOTION_AFFINE** sets an affine motion model (DEFAULT); six parameters are estimated;\n. warpMatrix is \\f$2\\times 3\\f$.\n. - **MOTION_HOMOGRAPHY** sets a homography as a motion model; eight parameters are\n. estimated;\\`warpMatrix\\` is \\f$3\\times 3\\f$.\n. @param criteria parameter, specifying the termination criteria of the ECC algorithm;\n. criteria.epsilon defines the threshold of the increment in the correlation coefficient between two\n. iterations (a negative criteria.epsilon makes criteria.maxcount the only termination criterion).\n. Default values are shown in the declaration above.\n. @param inputMask An optional mask to indicate valid values of inputImage.\n. @param gaussFiltSize An optional value indicating size of gaussian blur filter; (DEFAULT: 5)\n. \n. The function estimates the optimum transformation (warpMatrix) with respect to ECC criterion\n. (@cite EP08), that is\n. \n. \\f[\\texttt{warpMatrix} = \\arg\\max_{W} \\texttt{ECC}(\\texttt{templateImage}(x,y),\\texttt{inputImage}(x',y'))\\f]\n. \n. where\n. \n. \\f[\\begin{bmatrix} x' \\\\ y' \\end{bmatrix} = W \\cdot \\begin{bmatrix} x \\\\ y \\\\ 1 \\end{bmatrix}\\f]\n. \n. (the equation holds with homogeneous coordinates for homography). It returns the final enhanced\n. correlation coefficient, that is the correlation coefficient between the template image and the\n. final warped input image. When a \\f$3\\times 3\\f$ matrix is given with motionType =0, 1 or 2, the third\n. row is ignored.\n. \n. Unlike findHomography and estimateRigidTransform, the function findTransformECC implements an\n. area-based alignment that builds on intensity similarities. In essence, the function updates the\n. initial transformation that roughly aligns the images. If this information is missing, the identity\n. warp (unity matrix) is used as an initialization. Note that if images undergo strong\n. displacements/rotations, an initial transformation that roughly aligns the images is necessary\n. (e.g., a simple euclidean/similarity transform that allows for the images showing the same image\n. content approximately). Use inverse warping in the second image to take an image close to the first\n. one, i.e. use the flag WARP_INVERSE_MAP with warpAffine or warpPerspective. See also the OpenCV\n. sample image_alignment.cpp that demonstrates the use of the function. Note that the function throws\n. an exception if algorithm does not converges.\n. \n. @sa\n. computeECC, estimateAffine2D, estimateAffinePartial2D, findHomography" - ... - -def fitEllipse(points) -> typing.Any: - 'fitEllipse(points) -> retval\n. @brief Fits an ellipse around a set of 2D points.\n. \n. The function calculates the ellipse that fits (in a least-squares sense) a set of 2D points best of\n. all. It returns the rotated rectangle in which the ellipse is inscribed. The first algorithm described by @cite Fitzgibbon95\n. is used. Developer should keep in mind that it is possible that the returned\n. ellipse/rotatedRect data contains negative indices, due to the data points being close to the\n. border of the containing Mat element.\n. \n. @param points Input 2D point set, stored in std::vector\\<\\> or Mat' - ... - -def fitEllipseAMS(points) -> typing.Any: - 'fitEllipseAMS(points) -> retval\n. @brief Fits an ellipse around a set of 2D points.\n. \n. The function calculates the ellipse that fits a set of 2D points.\n. It returns the rotated rectangle in which the ellipse is inscribed.\n. The Approximate Mean Square (AMS) proposed by @cite Taubin1991 is used.\n. \n. For an ellipse, this basis set is \\f$ \\chi= \\left(x^2, x y, y^2, x, y, 1\\right) \\f$,\n. which is a set of six free coefficients \\f$ A^T=\\left\\{A_{\\text{xx}},A_{\\text{xy}},A_{\\text{yy}},A_x,A_y,A_0\\right\\} \\f$.\n. However, to specify an ellipse, all that is needed is five numbers; the major and minor axes lengths \\f$ (a,b) \\f$,\n. the position \\f$ (x_0,y_0) \\f$, and the orientation \\f$ \\theta \\f$. This is because the basis set includes lines,\n. quadratics, parabolic and hyperbolic functions as well as elliptical functions as possible fits.\n. If the fit is found to be a parabolic or hyperbolic function then the standard #fitEllipse method is used.\n. The AMS method restricts the fit to parabolic, hyperbolic and elliptical curves\n. by imposing the condition that \\f$ A^T ( D_x^T D_x + D_y^T D_y) A = 1 \\f$ where\n. the matrices \\f$ Dx \\f$ and \\f$ Dy \\f$ are the partial derivatives of the design matrix \\f$ D \\f$ with\n. respect to x and y. The matrices are formed row by row applying the following to\n. each of the points in the set:\n. \\f{align*}{\n. D(i,:)&=\\left\\{x_i^2, x_i y_i, y_i^2, x_i, y_i, 1\\right\\} &\n. D_x(i,:)&=\\left\\{2 x_i,y_i,0,1,0,0\\right\\} &\n. D_y(i,:)&=\\left\\{0,x_i,2 y_i,0,1,0\\right\\}\n. \\f}\n. The AMS method minimizes the cost function\n. \\f{equation*}{\n. \\epsilon ^2=\\frac{ A^T D^T D A }{ A^T (D_x^T D_x + D_y^T D_y) A^T }\n. \\f}\n. \n. The minimum cost is found by solving the generalized eigenvalue problem.\n. \n. \\f{equation*}{\n. D^T D A = \\lambda \\left( D_x^T D_x + D_y^T D_y\\right) A\n. \\f}\n. \n. @param points Input 2D point set, stored in std::vector\\<\\> or Mat' - ... - -def fitEllipseDirect(points) -> typing.Any: - 'fitEllipseDirect(points) -> retval\n. @brief Fits an ellipse around a set of 2D points.\n. \n. The function calculates the ellipse that fits a set of 2D points.\n. It returns the rotated rectangle in which the ellipse is inscribed.\n. The Direct least square (Direct) method by @cite Fitzgibbon1999 is used.\n. \n. For an ellipse, this basis set is \\f$ \\chi= \\left(x^2, x y, y^2, x, y, 1\\right) \\f$,\n. which is a set of six free coefficients \\f$ A^T=\\left\\{A_{\\text{xx}},A_{\\text{xy}},A_{\\text{yy}},A_x,A_y,A_0\\right\\} \\f$.\n. However, to specify an ellipse, all that is needed is five numbers; the major and minor axes lengths \\f$ (a,b) \\f$,\n. the position \\f$ (x_0,y_0) \\f$, and the orientation \\f$ \\theta \\f$. This is because the basis set includes lines,\n. quadratics, parabolic and hyperbolic functions as well as elliptical functions as possible fits.\n. The Direct method confines the fit to ellipses by ensuring that \\f$ 4 A_{xx} A_{yy}- A_{xy}^2 > 0 \\f$.\n. The condition imposed is that \\f$ 4 A_{xx} A_{yy}- A_{xy}^2=1 \\f$ which satisfies the inequality\n. and as the coefficients can be arbitrarily scaled is not overly restrictive.\n. \n. \\f{equation*}{\n. \\epsilon ^2= A^T D^T D A \\quad \\text{with} \\quad A^T C A =1 \\quad \\text{and} \\quad C=\\left(\\begin{matrix}\n. 0 & 0 & 2 & 0 & 0 & 0 \\\\\n. 0 & -1 & 0 & 0 & 0 & 0 \\\\\n. 2 & 0 & 0 & 0 & 0 & 0 \\\\\n. 0 & 0 & 0 & 0 & 0 & 0 \\\\\n. 0 & 0 & 0 & 0 & 0 & 0 \\\\\n. 0 & 0 & 0 & 0 & 0 & 0\n. \\end{matrix} \\right)\n. \\f}\n. \n. The minimum cost is found by solving the generalized eigenvalue problem.\n. \n. \\f{equation*}{\n. D^T D A = \\lambda \\left( C\\right) A\n. \\f}\n. \n. The system produces only one positive eigenvalue \\f$ \\lambda\\f$ which is chosen as the solution\n. with its eigenvector \\f$\\mathbf{u}\\f$. These are used to find the coefficients\n. \n. \\f{equation*}{\n. A = \\sqrt{\\frac{1}{\\mathbf{u}^T C \\mathbf{u}}} \\mathbf{u}\n. \\f}\n. The scaling factor guarantees that \\f$A^T C A =1\\f$.\n. \n. @param points Input 2D point set, stored in std::vector\\<\\> or Mat' - ... - -def fitLine(points, distType, param, reps, aeps, line=...) -> typing.Any: - 'fitLine(points, distType, param, reps, aeps[, line]) -> line\n. @brief Fits a line to a 2D or 3D point set.\n. \n. The function fitLine fits a line to a 2D or 3D point set by minimizing \\f$\\sum_i \\rho(r_i)\\f$ where\n. \\f$r_i\\f$ is a distance between the \\f$i^{th}\\f$ point, the line and \\f$\\rho(r)\\f$ is a distance function, one\n. of the following:\n. - DIST_L2\n. \\f[\\rho (r) = r^2/2 \\quad \\text{(the simplest and the fastest least-squares method)}\\f]\n. - DIST_L1\n. \\f[\\rho (r) = r\\f]\n. - DIST_L12\n. \\f[\\rho (r) = 2 \\cdot ( \\sqrt{1 + \\frac{r^2}{2}} - 1)\\f]\n. - DIST_FAIR\n. \\f[\\rho \\left (r \\right ) = C^2 \\cdot \\left ( \\frac{r}{C} - \\log{\\left(1 + \\frac{r}{C}\\right)} \\right ) \\quad \\text{where} \\quad C=1.3998\\f]\n. - DIST_WELSCH\n. \\f[\\rho \\left (r \\right ) = \\frac{C^2}{2} \\cdot \\left ( 1 - \\exp{\\left(-\\left(\\frac{r}{C}\\right)^2\\right)} \\right ) \\quad \\text{where} \\quad C=2.9846\\f]\n. - DIST_HUBER\n. \\f[\\rho (r) = \\fork{r^2/2}{if \\(r < C\\)}{C \\cdot (r-C/2)}{otherwise} \\quad \\text{where} \\quad C=1.345\\f]\n. \n. The algorithm is based on the M-estimator ( ) technique\n. that iteratively fits the line using the weighted least-squares algorithm. After each iteration the\n. weights \\f$w_i\\f$ are adjusted to be inversely proportional to \\f$\\rho(r_i)\\f$ .\n. \n. @param points Input vector of 2D or 3D points, stored in std::vector\\<\\> or Mat.\n. @param line Output line parameters. In case of 2D fitting, it should be a vector of 4 elements\n. (like Vec4f) - (vx, vy, x0, y0), where (vx, vy) is a normalized vector collinear to the line and\n. (x0, y0) is a point on the line. In case of 3D fitting, it should be a vector of 6 elements (like\n. Vec6f) - (vx, vy, vz, x0, y0, z0), where (vx, vy, vz) is a normalized vector collinear to the line\n. and (x0, y0, z0) is a point on the line.\n. @param distType Distance used by the M-estimator, see #DistanceTypes\n. @param param Numerical parameter ( C ) for some types of distances. If it is 0, an optimal value\n. is chosen.\n. @param reps Sufficient accuracy for the radius (distance between the coordinate origin and the line).\n. @param aeps Sufficient accuracy for the angle. 0.01 would be a good default value for reps and aeps.' - ... - -flann_Index = _mod_cv2.flann_Index -def flip(src: Mat, flipCode, dts: Mat = ...) -> typing.Any: - 'flip(src, flipCode[, dst]) -> dst\n. @brief Flips a 2D array around vertical, horizontal, or both axes.\n. \n. The function cv::flip flips the array in one of three different ways (row\n. and column indices are 0-based):\n. \\f[\\texttt{dst} _{ij} =\n. \\left\\{\n. \\begin{array}{l l}\n. \\texttt{src} _{\\texttt{src.rows}-i-1,j} & if\\; \\texttt{flipCode} = 0 \\\\\n. \\texttt{src} _{i, \\texttt{src.cols} -j-1} & if\\; \\texttt{flipCode} > 0 \\\\\n. \\texttt{src} _{ \\texttt{src.rows} -i-1, \\texttt{src.cols} -j-1} & if\\; \\texttt{flipCode} < 0 \\\\\n. \\end{array}\n. \\right.\\f]\n. The example scenarios of using the function are the following:\n. * Vertical flipping of the image (flipCode == 0) to switch between\n. top-left and bottom-left image origin. This is a typical operation\n. in video processing on Microsoft Windows\\* OS.\n. * Horizontal flipping of the image with the subsequent horizontal\n. shift and absolute difference calculation to check for a\n. vertical-axis symmetry (flipCode \\> 0).\n. * Simultaneous horizontal and vertical flipping of the image with\n. the subsequent shift and absolute difference calculation to check\n. for a central symmetry (flipCode \\< 0).\n. * Reversing the order of point arrays (flipCode \\> 0 or\n. flipCode == 0).\n. @param src input array.\n. @param dst output array of the same size and type as src.\n. @param flipCode a flag to specify how to flip the array; 0 means\n. flipping around the x-axis and positive value (for example, 1) means\n. flipping around y-axis. Negative value (for example, -1) means flipping\n. around both axes.\n. @sa transpose , repeat , completeSymm' - ... - -def floodFill(image: Mat, mask: typing.Optional[Mat], seedPoint, newVal, loDiff=..., upDiff=..., flags: int = ...) -> typing.Any: - "floodFill(image, mask, seedPoint, newVal[, loDiff[, upDiff[, flags]]]) -> retval, image, mask, rect\n. @brief Fills a connected component with the given color.\n. \n. The function cv::floodFill fills a connected component starting from the seed point with the specified\n. color. The connectivity is determined by the color/brightness closeness of the neighbor pixels. The\n. pixel at \\f$(x,y)\\f$ is considered to belong to the repainted domain if:\n. \n. - in case of a grayscale image and floating range\n. \\f[\\texttt{src} (x',y')- \\texttt{loDiff} \\leq \\texttt{src} (x,y) \\leq \\texttt{src} (x',y')+ \\texttt{upDiff}\\f]\n. \n. \n. - in case of a grayscale image and fixed range\n. \\f[\\texttt{src} ( \\texttt{seedPoint} .x, \\texttt{seedPoint} .y)- \\texttt{loDiff} \\leq \\texttt{src} (x,y) \\leq \\texttt{src} ( \\texttt{seedPoint} .x, \\texttt{seedPoint} .y)+ \\texttt{upDiff}\\f]\n. \n. \n. - in case of a color image and floating range\n. \\f[\\texttt{src} (x',y')_r- \\texttt{loDiff} _r \\leq \\texttt{src} (x,y)_r \\leq \\texttt{src} (x',y')_r+ \\texttt{upDiff} _r,\\f]\n. \\f[\\texttt{src} (x',y')_g- \\texttt{loDiff} _g \\leq \\texttt{src} (x,y)_g \\leq \\texttt{src} (x',y')_g+ \\texttt{upDiff} _g\\f]\n. and\n. \\f[\\texttt{src} (x',y')_b- \\texttt{loDiff} _b \\leq \\texttt{src} (x,y)_b \\leq \\texttt{src} (x',y')_b+ \\texttt{upDiff} _b\\f]\n. \n. \n. - in case of a color image and fixed range\n. \\f[\\texttt{src} ( \\texttt{seedPoint} .x, \\texttt{seedPoint} .y)_r- \\texttt{loDiff} _r \\leq \\texttt{src} (x,y)_r \\leq \\texttt{src} ( \\texttt{seedPoint} .x, \\texttt{seedPoint} .y)_r+ \\texttt{upDiff} _r,\\f]\n. \\f[\\texttt{src} ( \\texttt{seedPoint} .x, \\texttt{seedPoint} .y)_g- \\texttt{loDiff} _g \\leq \\texttt{src} (x,y)_g \\leq \\texttt{src} ( \\texttt{seedPoint} .x, \\texttt{seedPoint} .y)_g+ \\texttt{upDiff} _g\\f]\n. and\n. \\f[\\texttt{src} ( \\texttt{seedPoint} .x, \\texttt{seedPoint} .y)_b- \\texttt{loDiff} _b \\leq \\texttt{src} (x,y)_b \\leq \\texttt{src} ( \\texttt{seedPoint} .x, \\texttt{seedPoint} .y)_b+ \\texttt{upDiff} _b\\f]\n. \n. \n. where \\f$src(x',y')\\f$ is the value of one of pixel neighbors that is already known to belong to the\n. component. That is, to be added to the connected component, a color/brightness of the pixel should\n. be close enough to:\n. - Color/brightness of one of its neighbors that already belong to the connected component in case\n. of a floating range.\n. - Color/brightness of the seed point in case of a fixed range.\n. \n. Use these functions to either mark a connected component with the specified color in-place, or build\n. a mask and then extract the contour, or copy the region to another image, and so on.\n. \n. @param image Input/output 1- or 3-channel, 8-bit, or floating-point image. It is modified by the\n. function unless the #FLOODFILL_MASK_ONLY flag is set in the second variant of the function. See\n. the details below.\n. @param mask Operation mask that should be a single-channel 8-bit image, 2 pixels wider and 2 pixels\n. taller than image. Since this is both an input and output parameter, you must take responsibility\n. of initializing it. Flood-filling cannot go across non-zero pixels in the input mask. For example,\n. an edge detector output can be used as a mask to stop filling at edges. On output, pixels in the\n. mask corresponding to filled pixels in the image are set to 1 or to the a value specified in flags\n. as described below. Additionally, the function fills the border of the mask with ones to simplify\n. internal processing. It is therefore possible to use the same mask in multiple calls to the function\n. to make sure the filled areas do not overlap.\n. @param seedPoint Starting point.\n. @param newVal New value of the repainted domain pixels.\n. @param loDiff Maximal lower brightness/color difference between the currently observed pixel and\n. one of its neighbors belonging to the component, or a seed pixel being added to the component.\n. @param upDiff Maximal upper brightness/color difference between the currently observed pixel and\n. one of its neighbors belonging to the component, or a seed pixel being added to the component.\n. @param rect Optional output parameter set by the function to the minimum bounding rectangle of the\n. repainted domain.\n. @param flags Operation flags. The first 8 bits contain a connectivity value. The default value of\n. 4 means that only the four nearest neighbor pixels (those that share an edge) are considered. A\n. connectivity value of 8 means that the eight nearest neighbor pixels (those that share a corner)\n. will be considered. The next 8 bits (8-16) contain a value between 1 and 255 with which to fill\n. the mask (the default value is 1). For example, 4 | ( 255 \\<\\< 8 ) will consider 4 nearest\n. neighbours and fill the mask with a value of 255. The following additional options occupy higher\n. bits and therefore may be further combined with the connectivity and mask fill values using\n. bit-wise or (|), see #FloodFillFlags.\n. \n. @note Since the mask is larger than the filled image, a pixel \\f$(x, y)\\f$ in image corresponds to the\n. pixel \\f$(x+1, y+1)\\f$ in the mask .\n. \n. @sa findContours" - ... - -def gemm(src1: Mat, src2: Mat, alpha, src3, beta, dts: Mat = ..., flags: int = ...) -> typing.Any: - 'gemm(src1, src2, alpha, src3, beta[, dst[, flags]]) -> dst\n. @brief Performs generalized matrix multiplication.\n. \n. The function cv::gemm performs generalized matrix multiplication similar to the\n. gemm functions in BLAS level 3. For example,\n. `gemm(src1, src2, alpha, src3, beta, dst, GEMM_1_T + GEMM_3_T)`\n. corresponds to\n. \\f[\\texttt{dst} = \\texttt{alpha} \\cdot \\texttt{src1} ^T \\cdot \\texttt{src2} + \\texttt{beta} \\cdot \\texttt{src3} ^T\\f]\n. \n. In case of complex (two-channel) data, performed a complex matrix\n. multiplication.\n. \n. The function can be replaced with a matrix expression. For example, the\n. above call can be replaced with:\n. @code{.cpp}\n. dst = alpha*src1.t()*src2 + beta*src3.t();\n. @endcode\n. @param src1 first multiplied input matrix that could be real(CV_32FC1,\n. CV_64FC1) or complex(CV_32FC2, CV_64FC2).\n. @param src2 second multiplied input matrix of the same type as src1.\n. @param alpha weight of the matrix product.\n. @param src3 third optional delta matrix added to the matrix product; it\n. should have the same type as src1 and src2.\n. @param beta weight of src3.\n. @param dst output matrix; it has the proper size and the same type as\n. input matrices.\n. @param flags operation flags (cv::GemmFlags)\n. @sa mulTransposed , transform' - ... - -def getAffineTransform(src: Mat, dts: Mat) -> typing.Any: - 'getAffineTransform(src, dst) -> retval\n. @overload' - ... - -def getBuildInformation() -> typing.Any: - 'getBuildInformation() -> retval\n. @brief Returns full configuration time cmake output.\n. \n. Returned value is raw cmake output including version control system revision, compiler version,\n. compiler flags, enabled modules and third party libraries, etc. Output format depends on target\n. architecture.' - ... - -def getCPUFeaturesLine() -> typing.Any: - 'getCPUFeaturesLine() -> retval\n. @brief Returns list of CPU features enabled during compilation.\n. \n. Returned value is a string containing space separated list of CPU features with following markers:\n. \n. - no markers - baseline features\n. - prefix `*` - features enabled in dispatcher\n. - suffix `?` - features enabled but not available in HW\n. \n. Example: `SSE SSE2 SSE3 *SSE4.1 *SSE4.2 *FP16 *AVX *AVX2 *AVX512-SKX?`' - ... - -def getCPUTickCount() -> typing.Any: - 'getCPUTickCount() -> retval\n. @brief Returns the number of CPU ticks.\n. \n. The function returns the current number of CPU ticks on some architectures (such as x86, x64,\n. PowerPC). On other platforms the function is equivalent to getTickCount. It can also be used for\n. very accurate time measurements, as well as for RNG initialization. Note that in case of multi-CPU\n. systems a thread, from which getCPUTickCount is called, can be suspended and resumed at another CPU\n. with its own counter. So, theoretically (and practically) the subsequent calls to the function do\n. not necessary return the monotonously increasing values. Also, since a modern CPU varies the CPU\n. frequency depending on the load, the number of CPU clocks spent in some code cannot be directly\n. converted to time units. Therefore, getTickCount is generally a preferable solution for measuring\n. execution time.' - ... - -def getDefaultNewCameraMatrix(cameraMatrix, imgsize=..., centerPrincipalPoint=...) -> typing.Any: - 'getDefaultNewCameraMatrix(cameraMatrix[, imgsize[, centerPrincipalPoint]]) -> retval\n. @brief Returns the default new camera matrix.\n. \n. The function returns the camera matrix that is either an exact copy of the input cameraMatrix (when\n. centerPrinicipalPoint=false ), or the modified one (when centerPrincipalPoint=true).\n. \n. In the latter case, the new camera matrix will be:\n. \n. \\f[\\begin{bmatrix} f_x && 0 && ( \\texttt{imgSize.width} -1)*0.5 \\\\ 0 && f_y && ( \\texttt{imgSize.height} -1)*0.5 \\\\ 0 && 0 && 1 \\end{bmatrix} ,\\f]\n. \n. where \\f$f_x\\f$ and \\f$f_y\\f$ are \\f$(0,0)\\f$ and \\f$(1,1)\\f$ elements of cameraMatrix, respectively.\n. \n. By default, the undistortion functions in OpenCV (see #initUndistortRectifyMap, #undistort) do not\n. move the principal point. However, when you work with stereo, it is important to move the principal\n. points in both views to the same y-coordinate (which is required by most of stereo correspondence\n. algorithms), and may be to the same x-coordinate too. So, you can form the new camera matrix for\n. each view where the principal points are located at the center.\n. \n. @param cameraMatrix Input camera matrix.\n. @param imgsize Camera view image size in pixels.\n. @param centerPrincipalPoint Location of the principal point in the new camera matrix. The\n. parameter indicates whether this location should be at the image center or not.' - ... - -def getDerivKernels(dx, dy, ksize, kx=..., ky=..., normalize=..., ktype=...) -> typing.Any: - 'getDerivKernels(dx, dy, ksize[, kx[, ky[, normalize[, ktype]]]]) -> kx, ky\n. @brief Returns filter coefficients for computing spatial image derivatives.\n. \n. The function computes and returns the filter coefficients for spatial image derivatives. When\n. `ksize=FILTER_SCHARR`, the Scharr \\f$3 \\times 3\\f$ kernels are generated (see #Scharr). Otherwise, Sobel\n. kernels are generated (see #Sobel). The filters are normally passed to #sepFilter2D or to\n. \n. @param kx Output matrix of row filter coefficients. It has the type ktype .\n. @param ky Output matrix of column filter coefficients. It has the type ktype .\n. @param dx Derivative order in respect of x.\n. @param dy Derivative order in respect of y.\n. @param ksize Aperture size. It can be FILTER_SCHARR, 1, 3, 5, or 7.\n. @param normalize Flag indicating whether to normalize (scale down) the filter coefficients or not.\n. Theoretically, the coefficients should have the denominator \\f$=2^{ksize*2-dx-dy-2}\\f$. If you are\n. going to filter floating-point images, you are likely to use the normalized kernels. But if you\n. compute derivatives of an 8-bit image, store the results in a 16-bit image, and wish to preserve\n. all the fractional bits, you may want to set normalize=false .\n. @param ktype Type of filter coefficients. It can be CV_32f or CV_64F .' - ... - -def getFontScaleFromHeight(fontFace, pixelHeight, thickness=...) -> typing.Any: - 'getFontScaleFromHeight(fontFace, pixelHeight[, thickness]) -> retval\n. @brief Calculates the font-specific size to use to achieve a given height in pixels.\n. \n. @param fontFace Font to use, see cv::HersheyFonts.\n. @param pixelHeight Pixel height to compute the fontScale for\n. @param thickness Thickness of lines used to render the text.See putText for details.\n. @return The fontSize to use for cv::putText\n. \n. @see cv::putText' - ... - -def getGaborKernel(ksize, sigma, theta, lambd, gamma, psi=..., ktype=...) -> typing.Any: - 'getGaborKernel(ksize, sigma, theta, lambd, gamma[, psi[, ktype]]) -> retval\n. @brief Returns Gabor filter coefficients.\n. \n. For more details about gabor filter equations and parameters, see: [Gabor\n. Filter](http://en.wikipedia.org/wiki/Gabor_filter).\n. \n. @param ksize Size of the filter returned.\n. @param sigma Standard deviation of the gaussian envelope.\n. @param theta Orientation of the normal to the parallel stripes of a Gabor function.\n. @param lambd Wavelength of the sinusoidal factor.\n. @param gamma Spatial aspect ratio.\n. @param psi Phase offset.\n. @param ktype Type of filter coefficients. It can be CV_32F or CV_64F .' - ... - -def getGaussianKernel(ksize, sigma, ktype=...) -> typing.Any: - 'getGaussianKernel(ksize, sigma[, ktype]) -> retval\n. @brief Returns Gaussian filter coefficients.\n. \n. The function computes and returns the \\f$\\texttt{ksize} \\times 1\\f$ matrix of Gaussian filter\n. coefficients:\n. \n. \\f[G_i= \\alpha *e^{-(i-( \\texttt{ksize} -1)/2)^2/(2* \\texttt{sigma}^2)},\\f]\n. \n. where \\f$i=0..\\texttt{ksize}-1\\f$ and \\f$\\alpha\\f$ is the scale factor chosen so that \\f$\\sum_i G_i=1\\f$.\n. \n. Two of such generated kernels can be passed to sepFilter2D. Those functions automatically recognize\n. smoothing kernels (a symmetrical kernel with sum of weights equal to 1) and handle them accordingly.\n. You may also use the higher-level GaussianBlur.\n. @param ksize Aperture size. It should be odd ( \\f$\\texttt{ksize} \\mod 2 = 1\\f$ ) and positive.\n. @param sigma Gaussian standard deviation. If it is non-positive, it is computed from ksize as\n. `sigma = 0.3*((ksize-1)*0.5 - 1) + 0.8`.\n. @param ktype Type of filter coefficients. It can be CV_32F or CV_64F .\n. @sa sepFilter2D, getDerivKernels, getStructuringElement, GaussianBlur' - ... - -def getHardwareFeatureName(feature) -> typing.Any: - 'getHardwareFeatureName(feature) -> retval\n. @brief Returns feature name by ID\n. \n. Returns empty string if feature is not defined' - ... - -def getNumThreads() -> typing.Any: - 'getNumThreads() -> retval\n. @brief Returns the number of threads used by OpenCV for parallel regions.\n. \n. Always returns 1 if OpenCV is built without threading support.\n. \n. The exact meaning of return value depends on the threading framework used by OpenCV library:\n. - `TBB` - The number of threads, that OpenCV will try to use for parallel regions. If there is\n. any tbb::thread_scheduler_init in user code conflicting with OpenCV, then function returns\n. default number of threads used by TBB library.\n. - `OpenMP` - An upper bound on the number of threads that could be used to form a new team.\n. - `Concurrency` - The number of threads, that OpenCV will try to use for parallel regions.\n. - `GCD` - Unsupported; returns the GCD thread pool limit (512) for compatibility.\n. - `C=` - The number of threads, that OpenCV will try to use for parallel regions, if before\n. called setNumThreads with threads \\> 0, otherwise returns the number of logical CPUs,\n. available for the process.\n. @sa setNumThreads, getThreadNum' - ... - -def getNumberOfCPUs() -> typing.Any: - 'getNumberOfCPUs() -> retval\n. @brief Returns the number of logical CPUs available for the process.' - ... - -def getOptimalDFTSize(vecsize) -> typing.Any: - "getOptimalDFTSize(vecsize) -> retval\n. @brief Returns the optimal DFT size for a given vector size.\n. \n. DFT performance is not a monotonic function of a vector size. Therefore, when you calculate\n. convolution of two arrays or perform the spectral analysis of an array, it usually makes sense to\n. pad the input data with zeros to get a bit larger array that can be transformed much faster than the\n. original one. Arrays whose size is a power-of-two (2, 4, 8, 16, 32, ...) are the fastest to process.\n. Though, the arrays whose size is a product of 2's, 3's, and 5's (for example, 300 = 5\\*5\\*3\\*2\\*2)\n. are also processed quite efficiently.\n. \n. The function cv::getOptimalDFTSize returns the minimum number N that is greater than or equal to vecsize\n. so that the DFT of a vector of size N can be processed efficiently. In the current implementation N\n. = 2 ^p^ \\* 3 ^q^ \\* 5 ^r^ for some integer p, q, r.\n. \n. The function returns a negative number if vecsize is too large (very close to INT_MAX ).\n. \n. While the function cannot be used directly to estimate the optimal vector size for DCT transform\n. (since the current DCT implementation supports only even-size vectors), it can be easily processed\n. as getOptimalDFTSize((vecsize+1)/2)\\*2.\n. @param vecsize vector size.\n. @sa dft , dct , idft , idct , mulSpectrums" - ... - -def getOptimalNewCameraMatrix(cameraMatrix, distCoeffs, imageSize, alpha, newImgSize=..., centerPrincipalPoint=...) -> typing.Any: - 'getOptimalNewCameraMatrix(cameraMatrix, distCoeffs, imageSize, alpha[, newImgSize[, centerPrincipalPoint]]) -> retval, validPixROI\n. @brief Returns the new camera matrix based on the free scaling parameter.\n. \n. @param cameraMatrix Input camera matrix.\n. @param distCoeffs Input vector of distortion coefficients\n. \\f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]])\\f$ of\n. 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are\n. assumed.\n. @param imageSize Original image size.\n. @param alpha Free scaling parameter between 0 (when all the pixels in the undistorted image are\n. valid) and 1 (when all the source image pixels are retained in the undistorted image). See\n. stereoRectify for details.\n. @param newImgSize Image size after rectification. By default, it is set to imageSize .\n. @param validPixROI Optional output rectangle that outlines all-good-pixels region in the\n. undistorted image. See roi1, roi2 description in stereoRectify .\n. @param centerPrincipalPoint Optional flag that indicates whether in the new camera matrix the\n. principal point should be at the image center or not. By default, the principal point is chosen to\n. best fit a subset of the source image (determined by alpha) to the corrected image.\n. @return new_camera_matrix Output new camera matrix.\n. \n. The function computes and returns the optimal new camera matrix based on the free scaling parameter.\n. By varying this parameter, you may retrieve only sensible pixels alpha=0 , keep all the original\n. image pixels if there is valuable information in the corners alpha=1 , or get something in between.\n. When alpha\\>0 , the undistorted result is likely to have some black pixels corresponding to\n. "virtual" pixels outside of the captured distorted image. The original camera matrix, distortion\n. coefficients, the computed new camera matrix, and newImageSize should be passed to\n. initUndistortRectifyMap to produce the maps for remap .' - ... - -def getPerspectiveTransform(src: Mat, dts: Mat, solveMethod=...) -> typing.Any: - "getPerspectiveTransform(src, dst[, solveMethod]) -> retval\n. @brief Calculates a perspective transform from four pairs of the corresponding points.\n. \n. The function calculates the \\f$3 \\times 3\\f$ matrix of a perspective transform so that:\n. \n. \\f[\\begin{bmatrix} t_i x'_i \\\\ t_i y'_i \\\\ t_i \\end{bmatrix} = \\texttt{map_matrix} \\cdot \\begin{bmatrix} x_i \\\\ y_i \\\\ 1 \\end{bmatrix}\\f]\n. \n. where\n. \n. \\f[dst(i)=(x'_i,y'_i), src(i)=(x_i, y_i), i=0,1,2,3\\f]\n. \n. @param src Coordinates of quadrangle vertices in the source image.\n. @param dst Coordinates of the corresponding quadrangle vertices in the destination image.\n. @param solveMethod method passed to cv::solve (#DecompTypes)\n. \n. @sa findHomography, warpPerspective, perspectiveTransform" - ... - -def getRectSubPix(image: Mat, patchSize, center, patch=..., patchType=...) -> typing.Any: - 'getRectSubPix(image, patchSize, center[, patch[, patchType]]) -> patch\n. @brief Retrieves a pixel rectangle from an image with sub-pixel accuracy.\n. \n. The function getRectSubPix extracts pixels from src:\n. \n. \\f[patch(x, y) = src(x + \\texttt{center.x} - ( \\texttt{dst.cols} -1)*0.5, y + \\texttt{center.y} - ( \\texttt{dst.rows} -1)*0.5)\\f]\n. \n. where the values of the pixels at non-integer coordinates are retrieved using bilinear\n. interpolation. Every channel of multi-channel images is processed independently. Also\n. the image should be a single channel or three channel image. While the center of the\n. rectangle must be inside the image, parts of the rectangle may be outside.\n. \n. @param image Source image.\n. @param patchSize Size of the extracted patch.\n. @param center Floating point coordinates of the center of the extracted rectangle within the\n. source image. The center must be inside the image.\n. @param patch Extracted patch that has the size patchSize and the same number of channels as src .\n. @param patchType Depth of the extracted pixels. By default, they have the same depth as src .\n. \n. @sa warpAffine, warpPerspective' - ... - -def getRotationMatrix2D(center, angle, scale) -> typing.Any: - 'getRotationMatrix2D(center, angle, scale) -> retval\n. @brief Calculates an affine matrix of 2D rotation.\n. \n. The function calculates the following matrix:\n. \n. \\f[\\begin{bmatrix} \\alpha & \\beta & (1- \\alpha ) \\cdot \\texttt{center.x} - \\beta \\cdot \\texttt{center.y} \\\\ - \\beta & \\alpha & \\beta \\cdot \\texttt{center.x} + (1- \\alpha ) \\cdot \\texttt{center.y} \\end{bmatrix}\\f]\n. \n. where\n. \n. \\f[\\begin{array}{l} \\alpha = \\texttt{scale} \\cdot \\cos \\texttt{angle} , \\\\ \\beta = \\texttt{scale} \\cdot \\sin \\texttt{angle} \\end{array}\\f]\n. \n. The transformation maps the rotation center to itself. If this is not the target, adjust the shift.\n. \n. @param center Center of the rotation in the source image.\n. @param angle Rotation angle in degrees. Positive values mean counter-clockwise rotation (the\n. coordinate origin is assumed to be the top-left corner).\n. @param scale Isotropic scale factor.\n. \n. @sa getAffineTransform, warpAffine, transform' - ... - -def getStructuringElement(shape, ksize, anchor=...) -> typing.Any: - 'getStructuringElement(shape, ksize[, anchor]) -> retval\n. @brief Returns a structuring element of the specified size and shape for morphological operations.\n. \n. The function constructs and returns the structuring element that can be further passed to #erode,\n. #dilate or #morphologyEx. But you can also construct an arbitrary binary mask yourself and use it as\n. the structuring element.\n. \n. @param shape Element shape that could be one of #MorphShapes\n. @param ksize Size of the structuring element.\n. @param anchor Anchor position within the element. The default value \\f$(-1, -1)\\f$ means that the\n. anchor is at the center. Note that only the shape of a cross-shaped element depends on the anchor\n. position. In other cases the anchor just regulates how much the result of the morphological\n. operation is shifted.' - ... - -def getTextSize(text, fontFace, fontScale, thickness) -> typing.Any: - 'getTextSize(text, fontFace, fontScale, thickness) -> retval, baseLine\n. @brief Calculates the width and height of a text string.\n. \n. The function cv::getTextSize calculates and returns the size of a box that contains the specified text.\n. That is, the following code renders some text, the tight box surrounding it, and the baseline: :\n. @code\n. String text = "Funny text inside the box";\n. int fontFace = FONT_HERSHEY_SCRIPT_SIMPLEX;\n. double fontScale = 2;\n. int thickness = 3;\n. \n. Mat img(600, 800, CV_8UC3, Scalar::all(0));\n. \n. int baseline=0;\n. Size textSize = getTextSize(text, fontFace,\n. fontScale, thickness, &baseline);\n. baseline += thickness;\n. \n. // center the text\n. Point textOrg((img.cols - textSize.width)/2,\n. (img.rows + textSize.height)/2);\n. \n. // draw the box\n. rectangle(img, textOrg + Point(0, baseline),\n. textOrg + Point(textSize.width, -textSize.height),\n. Scalar(0,0,255));\n. // ... and the baseline first\n. line(img, textOrg + Point(0, thickness),\n. textOrg + Point(textSize.width, thickness),\n. Scalar(0, 0, 255));\n. \n. // then put the text itself\n. putText(img, text, textOrg, fontFace, fontScale,\n. Scalar::all(255), thickness, 8);\n. @endcode\n. \n. @param text Input text string.\n. @param fontFace Font to use, see #HersheyFonts.\n. @param fontScale Font scale factor that is multiplied by the font-specific base size.\n. @param thickness Thickness of lines used to render the text. See #putText for details.\n. @param[out] baseLine y-coordinate of the baseline relative to the bottom-most text\n. point.\n. @return The size of a box that contains the specified text.\n. \n. @see putText' - ... - -def getThreadNum() -> typing.Any: - "getThreadNum() -> retval\n. @brief Returns the index of the currently executed thread within the current parallel region. Always\n. returns 0 if called outside of parallel region.\n. \n. @deprecated Current implementation doesn't corresponding to this documentation.\n. \n. The exact meaning of the return value depends on the threading framework used by OpenCV library:\n. - `TBB` - Unsupported with current 4.1 TBB release. Maybe will be supported in future.\n. - `OpenMP` - The thread number, within the current team, of the calling thread.\n. - `Concurrency` - An ID for the virtual processor that the current context is executing on (0\n. for master thread and unique number for others, but not necessary 1,2,3,...).\n. - `GCD` - System calling thread's ID. Never returns 0 inside parallel region.\n. - `C=` - The index of the current parallel task.\n. @sa setNumThreads, getNumThreads" - ... - -def getTickCount() -> typing.Any: - 'getTickCount() -> retval\n. @brief Returns the number of ticks.\n. \n. The function returns the number of ticks after the certain event (for example, when the machine was\n. turned on). It can be used to initialize RNG or to measure a function execution time by reading the\n. tick count before and after the function call.\n. @sa getTickFrequency, TickMeter' - ... - -def getTickFrequency() -> typing.Any: - 'getTickFrequency() -> retval\n. @brief Returns the number of ticks per second.\n. \n. The function returns the number of ticks per second. That is, the following code computes the\n. execution time in seconds:\n. @code\n. double t = (double)getTickCount();\n. // do something ...\n. t = ((double)getTickCount() - t)/getTickFrequency();\n. @endcode\n. @sa getTickCount, TickMeter' - ... - -def getTrackbarPos(trackbarname, winname) -> typing.Any: - 'getTrackbarPos(trackbarname, winname) -> retval\n. @brief Returns the trackbar position.\n. \n. The function returns the current position of the specified trackbar.\n. \n. @note\n. \n. [__Qt Backend Only__] winname can be empty if the trackbar is attached to the control\n. panel.\n. \n. @param trackbarname Name of the trackbar.\n. @param winname Name of the window that is the parent of the trackbar.' - ... - -def getValidDisparityROI(roi1, roi2, minDisparity, numberOfDisparities, blockSize) -> typing.Any: - 'getValidDisparityROI(roi1, roi2, minDisparity, numberOfDisparities, blockSize) -> retval\n.' - ... - -def getVersionMajor() -> typing.Any: - 'getVersionMajor() -> retval\n. @brief Returns major library version' - ... - -def getVersionMinor() -> typing.Any: - 'getVersionMinor() -> retval\n. @brief Returns minor library version' - ... - -def getVersionRevision() -> typing.Any: - 'getVersionRevision() -> retval\n. @brief Returns revision field of the library version' - ... - -def getVersionString() -> typing.Any: - 'getVersionString() -> retval\n. @brief Returns library version string\n. \n. For example "3.4.1-dev".\n. \n. @sa getMajorVersion, getMinorVersion, getRevisionVersion' - ... - -def getWindowImageRect(winname) -> typing.Any: - 'getWindowImageRect(winname) -> retval\n. @brief Provides rectangle of image in the window.\n. \n. The function getWindowImageRect returns the client screen coordinates, width and height of the image rendering area.\n. \n. @param winname Name of the window.\n. \n. @sa resizeWindow moveWindow' - ... - -def getWindowProperty(winname, prop_id) -> typing.Any: - 'getWindowProperty(winname, prop_id) -> retval\n. @brief Provides parameters of a window.\n. \n. The function getWindowProperty returns properties of a window.\n. \n. @param winname Name of the window.\n. @param prop_id Window property to retrieve. The following operation flags are available: (cv::WindowPropertyFlags)\n. \n. @sa setWindowProperty' - ... - -def goodFeaturesToTrack(image: Mat, maxCorners, qualityLevel, minDistance, corners=..., mask: Mat = ..., blockSize=..., useHarrisDetector=..., k=...) -> typing.Any: - 'goodFeaturesToTrack(image, maxCorners, qualityLevel, minDistance[, corners[, mask[, blockSize[, useHarrisDetector[, k]]]]]) -> corners\n. @brief Determines strong corners on an image.\n. \n. The function finds the most prominent corners in the image or in the specified image region, as\n. described in @cite Shi94\n. \n. - Function calculates the corner quality measure at every source image pixel using the\n. #cornerMinEigenVal or #cornerHarris .\n. - Function performs a non-maximum suppression (the local maximums in *3 x 3* neighborhood are\n. retained).\n. - The corners with the minimal eigenvalue less than\n. \\f$\\texttt{qualityLevel} \\cdot \\max_{x,y} qualityMeasureMap(x,y)\\f$ are rejected.\n. - The remaining corners are sorted by the quality measure in the descending order.\n. - Function throws away each corner for which there is a stronger corner at a distance less than\n. maxDistance.\n. \n. The function can be used to initialize a point-based tracker of an object.\n. \n. @note If the function is called with different values A and B of the parameter qualityLevel , and\n. A \\> B, the vector of returned corners with qualityLevel=A will be the prefix of the output vector\n. with qualityLevel=B .\n. \n. @param image Input 8-bit or floating-point 32-bit, single-channel image.\n. @param corners Output vector of detected corners.\n. @param maxCorners Maximum number of corners to return. If there are more corners than are found,\n. the strongest of them is returned. `maxCorners <= 0` implies that no limit on the maximum is set\n. and all detected corners are returned.\n. @param qualityLevel Parameter characterizing the minimal accepted quality of image corners. The\n. parameter value is multiplied by the best corner quality measure, which is the minimal eigenvalue\n. (see #cornerMinEigenVal ) or the Harris function response (see #cornerHarris ). The corners with the\n. quality measure less than the product are rejected. For example, if the best corner has the\n. quality measure = 1500, and the qualityLevel=0.01 , then all the corners with the quality measure\n. less than 15 are rejected.\n. @param minDistance Minimum possible Euclidean distance between the returned corners.\n. @param mask Optional region of interest. If the image is not empty (it needs to have the type\n. CV_8UC1 and the same size as image ), it specifies the region in which the corners are detected.\n. @param blockSize Size of an average block for computing a derivative covariation matrix over each\n. pixel neighborhood. See cornerEigenValsAndVecs .\n. @param useHarrisDetector Parameter indicating whether to use a Harris detector (see #cornerHarris)\n. or #cornerMinEigenVal.\n. @param k Free parameter of the Harris detector.\n. \n. @sa cornerMinEigenVal, cornerHarris, calcOpticalFlowPyrLK, estimateRigidTransform,\n\n\n\ngoodFeaturesToTrack(image, maxCorners, qualityLevel, minDistance, mask, blockSize, gradientSize[, corners[, useHarrisDetector[, k]]]) -> corners\n.' - ... - -def grabCut(img: Mat, mask: typing.Optional[Mat], rect, bgdModel, fgdModel, iterCount, mode=...) -> typing.Any: - 'grabCut(img, mask, rect, bgdModel, fgdModel, iterCount[, mode]) -> mask, bgdModel, fgdModel\n. @brief Runs the GrabCut algorithm.\n. \n. The function implements the [GrabCut image segmentation algorithm](http://en.wikipedia.org/wiki/GrabCut).\n. \n. @param img Input 8-bit 3-channel image.\n. @param mask Input/output 8-bit single-channel mask. The mask is initialized by the function when\n. mode is set to #GC_INIT_WITH_RECT. Its elements may have one of the #GrabCutClasses.\n. @param rect ROI containing a segmented object. The pixels outside of the ROI are marked as\n. "obvious background". The parameter is only used when mode==#GC_INIT_WITH_RECT .\n. @param bgdModel Temporary array for the background model. Do not modify it while you are\n. processing the same image.\n. @param fgdModel Temporary arrays for the foreground model. Do not modify it while you are\n. processing the same image.\n. @param iterCount Number of iterations the algorithm should make before returning the result. Note\n. that the result can be refined with further calls with mode==#GC_INIT_WITH_MASK or\n. mode==GC_EVAL .\n. @param mode Operation mode that could be one of the #GrabCutModes' - ... - -def groupRectangles(rectList, groupThreshold, eps=...) -> typing.Any: - 'groupRectangles(rectList, groupThreshold[, eps]) -> rectList, weights\n. @overload' - ... - -def haveImageReader(filename: str) -> typing.Any: - 'haveImageReader(filename) -> retval\n. @brief Returns true if the specified image can be decoded by OpenCV\n. \n. @param filename File name of the image' - ... - -def haveImageWriter(filename: str) -> typing.Any: - 'haveImageWriter(filename) -> retval\n. @brief Returns true if an image with the specified filename can be encoded by OpenCV\n. \n. @param filename File name of the image' - ... - -def haveOpenVX() -> typing.Any: - 'haveOpenVX() -> retval\n.' - ... - -def hconcat(src: Mat, dts: Mat = ...) -> typing.Any: - 'hconcat(src[, dst]) -> dst\n. @overload\n. @code{.cpp}\n. std::vector matrices = { cv::Mat(4, 1, CV_8UC1, cv::Scalar(1)),\n. cv::Mat(4, 1, CV_8UC1, cv::Scalar(2)),\n. cv::Mat(4, 1, CV_8UC1, cv::Scalar(3)),};\n. \n. cv::Mat out;\n. cv::hconcat( matrices, out );\n. //out:\n. //[1, 2, 3;\n. // 1, 2, 3;\n. // 1, 2, 3;\n. // 1, 2, 3]\n. @endcode\n. @param src input array or vector of matrices. all of the matrices must have the same number of rows and the same depth.\n. @param dst output array. It has the same number of rows and depth as the src, and the sum of cols of the src.\n. same depth.' - ... - -def idct(src: Mat, dts: Mat = ..., flags: int = ...) -> typing.Any: - 'idct(src[, dst[, flags]]) -> dst\n. @brief Calculates the inverse Discrete Cosine Transform of a 1D or 2D array.\n. \n. idct(src, dst, flags) is equivalent to dct(src, dst, flags | DCT_INVERSE).\n. @param src input floating-point single-channel array.\n. @param dst output array of the same size and type as src.\n. @param flags operation flags.\n. @sa dct, dft, idft, getOptimalDFTSize' - ... - -def idft(src: Mat, dts: Mat = ..., flags: int = ..., nonzeroRows=...) -> typing.Any: - 'idft(src[, dst[, flags[, nonzeroRows]]]) -> dst\n. @brief Calculates the inverse Discrete Fourier Transform of a 1D or 2D array.\n. \n. idft(src, dst, flags) is equivalent to dft(src, dst, flags | #DFT_INVERSE) .\n. @note None of dft and idft scales the result by default. So, you should pass #DFT_SCALE to one of\n. dft or idft explicitly to make these transforms mutually inverse.\n. @sa dft, dct, idct, mulSpectrums, getOptimalDFTSize\n. @param src input floating-point real or complex array.\n. @param dst output array whose size and type depend on the flags.\n. @param flags operation flags (see dft and #DftFlags).\n. @param nonzeroRows number of dst rows to process; the rest of the rows have undefined content (see\n. the convolution sample in dft description.' - ... - -def illuminationChange(src: Mat, mask: Mat, dts: Mat = ..., alpha=..., beta=...) -> typing.Any: - 'illuminationChange(src, mask[, dst[, alpha[, beta]]]) -> dst\n. @brief Applying an appropriate non-linear transformation to the gradient field inside the selection and\n. then integrating back with a Poisson solver, modifies locally the apparent illumination of an image.\n. \n. @param src Input 8-bit 3-channel image.\n. @param mask Input 8-bit 1 or 3-channel image.\n. @param dst Output image with the same size and type as src.\n. @param alpha Value ranges between 0-2.\n. @param beta Value ranges between 0-2.\n. \n. This is useful to highlight under-exposed foreground objects or to reduce specular reflections.' - ... - -def imdecode(buf, flags: int) -> typing.Any: - 'imdecode(buf, flags) -> retval\n. @brief Reads an image from a buffer in memory.\n. \n. The function imdecode reads an image from the specified buffer in the memory. If the buffer is too short or\n. contains invalid data, the function returns an empty matrix ( Mat::data==NULL ).\n. \n. See cv::imread for the list of supported formats and flags description.\n. \n. @note In the case of color images, the decoded images will have the channels stored in **B G R** order.\n. @param buf Input array or vector of bytes.\n. @param flags The same flags as in cv::imread, see cv::ImreadModes.' - ... - -def imencode(ext, img: Mat, params=...) -> typing.Any: - 'imencode(ext, img[, params]) -> retval, buf\n. @brief Encodes an image into a memory buffer.\n. \n. The function imencode compresses the image and stores it in the memory buffer that is resized to fit the\n. result. See cv::imwrite for the list of supported formats and flags description.\n. \n. @param ext File extension that defines the output format.\n. @param img Image to be written.\n. @param buf Output buffer resized to fit the compressed image.\n. @param params Format-specific parameters. See cv::imwrite and cv::ImwriteFlags.' - ... - -def imread(filename: str, flags: int = ...) -> Mat: - 'imread(filename[, flags]) -> retval\n. @brief Loads an image from a file.\n. \n. @anchor imread\n. \n. The function imread loads an image from the specified file and returns it. If the image cannot be\n. read (because of missing file, improper permissions, unsupported or invalid format), the function\n. returns an empty matrix ( Mat::data==NULL ).\n. \n. Currently, the following file formats are supported:\n. \n. - Windows bitmaps - \\*.bmp, \\*.dib (always supported)\n. - JPEG files - \\*.jpeg, \\*.jpg, \\*.jpe (see the *Note* section)\n. - JPEG 2000 files - \\*.jp2 (see the *Note* section)\n. - Portable Network Graphics - \\*.png (see the *Note* section)\n. - WebP - \\*.webp (see the *Note* section)\n. - Portable image format - \\*.pbm, \\*.pgm, \\*.ppm \\*.pxm, \\*.pnm (always supported)\n. - PFM files - \\*.pfm (see the *Note* section)\n. - Sun rasters - \\*.sr, \\*.ras (always supported)\n. - TIFF files - \\*.tiff, \\*.tif (see the *Note* section)\n. - OpenEXR Image files - \\*.exr (see the *Note* section)\n. - Radiance HDR - \\*.hdr, \\*.pic (always supported)\n. - Raster and Vector geospatial data supported by GDAL (see the *Note* section)\n. \n. @note\n. - The function determines the type of an image by the content, not by the file extension.\n. - In the case of color images, the decoded images will have the channels stored in **B G R** order.\n. - When using IMREAD_GRAYSCALE, the codec\'s internal grayscale conversion will be used, if available.\n. Results may differ to the output of cvtColor()\n. - On Microsoft Windows\\* OS and MacOSX\\*, the codecs shipped with an OpenCV image (libjpeg,\n. libpng, libtiff, and libjasper) are used by default. So, OpenCV can always read JPEGs, PNGs,\n. and TIFFs. On MacOSX, there is also an option to use native MacOSX image readers. But beware\n. that currently these native image loaders give images with different pixel values because of\n. the color management embedded into MacOSX.\n. - On Linux\\*, BSD flavors and other Unix-like open-source operating systems, OpenCV looks for\n. codecs supplied with an OS image. Install the relevant packages (do not forget the development\n. files, for example, "libjpeg-dev", in Debian\\* and Ubuntu\\*) to get the codec support or turn\n. on the OPENCV_BUILD_3RDPARTY_LIBS flag in CMake.\n. - In the case you set *WITH_GDAL* flag to true in CMake and @ref IMREAD_LOAD_GDAL to load the image,\n. then the [GDAL](http://www.gdal.org) driver will be used in order to decode the image, supporting\n. the following formats: [Raster](http://www.gdal.org/formats_list.html),\n. [Vector](http://www.gdal.org/ogr_formats.html).\n. - If EXIF information is embedded in the image file, the EXIF orientation will be taken into account\n. and thus the image will be rotated accordingly except if the flags @ref IMREAD_IGNORE_ORIENTATION\n. or @ref IMREAD_UNCHANGED are passed.\n. - Use the IMREAD_UNCHANGED flag to keep the floating point values from PFM image.\n. - By default number of pixels must be less than 2^30. Limit can be set using system\n. variable OPENCV_IO_MAX_IMAGE_PIXELS\n. \n. @param filename Name of file to be loaded.\n. @param flags Flag that can take values of cv::ImreadModes' - ... - -def imreadmulti(filename: str, mats=..., flags: int = ...) -> typing.Any: - 'imreadmulti(filename[, mats[, flags]]) -> retval, mats\n. @brief Loads a multi-page image from a file.\n. \n. The function imreadmulti loads a multi-page image from the specified file into a vector of Mat objects.\n. @param filename Name of file to be loaded.\n. @param flags Flag that can take values of cv::ImreadModes, default with cv::IMREAD_ANYCOLOR.\n. @param mats A vector of Mat objects holding each page, if more than one.\n. @sa cv::imread' - ... - -def imshow(winname, mat) -> typing.Any: - 'imshow(winname, mat) -> None\n. @brief Displays an image in the specified window.\n. \n. The function imshow displays an image in the specified window. If the window was created with the\n. cv::WINDOW_AUTOSIZE flag, the image is shown with its original size, however it is still limited by the screen resolution.\n. Otherwise, the image is scaled to fit the window. The function may scale the image, depending on its depth:\n. \n. - If the image is 8-bit unsigned, it is displayed as is.\n. - If the image is 16-bit unsigned or 32-bit integer, the pixels are divided by 256. That is, the\n. value range [0,255\\*256] is mapped to [0,255].\n. - If the image is 32-bit or 64-bit floating-point, the pixel values are multiplied by 255. That is, the\n. value range [0,1] is mapped to [0,255].\n. \n. If window was created with OpenGL support, cv::imshow also support ogl::Buffer , ogl::Texture2D and\n. cuda::GpuMat as input.\n. \n. If the window was not created before this function, it is assumed creating a window with cv::WINDOW_AUTOSIZE.\n. \n. If you need to show an image that is bigger than the screen resolution, you will need to call namedWindow("", WINDOW_NORMAL) before the imshow.\n. \n. @note This function should be followed by cv::waitKey function which displays the image for specified\n. milliseconds. Otherwise, it won\'t display the image. For example, **waitKey(0)** will display the window\n. infinitely until any keypress (it is suitable for image display). **waitKey(25)** will display a frame\n. for 25 ms, after which display will be automatically closed. (If you put it in a loop to read\n. videos, it will display the video frame-by-frame)\n. \n. @note\n. \n. [__Windows Backend Only__] Pressing Ctrl+C will copy the image to the clipboard.\n. \n. [__Windows Backend Only__] Pressing Ctrl+S will show a dialog to save the image.\n. \n. @param winname Name of the window.\n. @param mat Image to be shown.' - ... - -def imwrite(filename: str, img: Mat, params: typing.List[int] = ...) -> bool: - "imwrite(filename, img[, params]) -> retval\n. @brief Saves an image to a specified file.\n. \n. The function imwrite saves the image to the specified file. The image format is chosen based on the\n. filename extension (see cv::imread for the list of extensions). In general, only 8-bit\n. single-channel or 3-channel (with 'BGR' channel order) images\n. can be saved using this function, with these exceptions:\n. \n. - 16-bit unsigned (CV_16U) images can be saved in the case of PNG, JPEG 2000, and TIFF formats\n. - 32-bit float (CV_32F) images can be saved in PFM, TIFF, OpenEXR, and Radiance HDR formats;\n. 3-channel (CV_32FC3) TIFF images will be saved using the LogLuv high dynamic range encoding\n. (4 bytes per pixel)\n. - PNG images with an alpha channel can be saved using this function. To do this, create\n. 8-bit (or 16-bit) 4-channel image BGRA, where the alpha channel goes last. Fully transparent pixels\n. should have alpha set to 0, fully opaque pixels should have alpha set to 255/65535 (see the code sample below).\n. - Multiple images (vector of Mat) can be saved in TIFF format (see the code sample below).\n. \n. If the format, depth or channel order is different, use\n. Mat::convertTo and cv::cvtColor to convert it before saving. Or, use the universal FileStorage I/O\n. functions to save the image to XML or YAML format.\n. \n. The sample below shows how to create a BGRA image, how to set custom compression parameters and save it to a PNG file.\n. It also demonstrates how to save multiple images in a TIFF file:\n. @include snippets/imgcodecs_imwrite.cpp\n. @param filename Name of the file.\n. @param img (Mat or vector of Mat) Image or Images to be saved.\n. @param params Format-specific parameters encoded as pairs (paramId_1, paramValue_1, paramId_2, paramValue_2, ... .) see cv::ImwriteFlags" - ... - -def inRange(src: Mat, lowerBound: Mat, upperbBound: Mat, dts: Mat = ...) -> Mat: - 'inRange(src, lowerBound, upperbBound[, dst]) -> dst\n. @brief Checks if array elements lie between the elements of two other arrays.\n. \n. The function checks the range as follows:\n. - For every element of a single-channel input array:\n. \\f[\\texttt{dst} (I)= \\texttt{lowerBound} (I)_0 \\leq \\texttt{src} (I)_0 \\leq \\texttt{upperbBound} (I)_0\\f]\n. - For two-channel arrays:\n. \\f[\\texttt{dst} (I)= \\texttt{lowerBound} (I)_0 \\leq \\texttt{src} (I)_0 \\leq \\texttt{upperbBound} (I)_0 \\land \\texttt{lowerBound} (I)_1 \\leq \\texttt{src} (I)_1 \\leq \\texttt{upperbBound} (I)_1\\f]\n. - and so forth.\n. \n. That is, dst (I) is set to 255 (all 1 -bits) if src (I) is within the\n. specified 1D, 2D, 3D, ... box and 0 otherwise.\n. \n. When the lower and/or upper boundary parameters are scalars, the indexes\n. (I) at lowerBound and upperbBound in the above formulas should be omitted.\n. @param src first input array.\n. @param lowerBound inclusive lower boundary array or a scalar.\n. @param upperbBound inclusive upper boundary array or a scalar.\n. @param dst output array of the same size as src and CV_8U type.' - ... - -def initCameraMatrix2D(objectPoints, imagePoints, imageSize, aspectRatio=...) -> typing.Any: - 'initCameraMatrix2D(objectPoints, imagePoints, imageSize[, aspectRatio]) -> retval\n. @brief Finds an initial camera matrix from 3D-2D point correspondences.\n. \n. @param objectPoints Vector of vectors of the calibration pattern points in the calibration pattern\n. coordinate space. In the old interface all the per-view vectors are concatenated. See\n. calibrateCamera for details.\n. @param imagePoints Vector of vectors of the projections of the calibration pattern points. In the\n. old interface all the per-view vectors are concatenated.\n. @param imageSize Image size in pixels used to initialize the principal point.\n. @param aspectRatio If it is zero or negative, both \\f$f_x\\f$ and \\f$f_y\\f$ are estimated independently.\n. Otherwise, \\f$f_x = f_y * \\texttt{aspectRatio}\\f$ .\n. \n. The function estimates and returns an initial camera matrix for the camera calibration process.\n. Currently, the function only supports planar calibration patterns, which are patterns where each\n. object point has z-coordinate =0.' - ... - -def initUndistortRectifyMap(cameraMatrix, distCoeffs, R, newCameraMatrix, size, m1type, map1=..., map2=...) -> typing.Any: - "initUndistortRectifyMap(cameraMatrix, distCoeffs, R, newCameraMatrix, size, m1type[, map1[, map2]]) -> map1, map2\n. @brief Computes the undistortion and rectification transformation map.\n. \n. The function computes the joint undistortion and rectification transformation and represents the\n. result in the form of maps for remap. The undistorted image looks like original, as if it is\n. captured with a camera using the camera matrix =newCameraMatrix and zero distortion. In case of a\n. monocular camera, newCameraMatrix is usually equal to cameraMatrix, or it can be computed by\n. #getOptimalNewCameraMatrix for a better control over scaling. In case of a stereo camera,\n. newCameraMatrix is normally set to P1 or P2 computed by #stereoRectify .\n. \n. Also, this new camera is oriented differently in the coordinate space, according to R. That, for\n. example, helps to align two heads of a stereo camera so that the epipolar lines on both images\n. become horizontal and have the same y- coordinate (in case of a horizontally aligned stereo camera).\n. \n. The function actually builds the maps for the inverse mapping algorithm that is used by remap. That\n. is, for each pixel \\f$(u, v)\\f$ in the destination (corrected and rectified) image, the function\n. computes the corresponding coordinates in the source image (that is, in the original image from\n. camera). The following process is applied:\n. \\f[\n. \\begin{array}{l}\n. x \\leftarrow (u - {c'}_x)/{f'}_x \\\\\n. y \\leftarrow (v - {c'}_y)/{f'}_y \\\\\n. {[X\\,Y\\,W]} ^T \\leftarrow R^{-1}*[x \\, y \\, 1]^T \\\\\n. x' \\leftarrow X/W \\\\\n. y' \\leftarrow Y/W \\\\\n. r^2 \\leftarrow x'^2 + y'^2 \\\\\n. x'' \\leftarrow x' \\frac{1 + k_1 r^2 + k_2 r^4 + k_3 r^6}{1 + k_4 r^2 + k_5 r^4 + k_6 r^6}\n. + 2p_1 x' y' + p_2(r^2 + 2 x'^2) + s_1 r^2 + s_2 r^4\\\\\n. y'' \\leftarrow y' \\frac{1 + k_1 r^2 + k_2 r^4 + k_3 r^6}{1 + k_4 r^2 + k_5 r^4 + k_6 r^6}\n. + p_1 (r^2 + 2 y'^2) + 2 p_2 x' y' + s_3 r^2 + s_4 r^4 \\\\\n. s\\vecthree{x'''}{y'''}{1} =\n. \\vecthreethree{R_{33}(\\tau_x, \\tau_y)}{0}{-R_{13}((\\tau_x, \\tau_y)}\n. {0}{R_{33}(\\tau_x, \\tau_y)}{-R_{23}(\\tau_x, \\tau_y)}\n. {0}{0}{1} R(\\tau_x, \\tau_y) \\vecthree{x''}{y''}{1}\\\\\n. map_x(u,v) \\leftarrow x''' f_x + c_x \\\\\n. map_y(u,v) \\leftarrow y''' f_y + c_y\n. \\end{array}\n. \\f]\n. where \\f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6[, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]])\\f$\n. are the distortion coefficients.\n. \n. In case of a stereo camera, this function is called twice: once for each camera head, after\n. stereoRectify, which in its turn is called after #stereoCalibrate. But if the stereo camera\n. was not calibrated, it is still possible to compute the rectification transformations directly from\n. the fundamental matrix using #stereoRectifyUncalibrated. For each camera, the function computes\n. homography H as the rectification transformation in a pixel domain, not a rotation matrix R in 3D\n. space. R can be computed from H as\n. \\f[\\texttt{R} = \\texttt{cameraMatrix} ^{-1} \\cdot \\texttt{H} \\cdot \\texttt{cameraMatrix}\\f]\n. where cameraMatrix can be chosen arbitrarily.\n. \n. @param cameraMatrix Input camera matrix \\f$A=\\vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\\f$ .\n. @param distCoeffs Input vector of distortion coefficients\n. \\f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6[, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]])\\f$\n. of 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are assumed.\n. @param R Optional rectification transformation in the object space (3x3 matrix). R1 or R2 ,\n. computed by #stereoRectify can be passed here. If the matrix is empty, the identity transformation\n. is assumed. In cvInitUndistortMap R assumed to be an identity matrix.\n. @param newCameraMatrix New camera matrix \\f$A'=\\vecthreethree{f_x'}{0}{c_x'}{0}{f_y'}{c_y'}{0}{0}{1}\\f$.\n. @param size Undistorted image size.\n. @param m1type Type of the first output map that can be CV_32FC1, CV_32FC2 or CV_16SC2, see #convertMaps\n. @param map1 The first output map.\n. @param map2 The second output map." - ... - -def inpaint(src: Mat, inpaintMask, inpaintRadius, flags: int, dts: Mat = ...) -> typing.Any: - 'inpaint(src, inpaintMask, inpaintRadius, flags[, dst]) -> dst\n. @brief Restores the selected region in an image using the region neighborhood.\n. \n. @param src Input 8-bit, 16-bit unsigned or 32-bit float 1-channel or 8-bit 3-channel image.\n. @param inpaintMask Inpainting mask, 8-bit 1-channel image. Non-zero pixels indicate the area that\n. needs to be inpainted.\n. @param dst Output image with the same size and type as src .\n. @param inpaintRadius Radius of a circular neighborhood of each point inpainted that is considered\n. by the algorithm.\n. @param flags Inpainting method that could be cv::INPAINT_NS or cv::INPAINT_TELEA\n. \n. The function reconstructs the selected image area from the pixel near the area boundary. The\n. function may be used to remove dust and scratches from a scanned photo, or to remove undesirable\n. objects from still images or video. See for more details.\n. \n. @note\n. - An example using the inpainting technique can be found at\n. opencv_source_code/samples/cpp/inpaint.cpp\n. - (Python) An example using the inpainting technique can be found at\n. opencv_source_code/samples/python/inpaint.py' - ... - -def insertChannel(src: Mat, dts: Mat, coi) -> typing.Any: - 'insertChannel(src, dst, coi) -> dst\n. @brief Inserts a single channel to dst (coi is 0-based index)\n. @param src input array\n. @param dst output array\n. @param coi index of channel for insertion\n. @sa mixChannels, merge' - ... - -def integral(src: Mat, sum=..., sdepth=...) -> typing.Any: - 'integral(src[, sum[, sdepth]]) -> sum\n. @overload' - ... - -def integral2(src: Mat, sum=..., sqsum=..., sdepth=..., sqdepth=...) -> typing.Any: - 'integral2(src[, sum[, sqsum[, sdepth[, sqdepth]]]]) -> sum, sqsum\n. @overload' - ... - -def integral3(src: Mat, sum=..., sqsum=..., tilted=..., sdepth=..., sqdepth=...) -> typing.Any: - 'integral3(src[, sum[, sqsum[, tilted[, sdepth[, sqdepth]]]]]) -> sum, sqsum, tilted\n. @brief Calculates the integral of an image.\n. \n. The function calculates one or more integral images for the source image as follows:\n. \n. \\f[\\texttt{sum} (X,Y) = \\sum _{x typing.Any: - "intersectConvexConvex(_p1, _p2[, _p12[, handleNested]]) -> retval, _p12\n. @brief Finds intersection of two convex polygons\n. \n. @param _p1 First polygon\n. @param _p2 Second polygon\n. @param _p12 Output polygon describing the intersecting area\n. @param handleNested When true, an intersection is found if one of the polygons is fully enclosed in the other.\n. When false, no intersection is found. If the polygons share a side or the vertex of one polygon lies on an edge\n. of the other, they are not considered nested and an intersection will be found regardless of the value of handleNested.\n. \n. @returns Absolute value of area of intersecting polygon\n. \n. @note intersectConvexConvex doesn't confirm that both polygons are convex and will return invalid results if they aren't." - ... - -def invert(src: Mat, dts: Mat = ..., flags: int = ...) -> typing.Any: - 'invert(src[, dst[, flags]]) -> retval, dst\n. @brief Finds the inverse or pseudo-inverse of a matrix.\n. \n. The function cv::invert inverts the matrix src and stores the result in dst\n. . When the matrix src is singular or non-square, the function calculates\n. the pseudo-inverse matrix (the dst matrix) so that norm(src\\*dst - I) is\n. minimal, where I is an identity matrix.\n. \n. In case of the #DECOMP_LU method, the function returns non-zero value if\n. the inverse has been successfully calculated and 0 if src is singular.\n. \n. In case of the #DECOMP_SVD method, the function returns the inverse\n. condition number of src (the ratio of the smallest singular value to the\n. largest singular value) and 0 if src is singular. The SVD method\n. calculates a pseudo-inverse matrix if src is singular.\n. \n. Similarly to #DECOMP_LU, the method #DECOMP_CHOLESKY works only with\n. non-singular square matrices that should also be symmetrical and\n. positively defined. In this case, the function stores the inverted\n. matrix in dst and returns non-zero. Otherwise, it returns 0.\n. \n. @param src input floating-point M x N matrix.\n. @param dst output matrix of N x M size and the same type as src.\n. @param flags inversion method (cv::DecompTypes)\n. @sa solve, SVD' - ... - -def invertAffineTransform(M, iM=...) -> typing.Any: - 'invertAffineTransform(M[, iM]) -> iM\n. @brief Inverts an affine transformation.\n. \n. The function computes an inverse affine transformation represented by \\f$2 \\times 3\\f$ matrix M:\n. \n. \\f[\\begin{bmatrix} a_{11} & a_{12} & b_1 \\\\ a_{21} & a_{22} & b_2 \\end{bmatrix}\\f]\n. \n. The result is also a \\f$2 \\times 3\\f$ matrix of the same type as M.\n. \n. @param M Original affine transformation.\n. @param iM Output reverse affine transformation.' - ... - -def isContourConvex(contour) -> typing.Any: - 'isContourConvex(contour) -> retval\n. @brief Tests a contour convexity.\n. \n. The function tests whether the input contour is convex or not. The contour must be simple, that is,\n. without self-intersections. Otherwise, the function output is undefined.\n. \n. @param contour Input vector of 2D points, stored in std::vector\\<\\> or Mat' - ... - -def kmeans(data, K, bestLabels, criteria, attempts, flags: int, centers=...) -> typing.Any: - 'kmeans(data, K, bestLabels, criteria, attempts, flags[, centers]) -> retval, bestLabels, centers\n. @brief Finds centers of clusters and groups input samples around the clusters.\n. \n. The function kmeans implements a k-means algorithm that finds the centers of cluster_count clusters\n. and groups the input samples around the clusters. As an output, \\f$\\texttt{bestLabels}_i\\f$ contains a\n. 0-based cluster index for the sample stored in the \\f$i^{th}\\f$ row of the samples matrix.\n. \n. @note\n. - (Python) An example on K-means clustering can be found at\n. opencv_source_code/samples/python/kmeans.py\n. @param data Data for clustering. An array of N-Dimensional points with float coordinates is needed.\n. Examples of this array can be:\n. - Mat points(count, 2, CV_32F);\n. - Mat points(count, 1, CV_32FC2);\n. - Mat points(1, count, CV_32FC2);\n. - std::vector\\ points(sampleCount);\n. @param K Number of clusters to split the set by.\n. @param bestLabels Input/output integer array that stores the cluster indices for every sample.\n. @param criteria The algorithm termination criteria, that is, the maximum number of iterations and/or\n. the desired accuracy. The accuracy is specified as criteria.epsilon. As soon as each of the cluster\n. centers moves by less than criteria.epsilon on some iteration, the algorithm stops.\n. @param attempts Flag to specify the number of times the algorithm is executed using different\n. initial labellings. The algorithm returns the labels that yield the best compactness (see the last\n. function parameter).\n. @param flags Flag that can take values of cv::KmeansFlags\n. @param centers Output matrix of the cluster centers, one row per each cluster center.\n. @return The function returns the compactness measure that is computed as\n. \\f[\\sum _i \\| \\texttt{samples} _i - \\texttt{centers} _{ \\texttt{labels} _i} \\| ^2\\f]\n. after every attempt. The best (minimum) value is chosen and the corresponding labels and the\n. compactness value are returned by the function. Basically, you can use only the core of the\n. function, set the number of attempts to 1, initialize labels each time using a custom algorithm,\n. pass them with the ( flags = #KMEANS_USE_INITIAL_LABELS ) flag, and then choose the best\n. (most-compact) clustering.' - ... - -def line(img: Mat, pt1, pt2, color, thickness=..., lineType=..., shift=...) -> typing.Any: - 'line(img, pt1, pt2, color[, thickness[, lineType[, shift]]]) -> img\n. @brief Draws a line segment connecting two points.\n. \n. The function line draws the line segment between pt1 and pt2 points in the image. The line is\n. clipped by the image boundaries. For non-antialiased lines with integer coordinates, the 8-connected\n. or 4-connected Bresenham algorithm is used. Thick lines are drawn with rounding endings. Antialiased\n. lines are drawn using Gaussian filtering.\n. \n. @param img Image.\n. @param pt1 First point of the line segment.\n. @param pt2 Second point of the line segment.\n. @param color Line color.\n. @param thickness Line thickness.\n. @param lineType Type of the line. See #LineTypes.\n. @param shift Number of fractional bits in the point coordinates.' - ... - -def linearPolar(src: Mat, center, maxRadius, flags: int, dts: Mat = ...) -> typing.Any: - 'linearPolar(src, center, maxRadius, flags[, dst]) -> dst\n. @brief Remaps an image to polar coordinates space.\n. \n. @deprecated This function produces same result as cv::warpPolar(src, dst, src.size(), center, maxRadius, flags)\n. \n. @internal\n. Transform the source image using the following transformation (See @ref polar_remaps_reference_image "Polar remaps reference image c)"):\n. \\f[\\begin{array}{l}\n. dst( \\rho , \\phi ) = src(x,y) \\\\\n. dst.size() \\leftarrow src.size()\n. \\end{array}\\f]\n. \n. where\n. \\f[\\begin{array}{l}\n. I = (dx,dy) = (x - center.x,y - center.y) \\\\\n. \\rho = Kmag \\cdot \\texttt{magnitude} (I) ,\\\\\n. \\phi = angle \\cdot \\texttt{angle} (I)\n. \\end{array}\\f]\n. \n. and\n. \\f[\\begin{array}{l}\n. Kx = src.cols / maxRadius \\\\\n. Ky = src.rows / 2\\Pi\n. \\end{array}\\f]\n. \n. \n. @param src Source image\n. @param dst Destination image. It will have same size and type as src.\n. @param center The transformation center;\n. @param maxRadius The radius of the bounding circle to transform. It determines the inverse magnitude scale parameter too.\n. @param flags A combination of interpolation methods, see #InterpolationFlags\n. \n. @note\n. - The function can not operate in-place.\n. - To calculate magnitude and angle in degrees #cartToPolar is used internally thus angles are measured from 0 to 360 with accuracy about 0.3 degrees.\n. \n. @sa cv::logPolar\n. @endinternal' - ... - -def log(src: Mat, dts: Mat = ...) -> typing.Any: - 'log(src[, dst]) -> dst\n. @brief Calculates the natural logarithm of every array element.\n. \n. The function cv::log calculates the natural logarithm of every element of the input array:\n. \\f[\\texttt{dst} (I) = \\log (\\texttt{src}(I)) \\f]\n. \n. Output on zero, negative and special (NaN, Inf) values is undefined.\n. \n. @param src input array.\n. @param dst output array of the same size and type as src .\n. @sa exp, cartToPolar, polarToCart, phase, pow, sqrt, magnitude' - ... - -def logPolar(src: Mat, center, M, flags: int, dts: Mat = ...) -> typing.Any: - 'logPolar(src, center, M, flags[, dst]) -> dst\n. @brief Remaps an image to semilog-polar coordinates space.\n. \n. @deprecated This function produces same result as cv::warpPolar(src, dst, src.size(), center, maxRadius, flags+WARP_POLAR_LOG);\n. \n. @internal\n. Transform the source image using the following transformation (See @ref polar_remaps_reference_image "Polar remaps reference image d)"):\n. \\f[\\begin{array}{l}\n. dst( \\rho , \\phi ) = src(x,y) \\\\\n. dst.size() \\leftarrow src.size()\n. \\end{array}\\f]\n. \n. where\n. \\f[\\begin{array}{l}\n. I = (dx,dy) = (x - center.x,y - center.y) \\\\\n. \\rho = M \\cdot log_e(\\texttt{magnitude} (I)) ,\\\\\n. \\phi = Kangle \\cdot \\texttt{angle} (I) \\\\\n. \\end{array}\\f]\n. \n. and\n. \\f[\\begin{array}{l}\n. M = src.cols / log_e(maxRadius) \\\\\n. Kangle = src.rows / 2\\Pi \\\\\n. \\end{array}\\f]\n. \n. The function emulates the human "foveal" vision and can be used for fast scale and\n. rotation-invariant template matching, for object tracking and so forth.\n. @param src Source image\n. @param dst Destination image. It will have same size and type as src.\n. @param center The transformation center; where the output precision is maximal\n. @param M Magnitude scale parameter. It determines the radius of the bounding circle to transform too.\n. @param flags A combination of interpolation methods, see #InterpolationFlags\n. \n. @note\n. - The function can not operate in-place.\n. - To calculate magnitude and angle in degrees #cartToPolar is used internally thus angles are measured from 0 to 360 with accuracy about 0.3 degrees.\n. \n. @sa cv::linearPolar\n. @endinternal' - ... - -def magnitude(x, y, magnitude=...) -> typing.Any: - 'magnitude(x, y[, magnitude]) -> magnitude\n. @brief Calculates the magnitude of 2D vectors.\n. \n. The function cv::magnitude calculates the magnitude of 2D vectors formed\n. from the corresponding elements of x and y arrays:\n. \\f[\\texttt{dst} (I) = \\sqrt{\\texttt{x}(I)^2 + \\texttt{y}(I)^2}\\f]\n. @param x floating-point array of x-coordinates of the vectors.\n. @param y floating-point array of y-coordinates of the vectors; it must\n. have the same size as x.\n. @param magnitude output array of the same size and type as x.\n. @sa cartToPolar, polarToCart, phase, sqrt' - ... - -def matMulDeriv(A, B, dABdA=..., dABdB=...) -> typing.Any: - 'matMulDeriv(A, B[, dABdA[, dABdB]]) -> dABdA, dABdB\n. @brief Computes partial derivatives of the matrix product for each multiplied matrix.\n. \n. @param A First multiplied matrix.\n. @param B Second multiplied matrix.\n. @param dABdA First output derivative matrix d(A\\*B)/dA of size\n. \\f$\\texttt{A.rows*B.cols} \\times {A.rows*A.cols}\\f$ .\n. @param dABdB Second output derivative matrix d(A\\*B)/dB of size\n. \\f$\\texttt{A.rows*B.cols} \\times {B.rows*B.cols}\\f$ .\n. \n. The function computes partial derivatives of the elements of the matrix product \\f$A*B\\f$ with regard to\n. the elements of each of the two input matrices. The function is used to compute the Jacobian\n. matrices in stereoCalibrate but can also be used in any other similar optimization function.' - ... - -def matchShapes(contour1, contour2, method: int, parameter) -> typing.Any: - 'matchShapes(contour1, contour2, method, parameter) -> retval\n. @brief Compares two shapes.\n. \n. The function compares two shapes. All three implemented methods use the Hu invariants (see #HuMoments)\n. \n. @param contour1 First contour or grayscale image.\n. @param contour2 Second contour or grayscale image.\n. @param method Comparison method, see #ShapeMatchModes\n. @param parameter Method-specific parameter (not supported now).' - ... - -def matchTemplate(image: Mat, templ: Mat, method: int, result: Mat = ..., mask: typing.Optional[Mat] = ...) -> Mat: - "matchTemplate(image, templ, method[, result[, mask]]) -> result\n. @brief Compares a template against overlapped image regions.\n. \n. The function slides through image , compares the overlapped patches of size \\f$w \\times h\\f$ against\n. templ using the specified method and stores the comparison results in result . #TemplateMatchModes\n. describes the formulae for the available comparison methods ( \\f$I\\f$ denotes image, \\f$T\\f$\n. template, \\f$R\\f$ result, \\f$M\\f$ the optional mask ). The summation is done over template and/or\n. the image patch: \\f$x' = 0...w-1, y' = 0...h-1\\f$\n. \n. After the function finishes the comparison, the best matches can be found as global minimums (when\n. #TM_SQDIFF was used) or maximums (when #TM_CCORR or #TM_CCOEFF was used) using the\n. #minMaxLoc function. In case of a color image, template summation in the numerator and each sum in\n. the denominator is done over all of the channels and separate mean values are used for each channel.\n. That is, the function can take a color template and a color image. The result will still be a\n. single-channel image, which is easier to analyze.\n. \n. @param image Image where the search is running. It must be 8-bit or 32-bit floating-point.\n. @param templ Searched template. It must be not greater than the source image and have the same\n. data type.\n. @param result Map of comparison results. It must be single-channel 32-bit floating-point. If image\n. is \\f$W \\times H\\f$ and templ is \\f$w \\times h\\f$ , then result is \\f$(W-w+1) \\times (H-h+1)\\f$ .\n. @param method Parameter specifying the comparison method, see #TemplateMatchModes\n. @param mask Optional mask. It must have the same size as templ. It must either have the same number\n. of channels as template or only one channel, which is then used for all template and\n. image channels. If the data type is #CV_8U, the mask is interpreted as a binary mask,\n. meaning only elements where mask is nonzero are used and are kept unchanged independent\n. of the actual mask value (weight equals 1). For data tpye #CV_32F, the mask values are\n. used as weights. The exact formulas are documented in #TemplateMatchModes." - ... - -def max(src1: Mat, src2: Mat, dts: Mat = ...) -> typing.Any: - 'max(src1, src2[, dst]) -> dst\n. @brief Calculates per-element maximum of two arrays or an array and a scalar.\n. \n. The function cv::max calculates the per-element maximum of two arrays:\n. \\f[\\texttt{dst} (I)= \\max ( \\texttt{src1} (I), \\texttt{src2} (I))\\f]\n. or array and a scalar:\n. \\f[\\texttt{dst} (I)= \\max ( \\texttt{src1} (I), \\texttt{value} )\\f]\n. @param src1 first input array.\n. @param src2 second input array of the same size and type as src1 .\n. @param dst output array of the same size and type as src1.\n. @sa min, compare, inRange, minMaxLoc, @ref MatrixExpressions' - ... - -def mean(src: Mat, mask: Mat = ...) -> typing.Any: - "mean(src[, mask]) -> retval\n. @brief Calculates an average (mean) of array elements.\n. \n. The function cv::mean calculates the mean value M of array elements,\n. independently for each channel, and return it:\n. \\f[\\begin{array}{l} N = \\sum _{I: \\; \\texttt{mask} (I) \\ne 0} 1 \\\\ M_c = \\left ( \\sum _{I: \\; \\texttt{mask} (I) \\ne 0}{ \\texttt{mtx} (I)_c} \\right )/N \\end{array}\\f]\n. When all the mask elements are 0's, the function returns Scalar::all(0)\n. @param src input array that should have from 1 to 4 channels so that the result can be stored in\n. Scalar_ .\n. @param mask optional operation mask.\n. @sa countNonZero, meanStdDev, norm, minMaxLoc" - ... - -def meanShift(probImage, window, criteria) -> typing.Any: - 'meanShift(probImage, window, criteria) -> retval, window\n. @brief Finds an object on a back projection image.\n. \n. @param probImage Back projection of the object histogram. See calcBackProject for details.\n. @param window Initial search window.\n. @param criteria Stop criteria for the iterative search algorithm.\n. returns\n. : Number of iterations CAMSHIFT took to converge.\n. The function implements the iterative object search algorithm. It takes the input back projection of\n. an object and the initial position. The mass center in window of the back projection image is\n. computed and the search window center shifts to the mass center. The procedure is repeated until the\n. specified number of iterations criteria.maxCount is done or until the window center shifts by less\n. than criteria.epsilon. The algorithm is used inside CamShift and, unlike CamShift , the search\n. window size or orientation do not change during the search. You can simply pass the output of\n. calcBackProject to this function. But better results can be obtained if you pre-filter the back\n. projection and remove the noise. For example, you can do this by retrieving connected components\n. with findContours , throwing away contours with small area ( contourArea ), and rendering the\n. remaining contours with drawContours.' - ... - -def meanStdDev(src: Mat, mean=..., stddev=..., mask: Mat = ...) -> typing.Any: - "meanStdDev(src[, mean[, stddev[, mask]]]) -> mean, stddev\n. Calculates a mean and standard deviation of array elements.\n. \n. The function cv::meanStdDev calculates the mean and the standard deviation M\n. of array elements independently for each channel and returns it via the\n. output parameters:\n. \\f[\\begin{array}{l} N = \\sum _{I, \\texttt{mask} (I) \\ne 0} 1 \\\\ \\texttt{mean} _c = \\frac{\\sum_{ I: \\; \\texttt{mask}(I) \\ne 0} \\texttt{src} (I)_c}{N} \\\\ \\texttt{stddev} _c = \\sqrt{\\frac{\\sum_{ I: \\; \\texttt{mask}(I) \\ne 0} \\left ( \\texttt{src} (I)_c - \\texttt{mean} _c \\right )^2}{N}} \\end{array}\\f]\n. When all the mask elements are 0's, the function returns\n. mean=stddev=Scalar::all(0).\n. @note The calculated standard deviation is only the diagonal of the\n. complete normalized covariance matrix. If the full matrix is needed, you\n. can reshape the multi-channel array M x N to the single-channel array\n. M\\*N x mtx.channels() (only possible when the matrix is continuous) and\n. then pass the matrix to calcCovarMatrix .\n. @param src input array that should have from 1 to 4 channels so that the results can be stored in\n. Scalar_ 's.\n. @param mean output parameter: calculated mean value.\n. @param stddev output parameter: calculated standard deviation.\n. @param mask optional operation mask.\n. @sa countNonZero, mean, norm, minMaxLoc, calcCovarMatrix" - ... - -def medianBlur(src: Mat, ksize, dts: Mat = ...) -> typing.Any: - 'medianBlur(src, ksize[, dst]) -> dst\n. @brief Blurs an image using the median filter.\n. \n. The function smoothes an image using the median filter with the \\f$\\texttt{ksize} \\times\n. \\texttt{ksize}\\f$ aperture. Each channel of a multi-channel image is processed independently.\n. In-place operation is supported.\n. \n. @note The median filter uses #BORDER_REPLICATE internally to cope with border pixels, see #BorderTypes\n. \n. @param src input 1-, 3-, or 4-channel image; when ksize is 3 or 5, the image depth should be\n. CV_8U, CV_16U, or CV_32F, for larger aperture sizes, it can only be CV_8U.\n. @param dst destination array of the same size and type as src.\n. @param ksize aperture linear size; it must be odd and greater than 1, for example: 3, 5, 7 ...\n. @sa bilateralFilter, blur, boxFilter, GaussianBlur' - ... - -def merge(mv, dts: Mat = ...) -> typing.Any: - 'merge(mv[, dst]) -> dst\n. @overload\n. @param mv input vector of matrices to be merged; all the matrices in mv must have the same\n. size and the same depth.\n. @param dst output array of the same size and the same depth as mv[0]; The number of channels will\n. be the total number of channels in the matrix array.' - ... - -def min(src1: Mat, src2: Mat, dts: Mat = ...) -> typing.Any: - 'min(src1, src2[, dst]) -> dst\n. @brief Calculates per-element minimum of two arrays or an array and a scalar.\n. \n. The function cv::min calculates the per-element minimum of two arrays:\n. \\f[\\texttt{dst} (I)= \\min ( \\texttt{src1} (I), \\texttt{src2} (I))\\f]\n. or array and a scalar:\n. \\f[\\texttt{dst} (I)= \\min ( \\texttt{src1} (I), \\texttt{value} )\\f]\n. @param src1 first input array.\n. @param src2 second input array of the same size and type as src1.\n. @param dst output array of the same size and type as src1.\n. @sa max, compare, inRange, minMaxLoc' - ... - -def minAreaRect(points) -> typing.Any: - 'minAreaRect(points) -> retval\n. @brief Finds a rotated rectangle of the minimum area enclosing the input 2D point set.\n. \n. The function calculates and returns the minimum-area bounding rectangle (possibly rotated) for a\n. specified point set. Developer should keep in mind that the returned RotatedRect can contain negative\n. indices when data is close to the containing Mat element boundary.\n. \n. @param points Input vector of 2D points, stored in std::vector\\<\\> or Mat' - ... - -def minEnclosingCircle(points) -> typing.Any: - 'minEnclosingCircle(points) -> center, radius\n. @brief Finds a circle of the minimum area enclosing a 2D point set.\n. \n. The function finds the minimal enclosing circle of a 2D point set using an iterative algorithm.\n. \n. @param points Input vector of 2D points, stored in std::vector\\<\\> or Mat\n. @param center Output center of the circle.\n. @param radius Output radius of the circle.' - ... - -def minEnclosingTriangle(points, triangle=...) -> typing.Any: - "minEnclosingTriangle(points[, triangle]) -> retval, triangle\n. @brief Finds a triangle of minimum area enclosing a 2D point set and returns its area.\n. \n. The function finds a triangle of minimum area enclosing the given set of 2D points and returns its\n. area. The output for a given 2D point set is shown in the image below. 2D points are depicted in\n. *red* and the enclosing triangle in *yellow*.\n. \n. ![Sample output of the minimum enclosing triangle function](pics/minenclosingtriangle.png)\n. \n. The implementation of the algorithm is based on O'Rourke's @cite ORourke86 and Klee and Laskowski's\n. @cite KleeLaskowski85 papers. O'Rourke provides a \\f$\\theta(n)\\f$ algorithm for finding the minimal\n. enclosing triangle of a 2D convex polygon with n vertices. Since the #minEnclosingTriangle function\n. takes a 2D point set as input an additional preprocessing step of computing the convex hull of the\n. 2D point set is required. The complexity of the #convexHull function is \\f$O(n log(n))\\f$ which is higher\n. than \\f$\\theta(n)\\f$. Thus the overall complexity of the function is \\f$O(n log(n))\\f$.\n. \n. @param points Input vector of 2D points with depth CV_32S or CV_32F, stored in std::vector\\<\\> or Mat\n. @param triangle Output vector of three 2D points defining the vertices of the triangle. The depth\n. of the OutputArray must be CV_32F." - ... - -def minMaxLoc(src: Mat, mask: Mat = ...) -> typing.Tuple[float, float, typing.Tuple[int, int], typing.Tuple[int, int]]: - 'minMaxLoc(src[, mask]) -> minVal, maxVal, minLoc, maxLoc\n. @brief Finds the global minimum and maximum in an array.\n. \n. The function cv::minMaxLoc finds the minimum and maximum element values and their positions. The\n. extremums are searched across the whole array or, if mask is not an empty array, in the specified\n. array region.\n. \n. The function do not work with multi-channel arrays. If you need to find minimum or maximum\n. elements across all the channels, use Mat::reshape first to reinterpret the array as\n. single-channel. Or you may extract the particular channel using either extractImageCOI , or\n. mixChannels , or split .\n. @param src input single-channel array.\n. @param minVal pointer to the returned minimum value; NULL is used if not required.\n. @param maxVal pointer to the returned maximum value; NULL is used if not required.\n. @param minLoc pointer to the returned minimum location (in 2D case); NULL is used if not required.\n. @param maxLoc pointer to the returned maximum location (in 2D case); NULL is used if not required.\n. @param mask optional mask used to select a sub-array.\n. @sa max, min, compare, inRange, extractImageCOI, mixChannels, split, Mat::reshape' - ... - -def mixChannels(src: Mat, dts: Mat, fromTo) -> typing.Any: - 'mixChannels(src, dst, fromTo) -> dst\n. @overload\n. @param src input array or vector of matrices; all of the matrices must have the same size and the\n. same depth.\n. @param dst output array or vector of matrices; all the matrices **must be allocated**; their size and\n. depth must be the same as in src[0].\n. @param fromTo array of index pairs specifying which channels are copied and where; fromTo[k\\*2] is\n. a 0-based index of the input channel in src, fromTo[k\\*2+1] is an index of the output channel in\n. dst; the continuous channel numbering is used: the first input image channels are indexed from 0 to\n. src[0].channels()-1, the second input image channels are indexed from src[0].channels() to\n. src[0].channels() + src[1].channels()-1, and so on, the same scheme is used for the output image\n. channels; as a special case, when fromTo[k\\*2] is negative, the corresponding output channel is\n. filled with zero .' - ... - -ml_ANN_MLP = _mod_cv2.ml_ANN_MLP -ml_Boost = _mod_cv2.ml_Boost -ml_DTrees = _mod_cv2.ml_DTrees -ml_EM = _mod_cv2.ml_EM -ml_KNearest = _mod_cv2.ml_KNearest -ml_LogisticRegression = _mod_cv2.ml_LogisticRegression -ml_NormalBayesClassifier = _mod_cv2.ml_NormalBayesClassifier -ml_ParamGrid = _mod_cv2.ml_ParamGrid -ml_RTrees = _mod_cv2.ml_RTrees -ml_SVM = _mod_cv2.ml_SVM -ml_SVMSGD = _mod_cv2.ml_SVMSGD -ml_StatModel = _mod_cv2.ml_StatModel -ml_TrainData = _mod_cv2.ml_TrainData -def moments(array, binaryImage=...) -> typing.Any: - "moments(array[, binaryImage]) -> retval\n. @brief Calculates all of the moments up to the third order of a polygon or rasterized shape.\n. \n. The function computes moments, up to the 3rd order, of a vector shape or a rasterized shape. The\n. results are returned in the structure cv::Moments.\n. \n. @param array Raster image (single-channel, 8-bit or floating-point 2D array) or an array (\n. \\f$1 \\times N\\f$ or \\f$N \\times 1\\f$ ) of 2D points (Point or Point2f ).\n. @param binaryImage If it is true, all non-zero image pixels are treated as 1's. The parameter is\n. used for images only.\n. @returns moments.\n. \n. @note Only applicable to contour moments calculations from Python bindings: Note that the numpy\n. type for the input array should be either np.int32 or np.float32.\n. \n. @sa contourArea, arcLength" - ... - -def morphologyEx(src: Mat, op, kernel, dts: Mat = ..., anchor=..., iterations=..., borderType=..., borderValue=...) -> typing.Any: - 'morphologyEx(src, op, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]]) -> dst\n. @brief Performs advanced morphological transformations.\n. \n. The function cv::morphologyEx can perform advanced morphological transformations using an erosion and dilation as\n. basic operations.\n. \n. Any of the operations can be done in-place. In case of multi-channel images, each channel is\n. processed independently.\n. \n. @param src Source image. The number of channels can be arbitrary. The depth should be one of\n. CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.\n. @param dst Destination image of the same size and type as source image.\n. @param op Type of a morphological operation, see #MorphTypes\n. @param kernel Structuring element. It can be created using #getStructuringElement.\n. @param anchor Anchor position with the kernel. Negative values mean that the anchor is at the\n. kernel center.\n. @param iterations Number of times erosion and dilation are applied.\n. @param borderType Pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not supported.\n. @param borderValue Border value in case of a constant border. The default value has a special\n. meaning.\n. @sa dilate, erode, getStructuringElement\n. @note The number of iterations is the number of times erosion or dilatation operation will be applied.\n. For instance, an opening operation (#MORPH_OPEN) with two iterations is equivalent to apply\n. successively: erode -> erode -> dilate -> dilate (and not erode -> dilate -> erode -> dilate).' - ... - -def moveWindow(winname, x, y) -> typing.Any: - 'moveWindow(winname, x, y) -> None\n. @brief Moves window to the specified position\n. \n. @param winname Name of the window.\n. @param x The new x-coordinate of the window.\n. @param y The new y-coordinate of the window.' - ... - -def mulSpectrums(a, b, flags: int, c=..., conjB=...) -> typing.Any: - 'mulSpectrums(a, b, flags[, c[, conjB]]) -> c\n. @brief Performs the per-element multiplication of two Fourier spectrums.\n. \n. The function cv::mulSpectrums performs the per-element multiplication of the two CCS-packed or complex\n. matrices that are results of a real or complex Fourier transform.\n. \n. The function, together with dft and idft , may be used to calculate convolution (pass conjB=false )\n. or correlation (pass conjB=true ) of two arrays rapidly. When the arrays are complex, they are\n. simply multiplied (per element) with an optional conjugation of the second-array elements. When the\n. arrays are real, they are assumed to be CCS-packed (see dft for details).\n. @param a first input array.\n. @param b second input array of the same size and type as src1 .\n. @param c output array of the same size and type as src1 .\n. @param flags operation flags; currently, the only supported flag is cv::DFT_ROWS, which indicates that\n. each row of src1 and src2 is an independent 1D Fourier spectrum. If you do not want to use this flag, then simply add a `0` as value.\n. @param conjB optional flag that conjugates the second input array before the multiplication (true)\n. or not (false).' - ... - -def mulTransposed(src: Mat, aTa, dts: Mat = ..., delta=..., scale=..., dtype=...) -> typing.Any: - 'mulTransposed(src, aTa[, dst[, delta[, scale[, dtype]]]]) -> dst\n. @brief Calculates the product of a matrix and its transposition.\n. \n. The function cv::mulTransposed calculates the product of src and its\n. transposition:\n. \\f[\\texttt{dst} = \\texttt{scale} ( \\texttt{src} - \\texttt{delta} )^T ( \\texttt{src} - \\texttt{delta} )\\f]\n. if aTa=true , and\n. \\f[\\texttt{dst} = \\texttt{scale} ( \\texttt{src} - \\texttt{delta} ) ( \\texttt{src} - \\texttt{delta} )^T\\f]\n. otherwise. The function is used to calculate the covariance matrix. With\n. zero delta, it can be used as a faster substitute for general matrix\n. product A\\*B when B=A\'\n. @param src input single-channel matrix. Note that unlike gemm, the\n. function can multiply not only floating-point matrices.\n. @param dst output square matrix.\n. @param aTa Flag specifying the multiplication ordering. See the\n. description below.\n. @param delta Optional delta matrix subtracted from src before the\n. multiplication. When the matrix is empty ( delta=noArray() ), it is\n. assumed to be zero, that is, nothing is subtracted. If it has the same\n. size as src , it is simply subtracted. Otherwise, it is "repeated" (see\n. repeat ) to cover the full src and then subtracted. Type of the delta\n. matrix, when it is not empty, must be the same as the type of created\n. output matrix. See the dtype parameter description below.\n. @param scale Optional scale factor for the matrix product.\n. @param dtype Optional type of the output matrix. When it is negative,\n. the output matrix will have the same type as src . Otherwise, it will be\n. type=CV_MAT_DEPTH(dtype) that should be either CV_32F or CV_64F .\n. @sa calcCovarMatrix, gemm, repeat, reduce' - ... - -def multiply(src1: Mat, src2: Mat, dts: Mat = ..., scale=..., dtype=...) -> typing.Any: - 'multiply(src1, src2[, dst[, scale[, dtype]]]) -> dst\n. @brief Calculates the per-element scaled product of two arrays.\n. \n. The function multiply calculates the per-element product of two arrays:\n. \n. \\f[\\texttt{dst} (I)= \\texttt{saturate} ( \\texttt{scale} \\cdot \\texttt{src1} (I) \\cdot \\texttt{src2} (I))\\f]\n. \n. There is also a @ref MatrixExpressions -friendly variant of the first function. See Mat::mul .\n. \n. For a not-per-element matrix product, see gemm .\n. \n. @note Saturation is not applied when the output array has the depth\n. CV_32S. You may even get result of an incorrect sign in the case of\n. overflow.\n. @param src1 first input array.\n. @param src2 second input array of the same size and the same type as src1.\n. @param dst output array of the same size and type as src1.\n. @param scale optional scale factor.\n. @param dtype optional depth of the output array\n. @sa add, subtract, divide, scaleAdd, addWeighted, accumulate, accumulateProduct, accumulateSquare,\n. Mat::convertTo' - ... - -def namedWindow(winname, flags: int = ...) -> typing.Any: - 'namedWindow(winname[, flags]) -> None\n. @brief Creates a window.\n. \n. The function namedWindow creates a window that can be used as a placeholder for images and\n. trackbars. Created windows are referred to by their names.\n. \n. If a window with the same name already exists, the function does nothing.\n. \n. You can call cv::destroyWindow or cv::destroyAllWindows to close the window and de-allocate any associated\n. memory usage. For a simple program, you do not really have to call these functions because all the\n. resources and windows of the application are closed automatically by the operating system upon exit.\n. \n. @note\n. \n. Qt backend supports additional flags:\n. - **WINDOW_NORMAL or WINDOW_AUTOSIZE:** WINDOW_NORMAL enables you to resize the\n. window, whereas WINDOW_AUTOSIZE adjusts automatically the window size to fit the\n. displayed image (see imshow ), and you cannot change the window size manually.\n. - **WINDOW_FREERATIO or WINDOW_KEEPRATIO:** WINDOW_FREERATIO adjusts the image\n. with no respect to its ratio, whereas WINDOW_KEEPRATIO keeps the image ratio.\n. - **WINDOW_GUI_NORMAL or WINDOW_GUI_EXPANDED:** WINDOW_GUI_NORMAL is the old way to draw the window\n. without statusbar and toolbar, whereas WINDOW_GUI_EXPANDED is a new enhanced GUI.\n. By default, flags == WINDOW_AUTOSIZE | WINDOW_KEEPRATIO | WINDOW_GUI_EXPANDED\n. \n. @param winname Name of the window in the window caption that may be used as a window identifier.\n. @param flags Flags of the window. The supported flags are: (cv::WindowFlags)' - ... - -def norm(src1: Mat, src2: Mat, normType: int = ..., mask: Mat = ...) -> float: - 'norm(src1, src2[, normType[, mask]]) -> retval\n. @brief Calculates the absolute norm of an array.\n. \n. This version of #norm calculates the absolute norm of src1. The type of norm to calculate is specified using #NormTypes.\n. \n. As example for one array consider the function \\f$r(x)= \\begin{pmatrix} x \\\\ 1-x \\end{pmatrix}, x \\in [-1;1]\\f$.\n. The \\f$ L_{1}, L_{2} \\f$ and \\f$ L_{\\infty} \\f$ norm for the sample value \\f$r(-1) = \\begin{pmatrix} -1 \\\\ 2 \\end{pmatrix}\\f$\n. is calculated as follows\n. \\f{align*}\n. \\| r(-1) \\|_{L_1} &= |-1| + |2| = 3 \\\\\n. \\| r(-1) \\|_{L_2} &= \\sqrt{(-1)^{2} + (2)^{2}} = \\sqrt{5} \\\\\n. \\| r(-1) \\|_{L_\\infty} &= \\max(|-1|,|2|) = 2\n. \\f}\n. and for \\f$r(0.5) = \\begin{pmatrix} 0.5 \\\\ 0.5 \\end{pmatrix}\\f$ the calculation is\n. \\f{align*}\n. \\| r(0.5) \\|_{L_1} &= |0.5| + |0.5| = 1 \\\\\n. \\| r(0.5) \\|_{L_2} &= \\sqrt{(0.5)^{2} + (0.5)^{2}} = \\sqrt{0.5} \\\\\n. \\| r(0.5) \\|_{L_\\infty} &= \\max(|0.5|,|0.5|) = 0.5.\n. \\f}\n. The following graphic shows all values for the three norm functions \\f$\\| r(x) \\|_{L_1}, \\| r(x) \\|_{L_2}\\f$ and \\f$\\| r(x) \\|_{L_\\infty}\\f$.\n. It is notable that the \\f$ L_{1} \\f$ norm forms the upper and the \\f$ L_{\\infty} \\f$ norm forms the lower border for the example function \\f$ r(x) \\f$.\n. ![Graphs for the different norm functions from the above example](pics/NormTypes_OneArray_1-2-INF.png)\n. \n. When the mask parameter is specified and it is not empty, the norm is\n. \n. If normType is not specified, #NORM_L2 is used.\n. calculated only over the region specified by the mask.\n. \n. Multi-channel input arrays are treated as single-channel arrays, that is,\n. the results for all channels are combined.\n. \n. Hamming norms can only be calculated with CV_8U depth arrays.\n. \n. @param src1 first input array.\n. @param normType type of the norm (see #NormTypes).\n. @param mask optional operation mask; it must have the same size as src1 and CV_8UC1 type.\n\n\n\nnorm(src1, src2[, normType[, mask]]) -> retval\n. @brief Calculates an absolute difference norm or a relative difference norm.\n. \n. This version of cv::norm calculates the absolute difference norm\n. or the relative difference norm of arrays src1 and src2.\n. The type of norm to calculate is specified using #NormTypes.\n. \n. @param src1 first input array.\n. @param src2 second input array of the same size and the same type as src1.\n. @param normType type of the norm (see #NormTypes).\n. @param mask optional operation mask; it must have the same size as src1 and CV_8UC1 type.' - ... - -def normalize(src: Mat, dts: Mat, alpha=..., beta=..., normType: int = ..., dtype=..., mask: Mat = ...) -> Mat: - 'normalize(src, dst[, alpha[, beta[, normType[, dtype[, mask]]]]]) -> dst\n. @brief Normalizes the norm or value range of an array.\n. \n. The function cv::normalize normalizes scale and shift the input array elements so that\n. \\f[\\| \\texttt{dst} \\| _{L_p}= \\texttt{alpha}\\f]\n. (where p=Inf, 1 or 2) when normType=NORM_INF, NORM_L1, or NORM_L2, respectively; or so that\n. \\f[\\min _I \\texttt{dst} (I)= \\texttt{alpha} , \\, \\, \\max _I \\texttt{dst} (I)= \\texttt{beta}\\f]\n. \n. when normType=NORM_MINMAX (for dense arrays only). The optional mask specifies a sub-array to be\n. normalized. This means that the norm or min-n-max are calculated over the sub-array, and then this\n. sub-array is modified to be normalized. If you want to only use the mask to calculate the norm or\n. min-max but modify the whole array, you can use norm and Mat::convertTo.\n. \n. In case of sparse matrices, only the non-zero values are analyzed and transformed. Because of this,\n. the range transformation for sparse matrices is not allowed since it can shift the zero level.\n. \n. Possible usage with some positive example data:\n. @code{.cpp}\n. vector positiveData = { 2.0, 8.0, 10.0 };\n. vector normalizedData_l1, normalizedData_l2, normalizedData_inf, normalizedData_minmax;\n. \n. // Norm to probability (total count)\n. // sum(numbers) = 20.0\n. // 2.0 0.1 (2.0/20.0)\n. // 8.0 0.4 (8.0/20.0)\n. // 10.0 0.5 (10.0/20.0)\n. normalize(positiveData, normalizedData_l1, 1.0, 0.0, NORM_L1);\n. \n. // Norm to unit vector: ||positiveData|| = 1.0\n. // 2.0 0.15\n. // 8.0 0.62\n. // 10.0 0.77\n. normalize(positiveData, normalizedData_l2, 1.0, 0.0, NORM_L2);\n. \n. // Norm to max element\n. // 2.0 0.2 (2.0/10.0)\n. // 8.0 0.8 (8.0/10.0)\n. // 10.0 1.0 (10.0/10.0)\n. normalize(positiveData, normalizedData_inf, 1.0, 0.0, NORM_INF);\n. \n. // Norm to range [0.0;1.0]\n. // 2.0 0.0 (shift to left border)\n. // 8.0 0.75 (6.0/8.0)\n. // 10.0 1.0 (shift to right border)\n. normalize(positiveData, normalizedData_minmax, 1.0, 0.0, NORM_MINMAX);\n. @endcode\n. \n. @param src input array.\n. @param dst output array of the same size as src .\n. @param alpha norm value to normalize to or the lower range boundary in case of the range\n. normalization.\n. @param beta upper range boundary in case of the range normalization; it is not used for the norm\n. normalization.\n. @param normType normalization type (see cv::NormTypes).\n. @param dtype when negative, the output array has the same type as src; otherwise, it has the same\n. number of channels as src and the depth =CV_MAT_DEPTH(dtype).\n. @param mask optional operation mask.\n. @sa norm, Mat::convertTo, SparseMat::convertTo' - ... - -ocl_Device = _mod_cv2.ocl_Device -def patchNaNs(a, val=...) -> typing.Any: - "patchNaNs(a[, val]) -> a\n. @brief converts NaN's to the given number" - ... - -def pencilSketch(src: Mat, dts1: Mat = ..., dts2: Mat = ..., sigma_s=..., sigma_r=..., shade_factor=...) -> typing.Any: - 'pencilSketch(src[, dst1[, dst2[, sigma_s[, sigma_r[, shade_factor]]]]]) -> dst1, dst2\n. @brief Pencil-like non-photorealistic line drawing\n. \n. @param src Input 8-bit 3-channel image.\n. @param dst1 Output 8-bit 1-channel image.\n. @param dst2 Output image with the same size and type as src.\n. @param sigma_s %Range between 0 to 200.\n. @param sigma_r %Range between 0 to 1.\n. @param shade_factor %Range between 0 to 0.1.' - ... - -def perspectiveTransform(src: Mat, m, dts: Mat = ...) -> typing.Any: - "perspectiveTransform(src, m[, dst]) -> dst\n. @brief Performs the perspective matrix transformation of vectors.\n. \n. The function cv::perspectiveTransform transforms every element of src by\n. treating it as a 2D or 3D vector, in the following way:\n. \\f[(x, y, z) \\rightarrow (x'/w, y'/w, z'/w)\\f]\n. where\n. \\f[(x', y', z', w') = \\texttt{mat} \\cdot \\begin{bmatrix} x & y & z & 1 \\end{bmatrix}\\f]\n. and\n. \\f[w = \\fork{w'}{if \\(w' \\ne 0\\)}{\\infty}{otherwise}\\f]\n. \n. Here a 3D vector transformation is shown. In case of a 2D vector\n. transformation, the z component is omitted.\n. \n. @note The function transforms a sparse set of 2D or 3D vectors. If you\n. want to transform an image using perspective transformation, use\n. warpPerspective . If you have an inverse problem, that is, you want to\n. compute the most probable perspective transformation out of several\n. pairs of corresponding points, you can use getPerspectiveTransform or\n. findHomography .\n. @param src input two-channel or three-channel floating-point array; each\n. element is a 2D/3D vector to be transformed.\n. @param dst output array of the same size and type as src.\n. @param m 3x3 or 4x4 floating-point transformation matrix.\n. @sa transform, warpPerspective, getPerspectiveTransform, findHomography" - ... - -def phase(x, y, angle=..., angleInDegrees=...) -> typing.Any: - 'phase(x, y[, angle[, angleInDegrees]]) -> angle\n. @brief Calculates the rotation angle of 2D vectors.\n. \n. The function cv::phase calculates the rotation angle of each 2D vector that\n. is formed from the corresponding elements of x and y :\n. \\f[\\texttt{angle} (I) = \\texttt{atan2} ( \\texttt{y} (I), \\texttt{x} (I))\\f]\n. \n. The angle estimation accuracy is about 0.3 degrees. When x(I)=y(I)=0 ,\n. the corresponding angle(I) is set to 0.\n. @param x input floating-point array of x-coordinates of 2D vectors.\n. @param y input array of y-coordinates of 2D vectors; it must have the\n. same size and the same type as x.\n. @param angle output array of vector angles; it has the same size and\n. same type as x .\n. @param angleInDegrees when true, the function calculates the angle in\n. degrees, otherwise, they are measured in radians.' - ... - -def phaseCorrelate(src1: Mat, src2: Mat, window=...) -> typing.Any: - 'phaseCorrelate(src1, src2[, window]) -> retval, response\n. @brief The function is used to detect translational shifts that occur between two images.\n. \n. The operation takes advantage of the Fourier shift theorem for detecting the translational shift in\n. the frequency domain. It can be used for fast image registration as well as motion estimation. For\n. more information please see \n. \n. Calculates the cross-power spectrum of two supplied source arrays. The arrays are padded if needed\n. with getOptimalDFTSize.\n. \n. The function performs the following equations:\n. - First it applies a Hanning window (see ) to each\n. image to remove possible edge effects. This window is cached until the array size changes to speed\n. up processing time.\n. - Next it computes the forward DFTs of each source array:\n. \\f[\\mathbf{G}_a = \\mathcal{F}\\{src_1\\}, \\; \\mathbf{G}_b = \\mathcal{F}\\{src_2\\}\\f]\n. where \\f$\\mathcal{F}\\f$ is the forward DFT.\n. - It then computes the cross-power spectrum of each frequency domain array:\n. \\f[R = \\frac{ \\mathbf{G}_a \\mathbf{G}_b^*}{|\\mathbf{G}_a \\mathbf{G}_b^*|}\\f]\n. - Next the cross-correlation is converted back into the time domain via the inverse DFT:\n. \\f[r = \\mathcal{F}^{-1}\\{R\\}\\f]\n. - Finally, it computes the peak location and computes a 5x5 weighted centroid around the peak to\n. achieve sub-pixel accuracy.\n. \\f[(\\Delta x, \\Delta y) = \\texttt{weightedCentroid} \\{\\arg \\max_{(x, y)}\\{r\\}\\}\\f]\n. - If non-zero, the response parameter is computed as the sum of the elements of r within the 5x5\n. centroid around the peak location. It is normalized to a maximum of 1 (meaning there is a single\n. peak) and will be smaller when there are multiple peaks.\n. \n. @param src1 Source floating point array (CV_32FC1 or CV_64FC1)\n. @param src2 Source floating point array (CV_32FC1 or CV_64FC1)\n. @param window Floating point array with windowing coefficients to reduce edge effects (optional).\n. @param response Signal power within the 5x5 centroid around the peak, between 0 and 1 (optional).\n. @returns detected phase shift (sub-pixel) between the two arrays.\n. \n. @sa dft, getOptimalDFTSize, idft, mulSpectrums createHanningWindow' - ... - -def pointPolygonTest(contour, pt, measureDist) -> typing.Any: - 'pointPolygonTest(contour, pt, measureDist) -> retval\n. @brief Performs a point-in-contour test.\n. \n. The function determines whether the point is inside a contour, outside, or lies on an edge (or\n. coincides with a vertex). It returns positive (inside), negative (outside), or zero (on an edge)\n. value, correspondingly. When measureDist=false , the return value is +1, -1, and 0, respectively.\n. Otherwise, the return value is a signed distance between the point and the nearest contour edge.\n. \n. See below a sample output of the function where each image pixel is tested against the contour:\n. \n. ![sample output](pics/pointpolygon.png)\n. \n. @param contour Input contour.\n. @param pt Point tested against the contour.\n. @param measureDist If true, the function estimates the signed distance from the point to the\n. nearest contour edge. Otherwise, the function only checks if the point is inside a contour or not.' - ... - -def polarToCart(magnitude, angle, x=..., y=..., angleInDegrees=...) -> typing.Any: - 'polarToCart(magnitude, angle[, x[, y[, angleInDegrees]]]) -> x, y\n. @brief Calculates x and y coordinates of 2D vectors from their magnitude and angle.\n. \n. The function cv::polarToCart calculates the Cartesian coordinates of each 2D\n. vector represented by the corresponding elements of magnitude and angle:\n. \\f[\\begin{array}{l} \\texttt{x} (I) = \\texttt{magnitude} (I) \\cos ( \\texttt{angle} (I)) \\\\ \\texttt{y} (I) = \\texttt{magnitude} (I) \\sin ( \\texttt{angle} (I)) \\\\ \\end{array}\\f]\n. \n. The relative accuracy of the estimated coordinates is about 1e-6.\n. @param magnitude input floating-point array of magnitudes of 2D vectors;\n. it can be an empty matrix (=Mat()), in this case, the function assumes\n. that all the magnitudes are =1; if it is not empty, it must have the\n. same size and type as angle.\n. @param angle input floating-point array of angles of 2D vectors.\n. @param x output array of x-coordinates of 2D vectors; it has the same\n. size and type as angle.\n. @param y output array of y-coordinates of 2D vectors; it has the same\n. size and type as angle.\n. @param angleInDegrees when true, the input angles are measured in\n. degrees, otherwise, they are measured in radians.\n. @sa cartToPolar, magnitude, phase, exp, log, pow, sqrt' - ... - -def polylines(img: Mat, pts, isClosed, color, thickness=..., lineType=..., shift=...) -> typing.Any: - 'polylines(img, pts, isClosed, color[, thickness[, lineType[, shift]]]) -> img\n. @brief Draws several polygonal curves.\n. \n. @param img Image.\n. @param pts Array of polygonal curves.\n. @param isClosed Flag indicating whether the drawn polylines are closed or not. If they are closed,\n. the function draws a line from the last vertex of each curve to its first vertex.\n. @param color Polyline color.\n. @param thickness Thickness of the polyline edges.\n. @param lineType Type of the line segments. See #LineTypes\n. @param shift Number of fractional bits in the vertex coordinates.\n. \n. The function cv::polylines draws one or more polygonal curves.' - ... - -def pow(src: Mat, power, dts: Mat = ...) -> typing.Any: - 'pow(src, power[, dst]) -> dst\n. @brief Raises every array element to a power.\n. \n. The function cv::pow raises every element of the input array to power :\n. \\f[\\texttt{dst} (I) = \\fork{\\texttt{src}(I)^{power}}{if \\(\\texttt{power}\\) is integer}{|\\texttt{src}(I)|^{power}}{otherwise}\\f]\n. \n. So, for a non-integer power exponent, the absolute values of input array\n. elements are used. However, it is possible to get true values for\n. negative values using some extra operations. In the example below,\n. computing the 5th root of array src shows:\n. @code{.cpp}\n. Mat mask = src < 0;\n. pow(src, 1./5, dst);\n. subtract(Scalar::all(0), dst, dst, mask);\n. @endcode\n. For some values of power, such as integer values, 0.5 and -0.5,\n. specialized faster algorithms are used.\n. \n. Special values (NaN, Inf) are not handled.\n. @param src input array.\n. @param power exponent of power.\n. @param dst output array of the same size and type as src.\n. @sa sqrt, exp, log, cartToPolar, polarToCart' - ... - -def preCornerDetect(src: Mat, ksize, dts: Mat = ..., borderType=...) -> typing.Any: - 'preCornerDetect(src, ksize[, dst[, borderType]]) -> dst\n. @brief Calculates a feature map for corner detection.\n. \n. The function calculates the complex spatial derivative-based function of the source image\n. \n. \\f[\\texttt{dst} = (D_x \\texttt{src} )^2 \\cdot D_{yy} \\texttt{src} + (D_y \\texttt{src} )^2 \\cdot D_{xx} \\texttt{src} - 2 D_x \\texttt{src} \\cdot D_y \\texttt{src} \\cdot D_{xy} \\texttt{src}\\f]\n. \n. where \\f$D_x\\f$,\\f$D_y\\f$ are the first image derivatives, \\f$D_{xx}\\f$,\\f$D_{yy}\\f$ are the second image\n. derivatives, and \\f$D_{xy}\\f$ is the mixed derivative.\n. \n. The corners can be found as local maximums of the functions, as shown below:\n. @code\n. Mat corners, dilated_corners;\n. preCornerDetect(image, corners, 3);\n. // dilation with 3x3 rectangular structuring element\n. dilate(corners, dilated_corners, Mat(), 1);\n. Mat corner_mask = corners == dilated_corners;\n. @endcode\n. \n. @param src Source single-channel 8-bit of floating-point image.\n. @param dst Output image that has the type CV_32F and the same size as src .\n. @param ksize %Aperture size of the Sobel .\n. @param borderType Pixel extrapolation method. See #BorderTypes. #BORDER_WRAP is not supported.' - ... - -def projectPoints(objectPoints, rvec, tvec, cameraMatrix, distCoeffs, imagePoints=..., jacobian=..., aspectRatio=...) -> typing.Any: - 'projectPoints(objectPoints, rvec, tvec, cameraMatrix, distCoeffs[, imagePoints[, jacobian[, aspectRatio]]]) -> imagePoints, jacobian\n. @brief Projects 3D points to an image plane.\n. \n. @param objectPoints Array of object points expressed wrt. the world coordinate frame. A 3xN/Nx3\n. 1-channel or 1xN/Nx1 3-channel (or vector\\ ), where N is the number of points in the view.\n. @param rvec The rotation vector (@ref Rodrigues) that, together with tvec, performs a change of\n. basis from world to camera coordinate system, see @ref calibrateCamera for details.\n. @param tvec The translation vector, see parameter description above.\n. @param cameraMatrix Camera matrix \\f$A = \\vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{_1}\\f$ .\n. @param distCoeffs Input vector of distortion coefficients\n. \\f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]])\\f$ of\n. 4, 5, 8, 12 or 14 elements. If the vector is empty, the zero distortion coefficients are assumed.\n. @param imagePoints Output array of image points, 1xN/Nx1 2-channel, or\n. vector\\ .\n. @param jacobian Optional output 2Nx(10+\\) jacobian matrix of derivatives of image\n. points with respect to components of the rotation vector, translation vector, focal lengths,\n. coordinates of the principal point and the distortion coefficients. In the old interface different\n. components of the jacobian are returned via different output parameters.\n. @param aspectRatio Optional "fixed aspect ratio" parameter. If the parameter is not 0, the\n. function assumes that the aspect ratio (\\f$f_x / f_y\\f$) is fixed and correspondingly adjusts the\n. jacobian matrix.\n. \n. The function computes the 2D projections of 3D points to the image plane, given intrinsic and\n. extrinsic camera parameters. Optionally, the function computes Jacobians -matrices of partial\n. derivatives of image points coordinates (as functions of all the input parameters) with respect to\n. the particular parameters, intrinsic and/or extrinsic. The Jacobians are used during the global\n. optimization in @ref calibrateCamera, @ref solvePnP, and @ref stereoCalibrate. The function itself\n. can also be used to compute a re-projection error, given the current intrinsic and extrinsic\n. parameters.\n. \n. @note By setting rvec = tvec = \\f$[0, 0, 0]\\f$, or by setting cameraMatrix to a 3x3 identity matrix,\n. or by passing zero distortion coefficients, one can get various useful partial cases of the\n. function. This means, one can compute the distorted coordinates for a sparse set of points or apply\n. a perspective transformation (and also compute the derivatives) in the ideal zero-distortion setup.' - ... - -def putText(img: Mat, text, org, fontFace, fontScale, color, thickness=..., lineType=..., bottomLeftOrigin=...) -> typing.Any: - 'putText(img, text, org, fontFace, fontScale, color[, thickness[, lineType[, bottomLeftOrigin]]]) -> img\n. @brief Draws a text string.\n. \n. The function cv::putText renders the specified text string in the image. Symbols that cannot be rendered\n. using the specified font are replaced by question marks. See #getTextSize for a text rendering code\n. example.\n. \n. @param img Image.\n. @param text Text string to be drawn.\n. @param org Bottom-left corner of the text string in the image.\n. @param fontFace Font type, see #HersheyFonts.\n. @param fontScale Font scale factor that is multiplied by the font-specific base size.\n. @param color Text color.\n. @param thickness Thickness of the lines used to draw a text.\n. @param lineType Line type. See #LineTypes\n. @param bottomLeftOrigin When true, the image data origin is at the bottom-left corner. Otherwise,\n. it is at the top-left corner.' - ... - -def pyrDown(src: Mat, dts: Mat = ..., dstsize=..., borderType=...) -> typing.Any: - "pyrDown(src[, dst[, dstsize[, borderType]]]) -> dst\n. @brief Blurs an image and downsamples it.\n. \n. By default, size of the output image is computed as `Size((src.cols+1)/2, (src.rows+1)/2)`, but in\n. any case, the following conditions should be satisfied:\n. \n. \\f[\\begin{array}{l} | \\texttt{dstsize.width} *2-src.cols| \\leq 2 \\\\ | \\texttt{dstsize.height} *2-src.rows| \\leq 2 \\end{array}\\f]\n. \n. The function performs the downsampling step of the Gaussian pyramid construction. First, it\n. convolves the source image with the kernel:\n. \n. \\f[\\frac{1}{256} \\begin{bmatrix} 1 & 4 & 6 & 4 & 1 \\\\ 4 & 16 & 24 & 16 & 4 \\\\ 6 & 24 & 36 & 24 & 6 \\\\ 4 & 16 & 24 & 16 & 4 \\\\ 1 & 4 & 6 & 4 & 1 \\end{bmatrix}\\f]\n. \n. Then, it downsamples the image by rejecting even rows and columns.\n. \n. @param src input image.\n. @param dst output image; it has the specified size and the same type as src.\n. @param dstsize size of the output image.\n. @param borderType Pixel extrapolation method, see #BorderTypes (#BORDER_CONSTANT isn't supported)" - ... - -def pyrMeanShiftFiltering(src: Mat, sp, sr, dts: Mat = ..., maxLevel=..., termcrit=...) -> typing.Any: - 'pyrMeanShiftFiltering(src, sp, sr[, dst[, maxLevel[, termcrit]]]) -> dst\n. @brief Performs initial step of meanshift segmentation of an image.\n. \n. The function implements the filtering stage of meanshift segmentation, that is, the output of the\n. function is the filtered "posterized" image with color gradients and fine-grain texture flattened.\n. At every pixel (X,Y) of the input image (or down-sized input image, see below) the function executes\n. meanshift iterations, that is, the pixel (X,Y) neighborhood in the joint space-color hyperspace is\n. considered:\n. \n. \\f[(x,y): X- \\texttt{sp} \\le x \\le X+ \\texttt{sp} , Y- \\texttt{sp} \\le y \\le Y+ \\texttt{sp} , ||(R,G,B)-(r,g,b)|| \\le \\texttt{sr}\\f]\n. \n. where (R,G,B) and (r,g,b) are the vectors of color components at (X,Y) and (x,y), respectively\n. (though, the algorithm does not depend on the color space used, so any 3-component color space can\n. be used instead). Over the neighborhood the average spatial value (X\',Y\') and average color vector\n. (R\',G\',B\') are found and they act as the neighborhood center on the next iteration:\n. \n. \\f[(X,Y)~(X\',Y\'), (R,G,B)~(R\',G\',B\').\\f]\n. \n. After the iterations over, the color components of the initial pixel (that is, the pixel from where\n. the iterations started) are set to the final value (average color at the last iteration):\n. \n. \\f[I(X,Y) <- (R*,G*,B*)\\f]\n. \n. When maxLevel \\> 0, the gaussian pyramid of maxLevel+1 levels is built, and the above procedure is\n. run on the smallest layer first. After that, the results are propagated to the larger layer and the\n. iterations are run again only on those pixels where the layer colors differ by more than sr from the\n. lower-resolution layer of the pyramid. That makes boundaries of color regions sharper. Note that the\n. results will be actually different from the ones obtained by running the meanshift procedure on the\n. whole original image (i.e. when maxLevel==0).\n. \n. @param src The source 8-bit, 3-channel image.\n. @param dst The destination image of the same format and the same size as the source.\n. @param sp The spatial window radius.\n. @param sr The color window radius.\n. @param maxLevel Maximum level of the pyramid for the segmentation.\n. @param termcrit Termination criteria: when to stop meanshift iterations.' - ... - -def pyrUp(src: Mat, dts: Mat = ..., dstsize=..., borderType=...) -> typing.Any: - 'pyrUp(src[, dst[, dstsize[, borderType]]]) -> dst\n. @brief Upsamples an image and then blurs it.\n. \n. By default, size of the output image is computed as `Size(src.cols\\*2, (src.rows\\*2)`, but in any\n. case, the following conditions should be satisfied:\n. \n. \\f[\\begin{array}{l} | \\texttt{dstsize.width} -src.cols*2| \\leq ( \\texttt{dstsize.width} \\mod 2) \\\\ | \\texttt{dstsize.height} -src.rows*2| \\leq ( \\texttt{dstsize.height} \\mod 2) \\end{array}\\f]\n. \n. The function performs the upsampling step of the Gaussian pyramid construction, though it can\n. actually be used to construct the Laplacian pyramid. First, it upsamples the source image by\n. injecting even zero rows and columns and then convolves the result with the same kernel as in\n. pyrDown multiplied by 4.\n. \n. @param src input image.\n. @param dst output image. It has the specified size and the same type as src .\n. @param dstsize size of the output image.\n. @param borderType Pixel extrapolation method, see #BorderTypes (only #BORDER_DEFAULT is supported)' - ... - -def randShuffle(dts: Mat, iterFactor=...) -> typing.Any: - 'randShuffle(dst[, iterFactor]) -> dst\n. @brief Shuffles the array elements randomly.\n. \n. The function cv::randShuffle shuffles the specified 1D array by randomly choosing pairs of elements and\n. swapping them. The number of such swap operations will be dst.rows\\*dst.cols\\*iterFactor .\n. @param dst input/output numerical 1D array.\n. @param iterFactor scale factor that determines the number of random swap operations (see the details\n. below).\n. @param rng optional random number generator used for shuffling; if it is zero, theRNG () is used\n. instead.\n. @sa RNG, sort' - ... - -def randn(dts: Mat, mean, stddev) -> typing.Any: - 'randn(dst, mean, stddev) -> dst\n. @brief Fills the array with normally distributed random numbers.\n. \n. The function cv::randn fills the matrix dst with normally distributed random numbers with the specified\n. mean vector and the standard deviation matrix. The generated random numbers are clipped to fit the\n. value range of the output array data type.\n. @param dst output array of random numbers; the array must be pre-allocated and have 1 to 4 channels.\n. @param mean mean value (expectation) of the generated random numbers.\n. @param stddev standard deviation of the generated random numbers; it can be either a vector (in\n. which case a diagonal standard deviation matrix is assumed) or a square matrix.\n. @sa RNG, randu' - ... - -def randu(dts: Mat, low, high) -> typing.Any: - 'randu(dst, low, high) -> dst\n. @brief Generates a single uniformly-distributed random number or an array of random numbers.\n. \n. Non-template variant of the function fills the matrix dst with uniformly-distributed\n. random numbers from the specified range:\n. \\f[\\texttt{low} _c \\leq \\texttt{dst} (I)_c < \\texttt{high} _c\\f]\n. @param dst output array of random numbers; the array must be pre-allocated.\n. @param low inclusive lower boundary of the generated random numbers.\n. @param high exclusive upper boundary of the generated random numbers.\n. @sa RNG, randn, theRNG' - ... - -def readOpticalFlow(path) -> typing.Any: - 'readOpticalFlow(path) -> retval\n. @brief Read a .flo file\n. \n. @param path Path to the file to be loaded\n. \n. The function readOpticalFlow loads a flow field from a file and returns it as a single matrix.\n. Resulting Mat has a type CV_32FC2 - floating-point, 2-channel. First channel corresponds to the\n. flow in the horizontal direction (u), second - vertical (v).' - ... - -def recoverPose(E, points1, points2, cameraMatrix, R=..., t=..., mask: Mat = ...) -> typing.Any: - "recoverPose(E, points1, points2, cameraMatrix[, R[, t[, mask]]]) -> retval, R, t, mask\n. @brief Recovers the relative camera rotation and the translation from an estimated essential\n. matrix and the corresponding points in two images, using cheirality check. Returns the number of\n. inliers that pass the check.\n. \n. @param E The input essential matrix.\n. @param points1 Array of N 2D points from the first image. The point coordinates should be\n. floating-point (single or double precision).\n. @param points2 Array of the second image points of the same size and format as points1 .\n. @param cameraMatrix Camera matrix \\f$A = \\vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\\f$ .\n. Note that this function assumes that points1 and points2 are feature points from cameras with the\n. same camera matrix.\n. @param R Output rotation matrix. Together with the translation vector, this matrix makes up a tuple\n. that performs a change of basis from the first camera's coordinate system to the second camera's\n. coordinate system. Note that, in general, t can not be used for this tuple, see the parameter\n. described below.\n. @param t Output translation vector. This vector is obtained by @ref decomposeEssentialMat and\n. therefore is only known up to scale, i.e. t is the direction of the translation vector and has unit\n. length.\n. @param mask Input/output mask for inliers in points1 and points2. If it is not empty, then it marks\n. inliers in points1 and points2 for then given essential matrix E. Only these inliers will be used to\n. recover pose. In the output mask only inliers which pass the cheirality check.\n. \n. This function decomposes an essential matrix using @ref decomposeEssentialMat and then verifies\n. possible pose hypotheses by doing cheirality check. The cheirality check means that the\n. triangulated 3D points should have positive depth. Some details can be found in @cite Nister03.\n. \n. This function can be used to process the output E and mask from @ref findEssentialMat. In this\n. scenario, points1 and points2 are the same input for findEssentialMat.:\n. @code\n. // Example. Estimation of fundamental matrix using the RANSAC algorithm\n. int point_count = 100;\n. vector points1(point_count);\n. vector points2(point_count);\n. \n. // initialize the points here ...\n. for( int i = 0; i < point_count; i++ )\n. {\n. points1[i] = ...;\n. points2[i] = ...;\n. }\n. \n. // cametra matrix with both focal lengths = 1, and principal point = (0, 0)\n. Mat cameraMatrix = Mat::eye(3, 3, CV_64F);\n. \n. Mat E, R, t, mask;\n. \n. E = findEssentialMat(points1, points2, cameraMatrix, RANSAC, 0.999, 1.0, mask);\n. recoverPose(E, points1, points2, cameraMatrix, R, t, mask);\n. @endcode\n\n\n\nrecoverPose(E, points1, points2[, R[, t[, focal[, pp[, mask]]]]]) -> retval, R, t, mask\n. @overload\n. @param E The input essential matrix.\n. @param points1 Array of N 2D points from the first image. The point coordinates should be\n. floating-point (single or double precision).\n. @param points2 Array of the second image points of the same size and format as points1 .\n. @param R Output rotation matrix. Together with the translation vector, this matrix makes up a tuple\n. that performs a change of basis from the first camera's coordinate system to the second camera's\n. coordinate system. Note that, in general, t can not be used for this tuple, see the parameter\n. description below.\n. @param t Output translation vector. This vector is obtained by @ref decomposeEssentialMat and\n. therefore is only known up to scale, i.e. t is the direction of the translation vector and has unit\n. length.\n. @param focal Focal length of the camera. Note that this function assumes that points1 and points2\n. are feature points from cameras with same focal length and principal point.\n. @param pp principal point of the camera.\n. @param mask Input/output mask for inliers in points1 and points2. If it is not empty, then it marks\n. inliers in points1 and points2 for then given essential matrix E. Only these inliers will be used to\n. recover pose. In the output mask only inliers which pass the cheirality check.\n. \n. This function differs from the one above that it computes camera matrix from focal length and\n. principal point:\n. \n. \\f[A =\n. \\begin{bmatrix}\n. f & 0 & x_{pp} \\\\\n. 0 & f & y_{pp} \\\\\n. 0 & 0 & 1\n. \\end{bmatrix}\\f]\n\n\n\nrecoverPose(E, points1, points2, cameraMatrix, distanceThresh[, R[, t[, mask[, triangulatedPoints]]]]) -> retval, R, t, mask, triangulatedPoints\n. @overload\n. @param E The input essential matrix.\n. @param points1 Array of N 2D points from the first image. The point coordinates should be\n. floating-point (single or double precision).\n. @param points2 Array of the second image points of the same size and format as points1.\n. @param cameraMatrix Camera matrix \\f$A = \\vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\\f$ .\n. Note that this function assumes that points1 and points2 are feature points from cameras with the\n. same camera matrix.\n. @param R Output rotation matrix. Together with the translation vector, this matrix makes up a tuple\n. that performs a change of basis from the first camera's coordinate system to the second camera's\n. coordinate system. Note that, in general, t can not be used for this tuple, see the parameter\n. description below.\n. @param t Output translation vector. This vector is obtained by @ref decomposeEssentialMat and\n. therefore is only known up to scale, i.e. t is the direction of the translation vector and has unit\n. length.\n. @param distanceThresh threshold distance which is used to filter out far away points (i.e. infinite\n. points).\n. @param mask Input/output mask for inliers in points1 and points2. If it is not empty, then it marks\n. inliers in points1 and points2 for then given essential matrix E. Only these inliers will be used to\n. recover pose. In the output mask only inliers which pass the cheirality check.\n. @param triangulatedPoints 3D points which were reconstructed by triangulation.\n. \n. This function differs from the one above that it outputs the triangulated 3D point that are used for\n. the cheirality check." - ... - -def rectangle(img: Mat, pt1, pt2, color, thickness=..., lineType=..., shift=...) -> typing.Any: - 'rectangle(img, pt1, pt2, color[, thickness[, lineType[, shift]]]) -> img\n. @brief Draws a simple, thick, or filled up-right rectangle.\n. \n. The function cv::rectangle draws a rectangle outline or a filled rectangle whose two opposite corners\n. are pt1 and pt2.\n. \n. @param img Image.\n. @param pt1 Vertex of the rectangle.\n. @param pt2 Vertex of the rectangle opposite to pt1 .\n. @param color Rectangle color or brightness (grayscale image).\n. @param thickness Thickness of lines that make up the rectangle. Negative values, like #FILLED,\n. mean that the function has to draw a filled rectangle.\n. @param lineType Type of the line. See #LineTypes\n. @param shift Number of fractional bits in the point coordinates.\n\n\n\nrectangle(img, rec, color[, thickness[, lineType[, shift]]]) -> img\n. @overload\n. \n. use `rec` parameter as alternative specification of the drawn rectangle: `r.tl() and\n. r.br()-Point(1,1)` are opposite corners' - ... - -def rectify3Collinear(cameraMatrix1, distCoeffs1, cameraMatrix2, distCoeffs2, cameraMatrix3, distCoeffs3, imgpt1, imgpt3, imageSize, R12, T12, R13, T13, alpha, newImgSize, flags: int, R1=..., R2=..., R3=..., P1=..., P2=..., P3=..., Q=...) -> typing.Any: - 'rectify3Collinear(cameraMatrix1, distCoeffs1, cameraMatrix2, distCoeffs2, cameraMatrix3, distCoeffs3, imgpt1, imgpt3, imageSize, R12, T12, R13, T13, alpha, newImgSize, flags[, R1[, R2[, R3[, P1[, P2[, P3[, Q]]]]]]]) -> retval, R1, R2, R3, P1, P2, P3, Q, roi1, roi2\n.' - ... - -def redirectError(onError) -> typing.Any: - 'redirectError(onError) -> None' - ... - -def reduce(src: Mat, dim, rtype, dts: Mat = ..., dtype=...) -> typing.Any: - 'reduce(src, dim, rtype[, dst[, dtype]]) -> dst\n. @brief Reduces a matrix to a vector.\n. \n. The function #reduce reduces the matrix to a vector by treating the matrix rows/columns as a set of\n. 1D vectors and performing the specified operation on the vectors until a single row/column is\n. obtained. For example, the function can be used to compute horizontal and vertical projections of a\n. raster image. In case of #REDUCE_MAX and #REDUCE_MIN , the output image should have the same type as the source one.\n. In case of #REDUCE_SUM and #REDUCE_AVG , the output may have a larger element bit-depth to preserve accuracy.\n. And multi-channel arrays are also supported in these two reduction modes.\n. \n. The following code demonstrates its usage for a single channel matrix.\n. @snippet snippets/core_reduce.cpp example\n. \n. And the following code demonstrates its usage for a two-channel matrix.\n. @snippet snippets/core_reduce.cpp example2\n. \n. @param src input 2D matrix.\n. @param dst output vector. Its size and type is defined by dim and dtype parameters.\n. @param dim dimension index along which the matrix is reduced. 0 means that the matrix is reduced to\n. a single row. 1 means that the matrix is reduced to a single column.\n. @param rtype reduction operation that could be one of #ReduceTypes\n. @param dtype when negative, the output vector will have the same type as the input matrix,\n. otherwise, its type will be CV_MAKE_TYPE(CV_MAT_DEPTH(dtype), src.channels()).\n. @sa repeat' - ... - -def remap(src: Mat, map1, map2, interpolation: int, dts: Mat = ..., borderMode=..., borderValue=...) -> typing.Any: - 'remap(src, map1, map2, interpolation[, dst[, borderMode[, borderValue]]]) -> dst\n. @brief Applies a generic geometrical transformation to an image.\n. \n. The function remap transforms the source image using the specified map:\n. \n. \\f[\\texttt{dst} (x,y) = \\texttt{src} (map_x(x,y),map_y(x,y))\\f]\n. \n. where values of pixels with non-integer coordinates are computed using one of available\n. interpolation methods. \\f$map_x\\f$ and \\f$map_y\\f$ can be encoded as separate floating-point maps\n. in \\f$map_1\\f$ and \\f$map_2\\f$ respectively, or interleaved floating-point maps of \\f$(x,y)\\f$ in\n. \\f$map_1\\f$, or fixed-point maps created by using convertMaps. The reason you might want to\n. convert from floating to fixed-point representations of a map is that they can yield much faster\n. (\\~2x) remapping operations. In the converted case, \\f$map_1\\f$ contains pairs (cvFloor(x),\n. cvFloor(y)) and \\f$map_2\\f$ contains indices in a table of interpolation coefficients.\n. \n. This function cannot operate in-place.\n. \n. @param src Source image.\n. @param dst Destination image. It has the same size as map1 and the same type as src .\n. @param map1 The first map of either (x,y) points or just x values having the type CV_16SC2 ,\n. CV_32FC1, or CV_32FC2. See convertMaps for details on converting a floating point\n. representation to fixed-point for speed.\n. @param map2 The second map of y values having the type CV_16UC1, CV_32FC1, or none (empty map\n. if map1 is (x,y) points), respectively.\n. @param interpolation Interpolation method (see #InterpolationFlags). The method #INTER_AREA is\n. not supported by this function.\n. @param borderMode Pixel extrapolation method (see #BorderTypes). When\n. borderMode=#BORDER_TRANSPARENT, it means that the pixels in the destination image that\n. corresponds to the "outliers" in the source image are not modified by the function.\n. @param borderValue Value used in case of a constant border. By default, it is 0.\n. @note\n. Due to current implementation limitations the size of an input and output images should be less than 32767x32767.' - ... - -def repeat(src: Mat, ny, nx, dts: Mat = ...) -> typing.Any: - 'repeat(src, ny, nx[, dst]) -> dst\n. @brief Fills the output array with repeated copies of the input array.\n. \n. The function cv::repeat duplicates the input array one or more times along each of the two axes:\n. \\f[\\texttt{dst} _{ij}= \\texttt{src} _{i\\mod src.rows, \\; j\\mod src.cols }\\f]\n. The second variant of the function is more convenient to use with @ref MatrixExpressions.\n. @param src input array to replicate.\n. @param ny Flag to specify how many times the `src` is repeated along the\n. vertical axis.\n. @param nx Flag to specify how many times the `src` is repeated along the\n. horizontal axis.\n. @param dst output array of the same type as `src`.\n. @sa cv::reduce' - ... - -def reprojectImageTo3D(disparity, Q, _3dImage=..., handleMissingValues=..., ddepth=...) -> typing.Any: - "reprojectImageTo3D(disparity, Q[, _3dImage[, handleMissingValues[, ddepth]]]) -> _3dImage\n. @brief Reprojects a disparity image to 3D space.\n. \n. @param disparity Input single-channel 8-bit unsigned, 16-bit signed, 32-bit signed or 32-bit\n. floating-point disparity image. The values of 8-bit / 16-bit signed formats are assumed to have no\n. fractional bits. If the disparity is 16-bit signed format, as computed by @ref StereoBM or\n. @ref StereoSGBM and maybe other algorithms, it should be divided by 16 (and scaled to float) before\n. being used here.\n. @param _3dImage Output 3-channel floating-point image of the same size as disparity. Each element of\n. _3dImage(x,y) contains 3D coordinates of the point (x,y) computed from the disparity map. If one\n. uses Q obtained by @ref stereoRectify, then the returned points are represented in the first\n. camera's rectified coordinate system.\n. @param Q \\f$4 \\times 4\\f$ perspective transformation matrix that can be obtained with\n. @ref stereoRectify.\n. @param handleMissingValues Indicates, whether the function should handle missing values (i.e.\n. points where the disparity was not computed). If handleMissingValues=true, then pixels with the\n. minimal disparity that corresponds to the outliers (see StereoMatcher::compute ) are transformed\n. to 3D points with a very large Z value (currently set to 10000).\n. @param ddepth The optional output array depth. If it is -1, the output image will have CV_32F\n. depth. ddepth can also be set to CV_16S, CV_32S or CV_32F.\n. \n. The function transforms a single-channel disparity map to a 3-channel image representing a 3D\n. surface. That is, for each pixel (x,y) and the corresponding disparity d=disparity(x,y) , it\n. computes:\n. \n. \\f[\\begin{bmatrix}\n. X \\\\\n. Y \\\\\n. Z \\\\\n. W\n. \\end{bmatrix} = Q \\begin{bmatrix}\n. x \\\\\n. y \\\\\n. \\texttt{disparity} (x,y) \\\\\n. z\n. \\end{bmatrix}.\\f]\n. \n. @sa\n. To reproject a sparse set of points {(x,y,d),...} to 3D space, use perspectiveTransform." - ... - -def resize(src: Mat, dsize: typing.Tuple[int, int], dts: Mat = ..., fx: int = ..., fy: int = ..., interpolation: int = ...) -> Mat: - 'resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) -> dst\n. @brief Resizes an image.\n. \n. The function resize resizes the image src down to or up to the specified size. Note that the\n. initial dst type or size are not taken into account. Instead, the size and type are derived from\n. the `src`,`dsize`,`fx`, and `fy`. If you want to resize src so that it fits the pre-created dst,\n. you may call the function as follows:\n. @code\n. // explicitly specify dsize=dst.size(); fx and fy will be computed from that.\n. resize(src, dst, dst.size(), 0, 0, interpolation);\n. @endcode\n. If you want to decimate the image by factor of 2 in each direction, you can call the function this\n. way:\n. @code\n. // specify fx and fy and let the function compute the destination image size.\n. resize(src, dst, Size(), 0.5, 0.5, interpolation);\n. @endcode\n. To shrink an image, it will generally look best with #INTER_AREA interpolation, whereas to\n. enlarge an image, it will generally look best with c#INTER_CUBIC (slow) or #INTER_LINEAR\n. (faster but still looks OK).\n. \n. @param src input image.\n. @param dst output image; it has the size dsize (when it is non-zero) or the size computed from\n. src.size(), fx, and fy; the type of dst is the same as of src.\n. @param dsize output image size; if it equals zero, it is computed as:\n. \\f[\\texttt{dsize = Size(round(fx*src.cols), round(fy*src.rows))}\\f]\n. Either dsize or both fx and fy must be non-zero.\n. @param fx scale factor along the horizontal axis; when it equals 0, it is computed as\n. \\f[\\texttt{(double)dsize.width/src.cols}\\f]\n. @param fy scale factor along the vertical axis; when it equals 0, it is computed as\n. \\f[\\texttt{(double)dsize.height/src.rows}\\f]\n. @param interpolation interpolation method, see #InterpolationFlags\n. \n. @sa warpAffine, warpPerspective, remap' - ... - -def resizeWindow(winname, width, height) -> typing.Any: - 'resizeWindow(winname, width, height) -> None\n. @brief Resizes window to the specified size\n. \n. @note\n. \n. - The specified window size is for the image area. Toolbars are not counted.\n. - Only windows created without cv::WINDOW_AUTOSIZE flag can be resized.\n. \n. @param winname Window name.\n. @param width The new window width.\n. @param height The new window height.\n\n\n\nresizeWindow(winname, size) -> None\n. @overload\n. @param winname Window name.\n. @param size The new window size.' - ... - -def rotate(src: Mat, rotateCode, dts: Mat = ...) -> typing.Any: - 'rotate(src, rotateCode[, dst]) -> dst\n. @brief Rotates a 2D array in multiples of 90 degrees.\n. The function cv::rotate rotates the array in one of three different ways:\n. * Rotate by 90 degrees clockwise (rotateCode = ROTATE_90_CLOCKWISE).\n. * Rotate by 180 degrees clockwise (rotateCode = ROTATE_180).\n. * Rotate by 270 degrees clockwise (rotateCode = ROTATE_90_COUNTERCLOCKWISE).\n. @param src input array.\n. @param dst output array of the same type as src. The size is the same with ROTATE_180,\n. and the rows and cols are switched for ROTATE_90_CLOCKWISE and ROTATE_90_COUNTERCLOCKWISE.\n. @param rotateCode an enum to specify how to rotate the array; see the enum #RotateFlags\n. @sa transpose , repeat , completeSymm, flip, RotateFlags' - ... - -def rotatedRectangleIntersection(rect1, rect2, intersectingRegion=...) -> typing.Any: - 'rotatedRectangleIntersection(rect1, rect2[, intersectingRegion]) -> retval, intersectingRegion\n. @brief Finds out if there is any intersection between two rotated rectangles.\n. \n. If there is then the vertices of the intersecting region are returned as well.\n. \n. Below are some examples of intersection configurations. The hatched pattern indicates the\n. intersecting region and the red vertices are returned by the function.\n. \n. ![intersection examples](pics/intersection.png)\n. \n. @param rect1 First rectangle\n. @param rect2 Second rectangle\n. @param intersectingRegion The output array of the vertices of the intersecting region. It returns\n. at most 8 vertices. Stored as std::vector\\ or cv::Mat as Mx1 of type CV_32FC2.\n. @returns One of #RectanglesIntersectTypes' - ... - -def sampsonDistance(pt1, pt2, F) -> typing.Any: - 'sampsonDistance(pt1, pt2, F) -> retval\n. @brief Calculates the Sampson Distance between two points.\n. \n. The function cv::sampsonDistance calculates and returns the first order approximation of the geometric error as:\n. \\f[\n. sd( \\texttt{pt1} , \\texttt{pt2} )=\n. \\frac{(\\texttt{pt2}^t \\cdot \\texttt{F} \\cdot \\texttt{pt1})^2}\n. {((\\texttt{F} \\cdot \\texttt{pt1})(0))^2 +\n. ((\\texttt{F} \\cdot \\texttt{pt1})(1))^2 +\n. ((\\texttt{F}^t \\cdot \\texttt{pt2})(0))^2 +\n. ((\\texttt{F}^t \\cdot \\texttt{pt2})(1))^2}\n. \\f]\n. The fundamental matrix may be calculated using the cv::findFundamentalMat function. See @cite HartleyZ00 11.4.3 for details.\n. @param pt1 first homogeneous 2d point\n. @param pt2 second homogeneous 2d point\n. @param F fundamental matrix\n. @return The computed Sampson distance.' - ... - -def scaleAdd(src1: Mat, alpha, src2: Mat, dts: Mat = ...) -> typing.Any: - 'scaleAdd(src1, alpha, src2[, dst]) -> dst\n. @brief Calculates the sum of a scaled array and another array.\n. \n. The function scaleAdd is one of the classical primitive linear algebra operations, known as DAXPY\n. or SAXPY in [BLAS](http://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms). It calculates\n. the sum of a scaled array and another array:\n. \\f[\\texttt{dst} (I)= \\texttt{scale} \\cdot \\texttt{src1} (I) + \\texttt{src2} (I)\\f]\n. The function can also be emulated with a matrix expression, for example:\n. @code{.cpp}\n. Mat A(3, 3, CV_64F);\n. ...\n. A.row(0) = A.row(1)*2 + A.row(2);\n. @endcode\n. @param src1 first input array.\n. @param alpha scale factor for the first array.\n. @param src2 second input array of the same size and type as src1.\n. @param dst output array of the same size and type as src1.\n. @sa add, addWeighted, subtract, Mat::dot, Mat::convertTo' - ... - -def seamlessClone(src: Mat, dts: Mat, mask: typing.Optional[Mat], p, flags: int, blend=...) -> typing.Any: - 'seamlessClone(src, dst, mask, p, flags[, blend]) -> blend\n. @brief Image editing tasks concern either global changes (color/intensity corrections, filters,\n. deformations) or local changes concerned to a selection. Here we are interested in achieving local\n. changes, ones that are restricted to a region manually selected (ROI), in a seamless and effortless\n. manner. The extent of the changes ranges from slight distortions to complete replacement by novel\n. content @cite PM03 .\n. \n. @param src Input 8-bit 3-channel image.\n. @param dst Input 8-bit 3-channel image.\n. @param mask Input 8-bit 1 or 3-channel image.\n. @param p Point in dst image where object is placed.\n. @param blend Output image with the same size and type as dst.\n. @param flags Cloning method that could be cv::NORMAL_CLONE, cv::MIXED_CLONE or cv::MONOCHROME_TRANSFER' - ... - -def selectROI(windowName, img: Mat, showCrosshair=..., fromCenter=...) -> typing.Any: - "selectROI(windowName, img[, showCrosshair[, fromCenter]]) -> retval\n. @brief Selects ROI on the given image.\n. Function creates a window and allows user to select a ROI using mouse.\n. Controls: use `space` or `enter` to finish selection, use key `c` to cancel selection (function will return the zero cv::Rect).\n. \n. @param windowName name of the window where selection process will be shown.\n. @param img image to select a ROI.\n. @param showCrosshair if true crosshair of selection rectangle will be shown.\n. @param fromCenter if true center of selection will match initial mouse position. In opposite case a corner of\n. selection rectangle will correspont to the initial mouse position.\n. @return selected ROI or empty rect if selection canceled.\n. \n. @note The function sets it's own mouse callback for specified window using cv::setMouseCallback(windowName, ...).\n. After finish of work an empty callback will be set for the used window.\n\n\n\nselectROI(img[, showCrosshair[, fromCenter]]) -> retval\n. @overload" - ... - -def selectROIs(windowName, img: Mat, showCrosshair=..., fromCenter=...) -> typing.Any: - "selectROIs(windowName, img[, showCrosshair[, fromCenter]]) -> boundingBoxes\n. @brief Selects ROIs on the given image.\n. Function creates a window and allows user to select a ROIs using mouse.\n. Controls: use `space` or `enter` to finish current selection and start a new one,\n. use `esc` to terminate multiple ROI selection process.\n. \n. @param windowName name of the window where selection process will be shown.\n. @param img image to select a ROI.\n. @param boundingBoxes selected ROIs.\n. @param showCrosshair if true crosshair of selection rectangle will be shown.\n. @param fromCenter if true center of selection will match initial mouse position. In opposite case a corner of\n. selection rectangle will correspont to the initial mouse position.\n. \n. @note The function sets it's own mouse callback for specified window using cv::setMouseCallback(windowName, ...).\n. After finish of work an empty callback will be set for the used window." - ... - -def sepFilter2D(src: Mat, ddepth, kernelX, kernelY, dts: Mat = ..., anchor=..., delta=..., borderType=...) -> typing.Any: - 'sepFilter2D(src, ddepth, kernelX, kernelY[, dst[, anchor[, delta[, borderType]]]]) -> dst\n. @brief Applies a separable linear filter to an image.\n. \n. The function applies a separable linear filter to the image. That is, first, every row of src is\n. filtered with the 1D kernel kernelX. Then, every column of the result is filtered with the 1D\n. kernel kernelY. The final result shifted by delta is stored in dst .\n. \n. @param src Source image.\n. @param dst Destination image of the same size and the same number of channels as src .\n. @param ddepth Destination image depth, see @ref filter_depths "combinations"\n. @param kernelX Coefficients for filtering each row.\n. @param kernelY Coefficients for filtering each column.\n. @param anchor Anchor position within the kernel. The default value \\f$(-1,-1)\\f$ means that the anchor\n. is at the kernel center.\n. @param delta Value added to the filtered results before storing them.\n. @param borderType Pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not supported.\n. @sa filter2D, Sobel, GaussianBlur, boxFilter, blur' - ... - -def setIdentity(mtx, s=...) -> typing.Any: - 'setIdentity(mtx[, s]) -> mtx\n. @brief Initializes a scaled identity matrix.\n. \n. The function cv::setIdentity initializes a scaled identity matrix:\n. \\f[\\texttt{mtx} (i,j)= \\fork{\\texttt{value}}{ if \\(i=j\\)}{0}{otherwise}\\f]\n. \n. The function can also be emulated using the matrix initializers and the\n. matrix expressions:\n. @code\n. Mat A = Mat::eye(4, 3, CV_32F)*5;\n. // A will be set to [[5, 0, 0], [0, 5, 0], [0, 0, 5], [0, 0, 0]]\n. @endcode\n. @param mtx matrix to initialize (not necessarily square).\n. @param s value to assign to diagonal elements.\n. @sa Mat::zeros, Mat::ones, Mat::setTo, Mat::operator=' - ... - -def setMouseCallback(windowName, onMouse, param=...) -> typing.Any: - 'setMouseCallback(windowName, onMouse [, param]) -> None' - ... - -def setNumThreads(nthreads) -> typing.Any: - "setNumThreads(nthreads) -> None\n. @brief OpenCV will try to set the number of threads for the next parallel region.\n. \n. If threads == 0, OpenCV will disable threading optimizations and run all it's functions\n. sequentially. Passing threads \\< 0 will reset threads number to system default. This function must\n. be called outside of parallel region.\n. \n. OpenCV will try to run its functions with specified threads number, but some behaviour differs from\n. framework:\n. - `TBB` - User-defined parallel constructions will run with the same threads number, if\n. another is not specified. If later on user creates his own scheduler, OpenCV will use it.\n. - `OpenMP` - No special defined behaviour.\n. - `Concurrency` - If threads == 1, OpenCV will disable threading optimizations and run its\n. functions sequentially.\n. - `GCD` - Supports only values \\<= 0.\n. - `C=` - No special defined behaviour.\n. @param nthreads Number of threads used by OpenCV.\n. @sa getNumThreads, getThreadNum" - ... - -def setRNGSeed(seed) -> typing.Any: - 'setRNGSeed(seed) -> None\n. @brief Sets state of default random number generator.\n. \n. The function cv::setRNGSeed sets state of default random number generator to custom value.\n. @param seed new state for default random number generator\n. @sa RNG, randu, randn' - ... - -def setTrackbarMax(trackbarname, winname, maxval) -> typing.Any: - 'setTrackbarMax(trackbarname, winname, maxval) -> None\n. @brief Sets the trackbar maximum position.\n. \n. The function sets the maximum position of the specified trackbar in the specified window.\n. \n. @note\n. \n. [__Qt Backend Only__] winname can be empty if the trackbar is attached to the control\n. panel.\n. \n. @param trackbarname Name of the trackbar.\n. @param winname Name of the window that is the parent of trackbar.\n. @param maxval New maximum position.' - ... - -def setTrackbarMin(trackbarname, winname, minval) -> typing.Any: - 'setTrackbarMin(trackbarname, winname, minval) -> None\n. @brief Sets the trackbar minimum position.\n. \n. The function sets the minimum position of the specified trackbar in the specified window.\n. \n. @note\n. \n. [__Qt Backend Only__] winname can be empty if the trackbar is attached to the control\n. panel.\n. \n. @param trackbarname Name of the trackbar.\n. @param winname Name of the window that is the parent of trackbar.\n. @param minval New minimum position.' - ... - -def setTrackbarPos(trackbarname, winname, pos) -> typing.Any: - 'setTrackbarPos(trackbarname, winname, pos) -> None\n. @brief Sets the trackbar position.\n. \n. The function sets the position of the specified trackbar in the specified window.\n. \n. @note\n. \n. [__Qt Backend Only__] winname can be empty if the trackbar is attached to the control\n. panel.\n. \n. @param trackbarname Name of the trackbar.\n. @param winname Name of the window that is the parent of trackbar.\n. @param pos New position.' - ... - -def setUseOpenVX(flag) -> typing.Any: - 'setUseOpenVX(flag) -> None\n.' - ... - -def setUseOptimized(onoff) -> typing.Any: - 'setUseOptimized(onoff) -> None\n. @brief Enables or disables the optimized code.\n. \n. The function can be used to dynamically turn on and off optimized dispatched code (code that uses SSE4.2, AVX/AVX2,\n. and other instructions on the platforms that support it). It sets a global flag that is further\n. checked by OpenCV functions. Since the flag is not checked in the inner OpenCV loops, it is only\n. safe to call the function on the very top level in your application where you can be sure that no\n. other OpenCV function is currently executed.\n. \n. By default, the optimized code is enabled unless you disable it in CMake. The current status can be\n. retrieved using useOptimized.\n. @param onoff The boolean flag specifying whether the optimized code should be used (onoff=true)\n. or not (onoff=false).' - ... - -def setWindowProperty(winname, prop_id, prop_value) -> typing.Any: - 'setWindowProperty(winname, prop_id, prop_value) -> None\n. @brief Changes parameters of a window dynamically.\n. \n. The function setWindowProperty enables changing properties of a window.\n. \n. @param winname Name of the window.\n. @param prop_id Window property to edit. The supported operation flags are: (cv::WindowPropertyFlags)\n. @param prop_value New value of the window property. The supported flags are: (cv::WindowFlags)' - ... - -def setWindowTitle(winname, title) -> typing.Any: - 'setWindowTitle(winname, title) -> None\n. @brief Updates window title\n. @param winname Name of the window.\n. @param title New title.' - ... - -def solve(src1: Mat, src2: Mat, dts: Mat = ..., flags: int = ...) -> typing.Any: - 'solve(src1, src2[, dst[, flags]]) -> retval, dst\n. @brief Solves one or more linear systems or least-squares problems.\n. \n. The function cv::solve solves a linear system or least-squares problem (the\n. latter is possible with SVD or QR methods, or by specifying the flag\n. #DECOMP_NORMAL ):\n. \\f[\\texttt{dst} = \\arg \\min _X \\| \\texttt{src1} \\cdot \\texttt{X} - \\texttt{src2} \\|\\f]\n. \n. If #DECOMP_LU or #DECOMP_CHOLESKY method is used, the function returns 1\n. if src1 (or \\f$\\texttt{src1}^T\\texttt{src1}\\f$ ) is non-singular. Otherwise,\n. it returns 0. In the latter case, dst is not valid. Other methods find a\n. pseudo-solution in case of a singular left-hand side part.\n. \n. @note If you want to find a unity-norm solution of an under-defined\n. singular system \\f$\\texttt{src1}\\cdot\\texttt{dst}=0\\f$ , the function solve\n. will not do the work. Use SVD::solveZ instead.\n. \n. @param src1 input matrix on the left-hand side of the system.\n. @param src2 input matrix on the right-hand side of the system.\n. @param dst output solution.\n. @param flags solution (matrix inversion) method (#DecompTypes)\n. @sa invert, SVD, eigen' - ... - -def solveCubic(coeffs, roots=...) -> typing.Any: - 'solveCubic(coeffs[, roots]) -> retval, roots\n. @brief Finds the real roots of a cubic equation.\n. \n. The function solveCubic finds the real roots of a cubic equation:\n. - if coeffs is a 4-element vector:\n. \\f[\\texttt{coeffs} [0] x^3 + \\texttt{coeffs} [1] x^2 + \\texttt{coeffs} [2] x + \\texttt{coeffs} [3] = 0\\f]\n. - if coeffs is a 3-element vector:\n. \\f[x^3 + \\texttt{coeffs} [0] x^2 + \\texttt{coeffs} [1] x + \\texttt{coeffs} [2] = 0\\f]\n. \n. The roots are stored in the roots array.\n. @param coeffs equation coefficients, an array of 3 or 4 elements.\n. @param roots output array of real roots that has 1 or 3 elements.\n. @return number of real roots. It can be 0, 1 or 2.' - ... - -def solveLP(Func, Constr, z=...) -> typing.Any: - 'solveLP(Func, Constr[, z]) -> retval, z\n. @brief Solve given (non-integer) linear programming problem using the Simplex Algorithm (Simplex Method).\n. \n. What we mean here by "linear programming problem" (or LP problem, for short) can be formulated as:\n. \n. \\f[\\mbox{Maximize } c\\cdot x\\\\\n. \\mbox{Subject to:}\\\\\n. Ax\\leq b\\\\\n. x\\geq 0\\f]\n. \n. Where \\f$c\\f$ is fixed `1`-by-`n` row-vector, \\f$A\\f$ is fixed `m`-by-`n` matrix, \\f$b\\f$ is fixed `m`-by-`1`\n. column vector and \\f$x\\f$ is an arbitrary `n`-by-`1` column vector, which satisfies the constraints.\n. \n. Simplex algorithm is one of many algorithms that are designed to handle this sort of problems\n. efficiently. Although it is not optimal in theoretical sense (there exist algorithms that can solve\n. any problem written as above in polynomial time, while simplex method degenerates to exponential\n. time for some special cases), it is well-studied, easy to implement and is shown to work well for\n. real-life purposes.\n. \n. The particular implementation is taken almost verbatim from **Introduction to Algorithms, third\n. edition** by T. H. Cormen, C. E. Leiserson, R. L. Rivest and Clifford Stein. In particular, the\n. Bland\'s rule is used to prevent cycling.\n. \n. @param Func This row-vector corresponds to \\f$c\\f$ in the LP problem formulation (see above). It should\n. contain 32- or 64-bit floating point numbers. As a convenience, column-vector may be also submitted,\n. in the latter case it is understood to correspond to \\f$c^T\\f$.\n. @param Constr `m`-by-`n+1` matrix, whose rightmost column corresponds to \\f$b\\f$ in formulation above\n. and the remaining to \\f$A\\f$. It should contain 32- or 64-bit floating point numbers.\n. @param z The solution will be returned here as a column-vector - it corresponds to \\f$c\\f$ in the\n. formulation above. It will contain 64-bit floating point numbers.\n. @return One of cv::SolveLPResult' - ... - -def solveP3P(objectPoints, imagePoints, cameraMatrix, distCoeffs, flags: int, rvecs=..., tvecs=...) -> typing.Any: - 'solveP3P(objectPoints, imagePoints, cameraMatrix, distCoeffs, flags[, rvecs[, tvecs]]) -> retval, rvecs, tvecs\n. @brief Finds an object pose from 3 3D-2D point correspondences.\n. \n. @param objectPoints Array of object points in the object coordinate space, 3x3 1-channel or\n. 1x3/3x1 3-channel. vector\\ can be also passed here.\n. @param imagePoints Array of corresponding image points, 3x2 1-channel or 1x3/3x1 2-channel.\n. vector\\ can be also passed here.\n. @param cameraMatrix Input camera matrix \\f$A = \\vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\\f$ .\n. @param distCoeffs Input vector of distortion coefficients\n. \\f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]])\\f$ of\n. 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are\n. assumed.\n. @param rvecs Output rotation vectors (see @ref Rodrigues ) that, together with tvecs, brings points from\n. the model coordinate system to the camera coordinate system. A P3P problem has up to 4 solutions.\n. @param tvecs Output translation vectors.\n. @param flags Method for solving a P3P problem:\n. - **SOLVEPNP_P3P** Method is based on the paper of X.S. Gao, X.-R. Hou, J. Tang, H.-F. Chang\n. "Complete Solution Classification for the Perspective-Three-Point Problem" (@cite gao2003complete).\n. - **SOLVEPNP_AP3P** Method is based on the paper of T. Ke and S. Roumeliotis.\n. "An Efficient Algebraic Solution to the Perspective-Three-Point Problem" (@cite Ke17).\n. \n. The function estimates the object pose given 3 object points, their corresponding image\n. projections, as well as the camera matrix and the distortion coefficients.\n. \n. @note\n. The solutions are sorted by reprojection errors (lowest to highest).' - ... - -def solvePnP(objectPoints, imagePoints, cameraMatrix, distCoeffs, rvec=..., tvec=..., useExtrinsicGuess=..., flags: int = ...) -> typing.Any: - 'solvePnP(objectPoints, imagePoints, cameraMatrix, distCoeffs[, rvec[, tvec[, useExtrinsicGuess[, flags]]]]) -> retval, rvec, tvec\n. @brief Finds an object pose from 3D-2D point correspondences.\n. This function returns the rotation and the translation vectors that transform a 3D point expressed in the object\n. coordinate frame to the camera coordinate frame, using different methods:\n. - P3P methods (@ref SOLVEPNP_P3P, @ref SOLVEPNP_AP3P): need 4 input points to return a unique solution.\n. - @ref SOLVEPNP_IPPE Input points must be >= 4 and object points must be coplanar.\n. - @ref SOLVEPNP_IPPE_SQUARE Special case suitable for marker pose estimation.\n. Number of input points must be 4. Object points must be defined in the following order:\n. - point 0: [-squareLength / 2, squareLength / 2, 0]\n. - point 1: [ squareLength / 2, squareLength / 2, 0]\n. - point 2: [ squareLength / 2, -squareLength / 2, 0]\n. - point 3: [-squareLength / 2, -squareLength / 2, 0]\n. - for all the other flags, number of input points must be >= 4 and object points can be in any configuration.\n. \n. @param objectPoints Array of object points in the object coordinate space, Nx3 1-channel or\n. 1xN/Nx1 3-channel, where N is the number of points. vector\\ can be also passed here.\n. @param imagePoints Array of corresponding image points, Nx2 1-channel or 1xN/Nx1 2-channel,\n. where N is the number of points. vector\\ can be also passed here.\n. @param cameraMatrix Input camera matrix \\f$A = \\vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\\f$ .\n. @param distCoeffs Input vector of distortion coefficients\n. \\f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]])\\f$ of\n. 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are\n. assumed.\n. @param rvec Output rotation vector (see @ref Rodrigues ) that, together with tvec, brings points from\n. the model coordinate system to the camera coordinate system.\n. @param tvec Output translation vector.\n. @param useExtrinsicGuess Parameter used for #SOLVEPNP_ITERATIVE. If true (1), the function uses\n. the provided rvec and tvec values as initial approximations of the rotation and translation\n. vectors, respectively, and further optimizes them.\n. @param flags Method for solving a PnP problem:\n. - **SOLVEPNP_ITERATIVE** Iterative method is based on a Levenberg-Marquardt optimization. In\n. this case the function finds such a pose that minimizes reprojection error, that is the sum\n. of squared distances between the observed projections imagePoints and the projected (using\n. projectPoints ) objectPoints .\n. - **SOLVEPNP_P3P** Method is based on the paper of X.S. Gao, X.-R. Hou, J. Tang, H.-F. Chang\n. "Complete Solution Classification for the Perspective-Three-Point Problem" (@cite gao2003complete).\n. In this case the function requires exactly four object and image points.\n. - **SOLVEPNP_AP3P** Method is based on the paper of T. Ke, S. Roumeliotis\n. "An Efficient Algebraic Solution to the Perspective-Three-Point Problem" (@cite Ke17).\n. In this case the function requires exactly four object and image points.\n. - **SOLVEPNP_EPNP** Method has been introduced by F. Moreno-Noguer, V. Lepetit and P. Fua in the\n. paper "EPnP: Efficient Perspective-n-Point Camera Pose Estimation" (@cite lepetit2009epnp).\n. - **SOLVEPNP_DLS** Method is based on the paper of J. Hesch and S. Roumeliotis.\n. "A Direct Least-Squares (DLS) Method for PnP" (@cite hesch2011direct).\n. - **SOLVEPNP_UPNP** Method is based on the paper of A. Penate-Sanchez, J. Andrade-Cetto,\n. F. Moreno-Noguer. "Exhaustive Linearization for Robust Camera Pose and Focal Length\n. Estimation" (@cite penate2013exhaustive). In this case the function also estimates the parameters \\f$f_x\\f$ and \\f$f_y\\f$\n. assuming that both have the same value. Then the cameraMatrix is updated with the estimated\n. focal length.\n. - **SOLVEPNP_IPPE** Method is based on the paper of T. Collins and A. Bartoli.\n. "Infinitesimal Plane-Based Pose Estimation" (@cite Collins14). This method requires coplanar object points.\n. - **SOLVEPNP_IPPE_SQUARE** Method is based on the paper of Toby Collins and Adrien Bartoli.\n. "Infinitesimal Plane-Based Pose Estimation" (@cite Collins14). This method is suitable for marker pose estimation.\n. It requires 4 coplanar object points defined in the following order:\n. - point 0: [-squareLength / 2, squareLength / 2, 0]\n. - point 1: [ squareLength / 2, squareLength / 2, 0]\n. - point 2: [ squareLength / 2, -squareLength / 2, 0]\n. - point 3: [-squareLength / 2, -squareLength / 2, 0]\n. \n. The function estimates the object pose given a set of object points, their corresponding image\n. projections, as well as the camera matrix and the distortion coefficients, see the figure below\n. (more precisely, the X-axis of the camera frame is pointing to the right, the Y-axis downward\n. and the Z-axis forward).\n. \n. ![](pnp.jpg)\n. \n. Points expressed in the world frame \\f$ \\bf{X}_w \\f$ are projected into the image plane \\f$ \\left[ u, v \\right] \\f$\n. using the perspective projection model \\f$ \\Pi \\f$ and the camera intrinsic parameters matrix \\f$ \\bf{A} \\f$:\n. \n. \\f[\n. \\begin{align*}\n. \\begin{bmatrix}\n. u \\\\\n. v \\\\\n. 1\n. \\end{bmatrix} &=\n. \\bf{A} \\hspace{0.1em} \\Pi \\hspace{0.2em} ^{c}\\bf{T}_w\n. \\begin{bmatrix}\n. X_{w} \\\\\n. Y_{w} \\\\\n. Z_{w} \\\\\n. 1\n. \\end{bmatrix} \\\\\n. \\begin{bmatrix}\n. u \\\\\n. v \\\\\n. 1\n. \\end{bmatrix} &=\n. \\begin{bmatrix}\n. f_x & 0 & c_x \\\\\n. 0 & f_y & c_y \\\\\n. 0 & 0 & 1\n. \\end{bmatrix}\n. \\begin{bmatrix}\n. 1 & 0 & 0 & 0 \\\\\n. 0 & 1 & 0 & 0 \\\\\n. 0 & 0 & 1 & 0\n. \\end{bmatrix}\n. \\begin{bmatrix}\n. r_{11} & r_{12} & r_{13} & t_x \\\\\n. r_{21} & r_{22} & r_{23} & t_y \\\\\n. r_{31} & r_{32} & r_{33} & t_z \\\\\n. 0 & 0 & 0 & 1\n. \\end{bmatrix}\n. \\begin{bmatrix}\n. X_{w} \\\\\n. Y_{w} \\\\\n. Z_{w} \\\\\n. 1\n. \\end{bmatrix}\n. \\end{align*}\n. \\f]\n. \n. The estimated pose is thus the rotation (`rvec`) and the translation (`tvec`) vectors that allow transforming\n. a 3D point expressed in the world frame into the camera frame:\n. \n. \\f[\n. \\begin{align*}\n. \\begin{bmatrix}\n. X_c \\\\\n. Y_c \\\\\n. Z_c \\\\\n. 1\n. \\end{bmatrix} &=\n. \\hspace{0.2em} ^{c}\\bf{T}_w\n. \\begin{bmatrix}\n. X_{w} \\\\\n. Y_{w} \\\\\n. Z_{w} \\\\\n. 1\n. \\end{bmatrix} \\\\\n. \\begin{bmatrix}\n. X_c \\\\\n. Y_c \\\\\n. Z_c \\\\\n. 1\n. \\end{bmatrix} &=\n. \\begin{bmatrix}\n. r_{11} & r_{12} & r_{13} & t_x \\\\\n. r_{21} & r_{22} & r_{23} & t_y \\\\\n. r_{31} & r_{32} & r_{33} & t_z \\\\\n. 0 & 0 & 0 & 1\n. \\end{bmatrix}\n. \\begin{bmatrix}\n. X_{w} \\\\\n. Y_{w} \\\\\n. Z_{w} \\\\\n. 1\n. \\end{bmatrix}\n. \\end{align*}\n. \\f]\n. \n. @note\n. - An example of how to use solvePnP for planar augmented reality can be found at\n. opencv_source_code/samples/python/plane_ar.py\n. - If you are using Python:\n. - Numpy array slices won\'t work as input because solvePnP requires contiguous\n. arrays (enforced by the assertion using cv::Mat::checkVector() around line 55 of\n. modules/calib3d/src/solvepnp.cpp version 2.4.9)\n. - The P3P algorithm requires image points to be in an array of shape (N,1,2) due\n. to its calling of cv::undistortPoints (around line 75 of modules/calib3d/src/solvepnp.cpp version 2.4.9)\n. which requires 2-channel information.\n. - Thus, given some data D = np.array(...) where D.shape = (N,M), in order to use a subset of\n. it as, e.g., imagePoints, one must effectively copy it into a new array: imagePoints =\n. np.ascontiguousarray(D[:,:2]).reshape((N,1,2))\n. - The methods **SOLVEPNP_DLS** and **SOLVEPNP_UPNP** cannot be used as the current implementations are\n. unstable and sometimes give completely wrong results. If you pass one of these two\n. flags, **SOLVEPNP_EPNP** method will be used instead.\n. - The minimum number of points is 4 in the general case. In the case of **SOLVEPNP_P3P** and **SOLVEPNP_AP3P**\n. methods, it is required to use exactly 4 points (the first 3 points are used to estimate all the solutions\n. of the P3P problem, the last one is used to retain the best solution that minimizes the reprojection error).\n. - With **SOLVEPNP_ITERATIVE** method and `useExtrinsicGuess=true`, the minimum number of points is 3 (3 points\n. are sufficient to compute a pose but there are up to 4 solutions). The initial solution should be close to the\n. global solution to converge.\n. - With **SOLVEPNP_IPPE** input points must be >= 4 and object points must be coplanar.\n. - With **SOLVEPNP_IPPE_SQUARE** this is a special case suitable for marker pose estimation.\n. Number of input points must be 4. Object points must be defined in the following order:\n. - point 0: [-squareLength / 2, squareLength / 2, 0]\n. - point 1: [ squareLength / 2, squareLength / 2, 0]\n. - point 2: [ squareLength / 2, -squareLength / 2, 0]\n. - point 3: [-squareLength / 2, -squareLength / 2, 0]' - ... - -def solvePnPGeneric(objectPoints, imagePoints, cameraMatrix, distCoeffs, rvecs=..., tvecs=..., useExtrinsicGuess=..., flags: int = ..., rvec=..., tvec=..., reprojectionError=...) -> typing.Any: - 'solvePnPGeneric(objectPoints, imagePoints, cameraMatrix, distCoeffs[, rvecs[, tvecs[, useExtrinsicGuess[, flags[, rvec[, tvec[, reprojectionError]]]]]]]) -> retval, rvecs, tvecs, reprojectionError\n. @brief Finds an object pose from 3D-2D point correspondences.\n. This function returns a list of all the possible solutions (a solution is a \n. couple), depending on the number of input points and the chosen method:\n. - P3P methods (@ref SOLVEPNP_P3P, @ref SOLVEPNP_AP3P): 3 or 4 input points. Number of returned solutions can be between 0 and 4 with 3 input points.\n. - @ref SOLVEPNP_IPPE Input points must be >= 4 and object points must be coplanar. Returns 2 solutions.\n. - @ref SOLVEPNP_IPPE_SQUARE Special case suitable for marker pose estimation.\n. Number of input points must be 4 and 2 solutions are returned. Object points must be defined in the following order:\n. - point 0: [-squareLength / 2, squareLength / 2, 0]\n. - point 1: [ squareLength / 2, squareLength / 2, 0]\n. - point 2: [ squareLength / 2, -squareLength / 2, 0]\n. - point 3: [-squareLength / 2, -squareLength / 2, 0]\n. - for all the other flags, number of input points must be >= 4 and object points can be in any configuration.\n. Only 1 solution is returned.\n. \n. @param objectPoints Array of object points in the object coordinate space, Nx3 1-channel or\n. 1xN/Nx1 3-channel, where N is the number of points. vector\\ can be also passed here.\n. @param imagePoints Array of corresponding image points, Nx2 1-channel or 1xN/Nx1 2-channel,\n. where N is the number of points. vector\\ can be also passed here.\n. @param cameraMatrix Input camera matrix \\f$A = \\vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\\f$ .\n. @param distCoeffs Input vector of distortion coefficients\n. \\f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]])\\f$ of\n. 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are\n. assumed.\n. @param rvecs Vector of output rotation vectors (see @ref Rodrigues ) that, together with tvecs, brings points from\n. the model coordinate system to the camera coordinate system.\n. @param tvecs Vector of output translation vectors.\n. @param useExtrinsicGuess Parameter used for #SOLVEPNP_ITERATIVE. If true (1), the function uses\n. the provided rvec and tvec values as initial approximations of the rotation and translation\n. vectors, respectively, and further optimizes them.\n. @param flags Method for solving a PnP problem:\n. - **SOLVEPNP_ITERATIVE** Iterative method is based on a Levenberg-Marquardt optimization. In\n. this case the function finds such a pose that minimizes reprojection error, that is the sum\n. of squared distances between the observed projections imagePoints and the projected (using\n. projectPoints ) objectPoints .\n. - **SOLVEPNP_P3P** Method is based on the paper of X.S. Gao, X.-R. Hou, J. Tang, H.-F. Chang\n. "Complete Solution Classification for the Perspective-Three-Point Problem" (@cite gao2003complete).\n. In this case the function requires exactly four object and image points.\n. - **SOLVEPNP_AP3P** Method is based on the paper of T. Ke, S. Roumeliotis\n. "An Efficient Algebraic Solution to the Perspective-Three-Point Problem" (@cite Ke17).\n. In this case the function requires exactly four object and image points.\n. - **SOLVEPNP_EPNP** Method has been introduced by F.Moreno-Noguer, V.Lepetit and P.Fua in the\n. paper "EPnP: Efficient Perspective-n-Point Camera Pose Estimation" (@cite lepetit2009epnp).\n. - **SOLVEPNP_DLS** Method is based on the paper of Joel A. Hesch and Stergios I. Roumeliotis.\n. "A Direct Least-Squares (DLS) Method for PnP" (@cite hesch2011direct).\n. - **SOLVEPNP_UPNP** Method is based on the paper of A.Penate-Sanchez, J.Andrade-Cetto,\n. F.Moreno-Noguer. "Exhaustive Linearization for Robust Camera Pose and Focal Length\n. Estimation" (@cite penate2013exhaustive). In this case the function also estimates the parameters \\f$f_x\\f$ and \\f$f_y\\f$\n. assuming that both have the same value. Then the cameraMatrix is updated with the estimated\n. focal length.\n. - **SOLVEPNP_IPPE** Method is based on the paper of T. Collins and A. Bartoli.\n. "Infinitesimal Plane-Based Pose Estimation" (@cite Collins14). This method requires coplanar object points.\n. - **SOLVEPNP_IPPE_SQUARE** Method is based on the paper of Toby Collins and Adrien Bartoli.\n. "Infinitesimal Plane-Based Pose Estimation" (@cite Collins14). This method is suitable for marker pose estimation.\n. It requires 4 coplanar object points defined in the following order:\n. - point 0: [-squareLength / 2, squareLength / 2, 0]\n. - point 1: [ squareLength / 2, squareLength / 2, 0]\n. - point 2: [ squareLength / 2, -squareLength / 2, 0]\n. - point 3: [-squareLength / 2, -squareLength / 2, 0]\n. @param rvec Rotation vector used to initialize an iterative PnP refinement algorithm, when flag is SOLVEPNP_ITERATIVE\n. and useExtrinsicGuess is set to true.\n. @param tvec Translation vector used to initialize an iterative PnP refinement algorithm, when flag is SOLVEPNP_ITERATIVE\n. and useExtrinsicGuess is set to true.\n. @param reprojectionError Optional vector of reprojection error, that is the RMS error\n. (\\f$ \\text{RMSE} = \\sqrt{\\frac{\\sum_{i}^{N} \\left ( \\hat{y_i} - y_i \\right )^2}{N}} \\f$) between the input image points\n. and the 3D object points projected with the estimated pose.\n. \n. The function estimates the object pose given a set of object points, their corresponding image\n. projections, as well as the camera matrix and the distortion coefficients, see the figure below\n. (more precisely, the X-axis of the camera frame is pointing to the right, the Y-axis downward\n. and the Z-axis forward).\n. \n. ![](pnp.jpg)\n. \n. Points expressed in the world frame \\f$ \\bf{X}_w \\f$ are projected into the image plane \\f$ \\left[ u, v \\right] \\f$\n. using the perspective projection model \\f$ \\Pi \\f$ and the camera intrinsic parameters matrix \\f$ \\bf{A} \\f$:\n. \n. \\f[\n. \\begin{align*}\n. \\begin{bmatrix}\n. u \\\\\n. v \\\\\n. 1\n. \\end{bmatrix} &=\n. \\bf{A} \\hspace{0.1em} \\Pi \\hspace{0.2em} ^{c}\\bf{T}_w\n. \\begin{bmatrix}\n. X_{w} \\\\\n. Y_{w} \\\\\n. Z_{w} \\\\\n. 1\n. \\end{bmatrix} \\\\\n. \\begin{bmatrix}\n. u \\\\\n. v \\\\\n. 1\n. \\end{bmatrix} &=\n. \\begin{bmatrix}\n. f_x & 0 & c_x \\\\\n. 0 & f_y & c_y \\\\\n. 0 & 0 & 1\n. \\end{bmatrix}\n. \\begin{bmatrix}\n. 1 & 0 & 0 & 0 \\\\\n. 0 & 1 & 0 & 0 \\\\\n. 0 & 0 & 1 & 0\n. \\end{bmatrix}\n. \\begin{bmatrix}\n. r_{11} & r_{12} & r_{13} & t_x \\\\\n. r_{21} & r_{22} & r_{23} & t_y \\\\\n. r_{31} & r_{32} & r_{33} & t_z \\\\\n. 0 & 0 & 0 & 1\n. \\end{bmatrix}\n. \\begin{bmatrix}\n. X_{w} \\\\\n. Y_{w} \\\\\n. Z_{w} \\\\\n. 1\n. \\end{bmatrix}\n. \\end{align*}\n. \\f]\n. \n. The estimated pose is thus the rotation (`rvec`) and the translation (`tvec`) vectors that allow transforming\n. a 3D point expressed in the world frame into the camera frame:\n. \n. \\f[\n. \\begin{align*}\n. \\begin{bmatrix}\n. X_c \\\\\n. Y_c \\\\\n. Z_c \\\\\n. 1\n. \\end{bmatrix} &=\n. \\hspace{0.2em} ^{c}\\bf{T}_w\n. \\begin{bmatrix}\n. X_{w} \\\\\n. Y_{w} \\\\\n. Z_{w} \\\\\n. 1\n. \\end{bmatrix} \\\\\n. \\begin{bmatrix}\n. X_c \\\\\n. Y_c \\\\\n. Z_c \\\\\n. 1\n. \\end{bmatrix} &=\n. \\begin{bmatrix}\n. r_{11} & r_{12} & r_{13} & t_x \\\\\n. r_{21} & r_{22} & r_{23} & t_y \\\\\n. r_{31} & r_{32} & r_{33} & t_z \\\\\n. 0 & 0 & 0 & 1\n. \\end{bmatrix}\n. \\begin{bmatrix}\n. X_{w} \\\\\n. Y_{w} \\\\\n. Z_{w} \\\\\n. 1\n. \\end{bmatrix}\n. \\end{align*}\n. \\f]\n. \n. @note\n. - An example of how to use solvePnP for planar augmented reality can be found at\n. opencv_source_code/samples/python/plane_ar.py\n. - If you are using Python:\n. - Numpy array slices won\'t work as input because solvePnP requires contiguous\n. arrays (enforced by the assertion using cv::Mat::checkVector() around line 55 of\n. modules/calib3d/src/solvepnp.cpp version 2.4.9)\n. - The P3P algorithm requires image points to be in an array of shape (N,1,2) due\n. to its calling of cv::undistortPoints (around line 75 of modules/calib3d/src/solvepnp.cpp version 2.4.9)\n. which requires 2-channel information.\n. - Thus, given some data D = np.array(...) where D.shape = (N,M), in order to use a subset of\n. it as, e.g., imagePoints, one must effectively copy it into a new array: imagePoints =\n. np.ascontiguousarray(D[:,:2]).reshape((N,1,2))\n. - The methods **SOLVEPNP_DLS** and **SOLVEPNP_UPNP** cannot be used as the current implementations are\n. unstable and sometimes give completely wrong results. If you pass one of these two\n. flags, **SOLVEPNP_EPNP** method will be used instead.\n. - The minimum number of points is 4 in the general case. In the case of **SOLVEPNP_P3P** and **SOLVEPNP_AP3P**\n. methods, it is required to use exactly 4 points (the first 3 points are used to estimate all the solutions\n. of the P3P problem, the last one is used to retain the best solution that minimizes the reprojection error).\n. - With **SOLVEPNP_ITERATIVE** method and `useExtrinsicGuess=true`, the minimum number of points is 3 (3 points\n. are sufficient to compute a pose but there are up to 4 solutions). The initial solution should be close to the\n. global solution to converge.\n. - With **SOLVEPNP_IPPE** input points must be >= 4 and object points must be coplanar.\n. - With **SOLVEPNP_IPPE_SQUARE** this is a special case suitable for marker pose estimation.\n. Number of input points must be 4. Object points must be defined in the following order:\n. - point 0: [-squareLength / 2, squareLength / 2, 0]\n. - point 1: [ squareLength / 2, squareLength / 2, 0]\n. - point 2: [ squareLength / 2, -squareLength / 2, 0]\n. - point 3: [-squareLength / 2, -squareLength / 2, 0]' - ... - -def solvePnPRansac(objectPoints, imagePoints, cameraMatrix, distCoeffs, rvec=..., tvec=..., useExtrinsicGuess=..., iterationsCount=..., reprojectionError=..., confidence=..., inliers=..., flags: int = ...) -> typing.Any: - 'solvePnPRansac(objectPoints, imagePoints, cameraMatrix, distCoeffs[, rvec[, tvec[, useExtrinsicGuess[, iterationsCount[, reprojectionError[, confidence[, inliers[, flags]]]]]]]]) -> retval, rvec, tvec, inliers\n. @brief Finds an object pose from 3D-2D point correspondences using the RANSAC scheme.\n. \n. @param objectPoints Array of object points in the object coordinate space, Nx3 1-channel or\n. 1xN/Nx1 3-channel, where N is the number of points. vector\\ can be also passed here.\n. @param imagePoints Array of corresponding image points, Nx2 1-channel or 1xN/Nx1 2-channel,\n. where N is the number of points. vector\\ can be also passed here.\n. @param cameraMatrix Input camera matrix \\f$A = \\vecthreethree{fx}{0}{cx}{0}{fy}{cy}{0}{0}{1}\\f$ .\n. @param distCoeffs Input vector of distortion coefficients\n. \\f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]])\\f$ of\n. 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are\n. assumed.\n. @param rvec Output rotation vector (see @ref Rodrigues ) that, together with tvec, brings points from\n. the model coordinate system to the camera coordinate system.\n. @param tvec Output translation vector.\n. @param useExtrinsicGuess Parameter used for @ref SOLVEPNP_ITERATIVE. If true (1), the function uses\n. the provided rvec and tvec values as initial approximations of the rotation and translation\n. vectors, respectively, and further optimizes them.\n. @param iterationsCount Number of iterations.\n. @param reprojectionError Inlier threshold value used by the RANSAC procedure. The parameter value\n. is the maximum allowed distance between the observed and computed point projections to consider it\n. an inlier.\n. @param confidence The probability that the algorithm produces a useful result.\n. @param inliers Output vector that contains indices of inliers in objectPoints and imagePoints .\n. @param flags Method for solving a PnP problem (see @ref solvePnP ).\n. \n. The function estimates an object pose given a set of object points, their corresponding image\n. projections, as well as the camera matrix and the distortion coefficients. This function finds such\n. a pose that minimizes reprojection error, that is, the sum of squared distances between the observed\n. projections imagePoints and the projected (using @ref projectPoints ) objectPoints. The use of RANSAC\n. makes the function resistant to outliers.\n. \n. @note\n. - An example of how to use solvePNPRansac for object detection can be found at\n. opencv_source_code/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/\n. - The default method used to estimate the camera pose for the Minimal Sample Sets step\n. is #SOLVEPNP_EPNP. Exceptions are:\n. - if you choose #SOLVEPNP_P3P or #SOLVEPNP_AP3P, these methods will be used.\n. - if the number of input points is equal to 4, #SOLVEPNP_P3P is used.\n. - The method used to estimate the camera pose using all the inliers is defined by the\n. flags parameters unless it is equal to #SOLVEPNP_P3P or #SOLVEPNP_AP3P. In this case,\n. the method #SOLVEPNP_EPNP will be used instead.' - ... - -def solvePnPRefineLM(objectPoints, imagePoints, cameraMatrix, distCoeffs, rvec, tvec, criteria=...) -> typing.Any: - 'solvePnPRefineLM(objectPoints, imagePoints, cameraMatrix, distCoeffs, rvec, tvec[, criteria]) -> rvec, tvec\n. @brief Refine a pose (the translation and the rotation that transform a 3D point expressed in the object coordinate frame\n. to the camera coordinate frame) from a 3D-2D point correspondences and starting from an initial solution.\n. \n. @param objectPoints Array of object points in the object coordinate space, Nx3 1-channel or 1xN/Nx1 3-channel,\n. where N is the number of points. vector\\ can also be passed here.\n. @param imagePoints Array of corresponding image points, Nx2 1-channel or 1xN/Nx1 2-channel,\n. where N is the number of points. vector\\ can also be passed here.\n. @param cameraMatrix Input camera matrix \\f$A = \\vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\\f$ .\n. @param distCoeffs Input vector of distortion coefficients\n. \\f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]])\\f$ of\n. 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are\n. assumed.\n. @param rvec Input/Output rotation vector (see @ref Rodrigues ) that, together with tvec, brings points from\n. the model coordinate system to the camera coordinate system. Input values are used as an initial solution.\n. @param tvec Input/Output translation vector. Input values are used as an initial solution.\n. @param criteria Criteria when to stop the Levenberg-Marquard iterative algorithm.\n. \n. The function refines the object pose given at least 3 object points, their corresponding image\n. projections, an initial solution for the rotation and translation vector,\n. as well as the camera matrix and the distortion coefficients.\n. The function minimizes the projection error with respect to the rotation and the translation vectors, according\n. to a Levenberg-Marquardt iterative minimization @cite Madsen04 @cite Eade13 process.' - ... - -def solvePnPRefineVVS(objectPoints, imagePoints, cameraMatrix, distCoeffs, rvec, tvec, criteria=..., VVSlambda=...) -> typing.Any: - 'solvePnPRefineVVS(objectPoints, imagePoints, cameraMatrix, distCoeffs, rvec, tvec[, criteria[, VVSlambda]]) -> rvec, tvec\n. @brief Refine a pose (the translation and the rotation that transform a 3D point expressed in the object coordinate frame\n. to the camera coordinate frame) from a 3D-2D point correspondences and starting from an initial solution.\n. \n. @param objectPoints Array of object points in the object coordinate space, Nx3 1-channel or 1xN/Nx1 3-channel,\n. where N is the number of points. vector\\ can also be passed here.\n. @param imagePoints Array of corresponding image points, Nx2 1-channel or 1xN/Nx1 2-channel,\n. where N is the number of points. vector\\ can also be passed here.\n. @param cameraMatrix Input camera matrix \\f$A = \\vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\\f$ .\n. @param distCoeffs Input vector of distortion coefficients\n. \\f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]])\\f$ of\n. 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are\n. assumed.\n. @param rvec Input/Output rotation vector (see @ref Rodrigues ) that, together with tvec, brings points from\n. the model coordinate system to the camera coordinate system. Input values are used as an initial solution.\n. @param tvec Input/Output translation vector. Input values are used as an initial solution.\n. @param criteria Criteria when to stop the Levenberg-Marquard iterative algorithm.\n. @param VVSlambda Gain for the virtual visual servoing control law, equivalent to the \\f$\\alpha\\f$\n. gain in the Damped Gauss-Newton formulation.\n. \n. The function refines the object pose given at least 3 object points, their corresponding image\n. projections, an initial solution for the rotation and translation vector,\n. as well as the camera matrix and the distortion coefficients.\n. The function minimizes the projection error with respect to the rotation and the translation vectors, using a\n. virtual visual servoing (VVS) @cite Chaumette06 @cite Marchand16 scheme.' - ... - -def solvePoly(coeffs, roots=..., maxIters=...) -> typing.Any: - 'solvePoly(coeffs[, roots[, maxIters]]) -> retval, roots\n. @brief Finds the real or complex roots of a polynomial equation.\n. \n. The function cv::solvePoly finds real and complex roots of a polynomial equation:\n. \\f[\\texttt{coeffs} [n] x^{n} + \\texttt{coeffs} [n-1] x^{n-1} + ... + \\texttt{coeffs} [1] x + \\texttt{coeffs} [0] = 0\\f]\n. @param coeffs array of polynomial coefficients.\n. @param roots output (complex) array of roots.\n. @param maxIters maximum number of iterations the algorithm does.' - ... - -def sort(src: Mat, flags: int, dts: Mat = ...) -> typing.Any: - 'sort(src, flags[, dst]) -> dst\n. @brief Sorts each row or each column of a matrix.\n. \n. The function cv::sort sorts each matrix row or each matrix column in\n. ascending or descending order. So you should pass two operation flags to\n. get desired behaviour. If you want to sort matrix rows or columns\n. lexicographically, you can use STL std::sort generic function with the\n. proper comparison predicate.\n. \n. @param src input single-channel array.\n. @param dst output array of the same size and type as src.\n. @param flags operation flags, a combination of #SortFlags\n. @sa sortIdx, randShuffle' - ... - -def sortIdx(src: Mat, flags: int, dts: Mat = ...) -> typing.Any: - 'sortIdx(src, flags[, dst]) -> dst\n. @brief Sorts each row or each column of a matrix.\n. \n. The function cv::sortIdx sorts each matrix row or each matrix column in the\n. ascending or descending order. So you should pass two operation flags to\n. get desired behaviour. Instead of reordering the elements themselves, it\n. stores the indices of sorted elements in the output array. For example:\n. @code\n. Mat A = Mat::eye(3,3,CV_32F), B;\n. sortIdx(A, B, SORT_EVERY_ROW + SORT_ASCENDING);\n. // B will probably contain\n. // (because of equal elements in A some permutations are possible):\n. // [[1, 2, 0], [0, 2, 1], [0, 1, 2]]\n. @endcode\n. @param src input single-channel array.\n. @param dst output integer array of the same size as src.\n. @param flags operation flags that could be a combination of cv::SortFlags\n. @sa sort, randShuffle' - ... - -def spatialGradient(src: Mat, dx=..., dy=..., ksize=..., borderType=...) -> typing.Any: - 'spatialGradient(src[, dx[, dy[, ksize[, borderType]]]]) -> dx, dy\n. @brief Calculates the first order image derivative in both x and y using a Sobel operator\n. \n. Equivalent to calling:\n. \n. @code\n. Sobel( src, dx, CV_16SC1, 1, 0, 3 );\n. Sobel( src, dy, CV_16SC1, 0, 1, 3 );\n. @endcode\n. \n. @param src input image.\n. @param dx output image with first-order derivative in x.\n. @param dy output image with first-order derivative in y.\n. @param ksize size of Sobel kernel. It must be 3.\n. @param borderType pixel extrapolation method, see #BorderTypes.\n. Only #BORDER_DEFAULT=#BORDER_REFLECT_101 and #BORDER_REPLICATE are supported.\n. \n. @sa Sobel' - ... - -def split(m, mv=...) -> typing.Any: - 'split(m[, mv]) -> mv\n. @overload\n. @param m input multi-channel array.\n. @param mv output vector of arrays; the arrays themselves are reallocated, if needed.' - ... - -def sqrBoxFilter(src: Mat, ddepth, ksize, dts: Mat = ..., anchor=..., normalize=..., borderType=...) -> typing.Any: - "sqrBoxFilter(src, ddepth, ksize[, dst[, anchor[, normalize[, borderType]]]]) -> dst\n. @brief Calculates the normalized sum of squares of the pixel values overlapping the filter.\n. \n. For every pixel \\f$ (x, y) \\f$ in the source image, the function calculates the sum of squares of those neighboring\n. pixel values which overlap the filter placed over the pixel \\f$ (x, y) \\f$.\n. \n. The unnormalized square box filter can be useful in computing local image statistics such as the the local\n. variance and standard deviation around the neighborhood of a pixel.\n. \n. @param src input image\n. @param dst output image of the same size and type as _src\n. @param ddepth the output image depth (-1 to use src.depth())\n. @param ksize kernel size\n. @param anchor kernel anchor point. The default value of Point(-1, -1) denotes that the anchor is at the kernel\n. center.\n. @param normalize flag, specifying whether the kernel is to be normalized by it's area or not.\n. @param borderType border mode used to extrapolate pixels outside of the image, see #BorderTypes. #BORDER_WRAP is not supported.\n. @sa boxFilter" - ... - -def sqrt(src: Mat, dts: Mat = ...) -> typing.Any: - 'sqrt(src[, dst]) -> dst\n. @brief Calculates a square root of array elements.\n. \n. The function cv::sqrt calculates a square root of each input array element.\n. In case of multi-channel arrays, each channel is processed\n. independently. The accuracy is approximately the same as of the built-in\n. std::sqrt .\n. @param src input floating-point array.\n. @param dst output array of the same size and type as src.' - ... - -def startWindowThread() -> typing.Any: - 'startWindowThread() -> retval\n.' - ... - -def stereoCalibrate(objectPoints, imagePoints1, imagePoints2, cameraMatrix1, distCoeffs1, cameraMatrix2, distCoeffs2, imageSize, R=..., T=..., E=..., F=..., flags: int = ..., criteria=...) -> typing.Any: - 'stereoCalibrate(objectPoints, imagePoints1, imagePoints2, cameraMatrix1, distCoeffs1, cameraMatrix2, distCoeffs2, imageSize[, R[, T[, E[, F[, flags[, criteria]]]]]]) -> retval, cameraMatrix1, distCoeffs1, cameraMatrix2, distCoeffs2, R, T, E, F\n.' - ... - -def stereoCalibrateExtended(objectPoints, imagePoints1, imagePoints2, cameraMatrix1, distCoeffs1, cameraMatrix2, distCoeffs2, imageSize, R, T, E=..., F=..., perViewErrors=..., flags: int = ..., criteria=...) -> typing.Any: - "stereoCalibrateExtended(objectPoints, imagePoints1, imagePoints2, cameraMatrix1, distCoeffs1, cameraMatrix2, distCoeffs2, imageSize, R, T[, E[, F[, perViewErrors[, flags[, criteria]]]]]) -> retval, cameraMatrix1, distCoeffs1, cameraMatrix2, distCoeffs2, R, T, E, F, perViewErrors\n. @brief Calibrates a stereo camera set up. This function finds the intrinsic parameters\n. for each of the two cameras and the extrinsic parameters between the two cameras.\n. \n. @param objectPoints Vector of vectors of the calibration pattern points. The same structure as\n. in @ref calibrateCamera. For each pattern view, both cameras need to see the same object\n. points. Therefore, objectPoints.size(), imagePoints1.size(), and imagePoints2.size() need to be\n. equal as well as objectPoints[i].size(), imagePoints1[i].size(), and imagePoints2[i].size() need to\n. be equal for each i.\n. @param imagePoints1 Vector of vectors of the projections of the calibration pattern points,\n. observed by the first camera. The same structure as in @ref calibrateCamera.\n. @param imagePoints2 Vector of vectors of the projections of the calibration pattern points,\n. observed by the second camera. The same structure as in @ref calibrateCamera.\n. @param cameraMatrix1 Input/output camera matrix for the first camera, the same as in\n. @ref calibrateCamera. Furthermore, for the stereo case, additional flags may be used, see below.\n. @param distCoeffs1 Input/output vector of distortion coefficients, the same as in\n. @ref calibrateCamera.\n. @param cameraMatrix2 Input/output second camera matrix for the second camera. See description for\n. cameraMatrix1.\n. @param distCoeffs2 Input/output lens distortion coefficients for the second camera. See\n. description for distCoeffs1.\n. @param imageSize Size of the image used only to initialize the intrinsic camera matrices.\n. @param R Output rotation matrix. Together with the translation vector T, this matrix brings\n. points given in the first camera's coordinate system to points in the second camera's\n. coordinate system. In more technical terms, the tuple of R and T performs a change of basis\n. from the first camera's coordinate system to the second camera's coordinate system. Due to its\n. duality, this tuple is equivalent to the position of the first camera with respect to the\n. second camera coordinate system.\n. @param T Output translation vector, see description above.\n. @param E Output essential matrix.\n. @param F Output fundamental matrix.\n. @param perViewErrors Output vector of the RMS re-projection error estimated for each pattern view.\n. @param flags Different flags that may be zero or a combination of the following values:\n. - **CALIB_FIX_INTRINSIC** Fix cameraMatrix? and distCoeffs? so that only R, T, E, and F\n. matrices are estimated.\n. - **CALIB_USE_INTRINSIC_GUESS** Optimize some or all of the intrinsic parameters\n. according to the specified flags. Initial values are provided by the user.\n. - **CALIB_USE_EXTRINSIC_GUESS** R and T contain valid initial values that are optimized further.\n. Otherwise R and T are initialized to the median value of the pattern views (each dimension separately).\n. - **CALIB_FIX_PRINCIPAL_POINT** Fix the principal points during the optimization.\n. - **CALIB_FIX_FOCAL_LENGTH** Fix \\f$f^{(j)}_x\\f$ and \\f$f^{(j)}_y\\f$ .\n. - **CALIB_FIX_ASPECT_RATIO** Optimize \\f$f^{(j)}_y\\f$ . Fix the ratio \\f$f^{(j)}_x/f^{(j)}_y\\f$\n. .\n. - **CALIB_SAME_FOCAL_LENGTH** Enforce \\f$f^{(0)}_x=f^{(1)}_x\\f$ and \\f$f^{(0)}_y=f^{(1)}_y\\f$ .\n. - **CALIB_ZERO_TANGENT_DIST** Set tangential distortion coefficients for each camera to\n. zeros and fix there.\n. - **CALIB_FIX_K1,...,CALIB_FIX_K6** Do not change the corresponding radial\n. distortion coefficient during the optimization. If CALIB_USE_INTRINSIC_GUESS is set,\n. the coefficient from the supplied distCoeffs matrix is used. Otherwise, it is set to 0.\n. - **CALIB_RATIONAL_MODEL** Enable coefficients k4, k5, and k6. To provide the backward\n. compatibility, this extra flag should be explicitly specified to make the calibration\n. function use the rational model and return 8 coefficients. If the flag is not set, the\n. function computes and returns only 5 distortion coefficients.\n. - **CALIB_THIN_PRISM_MODEL** Coefficients s1, s2, s3 and s4 are enabled. To provide the\n. backward compatibility, this extra flag should be explicitly specified to make the\n. calibration function use the thin prism model and return 12 coefficients. If the flag is not\n. set, the function computes and returns only 5 distortion coefficients.\n. - **CALIB_FIX_S1_S2_S3_S4** The thin prism distortion coefficients are not changed during\n. the optimization. If CALIB_USE_INTRINSIC_GUESS is set, the coefficient from the\n. supplied distCoeffs matrix is used. Otherwise, it is set to 0.\n. - **CALIB_TILTED_MODEL** Coefficients tauX and tauY are enabled. To provide the\n. backward compatibility, this extra flag should be explicitly specified to make the\n. calibration function use the tilted sensor model and return 14 coefficients. If the flag is not\n. set, the function computes and returns only 5 distortion coefficients.\n. - **CALIB_FIX_TAUX_TAUY** The coefficients of the tilted sensor model are not changed during\n. the optimization. If CALIB_USE_INTRINSIC_GUESS is set, the coefficient from the\n. supplied distCoeffs matrix is used. Otherwise, it is set to 0.\n. @param criteria Termination criteria for the iterative optimization algorithm.\n. \n. The function estimates the transformation between two cameras making a stereo pair. If one computes\n. the poses of an object relative to the first camera and to the second camera,\n. ( \\f$R_1\\f$,\\f$T_1\\f$ ) and (\\f$R_2\\f$,\\f$T_2\\f$), respectively, for a stereo camera where the\n. relative position and orientation between the two cameras are fixed, then those poses definitely\n. relate to each other. This means, if the relative position and orientation (\\f$R\\f$,\\f$T\\f$) of the\n. two cameras is known, it is possible to compute (\\f$R_2\\f$,\\f$T_2\\f$) when (\\f$R_1\\f$,\\f$T_1\\f$) is\n. given. This is what the described function does. It computes (\\f$R\\f$,\\f$T\\f$) such that:\n. \n. \\f[R_2=R R_1\\f]\n. \\f[T_2=R T_1 + T.\\f]\n. \n. Therefore, one can compute the coordinate representation of a 3D point for the second camera's\n. coordinate system when given the point's coordinate representation in the first camera's coordinate\n. system:\n. \n. \\f[\\begin{bmatrix}\n. X_2 \\\\\n. Y_2 \\\\\n. Z_2 \\\\\n. 1\n. \\end{bmatrix} = \\begin{bmatrix}\n. R & T \\\\\n. 0 & 1\n. \\end{bmatrix} \\begin{bmatrix}\n. X_1 \\\\\n. Y_1 \\\\\n. Z_1 \\\\\n. 1\n. \\end{bmatrix}.\\f]\n. \n. \n. Optionally, it computes the essential matrix E:\n. \n. \\f[E= \\vecthreethree{0}{-T_2}{T_1}{T_2}{0}{-T_0}{-T_1}{T_0}{0} R\\f]\n. \n. where \\f$T_i\\f$ are components of the translation vector \\f$T\\f$ : \\f$T=[T_0, T_1, T_2]^T\\f$ .\n. And the function can also compute the fundamental matrix F:\n. \n. \\f[F = cameraMatrix2^{-T}\\cdot E \\cdot cameraMatrix1^{-1}\\f]\n. \n. Besides the stereo-related information, the function can also perform a full calibration of each of\n. the two cameras. However, due to the high dimensionality of the parameter space and noise in the\n. input data, the function can diverge from the correct solution. If the intrinsic parameters can be\n. estimated with high accuracy for each of the cameras individually (for example, using\n. calibrateCamera ), you are recommended to do so and then pass CALIB_FIX_INTRINSIC flag to the\n. function along with the computed intrinsic parameters. Otherwise, if all the parameters are\n. estimated at once, it makes sense to restrict some parameters, for example, pass\n. CALIB_SAME_FOCAL_LENGTH and CALIB_ZERO_TANGENT_DIST flags, which is usually a\n. reasonable assumption.\n. \n. Similarly to calibrateCamera, the function minimizes the total re-projection error for all the\n. points in all the available views from both cameras. The function returns the final value of the\n. re-projection error." - ... - -def stereoRectify(cameraMatrix1, distCoeffs1, cameraMatrix2, distCoeffs2, imageSize, R, T, R1=..., R2=..., P1=..., P2=..., Q=..., flags: int = ..., alpha=..., newImageSize=...) -> typing.Any: - 'stereoRectify(cameraMatrix1, distCoeffs1, cameraMatrix2, distCoeffs2, imageSize, R, T[, R1[, R2[, P1[, P2[, Q[, flags[, alpha[, newImageSize]]]]]]]]) -> R1, R2, P1, P2, Q, validPixROI1, validPixROI2\n. @brief Computes rectification transforms for each head of a calibrated stereo camera.\n. \n. @param cameraMatrix1 First camera matrix.\n. @param distCoeffs1 First camera distortion parameters.\n. @param cameraMatrix2 Second camera matrix.\n. @param distCoeffs2 Second camera distortion parameters.\n. @param imageSize Size of the image used for stereo calibration.\n. @param R Rotation matrix from the coordinate system of the first camera to the second camera,\n. see @ref stereoCalibrate.\n. @param T Translation vector from the coordinate system of the first camera to the second camera,\n. see @ref stereoCalibrate.\n. @param R1 Output 3x3 rectification transform (rotation matrix) for the first camera. This matrix\n. brings points given in the unrectified first camera\'s coordinate system to points in the rectified\n. first camera\'s coordinate system. In more technical terms, it performs a change of basis from the\n. unrectified first camera\'s coordinate system to the rectified first camera\'s coordinate system.\n. @param R2 Output 3x3 rectification transform (rotation matrix) for the second camera. This matrix\n. brings points given in the unrectified second camera\'s coordinate system to points in the rectified\n. second camera\'s coordinate system. In more technical terms, it performs a change of basis from the\n. unrectified second camera\'s coordinate system to the rectified second camera\'s coordinate system.\n. @param P1 Output 3x4 projection matrix in the new (rectified) coordinate systems for the first\n. camera, i.e. it projects points given in the rectified first camera coordinate system into the\n. rectified first camera\'s image.\n. @param P2 Output 3x4 projection matrix in the new (rectified) coordinate systems for the second\n. camera, i.e. it projects points given in the rectified first camera coordinate system into the\n. rectified second camera\'s image.\n. @param Q Output \\f$4 \\times 4\\f$ disparity-to-depth mapping matrix (see @ref reprojectImageTo3D).\n. @param flags Operation flags that may be zero or CALIB_ZERO_DISPARITY . If the flag is set,\n. the function makes the principal points of each camera have the same pixel coordinates in the\n. rectified views. And if the flag is not set, the function may still shift the images in the\n. horizontal or vertical direction (depending on the orientation of epipolar lines) to maximize the\n. useful image area.\n. @param alpha Free scaling parameter. If it is -1 or absent, the function performs the default\n. scaling. Otherwise, the parameter should be between 0 and 1. alpha=0 means that the rectified\n. images are zoomed and shifted so that only valid pixels are visible (no black areas after\n. rectification). alpha=1 means that the rectified image is decimated and shifted so that all the\n. pixels from the original images from the cameras are retained in the rectified images (no source\n. image pixels are lost). Any intermediate value yields an intermediate result between\n. those two extreme cases.\n. @param newImageSize New image resolution after rectification. The same size should be passed to\n. initUndistortRectifyMap (see the stereo_calib.cpp sample in OpenCV samples directory). When (0,0)\n. is passed (default), it is set to the original imageSize . Setting it to a larger value can help you\n. preserve details in the original image, especially when there is a big radial distortion.\n. @param validPixROI1 Optional output rectangles inside the rectified images where all the pixels\n. are valid. If alpha=0 , the ROIs cover the whole images. Otherwise, they are likely to be smaller\n. (see the picture below).\n. @param validPixROI2 Optional output rectangles inside the rectified images where all the pixels\n. are valid. If alpha=0 , the ROIs cover the whole images. Otherwise, they are likely to be smaller\n. (see the picture below).\n. \n. The function computes the rotation matrices for each camera that (virtually) make both camera image\n. planes the same plane. Consequently, this makes all the epipolar lines parallel and thus simplifies\n. the dense stereo correspondence problem. The function takes the matrices computed by stereoCalibrate\n. as input. As output, it provides two rotation matrices and also two projection matrices in the new\n. coordinates. The function distinguishes the following two cases:\n. \n. - **Horizontal stereo**: the first and the second camera views are shifted relative to each other\n. mainly along the x-axis (with possible small vertical shift). In the rectified images, the\n. corresponding epipolar lines in the left and right cameras are horizontal and have the same\n. y-coordinate. P1 and P2 look like:\n. \n. \\f[\\texttt{P1} = \\begin{bmatrix}\n. f & 0 & cx_1 & 0 \\\\\n. 0 & f & cy & 0 \\\\\n. 0 & 0 & 1 & 0\n. \\end{bmatrix}\\f]\n. \n. \\f[\\texttt{P2} = \\begin{bmatrix}\n. f & 0 & cx_2 & T_x*f \\\\\n. 0 & f & cy & 0 \\\\\n. 0 & 0 & 1 & 0\n. \\end{bmatrix} ,\\f]\n. \n. where \\f$T_x\\f$ is a horizontal shift between the cameras and \\f$cx_1=cx_2\\f$ if\n. CALIB_ZERO_DISPARITY is set.\n. \n. - **Vertical stereo**: the first and the second camera views are shifted relative to each other\n. mainly in the vertical direction (and probably a bit in the horizontal direction too). The epipolar\n. lines in the rectified images are vertical and have the same x-coordinate. P1 and P2 look like:\n. \n. \\f[\\texttt{P1} = \\begin{bmatrix}\n. f & 0 & cx & 0 \\\\\n. 0 & f & cy_1 & 0 \\\\\n. 0 & 0 & 1 & 0\n. \\end{bmatrix}\\f]\n. \n. \\f[\\texttt{P2} = \\begin{bmatrix}\n. f & 0 & cx & 0 \\\\\n. 0 & f & cy_2 & T_y*f \\\\\n. 0 & 0 & 1 & 0\n. \\end{bmatrix},\\f]\n. \n. where \\f$T_y\\f$ is a vertical shift between the cameras and \\f$cy_1=cy_2\\f$ if\n. CALIB_ZERO_DISPARITY is set.\n. \n. As you can see, the first three columns of P1 and P2 will effectively be the new "rectified" camera\n. matrices. The matrices, together with R1 and R2 , can then be passed to initUndistortRectifyMap to\n. initialize the rectification map for each camera.\n. \n. See below the screenshot from the stereo_calib.cpp sample. Some red horizontal lines pass through\n. the corresponding image regions. This means that the images are well rectified, which is what most\n. stereo correspondence algorithms rely on. The green rectangles are roi1 and roi2 . You see that\n. their interiors are all valid pixels.\n. \n. ![image](pics/stereo_undistort.jpg)' - ... - -def stereoRectifyUncalibrated(points1, points2, F, imgSize, H1=..., H2=..., threshold=...) -> typing.Any: - 'stereoRectifyUncalibrated(points1, points2, F, imgSize[, H1[, H2[, threshold]]]) -> retval, H1, H2\n. @brief Computes a rectification transform for an uncalibrated stereo camera.\n. \n. @param points1 Array of feature points in the first image.\n. @param points2 The corresponding points in the second image. The same formats as in\n. findFundamentalMat are supported.\n. @param F Input fundamental matrix. It can be computed from the same set of point pairs using\n. findFundamentalMat .\n. @param imgSize Size of the image.\n. @param H1 Output rectification homography matrix for the first image.\n. @param H2 Output rectification homography matrix for the second image.\n. @param threshold Optional threshold used to filter out the outliers. If the parameter is greater\n. than zero, all the point pairs that do not comply with the epipolar geometry (that is, the points\n. for which \\f$|\\texttt{points2[i]}^T*\\texttt{F}*\\texttt{points1[i]}|>\\texttt{threshold}\\f$ ) are\n. rejected prior to computing the homographies. Otherwise, all the points are considered inliers.\n. \n. The function computes the rectification transformations without knowing intrinsic parameters of the\n. cameras and their relative position in the space, which explains the suffix "uncalibrated". Another\n. related difference from stereoRectify is that the function outputs not the rectification\n. transformations in the object (3D) space, but the planar perspective transformations encoded by the\n. homography matrices H1 and H2 . The function implements the algorithm @cite Hartley99 .\n. \n. @note\n. While the algorithm does not need to know the intrinsic parameters of the cameras, it heavily\n. depends on the epipolar geometry. Therefore, if the camera lenses have a significant distortion,\n. it would be better to correct it before computing the fundamental matrix and calling this\n. function. For example, distortion coefficients can be estimated for each head of stereo camera\n. separately by using calibrateCamera . Then, the images can be corrected using undistort , or\n. just the point coordinates can be corrected with undistortPoints .' - ... - -def stylization(src: Mat, dts: Mat = ..., sigma_s=..., sigma_r=...) -> typing.Any: - 'stylization(src[, dst[, sigma_s[, sigma_r]]]) -> dst\n. @brief Stylization aims to produce digital imagery with a wide variety of effects not focused on\n. photorealism. Edge-aware filters are ideal for stylization, as they can abstract regions of low\n. contrast while preserving, or enhancing, high-contrast features.\n. \n. @param src Input 8-bit 3-channel image.\n. @param dst Output image with the same size and type as src.\n. @param sigma_s %Range between 0 to 200.\n. @param sigma_r %Range between 0 to 1.' - ... - -def subtract(src1: Mat, src2: Mat, dts: Mat = ..., mask: Mat = ..., dtype=...) -> typing.Any: - 'subtract(src1, src2[, dst[, mask[, dtype]]]) -> dst\n. @brief Calculates the per-element difference between two arrays or array and a scalar.\n. \n. The function subtract calculates:\n. - Difference between two arrays, when both input arrays have the same size and the same number of\n. channels:\n. \\f[\\texttt{dst}(I) = \\texttt{saturate} ( \\texttt{src1}(I) - \\texttt{src2}(I)) \\quad \\texttt{if mask}(I) \\ne0\\f]\n. - Difference between an array and a scalar, when src2 is constructed from Scalar or has the same\n. number of elements as `src1.channels()`:\n. \\f[\\texttt{dst}(I) = \\texttt{saturate} ( \\texttt{src1}(I) - \\texttt{src2} ) \\quad \\texttt{if mask}(I) \\ne0\\f]\n. - Difference between a scalar and an array, when src1 is constructed from Scalar or has the same\n. number of elements as `src2.channels()`:\n. \\f[\\texttt{dst}(I) = \\texttt{saturate} ( \\texttt{src1} - \\texttt{src2}(I) ) \\quad \\texttt{if mask}(I) \\ne0\\f]\n. - The reverse difference between a scalar and an array in the case of `SubRS`:\n. \\f[\\texttt{dst}(I) = \\texttt{saturate} ( \\texttt{src2} - \\texttt{src1}(I) ) \\quad \\texttt{if mask}(I) \\ne0\\f]\n. where I is a multi-dimensional index of array elements. In case of multi-channel arrays, each\n. channel is processed independently.\n. \n. The first function in the list above can be replaced with matrix expressions:\n. @code{.cpp}\n. dst = src1 - src2;\n. dst -= src1; // equivalent to subtract(dst, src1, dst);\n. @endcode\n. The input arrays and the output array can all have the same or different depths. For example, you\n. can subtract to 8-bit unsigned arrays and store the difference in a 16-bit signed array. Depth of\n. the output array is determined by dtype parameter. In the second and third cases above, as well as\n. in the first case, when src1.depth() == src2.depth(), dtype can be set to the default -1. In this\n. case the output array will have the same depth as the input array, be it src1, src2 or both.\n. @note Saturation is not applied when the output array has the depth CV_32S. You may even get\n. result of an incorrect sign in the case of overflow.\n. @param src1 first input array or a scalar.\n. @param src2 second input array or a scalar.\n. @param dst output array of the same size and the same number of channels as the input array.\n. @param mask optional operation mask; this is an 8-bit single channel array that specifies elements\n. of the output array to be changed.\n. @param dtype optional depth of the output array\n. @sa add, addWeighted, scaleAdd, Mat::convertTo' - ... - -def sumElems(src) -> typing.Any: - 'sumElems(src) -> retval\n. @brief Calculates the sum of array elements.\n. \n. The function cv::sum calculates and returns the sum of array elements,\n. independently for each channel.\n. @param src input array that must have from 1 to 4 channels.\n. @sa countNonZero, mean, meanStdDev, norm, minMaxLoc, reduce' - ... - -def textureFlattening(src: Mat, mask: Mat, dts: Mat = ..., low_threshold=..., high_threshold=..., kernel_size=...) -> typing.Any: - "textureFlattening(src, mask[, dst[, low_threshold[, high_threshold[, kernel_size]]]]) -> dst\n. @brief By retaining only the gradients at edge locations, before integrating with the Poisson solver, one\n. washes out the texture of the selected region, giving its contents a flat aspect. Here Canny Edge %Detector is used.\n. \n. @param src Input 8-bit 3-channel image.\n. @param mask Input 8-bit 1 or 3-channel image.\n. @param dst Output image with the same size and type as src.\n. @param low_threshold %Range from 0 to 100.\n. @param high_threshold Value \\> 100.\n. @param kernel_size The size of the Sobel kernel to be used.\n. \n. @note\n. The algorithm assumes that the color of the source image is close to that of the destination. This\n. assumption means that when the colors don't match, the source image color gets tinted toward the\n. color of the destination image." - ... - -def threshold(src: Mat, thresh, maxval, type, dts: Mat = ...) -> typing.Any: - "threshold(src, thresh, maxval, type[, dst]) -> retval, dst\n. @brief Applies a fixed-level threshold to each array element.\n. \n. The function applies fixed-level thresholding to a multiple-channel array. The function is typically\n. used to get a bi-level (binary) image out of a grayscale image ( #compare could be also used for\n. this purpose) or for removing a noise, that is, filtering out pixels with too small or too large\n. values. There are several types of thresholding supported by the function. They are determined by\n. type parameter.\n. \n. Also, the special values #THRESH_OTSU or #THRESH_TRIANGLE may be combined with one of the\n. above values. In these cases, the function determines the optimal threshold value using the Otsu's\n. or Triangle algorithm and uses it instead of the specified thresh.\n. \n. @note Currently, the Otsu's and Triangle methods are implemented only for 8-bit single-channel images.\n. \n. @param src input array (multiple-channel, 8-bit or 32-bit floating point).\n. @param dst output array of the same size and type and the same number of channels as src.\n. @param thresh threshold value.\n. @param maxval maximum value to use with the #THRESH_BINARY and #THRESH_BINARY_INV thresholding\n. types.\n. @param type thresholding type (see #ThresholdTypes).\n. @return the computed threshold value if Otsu's or Triangle methods used.\n. \n. @sa adaptiveThreshold, findContours, compare, min, max" - ... - -def trace(mtx) -> typing.Any: - 'trace(mtx) -> retval\n. @brief Returns the trace of a matrix.\n. \n. The function cv::trace returns the sum of the diagonal elements of the\n. matrix mtx .\n. \\f[\\mathrm{tr} ( \\texttt{mtx} ) = \\sum _i \\texttt{mtx} (i,i)\\f]\n. @param mtx input matrix.' - ... - -def transform(src: Mat, m, dts: Mat = ...) -> typing.Any: - 'transform(src, m[, dst]) -> dst\n. @brief Performs the matrix transformation of every array element.\n. \n. The function cv::transform performs the matrix transformation of every\n. element of the array src and stores the results in dst :\n. \\f[\\texttt{dst} (I) = \\texttt{m} \\cdot \\texttt{src} (I)\\f]\n. (when m.cols=src.channels() ), or\n. \\f[\\texttt{dst} (I) = \\texttt{m} \\cdot [ \\texttt{src} (I); 1]\\f]\n. (when m.cols=src.channels()+1 )\n. \n. Every element of the N -channel array src is interpreted as N -element\n. vector that is transformed using the M x N or M x (N+1) matrix m to\n. M-element vector - the corresponding element of the output array dst .\n. \n. The function may be used for geometrical transformation of\n. N -dimensional points, arbitrary linear color space transformation (such\n. as various kinds of RGB to YUV transforms), shuffling the image\n. channels, and so forth.\n. @param src input array that must have as many channels (1 to 4) as\n. m.cols or m.cols-1.\n. @param dst output array of the same size and depth as src; it has as\n. many channels as m.rows.\n. @param m transformation 2x2 or 2x3 floating-point matrix.\n. @sa perspectiveTransform, getAffineTransform, estimateAffine2D, warpAffine, warpPerspective' - ... - -def transpose(src: Mat, dts: Mat = ...) -> typing.Any: - 'transpose(src[, dst]) -> dst\n. @brief Transposes a matrix.\n. \n. The function cv::transpose transposes the matrix src :\n. \\f[\\texttt{dst} (i,j) = \\texttt{src} (j,i)\\f]\n. @note No complex conjugation is done in case of a complex matrix. It\n. should be done separately if needed.\n. @param src input array.\n. @param dst output array of the same type as src.' - ... - -def triangulatePoints(projMatr1, projMatr2, projPoints1, projPoints2, points4D=...) -> typing.Any: - "triangulatePoints(projMatr1, projMatr2, projPoints1, projPoints2[, points4D]) -> points4D\n. @brief This function reconstructs 3-dimensional points (in homogeneous coordinates) by using\n. their observations with a stereo camera.\n. \n. @param projMatr1 3x4 projection matrix of the first camera, i.e. this matrix projects 3D points\n. given in the world's coordinate system into the first image.\n. @param projMatr2 3x4 projection matrix of the second camera, i.e. this matrix projects 3D points\n. given in the world's coordinate system into the second image.\n. @param projPoints1 2xN array of feature points in the first image. In the case of the c++ version,\n. it can be also a vector of feature points or two-channel matrix of size 1xN or Nx1.\n. @param projPoints2 2xN array of corresponding points in the second image. In the case of the c++\n. version, it can be also a vector of feature points or two-channel matrix of size 1xN or Nx1.\n. @param points4D 4xN array of reconstructed points in homogeneous coordinates. These points are\n. returned in the world's coordinate system.\n. \n. @note\n. Keep in mind that all input data should be of float type in order for this function to work.\n. \n. @note\n. If the projection matrices from @ref stereoRectify are used, then the returned points are\n. represented in the first camera's rectified coordinate system.\n. \n. @sa\n. reprojectImageTo3D" - ... - -def undistort(src: Mat, cameraMatrix, distCoeffs, dts: Mat = ..., newCameraMatrix=...) -> typing.Any: - 'undistort(src, cameraMatrix, distCoeffs[, dst[, newCameraMatrix]]) -> dst\n. @brief Transforms an image to compensate for lens distortion.\n. \n. The function transforms an image to compensate radial and tangential lens distortion.\n. \n. The function is simply a combination of #initUndistortRectifyMap (with unity R ) and #remap\n. (with bilinear interpolation). See the former function for details of the transformation being\n. performed.\n. \n. Those pixels in the destination image, for which there is no correspondent pixels in the source\n. image, are filled with zeros (black color).\n. \n. A particular subset of the source image that will be visible in the corrected image can be regulated\n. by newCameraMatrix. You can use #getOptimalNewCameraMatrix to compute the appropriate\n. newCameraMatrix depending on your requirements.\n. \n. The camera matrix and the distortion parameters can be determined using #calibrateCamera. If\n. the resolution of images is different from the resolution used at the calibration stage, \\f$f_x,\n. f_y, c_x\\f$ and \\f$c_y\\f$ need to be scaled accordingly, while the distortion coefficients remain\n. the same.\n. \n. @param src Input (distorted) image.\n. @param dst Output (corrected) image that has the same size and type as src .\n. @param cameraMatrix Input camera matrix \\f$A = \\vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\\f$ .\n. @param distCoeffs Input vector of distortion coefficients\n. \\f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6[, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]])\\f$\n. of 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are assumed.\n. @param newCameraMatrix Camera matrix of the distorted image. By default, it is the same as\n. cameraMatrix but you may additionally scale and shift the result by using a different matrix.' - ... - -def undistortPoints(src: Mat, cameraMatrix, distCoeffs, dts: Mat = ..., R=..., P=...) -> typing.Any: - 'undistortPoints(src, cameraMatrix, distCoeffs[, dst[, R[, P]]]) -> dst\n. @brief Computes the ideal point coordinates from the observed point coordinates.\n. \n. The function is similar to #undistort and #initUndistortRectifyMap but it operates on a\n. sparse set of points instead of a raster image. Also the function performs a reverse transformation\n. to projectPoints. In case of a 3D object, it does not reconstruct its 3D coordinates, but for a\n. planar object, it does, up to a translation vector, if the proper R is specified.\n. \n. For each observed point coordinate \\f$(u, v)\\f$ the function computes:\n. \\f[\n. \\begin{array}{l}\n. x^{"} \\leftarrow (u - c_x)/f_x \\\\\n. y^{"} \\leftarrow (v - c_y)/f_y \\\\\n. (x\',y\') = undistort(x^{"},y^{"}, \\texttt{distCoeffs}) \\\\\n. {[X\\,Y\\,W]} ^T \\leftarrow R*[x\' \\, y\' \\, 1]^T \\\\\n. x \\leftarrow X/W \\\\\n. y \\leftarrow Y/W \\\\\n. \\text{only performed if P is specified:} \\\\\n. u\' \\leftarrow x {f\'}_x + {c\'}_x \\\\\n. v\' \\leftarrow y {f\'}_y + {c\'}_y\n. \\end{array}\n. \\f]\n. \n. where *undistort* is an approximate iterative algorithm that estimates the normalized original\n. point coordinates out of the normalized distorted point coordinates ("normalized" means that the\n. coordinates do not depend on the camera matrix).\n. \n. The function can be used for both a stereo camera head or a monocular camera (when R is empty).\n. @param src Observed point coordinates, 2xN/Nx2 1-channel or 1xN/Nx1 2-channel (CV_32FC2 or CV_64FC2) (or\n. vector\\ ).\n. @param dst Output ideal point coordinates (1xN/Nx1 2-channel or vector\\ ) after undistortion and reverse perspective\n. transformation. If matrix P is identity or omitted, dst will contain normalized point coordinates.\n. @param cameraMatrix Camera matrix \\f$\\vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\\f$ .\n. @param distCoeffs Input vector of distortion coefficients\n. \\f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6[, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]])\\f$\n. of 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are assumed.\n. @param R Rectification transformation in the object space (3x3 matrix). R1 or R2 computed by\n. #stereoRectify can be passed here. If the matrix is empty, the identity transformation is used.\n. @param P New camera matrix (3x3) or new projection matrix (3x4) \\f$\\begin{bmatrix} {f\'}_x & 0 & {c\'}_x & t_x \\\\ 0 & {f\'}_y & {c\'}_y & t_y \\\\ 0 & 0 & 1 & t_z \\end{bmatrix}\\f$. P1 or P2 computed by\n. #stereoRectify can be passed here. If the matrix is empty, the identity new camera matrix is used.' - ... - -def undistortPointsIter(src: Mat, cameraMatrix, distCoeffs, R, P, criteria, dts: Mat = ...) -> typing.Any: - 'undistortPointsIter(src, cameraMatrix, distCoeffs, R, P, criteria[, dst]) -> dst\n. @overload\n. @note Default version of #undistortPoints does 5 iterations to compute undistorted points.' - ... - -def useOpenVX() -> typing.Any: - 'useOpenVX() -> retval\n.' - ... - -def useOptimized() -> typing.Any: - 'useOptimized() -> retval\n. @brief Returns the status of optimized code usage.\n. \n. The function returns true if the optimized code is enabled. Otherwise, it returns false.' - ... - -def validateDisparity(disparity, cost, minDisparity, numberOfDisparities, disp12MaxDisp=...) -> typing.Any: - 'validateDisparity(disparity, cost, minDisparity, numberOfDisparities[, disp12MaxDisp]) -> disparity\n.' - ... - -def vconcat(src: Mat, dts: Mat = ...) -> typing.Any: - 'vconcat(src[, dst]) -> dst\n. @overload\n. @code{.cpp}\n. std::vector matrices = { cv::Mat(1, 4, CV_8UC1, cv::Scalar(1)),\n. cv::Mat(1, 4, CV_8UC1, cv::Scalar(2)),\n. cv::Mat(1, 4, CV_8UC1, cv::Scalar(3)),};\n. \n. cv::Mat out;\n. cv::vconcat( matrices, out );\n. //out:\n. //[1, 1, 1, 1;\n. // 2, 2, 2, 2;\n. // 3, 3, 3, 3]\n. @endcode\n. @param src input array or vector of matrices. all of the matrices must have the same number of cols and the same depth\n. @param dst output array. It has the same number of cols and depth as the src, and the sum of rows of the src.\n. same depth.' - ... - -def waitKey(delay=...) -> typing.Any: - 'waitKey([, delay]) -> retval\n. @brief Waits for a pressed key.\n. \n. The function waitKey waits for a key event infinitely (when \\f$\\texttt{delay}\\leq 0\\f$ ) or for delay\n. milliseconds, when it is positive. Since the OS has a minimum time between switching threads, the\n. function will not wait exactly delay ms, it will wait at least delay ms, depending on what else is\n. running on your computer at that time. It returns the code of the pressed key or -1 if no key was\n. pressed before the specified time had elapsed.\n. \n. @note\n. \n. This function is the only method in HighGUI that can fetch and handle events, so it needs to be\n. called periodically for normal event processing unless HighGUI is used within an environment that\n. takes care of event processing.\n. \n. @note\n. \n. The function only works if there is at least one HighGUI window created and the window is active.\n. If there are several HighGUI windows, any of them can be active.\n. \n. @param delay Delay in milliseconds. 0 is the special value that means "forever".' - ... - -def waitKeyEx(delay=...) -> typing.Any: - 'waitKeyEx([, delay]) -> retval\n. @brief Similar to #waitKey, but returns full key code.\n. \n. @note\n. \n. Key code is implementation specific and depends on used backend: QT/GTK/Win32/etc' - ... - -def warpAffine(src: Mat, M, dsize: typing.Tuple[int, int], dts: Mat = ..., flags: int = ..., borderMode=..., borderValue=...) -> typing.Any: - 'warpAffine(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]]) -> dst\n. @brief Applies an affine transformation to an image.\n. \n. The function warpAffine transforms the source image using the specified matrix:\n. \n. \\f[\\texttt{dst} (x,y) = \\texttt{src} ( \\texttt{M} _{11} x + \\texttt{M} _{12} y + \\texttt{M} _{13}, \\texttt{M} _{21} x + \\texttt{M} _{22} y + \\texttt{M} _{23})\\f]\n. \n. when the flag #WARP_INVERSE_MAP is set. Otherwise, the transformation is first inverted\n. with #invertAffineTransform and then put in the formula above instead of M. The function cannot\n. operate in-place.\n. \n. @param src input image.\n. @param dst output image that has the size dsize and the same type as src .\n. @param M \\f$2\\times 3\\f$ transformation matrix.\n. @param dsize size of the output image.\n. @param flags combination of interpolation methods (see #InterpolationFlags) and the optional\n. flag #WARP_INVERSE_MAP that means that M is the inverse transformation (\n. \\f$\\texttt{dst}\\rightarrow\\texttt{src}\\f$ ).\n. @param borderMode pixel extrapolation method (see #BorderTypes); when\n. borderMode=#BORDER_TRANSPARENT, it means that the pixels in the destination image corresponding to\n. the "outliers" in the source image are not modified by the function.\n. @param borderValue value used in case of a constant border; by default, it is 0.\n. \n. @sa warpPerspective, resize, remap, getRectSubPix, transform' - ... - -def warpPerspective(src: Mat, M, dsize: typing.Tuple[int, int], dts: Mat = ..., flags: int = ..., borderMode=..., borderValue=...) -> typing.Any: - 'warpPerspective(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]]) -> dst\n. @brief Applies a perspective transformation to an image.\n. \n. The function warpPerspective transforms the source image using the specified matrix:\n. \n. \\f[\\texttt{dst} (x,y) = \\texttt{src} \\left ( \\frac{M_{11} x + M_{12} y + M_{13}}{M_{31} x + M_{32} y + M_{33}} ,\n. \\frac{M_{21} x + M_{22} y + M_{23}}{M_{31} x + M_{32} y + M_{33}} \\right )\\f]\n. \n. when the flag #WARP_INVERSE_MAP is set. Otherwise, the transformation is first inverted with invert\n. and then put in the formula above instead of M. The function cannot operate in-place.\n. \n. @param src input image.\n. @param dst output image that has the size dsize and the same type as src .\n. @param M \\f$3\\times 3\\f$ transformation matrix.\n. @param dsize size of the output image.\n. @param flags combination of interpolation methods (#INTER_LINEAR or #INTER_NEAREST) and the\n. optional flag #WARP_INVERSE_MAP, that sets M as the inverse transformation (\n. \\f$\\texttt{dst}\\rightarrow\\texttt{src}\\f$ ).\n. @param borderMode pixel extrapolation method (#BORDER_CONSTANT or #BORDER_REPLICATE).\n. @param borderValue value used in case of a constant border; by default, it equals 0.\n. \n. @sa warpAffine, resize, remap, getRectSubPix, perspectiveTransform' - ... - -def warpPolar(src: Mat, dsize: typing.Tuple[int, int], center, maxRadius, flags: int, dts: Mat = ...) -> typing.Any: - 'warpPolar(src, dsize: typing.Tuple[int, int], center, maxRadius, flags[, dst]) -> dst\n. \\brief Remaps an image to polar or semilog-polar coordinates space\n. \n. @anchor polar_remaps_reference_image\n. ![Polar remaps reference](pics/polar_remap_doc.png)\n. \n. Transform the source image using the following transformation:\n. \\f[\n. dst(\\rho , \\phi ) = src(x,y)\n. \\f]\n. \n. where\n. \\f[\n. \\begin{array}{l}\n. \\vec{I} = (x - center.x, \\;y - center.y) \\\\\n. \\phi = Kangle \\cdot \\texttt{angle} (\\vec{I}) \\\\\n. \\rho = \\left\\{\\begin{matrix}\n. Klin \\cdot \\texttt{magnitude} (\\vec{I}) & default \\\\\n. Klog \\cdot log_e(\\texttt{magnitude} (\\vec{I})) & if \\; semilog \\\\\n. \\end{matrix}\\right.\n. \\end{array}\n. \\f]\n. \n. and\n. \\f[\n. \\begin{array}{l}\n. Kangle = dsize.height / 2\\Pi \\\\\n. Klin = dsize.width / maxRadius \\\\\n. Klog = dsize.width / log_e(maxRadius) \\\\\n. \\end{array}\n. \\f]\n. \n. \n. \\par Linear vs semilog mapping\n. \n. Polar mapping can be linear or semi-log. Add one of #WarpPolarMode to `flags` to specify the polar mapping mode.\n. \n. Linear is the default mode.\n. \n. The semilog mapping emulates the human "foveal" vision that permit very high acuity on the line of sight (central vision)\n. in contrast to peripheral vision where acuity is minor.\n. \n. \\par Option on `dsize`:\n. \n. - if both values in `dsize <=0 ` (default),\n. the destination image will have (almost) same area of source bounding circle:\n. \\f[\\begin{array}{l}\n. dsize.area \\leftarrow (maxRadius^2 \\cdot \\Pi) \\\\\n. dsize.width = \\texttt{cvRound}(maxRadius) \\\\\n. dsize.height = \\texttt{cvRound}(maxRadius \\cdot \\Pi) \\\\\n. \\end{array}\\f]\n. \n. \n. - if only `dsize.height <= 0`,\n. the destination image area will be proportional to the bounding circle area but scaled by `Kx * Kx`:\n. \\f[\\begin{array}{l}\n. dsize.height = \\texttt{cvRound}(dsize.width \\cdot \\Pi) \\\\\n. \\end{array}\n. \\f]\n. \n. - if both values in `dsize > 0 `,\n. the destination image will have the given size therefore the area of the bounding circle will be scaled to `dsize`.\n. \n. \n. \\par Reverse mapping\n. \n. You can get reverse mapping adding #WARP_INVERSE_MAP to `flags`\n. \\snippet polar_transforms.cpp InverseMap\n. \n. In addiction, to calculate the original coordinate from a polar mapped coordinate \\f$(rho, phi)->(x, y)\\f$:\n. \\snippet polar_transforms.cpp InverseCoordinate\n. \n. @param src Source image.\n. @param dst Destination image. It will have same type as src.\n. @param dsize The destination image size (see description for valid options).\n. @param center The transformation center.\n. @param maxRadius The radius of the bounding circle to transform. It determines the inverse magnitude scale parameter too.\n. @param flags A combination of interpolation methods, #InterpolationFlags + #WarpPolarMode.\n. - Add #WARP_POLAR_LINEAR to select linear polar mapping (default)\n. - Add #WARP_POLAR_LOG to select semilog polar mapping\n. - Add #WARP_INVERSE_MAP for reverse mapping.\n. @note\n. - The function can not operate in-place.\n. - To calculate magnitude and angle in degrees #cartToPolar is used internally thus angles are measured from 0 to 360 with accuracy about 0.3 degrees.\n. - This function uses #remap. Due to current implementation limitations the size of an input and output images should be less than 32767x32767.\n. \n. @sa cv::remap' - ... - -def watershed(image: Mat, markers) -> typing.Any: - 'watershed(image, markers) -> markers\n. @brief Performs a marker-based image segmentation using the watershed algorithm.\n. \n. The function implements one of the variants of watershed, non-parametric marker-based segmentation\n. algorithm, described in @cite Meyer92 .\n. \n. Before passing the image to the function, you have to roughly outline the desired regions in the\n. image markers with positive (\\>0) indices. So, every region is represented as one or more connected\n. components with the pixel values 1, 2, 3, and so on. Such markers can be retrieved from a binary\n. mask using #findContours and #drawContours (see the watershed.cpp demo). The markers are "seeds" of\n. the future image regions. All the other pixels in markers , whose relation to the outlined regions\n. is not known and should be defined by the algorithm, should be set to 0\'s. In the function output,\n. each pixel in markers is set to a value of the "seed" components or to -1 at boundaries between the\n. regions.\n. \n. @note Any two neighbor connected components are not necessarily separated by a watershed boundary\n. (-1\'s pixels); for example, they can touch each other in the initial marker image passed to the\n. function.\n. \n. @param image Input 8-bit 3-channel image.\n. @param markers Input/output 32-bit single-channel image (map) of markers. It should have the same\n. size as image .\n. \n. @sa findContours\n. \n. @ingroup imgproc_misc' - ... - -def writeOpticalFlow(path, flow) -> typing.Any: - 'writeOpticalFlow(path, flow) -> retval\n. @brief Write a .flo to disk\n. \n. @param path Path to the file to be written\n. @param flow Flow field to be stored\n. \n. The function stores a flow field in a file, returns true on success, false otherwise.\n. The flow field must be a 2-channel, floating-point matrix (CV_32FC2). First channel corresponds\n. to the flow in the horizontal direction (u), second - vertical (v).' - ... - -def __getattr__(name) -> typing.Any: ... #incomplete \ No newline at end of file diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/cv2-stubs/py.typed b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/cv2-stubs/py.typed deleted file mode 100644 index b648ac92..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/cv2-stubs/py.typed +++ /dev/null @@ -1 +0,0 @@ -partial diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/LICENSE.txt b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/LICENSE.txt deleted file mode 100644 index 3ebfb517..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/LICENSE.txt +++ /dev/null @@ -1,8 +0,0 @@ -Copyright (c) Maxim Kurnikov. -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/__init__.pyi deleted file mode 100644 index 2e9627b6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/__init__.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Any - -from .utils.version import get_version as get_version - -VERSION: Any -__version__: str - -def setup(set_prefix: bool = ...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/apps/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/apps/__init__.pyi deleted file mode 100644 index 8270abf9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/apps/__init__.pyi +++ /dev/null @@ -1,2 +0,0 @@ -from .config import AppConfig as AppConfig -from .registry import apps as apps diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/apps/config.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/apps/config.pyi deleted file mode 100644 index 21696a95..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/apps/config.pyi +++ /dev/null @@ -1,24 +0,0 @@ -import types -from typing import Dict, Iterator, Optional, Type - -from django.apps.registry import Apps -from django.db.models.base import Model - -MODELS_MODULE_NAME: str - -class AppConfig: - name: str = ... - module: Optional[types.ModuleType] = ... - apps: Optional[Apps] = ... - label: str = ... - verbose_name: str = ... - path: str = ... - models_module: Optional[str] = ... - models: Dict[str, Type[Model]] = ... - def __init__(self, app_name: str, app_module: Optional[types.ModuleType]) -> None: ... - @classmethod - def create(cls, entry: str) -> AppConfig: ... - def get_model(self, model_name: str, require_ready: bool = ...) -> Type[Model]: ... - def get_models(self, include_auto_created: bool = ..., include_swapped: bool = ...) -> Iterator[Type[Model]]: ... - def import_models(self) -> None: ... - def ready(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/apps/registry.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/apps/registry.pyi deleted file mode 100644 index 9cf5ed1b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/apps/registry.pyi +++ /dev/null @@ -1,40 +0,0 @@ -import threading -from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple, Type, Union - -from django.db.models.base import Model - -from .config import AppConfig - -class Apps: - all_models: Dict[str, Dict[str, Type[Model]]] = ... - app_configs: Dict[str, AppConfig] = ... - stored_app_configs: List[Any] = ... - apps_ready: bool = ... - ready_event: threading.Event = ... - loading: bool = ... - _pending_operations: Dict[Tuple[str, str], List] - models_ready: bool = ... - ready: bool = ... - def __init__(self, installed_apps: Optional[Iterable[Union[AppConfig, str]]] = ...) -> None: ... - def populate(self, installed_apps: Iterable[Union[AppConfig, str]] = ...) -> None: ... - def check_apps_ready(self) -> None: ... - def check_models_ready(self) -> None: ... - def get_app_configs(self) -> Iterable[AppConfig]: ... - def get_app_config(self, app_label: str) -> AppConfig: ... - # it's not possible to support it in plugin properly now - def get_models(self, include_auto_created: bool = ..., include_swapped: bool = ...) -> List[Type[Model]]: ... - def get_model(self, app_label: str, model_name: Optional[str] = ..., require_ready: bool = ...) -> Type[Any]: ... - def register_model(self, app_label: str, model: Type[Model]) -> None: ... - def is_installed(self, app_name: str) -> bool: ... - def get_containing_app_config(self, object_name: str) -> Optional[AppConfig]: ... - def get_registered_model(self, app_label: str, model_name: str) -> Type[Model]: ... - def get_swappable_settings_name(self, to_string: str) -> Optional[str]: ... - def set_available_apps(self, available: Iterable[str]) -> None: ... - def unset_available_apps(self) -> None: ... - def set_installed_apps(self, installed: Iterable[str]) -> None: ... - def unset_installed_apps(self) -> None: ... - def clear_cache(self) -> None: ... - def lazy_model_operation(self, function: Callable, *model_keys: Any) -> None: ... - def do_pending_operations(self, model: Type[Model]) -> None: ... - -apps: Apps diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/commit.txt b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/commit.txt deleted file mode 100644 index f6acf4a1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/commit.txt +++ /dev/null @@ -1 +0,0 @@ -e468ee97da9a53f632047dc57eaf9eeb4acca67c diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/__init__.pyi deleted file mode 100644 index 742f729b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/__init__.pyi +++ /dev/null @@ -1,37 +0,0 @@ -from typing import Any, Optional - -from django.utils.functional import LazyObject - -# explicit dependency on standard settings to make it loaded -from . import global_settings - -ENVIRONMENT_VARIABLE: str = ... -PASSWORD_RESET_TIMEOUT_DAYS_DEPRECATED_MSG: str = ... -DEFAULT_HASHING_ALGORITHM_DEPRECATED_MSG: str = ... - -# required for plugin to be able to distinguish this specific instance of LazySettings from others -class _DjangoConfLazyObject(LazyObject): - def __getattr__(self, item: Any) -> Any: ... - -class LazySettings(_DjangoConfLazyObject): - @property - def configured(self) -> bool: ... - def configure(self, default_settings: Any = ..., **options: Any) -> None: ... - -settings: LazySettings = ... - -class Settings: - def __init__(self, settings_module: str) -> None: ... - def is_overridden(self, setting: str) -> bool: ... - -class UserSettingsHolder: - SETTINGS_MODULE: Optional[Any] = ... - def __init__(self, default_settings: Any) -> None: ... - def __getattr__(self, name: str) -> Any: ... - def __setattr__(self, name: str, value: Any) -> None: ... - def __delattr__(self, name: str) -> None: ... - def is_overridden(self, setting: str) -> bool: ... - -class SettingsReference(str): - def __new__(self, value: Any, setting_name: str) -> SettingsReference: ... - def __init__(self, value: str, setting_name: str) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/global_settings.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/global_settings.pyi deleted file mode 100644 index 3a2e3ca8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/global_settings.pyi +++ /dev/null @@ -1,500 +0,0 @@ -""" -Default Django settings. Override these with settings in the module pointed to -by the DJANGO_SETTINGS_MODULE environment variable. -""" - -# This is defined here as a do-nothing function because we can't import -# django.utils.translation -- that module depends on the settings. -from typing import Any, Dict, List, Optional, Pattern, Protocol, Sequence, Tuple, Union - -#################### -# CORE # -#################### -DEBUG: bool = ... - -# Whether the framework should propagate raw exceptions rather than catching -# them. This is useful under some testing situations and should never be used -# on a live site. -DEBUG_PROPAGATE_EXCEPTIONS: bool = ... - -# People who get code error notifications. -# In the format [('Full Name', 'email@example.com'), ('Full Name', 'anotheremail@example.com')] -ADMINS: List[Tuple[str, str]] = ... - -# List of IP addresses, as strings, that: -# * See debug comments, when DEBUG is true -# * Receive x-headers -INTERNAL_IPS: List[str] = ... - -# Hosts/domain names that are valid for this site. -# "*" matches anything, ".example.com" matches example.com and all subdomains -ALLOWED_HOSTS: List[str] = ... - -# Local time zone for this installation. All choices can be found here: -# https://en.wikipedia.org/wiki/List_of_tz_zones_by_name (although not all -# systems may support all possibilities). When USE_TZ is True, this is -# interpreted as the default user time zone. -TIME_ZONE: str = ... - -# If you set this to True, Django will use timezone-aware datetimes. -USE_TZ: bool = ... - -# Language code for this installation. All choices can be found here: -# http://www.i18nguy.com/unicode/language-identifiers.html -LANGUAGE_CODE: str = ... - -# Languages we provide translations for, out of the box. -LANGUAGES: List[Tuple[str, str]] = ... - -# Languages using BiDi (right-to-left) layout -LANGUAGES_BIDI: List[str] = ... - -# If you set this to False, Django will make some optimizations so as not -# to load the internationalization machinery. -USE_I18N: bool = ... -LOCALE_PATHS: List[str] = ... - -# Settings for language cookie -LANGUAGE_COOKIE_NAME: str = ... -LANGUAGE_COOKIE_AGE: Optional[int] = ... -LANGUAGE_COOKIE_DOMAIN: Optional[str] = ... -LANGUAGE_COOKIE_PATH: str = ... - -# If you set this to True, Django will format dates, numbers and calendars -# according to user current locale. -USE_L10N: bool = ... - -# Not-necessarily-technical managers of the site. They get broken link -# notifications and other various emails. -MANAGERS = ADMINS - -# Default charset to use for all HttpResponse objects, if a -# MIME type isn't manually specified. These are used to construct the -# Content-Type header. -DEFAULT_CHARSET: str = ... - -# Email address that error messages come from. -SERVER_EMAIL: str = ... - -# Database connection info. If left empty, will default to the dummy backend. -DATABASES: Dict[str, Dict[str, Any]] = ... - -# Classes used to implement DB routing behavior. -class Router(Protocol): - def allow_migrate(self, db, app_label, **hints): ... - -DATABASE_ROUTERS: List[Union[str, Router]] = ... - -# The email backend to use. For possible shortcuts see django.core.mail. -# The default is to use the SMTP backend. -# Third-party backends can be specified by providing a Python path -# to a module that defines an EmailBackend class. -EMAIL_BACKEND: str = ... - -# Host for sending email. -EMAIL_HOST: str = ... - -# Port for sending email. -EMAIL_PORT: int = ... - -# Whether to send SMTP 'Date' header in the local time zone or in UTC. -EMAIL_USE_LOCALTIME: bool = ... - -# Optional SMTP authentication information for EMAIL_HOST. -EMAIL_HOST_USER: str = ... -EMAIL_HOST_PASSWORD: str = ... -EMAIL_USE_TLS: bool = ... -EMAIL_USE_SSL: bool = ... -EMAIL_SSL_CERTFILE: Optional[str] = ... -EMAIL_SSL_KEYFILE: Optional[str] = ... -EMAIL_TIMEOUT: Optional[int] = ... - -# List of strings representing installed apps. -INSTALLED_APPS: List[str] = ... - -TEMPLATES: List[Dict[str, Any]] = ... - -# Default form rendering class. -FORM_RENDERER: str = ... - -# Default email address to use for various automated correspondence from -# the site managers. -DEFAULT_FROM_EMAIL: str = ... - -# Subject-line prefix for email messages send with django.core.mail.mail_admins -# or ...mail_managers. Make sure to include the trailing space. -EMAIL_SUBJECT_PREFIX: str = ... - -# Whether to append trailing slashes to URLs. -APPEND_SLASH: bool = ... - -# Whether to prepend the "www." subdomain to URLs that don't have it. -PREPEND_WWW: bool = ... - -# Override the server-derived value of SCRIPT_NAME -FORCE_SCRIPT_NAME: Optional[str] = ... - -# List of compiled regular expression objects representing User-Agent strings -# that are not allowed to visit any page, systemwide. Use this for bad -# robots/crawlers. Here are a few examples: -# import re -# DISALLOWED_USER_AGENTS = [ -# re.compile(r'^NaverBot.*'), -# re.compile(r'^EmailSiphon.*'), -# re.compile(r'^SiteSucker.*'), -# re.compile(r'^sohu-search'), -# ] -DISALLOWED_USER_AGENTS: List[Pattern[str]] = ... - -ABSOLUTE_URL_OVERRIDES: Dict[str, Any] = ... - -# List of compiled regular expression objects representing URLs that need not -# be reported by BrokenLinkEmailsMiddleware. Here are a few examples: -# import re -# IGNORABLE_404_URLS = [ -# re.compile(r'^/apple-touch-icon.*\.png$'), -# re.compile(r'^/favicon.ico$'), -# re.compile(r'^/robots.txt$'), -# re.compile(r'^/phpmyadmin/'), -# re.compile(r'\.(cgi|php|pl)$'), -# ] -IGNORABLE_404_URLS: List[Pattern[str]] = ... - -# A secret key for this particular Django installation. Used in secret-key -# hashing algorithms. Set this in your settings, or Django will complain -# loudly. -SECRET_KEY: str = ... - -# Default file storage mechanism that holds media. -DEFAULT_FILE_STORAGE: str = ... - -# Absolute filesystem path to the directory that will hold user-uploaded files. -# Example: "/var/www/example.com/media/" -MEDIA_ROOT: str = ... - -# URL that handles the media served from MEDIA_ROOT. -# Examples: "http://example.com/media/", "http://media.example.com/" -MEDIA_URL: str = ... - -# Absolute path to the directory static files should be collected to. -# Example: "/var/www/example.com/static/" -STATIC_ROOT: Optional[str] = ... - -# URL that handles the static files served from STATIC_ROOT. -# Example: "http://example.com/static/", "http://static.example.com/" -STATIC_URL: Optional[str] = ... - -# List of upload handler classes to be applied in order. -FILE_UPLOAD_HANDLERS: List[str] = ... - -# Maximum size, in bytes, of a request before it will be streamed to the -# file system instead of into memory. -FILE_UPLOAD_MAX_MEMORY_SIZE: int = ... # i.e. 2.5 MB - -# Maximum size in bytes of request data (excluding file uploads) that will be -# read before a SuspiciousOperation (RequestDataTooBig) is raised. -DATA_UPLOAD_MAX_MEMORY_SIZE: int = ... # i.e. 2.5 MB - -# Maximum number of GET/POST parameters that will be read before a -# SuspiciousOperation (TooManyFieldsSent) is raised. -DATA_UPLOAD_MAX_NUMBER_FIELDS: int = ... - -# Directory in which upload streamed files will be temporarily saved. A value of -# `None` will make Django use the operating system's default temporary directory -# (i.e. "/tmp" on *nix systems). -FILE_UPLOAD_TEMP_DIR: Optional[str] = ... - -# The numeric mode to set newly-uploaded files to. The value should be a mode -# you'd pass directly to os.chmod; see https://docs.python.org/library/os.html#files-and-directories. -FILE_UPLOAD_PERMISSIONS: int = ... - -# The numeric mode to assign to newly-created directories, when uploading files. -# The value should be a mode as you'd pass to os.chmod; -# see https://docs.python.org/library/os.html#files-and-directories. -FILE_UPLOAD_DIRECTORY_PERMISSIONS: Optional[int] = ... - -# Python module path where user will place custom format definition. -# The directory where this setting is pointing should contain subdirectories -# named as the locales, containing a formats.py file -# (i.e. "myproject.locale" for myproject/locale/en/formats.py etc. use) -FORMAT_MODULE_PATH: Optional[str] = ... - -# Default formatting for date objects. See all available format strings here: -# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT: str = ... - -# Default formatting for datetime objects. See all available format strings here: -# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATETIME_FORMAT: str = ... - -# Default formatting for time objects. See all available format strings here: -# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -TIME_FORMAT: str = ... - -# Default formatting for date objects when only the year and month are relevant. -# See all available format strings here: -# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -YEAR_MONTH_FORMAT: str = ... - -# Default formatting for date objects when only the month and day are relevant. -# See all available format strings here: -# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -MONTH_DAY_FORMAT: str = ... - -# Default short formatting for date objects. See all available format strings here: -# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -SHORT_DATE_FORMAT: str = ... - -# Default short formatting for datetime objects. -# See all available format strings here: -# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -SHORT_DATETIME_FORMAT: str = ... - -# Default formats to be used when parsing dates from input boxes, in order -# See all available format string here: -# https://docs.python.org/library/datetime.html#strftime-behavior -# * Note that these format strings are different from the ones to display dates -DATE_INPUT_FORMATS: List[str] = ... - -# Default formats to be used when parsing times from input boxes, in order -# See all available format string here: -# https://docs.python.org/library/datetime.html#strftime-behavior -# * Note that these format strings are different from the ones to display dates -TIME_INPUT_FORMATS: List[str] = ... # '14:30:59' # '14:30:59.000200' # '14:30' - -# Default formats to be used when parsing dates and times from input boxes, -# in order -# See all available format string here: -# https://docs.python.org/library/datetime.html#strftime-behavior -# * Note that these format strings are different from the ones to display dates -DATETIME_INPUT_FORMATS: List[str] = ... - -# First day of week, to be used on calendars -# 0 means Sunday, 1 means Monday... -FIRST_DAY_OF_WEEK: int = ... - -# Decimal separator symbol -DECIMAL_SEPARATOR: str = ... - -# Boolean that sets whether to add thousand separator when formatting numbers -USE_THOUSAND_SEPARATOR: bool = ... - -# Number of digits that will be together, when splitting them by -# THOUSAND_SEPARATOR. 0 means no grouping, 3 means splitting by thousands... -NUMBER_GROUPING: int = ... - -# Thousand separator symbol -THOUSAND_SEPARATOR: str = ... - -# The tablespaces to use for each model when not specified otherwise. -DEFAULT_TABLESPACE: str = ... -DEFAULT_INDEX_TABLESPACE: str = ... - -# Default X-Frame-Options header value -X_FRAME_OPTIONS: str = ... - -USE_X_FORWARDED_HOST: bool = ... -USE_X_FORWARDED_PORT: bool = ... - -# The Python dotted path to the WSGI application that Django's internal server -# (runserver) will use. If `None`, the return value of -# 'django.core.wsgi.get_wsgi_application' is used, thus preserving the same -# behavior as previous versions of Django. Otherwise this should point to an -# actual WSGI application object. -WSGI_APPLICATION: Optional[str] = ... - -# If your Django app is behind a proxy that sets a header to specify secure -# connections, AND that proxy ensures that user-submitted headers with the -# same name are ignored (so that people can't spoof it), set this value to -# a tuple of (header_name, header_value). For any requests that come in with -# that header/value, request.is_secure() will return True. -# WARNING! Only set this if you fully understand what you're doing. Otherwise, -# you may be opening yourself up to a security risk. -SECURE_PROXY_SSL_HEADER: Optional[Tuple[str, str]] = ... - -############## -# MIDDLEWARE # -############## - -# List of middleware to use. Order is important; in the request phase, these -# middleware will be applied in the order given, and in the response -# phase the middleware will be applied in reverse order. -MIDDLEWARE: List[str] = ... - -############ -# SESSIONS # -############ - -# Cache to store session data if using the cache session backend. -SESSION_CACHE_ALIAS: str = ... -# Cookie name. This can be whatever you want. -SESSION_COOKIE_NAME: str = ... -# Age of cookie, in seconds (default: 2 weeks). -SESSION_COOKIE_AGE: int = ... -# A string like "example.com", or None for standard domain cookie. -SESSION_COOKIE_DOMAIN: Optional[str] = ... -# Whether the session cookie should be secure (https:// only). -SESSION_COOKIE_SECURE: bool = ... -# The path of the session cookie. -SESSION_COOKIE_PATH: str = ... -# Whether to use the non-RFC standard httpOnly flag (IE, FF3+, others) -SESSION_COOKIE_HTTPONLY: bool = ... -# Whether to set the flag restricting cookie leaks on cross-site requests. -# This can be 'Lax', 'Strict', or None to disable the flag. -SESSION_COOKIE_SAMESITE: Optional[str] = ... -# Whether to save the session data on every request. -SESSION_SAVE_EVERY_REQUEST: bool = ... -# Whether a user's session cookie expires when the Web browser is closed. -SESSION_EXPIRE_AT_BROWSER_CLOSE: bool = ... -# The module to store session data -SESSION_ENGINE: str = ... -# Directory to store session files if using the file session module. If None, -# the backend will use a sensible default. -SESSION_FILE_PATH: Optional[str] = ... -# class to serialize session data -SESSION_SERIALIZER: str = ... - -######### -# CACHE # -######### - -# The cache backends to use. -CACHES: Dict[str, Dict[str, Any]] = ... -CACHE_MIDDLEWARE_KEY_PREFIX: str = ... -CACHE_MIDDLEWARE_SECONDS: int = ... -CACHE_MIDDLEWARE_ALIAS: str = ... - -################## -# AUTHENTICATION # -################## - -AUTH_USER_MODEL: str = ... - -AUTHENTICATION_BACKENDS: Sequence[str] = ... - -LOGIN_URL: str = ... - -LOGIN_REDIRECT_URL: str = ... - -LOGOUT_REDIRECT_URL: Optional[str] = ... - -# The number of days a password reset link is valid for -PASSWORD_RESET_TIMEOUT_DAYS: int = ... - -# the first hasher in this list is the preferred algorithm. any -# password using different algorithms will be converted automatically -# upon login -PASSWORD_HASHERS: List[str] = ... - -AUTH_PASSWORD_VALIDATORS: List[Dict[str, str]] = ... - -########### -# SIGNING # -########### - -SIGNING_BACKEND: str = ... - -######## -# CSRF # -######## - -# Dotted path to callable to be used as view when a request is -# rejected by the CSRF middleware. -CSRF_FAILURE_VIEW: str = ... - -# Settings for CSRF cookie. -CSRF_COOKIE_NAME: str = ... -CSRF_COOKIE_AGE: int = ... -CSRF_COOKIE_DOMAIN: Optional[str] = ... -CSRF_COOKIE_PATH: str = ... -CSRF_COOKIE_SECURE: bool = ... -CSRF_COOKIE_HTTPONLY: bool = ... -CSRF_COOKIE_SAMESITE: Optional[str] = ... -CSRF_HEADER_NAME: str = ... -CSRF_TRUSTED_ORIGINS: List[str] = ... -CSRF_USE_SESSIONS: bool = ... - -############ -# MESSAGES # -############ - -# Class to use as messages backend -MESSAGE_STORAGE: str = ... - -# Default values of MESSAGE_LEVEL and MESSAGE_TAGS are defined within -# django.contrib.messages to avoid imports in this settings file. - -########### -# LOGGING # -########### - -# The callable to use to configure logging -LOGGING_CONFIG: str = ... - -# Custom logging configuration. -LOGGING: Dict[str, Any] = ... - -# Default exception reporter filter class used in case none has been -# specifically assigned to the HttpRequest instance. -DEFAULT_EXCEPTION_REPORTER_FILTER: str = ... - -########### -# TESTING # -########### - -# The name of the class to use to run the test suite -TEST_RUNNER: str = ... - -# Apps that don't need to be serialized at test database creation time -# (only apps with migrations are to start with) -TEST_NON_SERIALIZED_APPS: List[str] = ... - -############ -# FIXTURES # -############ - -# The list of directories to search for fixtures -FIXTURE_DIRS: List[str] = ... - -############### -# STATICFILES # -############### - -# A list of locations of additional static files -STATICFILES_DIRS: List[str] = ... - -# The default file storage backend used during the build process -STATICFILES_STORAGE: str = ... - -# List of finder classes that know how to find static files in -# various locations. -STATICFILES_FINDERS: List[str] = ... - -############## -# MIGRATIONS # -############## - -# Migration module overrides for apps, by app label. -MIGRATION_MODULES: Dict[str, str] = ... - -################# -# SYSTEM CHECKS # -################# - -# List of all issues generated by system checks that should be silenced. Light -# issues like warnings, infos or debugs will not generate a message. Silencing -# serious issues like errors and criticals does not result in hiding the -# message, but Django will not stop you from e.g. running server. -SILENCED_SYSTEM_CHECKS: List[str] = ... - -####################### -# SECURITY MIDDLEWARE # -####################### -SECURE_BROWSER_XSS_FILTER: bool = ... -SECURE_CONTENT_TYPE_NOSNIFF: bool = ... -SECURE_HSTS_INCLUDE_SUBDOMAINS: bool = ... -SECURE_HSTS_PRELOAD: bool = ... -SECURE_HSTS_SECONDS: int = ... -SECURE_REDIRECT_EXEMPT: List[str] = ... -SECURE_SSL_HOST: Optional[str] = ... -SECURE_SSL_REDIRECT: bool = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/locale/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/locale/__init__.pyi deleted file mode 100644 index b7629af2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/locale/__init__.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from typing import Any, Dict - -LANG_INFO: Dict[str, Any] = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/urls/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/urls/__init__.pyi deleted file mode 100644 index 865a3a33..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/urls/__init__.pyi +++ /dev/null @@ -1,30 +0,0 @@ -# Stubs for django.conf.urls (Python 3.5) -from typing import Any, Callable, Dict, Optional, Sequence, Tuple, Union, overload - -from django.http.response import HttpResponse, HttpResponseBase -from django.urls import URLPattern, URLResolver -from django.urls import include as include - -handler400: Union[str, Callable[..., HttpResponse]] = ... -handler403: Union[str, Callable[..., HttpResponse]] = ... -handler404: Union[str, Callable[..., HttpResponse]] = ... -handler500: Union[str, Callable[..., HttpResponse]] = ... - -IncludedURLConf = Tuple[Sequence[Union[URLResolver, URLPattern]], Optional[str], Optional[str]] - -# Deprecated -@overload -def url( - regex: str, view: Callable[..., HttpResponseBase], kwargs: Optional[Dict[str, Any]] = ..., name: Optional[str] = ... -) -> URLPattern: ... -@overload -def url( - regex: str, view: IncludedURLConf, kwargs: Optional[Dict[str, Any]] = ..., name: Optional[str] = ... -) -> URLResolver: ... -@overload -def url( - regex: str, - view: Sequence[Union[URLResolver, str]], - kwargs: Optional[Dict[str, Any]] = ..., - name: Optional[str] = ..., -) -> URLResolver: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/urls/i18n.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/urls/i18n.pyi deleted file mode 100644 index ee4b5331..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/urls/i18n.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Callable, List, Tuple, Union - -from django.urls.resolvers import URLPattern, URLResolver - -def i18n_patterns( - *urls: Union[URLPattern, URLResolver], prefix_default_language: bool = ... -) -> List[Union[URLPattern, URLResolver]]: ... -def is_language_prefix_patterns_used(urlconf: str) -> Tuple[bool, bool]: ... - -urlpatterns: List[Callable] diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/urls/static.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/urls/static.pyi deleted file mode 100644 index bcad0db7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/conf/urls/static.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from typing import Any, Callable, List - -from django.urls.resolvers import URLPattern - -def static(prefix: str, view: Callable = ..., **kwargs: Any) -> List[URLPattern]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/__init__.pyi deleted file mode 100644 index 4badf3b4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/__init__.pyi +++ /dev/null @@ -1,23 +0,0 @@ -from . import checks as checks -from .decorators import action as action -from .decorators import display as display -from .decorators import register as register -from .filters import AllValuesFieldListFilter as AllValuesFieldListFilter -from .filters import BooleanFieldListFilter as BooleanFieldListFilter -from .filters import ChoicesFieldListFilter as ChoicesFieldListFilter -from .filters import DateFieldListFilter as DateFieldListFilter -from .filters import EmptyFieldListFilter as EmptyFieldListFilter -from .filters import FieldListFilter as FieldListFilter -from .filters import ListFilter as ListFilter -from .filters import RelatedFieldListFilter as RelatedFieldListFilter -from .filters import RelatedOnlyFieldListFilter as RelatedOnlyFieldListFilter -from .filters import SimpleListFilter as SimpleListFilter -from .options import HORIZONTAL as HORIZONTAL -from .options import VERTICAL as VERTICAL -from .options import ModelAdmin as ModelAdmin -from .options import StackedInline as StackedInline -from .options import TabularInline as TabularInline -from .sites import AdminSite as AdminSite -from .sites import site as site - -def autodiscover() -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/actions.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/actions.pyi deleted file mode 100644 index 13709507..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/actions.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Optional - -from django.contrib.admin.options import ModelAdmin -from django.db.models.query import QuerySet -from django.http.request import HttpRequest -from django.template.response import TemplateResponse - -def delete_selected(modeladmin: ModelAdmin, request: HttpRequest, queryset: QuerySet) -> Optional[TemplateResponse]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/apps.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/apps.pyi deleted file mode 100644 index 0fa9e21e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/apps.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from django.apps import AppConfig - -class SimpleAdminConfig(AppConfig): - default_site: str = ... - -class AdminConfig(SimpleAdminConfig): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/checks.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/checks.pyi deleted file mode 100644 index 654079fa..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/checks.pyi +++ /dev/null @@ -1,21 +0,0 @@ -from typing import Any, Optional, Sequence - -from django.apps.config import AppConfig -from django.contrib.admin.options import BaseModelAdmin -from django.core.checks.messages import CheckMessage, Error - -def check_admin_app(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[CheckMessage]: ... -def check_dependencies(**kwargs: Any) -> Sequence[CheckMessage]: ... - -class BaseModelAdminChecks: - def check(self, admin_obj: BaseModelAdmin, **kwargs: Any) -> Sequence[CheckMessage]: ... - -class ModelAdminChecks(BaseModelAdminChecks): - def check(self, admin_obj: BaseModelAdmin, **kwargs: Any) -> Sequence[CheckMessage]: ... - -class InlineModelAdminChecks(BaseModelAdminChecks): - def check(self, inline_obj: BaseModelAdmin, **kwargs: Any) -> Sequence[CheckMessage]: ... # type: ignore - -def must_be(type: Any, option: Any, obj: Any, id: Any): ... -def must_inherit_from(parent: Any, option: Any, obj: Any, id: Any): ... -def refer_to_missing_field(field: Any, option: Any, obj: Any, id: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/decorators.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/decorators.pyi deleted file mode 100644 index 86f694db..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/decorators.pyi +++ /dev/null @@ -1,26 +0,0 @@ -from typing import Any, Callable, Optional, Sequence, Type, TypeVar, Union - -from django.contrib.admin import ModelAdmin -from django.contrib.admin.sites import AdminSite -from django.db.models import Combinable, QuerySet -from django.db.models.base import Model -from django.db.models.expressions import BaseExpression -from django.http import HttpRequest - -_ModelT = TypeVar("_ModelT", bound=Model) - -def action( - function: Optional[Callable[[ModelAdmin, HttpRequest, QuerySet], None]] = ..., - *, - permissions: Optional[Sequence[str]] = ..., - description: Optional[str] = ..., -) -> Callable: ... -def display( - function: Optional[Callable[[_ModelT], Any]] = ..., - *, - boolean: Optional[bool] = ..., - ordering: Optional[Union[str, Combinable, BaseExpression]] = ..., - description: Optional[str] = ..., - empty_value: Optional[str] = ..., -) -> Callable: ... -def register(*models: Type[Model], site: Optional[AdminSite] = ...) -> Callable: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/exceptions.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/exceptions.pyi deleted file mode 100644 index 8f7dd8b9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/exceptions.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from django.core.exceptions import SuspiciousOperation as SuspiciousOperation - -class DisallowedModelAdminLookup(SuspiciousOperation): ... -class DisallowedModelAdminToField(SuspiciousOperation): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/filters.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/filters.pyi deleted file mode 100644 index 60f0476f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/filters.pyi +++ /dev/null @@ -1,119 +0,0 @@ -from typing import Any, Callable, Dict, Iterator, List, Optional, Tuple, Type - -from django.contrib.admin.options import ModelAdmin -from django.db.models.base import Model -from django.db.models.fields import Field -from django.db.models.fields.related import RelatedField -from django.db.models.query import QuerySet -from django.http.request import HttpRequest - -class ListFilter: - title: str = ... - template: str = ... - used_parameters: Any = ... - def __init__( - self, request: HttpRequest, params: Dict[str, str], model: Type[Model], model_admin: ModelAdmin - ) -> None: ... - def has_output(self) -> bool: ... - def choices(self, changelist: Any) -> Iterator[Dict[str, Any]]: ... - def queryset(self, request: Any, queryset: QuerySet) -> Optional[QuerySet]: ... - def expected_parameters(self) -> Optional[List[str]]: ... - -class SimpleListFilter(ListFilter): - parameter_name: str = ... - lookup_choices: Any = ... - def value(self) -> Optional[str]: ... - def lookups(self, request: Any, model_admin: Any) -> List[Tuple[Any, str]]: ... - def choices(self, changelist: Any) -> Iterator[Dict[str, Any]]: ... - -class FieldListFilter(ListFilter): - field: Field = ... - field_path: str = ... - title: str = ... - def __init__( - self, - field: Field, - request: HttpRequest, - params: Dict[str, str], - model: Type[Model], - model_admin: ModelAdmin, - field_path: str, - ) -> None: ... - @classmethod - def register(cls, test: Callable, list_filter_class: Type[FieldListFilter], take_priority: bool = ...) -> None: ... - @classmethod - def create( - cls, - field: Field, - request: HttpRequest, - params: Dict[str, str], - model: Type[Model], - model_admin: ModelAdmin, - field_path: str, - ) -> FieldListFilter: ... - -class RelatedFieldListFilter(FieldListFilter): - used_parameters: Dict[Any, Any] - lookup_kwarg: str = ... - lookup_kwarg_isnull: str = ... - lookup_val: Any = ... - lookup_val_isnull: Any = ... - lookup_choices: Any = ... - lookup_title: str = ... - title: str = ... - empty_value_display: Any = ... - @property - def include_empty_choice(self) -> bool: ... - def field_choices( - self, field: RelatedField, request: HttpRequest, model_admin: ModelAdmin - ) -> List[Tuple[str, str]]: ... - def choices(self, changelist: Any) -> Iterator[Dict[str, Any]]: ... - -class BooleanFieldListFilter(FieldListFilter): - lookup_kwarg: str = ... - lookup_kwarg2: str = ... - lookup_val: Any = ... - lookup_val2: Any = ... - def choices(self, changelist: Any) -> Iterator[Dict[str, Any]]: ... - -class ChoicesFieldListFilter(FieldListFilter): - title: str - used_parameters: Dict[Any, Any] - lookup_kwarg: str = ... - lookup_kwarg_isnull: str = ... - lookup_val: Any = ... - lookup_val_isnull: Any = ... - def choices(self, changelist: Any) -> Iterator[Dict[str, Any]]: ... - -class DateFieldListFilter(FieldListFilter): - field_generic: Any = ... - date_params: Any = ... - lookup_kwarg_since: Any = ... - lookup_kwarg_until: Any = ... - links: Any = ... - lookup_kwarg_isnull: Any = ... - def choices(self, changelist: Any) -> Iterator[Dict[str, Any]]: ... - -class AllValuesFieldListFilter(FieldListFilter): - title: str - used_parameters: Dict[Any, Any] - lookup_kwarg: str = ... - lookup_kwarg_isnull: str = ... - lookup_val: Any = ... - lookup_val_isnull: Any = ... - empty_value_display: str = ... - lookup_choices: QuerySet = ... - def choices(self, changelist: Any) -> Iterator[Dict[str, Any]]: ... - -class RelatedOnlyFieldListFilter(RelatedFieldListFilter): - lookup_kwarg: str - lookup_kwarg_isnull: str - lookup_val: Any - lookup_val_isnull: Any - title: str - used_parameters: Dict[Any, Any] - -class EmptyFieldListFilter(FieldListFilter): - lookup_kwarg: str = ... - lookup_val: Any = ... - def choices(self, changelist: Any) -> Iterator[Dict[str, Any]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/forms.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/forms.pyi deleted file mode 100644 index fdfe7d91..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/forms.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from django.contrib.auth.forms import AuthenticationForm, PasswordChangeForm - -class AdminAuthenticationForm(AuthenticationForm): - required_css_class: str = ... - -class AdminPasswordChangeForm(PasswordChangeForm): - required_css_class: str = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/helpers.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/helpers.pyi deleted file mode 100644 index 13d2ed1b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/helpers.pyi +++ /dev/null @@ -1,186 +0,0 @@ -import sys -from typing import Any, Callable, Dict, Iterable, Iterator, List, Mapping, Optional, Sequence, Tuple, Union - -from django import forms -from django.contrib.admin.options import ModelAdmin -from django.db.models import Model -from django.db.models.fields import AutoField -from django.forms.boundfield import BoundField -from django.forms.models import ModelForm -from django.forms.utils import ErrorDict, ErrorList -from django.forms.widgets import Media, Widget -from django.utils.safestring import SafeString - -if sys.version_info < (3, 8): - from typing_extensions import TypedDict -else: - from typing import TypedDict - -ACTION_CHECKBOX_NAME: str - -class ActionForm(forms.Form): - action: Any = ... - select_across: Any = ... - -checkbox: Any - -class _PrepopulatedDict(TypedDict): - field: BoundField - dependencies: List[BoundField] - -class AdminForm: - prepopulated_fields: List[_PrepopulatedDict] - model_admin: Optional[ModelAdmin] = ... - readonly_fields: Sequence[str] = ... - form: ModelForm - fieldsets: List[Tuple[Any, Dict[str, List[str]]]] - def __init__( - self, - form: ModelForm, - fieldsets: List[Tuple[Any, Dict[str, List[str]]]], - prepopulated_fields: Mapping[str, Iterable[str]], - readonly_fields: Optional[Sequence[str]] = ..., - model_admin: Optional[ModelAdmin] = ..., - ) -> None: ... - def __iter__(self) -> Iterator[Fieldset]: ... - @property - def errors(self) -> ErrorDict: ... - @property - def non_field_errors(self) -> Callable[[], ErrorList]: ... - @property - def media(self) -> Media: ... - -class Fieldset: - form: ModelForm = ... - classes: str = ... - description: Optional[str] = ... - model_admin: Optional[ModelAdmin] = ... - readonly_fields: Sequence[str] = ... - def __init__( - self, - form: ModelForm, - name: Optional[Any] = ..., - readonly_fields: Sequence[str] = ..., - fields: Sequence[str] = ..., - classes: Iterable[str] = ..., - description: Optional[str] = ..., - model_admin: Optional[ModelAdmin] = ..., - ) -> None: ... - @property - def media(self) -> Media: ... - def __iter__(self) -> Iterator[Fieldline]: ... - -class Fieldline: - form: ModelForm = ... - fields: Sequence[str] = ... - has_visible_field: bool = ... - model_admin: Optional[ModelAdmin] = ... - readonly_fields: Sequence[str] = ... - def __init__( - self, - form: ModelForm, - field: Union[str, Sequence[str]], - readonly_fields: Optional[Sequence[str]] = ..., - model_admin: Optional[ModelAdmin] = ..., - ) -> None: ... - def __iter__(self) -> Iterator[Union[AdminField, AdminReadonlyField]]: ... - def errors(self) -> SafeString: ... - -class AdminField: - field: BoundField = ... - is_first: bool = ... - is_checkbox: bool = ... - is_readonly: bool = ... - def __init__(self, form: ModelForm, field: str, is_first: bool) -> None: ... - def label_tag(self) -> SafeString: ... - def errors(self) -> SafeString: ... - -class _FieldDictT(TypedDict): - name: str - label: str - help_text: str - field: Union[Callable[[Model], Any], str] - -class AdminReadonlyField: - field: _FieldDictT = ... - form: ModelForm = ... - model_admin: Optional[ModelAdmin] = ... - is_first: bool = ... - is_checkbox: bool = ... - is_readonly: bool = ... - empty_value_display: Any = ... - def __init__( - self, - form: ModelForm, - field: Union[Callable[[Model], Any], str], - is_first: bool, - model_admin: Optional[ModelAdmin] = ..., - ) -> None: ... - def label_tag(self) -> SafeString: ... - def contents(self) -> SafeString: ... - -class InlineAdminFormSet: - opts: Any = ... - formset: Any = ... - fieldsets: Any = ... - model_admin: Optional[ModelAdmin] = ... - readonly_fields: Sequence[str] = ... - prepopulated_fields: Dict[str, Any] = ... - classes: str = ... - has_add_permission: bool = ... - has_change_permission: bool = ... - has_delete_permission: bool = ... - has_view_permission: bool = ... - def __init__( - self, - inline: Any, - formset: Any, - fieldsets: Any, - prepopulated_fields: Optional[Dict[str, Any]] = ..., - readonly_fields: Optional[Sequence[str]] = ..., - model_admin: Optional[ModelAdmin] = ..., - has_add_permission: bool = ..., - has_change_permission: bool = ..., - has_delete_permission: bool = ..., - has_view_permission: bool = ..., - ) -> None: ... - def __iter__(self) -> Iterator[InlineAdminForm]: ... - def fields(self) -> Iterator[Dict[str, Union[Dict[str, bool], bool, Widget, str]]]: ... - def inline_formset_data(self) -> str: ... - @property - def forms(self): ... - @property - def non_form_errors(self) -> Callable[[], ErrorList]: ... - @property - def media(self) -> Media: ... - -class InlineAdminForm(AdminForm): - formset: Any = ... - original: Optional[bool] = ... - show_url: bool = ... - absolute_url: Optional[str] = ... - def __init__( - self, - formset: Any, - form: ModelForm, - fieldsets: Any, - prepopulated_fields: Any, - original: Optional[bool], - readonly_fields: Optional[Sequence[str]] = ..., - model_admin: Optional[ModelAdmin] = ..., - view_on_site_url: Optional[str] = ..., - ) -> None: ... - def __iter__(self) -> Iterator[InlineFieldset]: ... - def needs_explicit_pk_field(self) -> Union[bool, AutoField]: ... - def pk_field(self) -> AdminField: ... - def fk_field(self) -> AdminField: ... - def deletion_field(self) -> AdminField: ... - def ordering_field(self): ... - -class InlineFieldset(Fieldset): - formset: Any = ... - def __init__(self, formset: Any, *args: Any, **kwargs: Any) -> None: ... - def __iter__(self) -> Iterator[Fieldline]: ... - -class AdminErrorList(forms.utils.ErrorList): - def __init__(self, form: ModelForm, inline_formsets: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/migrations/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/migrations/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/models.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/models.pyi deleted file mode 100644 index 73b079b5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/models.pyi +++ /dev/null @@ -1,38 +0,0 @@ -from typing import Any, Optional, Union -from uuid import UUID - -from django.contrib.contenttypes.models import ContentType -from django.db import models -from django.db.models.base import Model - -ADDITION: int -CHANGE: int -DELETION: int -ACTION_FLAG_CHOICES: Any - -class LogEntryManager(models.Manager["LogEntry"]): - def log_action( - self, - user_id: int, - content_type_id: int, - object_id: Union[int, str, UUID], - object_repr: str, - action_flag: int, - change_message: Any = ..., - ) -> LogEntry: ... - -class LogEntry(models.Model): - action_time: models.DateTimeField = ... - user: models.ForeignKey = ... - content_type: models.ForeignKey = models.ForeignKey(ContentType, on_delete=models.CASCADE) - object_id: models.TextField = ... - object_repr: models.CharField = ... - action_flag: models.PositiveSmallIntegerField = ... - change_message: models.TextField = ... - objects: LogEntryManager = ... - def is_addition(self) -> bool: ... - def is_change(self) -> bool: ... - def is_deletion(self) -> bool: ... - def get_change_message(self) -> str: ... - def get_edited_object(self) -> Model: ... - def get_admin_url(self) -> Optional[str]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/options.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/options.pyi deleted file mode 100644 index 25557e1d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/options.pyi +++ /dev/null @@ -1,332 +0,0 @@ -import sys -from typing import ( - Any, - Callable, - Dict, - Generic, - Iterable, - Iterator, - List, - Mapping, - Optional, - Sequence, - Set, - Tuple, - Type, - TypeVar, - Union, -) - -from django import forms -from django.contrib.admin.filters import FieldListFilter, ListFilter -from django.contrib.admin.models import LogEntry -from django.contrib.admin.sites import AdminSite -from django.contrib.admin.views.main import ChangeList -from django.contrib.auth.forms import AdminPasswordChangeForm -from django.contrib.contenttypes.models import ContentType -from django.core.checks.messages import CheckMessage -from django.core.paginator import Paginator -from django.db.models.base import Model -from django.db.models.fields import Field -from django.db.models.fields.related import ForeignKey, ManyToManyField, RelatedField -from django.db.models.options import Options -from django.db.models.query import QuerySet -from django.forms.fields import Field as FormField -from django.forms.fields import TypedChoiceField -from django.forms.forms import BaseForm -from django.forms.formsets import BaseFormSet -from django.forms.models import BaseInlineFormSet, ModelChoiceField, ModelMultipleChoiceField -from django.forms.widgets import Media -from django.http.request import HttpRequest -from django.http.response import HttpResponse, HttpResponseRedirect, JsonResponse -from django.template.response import _TemplateForResponseT -from django.urls.resolvers import URLPattern -from django.utils.datastructures import _ListOrTuple -from django.utils.safestring import SafeString - -if sys.version_info < (3, 8): - from typing_extensions import Literal, TypedDict -else: - from typing import Literal, TypedDict - -IS_POPUP_VAR: str -TO_FIELD_VAR: str -HORIZONTAL: Literal[1] = ... -VERTICAL: Literal[2] = ... - -_Direction = Union[Literal[1], Literal[2]] - -def get_content_type_for_model(obj: Union[Type[Model], Model]) -> ContentType: ... -def get_ul_class(radio_style: int) -> str: ... - -class IncorrectLookupParameters(Exception): ... - -FORMFIELD_FOR_DBFIELD_DEFAULTS: Any -csrf_protect_m: Any - -_FieldGroups = Sequence[Union[str, Sequence[str]]] - -class _OptionalFieldOpts(TypedDict, total=False): - classes: Sequence[str] - description: str - -class _FieldOpts(_OptionalFieldOpts, total=True): - fields: _FieldGroups - -# Workaround for mypy issue, a Sequence type should be preferred here. -# https://github.com/python/mypy/issues/8921 -# _FieldsetSpec = Sequence[Tuple[Optional[str], _FieldOpts]] -_FieldsetSpec = _ListOrTuple[Tuple[Optional[str], _FieldOpts]] -_ListFilterT = Union[ - Type[ListFilter], - Field, - str, - Tuple[Union[Field, str], Type[FieldListFilter]], - List[Union[Field, str, Type[FieldListFilter]]], -] - -# Generic type specifically for models, for use in BaseModelAdmin and subclasses -# https://github.com/typeddjango/django-stubs/issues/482 -_ModelT = TypeVar("_ModelT", bound=Model) - -class BaseModelAdmin(Generic[_ModelT]): - autocomplete_fields: Sequence[str] = ... - raw_id_fields: Sequence[str] = ... - fields: Optional[_FieldGroups] = ... - exclude: Optional[Sequence[str]] = ... - fieldsets: Optional[_FieldsetSpec] = ... - form: Type[forms.ModelForm[_ModelT]] = ... - filter_vertical: Sequence[str] = ... - filter_horizontal: Sequence[str] = ... - radio_fields: Mapping[str, _Direction] = ... - prepopulated_fields: Dict[str, Sequence[str]] = ... - formfield_overrides: Mapping[Type[Field], Mapping[str, Any]] = ... - readonly_fields: Sequence[str] = ... - ordering: Optional[Sequence[str]] = ... - sortable_by: Optional[_ListOrTuple[str]] = ... - view_on_site: Union[bool, Callable[[_ModelT], str]] = ... - show_full_result_count: bool = ... - checks_class: Any = ... - model: Type[_ModelT] - opts: Options[_ModelT] - admin_site: AdminSite - def __init__(self) -> None: ... - def check(self, **kwargs: Any) -> List[CheckMessage]: ... - def formfield_for_dbfield(self, db_field: Field, request: HttpRequest, **kwargs: Any) -> Optional[FormField]: ... - def formfield_for_choice_field(self, db_field: Field, request: HttpRequest, **kwargs: Any) -> TypedChoiceField: ... - def get_field_queryset( - self, db: Optional[str], db_field: RelatedField, request: HttpRequest - ) -> Optional[QuerySet]: ... - def formfield_for_foreignkey( - self, db_field: ForeignKey, request: HttpRequest, **kwargs: Any - ) -> ModelChoiceField: ... - def formfield_for_manytomany( - self, db_field: ManyToManyField, request: HttpRequest, **kwargs: Any - ) -> Optional[ModelMultipleChoiceField]: ... - def get_autocomplete_fields(self, request: HttpRequest) -> Sequence[str]: ... - def get_view_on_site_url(self, obj: Optional[_ModelT] = ...) -> Optional[str]: ... - def get_empty_value_display(self) -> SafeString: ... - def get_exclude(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> Optional[Sequence[str]]: ... - def get_fields(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> _FieldGroups: ... - def get_fieldsets(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> _FieldsetSpec: ... - def get_inlines(self, request: HttpRequest, obj: Optional[_ModelT]) -> List[Type[InlineModelAdmin]]: ... - def get_ordering(self, request: HttpRequest) -> Sequence[str]: ... - def get_readonly_fields(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> Sequence[str]: ... - def get_prepopulated_fields( - self, request: HttpRequest, obj: Optional[_ModelT] = ... - ) -> Dict[str, Sequence[str]]: ... - def get_queryset(self, request: HttpRequest) -> QuerySet[_ModelT]: ... - def get_sortable_by(self, request: HttpRequest) -> Sequence[str]: ... - def lookup_allowed(self, lookup: str, value: str) -> bool: ... - def to_field_allowed(self, request: HttpRequest, to_field: str) -> bool: ... - def has_add_permission(self, request: HttpRequest) -> bool: ... - def has_change_permission(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> bool: ... - def has_delete_permission(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> bool: ... - def has_view_permission(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> bool: ... - def has_view_or_change_permission(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> bool: ... - def has_module_permission(self, request: HttpRequest) -> bool: ... - -_DisplayT = _ListOrTuple[Union[str, Callable[[_ModelT], str]]] - -class ModelAdmin(BaseModelAdmin[_ModelT]): - list_display: _DisplayT = ... - list_display_links: _DisplayT = ... - list_filter: _ListOrTuple[_ListFilterT] = ... - list_select_related: Union[bool, Sequence[str]] = ... - list_per_page: int = ... - list_max_show_all: int = ... - list_editable: Sequence[str] = ... - search_fields: Sequence[str] = ... - date_hierarchy: Optional[str] = ... - save_as: bool = ... - save_as_continue: bool = ... - save_on_top: bool = ... - paginator: Type = ... - preserve_filters: bool = ... - inlines: Sequence[Type[InlineModelAdmin]] = ... - add_form_template: Optional[_TemplateForResponseT] = ... - change_form_template: Optional[_TemplateForResponseT] = ... - change_list_template: Optional[_TemplateForResponseT] = ... - delete_confirmation_template: Optional[_TemplateForResponseT] = ... - delete_selected_confirmation_template: Optional[_TemplateForResponseT] = ... - object_history_template: Optional[_TemplateForResponseT] = ... - popup_response_template: Optional[_TemplateForResponseT] = ... - actions: Optional[Sequence[Union[Callable[[ModelAdmin, HttpRequest, QuerySet], None], str]]] = ... - action_form: Any = ... - actions_on_top: bool = ... - actions_on_bottom: bool = ... - actions_selection_counter: bool = ... - model: Type[_ModelT] = ... - opts: Options[_ModelT] = ... - admin_site: AdminSite = ... - def __init__(self, model: Type[_ModelT], admin_site: AdminSite) -> None: ... - def get_inline_instances(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> List[InlineModelAdmin]: ... - def get_urls(self) -> List[URLPattern]: ... - @property - def urls(self) -> List[URLPattern]: ... - @property - def media(self) -> Media: ... - def get_model_perms(self, request: HttpRequest) -> Dict[str, bool]: ... - def get_form( - self, request: Any, obj: Optional[_ModelT] = ..., change: bool = ..., **kwargs: Any - ) -> Type[forms.ModelForm[_ModelT]]: ... - def get_changelist(self, request: HttpRequest, **kwargs: Any) -> Type[ChangeList]: ... - def get_changelist_instance(self, request: HttpRequest) -> ChangeList: ... - def get_object( - self, request: HttpRequest, object_id: str, from_field: Optional[str] = ... - ) -> Optional[_ModelT]: ... - def get_changelist_form(self, request: Any, **kwargs: Any): ... - def get_changelist_formset(self, request: Any, **kwargs: Any): ... - def get_formsets_with_inlines(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> Iterator[Any]: ... - def get_paginator( - self, - request: HttpRequest, - queryset: QuerySet, - per_page: int, - orphans: int = ..., - allow_empty_first_page: bool = ..., - ) -> Paginator: ... - def log_addition(self, request: HttpRequest, object: _ModelT, message: Any) -> LogEntry: ... - def log_change(self, request: HttpRequest, object: _ModelT, message: Any) -> LogEntry: ... - def log_deletion(self, request: HttpRequest, object: _ModelT, object_repr: str) -> LogEntry: ... - def action_checkbox(self, obj: _ModelT) -> SafeString: ... - def get_actions(self, request: HttpRequest) -> Dict[str, Optional[Tuple[Callable[..., str], str, str]]]: ... - def get_action_choices( - self, request: HttpRequest, default_choices: List[Tuple[str, str]] = ... - ) -> List[Tuple[str, str]]: ... - def get_action(self, action: Union[Callable, str]) -> Optional[Tuple[Callable[..., str], str, str]]: ... - def get_list_display(self, request: HttpRequest) -> _DisplayT: ... - def get_list_display_links(self, request: HttpRequest, list_display: _DisplayT) -> _DisplayT: ... - def get_list_filter(self, request: HttpRequest) -> Sequence[_ListFilterT]: ... - def get_list_select_related(self, request: HttpRequest) -> Union[bool, Sequence[str]]: ... - def get_search_fields(self, request: HttpRequest) -> Sequence[str]: ... - def get_search_results( - self, request: HttpRequest, queryset: QuerySet, search_term: str - ) -> Tuple[QuerySet[_ModelT], bool]: ... - def get_preserved_filters(self, request: HttpRequest) -> str: ... - def _get_edited_object_pks(self, request: HttpRequest, prefix: str) -> List[str]: ... - def _get_list_editable_queryset(self, request: HttpRequest, prefix: str) -> QuerySet[_ModelT]: ... - def construct_change_message( - self, request: HttpRequest, form: AdminPasswordChangeForm, formsets: Iterable[BaseFormSet], add: bool = ... - ) -> List[Dict[str, Dict[str, List[str]]]]: ... - def message_user( - self, - request: HttpRequest, - message: str, - level: Union[int, str] = ..., - extra_tags: str = ..., - fail_silently: bool = ..., - ) -> None: ... - def save_form(self, request: Any, form: Any, change: Any): ... - def save_model(self, request: Any, obj: _ModelT, form: Any, change: Any) -> None: ... - def delete_model(self, request: HttpRequest, obj: _ModelT) -> None: ... - def delete_queryset(self, request: HttpRequest, queryset: QuerySet) -> None: ... - def save_formset(self, request: Any, form: Any, formset: Any, change: Any) -> None: ... - def save_related(self, request: Any, form: Any, formsets: Any, change: Any) -> None: ... - def render_change_form( - self, - request: Any, - context: Any, - add: bool = ..., - change: bool = ..., - form_url: str = ..., - obj: Optional[_ModelT] = ..., - ): ... - def response_add( - self, request: HttpRequest, obj: _ModelT, post_url_continue: Optional[str] = ... - ) -> HttpResponse: ... - def response_change(self, request: HttpRequest, obj: _ModelT) -> HttpResponse: ... - def response_post_save_add(self, request: HttpRequest, obj: _ModelT) -> HttpResponseRedirect: ... - def response_post_save_change(self, request: HttpRequest, obj: _ModelT) -> HttpResponseRedirect: ... - # Probably FileResponse cannot come from ModelAdmin views - def response_action(self, request: HttpRequest, queryset: QuerySet) -> Optional[HttpResponse]: ... - def response_delete(self, request: HttpRequest, obj_display: str, obj_id: int) -> HttpResponse: ... - def render_delete_form(self, request: Any, context: Any): ... - def get_inline_formsets( - self, request: HttpRequest, formsets: List[Any], inline_instances: List[Any], obj: Optional[_ModelT] = ... - ) -> List[Any]: ... - def get_changeform_initial_data(self, request: HttpRequest) -> Dict[str, Union[str, List[str]]]: ... - def changeform_view( - self, - request: HttpRequest, - object_id: Optional[str] = ..., - form_url: str = ..., - extra_context: Optional[Dict[str, Any]] = ..., - ) -> HttpResponse: ... - def add_view( - self, request: HttpRequest, form_url: str = ..., extra_context: Optional[Dict[str, Any]] = ... - ) -> HttpResponse: ... - def change_view( - self, request: HttpRequest, object_id: str, form_url: str = ..., extra_context: Optional[Dict[str, Any]] = ... - ) -> HttpResponse: ... - def changelist_view(self, request: HttpRequest, extra_context: Optional[Dict[str, Any]] = ...) -> HttpResponse: ... - def get_deleted_objects( - self, objs: Union[Sequence[_ModelT], QuerySet[_ModelT]], request: HttpRequest - ) -> Tuple[List[Model], Dict[str, int], Set[str], List[str]]: ... - def delete_view( - self, request: HttpRequest, object_id: str, extra_context: Optional[Dict[str, Any]] = ... - ) -> HttpResponse: ... - def history_view( - self, request: HttpRequest, object_id: str, extra_context: Optional[Dict[str, Any]] = ... - ) -> HttpResponse: ... - -_ChildModelT = TypeVar("_ChildModelT", bound=Model) -_ParentModelT = TypeVar("_ParentModelT", bound=Model) - -class InlineModelAdmin(Generic[_ChildModelT, _ParentModelT], BaseModelAdmin[_ChildModelT]): - model: Type[_ChildModelT] = ... - fk_name: Optional[str] = ... - formset: Type[BaseInlineFormSet[_ChildModelT, forms.ModelForm[_ChildModelT]]] = ... - extra: int = ... - min_num: Optional[int] = ... - max_num: Optional[int] = ... - template: str = ... - verbose_name: Optional[str] = ... - verbose_name_plural: Optional[str] = ... - can_delete: bool = ... - show_change_link: bool = ... - classes: Optional[Sequence[str]] = ... - admin_site: AdminSite = ... - parent_model: Type[_ParentModelT] = ... - opts: Options[_ChildModelT] = ... - has_registered_model: bool = ... - def __init__(self, parent_model: Type[_ParentModelT], admin_site: AdminSite) -> None: ... - @property - def media(self) -> Media: ... - def get_extra(self, request: HttpRequest, obj: Optional[_ParentModelT] = ..., **kwargs: Any) -> int: ... - def get_min_num(self, request: HttpRequest, obj: Optional[_ParentModelT] = ..., **kwargs: Any) -> Optional[int]: ... - def get_max_num(self, request: HttpRequest, obj: Optional[_ParentModelT] = ..., **kwargs: Any) -> Optional[int]: ... - def get_formset( - self, request: HttpRequest, obj: Optional[_ParentModelT] = ..., **kwargs: Any - ) -> Type[BaseInlineFormSet[_ChildModelT, forms.ModelForm[_ChildModelT]]]: ... - def get_queryset(self, request: HttpRequest) -> QuerySet[_ChildModelT]: ... - def has_add_permission(self, request: HttpRequest, obj: Optional[_ParentModelT]) -> bool: ... # type: ignore - def has_change_permission(self, request: HttpRequest, obj: Optional[_ParentModelT] = ...) -> bool: ... # type: ignore - def has_delete_permission(self, request: HttpRequest, obj: Optional[_ParentModelT] = ...) -> bool: ... # type: ignore - def has_view_permission(self, request: HttpRequest, obj: Optional[_ParentModelT] = ...) -> bool: ... # type: ignore - -class StackedInline(InlineModelAdmin[_ChildModelT, _ParentModelT]): - template: str = ... - -class TabularInline(InlineModelAdmin[_ChildModelT, _ParentModelT]): - template: str = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/sites.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/sites.pyi deleted file mode 100644 index 0cd09706..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/sites.pyi +++ /dev/null @@ -1,91 +0,0 @@ -import sys -from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple, Type, Union - -from django.apps.config import AppConfig -from django.contrib.admin.options import ModelAdmin -from django.contrib.auth.forms import AuthenticationForm -from django.core.checks import CheckMessage -from django.db.models.base import Model -from django.db.models.query import QuerySet -from django.http.request import HttpRequest -from django.http.response import HttpResponse -from django.template.response import TemplateResponse -from django.urls import URLPattern, URLResolver -from django.utils.functional import LazyObject - -if sys.version_info >= (3, 9): - from weakref import WeakSet - - all_sites: WeakSet[AdminSite] -else: - from typing import MutableSet - - all_sites: MutableSet[AdminSite] - -_ActionCallback = Callable[[ModelAdmin, HttpRequest, QuerySet], Optional[TemplateResponse]] - -class AlreadyRegistered(Exception): ... -class NotRegistered(Exception): ... - -class AdminSite: - site_title: str = ... - site_header: str = ... - index_title: str = ... - site_url: str = ... - login_form: Optional[Type[AuthenticationForm]] = ... - index_template: Optional[str] = ... - app_index_template: Optional[str] = ... - login_template: Optional[str] = ... - logout_template: Optional[str] = ... - password_change_template: Optional[str] = ... - password_change_done_template: Optional[str] = ... - name: str = ... - enable_nav_sidebar: bool = ... - empty_value_display: str = ... - final_catch_all_view: bool = ... - _empty_value_display: str = ... - _registry: Dict[Type[Model], ModelAdmin] - _global_actions: Dict[str, _ActionCallback] - _actions: Dict[str, _ActionCallback] - def __init__(self, name: str = ...) -> None: ... - def check(self, app_configs: Optional[Iterable[AppConfig]]) -> List[CheckMessage]: ... - def register( - self, - model_or_iterable: Union[Type[Model], Iterable[Type[Model]]], - admin_class: Optional[Type[ModelAdmin]] = ..., - **options: Any - ) -> None: ... - def unregister(self, model_or_iterable: Union[Type[Model], Iterable[Type[Model]]]) -> None: ... - def is_registered(self, model: Type[Model]) -> bool: ... - def add_action(self, action: _ActionCallback, name: Optional[str] = ...) -> None: ... - def disable_action(self, name: str) -> None: ... - def get_action(self, name: str) -> Callable: ... - @property - def actions(self) -> Iterable[Tuple[str, _ActionCallback]]: ... - def has_permission(self, request: HttpRequest) -> bool: ... - def admin_view(self, view: Callable, cacheable: bool = ...) -> Callable: ... - def get_urls(self) -> List[Union[URLResolver, URLPattern]]: ... - @property - def urls(self) -> Tuple[List[Union[URLResolver, URLPattern]], str, str]: ... - def each_context(self, request: HttpRequest) -> Dict[str, Any]: ... - def password_change( - self, request: HttpRequest, extra_context: Optional[Dict[str, Any]] = ... - ) -> TemplateResponse: ... - def password_change_done( - self, request: HttpRequest, extra_context: Optional[Dict[str, Any]] = ... - ) -> TemplateResponse: ... - def i18n_javascript(self, request: HttpRequest, extra_context: Optional[Dict[str, Any]] = ...) -> HttpResponse: ... - def logout(self, request: HttpRequest, extra_context: Optional[Dict[str, Any]] = ...) -> TemplateResponse: ... - def login(self, request: HttpRequest, extra_context: Optional[Dict[str, Any]] = ...) -> HttpResponse: ... - def _build_app_dict(self, request: HttpRequest, label: Optional[str] = ...) -> Dict[str, Any]: ... - def get_app_list(self, request: HttpRequest) -> List[Any]: ... - def index(self, request: HttpRequest, extra_context: Optional[Dict[str, Any]] = ...) -> TemplateResponse: ... - def app_index( - self, request: HttpRequest, app_label: str, extra_context: Optional[Dict[str, Any]] = ... - ) -> TemplateResponse: ... - def autocomplete_view(self, request: HttpRequest) -> HttpResponse: ... - def catch_all_view(self, request: HttpRequest, url: str) -> HttpResponse: ... - -class DefaultAdminSite(LazyObject): ... - -site: AdminSite diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/admin_list.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/admin_list.pyi deleted file mode 100644 index 723939b3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/admin_list.pyi +++ /dev/null @@ -1,43 +0,0 @@ -from typing import Any, Dict, Iterable, Iterator, List, Optional, Union - -from django.contrib.admin.filters import FieldListFilter -from django.contrib.admin.templatetags.base import InclusionAdminNode -from django.contrib.admin.views.main import ChangeList -from django.db.models.base import Model -from django.forms.boundfield import BoundField -from django.forms.models import ModelForm -from django.template.base import Parser, Token -from django.template.context import RequestContext -from django.utils.safestring import SafeString - -from .base import InclusionAdminNode - -register: Any -DOT: str - -def paginator_number(cl: ChangeList, i: int) -> SafeString: ... -def pagination(cl: ChangeList) -> Dict[str, Any]: ... -def pagination_tag(parser: Parser, token: Token) -> InclusionAdminNode: ... -def result_headers(cl: ChangeList) -> Iterator[Dict[str, Optional[Union[int, str]]]]: ... -def items_for_result(cl: ChangeList, result: Model, form: Optional[ModelForm]) -> Iterator[SafeString]: ... - -class ResultList(list): - form: Optional[ModelForm] = ... - def __init__(self, form: Optional[ModelForm], *items: Any) -> None: ... - -def results(cl: ChangeList) -> Iterator[ResultList]: ... -def result_hidden_fields(cl: ChangeList) -> Iterator[BoundField]: ... -def result_list( - cl: ChangeList, -) -> Dict[ - str, Union[List[Dict[str, Optional[Union[int, str]]]], List[ResultList], List[BoundField], ChangeList, int] -]: ... -def result_list_tag(parser: Parser, token: Token) -> InclusionAdminNode: ... -def date_hierarchy(cl: ChangeList) -> Optional[Dict[str, Any]]: ... -def date_hierarchy_tag(parser: Parser, token: Token) -> InclusionAdminNode: ... -def search_form(cl: ChangeList) -> Dict[str, Union[bool, ChangeList, str]]: ... -def search_form_tag(parser: Parser, token: Token) -> InclusionAdminNode: ... -def admin_list_filter(cl: ChangeList, spec: FieldListFilter) -> SafeString: ... -def admin_actions(context: RequestContext) -> RequestContext: ... -def admin_actions_tag(parser: Parser, token: Token) -> InclusionAdminNode: ... -def change_list_object_tools_tag(parser: Parser, token: Token) -> InclusionAdminNode: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/admin_modify.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/admin_modify.pyi deleted file mode 100644 index 67ee4c67..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/admin_modify.pyi +++ /dev/null @@ -1,16 +0,0 @@ -from typing import Any - -from django.contrib.admin.helpers import InlineAdminForm -from django.template.base import Parser, Token -from django.template.context import Context, RequestContext - -from .base import InclusionAdminNode - -register: Any - -def prepopulated_fields_js(context: RequestContext) -> RequestContext: ... -def prepopulated_fields_js_tag(parser: Parser, token: Token) -> InclusionAdminNode: ... -def submit_row(context: RequestContext) -> Context: ... -def submit_row_tag(parser: Parser, token: Token) -> InclusionAdminNode: ... -def change_form_object_tools_tag(parser: Parser, token: Token) -> InclusionAdminNode: ... -def cell_count(inline_admin_form: InlineAdminForm) -> int: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/admin_urls.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/admin_urls.pyi deleted file mode 100644 index 245ae345..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/admin_urls.pyi +++ /dev/null @@ -1,17 +0,0 @@ -from typing import Any, Dict, Optional, Union -from uuid import UUID - -from django.db.models.options import Options -from django.template.context import RequestContext -from django.utils.safestring import SafeString - -register: Any - -def admin_urlname(value: Options, arg: SafeString) -> str: ... -def admin_urlquote(value: Union[int, str, UUID]) -> Union[int, str, UUID]: ... -def add_preserved_filters( - context: Union[Dict[str, Union[Options, str]], RequestContext], - url: str, - popup: bool = ..., - to_field: Optional[str] = ..., -) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/base.pyi deleted file mode 100644 index efb31710..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/base.pyi +++ /dev/null @@ -1,17 +0,0 @@ -from typing import Any, Callable, Dict, List - -from django.template.base import Parser, Token -from django.template.context import Context -from django.template.library import InclusionNode -from django.utils.safestring import SafeString - -class InclusionAdminNode(InclusionNode): - args: List[Any] - func: Callable - kwargs: Dict[str, Any] - takes_context: bool - template_name: str = ... - def __init__( - self, parser: Parser, token: Token, func: Callable, template_name: str, takes_context: bool = ... - ) -> None: ... - def render(self, context: Context) -> SafeString: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/log.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/log.pyi deleted file mode 100644 index 9dd4ee46..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/templatetags/log.pyi +++ /dev/null @@ -1,16 +0,0 @@ -from typing import Any, Optional - -from django import template -from django.template.base import Parser, Token -from django.template.context import Context - -register: Any - -class AdminLogNode(template.Node): - limit: str - user: str - varname: str - def __init__(self, limit: str, varname: str, user: Optional[str]) -> None: ... - def render(self, context: Context) -> str: ... - -def get_admin_log(parser: Parser, token: Token) -> AdminLogNode: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/tests.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/tests.pyi deleted file mode 100644 index 5c7256ad..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/tests.pyi +++ /dev/null @@ -1,26 +0,0 @@ -from contextlib import contextmanager -from typing import Any, Callable, Generator - -from django.contrib.staticfiles.testing import StaticLiveServerTestCase -from django.test.selenium import SeleniumTestCase -from django.utils.deprecation import MiddlewareMixin - -class CSPMiddleware(MiddlewareMixin): ... - -class AdminSeleniumTestCase(SeleniumTestCase, StaticLiveServerTestCase): - def wait_until(self, callback: Callable, timeout: int = ...) -> None: ... - def wait_for_and_switch_to_popup(self, num_windows: int = ..., timeout: int = ...) -> None: ... - def wait_for(self, css_selector: str, timeout: int = ...) -> None: ... - def wait_for_text(self, css_selector: str, text: str, timeout: int = ...) -> None: ... - def wait_for_value(self, css_selector: str, text: str, timeout: int = ...) -> None: ... - def wait_until_visible(self, css_selector: str, timeout: int = ...) -> None: ... - def wait_until_invisible(self, css_selector: str, timeout: int = ...) -> None: ... - def wait_page_ready(self, timeout: int = ...) -> None: ... - @contextmanager - def wait_page_loaded(self, timeout: int = ...) -> Generator[None, None, None]: ... - def admin_login(self, username: str, password: str, login_url: str = ...) -> None: ... - def select_option(self, selector: str, value: Any) -> None: ... - def deselect_option(self, selector: str, value: Any) -> None: ... - def assertSelectOptions(self, selector: str, values: Any) -> None: ... - def assertSelectedOptions(self, selector: str, values: Any) -> None: ... - def has_css_class(self, selector: str, klass: str) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/utils.pyi deleted file mode 100644 index 78489009..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/utils.pyi +++ /dev/null @@ -1,85 +0,0 @@ -import datetime -import sys -from typing import Any, Callable, Dict, Iterable, List, Optional, Sequence, Set, Tuple, Type, Union, overload -from uuid import UUID - -from django.contrib.admin.options import BaseModelAdmin -from django.contrib.admin.sites import AdminSite -from django.contrib.auth.forms import AdminPasswordChangeForm -from django.db.models.base import Model -from django.db.models.deletion import Collector -from django.db.models.fields import Field, reverse_related -from django.db.models.options import Options -from django.db.models.query import QuerySet -from django.forms.forms import BaseForm -from django.forms.formsets import BaseFormSet -from django.http.request import HttpRequest -from django.utils.datastructures import _IndexableCollection - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -class FieldIsAForeignKeyColumnName(Exception): ... - -def lookup_needs_distinct(opts: Options, lookup_path: str) -> bool: ... -def prepare_lookup_value(key: str, value: Union[datetime.datetime, str]) -> Union[bool, datetime.datetime, str]: ... -def quote(s: Union[int, str, UUID]) -> str: ... -def unquote(s: str) -> str: ... -def flatten(fields: Any) -> List[Union[Callable, str]]: ... -def flatten_fieldsets(fieldsets: Any) -> List[Union[Callable, str]]: ... -def get_deleted_objects( - objs: Union[Sequence[Optional[Model]], QuerySet[Model]], request: HttpRequest, admin_site: AdminSite -) -> Tuple[List[Model], Dict[str, int], Set[str], List[str]]: ... - -class NestedObjects(Collector): - data: Dict[str, Any] - dependencies: Dict[Any, Any] - fast_deletes: List[Any] - field_updates: Dict[Any, Any] - using: str - edges: Any = ... - protected: Any = ... - model_objs: Any = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def add_edge(self, source: Optional[Model], target: Model) -> None: ... - def related_objects( - self, related_model: Type[Model], related_fields: Iterable[Field], objs: _IndexableCollection[Model] - ) -> QuerySet[Model]: ... - def nested(self, format_callback: Callable = ...) -> List[Any]: ... - def can_fast_delete(self, *args: Any, **kwargs: Any) -> bool: ... - -def model_format_dict(obj: Union[Model, Type[Model], QuerySet, Options[Model]]): ... -def model_ngettext(obj: Union[Options, QuerySet], n: Optional[int] = ...) -> str: ... -def lookup_field( - name: Union[Callable, str], obj: Model, model_admin: Optional[BaseModelAdmin] = ... -) -> Tuple[Optional[Field], Optional[str], Any]: ... -@overload -def label_for_field( # type: ignore - name: Union[Callable, str], - model: Type[Model], - model_admin: Optional[BaseModelAdmin] = ..., - return_attr: Literal[True] = ..., - form: Optional[BaseForm] = ..., -) -> Tuple[str, Union[Callable, str, None]]: ... -@overload -def label_for_field( - name: Union[Callable, str], - model: Type[Model], - model_admin: Optional[BaseModelAdmin] = ..., - return_attr: Literal[False] = ..., - form: Optional[BaseForm] = ..., -) -> str: ... -def help_text_for_field(name: str, model: Type[Model]) -> str: ... -def display_for_field(value: Any, field: Field, empty_value_display: str) -> str: ... -def display_for_value(value: Any, empty_value_display: str, boolean: bool = ...) -> str: ... - -class NotRelationField(Exception): ... - -def get_model_from_relation(field: Union[Field, reverse_related.ForeignObjectRel]) -> Type[Model]: ... -def reverse_field_path(model: Type[Model], path: str) -> Tuple[Type[Model], str]: ... -def get_fields_from_path(model: Type[Model], path: str) -> List[Field]: ... -def construct_change_message( - form: AdminPasswordChangeForm, formsets: Iterable[BaseFormSet], add: bool -) -> List[Dict[str, Dict[str, List[str]]]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/views/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/views/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/views/autocomplete.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/views/autocomplete.pyi deleted file mode 100644 index 06a13ba8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/views/autocomplete.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Any, Optional - -from django.contrib.admin.options import ModelAdmin -from django.db.models import Model -from django.http.request import HttpRequest -from django.views.generic.list import BaseListView - -class AutocompleteJsonView(BaseListView): - model_admin: ModelAdmin = ... - term: Any = ... - def has_perm(self, request: HttpRequest, obj: Optional[Model] = ...) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/views/decorators.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/views/decorators.pyi deleted file mode 100644 index 55bbeb32..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/views/decorators.pyi +++ /dev/null @@ -1,12 +0,0 @@ -from typing import Callable, Optional, TypeVar, overload - -_C = TypeVar("_C", bound=Callable) - -@overload -def staff_member_required( - view_func: _C = ..., redirect_field_name: Optional[str] = ..., login_url: str = ... -) -> _C: ... -@overload -def staff_member_required( - view_func: None = ..., redirect_field_name: Optional[str] = ..., login_url: str = ... -) -> Callable: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/views/main.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/views/main.pyi deleted file mode 100644 index c824ed72..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/views/main.pyi +++ /dev/null @@ -1,97 +0,0 @@ -import sys -from typing import Any, Callable, Dict, Iterable, List, Optional, Sequence, Tuple, Type, Union - -from django.contrib.admin.filters import ListFilter -from django.contrib.admin.options import IS_POPUP_VAR as IS_POPUP_VAR # noqa: F401 -from django.contrib.admin.options import TO_FIELD_VAR as TO_FIELD_VAR -from django.contrib.admin.options import ModelAdmin, _DisplayT, _ListFilterT -from django.db.models.base import Model -from django.db.models.expressions import Expression -from django.db.models.options import Options -from django.db.models.query import QuerySet -from django.forms.formsets import BaseFormSet -from django.http.request import HttpRequest - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -ALL_VAR: str -ORDER_VAR: str -ORDER_TYPE_VAR: str -PAGE_VAR: str -SEARCH_VAR: str -ERROR_FLAG: str -IGNORED_PARAMS: Tuple[str, ...] - -class ChangeList: - model: Type[Model] = ... - opts: Options = ... - lookup_opts: Options = ... - root_queryset: QuerySet = ... - list_display: _DisplayT = ... - list_display_links: _DisplayT = ... - list_filter: Sequence[_ListFilterT] = ... - date_hierarchy: Any = ... - search_fields: Sequence[str] = ... - list_select_related: Union[bool, Sequence[str]] = ... - list_per_page: int = ... - list_max_show_all: int = ... - model_admin: ModelAdmin = ... - preserved_filters: str = ... - sortable_by: Optional[Sequence[str]] = ... - page_num: int = ... - show_all: bool = ... - is_popup: bool = ... - to_field: Any = ... - params: Dict[str, Any] = ... - list_editable: Sequence[str] = ... - query: str = ... - queryset: Any = ... - title: str = ... - pk_attname: str = ... - formset: Optional[BaseFormSet] - def __init__( - self, - request: HttpRequest, - model: Type[Model], - list_display: _DisplayT, - list_display_links: _DisplayT, - list_filter: Sequence[_ListFilterT], - date_hierarchy: Optional[str], - search_fields: Sequence[str], - list_select_related: Union[bool, Sequence[str]], - list_per_page: int, - list_max_show_all: int, - list_editable: Sequence[str], - model_admin: ModelAdmin, - sortable_by: Optional[Sequence[str]], - ) -> None: ... - def get_filters_params(self, params: Optional[Dict[str, Any]] = ...) -> Dict[str, Any]: ... - def get_filters( - self, request: HttpRequest - ) -> Tuple[List[ListFilter], bool, Dict[str, Union[bool, str]], bool, bool]: ... - def get_query_string( - self, new_params: Optional[Dict[str, Any]] = ..., remove: Optional[Iterable[str]] = ... - ) -> str: ... - result_count: int = ... - show_full_result_count: bool = ... - show_admin_actions: bool = ... - full_result_count: Optional[int] = ... - result_list: Any = ... - can_show_all: bool = ... - multi_page: bool = ... - paginator: Any = ... - def get_results(self, request: HttpRequest) -> None: ... - def get_ordering_field(self, field_name: Union[Callable, str]) -> Optional[Union[Expression, str]]: ... - def get_ordering(self, request: HttpRequest, queryset: QuerySet) -> List[Union[Expression, str]]: ... - def get_ordering_field_columns(self) -> Dict[int, Literal["desc", "asc"]]: ... - def get_queryset(self, request: HttpRequest) -> QuerySet: ... - filter_specs: List[ListFilter] - has_filters: bool - has_active_filters: bool - clear_all_filters_qs: str - def apply_select_related(self, qs: QuerySet) -> QuerySet: ... - def has_related_field_in_list_display(self) -> bool: ... - def url_for_result(self, result: Model) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/widgets.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/widgets.pyi deleted file mode 100644 index 24716a84..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admin/widgets.pyi +++ /dev/null @@ -1,137 +0,0 @@ -from typing import Any, Dict, Iterable, List, Mapping, Optional, Sequence, Tuple, Union - -from django import forms -from django.contrib.admin.sites import AdminSite -from django.core.files.base import File -from django.db.models.fields import _FieldChoices -from django.db.models.fields.reverse_related import ForeignObjectRel, ManyToManyRel, ManyToOneRel -from django.forms.models import ModelChoiceIterator -from django.forms.widgets import Media, _OptAttrs - -class FilteredSelectMultiple(forms.SelectMultiple): - verbose_name: str = ... - is_stacked: bool = ... - def __init__( - self, verbose_name: str, is_stacked: bool, attrs: Optional[_OptAttrs] = ..., choices: _FieldChoices = ... - ) -> None: ... - -class AdminDateWidget(forms.DateInput): - def __init__(self, attrs: Optional[_OptAttrs] = ..., format: Optional[str] = ...) -> None: ... - -class AdminTimeWidget(forms.TimeInput): - def __init__(self, attrs: Optional[_OptAttrs] = ..., format: Optional[str] = ...) -> None: ... - -class AdminSplitDateTime(forms.SplitDateTimeWidget): - template_name: str - def __init__(self, attrs: Optional[_OptAttrs] = ...) -> None: ... - def get_context(self, name: str, value: Any, attrs: Optional[_OptAttrs]) -> Dict[str, Any]: ... - -class AdminRadioSelect(forms.RadioSelect): ... -class AdminFileWidget(forms.ClearableFileInput): ... - -def url_params_from_lookup_dict(lookups: Any) -> Dict[str, str]: ... - -class ForeignKeyRawIdWidget(forms.TextInput): - rel: ManyToOneRel = ... - admin_site: AdminSite = ... - db: Optional[str] = ... - def __init__( - self, rel: ManyToOneRel, admin_site: AdminSite, attrs: Optional[_OptAttrs] = ..., using: Optional[str] = ... - ) -> None: ... - def base_url_parameters(self) -> Dict[str, str]: ... - def get_context(self, name: str, value: Any, attrs: Optional[_OptAttrs]) -> Dict[str, Any]: ... - def url_parameters(self) -> Dict[str, str]: ... - def label_and_url_for_value(self, value: Any) -> Tuple[str, str]: ... - -class ManyToManyRawIdWidget(ForeignKeyRawIdWidget): - rel: ManyToManyRel = ... # type: ignore - def get_context(self, name: str, value: Any, attrs: Optional[_OptAttrs]) -> Dict[str, Any]: ... - def url_parameters(self) -> Dict[str, str]: ... - def label_and_url_for_value(self, value: Any) -> Tuple[str, str]: ... - def format_value(self, value: Any) -> Optional[str]: ... - def value_from_datadict(self, data: Mapping[str, Any], files: Mapping[str, Iterable[File]], name: str) -> Any: ... - -class RelatedFieldWidgetWrapper(forms.Widget): - template_name: str = ... - choices: ModelChoiceIterator = ... - widget: forms.ChoiceWidget = ... - rel: ManyToOneRel = ... - can_add_related: bool = ... - can_change_related: bool = ... - can_delete_related: bool = ... - can_view_related: bool = ... - admin_site: AdminSite = ... - def __init__( - self, - widget: forms.ChoiceWidget, - rel: ManyToOneRel, - admin_site: AdminSite, - can_add_related: Optional[bool] = ..., - can_change_related: bool = ..., - can_delete_related: bool = ..., - can_view_related: bool = ..., - ) -> None: ... - @property - def media(self) -> Media: ... # type: ignore - @property - def is_hidden(self) -> bool: ... - def get_related_url(self, info: Tuple[str, str], action: str, *args: Any) -> str: ... - def get_context(self, name: str, value: Any, attrs: Optional[_OptAttrs]) -> Dict[str, Any]: ... - def value_from_datadict(self, data: Mapping[str, Any], files: Mapping[str, Iterable[File]], name: str) -> Any: ... - def value_omitted_from_data( - self, data: Mapping[str, Any], files: Mapping[str, Iterable[File]], name: str - ) -> bool: ... - def id_for_label(self, id_: str) -> str: ... - -class AdminTextareaWidget(forms.Textarea): - def __init__(self, attrs: Optional[_OptAttrs] = ...) -> None: ... - -class AdminTextInputWidget(forms.TextInput): - def __init__(self, attrs: Optional[_OptAttrs] = ...) -> None: ... - -class AdminEmailInputWidget(forms.EmailInput): - def __init__(self, attrs: Optional[_OptAttrs] = ...) -> None: ... - -class AdminURLFieldWidget(forms.URLInput): - template_name: str - def __init__(self, attrs: Optional[_OptAttrs] = ..., validator_class: Any = ...) -> None: ... - def get_context(self, name: str, value: Any, attrs: Optional[_OptAttrs]) -> Dict[str, Any]: ... - -class AdminIntegerFieldWidget(forms.NumberInput): - def __init__(self, attrs: Optional[_OptAttrs] = ...) -> None: ... - class_name: str = ... - -class AdminBigIntegerFieldWidget(AdminIntegerFieldWidget): - class_name: str = ... - -class AdminUUIDInputWidget(forms.TextInput): - def __init__(self, attrs: Optional[_OptAttrs] = ...) -> None: ... - -SELECT2_TRANSLATIONS: Dict[str, str] = ... - -class AutocompleteMixin: - url_name: str = ... - field: Any = ... - admin_site: AdminSite = ... - db: Optional[str] = ... - choices: Any = ... - attrs: _OptAttrs = ... - def __init__( - self, - field: Any, - admin_site: AdminSite, - attrs: Optional[_OptAttrs] = ..., - choices: Any = ..., - using: Optional[str] = ..., - ) -> None: ... - def get_url(self) -> str: ... - @property - def media(self) -> Media: ... - def build_attrs(self, base_attrs: _OptAttrs, extra_attrs: Optional[_OptAttrs] = ...) -> Dict[str, Any]: ... - # typo in source: `attr` instead of `attrs` - def optgroups( - self, name: str, value: Sequence[str], attr: Optional[_OptAttrs] = ... - ) -> List[Tuple[Optional[str], List[Dict[str, Any]], Optional[int]]]: ... - -class AutocompleteSelect(AutocompleteMixin, forms.Select): ... # type: ignore -class AutocompleteSelectMultiple(AutocompleteMixin, forms.SelectMultiple): ... # type: ignore diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/apps.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/apps.pyi deleted file mode 100644 index 6150ebd3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/apps.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import Any - -from django.apps import AppConfig as AppConfig - -class AdminDocsConfig(AppConfig): - name: str = ... - verbose_name: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/middleware.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/middleware.pyi deleted file mode 100644 index 5f2c5928..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/middleware.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from typing import Any, Callable, Dict, Optional, Tuple - -from django.http.request import HttpRequest -from django.http.response import HttpResponse, HttpResponseBase -from django.utils.deprecation import MiddlewareMixin - -class XViewMiddleware(MiddlewareMixin): - def process_view( - self, - request: HttpRequest, - view_func: Callable[..., HttpResponseBase], - view_args: Tuple, - view_kwargs: Dict[Any, Any], - ) -> Optional[HttpResponse]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/urls.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/urls.pyi deleted file mode 100644 index 99cbb7c4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/urls.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from typing import Any, List - -urlpatterns: List[Any] = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/utils.pyi deleted file mode 100644 index 9fb76716..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/utils.pyi +++ /dev/null @@ -1,26 +0,0 @@ -from typing import Any, Callable, Dict, Optional, Tuple - -docutils_is_available: bool - -def get_view_name(view_func: Callable) -> str: ... -def parse_docstring(docstring: str) -> Tuple[str, str, Dict[str, str]]: ... -def parse_rst(text: str, default_reference_context: Any, thing_being_parsed: Optional[Any] = ...): ... - -ROLES: Dict[str, str] - -def create_reference_role(rolename: str, urlbase: str) -> None: ... -def default_reference_role( - name: str, - rawtext: str, - text: str, - lineno: Any, - inliner: Any, - options: Optional[Any] = ..., - content: Optional[Any] = ..., -): ... - -named_group_matcher: Any -unnamed_group_matcher: Any - -def replace_named_groups(pattern: str) -> str: ... -def replace_unnamed_groups(pattern: str) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/views.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/views.pyi deleted file mode 100644 index 48ef49bc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/admindocs/views.pyi +++ /dev/null @@ -1,21 +0,0 @@ -from typing import Any, Optional, Union - -from django.db.models.fields import Field -from django.views.generic import TemplateView - -MODEL_METHODS_EXCLUDE: Any - -class BaseAdminDocsView(TemplateView): ... -class BookmarkletsView(BaseAdminDocsView): ... -class TemplateTagIndexView(BaseAdminDocsView): ... -class TemplateFilterIndexView(BaseAdminDocsView): ... -class ViewIndexView(BaseAdminDocsView): ... -class ViewDetailView(BaseAdminDocsView): ... -class ModelIndexView(BaseAdminDocsView): ... -class ModelDetailView(BaseAdminDocsView): ... -class TemplateDetailView(BaseAdminDocsView): ... - -def get_return_data_type(func_name: Any): ... -def get_readable_field_data_type(field: Union[Field, str]) -> str: ... -def extract_views_from_urlpatterns(urlpatterns: Any, base: str = ..., namespace: Optional[Any] = ...): ... -def simplify_regex(pattern: str) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/__init__.pyi deleted file mode 100644 index 5c728b35..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/__init__.pyi +++ /dev/null @@ -1,31 +0,0 @@ -from typing import Any, List, Optional, Type, Union - -from django.contrib.auth.backends import ModelBackend -from django.contrib.auth.base_user import AbstractBaseUser -from django.contrib.auth.models import AnonymousUser -from django.db.models.options import Options -from django.http.request import HttpRequest -from django.test.client import Client - -from .signals import user_logged_in as user_logged_in -from .signals import user_logged_out as user_logged_out -from .signals import user_login_failed as user_login_failed - -SESSION_KEY: str -BACKEND_SESSION_KEY: str -HASH_SESSION_KEY: str -REDIRECT_FIELD_NAME: str - -def load_backend(path: str) -> ModelBackend: ... -def get_backends() -> List[ModelBackend]: ... -def authenticate(request: Optional[HttpRequest] = ..., **credentials: Any) -> Optional[AbstractBaseUser]: ... -def login( - request: HttpRequest, user: Optional[AbstractBaseUser], backend: Optional[Union[Type[ModelBackend], str]] = ... -) -> None: ... -def logout(request: HttpRequest) -> None: ... -def get_user_model() -> Type[AbstractBaseUser]: ... -def get_user(request: Union[HttpRequest, Client]) -> Union[AbstractBaseUser, AnonymousUser]: ... -def get_permission_codename(action: str, opts: Options) -> str: ... -def update_session_auth_hash(request: HttpRequest, user: AbstractBaseUser) -> None: ... - -default_app_config: str diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/admin.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/admin.pyi deleted file mode 100644 index cd123420..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/admin.pyi +++ /dev/null @@ -1,17 +0,0 @@ -from typing import Any - -from django.contrib import admin -from django.http.request import HttpRequest -from django.http.response import HttpResponse - -csrf_protect_m: Any -sensitive_post_parameters_m: Any - -class GroupAdmin(admin.ModelAdmin): ... - -class UserAdmin(admin.ModelAdmin): - change_user_password_template: Any = ... - add_fieldsets: Any = ... - add_form: Any = ... - change_password_form: Any = ... - def user_change_password(self, request: HttpRequest, id: str, form_url: str = ...) -> HttpResponse: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/apps.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/apps.pyi deleted file mode 100644 index 7764c9ff..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/apps.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.apps import AppConfig - -class AuthConfig(AppConfig): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/backends.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/backends.pyi deleted file mode 100644 index e831ae26..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/backends.pyi +++ /dev/null @@ -1,47 +0,0 @@ -from typing import Any, Optional, Set, TypeVar, Union - -from django.contrib.auth.base_user import AbstractBaseUser -from django.contrib.auth.models import AnonymousUser, Permission -from django.db.models.base import Model -from django.http.request import HttpRequest - -_AnyUser = Union[AbstractBaseUser, AnonymousUser] - -UserModel: Any - -class BaseBackend: - def authenticate(self, request: Optional[HttpRequest], **kwargs: Any) -> Optional[AbstractBaseUser]: ... - def get_user(self, user_id: int) -> Optional[AbstractBaseUser]: ... - def get_user_permissions(self, user_obj: _AnyUser, obj: Optional[Model] = ...) -> Set[str]: ... - def get_group_permissions(self, user_obj: _AnyUser, obj: Optional[Model] = ...) -> Set[str]: ... - def get_all_permissions(self, user_obj: _AnyUser, obj: Optional[Model] = ...) -> Set[str]: ... - def has_perm(self, user_obj: _AnyUser, perm: str, obj: Optional[Model] = ...) -> bool: ... - -class ModelBackend(BaseBackend): - def authenticate( - self, - request: Optional[HttpRequest], - username: Optional[str] = ..., - password: Optional[str] = ..., - **kwargs: Any - ) -> Optional[AbstractBaseUser]: ... - def has_module_perms(self, user_obj: _AnyUser, app_label: str) -> bool: ... - def user_can_authenticate(self, user: Optional[_AnyUser]) -> bool: ... - def with_perm( - self, - perm: Union[str, Permission], - is_active: bool = ..., - include_superusers: bool = ..., - obj: Optional[Model] = ..., - ): ... - -class AllowAllUsersModelBackend(ModelBackend): ... - -_U = TypeVar("_U", bound=AbstractBaseUser) - -class RemoteUserBackend(ModelBackend): - create_unknown_user: bool = ... - def clean_username(self, username: str) -> str: ... - def configure_user(self, request: HttpRequest, user: _U) -> _U: ... - -class AllowAllUsersRemoteUserBackend(RemoteUserBackend): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/base_user.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/base_user.pyi deleted file mode 100644 index 6659b23a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/base_user.pyi +++ /dev/null @@ -1,46 +0,0 @@ -import sys -from typing import Any, List, Optional, Tuple, TypeVar, Union, overload - -from django.db import models -from django.db.models.base import Model -from django.db.models.expressions import Combinable -from django.db.models.fields import BooleanField - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -_T = TypeVar("_T", bound=Model) - -class BaseUserManager(models.Manager[_T]): - @classmethod - def normalize_email(cls, email: Optional[str]) -> str: ... - def make_random_password(self, length: int = ..., allowed_chars: str = ...) -> str: ... - def get_by_natural_key(self, username: Optional[str]) -> _T: ... - -class AbstractBaseUser(models.Model): - REQUIRED_FIELDS: List[str] = ... - - password = models.CharField(max_length=128) - last_login = models.DateTimeField(blank=True, null=True) - is_active: Union[bool, BooleanField[Union[bool, Combinable], bool]] = ... - def get_username(self) -> str: ... - def natural_key(self) -> Tuple[str]: ... - @property - def is_anonymous(self) -> Literal[False]: ... - @property - def is_authenticated(self) -> Literal[True]: ... - def set_password(self, raw_password: Optional[str]) -> None: ... - def check_password(self, raw_password: str) -> bool: ... - def set_unusable_password(self) -> None: ... - def has_usable_password(self) -> bool: ... - def get_session_auth_hash(self) -> str: ... - @classmethod - def get_email_field_name(cls) -> str: ... - @classmethod - @overload - def normalize_username(cls, username: str) -> str: ... - @classmethod - @overload - def normalize_username(cls, username: Any) -> Any: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/checks.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/checks.pyi deleted file mode 100644 index 677f1b13..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/checks.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from typing import Any, Optional, Sequence - -from django.apps.config import AppConfig -from django.core.checks.messages import CheckMessage - -def check_user_model(app_configs: Optional[Sequence[AppConfig]] = ..., **kwargs: Any) -> Sequence[CheckMessage]: ... -def check_models_permissions( - app_configs: Optional[Sequence[AppConfig]] = ..., **kwargs: Any -) -> Sequence[CheckMessage]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/context_processors.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/context_processors.pyi deleted file mode 100644 index 51a063ca..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/context_processors.pyi +++ /dev/null @@ -1,20 +0,0 @@ -from typing import Any, Dict - -from django.http.request import HttpRequest - -class PermLookupDict: - app_label: str - user: Any - def __init__(self, user: Any, app_label: str) -> None: ... - def __getitem__(self, perm_name: str) -> bool: ... - def __iter__(self) -> Any: ... - def __bool__(self) -> bool: ... - -class PermWrapper: - user: Any = ... - def __init__(self, user: Any) -> None: ... - def __getitem__(self, app_label: str) -> PermLookupDict: ... - def __iter__(self) -> Any: ... - def __contains__(self, perm_name: Any) -> bool: ... - -def auth(request: HttpRequest) -> Dict[str, Any]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/decorators.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/decorators.pyi deleted file mode 100644 index ce8b161a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/decorators.pyi +++ /dev/null @@ -1,20 +0,0 @@ -from typing import Callable, Iterable, Optional, TypeVar, Union, overload - -from django.contrib.auth import REDIRECT_FIELD_NAME as REDIRECT_FIELD_NAME # noqa: F401 -from django.contrib.auth.models import AbstractUser -from django.http.response import HttpResponseBase - -_VIEW = TypeVar("_VIEW", bound=Callable[..., HttpResponseBase]) - -def user_passes_test( - test_func: Callable[[AbstractUser], bool], login_url: Optional[str] = ..., redirect_field_name: str = ... -) -> Callable[[_VIEW], _VIEW]: ... - -# There are two ways of calling @login_required: @with(arguments) and @bare -@overload -def login_required(redirect_field_name: str = ..., login_url: Optional[str] = ...) -> Callable[[_VIEW], _VIEW]: ... -@overload -def login_required(function: _VIEW, redirect_field_name: str = ..., login_url: Optional[str] = ...) -> _VIEW: ... -def permission_required( - perm: Union[Iterable[str], str], login_url: Optional[str] = ..., raise_exception: bool = ... -) -> Callable[[_VIEW], _VIEW]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/forms.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/forms.pyi deleted file mode 100644 index 232dc6dc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/forms.pyi +++ /dev/null @@ -1,103 +0,0 @@ -from typing import Any, Dict, Iterable, List, Optional, Type, TypeVar, Union - -from django import forms -from django.contrib.auth.base_user import AbstractBaseUser -from django.contrib.auth.tokens import PasswordResetTokenGenerator -from django.core.exceptions import ValidationError -from django.db import models -from django.db.models.fields import _ErrorMessagesT -from django.forms.fields import _ClassLevelWidgetT -from django.forms.widgets import Widget -from django.http.request import HttpRequest - -UserModel: Type[AbstractBaseUser] -_User = TypeVar("_User", bound=AbstractBaseUser) - -class ReadOnlyPasswordHashWidget(forms.Widget): - template_name: str = ... - read_only: bool = ... - def get_context(self, name: str, value: Any, attrs: Optional[Dict[str, Any]]) -> Dict[str, Any]: ... - -class ReadOnlyPasswordHashField(forms.Field): - widget: _ClassLevelWidgetT = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - -class UsernameField(forms.CharField): - def to_python(self, value: Optional[Any]) -> Optional[Any]: ... - def widget_attrs(self, widget: Widget) -> Dict[str, Any]: ... - -class UserCreationForm(forms.ModelForm[_User]): - error_messages: _ErrorMessagesT = ... - password1: forms.Field = ... - password2: forms.Field = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def clean_password2(self) -> str: ... - def save(self, commit: bool = ...) -> _User: ... - -class UserChangeForm(forms.ModelForm[_User]): - password: forms.Field = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - -class AuthenticationForm(forms.Form): - username: forms.Field = ... - password: forms.Field = ... - error_messages: _ErrorMessagesT = ... - request: Optional[HttpRequest] = ... - user_cache: Any = ... - username_field: models.Field = ... - def __init__(self, request: Optional[HttpRequest] = ..., *args: Any, **kwargs: Any) -> None: ... - def confirm_login_allowed(self, user: AbstractBaseUser) -> None: ... - def get_user(self) -> AbstractBaseUser: ... - def get_invalid_login_error(self) -> ValidationError: ... - def clean(self) -> Dict[str, Any]: ... - -class PasswordResetForm(forms.Form): - email: forms.Field = ... - def send_mail( - self, - subject_template_name: str, - email_template_name: str, - context: Dict[str, Any], - from_email: Optional[str], - to_email: str, - html_email_template_name: Optional[str] = ..., - ) -> None: ... - def get_users(self, email: str) -> Iterable[AbstractBaseUser]: ... - def save( - self, - domain_override: Optional[str] = ..., - subject_template_name: str = ..., - email_template_name: str = ..., - use_https: bool = ..., - token_generator: PasswordResetTokenGenerator = ..., - from_email: Optional[str] = ..., - request: Optional[HttpRequest] = ..., - html_email_template_name: Optional[str] = ..., - extra_email_context: Optional[Dict[str, str]] = ..., - ) -> None: ... - -class SetPasswordForm(forms.Form): - error_messages: _ErrorMessagesT = ... - new_password1: forms.Field = ... - new_password2: forms.Field = ... - user: AbstractBaseUser = ... - def __init__(self, user: AbstractBaseUser, *args: Any, **kwargs: Any) -> None: ... - def clean_new_password2(self) -> str: ... - def save(self, commit: bool = ...) -> AbstractBaseUser: ... - -class PasswordChangeForm(SetPasswordForm): - error_messages: _ErrorMessagesT = ... - old_password: forms.Field = ... - def clean_old_password(self) -> str: ... - -class AdminPasswordChangeForm(forms.Form): - error_messages: _ErrorMessagesT = ... - required_css_class: str = ... - password1: forms.Field = ... - password2: forms.Field = ... - user: AbstractBaseUser = ... - def __init__(self, user: AbstractBaseUser, *args: Any, **kwargs: Any) -> None: ... - def clean_password2(self) -> str: ... - def save(self, commit: bool = ...) -> AbstractBaseUser: ... - @property - def changed_data(self) -> List[str]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/handlers/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/handlers/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/handlers/modwsgi.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/handlers/modwsgi.pyi deleted file mode 100644 index 47be491f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/handlers/modwsgi.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any, Dict - -UserModel: Any - -def check_password(environ: Dict[Any, Any], username: str, password: str) -> Any: ... -def groups_for_user(environ: Dict[Any, Any], username: str) -> Any: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/hashers.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/hashers.pyi deleted file mode 100644 index 3557342a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/hashers.pyi +++ /dev/null @@ -1,47 +0,0 @@ -from typing import Any, Callable, Dict, List, Optional, Tuple, Union - -UNUSABLE_PASSWORD_PREFIX: str -UNUSABLE_PASSWORD_SUFFIX_LENGTH: int - -def is_password_usable(encoded: Optional[str]) -> bool: ... -def check_password( - password: Optional[str], encoded: str, setter: Optional[Callable] = ..., preferred: str = ... -) -> bool: ... -def make_password( - password: Optional[str], salt: Optional[str] = ..., hasher: Union[str, BasePasswordHasher] = ... -) -> str: ... -def get_hashers() -> List[BasePasswordHasher]: ... -def get_hashers_by_algorithm() -> Dict[str, BasePasswordHasher]: ... -def reset_hashers(**kwargs: Any) -> None: ... -def get_hasher(algorithm: Union[str, BasePasswordHasher] = ...) -> BasePasswordHasher: ... -def identify_hasher(encoded: str) -> BasePasswordHasher: ... -def mask_hash(hash: str, show: int = ..., char: str = ...) -> str: ... - -class BasePasswordHasher: - algorithm: str = ... - library: Union[str, Tuple[str, str]] = ... - rounds: int = ... - time_cost: int = ... - memory_cost: int = ... - parallelism: int = ... - digest: Any = ... - iterations: int = ... - def salt(self) -> str: ... - def verify(self, password: str, encoded: str) -> bool: ... - def encode(self, password: str, salt: str) -> Any: ... - def safe_summary(self, encoded: str) -> Any: ... - def must_update(self, encoded: str) -> bool: ... - def harden_runtime(self, password: str, encoded: str) -> None: ... - -class PBKDF2PasswordHasher(BasePasswordHasher): - def encode(self, password: str, salt: str, iterations: Optional[int] = ...) -> str: ... - -class PBKDF2SHA1PasswordHasher(PBKDF2PasswordHasher): ... -class Argon2PasswordHasher(BasePasswordHasher): ... -class BCryptSHA256PasswordHasher(BasePasswordHasher): ... -class BCryptPasswordHasher(BCryptSHA256PasswordHasher): ... -class SHA1PasswordHasher(BasePasswordHasher): ... -class MD5PasswordHasher(BasePasswordHasher): ... -class UnsaltedSHA1PasswordHasher(BasePasswordHasher): ... -class UnsaltedMD5PasswordHasher(BasePasswordHasher): ... -class CryptPasswordHasher(BasePasswordHasher): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/management/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/management/__init__.pyi deleted file mode 100644 index 20cacb4c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/management/__init__.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from typing import Any - -from django.apps.config import AppConfig -from django.apps.registry import Apps - -def create_permissions( - app_config: AppConfig, - verbosity: int = ..., - interactive: bool = ..., - using: str = ..., - apps: Apps = ..., - **kwargs: Any -) -> None: ... -def get_system_username() -> str: ... -def get_default_username(check_db: bool = ..., database: str = ...) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/management/commands/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/management/commands/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/management/commands/changepassword.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/management/commands/changepassword.pyi deleted file mode 100644 index 0998c2dd..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/management/commands/changepassword.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import Any - -from django.core.management.base import BaseCommand - -UserModel: Any - -class Command(BaseCommand): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/management/commands/createsuperuser.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/management/commands/createsuperuser.pyi deleted file mode 100644 index efc0752a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/management/commands/createsuperuser.pyi +++ /dev/null @@ -1,9 +0,0 @@ -import getpass as getpass # noqa: F401 -from typing import Any - -from django.core.management.base import BaseCommand - -class NotRunningInTTYException(Exception): ... - -class Command(BaseCommand): - stdin: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/middleware.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/middleware.pyi deleted file mode 100644 index 4a2e591d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/middleware.pyi +++ /dev/null @@ -1,20 +0,0 @@ -from typing import Union - -from django.contrib.auth.base_user import AbstractBaseUser -from django.contrib.auth.models import AnonymousUser -from django.http.request import HttpRequest -from django.utils.deprecation import MiddlewareMixin - -def get_user(request: HttpRequest) -> Union[AnonymousUser, AbstractBaseUser]: ... - -class AuthenticationMiddleware(MiddlewareMixin): - def process_request(self, request: HttpRequest) -> None: ... - -class RemoteUserMiddleware(MiddlewareMixin): - header: str = ... - force_logout_if_no_header: bool = ... - def process_request(self, request: HttpRequest) -> None: ... - def clean_username(self, username: str, request: HttpRequest) -> str: ... - -class PersistentRemoteUserMiddleware(RemoteUserMiddleware): - force_logout_if_no_header: bool = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/migrations/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/migrations/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/mixins.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/mixins.pyi deleted file mode 100644 index 1eff8e10..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/mixins.pyi +++ /dev/null @@ -1,28 +0,0 @@ -from typing import Any, Callable, Optional, Sequence - -from django import http -from django.http.response import HttpResponseBase, HttpResponseRedirect - -class AccessMixin: - login_url: Any = ... - permission_denied_message: str = ... - raise_exception: bool = ... - redirect_field_name: Any = ... - def get_login_url(self) -> str: ... - def get_permission_denied_message(self) -> str: ... - def get_redirect_field_name(self) -> str: ... - def handle_no_permission(self) -> HttpResponseRedirect: ... - -class LoginRequiredMixin(AccessMixin): - def dispatch(self, request: http.HttpRequest, *args: Any, **kwargs: Any) -> HttpResponseBase: ... - -class PermissionRequiredMixin(AccessMixin): - permission_required: Any = ... - def get_permission_required(self) -> Sequence[str]: ... - def has_permission(self) -> bool: ... - def dispatch(self, request: http.HttpRequest, *args: Any, **kwargs: Any) -> HttpResponseBase: ... - -class UserPassesTestMixin(AccessMixin): - def test_func(self) -> Optional[bool]: ... - def get_test_func(self) -> Callable: ... - def dispatch(self, request: http.HttpRequest, *args: Any, **kwargs: Any) -> HttpResponseBase: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/models.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/models.pyi deleted file mode 100644 index 0e0ead39..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/models.pyi +++ /dev/null @@ -1,116 +0,0 @@ -import sys -from typing import Any, Iterable, Optional, Set, Tuple, Type, TypeVar, Union - -from django.contrib.auth.base_user import AbstractBaseUser as AbstractBaseUser -from django.contrib.auth.base_user import BaseUserManager as BaseUserManager -from django.contrib.auth.validators import UnicodeUsernameValidator -from django.contrib.contenttypes.models import ContentType -from django.db import models -from django.db.models.base import Model -from django.db.models.manager import EmptyManager - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -_AnyUser = Union[Model, "AnonymousUser"] - -def update_last_login(sender: Type[AbstractBaseUser], user: AbstractBaseUser, **kwargs: Any) -> None: ... - -class PermissionManager(models.Manager["Permission"]): - def get_by_natural_key(self, codename: str, app_label: str, model: str) -> Permission: ... - -class Permission(models.Model): - content_type_id: int - objects: PermissionManager - - name = models.CharField(max_length=255) - content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE) - codename = models.CharField(max_length=100) - def natural_key(self) -> Tuple[str, str, str]: ... - -class GroupManager(models.Manager["Group"]): - def get_by_natural_key(self, name: str) -> Group: ... - -class Group(models.Model): - objects: GroupManager - - name = models.CharField(max_length=150) - permissions = models.ManyToManyField(Permission) - def natural_key(self) -> Tuple[str]: ... - -_T = TypeVar("_T", bound=Model) - -class UserManager(BaseUserManager[_T]): - def create_user( - self, username: str, email: Optional[str] = ..., password: Optional[str] = ..., **extra_fields: Any - ) -> _T: ... - def create_superuser( - self, username: str, email: Optional[str] = ..., password: Optional[str] = ..., **extra_fields: Any - ) -> _T: ... - def with_perm( - self, - perm: Union[str, Permission], - is_active: bool = ..., - include_superusers: bool = ..., - backend: Optional[str] = ..., - obj: Optional[Model] = ..., - ): ... - -class PermissionsMixin(models.Model): - is_superuser = models.BooleanField() - groups = models.ManyToManyField(Group) - user_permissions = models.ManyToManyField(Permission) - def get_user_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[str]: ... - def get_group_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[str]: ... - def get_all_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[str]: ... - def has_perm(self, perm: str, obj: Optional[_AnyUser] = ...) -> bool: ... - def has_perms(self, perm_list: Iterable[str], obj: Optional[_AnyUser] = ...) -> bool: ... - def has_module_perms(self, app_label: str) -> bool: ... - -class AbstractUser(AbstractBaseUser, PermissionsMixin): - username_validator: UnicodeUsernameValidator = ... - - username = models.CharField(max_length=150) - first_name = models.CharField(max_length=30, blank=True) - last_name = models.CharField(max_length=150, blank=True) - email = models.EmailField(blank=True) - is_staff = models.BooleanField() - is_active = models.BooleanField() - date_joined = models.DateTimeField() - - EMAIL_FIELD: str = ... - USERNAME_FIELD: str = ... - def get_full_name(self) -> str: ... - def get_short_name(self) -> str: ... - def email_user(self, subject: str, message: str, from_email: str = ..., **kwargs: Any) -> None: ... - -class User(AbstractUser): ... - -class AnonymousUser: - id: Any = ... - pk: Any = ... - username: Literal[""] = ... - is_staff: Literal[False] = ... - is_active: Literal[False] = ... - is_superuser: Literal[False] = ... - def save(self) -> None: ... - def delete(self) -> None: ... - def set_password(self, raw_password: str) -> None: ... - def check_password(self, raw_password: str) -> Any: ... - @property - def groups(self) -> EmptyManager: ... - @property - def user_permissions(self) -> EmptyManager: ... - def get_user_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[str]: ... - def get_group_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[Any]: ... - def get_all_permissions(self, obj: Optional[_AnyUser] = ...) -> Set[str]: ... - def has_perm(self, perm: str, obj: Optional[_AnyUser] = ...) -> bool: ... - def has_perms(self, perm_list: Iterable[str], obj: Optional[_AnyUser] = ...) -> bool: ... - def has_module_perms(self, module: str) -> bool: ... - @property - def is_anonymous(self) -> Literal[True]: ... - @property - def is_authenticated(self) -> Literal[False]: ... - def get_username(self) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/password_validation.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/password_validation.pyi deleted file mode 100644 index f719f880..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/password_validation.pyi +++ /dev/null @@ -1,47 +0,0 @@ -from pathlib import Path, PosixPath -from typing import Any, List, Mapping, Optional, Protocol, Sequence, Set, Union - -from django.db.models.base import Model - -_UserModel = Model - -class PasswordValidator(Protocol): - def validate(self, __password: str, __user: Optional[_UserModel] = ...) -> None: ... - def get_help_text(self) -> str: ... - -def get_default_password_validators() -> List[PasswordValidator]: ... -def get_password_validators(validator_config: Sequence[Mapping[str, Any]]) -> List[PasswordValidator]: ... -def validate_password( - password: str, user: Optional[_UserModel] = ..., password_validators: Optional[Sequence[PasswordValidator]] = ... -) -> None: ... -def password_changed( - password: str, user: Optional[_UserModel] = ..., password_validators: Optional[Sequence[PasswordValidator]] = ... -) -> None: ... -def password_validators_help_texts(password_validators: Optional[Sequence[PasswordValidator]] = ...) -> List[str]: ... - -password_validators_help_text_html: Any - -class MinimumLengthValidator: - min_length: int = ... - def __init__(self, min_length: int = ...) -> None: ... - def validate(self, password: str, user: Optional[_UserModel] = ...) -> None: ... - def get_help_text(self) -> str: ... - -class UserAttributeSimilarityValidator: - DEFAULT_USER_ATTRIBUTES: Sequence[str] = ... - user_attributes: Sequence[str] = ... - max_similarity: float = ... - def __init__(self, user_attributes: Sequence[str] = ..., max_similarity: float = ...) -> None: ... - def validate(self, password: str, user: Optional[_UserModel] = ...) -> None: ... - def get_help_text(self) -> str: ... - -class CommonPasswordValidator: - DEFAULT_PASSWORD_LIST_PATH: Path = ... - passwords: Set[str] = ... - def __init__(self, password_list_path: Union[Path, PosixPath, str] = ...) -> None: ... - def validate(self, password: str, user: Optional[_UserModel] = ...) -> None: ... - def get_help_text(self) -> str: ... - -class NumericPasswordValidator: - def validate(self, password: str, user: Optional[_UserModel] = ...) -> None: ... - def get_help_text(self) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/signals.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/signals.pyi deleted file mode 100644 index d50af434..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/signals.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from django.dispatch.dispatcher import Signal - -user_logged_in: Signal -user_login_failed: Signal -user_logged_out: Signal diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/tokens.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/tokens.pyi deleted file mode 100644 index 3ce0e7cb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/tokens.pyi +++ /dev/null @@ -1,17 +0,0 @@ -from datetime import date, datetime -from typing import Any, Optional, Union - -from django.contrib.auth.base_user import AbstractBaseUser - -class PasswordResetTokenGenerator: - key_salt: str = ... - secret: Any = ... - algorithm: str = ... - def make_token(self, user: AbstractBaseUser) -> str: ... - def check_token(self, user: Optional[AbstractBaseUser], token: Optional[str]) -> bool: ... - def _make_token_with_timestamp(self, user: AbstractBaseUser, timestamp: int, legacy: bool = ...) -> str: ... - def _make_hash_value(self, user: AbstractBaseUser, timestamp: int) -> str: ... - def _num_seconds(self, dt: Union[datetime, date]) -> int: ... - def _now(self) -> datetime: ... - -default_token_generator: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/urls.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/urls.pyi deleted file mode 100644 index 99cbb7c4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/urls.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from typing import Any, List - -urlpatterns: List[Any] = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/validators.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/validators.pyi deleted file mode 100644 index bbb530f3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/validators.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from django.core import validators - -class ASCIIUsernameValidator(validators.RegexValidator): ... -class UnicodeUsernameValidator(validators.RegexValidator): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/views.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/views.pyi deleted file mode 100644 index c24a85db..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/auth/views.pyi +++ /dev/null @@ -1,72 +0,0 @@ -from typing import Any, Optional, Set - -from django.contrib.auth.base_user import AbstractBaseUser -from django.contrib.auth.forms import AuthenticationForm -from django.http.request import HttpRequest -from django.http.response import HttpResponse, HttpResponseRedirect -from django.views.generic.base import TemplateView -from django.views.generic.edit import FormView - -UserModel: Any - -class SuccessURLAllowedHostsMixin: - success_url_allowed_hosts: Any = ... - def get_success_url_allowed_hosts(self) -> Set[str]: ... - -class LoginView(SuccessURLAllowedHostsMixin, FormView[AuthenticationForm]): - authentication_form: Any = ... - redirect_field_name: Any = ... - redirect_authenticated_user: bool = ... - extra_context: Any = ... - def get_redirect_url(self) -> str: ... - -class LogoutView(SuccessURLAllowedHostsMixin, TemplateView): - next_page: Optional[str] = ... - redirect_field_name: str = ... - extra_context: Any = ... - def dispatch(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ... - def post(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ... - def get_next_page(self) -> Optional[str]: ... - -def logout_then_login(request: HttpRequest, login_url: Optional[str] = ...) -> HttpResponseRedirect: ... -def redirect_to_login( - next: str, login_url: Optional[str] = ..., redirect_field_name: Optional[str] = ... -) -> HttpResponseRedirect: ... - -class PasswordContextMixin: - extra_context: Any = ... - def get_context_data(self, **kwargs: Any): ... - -class PasswordResetView(PasswordContextMixin, FormView): - email_template_name: str = ... - extra_email_context: Any = ... - from_email: Any = ... - html_email_template_name: Any = ... - subject_template_name: str = ... - title: Any = ... - token_generator: Any = ... - -INTERNAL_RESET_URL_TOKEN: str -INTERNAL_RESET_SESSION_TOKEN: str - -class PasswordResetDoneView(PasswordContextMixin, TemplateView): - title: Any = ... - -class PasswordResetConfirmView(PasswordContextMixin, FormView): - post_reset_login: bool = ... - post_reset_login_backend: Any = ... - reset_url_token: str = ... - title: Any = ... - token_generator: Any = ... - validlink: bool = ... - user: Any = ... - def get_user(self, uidb64: str) -> Optional[AbstractBaseUser]: ... - -class PasswordResetCompleteView(PasswordContextMixin, TemplateView): - title: Any = ... - -class PasswordChangeView(PasswordContextMixin, FormView): - title: Any = ... - -class PasswordChangeDoneView(PasswordContextMixin, TemplateView): - title: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/admin.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/admin.pyi deleted file mode 100644 index df2578ba..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/admin.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from typing import Any, List, Type - -from django.contrib.admin.checks import InlineModelAdminChecks -from django.contrib.admin.options import InlineModelAdmin -from django.db.models.base import Model - -class GenericInlineModelAdminChecks(InlineModelAdminChecks): - def _check_exclude_of_parent_model(self, obj: GenericInlineModelAdmin, parent_model: Type[Model]) -> List[Any]: ... - def _check_relation(self, obj: GenericInlineModelAdmin, parent_model: Type[Model]) -> List[Any]: ... - -class GenericInlineModelAdmin(InlineModelAdmin): - template: str = ... - -class GenericStackedInline(GenericInlineModelAdmin): ... -class GenericTabularInline(GenericInlineModelAdmin): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/apps.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/apps.pyi deleted file mode 100644 index cff43d9e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/apps.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.apps import AppConfig - -class ContentTypesConfig(AppConfig): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/checks.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/checks.pyi deleted file mode 100644 index fd62dbd0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/checks.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Any, Optional, Sequence - -from django.apps.config import AppConfig -from django.core.checks.messages import CheckMessage - -def check_generic_foreign_keys( - app_configs: Optional[Sequence[AppConfig]] = ..., **kwargs: Any -) -> Sequence[CheckMessage]: ... -def check_model_name_lengths( - app_configs: Optional[Sequence[AppConfig]] = ..., **kwargs: Any -) -> Sequence[CheckMessage]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/fields.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/fields.pyi deleted file mode 100644 index 399a2706..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/fields.pyi +++ /dev/null @@ -1,93 +0,0 @@ -from typing import Any, Callable, Dict, List, Optional, Tuple, Type, Union - -from django.contrib.contenttypes.models import ContentType -from django.core.checks.messages import CheckMessage -from django.db.models.base import Model -from django.db.models.expressions import Combinable -from django.db.models.fields import Field -from django.db.models.fields.mixins import FieldCacheMixin -from django.db.models.fields.related import ForeignObject -from django.db.models.fields.related_descriptors import ReverseManyToOneDescriptor -from django.db.models.fields.reverse_related import ForeignObjectRel -from django.db.models.query import QuerySet -from django.db.models.query_utils import FilteredRelation, PathInfo -from django.db.models.sql.where import WhereNode - -class GenericForeignKey(FieldCacheMixin): - # django-stubs implementation only fields - _pyi_private_set_type: Union[Any, Combinable] - _pyi_private_get_type: Any - # attributes - auto_created: bool = ... - concrete: bool = ... - editable: bool = ... - hidden: bool = ... - is_relation: bool = ... - many_to_many: bool = ... - many_to_one: bool = ... - one_to_many: bool = ... - one_to_one: bool = ... - related_model: Any = ... - remote_field: Any = ... - ct_field: str = ... - fk_field: str = ... - for_concrete_model: bool = ... - rel: None = ... - column: None = ... - def __init__(self, ct_field: str = ..., fk_field: str = ..., for_concrete_model: bool = ...) -> None: ... - name: Any = ... - model: Any = ... - def contribute_to_class(self, cls: Type[Model], name: str, **kwargs: Any) -> None: ... - def get_filter_kwargs_for_object(self, obj: Model) -> Dict[str, Optional[ContentType]]: ... - def get_forward_related_filter(self, obj: Model) -> Dict[str, int]: ... - def check(self, **kwargs: Any) -> List[CheckMessage]: ... - def get_cache_name(self) -> str: ... - def get_content_type( - self, obj: Optional[Model] = ..., id: Optional[int] = ..., using: Optional[str] = ... - ) -> ContentType: ... - def get_prefetch_queryset( - self, instances: Union[List[Model], QuerySet], queryset: Optional[QuerySet] = ... - ) -> Tuple[List[Model], Callable, Callable, bool, str, bool]: ... - def __get__(self, instance: Optional[Model], cls: Optional[Type[Model]] = ...) -> Optional[Any]: ... - def __set__(self, instance: Model, value: Optional[Any]) -> None: ... - -class GenericRel(ForeignObjectRel): - field: GenericRelation - def __init__( - self, - field: GenericRelation, - to: Union[Type[Model], str], - related_name: Optional[str] = ..., - related_query_name: Optional[str] = ..., - limit_choices_to: Optional[Union[Dict[str, Any], Callable[[], Any]]] = ..., - ) -> None: ... - -class GenericRelation(ForeignObject): - rel_class: Any = ... - mti_inherited: bool = ... - object_id_field_name: str = ... - content_type_field_name: str = ... - for_concrete_model: bool = ... - to_fields: Any = ... - def __init__( - self, - to: Union[Type[Model], str], - object_id_field: str = ..., - content_type_field: str = ..., - for_concrete_model: bool = ..., - related_query_name: Optional[str] = ..., - limit_choices_to: Optional[Union[Dict[str, Any], Callable[[], Any]]] = ..., - **kwargs: Any - ) -> None: ... - def resolve_related_fields(self) -> List[Tuple[Field, Field]]: ... - def get_path_info(self, filtered_relation: Optional[FilteredRelation] = ...) -> List[PathInfo]: ... - def get_reverse_path_info(self, filtered_relation: Optional[FilteredRelation] = ...) -> List[PathInfo]: ... - def get_content_type(self) -> ContentType: ... - def get_extra_restriction( - self, where_class: Type[WhereNode], alias: Optional[str], remote_alias: str - ) -> WhereNode: ... - def bulk_related_objects(self, objs: List[Model], using: str = ...) -> QuerySet: ... - -class ReverseGenericManyToOneDescriptor(ReverseManyToOneDescriptor): ... - -def create_generic_related_manager(superclass: Any, rel: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/forms.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/forms.pyi deleted file mode 100644 index a8db2255..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/forms.pyi +++ /dev/null @@ -1,43 +0,0 @@ -from typing import Any, Optional - -from django.forms.models import BaseModelFormSet - -class BaseGenericInlineFormSet(BaseModelFormSet): - instance: Any = ... - rel_name: Any = ... - save_as_new: Any = ... - def __init__( - self, - data: Optional[Any] = ..., - files: Optional[Any] = ..., - instance: Optional[Any] = ..., - save_as_new: bool = ..., - prefix: Optional[Any] = ..., - queryset: Optional[Any] = ..., - **kwargs: Any - ) -> None: ... - def initial_form_count(self): ... - @classmethod - def get_default_prefix(cls): ... - def save_new(self, form: Any, commit: bool = ...): ... - -def generic_inlineformset_factory( - model: Any, - form: Any = ..., - formset: Any = ..., - ct_field: str = ..., - fk_field: str = ..., - fields: Optional[Any] = ..., - exclude: Optional[Any] = ..., - extra: int = ..., - can_order: bool = ..., - can_delete: bool = ..., - max_num: Optional[Any] = ..., - formfield_callback: Optional[Any] = ..., - validate_max: bool = ..., - for_concrete_model: bool = ..., - min_num: Optional[Any] = ..., - validate_min: bool = ..., - absolute_max: Optional[int] = ..., - can_delete_extra: bool = ..., -): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/management/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/management/__init__.pyi deleted file mode 100644 index 768883b3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/management/__init__.pyi +++ /dev/null @@ -1,33 +0,0 @@ -from typing import Any, Dict, List, Optional, Tuple, Type - -from django.apps.config import AppConfig -from django.apps.registry import Apps -from django.contrib.contenttypes.models import ContentType -from django.db import migrations -from django.db.backends.sqlite3.schema import DatabaseSchemaEditor -from django.db.migrations.migration import Migration -from django.db.migrations.state import StateApps -from django.db.models.base import Model - -class RenameContentType(migrations.RunPython): - app_label: Any = ... - old_model: Any = ... - new_model: Any = ... - def __init__(self, app_label: str, old_model: str, new_model: str) -> None: ... - def rename_forward(self, apps: StateApps, schema_editor: DatabaseSchemaEditor) -> None: ... - def rename_backward(self, apps: StateApps, schema_editor: DatabaseSchemaEditor) -> None: ... - -def inject_rename_contenttypes_operations( - plan: List[Tuple[Migration, bool]] = ..., apps: StateApps = ..., using: str = ..., **kwargs: Any -) -> None: ... -def get_contenttypes_and_models( - app_config: AppConfig, using: str, ContentType: Type[ContentType] -) -> Tuple[Dict[str, ContentType], Dict[str, Type[Model]]]: ... -def create_contenttypes( - app_config: AppConfig, - verbosity: int = ..., - interactive: bool = ..., - using: str = ..., - apps: Apps = ..., - **kwargs: Any -) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/management/commands/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/management/commands/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/management/commands/remove_stale_contenttypes.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/management/commands/remove_stale_contenttypes.pyi deleted file mode 100644 index 94452c09..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/management/commands/remove_stale_contenttypes.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from typing import Any, Dict, List - -from django.core.management import BaseCommand -from django.db.models.deletion import Collector - -class Command(BaseCommand): ... - -class NoFastDeleteCollector(Collector): - data: Dict[str, Any] - dependencies: Dict[Any, Any] - fast_deletes: List[Any] - field_updates: Dict[Any, Any] - using: str - def can_fast_delete(self, *args: Any, **kwargs: Any) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/migrations/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/migrations/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/models.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/models.pyi deleted file mode 100644 index e9f5e7cb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/models.pyi +++ /dev/null @@ -1,24 +0,0 @@ -from typing import Any, Dict, Optional, Tuple, Type, Union - -from django.db import models -from django.db.models.base import Model -from django.db.models.query import QuerySet - -class ContentTypeManager(models.Manager["ContentType"]): - def get_by_natural_key(self, app_label: str, model: str) -> ContentType: ... - def get_for_model(self, model: Union[Type[Model], Model], for_concrete_model: bool = ...) -> ContentType: ... - def get_for_models(self, *models: Any, for_concrete_models: bool = ...) -> Dict[Type[Model], ContentType]: ... - def get_for_id(self, id: int) -> ContentType: ... - def clear_cache(self) -> None: ... - -class ContentType(models.Model): - id: int - app_label: models.CharField = ... - model: models.CharField = ... - objects: ContentTypeManager = ... - @property - def name(self) -> str: ... - def model_class(self) -> Optional[Type[Model]]: ... - def get_object_for_this_type(self, **kwargs: Any) -> Model: ... - def get_all_objects_for_this_type(self, **kwargs: Any) -> QuerySet: ... - def natural_key(self) -> Tuple[str, str]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/views.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/views.pyi deleted file mode 100644 index 05f70412..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/contenttypes/views.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Union - -from django.http.request import HttpRequest -from django.http.response import HttpResponseRedirect - -def shortcut( - request: HttpRequest, content_type_id: Union[int, str], object_id: Union[int, str] -) -> HttpResponseRedirect: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/admin.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/admin.pyi deleted file mode 100644 index a11f296d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/admin.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any - -from django.contrib import admin as admin - -class FlatPageAdmin(admin.ModelAdmin): - form: Any = ... - fieldsets: Any = ... - list_display: Any = ... - list_filter: Any = ... - search_fields: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/apps.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/apps.pyi deleted file mode 100644 index e3cd708b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/apps.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import Any - -from django.apps import AppConfig as AppConfig - -class FlatPagesConfig(AppConfig): - name: str = ... - verbose_name: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/forms.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/forms.pyi deleted file mode 100644 index 5146154d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/forms.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import Any - -from django import forms - -class FlatpageForm(forms.ModelForm): - url: Any = ... - def clean_url(self) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/middleware.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/middleware.pyi deleted file mode 100644 index 79938e13..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/middleware.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from django.http.request import HttpRequest -from django.http.response import HttpResponse -from django.utils.deprecation import MiddlewareMixin - -class FlatpageFallbackMiddleware(MiddlewareMixin): - def process_response(self, request: HttpRequest, response: HttpResponse) -> HttpResponse: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/migrations/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/migrations/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/models.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/models.pyi deleted file mode 100644 index d44cc9a6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/models.pyi +++ /dev/null @@ -1,12 +0,0 @@ -from django.contrib.sites.models import Site -from django.db import models - -class FlatPage(models.Model): - url: models.CharField = ... - title: models.CharField = ... - content: models.TextField = ... - enable_comments: models.BooleanField = ... - template_name: models.CharField = ... - registration_required: models.BooleanField = ... - sites: models.ManyToManyField[Site, Site] = ... - def get_absolute_url(self) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/sitemaps.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/sitemaps.pyi deleted file mode 100644 index e6740837..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/sitemaps.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.contrib.sitemaps import Sitemap - -class FlatPageSitemap(Sitemap): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/templatetags/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/templatetags/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/templatetags/flatpages.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/templatetags/flatpages.pyi deleted file mode 100644 index e9be47e8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/templatetags/flatpages.pyi +++ /dev/null @@ -1,16 +0,0 @@ -from typing import Any, Optional - -from django import template -from django.template.base import Parser, Token -from django.template.context import Context - -register: Any - -class FlatpageNode(template.Node): - context_name: str = ... - starts_with: None = ... - user: None = ... - def __init__(self, context_name: str, starts_with: Optional[str] = ..., user: Optional[str] = ...) -> None: ... - def render(self, context: Context) -> str: ... - -def get_flatpages(parser: Parser, token: Token) -> FlatpageNode: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/urls.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/urls.pyi deleted file mode 100644 index 99cbb7c4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/urls.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from typing import Any, List - -urlpatterns: List[Any] = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/views.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/views.pyi deleted file mode 100644 index bd63e39b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/flatpages/views.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from django.contrib.flatpages.models import FlatPage -from django.http.request import HttpRequest -from django.http.response import HttpResponse - -DEFAULT_TEMPLATE: str - -def flatpage(request: HttpRequest, url: str) -> HttpResponse: ... -def render_flatpage(request: HttpRequest, f: FlatPage) -> HttpResponse: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/__init__.pyi deleted file mode 100644 index 99a60742..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/__init__.pyi +++ /dev/null @@ -1 +0,0 @@ -default_app_config: str diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/admin/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/admin/__init__.pyi deleted file mode 100644 index a9b32c9e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/admin/__init__.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from django.contrib.admin import HORIZONTAL as HORIZONTAL -from django.contrib.admin import VERTICAL as VERTICAL -from django.contrib.admin import AdminSite as AdminSite -from django.contrib.admin import ModelAdmin as ModelAdmin -from django.contrib.admin import StackedInline as StackedInline -from django.contrib.admin import TabularInline as TabularInline -from django.contrib.admin import autodiscover as autodiscover -from django.contrib.admin import register as register -from django.contrib.admin import site as site -from django.contrib.gis.admin.options import GeoModelAdmin as GeoModelAdmin -from django.contrib.gis.admin.options import OSMGeoAdmin as OSMGeoAdmin diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/admin/options.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/admin/options.pyi deleted file mode 100644 index d5c38f53..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/admin/options.pyi +++ /dev/null @@ -1,49 +0,0 @@ -from typing import Any, Union - -from django.contrib.admin import ModelAdmin as ModelAdmin - -spherical_mercator_srid: int - -class GeoModelAdmin(ModelAdmin): - default_lon: int = ... - default_lat: int = ... - default_zoom: int = ... - display_wkt: bool = ... - display_srid: bool = ... - extra_js: Any = ... - num_zoom: int = ... - max_zoom: bool = ... - min_zoom: bool = ... - units: Union[str, bool] = ... - max_resolution: Union[str, bool] = ... - max_extent: Union[str, bool] = ... - modifiable: bool = ... - mouse_position: bool = ... - scale_text: bool = ... - layerswitcher: bool = ... - scrollable: bool = ... - map_width: int = ... - map_height: int = ... - map_srid: int = ... - map_template: str = ... - openlayers_url: str = ... - point_zoom: Any = ... - wms_url: str = ... - wms_layer: str = ... - wms_name: str = ... - wms_options: Any = ... - debug: bool = ... - widget: Any = ... - @property - def media(self): ... - def formfield_for_dbfield(self, db_field: Any, request: Any, **kwargs: Any): ... - def get_map_widget(self, db_field: Any): ... - -class OSMGeoAdmin(GeoModelAdmin): - map_template: str = ... - num_zoom: int = ... - map_srid: Any = ... - max_extent: str = ... - max_resolution: str = ... - point_zoom: int = ... - units: str = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/admin/widgets.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/admin/widgets.pyi deleted file mode 100644 index a1b3888f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/admin/widgets.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any - -from django.forms.widgets import Textarea as Textarea - -geo_context: Any -logger: Any - -class OpenLayersWidget(Textarea): - def get_context(self, name: Any, value: Any, attrs: Any): ... - def map_options(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/apps.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/apps.pyi deleted file mode 100644 index 04ebc989..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/apps.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Any - -from django.apps import AppConfig as AppConfig - -class GISConfig(AppConfig): - name: str = ... - verbose_name: Any = ... - def ready(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/adapter.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/adapter.pyi deleted file mode 100644 index fbc21276..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/adapter.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Any - -class WKTAdapter: - wkt: Any = ... - srid: Any = ... - def __init__(self, geom: Any) -> None: ... - def __eq__(self, other: Any) -> Any: ... - def __hash__(self) -> Any: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/features.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/features.pyi deleted file mode 100644 index 9f334a20..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/features.pyi +++ /dev/null @@ -1,44 +0,0 @@ -from typing import Any - -class BaseSpatialFeatures: - gis_enabled: bool = ... - has_spatialrefsys_table: bool = ... - supports_add_srs_entry: bool = ... - supports_geometry_field_introspection: bool = ... - supports_3d_storage: bool = ... - supports_3d_functions: bool = ... - supports_transform: bool = ... - supports_null_geometries: bool = ... - supports_empty_geometries: bool = ... - supports_distance_geodetic: bool = ... - supports_length_geodetic: bool = ... - supports_perimeter_geodetic: bool = ... - supports_area_geodetic: bool = ... - supports_num_points_poly: bool = ... - supports_left_right_lookups: bool = ... - supports_dwithin_distance_expr: bool = ... - supports_raster: bool = ... - supports_geometry_field_unique_index: bool = ... - @property - def supports_bbcontains_lookup(self): ... - @property - def supports_contained_lookup(self): ... - @property - def supports_crosses_lookup(self): ... - @property - def supports_distances_lookups(self): ... - @property - def supports_dwithin_lookup(self): ... - @property - def supports_relate_lookup(self): ... - @property - def supports_isvalid_lookup(self): ... - @property - def supports_collect_aggr(self): ... - @property - def supports_extent_aggr(self): ... - @property - def supports_make_line_aggr(self): ... - @property - def supports_union_aggr(self): ... - def __getattr__(self, name: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/models.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/models.pyi deleted file mode 100644 index b5d0d715..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/models.pyi +++ /dev/null @@ -1,33 +0,0 @@ -from typing import Any - -class SpatialRefSysMixin: - @property - def srs(self): ... - @property - def ellipsoid(self): ... - @property - def name(self): ... - @property - def spheroid(self): ... - @property - def datum(self): ... - @property - def projected(self): ... - @property - def local(self): ... - @property - def geographic(self): ... - @property - def linear_name(self): ... - @property - def linear_units(self): ... - @property - def angular_name(self): ... - @property - def angular_units(self): ... - @property - def units(self): ... - @classmethod - def get_units(cls, wkt: Any): ... - @classmethod - def get_spheroid(cls, wkt: Any, string: bool = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/operations.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/operations.pyi deleted file mode 100644 index a05fb3ba..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/base/operations.pyi +++ /dev/null @@ -1,34 +0,0 @@ -from typing import Any, Set - -class BaseSpatialOperations: - postgis: bool = ... - spatialite: bool = ... - mysql: bool = ... - oracle: bool = ... - spatial_version: Any = ... - select: str = ... - @property - def select_extent(self) -> str: ... - geography: bool = ... - geometry: bool = ... - disallowed_aggregates: Any = ... - geom_func_prefix: str = ... - function_names: Any = ... - unsupported_functions: Set[str] = ... - from_text: bool = ... - def convert_extent(self, box: Any, srid: Any) -> Any: ... - def convert_extent3d(self, box: Any, srid: Any) -> Any: ... - def geo_quote_name(self, name: Any): ... - def geo_db_type(self, f: Any) -> Any: ... - def get_distance(self, f: Any, value: Any, lookup_type: Any) -> Any: ... - def get_geom_placeholder(self, f: Any, value: Any, compiler: Any): ... - def check_expression_support(self, expression: Any) -> None: ... - def spatial_aggregate_name(self, agg_name: Any) -> Any: ... - def spatial_function_name(self, func_name: Any): ... - def geometry_columns(self) -> Any: ... - def spatial_ref_sys(self) -> Any: ... - distance_expr_for_lookup: Any = ... - def get_db_converters(self, expression: Any): ... - def get_geometry_converter(self, expression: Any) -> Any: ... - def get_area_att_for_field(self, field: Any): ... - def get_distance_att_for_field(self, field: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/base.pyi deleted file mode 100644 index 0bbd97a1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/base.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from typing import Any - -from django.db.backends.mysql.base import DatabaseWrapper as MySQLDatabaseWrapper - -class DatabaseWrapper(MySQLDatabaseWrapper): - SchemaEditorClass: Any = ... - features_class: Any = ... - introspection_class: Any = ... - ops_class: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/features.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/features.pyi deleted file mode 100644 index 23fe5f2a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/features.pyi +++ /dev/null @@ -1,20 +0,0 @@ -from typing import Any, Dict - -from django.contrib.gis.db.backends.base.features import BaseSpatialFeatures as BaseSpatialFeatures -from django.db.backends.mysql.features import DatabaseFeatures as MySQLDatabaseFeatures - -class DatabaseFeatures(BaseSpatialFeatures, MySQLDatabaseFeatures): - has_spatialrefsys_table: bool = ... - supports_add_srs_entry: bool = ... - supports_distance_geodetic: bool = ... - supports_length_geodetic: bool = ... - supports_area_geodetic: bool = ... - supports_transform: bool = ... - supports_null_geometries: bool = ... - supports_num_points_poly: bool = ... - @property - def empty_intersection_returns_none(self) -> bool: ... - @property - def supports_geometry_field_unique_index(self) -> bool: ... # type: ignore - @property - def django_test_skips(self) -> Dict[str, Any]: ... # type: ignore diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/introspection.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/introspection.pyi deleted file mode 100644 index 0eeda25d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/introspection.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Any - -from django.db.backends.mysql.introspection import DatabaseIntrospection as DatabaseIntrospection - -class MySQLIntrospection(DatabaseIntrospection): - data_types_reverse: Any = ... - def get_geometry_type(self, table_name: Any, description: Any): ... - def supports_spatial_index(self, cursor: Any, table_name: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/operations.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/operations.pyi deleted file mode 100644 index 94a3365b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/operations.pyi +++ /dev/null @@ -1,27 +0,0 @@ -from typing import Any, Callable, Dict, List, Optional, Set, Type - -from django.contrib.gis.db.backends.base.operations import BaseSpatialOperations as BaseSpatialOperations -from django.contrib.gis.db.backends.utils import SpatialOperator -from django.contrib.gis.geos.geometry import GEOSGeometryBase -from django.db.backends.mysql.operations import DatabaseOperations as DatabaseOperations - -class MySQLOperations(BaseSpatialOperations, DatabaseOperations): - name: str = ... - geom_func_prefix: str = ... - Adapter: Any = ... - @property - def mariadb(self) -> bool: ... - @property - def mysql(self) -> bool: ... # type: ignore - @property - def select(self) -> str: ... # type: ignore - @property - def from_text(self) -> str: ... # type: ignore - @property - def gis_operators(self) -> Dict[str, SpatialOperator]: ... - disallowed_aggregates: Any = ... - @property - def unsupported_functions(self) -> Set[str]: ... # type: ignore - def geo_db_type(self, f: Any) -> Any: ... - def get_distance(self, f: Any, value: Any, lookup_type: Any) -> List[Any]: ... - def get_geometry_converter(self, expression: Any) -> Callable[[Any, Any, Any], Optional[GEOSGeometryBase]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/schema.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/schema.pyi deleted file mode 100644 index 6cc782f2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/mysql/schema.pyi +++ /dev/null @@ -1,17 +0,0 @@ -from typing import Any - -from django.db.backends.mysql.schema import DatabaseSchemaEditor as DatabaseSchemaEditor - -logger: Any - -class MySQLGISSchemaEditor(DatabaseSchemaEditor): - sql_add_spatial_index: str = ... - sql_drop_spatial_index: str = ... - geometry_sql: Any = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def skip_default(self, field: Any): ... - def column_sql(self, model: Any, field: Any, include_default: bool = ...): ... - def create_model(self, model: Any) -> None: ... - def add_field(self, model: Any, field: Any) -> None: ... - def remove_field(self, model: Any, field: Any) -> None: ... - def create_spatial_indexes(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/adapter.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/adapter.pyi deleted file mode 100644 index 86ebca7b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/adapter.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from typing import Any - -from django.contrib.gis.db.backends.base.adapter import WKTAdapter - -class OracleSpatialAdapter(WKTAdapter): - input_size: Any = ... - wkt: Any = ... - srid: Any = ... - def __init__(self, geom: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/base.pyi deleted file mode 100644 index cc1e3542..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/base.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from typing import Any - -from django.db.backends.oracle.base import DatabaseWrapper as OracleDatabaseWrapper - -class DatabaseWrapper(OracleDatabaseWrapper): - SchemaEditorClass: Any = ... - features_class: Any = ... - introspection_class: Any = ... - ops_class: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/features.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/features.pyi deleted file mode 100644 index 4e290c11..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/features.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from django.contrib.gis.db.backends.base.features import BaseSpatialFeatures as BaseSpatialFeatures -from django.db.backends.oracle.features import DatabaseFeatures as OracleDatabaseFeatures - -class DatabaseFeatures(BaseSpatialFeatures, OracleDatabaseFeatures): - supports_add_srs_entry: bool = ... - supports_geometry_field_introspection: bool = ... - supports_geometry_field_unique_index: bool = ... - supports_perimeter_geodetic: bool = ... - supports_dwithin_distance_expr: bool = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/introspection.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/introspection.pyi deleted file mode 100644 index 3410a26a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/introspection.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Any - -from django.db.backends.oracle.introspection import DatabaseIntrospection as DatabaseIntrospection - -class OracleIntrospection(DatabaseIntrospection): - @property - def data_types_reverse(self): ... - def get_geometry_type(self, table_name: Any, description: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/models.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/models.pyi deleted file mode 100644 index 7d18ee3b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/models.pyi +++ /dev/null @@ -1,33 +0,0 @@ -from typing import Any - -from django.contrib.gis.db import models as models -from django.contrib.gis.db.backends.base.models import SpatialRefSysMixin as SpatialRefSysMixin - -class OracleGeometryColumns(models.Model): - table_name: Any = ... - column_name: Any = ... - srid: Any = ... - - class Meta: - app_label: str = ... - db_table: str = ... - managed: bool = ... - @classmethod - def table_name_col(cls): ... - @classmethod - def geom_col_name(cls): ... - -class OracleSpatialRefSys(models.Model, SpatialRefSysMixin): - cs_name: Any = ... - srid: Any = ... - auth_srid: Any = ... - auth_name: Any = ... - wktext: Any = ... - cs_bounds: Any = ... - - class Meta: - app_label: str = ... - db_table: str = ... - managed: bool = ... - @property - def wkt(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/operations.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/operations.pyi deleted file mode 100644 index d7f882ad..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/operations.pyi +++ /dev/null @@ -1,43 +0,0 @@ -from typing import Any - -from django.contrib.gis.db.backends.base.operations import BaseSpatialOperations as BaseSpatialOperations -from django.contrib.gis.db.backends.utils import SpatialOperator as SpatialOperator -from django.db.backends.oracle.operations import DatabaseOperations as DatabaseOperations - -DEFAULT_TOLERANCE: str - -class SDOOperator(SpatialOperator): - sql_template: str = ... - -class SDODWithin(SpatialOperator): - sql_template: str = ... - -class SDODisjoint(SpatialOperator): - sql_template: Any = ... - -class SDORelate(SpatialOperator): - sql_template: str = ... - def check_relate_argument(self, arg: Any) -> None: ... - def as_sql(self, connection: Any, lookup: Any, template_params: Any, sql_params: Any): ... - -class OracleOperations(BaseSpatialOperations, DatabaseOperations): - name: str = ... - oracle: bool = ... - disallowed_aggregates: Any = ... - Adapter: Any = ... - extent: str = ... - unionagg: str = ... - function_names: Any = ... - select: str = ... - gis_operators: Any = ... - unsupported_functions: Any = ... - def geo_quote_name(self, name: Any): ... - def geo_db_type(self, f: Any): ... - def get_distance(self, f: Any, value: Any, lookup_type: Any): ... - def get_geom_placeholder(self, f: Any, value: Any, compiler: Any): ... - def spatial_aggregate_name(self, agg_name: Any): ... - def geometry_columns(self): ... - def spatial_ref_sys(self): ... - def modify_insert_params(self, placeholder: Any, params: Any): ... - def get_geometry_converter(self, expression: Any): ... - def get_area_att_for_field(self, field: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/schema.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/schema.pyi deleted file mode 100644 index d333685a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/oracle/schema.pyi +++ /dev/null @@ -1,19 +0,0 @@ -from typing import Any - -from django.db.backends.oracle.schema import DatabaseSchemaEditor - -class OracleGISSchemaEditor(DatabaseSchemaEditor): - sql_add_geometry_metadata: str = ... - sql_add_spatial_index: str = ... - sql_drop_spatial_index: str = ... - sql_clear_geometry_table_metadata: str = ... - sql_clear_geometry_field_metadata: str = ... - geometry_sql: Any = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def geo_quote_name(self, name: Any): ... - def column_sql(self, model: Any, field: Any, include_default: bool = ...): ... - def create_model(self, model: Any) -> None: ... - def delete_model(self, model: Any) -> None: ... - def add_field(self, model: Any, field: Any) -> None: ... - def remove_field(self, model: Any, field: Any) -> None: ... - def run_geometry_sql(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/adapter.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/adapter.pyi deleted file mode 100644 index 5b2d0c84..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/adapter.pyi +++ /dev/null @@ -1,13 +0,0 @@ -from typing import Any - -class PostGISAdapter: - is_geometry: Any = ... - ewkb: Any = ... - srid: Any = ... - geography: Any = ... - def __init__(self, obj: Any, geography: bool = ...) -> None: ... - def __conform__(self, proto: Any): ... - def __eq__(self, other: Any) -> Any: ... - def __hash__(self) -> Any: ... - def prepare(self, conn: Any) -> None: ... - def getquoted(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/base.pyi deleted file mode 100644 index 65110da7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/base.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Any - -from django.db.backends.postgresql.base import DatabaseWrapper as Psycopg2DatabaseWrapper - -class DatabaseWrapper(Psycopg2DatabaseWrapper): - SchemaEditorClass: Any = ... - features: Any = ... - ops: Any = ... - introspection: Any = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def prepare_database(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/const.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/const.pyi deleted file mode 100644 index 0d8bfe72..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/const.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from typing import Any - -GDAL_TO_POSTGIS: Any -POSTGIS_TO_GDAL: Any -POSTGIS_HEADER_STRUCTURE: str -GDAL_TO_STRUCT: Any -STRUCT_SIZE: Any -BANDTYPE_PIXTYPE_MASK: int -BANDTYPE_FLAG_HASNODATA: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/features.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/features.pyi deleted file mode 100644 index 0daef225..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/features.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from django.contrib.gis.db.backends.base.features import BaseSpatialFeatures as BaseSpatialFeatures -from django.db.backends.postgresql.features import DatabaseFeatures as Psycopg2DatabaseFeatures - -class DatabaseFeatures(BaseSpatialFeatures, Psycopg2DatabaseFeatures): - supports_3d_storage: bool = ... - supports_3d_functions: bool = ... - supports_left_right_lookups: bool = ... - supports_raster: bool = ... - supports_empty_geometries: bool = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/introspection.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/introspection.pyi deleted file mode 100644 index 5288832f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/introspection.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from typing import Any - -from django.db.backends.postgresql.introspection import DatabaseIntrospection as DatabaseIntrospection - -class PostGISIntrospection(DatabaseIntrospection): - postgis_oid_lookup: Any = ... - ignored_tables: Any = ... - def get_field_type(self, data_type: Any, description: Any): ... - def get_geometry_type(self, table_name: Any, description: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/models.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/models.pyi deleted file mode 100644 index c6bdfc86..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/models.pyi +++ /dev/null @@ -1,36 +0,0 @@ -from typing import Any - -from django.contrib.gis.db.backends.base.models import SpatialRefSysMixin as SpatialRefSysMixin -from django.db import models as models - -class PostGISGeometryColumns(models.Model): - f_table_catalog: Any = ... - f_table_schema: Any = ... - f_table_name: Any = ... - f_geometry_column: Any = ... - coord_dimension: Any = ... - srid: Any = ... - type: Any = ... - - class Meta: - app_label: str = ... - db_table: str = ... - managed: bool = ... - @classmethod - def table_name_col(cls): ... - @classmethod - def geom_col_name(cls): ... - -class PostGISSpatialRefSys(models.Model, SpatialRefSysMixin): - srid: Any = ... - auth_name: Any = ... - auth_srid: Any = ... - srtext: Any = ... - proj4text: Any = ... - - class Meta: - app_label: str = ... - db_table: str = ... - managed: bool = ... - @property - def wkt(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/operations.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/operations.pyi deleted file mode 100644 index 7bd4185b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/operations.pyi +++ /dev/null @@ -1,68 +0,0 @@ -import sys -from typing import Any, Union - -from django.contrib.gis.db.backends.base.operations import BaseSpatialOperations -from django.contrib.gis.db.backends.utils import SpatialOperator -from django.db.backends.postgresql.operations import DatabaseOperations -from django.db.models import Func - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -BILATERAL: Literal["bilateral"] - -class PostGISOperator(SpatialOperator): - geography: Any = ... - raster: Union[bool, Literal["bilateral"]] = ... - def __init__( - self, geography: bool = ..., raster: Union[bool, Literal["bilateral"]] = ..., **kwargs: Any - ) -> None: ... - def as_sql(self, connection: Any, lookup: Any, template_params: Any, *args: Any): ... - def check_raster(self, lookup: Any, template_params: Any): ... - -class ST_Polygon(Func): - function: str = ... - def __init__(self, expr: Any) -> None: ... - @property - def output_field(self): ... - -class PostGISOperations(BaseSpatialOperations, DatabaseOperations): - name: str = ... - postgis: bool = ... - geography: bool = ... - geom_func_prefix: str = ... - Adapter: Any = ... - collect: Any = ... - extent: Any = ... - extent3d: Any = ... - length3d: Any = ... - makeline: Any = ... - perimeter3d: Any = ... - unionagg: Any = ... - gis_operators: Any = ... - unsupported_functions: Any = ... - select: str = ... - select_extent: Any = ... - @property - def function_names(self): ... - @property - def spatial_version(self): ... - def geo_db_type(self, f: Any): ... - def get_distance(self, f: Any, dist_val: Any, lookup_type: Any): ... - def get_geom_placeholder(self, f: Any, value: Any, compiler: Any): ... - def postgis_geos_version(self): ... - def postgis_lib_version(self): ... - def postgis_proj_version(self): ... - def postgis_version(self): ... - def postgis_full_version(self): ... - def postgis_version_tuple(self): ... - def proj_version_tuple(self): ... - def spatial_aggregate_name(self, agg_name: Any): ... - def geometry_columns(self): ... - def spatial_ref_sys(self): ... - def parse_raster(self, value: Any): ... - def distance_expr_for_lookup(self, lhs: Any, rhs: Any, **kwargs: Any): ... - def get_geometry_converter(self, expression: Any): ... - def get_area_att_for_field(self, field: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/pgraster.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/pgraster.pyi deleted file mode 100644 index 9165e3f6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/pgraster.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import Any - -def pack(structure: Any, data: Any): ... -def unpack(structure: Any, data: Any): ... -def chunk(data: Any, index: Any): ... -def from_pgraster(data: Any): ... -def to_pgraster(rast: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/schema.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/schema.pyi deleted file mode 100644 index 58cdb985..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/postgis/schema.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Any - -from django.db.backends.postgresql.schema import DatabaseSchemaEditor - -class PostGISSchemaEditor(DatabaseSchemaEditor): - geom_index_type: str = ... - geom_index_ops_nd: str = ... - rast_index_wrapper: str = ... - sql_alter_column_to_3d: str = ... - sql_alter_column_to_2d: str = ... - def geo_quote_name(self, name: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/adapter.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/adapter.pyi deleted file mode 100644 index 84053062..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/adapter.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any - -from django.contrib.gis.db.backends.base.adapter import WKTAdapter as WKTAdapter - -class SpatiaLiteAdapter(WKTAdapter): - def __conform__(self, protocol: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/base.pyi deleted file mode 100644 index 6f13c4d2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/base.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from typing import Any - -from django.db.backends.sqlite3.base import DatabaseWrapper as SQLiteDatabaseWrapper - -class DatabaseWrapper(SQLiteDatabaseWrapper): - SchemaEditorClass: Any = ... - client_class: Any = ... - features_class: Any = ... - introspection_class: Any = ... - ops_class: Any = ... - lib_spatialite_paths: Any = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def get_new_connection(self, conn_params: Any): ... - def prepare_database(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/client.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/client.pyi deleted file mode 100644 index f9712101..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/client.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from django.db.backends.sqlite3.client import DatabaseClient as DatabaseClient - -class SpatiaLiteClient(DatabaseClient): - executable_name: str = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/features.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/features.pyi deleted file mode 100644 index b0cd52e2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/features.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from django.contrib.gis.db.backends.base.features import BaseSpatialFeatures as BaseSpatialFeatures -from django.db.backends.sqlite3.features import DatabaseFeatures as SQLiteDatabaseFeatures - -class DatabaseFeatures(BaseSpatialFeatures, SQLiteDatabaseFeatures): - supports_3d_storage: bool = ... - @property - def supports_area_geodetic(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/introspection.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/introspection.pyi deleted file mode 100644 index e98c2232..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/introspection.pyi +++ /dev/null @@ -1,12 +0,0 @@ -from typing import Any - -from django.db.backends.sqlite3.introspection import DatabaseIntrospection as DatabaseIntrospection -from django.db.backends.sqlite3.introspection import FlexibleFieldLookupDict as FlexibleFieldLookupDict - -class GeoFlexibleFieldLookupDict(FlexibleFieldLookupDict): - base_data_types_reverse: Any = ... - -class SpatiaLiteIntrospection(DatabaseIntrospection): - data_types_reverse: Any = ... - def get_geometry_type(self, table_name: Any, description: Any): ... - def get_constraints(self, cursor: Any, table_name: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/models.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/models.pyi deleted file mode 100644 index 1c0eaced..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/models.pyi +++ /dev/null @@ -1,36 +0,0 @@ -from typing import Any - -from django.contrib.gis.db.backends.base.models import SpatialRefSysMixin as SpatialRefSysMixin -from django.db import models as models - -class SpatialiteGeometryColumns(models.Model): - f_table_name: Any = ... - f_geometry_column: Any = ... - coord_dimension: Any = ... - srid: Any = ... - spatial_index_enabled: Any = ... - type: Any = ... - - class Meta: - app_label: str = ... - db_table: str = ... - managed: bool = ... - @classmethod - def table_name_col(cls): ... - @classmethod - def geom_col_name(cls): ... - -class SpatialiteSpatialRefSys(models.Model, SpatialRefSysMixin): - srid: Any = ... - auth_name: Any = ... - auth_srid: Any = ... - ref_sys_name: Any = ... - proj4text: Any = ... - srtext: Any = ... - - class Meta: - app_label: str = ... - db_table: str = ... - managed: bool = ... - @property - def wkt(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/operations.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/operations.pyi deleted file mode 100644 index 280a3709..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/operations.pyi +++ /dev/null @@ -1,36 +0,0 @@ -from typing import Any - -from django.contrib.gis.db.backends.base.operations import BaseSpatialOperations -from django.contrib.gis.db.backends.utils import SpatialOperator as SpatialOperator -from django.db.backends.sqlite3.operations import DatabaseOperations - -class SpatialiteNullCheckOperator(SpatialOperator): - def as_sql(self, connection: Any, lookup: Any, template_params: Any, sql_params: Any): ... - -class SpatiaLiteOperations(BaseSpatialOperations, DatabaseOperations): - name: str = ... - spatialite: bool = ... - Adapter: Any = ... - collect: str = ... - extent: str = ... - makeline: str = ... - unionagg: str = ... - gis_operators: Any = ... - disallowed_aggregates: Any = ... - select: str = ... - function_names: Any = ... - @property - def unsupported_functions(self): ... - @property - def spatial_version(self): ... - def geo_db_type(self, f: Any) -> None: ... - def get_distance(self, f: Any, value: Any, lookup_type: Any): ... - def geos_version(self): ... - def proj_version(self): ... - def lwgeom_version(self): ... - def spatialite_version(self): ... - def spatialite_version_tuple(self): ... - def spatial_aggregate_name(self, agg_name: Any): ... - def geometry_columns(self): ... - def spatial_ref_sys(self): ... - def get_geometry_converter(self, expression: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/schema.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/schema.pyi deleted file mode 100644 index 361f2fb0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/spatialite/schema.pyi +++ /dev/null @@ -1,25 +0,0 @@ -from typing import Any - -from django.db.backends.sqlite3.schema import DatabaseSchemaEditor as DatabaseSchemaEditor - -class SpatialiteSchemaEditor(DatabaseSchemaEditor): - sql_add_geometry_column: str = ... - sql_add_spatial_index: str = ... - sql_drop_spatial_index: str = ... - sql_recover_geometry_metadata: str = ... - sql_remove_geometry_metadata: str = ... - sql_discard_geometry_columns: str = ... - sql_update_geometry_columns: str = ... - geometry_tables: Any = ... - geometry_sql: Any = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def geo_quote_name(self, name: Any): ... - def column_sql(self, model: Any, field: Any, include_default: bool = ...): ... - def remove_geometry_metadata(self, model: Any, field: Any) -> None: ... - def create_model(self, model: Any) -> None: ... - def delete_model(self, model: Any, **kwargs: Any) -> None: ... - def add_field(self, model: Any, field: Any) -> None: ... - def remove_field(self, model: Any, field: Any) -> None: ... - def alter_db_table( - self, model: Any, old_db_table: Any, new_db_table: Any, disable_constraints: bool = ... - ) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/utils.pyi deleted file mode 100644 index aeda8cef..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/backends/utils.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any, Optional - -class SpatialOperator: - sql_template: Any = ... - op: Any = ... - func: Any = ... - def __init__(self, op: Optional[Any] = ..., func: Optional[Any] = ...) -> None: ... - @property - def default_template(self): ... - def as_sql(self, connection: Any, lookup: Any, template_params: Any, sql_params: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/__init__.pyi deleted file mode 100644 index 47d6738a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/__init__.pyi +++ /dev/null @@ -1,12 +0,0 @@ -# noqa: F401 -from django.contrib.gis.db.models.aggregates import * -from django.contrib.gis.db.models.fields import GeometryCollectionField as GeometryCollectionField -from django.contrib.gis.db.models.fields import GeometryField as GeometryField -from django.contrib.gis.db.models.fields import LineStringField as LineStringField -from django.contrib.gis.db.models.fields import MultiLineStringField as MultiLineStringField -from django.contrib.gis.db.models.fields import MultiPointField as MultiPointField -from django.contrib.gis.db.models.fields import MultiPolygonField as MultiPolygonField -from django.contrib.gis.db.models.fields import PointField as PointField -from django.contrib.gis.db.models.fields import PolygonField as PolygonField -from django.contrib.gis.db.models.fields import RasterField as RasterField -from django.db.models import * diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/aggregates.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/aggregates.pyi deleted file mode 100644 index 65d667d8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/aggregates.pyi +++ /dev/null @@ -1,39 +0,0 @@ -from typing import Any, Optional - -from django.db.models import Aggregate - -class GeoAggregate(Aggregate): - function: Any = ... - is_extent: bool = ... - @property - def output_field(self): ... - def as_sql(self, compiler: Any, connection: Any, function: Optional[Any] = ..., **extra_context: Any): ... - def as_oracle(self, compiler: Any, connection: Any, **extra_context: Any): ... - def resolve_expression( - self, - query: Optional[Any] = ..., - allow_joins: bool = ..., - reuse: Optional[Any] = ..., - summarize: bool = ..., - for_save: bool = ..., - ): ... - -class Collect(GeoAggregate): - name: str = ... - output_field_class: Any = ... - -class Extent(GeoAggregate): - name: str = ... - def __init__(self, expression: Any, **extra: Any) -> None: ... - -class Extent3D(GeoAggregate): - name: str = ... - def __init__(self, expression: Any, **extra: Any) -> None: ... - -class MakeLine(GeoAggregate): - name: str = ... - output_field_class: Any = ... - -class Union(GeoAggregate): - name: str = ... - output_field_class: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/fields.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/fields.pyi deleted file mode 100644 index 64a28128..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/fields.pyi +++ /dev/null @@ -1,154 +0,0 @@ -from typing import Any, Iterable, NamedTuple, Optional, Tuple, TypeVar, Union - -from django.core.validators import _ValidatorCallable -from django.db.models.fields import Field, _ErrorMessagesT, _FieldChoices - -# __set__ value type -_ST = TypeVar("_ST") -# __get__ return type -_GT = TypeVar("_GT") - -class SRIDCacheEntry(NamedTuple): - units: Any - units_name: str - geodetic: bool - spheroid: str - -def get_srid_info(srid: int, connection: Any) -> SRIDCacheEntry: ... - -class BaseSpatialField(Field[_ST, _GT]): - def __init__( - self, - verbose_name: Optional[Union[str, bytes]] = ..., - srid: int = ..., - spatial_index: bool = ..., - *, - name: Optional[str] = ..., - primary_key: bool = ..., - max_length: Optional[int] = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - db_index: bool = ..., - default: Any = ..., - editable: bool = ..., - auto_created: bool = ..., - serialize: bool = ..., - unique_for_date: Optional[str] = ..., - unique_for_month: Optional[str] = ..., - unique_for_year: Optional[str] = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - validators: Iterable[_ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - ): ... - def deconstruct(self): ... - def db_type(self, connection: Any): ... - def spheroid(self, connection: Any): ... - def units(self, connection: Any): ... - def units_name(self, connection: Any): ... - def geodetic(self, connection: Any): ... - def get_placeholder(self, value: Any, compiler: Any, connection: Any): ... - def get_srid(self, obj: Any): ... - def get_db_prep_value(self, value: Any, connection: Any, *args: Any, **kwargs: Any): ... - def get_raster_prep_value(self, value: Any, is_candidate: Any): ... - def get_prep_value(self, value: Any): ... - -class GeometryField(BaseSpatialField): - description: Any = ... - form_class: Any = ... - geom_type: str = ... - geom_class: Any = ... - dim: Any = ... - geography: Any = ... - def __init__( - self, - verbose_name: Optional[Union[str, bytes]] = ..., - dim: int = ..., - geography: bool = ..., - *, - extent: Tuple[float, float, float, float] = ..., - tolerance: float = ..., - srid: int = ..., - spatial_index: bool = ..., - name: Optional[str] = ..., - primary_key: bool = ..., - max_length: Optional[int] = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - db_index: bool = ..., - default: Any = ..., - editable: bool = ..., - auto_created: bool = ..., - serialize: bool = ..., - unique_for_date: Optional[str] = ..., - unique_for_month: Optional[str] = ..., - unique_for_year: Optional[str] = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - validators: Iterable[_ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - ): ... - def deconstruct(self): ... - def formfield(self, **kwargs: Any): ... # type: ignore[override] - def select_format(self, compiler: Any, sql: Any, params: Any): ... - -class PointField(GeometryField): - geom_type: str = ... - geom_class: Any = ... - form_class: Any = ... - description: Any = ... - -class LineStringField(GeometryField): - geom_type: str = ... - geom_class: Any = ... - form_class: Any = ... - description: Any = ... - -class PolygonField(GeometryField): - geom_type: str = ... - geom_class: Any = ... - form_class: Any = ... - description: Any = ... - -class MultiPointField(GeometryField): - geom_type: str = ... - geom_class: Any = ... - form_class: Any = ... - description: Any = ... - -class MultiLineStringField(GeometryField): - geom_type: str = ... - geom_class: Any = ... - form_class: Any = ... - description: Any = ... - -class MultiPolygonField(GeometryField): - geom_type: str = ... - geom_class: Any = ... - form_class: Any = ... - description: Any = ... - -class GeometryCollectionField(GeometryField): - geom_type: str = ... - geom_class: Any = ... - form_class: Any = ... - description: Any = ... - -class ExtentField(Field): - description: Any = ... - def get_internal_type(self): ... - def select_format(self, compiler: Any, sql: Any, params: Any): ... - -class RasterField(BaseSpatialField): - description: Any = ... - geom_type: str = ... - geography: bool = ... - def db_type(self, connection: Any): ... - def from_db_value(self, value: Any, expression: Any, connection: Any): ... - def get_transform(self, name: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/functions.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/functions.pyi deleted file mode 100644 index 579d1006..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/functions.pyi +++ /dev/null @@ -1,174 +0,0 @@ -from typing import Any, Optional - -from django.db.models import Func -from django.db.models import Transform as StandardTransform - -NUMERIC_TYPES: Any - -class GeoFuncMixin: - function: Any = ... - geom_param_pos: Any = ... - def __init__(self, *expressions: Any, **extra: Any) -> None: ... - @property - def geo_field(self): ... - def as_sql(self, compiler: Any, connection: Any, function: Optional[Any] = ..., **extra_context: Any): ... - def resolve_expression(self, *args: Any, **kwargs: Any): ... - -class GeoFunc(GeoFuncMixin, Func): ... - -class GeomOutputGeoFunc(GeoFunc): - @property - def output_field(self): ... - -class SQLiteDecimalToFloatMixin: - def as_sqlite(self, compiler: Any, connection: Any, **extra_context: Any): ... - -class OracleToleranceMixin: - tolerance: float = ... - def as_oracle(self, compiler: Any, connection: Any, **extra_context: Any): ... - -class Area(OracleToleranceMixin, GeoFunc): - arity: int = ... - @property - def output_field(self): ... - def as_sqlite(self, compiler: Any, connection: Any, **extra_context: Any): ... - -class Azimuth(GeoFunc): - output_field: Any = ... - arity: int = ... - geom_param_pos: Any = ... - -class AsGeoJSON(GeoFunc): - output_field: Any = ... - def __init__( - self, expression: Any, bbox: bool = ..., crs: bool = ..., precision: int = ..., **extra: Any - ) -> None: ... - def as_oracle(self, compiler: Any, connection: Any, **extra_context: Any): ... - -class AsGML(GeoFunc): - geom_param_pos: Any = ... - output_field: Any = ... - def __init__(self, expression: Any, version: int = ..., precision: int = ..., **extra: Any) -> None: ... - def as_oracle(self, compiler: Any, connection: Any, **extra_context: Any): ... - -class AsKML(GeoFunc): - output_field: Any = ... - def __init__(self, expression: Any, precision: int = ..., **extra: Any) -> None: ... - -class AsSVG(GeoFunc): - output_field: Any = ... - def __init__(self, expression: Any, relative: bool = ..., precision: int = ..., **extra: Any) -> None: ... - -class AsWKB(GeoFunc): - output_field: Any = ... - arity: int = ... - -class AsWKT(GeoFunc): - output_field: Any = ... - arity: int = ... - -class BoundingCircle(OracleToleranceMixin, GeomOutputGeoFunc): - def __init__(self, expression: Any, num_seg: int = ..., **extra: Any) -> None: ... - def as_oracle(self, compiler: Any, connection: Any, **extra_context: Any): ... - -class Centroid(OracleToleranceMixin, GeomOutputGeoFunc): - arity: int = ... - -class Difference(OracleToleranceMixin, GeomOutputGeoFunc): - arity: int = ... - geom_param_pos: Any = ... - -class DistanceResultMixin: - @property - def output_field(self): ... - def source_is_geography(self): ... - -class Distance(DistanceResultMixin, OracleToleranceMixin, GeoFunc): - geom_param_pos: Any = ... - spheroid: Any = ... - def __init__(self, expr1: Any, expr2: Any, spheroid: Optional[Any] = ..., **extra: Any) -> None: ... - def as_postgresql(self, compiler: Any, connection: Any, **extra_context: Any): ... - def as_sqlite(self, compiler: Any, connection: Any, **extra_context: Any): ... - -class Envelope(GeomOutputGeoFunc): - arity: int = ... - -class ForcePolygonCW(GeomOutputGeoFunc): - arity: int = ... - -class GeoHash(GeoFunc): - output_field: Any = ... - def __init__(self, expression: Any, precision: Optional[Any] = ..., **extra: Any) -> None: ... - def as_mysql(self, compiler: Any, connection: Any, **extra_context: Any): ... - -class GeometryDistance(GeoFunc): - output_field: Any = ... - arity: int = ... - function: str = ... - arg_joiner: str = ... - geom_param_pos: Any = ... - -class Intersection(OracleToleranceMixin, GeomOutputGeoFunc): - arity: int = ... - geom_param_pos: Any = ... - -class IsValid(OracleToleranceMixin, GeoFuncMixin, StandardTransform): - lookup_name: str = ... - output_field: Any = ... - def as_oracle(self, compiler: Any, connection: Any, **extra_context: Any): ... - -class Length(DistanceResultMixin, OracleToleranceMixin, GeoFunc): - spheroid: Any = ... - def __init__(self, expr1: Any, spheroid: bool = ..., **extra: Any) -> None: ... - def as_postgresql(self, compiler: Any, connection: Any, **extra_context: Any): ... - def as_sqlite(self, compiler: Any, connection: Any, **extra_context: Any): ... - -class LineLocatePoint(GeoFunc): - output_field: Any = ... - arity: int = ... - geom_param_pos: Any = ... - -class MakeValid(GeomOutputGeoFunc): ... - -class MemSize(GeoFunc): - output_field: Any = ... - arity: int = ... - -class NumGeometries(GeoFunc): - output_field: Any = ... - arity: int = ... - -class NumPoints(GeoFunc): - output_field: Any = ... - arity: int = ... - -class Perimeter(DistanceResultMixin, OracleToleranceMixin, GeoFunc): - arity: int = ... - def as_postgresql(self, compiler: Any, connection: Any, **extra_context: Any): ... - def as_sqlite(self, compiler: Any, connection: Any, **extra_context: Any): ... - -class PointOnSurface(OracleToleranceMixin, GeomOutputGeoFunc): - arity: int = ... - -class Reverse(GeoFunc): - arity: int = ... - -class Scale(SQLiteDecimalToFloatMixin, GeomOutputGeoFunc): - def __init__(self, expression: Any, x: Any, y: Any, z: float = ..., **extra: Any) -> None: ... - -class SnapToGrid(SQLiteDecimalToFloatMixin, GeomOutputGeoFunc): - def __init__(self, expression: Any, *args: Any, **extra: Any) -> None: ... - -class SymDifference(OracleToleranceMixin, GeomOutputGeoFunc): - arity: int = ... - geom_param_pos: Any = ... - -class Transform(GeomOutputGeoFunc): - def __init__(self, expression: Any, srid: Any, **extra: Any) -> None: ... - -class Translate(Scale): - def as_sqlite(self, compiler: Any, connection: Any, **extra_context: Any): ... - -class Union(OracleToleranceMixin, GeomOutputGeoFunc): - arity: int = ... - geom_param_pos: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/lookups.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/lookups.pyi deleted file mode 100644 index 02794235..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/lookups.pyi +++ /dev/null @@ -1,127 +0,0 @@ -from typing import Any - -from django.db.models import Lookup, Transform - -class RasterBandTransform(Transform): ... - -class GISLookup(Lookup): - sql_template: Any = ... - transform_func: Any = ... - distance: bool = ... - band_rhs: Any = ... - band_lhs: Any = ... - template_params: Any = ... - def __init__(self, lhs: Any, rhs: Any) -> None: ... - def process_rhs_params(self) -> None: ... - def process_band_indices(self, only_lhs: bool = ...) -> None: ... - def get_db_prep_lookup(self, value: Any, connection: Any): ... - rhs: Any = ... - def process_rhs(self, compiler: Any, connection: Any): ... - def get_rhs_op(self, connection: Any, rhs: Any): ... - def as_sql(self, compiler: Any, connection: Any): ... - -class OverlapsLeftLookup(GISLookup): - lookup_name: str = ... - -class OverlapsRightLookup(GISLookup): - lookup_name: str = ... - -class OverlapsBelowLookup(GISLookup): - lookup_name: str = ... - -class OverlapsAboveLookup(GISLookup): - lookup_name: str = ... - -class LeftLookup(GISLookup): - lookup_name: str = ... - -class RightLookup(GISLookup): - lookup_name: str = ... - -class StrictlyBelowLookup(GISLookup): - lookup_name: str = ... - -class StrictlyAboveLookup(GISLookup): - lookup_name: str = ... - -class SameAsLookup(GISLookup): - lookup_name: str = ... - -class BBContainsLookup(GISLookup): - lookup_name: str = ... - -class BBOverlapsLookup(GISLookup): - lookup_name: str = ... - -class ContainedLookup(GISLookup): - lookup_name: str = ... - -class ContainsLookup(GISLookup): - lookup_name: str = ... - -class ContainsProperlyLookup(GISLookup): - lookup_name: str = ... - -class CoveredByLookup(GISLookup): - lookup_name: str = ... - -class CoversLookup(GISLookup): - lookup_name: str = ... - -class CrossesLookup(GISLookup): - lookup_name: str = ... - -class DisjointLookup(GISLookup): - lookup_name: str = ... - -class EqualsLookup(GISLookup): - lookup_name: str = ... - -class IntersectsLookup(GISLookup): - lookup_name: str = ... - -class OverlapsLookup(GISLookup): - lookup_name: str = ... - -class RelateLookup(GISLookup): - lookup_name: str = ... - sql_template: str = ... - pattern_regex: Any = ... - def process_rhs(self, compiler: Any, connection: Any): ... - -class TouchesLookup(GISLookup): - lookup_name: str = ... - -class WithinLookup(GISLookup): - lookup_name: str = ... - -class DistanceLookupBase(GISLookup): - distance: bool = ... - sql_template: str = ... - def process_rhs_params(self) -> None: ... - def process_distance(self, compiler: Any, connection: Any): ... - -class DWithinLookup(DistanceLookupBase): - lookup_name: str = ... - sql_template: str = ... - def process_distance(self, compiler: Any, connection: Any): ... - def process_rhs(self, compiler: Any, connection: Any): ... - -class DistanceLookupFromFunction(DistanceLookupBase): - def as_sql(self, compiler: Any, connection: Any): ... - -class DistanceGTLookup(DistanceLookupFromFunction): - lookup_name: str = ... - op: str = ... - -class DistanceGTELookup(DistanceLookupFromFunction): - lookup_name: str = ... - op: str = ... - -class DistanceLTLookup(DistanceLookupFromFunction): - lookup_name: str = ... - op: str = ... - -class DistanceLTELookup(DistanceLookupFromFunction): - lookup_name: str = ... - op: str = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/proxy.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/proxy.pyi deleted file mode 100644 index c817449c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/proxy.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Any, Optional - -from django.db.models.query_utils import DeferredAttribute - -class SpatialProxy(DeferredAttribute): - def __init__(self, klass: Any, field: Any, load_func: Optional[Any] = ...) -> None: ... - def __get__(self, instance: Any, cls: Optional[Any] = ...): ... - def __set__(self, instance: Any, value: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/sql/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/sql/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/sql/conversion.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/sql/conversion.pyi deleted file mode 100644 index 87b4c6cd..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/db/models/sql/conversion.pyi +++ /dev/null @@ -1,19 +0,0 @@ -from typing import Any - -from django.db import models as models - -class AreaField(models.FloatField): - geo_field: Any = ... - def __init__(self, geo_field: Any) -> None: ... - def get_prep_value(self, value: Any): ... - def get_db_prep_value(self, value: Any, connection: Any, prepared: bool = ...): ... - def from_db_value(self, value: Any, expression: Any, connection: Any): ... - def get_internal_type(self): ... - -class DistanceField(models.FloatField): - geo_field: Any = ... - def __init__(self, geo_field: Any) -> None: ... - def get_prep_value(self, value: Any): ... - def get_db_prep_value(self, value: Any, connection: Any, prepared: bool = ...): ... - def from_db_value(self, value: Any, expression: Any, connection: Any): ... - def get_internal_type(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/feeds.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/feeds.pyi deleted file mode 100644 index 91c36ed2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/feeds.pyi +++ /dev/null @@ -1,29 +0,0 @@ -from typing import Any - -from django.contrib.syndication.views import Feed as BaseFeed -from django.utils.feedgenerator import Atom1Feed, Rss201rev2Feed - -class GeoFeedMixin: - def georss_coords(self, coords: Any): ... - def add_georss_point(self, handler: Any, coords: Any, w3c_geo: bool = ...) -> None: ... - def add_georss_element(self, handler: Any, item: Any, w3c_geo: bool = ...) -> None: ... - -class GeoRSSFeed(Rss201rev2Feed, GeoFeedMixin): - def rss_attributes(self): ... - def add_item_elements(self, handler: Any, item: Any) -> None: ... - def add_root_elements(self, handler: Any) -> None: ... - -class GeoAtom1Feed(Atom1Feed, GeoFeedMixin): - def root_attributes(self): ... - def add_item_elements(self, handler: Any, item: Any) -> None: ... - def add_root_elements(self, handler: Any) -> None: ... - -class W3CGeoFeed(Rss201rev2Feed, GeoFeedMixin): - def rss_attributes(self): ... - def add_item_elements(self, handler: Any, item: Any) -> None: ... - def add_root_elements(self, handler: Any) -> None: ... - -class Feed(BaseFeed): - feed_type: Any = ... - def feed_extra_kwargs(self, obj: Any): ... - def item_extra_kwargs(self, item: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/forms/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/forms/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/forms/fields.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/forms/fields.pyi deleted file mode 100644 index 8141faff..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/forms/fields.pyi +++ /dev/null @@ -1,34 +0,0 @@ -from typing import Any, Optional - -from django import forms as forms - -class GeometryField(forms.Field): - widget: Any = ... - geom_type: str = ... - default_error_messages: Any = ... - srid: Any = ... - def __init__(self, *, srid: Optional[Any] = ..., geom_type: Optional[Any] = ..., **kwargs: Any) -> None: ... - def to_python(self, value: Any): ... - def clean(self, value: Any): ... - def has_changed(self, initial: Any, data: Any): ... - -class GeometryCollectionField(GeometryField): - geom_type: str = ... - -class PointField(GeometryField): - geom_type: str = ... - -class MultiPointField(GeometryField): - geom_type: str = ... - -class LineStringField(GeometryField): - geom_type: str = ... - -class MultiLineStringField(GeometryField): - geom_type: str = ... - -class PolygonField(GeometryField): - geom_type: str = ... - -class MultiPolygonField(GeometryField): - geom_type: str = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/forms/widgets.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/forms/widgets.pyi deleted file mode 100644 index 1f9a2f40..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/forms/widgets.pyi +++ /dev/null @@ -1,36 +0,0 @@ -from typing import Any, Optional - -from django.forms.widgets import Widget as Widget - -logger: Any - -class BaseGeometryWidget(Widget): - geom_type: str = ... - map_srid: int = ... - map_width: int = ... - map_height: int = ... - display_raw: bool = ... - supports_3d: bool = ... - template_name: str = ... - attrs: Any = ... - def __init__(self, attrs: Optional[Any] = ...) -> None: ... - def serialize(self, value: Any): ... - def deserialize(self, value: Any): ... - def get_context(self, name: Any, value: Any, attrs: Any): ... - -class OpenLayersWidget(BaseGeometryWidget): - template_name: str = ... - map_srid: int = ... - - class Media: - css: Any = ... - js: Any = ... - def serialize(self, value: Any): ... - def deserialize(self, value: Any): ... - -class OSMWidget(OpenLayersWidget): - template_name: str = ... - default_lon: int = ... - default_lat: int = ... - default_zoom: int = ... - def __init__(self, attrs: Optional[Any] = ...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/__init__.pyi deleted file mode 100644 index a3a430e1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/__init__.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from django.contrib.gis.gdal.datasource import DataSource -from django.contrib.gis.gdal.driver import Driver -from django.contrib.gis.gdal.error import GDALException as GDALException -from django.contrib.gis.gdal.error import SRSException as SRSException -from django.contrib.gis.gdal.error import check_err as check_err -from django.contrib.gis.gdal.libgdal import GDAL_VERSION as GDAL_VERSION -from django.contrib.gis.gdal.libgdal import gdal_full_version as gdal_full_version -from django.contrib.gis.gdal.libgdal import gdal_version as gdal_version -from django.contrib.gis.gdal.srs import AxisOrder as AxisOrder -from django.contrib.gis.gdal.srs import CoordTransform as CoordTransform -from django.contrib.gis.gdal.srs import SpatialReference as SpatialReference diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/base.pyi deleted file mode 100644 index 7cc88664..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/base.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any - -from django.contrib.gis.ptr import CPointerBase as CPointerBase - -class GDALBase(CPointerBase): - null_ptr_exception_class: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/datasource.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/datasource.pyi deleted file mode 100644 index dbbf22b9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/datasource.pyi +++ /dev/null @@ -1,16 +0,0 @@ -from typing import Any - -from django.contrib.gis.gdal.base import GDALBase as GDALBase - -class DataSource(GDALBase): - destructor: Any = ... - encoding: Any = ... - ptr: Any = ... - driver: Any = ... - def __init__(self, ds_input: Any, ds_driver: bool = ..., write: bool = ..., encoding: str = ...) -> None: ... - def __getitem__(self, index: Any): ... - def __len__(self): ... - @property - def layer_count(self): ... - @property - def name(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/driver.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/driver.pyi deleted file mode 100644 index da635d0f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/driver.pyi +++ /dev/null @@ -1,13 +0,0 @@ -from typing import Any - -from django.contrib.gis.gdal.base import GDALBase as GDALBase - -class Driver(GDALBase): - ptr: Any = ... - def __init__(self, dr_input: Any) -> None: ... - @classmethod - def ensure_registered(cls) -> None: ... - @classmethod - def driver_count(cls): ... - @property - def name(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/envelope.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/envelope.pyi deleted file mode 100644 index 0a8814b1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/envelope.pyi +++ /dev/null @@ -1,25 +0,0 @@ -from ctypes import Structure -from typing import Any - -class OGREnvelope(Structure): ... - -class Envelope: - def __init__(self, *args: Any) -> None: ... - def __eq__(self, other: Any) -> Any: ... - def expand_to_include(self, *args: Any): ... - @property - def min_x(self): ... - @property - def min_y(self): ... - @property - def max_x(self): ... - @property - def max_y(self): ... - @property - def ur(self): ... - @property - def ll(self): ... - @property - def tuple(self): ... - @property - def wkt(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/error.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/error.pyi deleted file mode 100644 index 99eca85b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/error.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any - -class GDALException(Exception): ... -class SRSException(Exception): ... - -OGRERR_DICT: Any -CPLERR_DICT: Any -ERR_NONE: int - -def check_err(code: Any, cpl: bool = ...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/feature.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/feature.pyi deleted file mode 100644 index 5fa1d2e6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/feature.pyi +++ /dev/null @@ -1,27 +0,0 @@ -from typing import Any - -from django.contrib.gis.gdal.base import GDALBase as GDALBase - -class Feature(GDALBase): - destructor: Any = ... - ptr: Any = ... - def __init__(self, feat: Any, layer: Any) -> None: ... - def __getitem__(self, index: Any): ... - def __len__(self): ... - def __eq__(self, other: Any) -> Any: ... - @property - def encoding(self): ... - @property - def fid(self): ... - @property - def layer_name(self): ... - @property - def num_fields(self): ... - @property - def fields(self): ... - @property - def geom(self): ... - @property - def geom_type(self): ... - def get(self, field: Any): ... - def index(self, field_name: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/field.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/field.pyi deleted file mode 100644 index 2033a8e8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/field.pyi +++ /dev/null @@ -1,62 +0,0 @@ -from typing import Any - -from django.contrib.gis.gdal.base import GDALBase as GDALBase - -class Field(GDALBase): - ptr: Any = ... - __class__: Any = ... - def __init__(self, feat: Any, index: Any) -> None: ... - def as_double(self): ... - def as_int(self, is_64: bool = ...): ... - def as_string(self): ... - def as_datetime(self): ... - @property - def is_set(self): ... - @property - def name(self): ... - @property - def precision(self): ... - @property - def type(self): ... - @property - def type_name(self): ... - @property - def value(self): ... - @property - def width(self): ... - -class OFTInteger(Field): - @property - def value(self): ... - @property - def type(self): ... - -class OFTReal(Field): - @property - def value(self): ... - -class OFTString(Field): ... -class OFTWideString(Field): ... -class OFTBinary(Field): ... - -class OFTDate(Field): - @property - def value(self): ... - -class OFTDateTime(Field): - @property - def value(self): ... - -class OFTTime(Field): - @property - def value(self): ... - -class OFTInteger64(OFTInteger): ... -class OFTIntegerList(Field): ... -class OFTRealList(Field): ... -class OFTStringList(Field): ... -class OFTWideStringList(Field): ... -class OFTInteger64List(Field): ... - -OGRFieldTypes: Any -ROGRFieldTypes: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/geometries.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/geometries.pyi deleted file mode 100644 index 15e50f8b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/geometries.pyi +++ /dev/null @@ -1,139 +0,0 @@ -from typing import Any, Optional - -from django.contrib.gis.gdal.base import GDALBase as GDALBase - -class OGRGeometry(GDALBase): - destructor: Any = ... - ptr: Any = ... - srs: Any = ... - __class__: Any = ... - def __init__(self, geom_input: Any, srs: Optional[Any] = ...) -> None: ... - @classmethod - def from_bbox(cls, bbox: Any): ... - @staticmethod - def from_json(geom_input: Any): ... - @classmethod - def from_gml(cls, gml_string: Any): ... - def __or__(self, other: Any): ... - def __and__(self, other: Any): ... - def __sub__(self, other: Any): ... - def __xor__(self, other: Any): ... - def __eq__(self, other: Any) -> Any: ... - @property - def dimension(self): ... - coord_dim: Any = ... - @property - def geom_count(self): ... - @property - def point_count(self): ... - @property - def num_points(self): ... - @property - def num_coords(self): ... - @property - def geom_type(self): ... - @property - def geom_name(self): ... - @property - def area(self): ... - @property - def envelope(self): ... - @property - def empty(self): ... - @property - def extent(self): ... - srid: Any = ... - @property - def geos(self): ... - @property - def gml(self): ... - @property - def hex(self): ... - @property - def json(self): ... - geojson: Any = ... - @property - def kml(self): ... - @property - def wkb_size(self): ... - @property - def wkb(self): ... - @property - def wkt(self): ... - @property - def ewkt(self): ... - def clone(self): ... - def close_rings(self) -> None: ... - def transform(self, coord_trans: Any, clone: bool = ...): ... - def intersects(self, other: Any): ... - def equals(self, other: Any): ... - def disjoint(self, other: Any): ... - def touches(self, other: Any): ... - def crosses(self, other: Any): ... - def within(self, other: Any): ... - def contains(self, other: Any): ... - def overlaps(self, other: Any): ... - @property - def boundary(self): ... - @property - def convex_hull(self): ... - def difference(self, other: Any): ... - def intersection(self, other: Any): ... - def sym_difference(self, other: Any): ... - def union(self, other: Any): ... - -class Point(OGRGeometry): - @property - def x(self): ... - @property - def y(self): ... - @property - def z(self): ... - @property - def tuple(self): ... - coords: Any = ... - -class LineString(OGRGeometry): - def __getitem__(self, index: Any): ... - def __len__(self): ... - @property - def tuple(self): ... - coords: Any = ... - @property - def x(self): ... - @property - def y(self): ... - @property - def z(self): ... - -class LinearRing(LineString): ... - -class Polygon(OGRGeometry): - def __len__(self): ... - def __getitem__(self, index: Any): ... - @property - def shell(self): ... - exterior_ring: Any = ... - @property - def tuple(self): ... - coords: Any = ... - @property - def point_count(self): ... - @property - def centroid(self): ... - -class GeometryCollection(OGRGeometry): - def __getitem__(self, index: Any): ... - def __len__(self): ... - def add(self, geom: Any) -> None: ... - @property - def point_count(self): ... - @property - def tuple(self): ... - coords: Any = ... - -class MultiPoint(GeometryCollection): ... -class MultiLineString(GeometryCollection): ... -class MultiPolygon(GeometryCollection): ... - -GEO_CLASSES: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/geomtype.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/geomtype.pyi deleted file mode 100644 index 5deeccaa..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/geomtype.pyi +++ /dev/null @@ -1,12 +0,0 @@ -from typing import Any - -class OGRGeomType: - wkb25bit: int = ... - num: Any = ... - def __init__(self, type_input: Any) -> None: ... - def __eq__(self, other: Any) -> Any: ... - @property - def name(self): ... - @property - def django(self): ... - def to_multi(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/layer.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/layer.pyi deleted file mode 100644 index 3cbc41c3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/layer.pyi +++ /dev/null @@ -1,32 +0,0 @@ -from typing import Any - -from django.contrib.gis.gdal.base import GDALBase as GDALBase - -class Layer(GDALBase): - ptr: Any = ... - def __init__(self, layer_ptr: Any, ds: Any) -> None: ... - def __getitem__(self, index: Any): ... - def __iter__(self) -> Any: ... - def __len__(self): ... - @property - def extent(self): ... - @property - def name(self): ... - @property - def num_fields(self): ... - @property - def geom_type(self): ... - @property - def srs(self): ... - @property - def fields(self): ... - @property - def field_types(self): ... - @property - def field_widths(self): ... - @property - def field_precisions(self): ... - spatial_filter: Any = ... - def get_fields(self, field_name: Any): ... - def get_geoms(self, geos: bool = ...): ... - def test_capability(self, capability: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/libgdal.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/libgdal.pyi deleted file mode 100644 index 3bc24d4e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/libgdal.pyi +++ /dev/null @@ -1,20 +0,0 @@ -from typing import Any - -logger: Any -lib_path: Any -lib_names: Any -lgdal: Any -lwingdal: Any - -def std_call(func: Any): ... -def gdal_version(): ... -def gdal_full_version(): ... -def gdal_version_info(): ... - -GDAL_VERSION: Any -CPLErrorHandler: Any - -def err_handler(error_class: Any, error_number: Any, message: Any) -> None: ... -def function(name: Any, args: Any, restype: Any): ... - -set_error_handler: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/ds.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/ds.pyi deleted file mode 100644 index 59aefc94..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/ds.pyi +++ /dev/null @@ -1,51 +0,0 @@ -from typing import Any - -c_int_p: Any -register_all: Any -cleanup_all: Any -get_driver: Any -get_driver_by_name: Any -get_driver_count: Any -get_driver_name: Any -open_ds: Any -destroy_ds: Any -release_ds: Any -get_ds_name: Any -get_layer: Any -get_layer_by_name: Any -get_layer_count: Any -get_extent: Any -get_feature: Any -get_feature_count: Any -get_layer_defn: Any -get_layer_srs: Any -get_next_feature: Any -reset_reading: Any -test_capability: Any -get_spatial_filter: Any -set_spatial_filter: Any -set_spatial_filter_rect: Any -get_fd_geom_type: Any -get_fd_name: Any -get_feat_name: Any -get_field_count: Any -get_field_defn: Any -clone_feature: Any -destroy_feature: Any -feature_equal: Any -get_feat_geom_ref: Any -get_feat_field_count: Any -get_feat_field_defn: Any -get_fid: Any -get_field_as_datetime: Any -get_field_as_double: Any -get_field_as_integer: Any -get_field_as_integer64: Any -is_field_set: Any -get_field_as_string: Any -get_field_index: Any -get_field_name: Any -get_field_precision: Any -get_field_type: Any -get_field_type_name: Any -get_field_width: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/errcheck.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/errcheck.pyi deleted file mode 100644 index 761a2a1d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/errcheck.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from typing import Any, Optional - -def arg_byref(args: Any, offset: int = ...): ... -def ptr_byref(args: Any, offset: int = ...): ... -def check_const_string(result: Any, func: Any, cargs: Any, offset: Optional[Any] = ..., cpl: bool = ...): ... -def check_string(result: Any, func: Any, cargs: Any, offset: int = ..., str_result: bool = ...): ... -def check_envelope(result: Any, func: Any, cargs: Any, offset: int = ...): ... -def check_geom(result: Any, func: Any, cargs: Any): ... -def check_geom_offset(result: Any, func: Any, cargs: Any, offset: int = ...): ... -def check_srs(result: Any, func: Any, cargs: Any): ... -def check_arg_errcode(result: Any, func: Any, cargs: Any, cpl: bool = ...): ... -def check_errcode(result: Any, func: Any, cargs: Any, cpl: bool = ...) -> None: ... -def check_pointer(result: Any, func: Any, cargs: Any): ... -def check_str_arg(result: Any, func: Any, cargs: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/generation.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/generation.pyi deleted file mode 100644 index 6f4cb3de..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/generation.pyi +++ /dev/null @@ -1,20 +0,0 @@ -from ctypes import c_char_p -from typing import Any, Optional - -class gdal_char_p(c_char_p): ... - -def bool_output(func: Any, argtypes: Any, errcheck: Optional[Any] = ...): ... -def double_output(func: Any, argtypes: Any, errcheck: bool = ..., strarg: bool = ..., cpl: bool = ...): ... -def geom_output(func: Any, argtypes: Any, offset: Optional[Any] = ...): ... -def int_output(func: Any, argtypes: Any, errcheck: Optional[Any] = ...): ... -def int64_output(func: Any, argtypes: Any): ... -def srs_output(func: Any, argtypes: Any): ... -def const_string_output( - func: Any, argtypes: Any, offset: Optional[Any] = ..., decoding: Optional[Any] = ..., cpl: bool = ... -): ... -def string_output( - func: Any, argtypes: Any, offset: int = ..., str_result: bool = ..., decoding: Optional[Any] = ... -): ... -def void_output(func: Any, argtypes: Any, errcheck: bool = ..., cpl: bool = ...): ... -def voidptr_output(func: Any, argtypes: Any, errcheck: bool = ...): ... -def chararray_output(func: Any, argtypes: Any, errcheck: bool = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/geom.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/geom.pyi deleted file mode 100644 index 562c3e99..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/geom.pyi +++ /dev/null @@ -1,56 +0,0 @@ -from typing import Any - -def env_func(f: Any, argtypes: Any): ... -def pnt_func(f: Any): ... -def topology_func(f: Any): ... - -from_json: Any -to_json: Any -to_kml: Any -getx: Any -gety: Any -getz: Any -from_wkb: Any -from_wkt: Any -from_gml: Any -create_geom: Any -clone_geom: Any -get_geom_ref: Any -get_boundary: Any -geom_convex_hull: Any -geom_diff: Any -geom_intersection: Any -geom_sym_diff: Any -geom_union: Any -add_geom: Any -import_wkt: Any -destroy_geom: Any -to_wkb: Any -to_wkt: Any -to_gml: Any -get_wkbsize: Any -assign_srs: Any -get_geom_srs: Any -get_area: Any -get_centroid: Any -get_dims: Any -get_coord_dim: Any -set_coord_dim: Any -is_empty: Any -get_geom_count: Any -get_geom_name: Any -get_geom_type: Any -get_point_count: Any -get_point: Any -geom_close_rings: Any -ogr_contains: Any -ogr_crosses: Any -ogr_disjoint: Any -ogr_equals: Any -ogr_intersects: Any -ogr_overlaps: Any -ogr_touches: Any -ogr_within: Any -geom_transform: Any -geom_transform_to: Any -get_envelope: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/raster.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/raster.pyi deleted file mode 100644 index 68651bc9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/raster.pyi +++ /dev/null @@ -1,48 +0,0 @@ -from typing import Any - -register_all: Any -get_driver: Any -get_driver_by_name: Any -get_driver_count: Any -get_driver_description: Any -create_ds: Any -open_ds: Any -close_ds: Any -flush_ds: Any -copy_ds: Any -add_band_ds: Any -get_ds_description: Any -get_ds_driver: Any -get_ds_xsize: Any -get_ds_ysize: Any -get_ds_raster_count: Any -get_ds_raster_band: Any -get_ds_projection_ref: Any -set_ds_projection_ref: Any -get_ds_geotransform: Any -set_ds_geotransform: Any -get_ds_metadata: Any -set_ds_metadata: Any -get_ds_metadata_domain_list: Any -get_ds_metadata_item: Any -set_ds_metadata_item: Any -free_dsl: Any -get_ds_info: Any -band_io: Any -get_band_xsize: Any -get_band_ysize: Any -get_band_index: Any -get_band_description: Any -get_band_ds: Any -get_band_datatype: Any -get_band_color_interp: Any -get_band_nodata_value: Any -set_band_nodata_value: Any -delete_band_nodata_value: Any -get_band_statistics: Any -compute_band_statistics: Any -reproject_image: Any -auto_create_warped_vrt: Any -create_vsi_file_from_mem_buffer: Any -get_mem_buffer_from_vsi_file: Any -unlink_vsi_file: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/srs.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/srs.pyi deleted file mode 100644 index 2070150c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/prototypes/srs.pyi +++ /dev/null @@ -1,36 +0,0 @@ -from typing import Any - -def srs_double(f: Any): ... -def units_func(f: Any): ... - -clone_srs: Any -new_srs: Any -release_srs: Any -destroy_srs: Any -srs_validate: Any -set_axis_strategy: Any -semi_major: Any -semi_minor: Any -invflattening: Any -from_wkt: Any -from_proj: Any -from_epsg: Any -from_xml: Any -from_user_input: Any -morph_to_esri: Any -morph_from_esri: Any -identify_epsg: Any -linear_units: Any -angular_units: Any -to_wkt: Any -to_proj: Any -to_pretty_wkt: Any -to_xml: Any -get_attr_value: Any -get_auth_name: Any -get_auth_code: Any -isgeographic: Any -islocal: Any -isprojected: Any -new_ct: Any -destroy_ct: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/band.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/band.pyi deleted file mode 100644 index 2bc9a769..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/band.pyi +++ /dev/null @@ -1,45 +0,0 @@ -from typing import Any, Optional - -from django.contrib.gis.gdal.raster.base import GDALRasterBase as GDALRasterBase - -class GDALBand(GDALRasterBase): - source: Any = ... - def __init__(self, source: Any, index: Any) -> None: ... - @property - def description(self): ... - @property - def width(self): ... - @property - def height(self): ... - @property - def pixel_count(self): ... - def statistics(self, refresh: bool = ..., approximate: bool = ...): ... - @property - def min(self): ... - @property - def max(self): ... - @property - def mean(self): ... - @property - def std(self): ... - @property - def nodata_value(self): ... - @nodata_value.setter - def nodata_value(self, value: Any) -> None: ... - def datatype(self, as_string: bool = ...): ... - def color_interp(self, as_string: bool = ...): ... - def data( - self, - data: Optional[Any] = ..., - offset: Optional[Any] = ..., - size: Optional[Any] = ..., - shape: Optional[Any] = ..., - as_memoryview: bool = ..., - ): ... - -class BandList(list): - source: Any = ... - def __init__(self, source: Any) -> None: ... - def __iter__(self) -> Any: ... - def __len__(self): ... - def __getitem__(self, index: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/base.pyi deleted file mode 100644 index 4b3fc5cc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/base.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from typing import Any - -from django.contrib.gis.gdal.base import GDALBase as GDALBase - -class GDALRasterBase(GDALBase): - @property - def metadata(self): ... - @metadata.setter - def metadata(self, value: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/const.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/const.pyi deleted file mode 100644 index a4fc208a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/const.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any - -GDAL_PIXEL_TYPES: Any -GDAL_INTEGER_TYPES: Any -GDAL_TO_CTYPES: Any -GDAL_RESAMPLE_ALGORITHMS: Any -GDAL_COLOR_TYPES: Any -VSI_FILESYSTEM_BASE_PATH: str -VSI_TAKE_BUFFER_OWNERSHIP: bool -VSI_DELETE_BUFFER_ON_READ: bool diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/source.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/source.pyi deleted file mode 100644 index ab5f5d0b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/raster/source.pyi +++ /dev/null @@ -1,65 +0,0 @@ -from typing import Any, Optional - -from django.contrib.gis.gdal.raster.base import GDALRasterBase as GDALRasterBase - -class TransformPoint(list): - indices: Any = ... - def __init__(self, raster: Any, prop: Any) -> None: ... - @property - def x(self): ... - @x.setter - def x(self, value: Any) -> None: ... - @property - def y(self): ... - @y.setter - def y(self, value: Any) -> None: ... - -class GDALRaster(GDALRasterBase): - destructor: Any = ... - def __init__(self, ds_input: Any, write: bool = ...) -> None: ... - def __del__(self) -> None: ... - @property - def vsi_buffer(self): ... - @property - def is_vsi_based(self): ... - @property - def name(self): ... - @property - def driver(self): ... - @property - def width(self): ... - @property - def height(self): ... - @property - def srs(self): ... - @srs.setter - def srs(self, value: Any) -> None: ... - @property - def srid(self): ... - @srid.setter - def srid(self, value: Any) -> None: ... - @property - def geotransform(self): ... - @geotransform.setter - def geotransform(self, values: Any) -> None: ... - @property - def origin(self): ... - @property - def scale(self): ... - @property - def skew(self): ... - @property - def extent(self): ... - @property - def bands(self): ... - def warp(self, ds_input: Any, resampling: str = ..., max_error: float = ...): ... - def transform( - self, - srs: Any, - driver: Optional[Any] = ..., - name: Optional[Any] = ..., - resampling: str = ..., - max_error: float = ..., - ): ... - @property - def info(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/srs.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/srs.pyi deleted file mode 100644 index fbc4f3b7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/gdal/srs.pyi +++ /dev/null @@ -1,67 +0,0 @@ -from enum import IntEnum -from typing import Any, Optional - -from django.contrib.gis.gdal.base import GDALBase as GDALBase - -class AxisOrder(IntEnum): - TRADITIONAL: int = ... - AUTHORITY: int = ... - -class SpatialReference(GDALBase): - destructor: Any = ... - axis_order: Any = ... - ptr: Any = ... - def __init__(self, srs_input: str = ..., srs_type: str = ..., axis_order: Optional[Any] = ...) -> None: ... - def __getitem__(self, target: Any): ... - def attr_value(self, target: Any, index: int = ...): ... - def auth_name(self, target: Any): ... - def auth_code(self, target: Any): ... - def clone(self): ... - def from_esri(self) -> None: ... - def identify_epsg(self) -> None: ... - def to_esri(self) -> None: ... - def validate(self) -> None: ... - @property - def name(self): ... - @property - def srid(self): ... - @property - def linear_name(self): ... - @property - def linear_units(self): ... - @property - def angular_name(self): ... - @property - def angular_units(self): ... - @property - def units(self): ... - @property - def ellipsoid(self): ... - @property - def semi_major(self): ... - @property - def semi_minor(self): ... - @property - def inverse_flattening(self): ... - @property - def geographic(self): ... - @property - def local(self): ... - @property - def projected(self): ... - def import_epsg(self, epsg: Any) -> None: ... - def import_proj(self, proj: Any) -> None: ... - def import_user_input(self, user_input: Any) -> None: ... - def import_wkt(self, wkt: Any) -> None: ... - def import_xml(self, xml: Any) -> None: ... - @property - def wkt(self): ... - @property - def proj(self): ... - @property - def proj4(self): ... - -class CoordTransform(GDALBase): - destructor: Any = ... - ptr: Any = ... - def __init__(self, source: Any, target: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geoip2/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geoip2/__init__.pyi deleted file mode 100644 index f524617c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geoip2/__init__.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from .base import GeoIP2 as GeoIP2 -from .base import GeoIP2Exception as GeoIP2Exception - -HAS_GEOIP2: bool diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geoip2/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geoip2/base.pyi deleted file mode 100644 index 8c1672e2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geoip2/base.pyi +++ /dev/null @@ -1,29 +0,0 @@ -from typing import Any, Optional - -GEOIP_SETTINGS: Any - -class GeoIP2Exception(Exception): ... - -class GeoIP2: - MODE_AUTO: int = ... - MODE_MMAP_EXT: int = ... - MODE_MMAP: int = ... - MODE_FILE: int = ... - MODE_MEMORY: int = ... - cache_options: Any = ... - def __init__( - self, path: Optional[Any] = ..., cache: int = ..., country: Optional[Any] = ..., city: Optional[Any] = ... - ) -> None: ... - def __del__(self) -> None: ... - def city(self, query: Any): ... - def country_code(self, query: Any): ... - def country_name(self, query: Any): ... - def country(self, query: Any): ... - def coords(self, query: Any, ordering: Any = ...): ... - def lon_lat(self, query: Any): ... - def lat_lon(self, query: Any): ... - def geos(self, query: Any): ... - @property - def info(self): ... - @classmethod - def open(cls, full_path: Any, cache: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geoip2/resources.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geoip2/resources.pyi deleted file mode 100644 index 2936c61f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geoip2/resources.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - -def City(response: Any): ... -def Country(response: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geometry.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geometry.pyi deleted file mode 100644 index 70a74206..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geometry.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from typing import Any - -hex_regex: Any -wkt_regex: Any -json_regex: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/__init__.pyi deleted file mode 100644 index 462c21f4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/__init__.pyi +++ /dev/null @@ -1,17 +0,0 @@ -from .collections import GeometryCollection as GeometryCollection -from .collections import MultiLineString as MultiLineString -from .collections import MultiPoint as MultiPoint -from .collections import MultiPolygon as MultiPolygon -from .factory import fromfile as fromfile -from .factory import fromstr as fromstr -from .geometry import GEOSGeometry as GEOSGeometry -from .geometry import hex_regex as hex_regex -from .geometry import wkt_regex as wkt_regex -from .io import WKBReader as WKBReader -from .io import WKBWriter as WKBWriter -from .io import WKTReader as WKTReader -from .io import WKTWriter as WKTWriter -from .linestring import LinearRing as LinearRing -from .linestring import LineString as LineString -from .point import Point as Point -from .polygon import Polygon as Polygon diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/base.pyi deleted file mode 100644 index 97b08ada..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/base.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any - -from django.contrib.gis.ptr import CPointerBase as CPointerBase - -class GEOSBase(CPointerBase): - null_ptr_exception_class: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/collections.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/collections.pyi deleted file mode 100644 index 8bcb045a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/collections.pyi +++ /dev/null @@ -1,18 +0,0 @@ -from typing import Any - -from django.contrib.gis.geos.geometry import GEOSGeometry as GEOSGeometry -from django.contrib.gis.geos.geometry import LinearGeometryMixin as LinearGeometryMixin - -class GeometryCollection(GEOSGeometry): - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def __iter__(self) -> Any: ... - def __len__(self): ... - @property - def kml(self): ... - @property - def tuple(self): ... - coords: Any = ... - -class MultiPoint(GeometryCollection): ... -class MultiLineString(LinearGeometryMixin, GeometryCollection): ... -class MultiPolygon(GeometryCollection): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/coordseq.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/coordseq.pyi deleted file mode 100644 index 69afc3d5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/coordseq.pyi +++ /dev/null @@ -1,32 +0,0 @@ -from typing import Any - -from django.contrib.gis.geos.base import GEOSBase as GEOSBase - -class GEOSCoordSeq(GEOSBase): - ptr_type: Any = ... - def __init__(self, ptr: Any, z: bool = ...) -> None: ... - def __iter__(self) -> Any: ... - def __len__(self): ... - def __getitem__(self, index: Any): ... - def __setitem__(self, index: Any, value: Any) -> None: ... - def getOrdinate(self, dimension: Any, index: Any): ... - def setOrdinate(self, dimension: Any, index: Any, value: Any) -> None: ... - def getX(self, index: Any): ... - def setX(self, index: Any, value: Any) -> None: ... - def getY(self, index: Any): ... - def setY(self, index: Any, value: Any) -> None: ... - def getZ(self, index: Any): ... - def setZ(self, index: Any, value: Any) -> None: ... - @property - def size(self): ... - @property - def dims(self): ... - @property - def hasz(self): ... - def clone(self): ... - @property - def kml(self): ... - @property - def tuple(self): ... - @property - def is_counterclockwise(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/error.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/error.pyi deleted file mode 100644 index f051ee57..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/error.pyi +++ /dev/null @@ -1 +0,0 @@ -class GEOSException(Exception): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/factory.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/factory.pyi deleted file mode 100644 index 99d43610..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/factory.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - -def fromfile(file_h: Any): ... -def fromstr(string: Any, **kwargs: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/geometry.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/geometry.pyi deleted file mode 100644 index a8eba036..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/geometry.pyi +++ /dev/null @@ -1,139 +0,0 @@ -from typing import Any, Optional - -from django.contrib.gis.geometry import hex_regex as hex_regex # noqa: F401 -from django.contrib.gis.geometry import json_regex as json_regex -from django.contrib.gis.geometry import wkt_regex as wkt_regex -from django.contrib.gis.geos.base import GEOSBase as GEOSBase -from django.contrib.gis.geos.mutable_list import ListMixin as ListMixin - -class GEOSGeometryBase(GEOSBase): - ptr_type: Any = ... - destructor: Any = ... - has_cs: bool = ... - __class__: Any = ... - def __init__(self, ptr: Any, cls: Any) -> None: ... - def __copy__(self): ... - def __deepcopy__(self, memodict: Any): ... - @staticmethod - def from_ewkt(ewkt: Any): ... - @classmethod - def from_gml(cls, gml_string: Any): ... - def __eq__(self, other: Any) -> Any: ... - def __hash__(self) -> Any: ... - def __or__(self, other: Any): ... - def __and__(self, other: Any): ... - def __sub__(self, other: Any): ... - def __xor__(self, other: Any): ... - @property - def coord_seq(self): ... - @property - def geom_type(self): ... - @property - def geom_typeid(self): ... - @property - def num_geom(self): ... - @property - def num_coords(self): ... - @property - def num_points(self): ... - @property - def dims(self): ... - def normalize(self) -> None: ... - @property - def empty(self): ... - @property - def hasz(self): ... - @property - def ring(self): ... - @property - def simple(self): ... - @property - def valid(self): ... - @property - def valid_reason(self): ... - def contains(self, other: Any): ... - def covers(self, other: Any): ... - def crosses(self, other: Any): ... - def disjoint(self, other: Any): ... - def equals(self, other: Any): ... - def equals_exact(self, other: Any, tolerance: float = ...): ... - def intersects(self, other: Any): ... - def overlaps(self, other: Any): ... - def relate_pattern(self, other: Any, pattern: Any): ... - def touches(self, other: Any): ... - def within(self, other: Any): ... - @property - def srid(self): ... - @srid.setter - def srid(self, srid: Any) -> None: ... - @property - def ewkt(self): ... - @property - def wkt(self): ... - @property - def hex(self): ... - @property - def hexewkb(self): ... - @property - def json(self): ... - geojson: Any = ... - @property - def wkb(self): ... - @property - def ewkb(self): ... - @property - def kml(self): ... - @property - def prepared(self): ... - @property - def ogr(self): ... - @property - def srs(self): ... - @property - def crs(self): ... - ptr: Any = ... - def transform(self, ct: Any, clone: bool = ...): ... - @property - def boundary(self): ... - def buffer(self, width: Any, quadsegs: int = ...): ... - def buffer_with_style( - self, width: Any, quadsegs: int = ..., end_cap_style: int = ..., join_style: int = ..., mitre_limit: float = ... - ): ... - @property - def centroid(self): ... - @property - def convex_hull(self): ... - def difference(self, other: Any): ... - @property - def envelope(self): ... - def intersection(self, other: Any): ... - @property - def point_on_surface(self): ... - def relate(self, other: Any): ... - def simplify(self, tolerance: float = ..., preserve_topology: bool = ...): ... - def sym_difference(self, other: Any): ... - @property - def unary_union(self): ... - def union(self, other: Any): ... - @property - def area(self): ... - def distance(self, other: Any): ... - @property - def extent(self): ... - @property - def length(self): ... - def clone(self): ... - -class LinearGeometryMixin: - def interpolate(self, distance: Any): ... - def interpolate_normalized(self, distance: Any): ... - def project(self, point: Any): ... - def project_normalized(self, point: Any): ... - @property - def merged(self): ... - @property - def closed(self): ... - -class GEOSGeometry(GEOSGeometryBase, ListMixin): - srid: Any = ... - def __init__(self, geo_input: Any, srid: Optional[Any] = ...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/io.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/io.pyi deleted file mode 100644 index a2e536d0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/io.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Any - -from django.contrib.gis.geos.prototypes.io import WKBWriter as WKBWriter # noqa: F401 -from django.contrib.gis.geos.prototypes.io import WKTWriter as WKTWriter -from django.contrib.gis.geos.prototypes.io import _WKBReader, _WKTReader - -class WKBReader(_WKBReader): - def read(self, wkb: Any): ... - -class WKTReader(_WKTReader): - def read(self, wkt: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/libgeos.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/libgeos.pyi deleted file mode 100644 index 5c5b4c84..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/libgeos.pyi +++ /dev/null @@ -1,45 +0,0 @@ -from ctypes import Structure -from typing import Any, Optional - -logger: Any - -def load_geos(): ... - -NOTICEFUNC: Any - -def notice_h(fmt: Any, lst: Any) -> None: ... - -ERRORFUNC: Any - -def error_h(fmt: Any, lst: Any) -> None: ... - -class GEOSGeom_t(Structure): ... -class GEOSPrepGeom_t(Structure): ... -class GEOSCoordSeq_t(Structure): ... -class GEOSContextHandle_t(Structure): ... - -GEOM_PTR: Any -PREPGEOM_PTR: Any -CS_PTR: Any -CONTEXT_PTR: Any -lgeos: Any - -class GEOSFuncFactory: - argtypes: Any = ... - restype: Any = ... - errcheck: Any = ... - func_name: Any = ... - def __init__( - self, - func_name: Any, - *, - restype: Optional[Any] = ..., - errcheck: Optional[Any] = ..., - argtypes: Optional[Any] = ... - ) -> None: ... - def __call__(self, *args: Any): ... - @property - def func(self): ... - -def geos_version(): ... -def geos_version_tuple(): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/linestring.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/linestring.pyi deleted file mode 100644 index b9580b7f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/linestring.pyi +++ /dev/null @@ -1,25 +0,0 @@ -from typing import Any - -from django.contrib.gis.geos.geometry import GEOSGeometry as GEOSGeometry -from django.contrib.gis.geos.geometry import LinearGeometryMixin as LinearGeometryMixin - -class LineString(LinearGeometryMixin, GEOSGeometry): - has_cs: bool = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def __iter__(self) -> Any: ... - def __len__(self): ... - @property - def tuple(self): ... - coords: Any = ... - @property - def array(self): ... - @property - def x(self): ... - @property - def y(self): ... - @property - def z(self): ... - -class LinearRing(LineString): - @property - def is_counterclockwise(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/mutable_list.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/mutable_list.pyi deleted file mode 100644 index 8bbac613..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/mutable_list.pyi +++ /dev/null @@ -1,24 +0,0 @@ -from typing import Any, Optional - -class ListMixin: - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def __getitem__(self, index: Any): ... - def __delitem__(self, index: Any) -> None: ... - def __setitem__(self, index: Any, val: Any) -> None: ... - def __add__(self, other: Any): ... - def __radd__(self, other: Any): ... - def __iadd__(self, other: Any): ... - def __mul__(self, n: Any): ... - def __rmul__(self, n: Any): ... - def __imul__(self, n: Any): ... - def __eq__(self, other: Any) -> Any: ... - def __lt__(self, other: Any) -> Any: ... - def count(self, val: Any): ... - def index(self, val: Any): ... - def append(self, val: Any) -> None: ... - def extend(self, vals: Any) -> None: ... - def insert(self, index: Any, val: Any) -> None: ... - def pop(self, index: int = ...): ... - def remove(self, val: Any) -> None: ... - def reverse(self) -> None: ... - def sort(self, key: Optional[Any] = ..., reverse: bool = ...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/point.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/point.pyi deleted file mode 100644 index 1880a6dd..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/point.pyi +++ /dev/null @@ -1,28 +0,0 @@ -from typing import Any, Optional - -from django.contrib.gis.geos.geometry import GEOSGeometry as GEOSGeometry - -class Point(GEOSGeometry): - has_cs: bool = ... - def __init__( - self, x: Optional[Any] = ..., y: Optional[Any] = ..., z: Optional[Any] = ..., srid: Optional[Any] = ... - ) -> None: ... - def __iter__(self) -> Any: ... - def __len__(self): ... - @property - def x(self): ... - @x.setter - def x(self, value: Any) -> None: ... - @property - def y(self): ... - @y.setter - def y(self, value: Any) -> None: ... - @property - def z(self): ... - @z.setter - def z(self, value: Any) -> None: ... - @property - def tuple(self): ... - @tuple.setter - def tuple(self, tup: Any) -> None: ... - coords: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/polygon.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/polygon.pyi deleted file mode 100644 index d6aac49c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/polygon.pyi +++ /dev/null @@ -1,19 +0,0 @@ -from typing import Any - -from django.contrib.gis.geos.geometry import GEOSGeometry as GEOSGeometry - -class Polygon(GEOSGeometry): - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def __iter__(self) -> Any: ... - def __len__(self): ... - @classmethod - def from_bbox(cls, bbox: Any): ... - @property - def num_interior_rings(self): ... - exterior_ring: Any = ... - shell: Any = ... - @property - def tuple(self): ... - coords: Any = ... - @property - def kml(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prepared.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prepared.pyi deleted file mode 100644 index 98f79da9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prepared.pyi +++ /dev/null @@ -1,18 +0,0 @@ -from typing import Any - -from .base import GEOSBase as GEOSBase - -class PreparedGeometry(GEOSBase): - ptr_type: Any = ... - destructor: Any = ... - ptr: Any = ... - def __init__(self, geom: Any) -> None: ... - def contains(self, other: Any): ... - def contains_properly(self, other: Any): ... - def covers(self, other: Any): ... - def intersects(self, other: Any): ... - def crosses(self, other: Any): ... - def disjoint(self, other: Any): ... - def overlaps(self, other: Any): ... - def touches(self, other: Any): ... - def within(self, other: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/__init__.pyi deleted file mode 100644 index eaae35db..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/__init__.pyi +++ /dev/null @@ -1,51 +0,0 @@ -from django.contrib.gis.geos.prototypes.coordseq import create_cs as create_cs -from django.contrib.gis.geos.prototypes.coordseq import cs_clone as cs_clone -from django.contrib.gis.geos.prototypes.coordseq import cs_getdims as cs_getdims -from django.contrib.gis.geos.prototypes.coordseq import cs_getordinate as cs_getordinate -from django.contrib.gis.geos.prototypes.coordseq import cs_getsize as cs_getsize -from django.contrib.gis.geos.prototypes.coordseq import cs_getx as cs_getx -from django.contrib.gis.geos.prototypes.coordseq import cs_gety as cs_gety -from django.contrib.gis.geos.prototypes.coordseq import cs_getz as cs_getz -from django.contrib.gis.geos.prototypes.coordseq import cs_is_ccw as cs_is_ccw -from django.contrib.gis.geos.prototypes.coordseq import cs_setordinate as cs_setordinate -from django.contrib.gis.geos.prototypes.coordseq import cs_setx as cs_setx -from django.contrib.gis.geos.prototypes.coordseq import cs_sety as cs_sety -from django.contrib.gis.geos.prototypes.coordseq import cs_setz as cs_setz -from django.contrib.gis.geos.prototypes.coordseq import get_cs as get_cs -from django.contrib.gis.geos.prototypes.geom import create_collection as create_collection -from django.contrib.gis.geos.prototypes.geom import create_empty_polygon as create_empty_polygon -from django.contrib.gis.geos.prototypes.geom import create_linearring as create_linearring -from django.contrib.gis.geos.prototypes.geom import create_linestring as create_linestring -from django.contrib.gis.geos.prototypes.geom import create_point as create_point -from django.contrib.gis.geos.prototypes.geom import create_polygon as create_polygon -from django.contrib.gis.geos.prototypes.geom import destroy_geom as destroy_geom -from django.contrib.gis.geos.prototypes.geom import geom_clone as geom_clone -from django.contrib.gis.geos.prototypes.geom import geos_get_srid as geos_get_srid -from django.contrib.gis.geos.prototypes.geom import geos_normalize as geos_normalize -from django.contrib.gis.geos.prototypes.geom import geos_set_srid as geos_set_srid -from django.contrib.gis.geos.prototypes.geom import geos_type as geos_type -from django.contrib.gis.geos.prototypes.geom import geos_typeid as geos_typeid -from django.contrib.gis.geos.prototypes.geom import get_dims as get_dims -from django.contrib.gis.geos.prototypes.geom import get_extring as get_extring -from django.contrib.gis.geos.prototypes.geom import get_geomn as get_geomn -from django.contrib.gis.geos.prototypes.geom import get_intring as get_intring -from django.contrib.gis.geos.prototypes.geom import get_nrings as get_nrings -from django.contrib.gis.geos.prototypes.geom import get_num_coords as get_num_coords -from django.contrib.gis.geos.prototypes.geom import get_num_geoms as get_num_geoms -from django.contrib.gis.geos.prototypes.predicates import geos_contains as geos_contains -from django.contrib.gis.geos.prototypes.predicates import geos_covers as geos_covers -from django.contrib.gis.geos.prototypes.predicates import geos_crosses as geos_crosses -from django.contrib.gis.geos.prototypes.predicates import geos_disjoint as geos_disjoint -from django.contrib.gis.geos.prototypes.predicates import geos_equals as geos_equals -from django.contrib.gis.geos.prototypes.predicates import geos_equalsexact as geos_equalsexact -from django.contrib.gis.geos.prototypes.predicates import geos_hasz as geos_hasz -from django.contrib.gis.geos.prototypes.predicates import geos_intersects as geos_intersects -from django.contrib.gis.geos.prototypes.predicates import geos_isclosed as geos_isclosed -from django.contrib.gis.geos.prototypes.predicates import geos_isempty as geos_isempty -from django.contrib.gis.geos.prototypes.predicates import geos_isring as geos_isring -from django.contrib.gis.geos.prototypes.predicates import geos_issimple as geos_issimple -from django.contrib.gis.geos.prototypes.predicates import geos_isvalid as geos_isvalid -from django.contrib.gis.geos.prototypes.predicates import geos_overlaps as geos_overlaps -from django.contrib.gis.geos.prototypes.predicates import geos_relatepattern as geos_relatepattern -from django.contrib.gis.geos.prototypes.predicates import geos_touches as geos_touches -from django.contrib.gis.geos.prototypes.predicates import geos_within as geos_within diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/coordseq.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/coordseq.pyi deleted file mode 100644 index 9da8732a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/coordseq.pyi +++ /dev/null @@ -1,35 +0,0 @@ -from typing import Any - -from django.contrib.gis.geos.libgeos import GEOSFuncFactory as GEOSFuncFactory - -def check_cs_op(result: Any, func: Any, cargs: Any): ... -def check_cs_get(result: Any, func: Any, cargs: Any): ... - -class CsInt(GEOSFuncFactory): - argtypes: Any = ... - restype: Any = ... - errcheck: Any = ... - -class CsOperation(GEOSFuncFactory): - restype: Any = ... - def __init__(self, *args: Any, ordinate: bool = ..., get: bool = ..., **kwargs: Any) -> None: ... - -class CsOutput(GEOSFuncFactory): - restype: Any = ... - @staticmethod - def errcheck(result: Any, func: Any, cargs: Any): ... - -cs_clone: Any -create_cs: Any -get_cs: Any -cs_getordinate: Any -cs_setordinate: Any -cs_getx: Any -cs_gety: Any -cs_getz: Any -cs_setx: Any -cs_sety: Any -cs_setz: Any -cs_getsize: Any -cs_getdims: Any -cs_is_ccw: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/errcheck.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/errcheck.pyi deleted file mode 100644 index cb1d1847..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/errcheck.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Any - -free: Any - -def last_arg_byref(args: Any): ... -def check_dbl(result: Any, func: Any, cargs: Any): ... -def check_geom(result: Any, func: Any, cargs: Any): ... -def check_minus_one(result: Any, func: Any, cargs: Any): ... -def check_predicate(result: Any, func: Any, cargs: Any): ... -def check_sized_string(result: Any, func: Any, cargs: Any): ... -def check_string(result: Any, func: Any, cargs: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/geom.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/geom.pyi deleted file mode 100644 index 969af76d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/geom.pyi +++ /dev/null @@ -1,43 +0,0 @@ -from ctypes import c_char_p -from typing import Any - -from django.contrib.gis.geos.libgeos import GEOSFuncFactory as GEOSFuncFactory - -c_uchar_p: Any - -class geos_char_p(c_char_p): ... - -class GeomOutput(GEOSFuncFactory): - restype: Any = ... - errcheck: Any = ... - -class IntFromGeom(GEOSFuncFactory): - argtypes: Any = ... - restype: Any = ... - errcheck: Any = ... - -class StringFromGeom(GEOSFuncFactory): - argtypes: Any = ... - restype: Any = ... - errcheck: Any = ... - -geos_normalize: Any -geos_type: Any -geos_typeid: Any -get_dims: Any -get_num_coords: Any -get_num_geoms: Any -create_point: Any -create_linestring: Any -create_linearring: Any -create_polygon: Any -create_empty_polygon: Any -create_collection: Any -get_extring: Any -get_intring: Any -get_nrings: Any -get_geomn: Any -geom_clone: Any -destroy_geom: Any -geos_get_srid: Any -geos_set_srid: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/io.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/io.pyi deleted file mode 100644 index 12de4b5a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/io.pyi +++ /dev/null @@ -1,124 +0,0 @@ -import threading -from ctypes import Structure -from typing import Any, Optional - -from django.contrib.gis.geos.base import GEOSBase as GEOSBase -from django.contrib.gis.geos.libgeos import GEOSFuncFactory as GEOSFuncFactory - -class WKTReader_st(Structure): ... -class WKTWriter_st(Structure): ... -class WKBReader_st(Structure): ... -class WKBWriter_st(Structure): ... - -WKT_READ_PTR: Any -WKT_WRITE_PTR: Any -WKB_READ_PTR: Any -WKB_WRITE_PTR: Any -wkt_reader_create: Any -wkt_reader_destroy: Any -wkt_reader_read: Any -wkt_writer_create: Any -wkt_writer_destroy: Any -wkt_writer_write: Any -wkt_writer_get_outdim: Any -wkt_writer_set_outdim: Any -wkt_writer_set_trim: Any -wkt_writer_set_precision: Any -wkb_reader_create: Any -wkb_reader_destroy: Any - -class WKBReadFunc(GEOSFuncFactory): - argtypes: Any = ... - restype: Any = ... - errcheck: Any = ... - -wkb_reader_read: Any -wkb_reader_read_hex: Any -wkb_writer_create: Any -wkb_writer_destroy: Any - -class WKBWriteFunc(GEOSFuncFactory): - argtypes: Any = ... - restype: Any = ... - errcheck: Any = ... - -wkb_writer_write: Any -wkb_writer_write_hex: Any - -class WKBWriterGet(GEOSFuncFactory): - argtypes: Any = ... - restype: Any = ... - -class WKBWriterSet(GEOSFuncFactory): - argtypes: Any = ... - -wkb_writer_get_byteorder: Any -wkb_writer_set_byteorder: Any -wkb_writer_get_outdim: Any -wkb_writer_set_outdim: Any -wkb_writer_get_include_srid: Any -wkb_writer_set_include_srid: Any - -class IOBase(GEOSBase): - ptr: Any = ... - def __init__(self) -> None: ... - -class _WKTReader(IOBase): - ptr_type: Any = ... - destructor: Any = ... - def read(self, wkt: Any): ... - -class _WKBReader(IOBase): - ptr_type: Any = ... - destructor: Any = ... - def read(self, wkb: Any): ... - -class WKTWriter(IOBase): - ptr_type: Any = ... - destructor: Any = ... - def __init__(self, dim: int = ..., trim: bool = ..., precision: Optional[Any] = ...) -> None: ... - def write(self, geom: Any): ... - @property - def outdim(self): ... - @outdim.setter - def outdim(self, new_dim: Any) -> None: ... - @property - def trim(self): ... - @trim.setter - def trim(self, flag: Any) -> None: ... - @property - def precision(self): ... - @precision.setter - def precision(self, precision: Any) -> None: ... - -class WKBWriter(IOBase): - ptr_type: Any = ... - destructor: Any = ... - geos_version: Any = ... - def __init__(self, dim: int = ...) -> None: ... - def write(self, geom: Any): ... - def write_hex(self, geom: Any): ... - byteorder: Any = ... - @property - def outdim(self): ... - @outdim.setter - def outdim(self, new_dim: Any) -> None: ... - @property - def srid(self): ... - @srid.setter - def srid(self, include: Any) -> None: ... - -class ThreadLocalIO(threading.local): - wkt_r: Any = ... - wkt_w: Any = ... - wkb_r: Any = ... - wkb_w: Any = ... - ewkb_w: Any = ... - -thread_context: Any - -def wkt_r(): ... -def wkt_w(dim: int = ..., trim: bool = ..., precision: Optional[Any] = ...): ... -def wkb_r(): ... -def wkb_w(dim: int = ...): ... -def ewkb_w(dim: int = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/misc.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/misc.pyi deleted file mode 100644 index 64feec2f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/misc.pyi +++ /dev/null @@ -1,12 +0,0 @@ -from typing import Any - -from django.contrib.gis.geos.libgeos import GEOSFuncFactory - -class DblFromGeom(GEOSFuncFactory): - restype: Any = ... - errcheck: Any = ... - -geos_area: Any -geos_distance: Any -geos_length: Any -geos_isvalidreason: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/predicates.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/predicates.pyi deleted file mode 100644 index 494f93ba..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/predicates.pyi +++ /dev/null @@ -1,29 +0,0 @@ -from typing import Any - -from django.contrib.gis.geos.libgeos import GEOSFuncFactory as GEOSFuncFactory - -class UnaryPredicate(GEOSFuncFactory): - argtypes: Any = ... - restype: Any = ... - errcheck: Any = ... - -class BinaryPredicate(UnaryPredicate): - argtypes: Any = ... - -geos_hasz: Any -geos_isclosed: Any -geos_isempty: Any -geos_isring: Any -geos_issimple: Any -geos_isvalid: Any -geos_contains: Any -geos_covers: Any -geos_crosses: Any -geos_disjoint: Any -geos_equals: Any -geos_equalsexact: Any -geos_intersects: Any -geos_overlaps: Any -geos_relatepattern: Any -geos_touches: Any -geos_within: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/prepared.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/prepared.pyi deleted file mode 100644 index 413f8daa..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/prepared.pyi +++ /dev/null @@ -1,21 +0,0 @@ -from typing import Any - -from django.contrib.gis.geos.libgeos import GEOSFuncFactory as GEOSFuncFactory - -geos_prepare: Any -prepared_destroy: Any - -class PreparedPredicate(GEOSFuncFactory): - argtypes: Any = ... - restype: Any = ... - errcheck: Any = ... - -prepared_contains: Any -prepared_contains_properly: Any -prepared_covers: Any -prepared_crosses: Any -prepared_disjoint: Any -prepared_intersects: Any -prepared_overlaps: Any -prepared_touches: Any -prepared_within: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/threadsafe.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/threadsafe.pyi deleted file mode 100644 index e78ae7af..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/threadsafe.pyi +++ /dev/null @@ -1,24 +0,0 @@ -import threading -from typing import Any - -from django.contrib.gis.geos.base import GEOSBase as GEOSBase - -class GEOSContextHandle(GEOSBase): - ptr_type: Any = ... - destructor: Any = ... - ptr: Any = ... - def __init__(self) -> None: ... - -class GEOSContext(threading.local): - handle: Any = ... - -thread_context: Any - -class GEOSFunc: - cfunc: Any = ... - thread_context: Any = ... - def __init__(self, func_name: Any) -> None: ... - def __call__(self, *args: Any): ... - argtypes: Any = ... - restype: Any = ... - errcheck: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/topology.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/topology.pyi deleted file mode 100644 index 9b3c005c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/geos/prototypes/topology.pyi +++ /dev/null @@ -1,29 +0,0 @@ -from typing import Any - -from django.contrib.gis.geos.libgeos import GEOSFuncFactory as GEOSFuncFactory - -class Topology(GEOSFuncFactory): - argtypes: Any = ... - restype: Any = ... - errcheck: Any = ... - -geos_boundary: Any -geos_buffer: Any -geos_bufferwithstyle: Any -geos_centroid: Any -geos_convexhull: Any -geos_difference: Any -geos_envelope: Any -geos_intersection: Any -geos_linemerge: Any -geos_pointonsurface: Any -geos_preservesimplify: Any -geos_simplify: Any -geos_symdifference: Any -geos_union: Any -geos_unary_union: Any -geos_relate: Any -geos_project: Any -geos_interpolate: Any -geos_project_normalized: Any -geos_interpolate_normalized: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/measure.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/measure.pyi deleted file mode 100644 index b02f6567..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/measure.pyi +++ /dev/null @@ -1,42 +0,0 @@ -from typing import Any, Optional - -class MeasureBase: - STANDARD_UNIT: Any = ... - ALIAS: Any = ... - UNITS: Any = ... - LALIAS: Any = ... - def __init__(self, default_unit: Optional[Any] = ..., **kwargs: Any) -> None: ... - standard: Any = ... - def __getattr__(self, name: Any): ... - def __eq__(self, other: Any) -> Any: ... - def __lt__(self, other: Any) -> Any: ... - def __add__(self, other: Any): ... - def __iadd__(self, other: Any): ... - def __sub__(self, other: Any): ... - def __isub__(self, other: Any): ... - def __mul__(self, other: Any): ... - def __imul__(self, other: Any): ... - def __rmul__(self, other: Any): ... - def __truediv__(self, other: Any): ... - def __itruediv__(self, other: Any): ... - def __bool__(self): ... - def default_units(self, kwargs: Any): ... - @classmethod - def unit_attname(cls, unit_str: Any): ... - -class Distance(MeasureBase): - STANDARD_UNIT: str = ... - UNITS: Any = ... - ALIAS: Any = ... - LALIAS: Any = ... - def __mul__(self, other: Any): ... - -class Area(MeasureBase): - STANDARD_UNIT: Any = ... - UNITS: Any = ... - ALIAS: Any = ... - LALIAS: Any = ... - def __truediv__(self, other: Any): ... - -D = Distance -A = Area diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/ptr.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/ptr.pyi deleted file mode 100644 index 8d3110c8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/ptr.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Any - -class CPointerBase: - ptr_type: Any = ... - destructor: Any = ... - null_ptr_exception_class: Any = ... - @property - def ptr(self): ... - @ptr.setter - def ptr(self, ptr: Any) -> None: ... - def __del__(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/serializers/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/serializers/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/serializers/geojson.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/serializers/geojson.pyi deleted file mode 100644 index 09824330..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/serializers/geojson.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from typing import Any - -from django.core.serializers.json import Serializer as JSONSerializer - -class Serializer(JSONSerializer): - def start_serialization(self) -> None: ... - def end_serialization(self) -> None: ... - geometry_field: Any = ... - def start_object(self, obj: Any) -> None: ... - def get_dump_object(self, obj: Any): ... - def handle_field(self, obj: Any, field: Any) -> None: ... - -class Deserializer: - def __init__(self, *args: Any, **kwargs: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/shortcuts.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/shortcuts.pyi deleted file mode 100644 index ec69fd45..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/shortcuts.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from typing import Any - -def compress_kml(kml: Any): ... -def render_to_kml(*args: Any, **kwargs: Any): ... -def render_to_kmz(*args: Any, **kwargs: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/sitemaps/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/sitemaps/__init__.pyi deleted file mode 100644 index 3d41fca1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/sitemaps/__init__.pyi +++ /dev/null @@ -1,2 +0,0 @@ -from django.contrib.gis.sitemaps.kml import KMLSitemap as KMLSitemap -from django.contrib.gis.sitemaps.kml import KMZSitemap as KMZSitemap diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/sitemaps/kml.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/sitemaps/kml.pyi deleted file mode 100644 index cc61d611..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/sitemaps/kml.pyi +++ /dev/null @@ -1,13 +0,0 @@ -from typing import Any, Optional - -from django.contrib.sitemaps import Sitemap as Sitemap - -class KMLSitemap(Sitemap): - geo_format: str = ... - locations: Any = ... - def __init__(self, locations: Optional[Any] = ...) -> None: ... - def items(self): ... - def location(self, obj: Any): ... - -class KMZSitemap(KMLSitemap): - geo_format: str = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/sitemaps/views.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/sitemaps/views.pyi deleted file mode 100644 index 98271fe2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/sitemaps/views.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any, Optional - -def kml( - request: Any, label: Any, model: Any, field_name: Optional[Any] = ..., compress: bool = ..., using: Any = ... -): ... -def kmz(request: Any, label: Any, model: Any, field_name: Optional[Any] = ..., using: Any = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/__init__.pyi deleted file mode 100644 index 6eadf153..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/__init__.pyi +++ /dev/null @@ -1,2 +0,0 @@ -from django.contrib.gis.utils.layermapping import LayerMapError, LayerMapping -from django.contrib.gis.utils.ogrinspect import mapping, ogrinspect diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/layermapping.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/layermapping.pyi deleted file mode 100644 index cd862467..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/layermapping.pyi +++ /dev/null @@ -1,62 +0,0 @@ -from typing import Any, Optional - -class LayerMapError(Exception): ... -class InvalidString(LayerMapError): ... -class InvalidDecimal(LayerMapError): ... -class InvalidInteger(LayerMapError): ... -class MissingForeignKey(LayerMapError): ... - -class LayerMapping: - MULTI_TYPES: Any = ... - FIELD_TYPES: Any = ... - ds: Any = ... - layer: Any = ... - using: Any = ... - spatial_backend: Any = ... - mapping: Any = ... - model: Any = ... - geo_field: Any = ... - source_srs: Any = ... - transform: Any = ... - encoding: Any = ... - unique: Any = ... - transaction_mode: Any = ... - transaction_decorator: Any = ... - def __init__( - self, - model: Any, - data: Any, - mapping: Any, - layer: int = ..., - source_srs: Optional[Any] = ..., - encoding: str = ..., - transaction_mode: str = ..., - transform: bool = ..., - unique: Optional[Any] = ..., - using: Optional[Any] = ..., - ) -> None: ... - def check_fid_range(self, fid_range: Any): ... - geom_field: str = ... - fields: Any = ... - coord_dim: Any = ... - def check_layer(self): ... - def check_srs(self, source_srs: Any): ... - def check_unique(self, unique: Any) -> None: ... - def feature_kwargs(self, feat: Any): ... - def unique_kwargs(self, kwargs: Any): ... - def verify_ogr_field(self, ogr_field: Any, model_field: Any): ... - def verify_fk(self, feat: Any, rel_model: Any, rel_mapping: Any): ... - def verify_geom(self, geom: Any, model_field: Any): ... - def coord_transform(self): ... - def geometry_field(self): ... - def make_multi(self, geom_type: Any, model_field: Any): ... - def save( - self, - verbose: bool = ..., - fid_range: bool = ..., - step: bool = ..., - progress: bool = ..., - silent: bool = ..., - stream: Any = ..., - strict: bool = ..., - ): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/ogrinfo.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/ogrinfo.pyi deleted file mode 100644 index 9190fb11..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/ogrinfo.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from typing import Any - -def ogrinfo(data_source: Any, num_features: int = ...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/ogrinspect.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/ogrinspect.pyi deleted file mode 100644 index 984699d7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/ogrinspect.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - -def mapping(data_source: Any, geom_name: str = ..., layer_key: int = ..., multi_geom: bool = ...): ... -def ogrinspect(*args: Any, **kwargs: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/srs.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/srs.pyi deleted file mode 100644 index 89644bf6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/utils/srs.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from typing import Any, Optional - -def add_srs_entry( - srs: Any, - auth_name: str = ..., - auth_srid: Optional[Any] = ..., - ref_sys_name: Optional[Any] = ..., - database: Optional[Any] = ..., -) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/views.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/views.pyi deleted file mode 100644 index d5d38d3a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/gis/views.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from typing import Any, Optional - -def feed(request: Any, url: Any, feed_dict: Optional[Any] = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/humanize/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/humanize/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/humanize/apps.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/humanize/apps.pyi deleted file mode 100644 index ccc481bd..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/humanize/apps.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import Any - -from django.apps import AppConfig as AppConfig - -class HumanizeConfig(AppConfig): - name: str = ... - verbose_name: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/humanize/templatetags/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/humanize/templatetags/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/humanize/templatetags/humanize.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/humanize/templatetags/humanize.pyi deleted file mode 100644 index 92752fe8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/humanize/templatetags/humanize.pyi +++ /dev/null @@ -1,24 +0,0 @@ -from datetime import date -from datetime import datetime as datetime -from typing import Any, Callable, Dict, Optional, SupportsInt, Tuple, Type, Union - -from django import template - -register: template.Library - -def ordinal(value: Optional[Union[str, SupportsInt]]) -> Optional[str]: ... -def intcomma(value: Optional[Union[str, SupportsInt]], use_l10n: bool = ...) -> str: ... - -intword_converters: Tuple[Tuple[int, Callable]] - -def intword(value: Optional[Union[str, SupportsInt]]) -> Optional[Union[int, str]]: ... -def apnumber(value: Optional[Union[str, SupportsInt]]) -> Optional[Union[int, str]]: ... -def naturalday(value: Optional[Union[date, str]], arg: Optional[str] = ...) -> Optional[str]: ... -def naturaltime(value: datetime) -> str: ... - -class NaturalTimeFormatter: - time_strings: Dict[str, str] - past_substrings: Dict[str, str] - future_substrings: Dict[str, str] - @classmethod - def string_for(cls: Type[NaturalTimeFormatter], value: Any) -> Any: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/__init__.pyi deleted file mode 100644 index e45e467e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/__init__.pyi +++ /dev/null @@ -1,19 +0,0 @@ -from .api import MessageFailure as MessageFailure -from .api import add_message as add_message -from .api import debug as debug -from .api import error as error -from .api import get_level as get_level -from .api import get_messages as get_messages -from .api import info as info -from .api import set_level as set_level -from .api import success as success -from .api import warning as warning -from .constants import DEBUG as DEBUG -from .constants import DEFAULT_LEVELS as DEFAULT_LEVELS -from .constants import DEFAULT_TAGS as DEFAULT_TAGS -from .constants import ERROR as ERROR -from .constants import INFO as INFO -from .constants import SUCCESS as SUCCESS -from .constants import WARNING as WARNING - -default_app_config: str = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/api.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/api.pyi deleted file mode 100644 index 7ad6d597..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/api.pyi +++ /dev/null @@ -1,26 +0,0 @@ -from typing import Any, List, Optional, Union - -from django.contrib.messages.storage.base import BaseStorage -from django.http.request import HttpRequest - -class MessageFailure(Exception): ... - -def add_message( - request: Optional[HttpRequest], - level: int, - message: str, - extra_tags: str = ..., - fail_silently: Union[bool, str] = ..., -) -> None: ... -def get_messages(request: HttpRequest) -> Union[List[Any], BaseStorage]: ... -def get_level(request: HttpRequest) -> int: ... -def set_level(request: HttpRequest, level: int) -> bool: ... -def debug(request: HttpRequest, message: str, extra_tags: str = ..., fail_silently: Union[bool, str] = ...) -> None: ... -def info(request: HttpRequest, message: str, extra_tags: str = ..., fail_silently: Union[bool, str] = ...) -> None: ... -def success( - request: HttpRequest, message: str, extra_tags: str = ..., fail_silently: Union[bool, str] = ... -) -> None: ... -def warning( - request: HttpRequest, message: str, extra_tags: str = ..., fail_silently: Union[bool, str] = ... -) -> None: ... -def error(request: HttpRequest, message: str, extra_tags: str = ..., fail_silently: Union[bool, str] = ...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/apps.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/apps.pyi deleted file mode 100644 index 38cafb25..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/apps.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import Any - -from django.apps import AppConfig as AppConfig - -class MessagesConfig(AppConfig): - name: str = ... - verbose_name: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/constants.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/constants.pyi deleted file mode 100644 index c0246de5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/constants.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Dict - -DEBUG: int = ... -INFO: int = ... -SUCCESS: int = ... -WARNING: int = ... -ERROR: int = ... - -DEFAULT_TAGS: Dict[int, str] = ... - -DEFAULT_LEVELS: Dict[str, int] = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/context_processors.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/context_processors.pyi deleted file mode 100644 index 86528482..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/context_processors.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any, Dict, List, Union - -from django.contrib.messages.storage.base import BaseStorage -from django.http.request import HttpRequest - -def messages(request: HttpRequest) -> Dict[str, Union[Dict[str, int], List[Any], BaseStorage]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/middleware.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/middleware.pyi deleted file mode 100644 index 427f8d0a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/middleware.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from django.http.request import HttpRequest -from django.http.response import HttpResponse -from django.utils.deprecation import MiddlewareMixin - -class MessageMiddleware(MiddlewareMixin): - def process_request(self, request: HttpRequest) -> None: ... - def process_response(self, request: HttpRequest, response: HttpResponse) -> HttpResponse: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/__init__.pyi deleted file mode 100644 index a98ba21b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/__init__.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any, Optional - -from django.contrib.messages.storage.base import BaseStorage -from django.http.request import HttpRequest - -def default_storage(request: HttpRequest) -> BaseStorage: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/base.pyi deleted file mode 100644 index d6a7163e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/base.pyi +++ /dev/null @@ -1,28 +0,0 @@ -from typing import Any, List, Optional - -from django.http.request import HttpRequest -from django.http.response import HttpResponseBase - -LEVEL_TAGS: Any - -class Message: - level: int = ... - message: str = ... - extra_tags: str = ... - def __init__(self, level: int, message: str, extra_tags: Optional[str] = ...) -> None: ... - @property - def tags(self) -> str: ... - @property - def level_tag(self) -> str: ... - -class BaseStorage: - request: HttpRequest = ... - used: bool = ... - added_new: bool = ... - def __init__(self, request: HttpRequest, *args: Any, **kwargs: Any) -> None: ... - def __len__(self) -> int: ... - def __iter__(self): ... - def __contains__(self, item: Any): ... - def update(self, response: HttpResponseBase) -> Optional[List[Message]]: ... - def add(self, level: int, message: str, extra_tags: Optional[str] = ...) -> None: ... - level: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/cookie.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/cookie.pyi deleted file mode 100644 index 8f267389..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/cookie.pyi +++ /dev/null @@ -1,20 +0,0 @@ -import json -from typing import Any - -from django.contrib.messages.storage.base import BaseStorage - -class MessageEncoder(json.JSONEncoder): - allow_nan: bool - check_circular: bool - ensure_ascii: bool - skipkeys: bool - sort_keys: bool - message_key: str = ... - -class MessageDecoder(json.JSONDecoder): - def process_messages(self, obj: Any) -> Any: ... - -class CookieStorage(BaseStorage): - cookie_name: str = ... - max_cookie_size: int = ... - not_finished: str = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/fallback.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/fallback.pyi deleted file mode 100644 index b6e0d49b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/fallback.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Any - -from django.contrib.messages.storage.base import BaseStorage - -class FallbackStorage(BaseStorage): - storage_classes: Any = ... - storages: Any = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/session.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/session.pyi deleted file mode 100644 index 8ba62819..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/storage/session.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any, List, Optional, Sequence, Union - -from django.contrib.messages.storage.base import BaseStorage -from django.http.request import HttpRequest - -class SessionStorage(BaseStorage): - session_key: str = ... - def __init__(self, request: HttpRequest, *args: Any, **kwargs: Any) -> None: ... - def serialize_messages(self, messages: Sequence[Any]) -> str: ... - def deserialize_messages(self, data: Optional[Union[List[Any], str]]) -> Optional[List[Any]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/utils.pyi deleted file mode 100644 index 1f29b13a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/utils.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from typing import Dict - -def get_level_tags() -> Dict[int, str]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/views.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/views.pyi deleted file mode 100644 index 344a9654..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/messages/views.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from typing import Dict - -from django.forms.forms import BaseForm -from django.http.response import HttpResponse - -class SuccessMessageMixin: - success_message: str = ... - def form_valid(self, form: BaseForm) -> HttpResponse: ... - def get_success_message(self, cleaned_data: Dict[str, str]) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/aggregates/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/aggregates/__init__.pyi deleted file mode 100644 index fbb15e1d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/aggregates/__init__.pyi +++ /dev/null @@ -1,19 +0,0 @@ -from .general import ArrayAgg as ArrayAgg -from .general import BitAnd as BitAnd -from .general import BitOr as BitOr -from .general import BoolAnd as BoolAnd -from .general import BoolOr as BoolOr -from .general import JSONBAgg as JSONBAgg -from .general import StringAgg as StringAgg -from .statistics import Corr as Corr -from .statistics import CovarPop as CovarPop -from .statistics import RegrAvgX as RegrAvgX -from .statistics import RegrAvgY as RegrAvgY -from .statistics import RegrCount as RegrCount -from .statistics import RegrIntercept as RegrIntercept -from .statistics import RegrR2 as RegrR2 -from .statistics import RegrSlope as RegrSlope -from .statistics import RegrSXX as RegrSXX -from .statistics import RegrSXY as RegrSXY -from .statistics import RegrSYY as RegrSYY -from .statistics import StatAggregate as StatAggregate diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/aggregates/general.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/aggregates/general.pyi deleted file mode 100644 index b38f3078..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/aggregates/general.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from django.db.models.aggregates import Aggregate - -from .mixins import OrderableAggMixin - -class ArrayAgg(OrderableAggMixin, Aggregate): ... -class BitAnd(Aggregate): ... -class BitOr(Aggregate): ... -class BoolAnd(Aggregate): ... -class BoolOr(Aggregate): ... -class JSONBAgg(OrderableAggMixin, Aggregate): ... -class StringAgg(OrderableAggMixin, Aggregate): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/aggregates/mixins.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/aggregates/mixins.pyi deleted file mode 100644 index 538ba87c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/aggregates/mixins.pyi +++ /dev/null @@ -1 +0,0 @@ -class OrderableAggMixin: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/aggregates/statistics.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/aggregates/statistics.pyi deleted file mode 100644 index 9e7d1380..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/aggregates/statistics.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from django.db.models.aggregates import Aggregate - -class StatAggregate(Aggregate): ... -class Corr(StatAggregate): ... -class CovarPop(StatAggregate): ... -class RegrAvgX(StatAggregate): ... -class RegrAvgY(StatAggregate): ... -class RegrCount(StatAggregate): ... -class RegrIntercept(StatAggregate): ... -class RegrR2(StatAggregate): ... -class RegrSlope(StatAggregate): ... -class RegrSXX(StatAggregate): ... -class RegrSXY(StatAggregate): ... -class RegrSYY(StatAggregate): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/apps.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/apps.pyi deleted file mode 100644 index 11a06a9a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/apps.pyi +++ /dev/null @@ -1,12 +0,0 @@ -from typing import Any - -from django.apps import AppConfig as AppConfig - -RANGE_TYPES: Any - -def uninstall_if_needed(setting: Any, value: Any, enter: Any, **kwargs: Any) -> None: ... - -class PostgresConfig(AppConfig): - name: str = ... - verbose_name: Any = ... - def ready(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/constraints.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/constraints.pyi deleted file mode 100644 index b2286086..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/constraints.pyi +++ /dev/null @@ -1,22 +0,0 @@ -from typing import List, Optional, Sequence, Tuple, Union - -from django.db.models import Deferrable -from django.db.models.constraints import BaseConstraint -from django.db.models.expressions import Combinable -from django.db.models.query_utils import Q - -class ExclusionConstraint(BaseConstraint): - expressions: Sequence[Tuple[Union[str, Combinable], str]] - index_type: str - condition: Optional[Q] - def __init__( - self, - *, - name: str, - expressions: Sequence[Tuple[Union[str, Combinable], str]], - index_type: Optional[str] = ..., - condition: Optional[Q] = ..., - deferrable: Optional[Deferrable] = ..., - include: Union[List[str], Tuple[str], None] = ..., - opclasses: Union[List[str], Tuple[str]] = ..., - ): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/__init__.pyi deleted file mode 100644 index 5e5cefb6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/__init__.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from .array import ArrayField as ArrayField -from .citext import CICharField as CICharField -from .citext import CIEmailField as CIEmailField -from .citext import CIText as CIText -from .citext import CITextField as CITextField -from .hstore import HStoreField as HStoreField -from .jsonb import JSONField as JSONField -from .ranges import BigIntegerRangeField as BigIntegerRangeField -from .ranges import DateRangeField as DateRangeField -from .ranges import DateTimeRangeField as DateTimeRangeField -from .ranges import DecimalRangeField as DecimalRangeField -from .ranges import IntegerRangeField as IntegerRangeField -from .ranges import RangeBoundary as RangeBoundary -from .ranges import RangeField as RangeField -from .ranges import RangeOperators as RangeOperators diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/array.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/array.pyi deleted file mode 100644 index 9b6b72b2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/array.pyi +++ /dev/null @@ -1,53 +0,0 @@ -from typing import Any, Iterable, List, Optional, Sequence, Type, TypeVar, Union - -from django.core.validators import _ValidatorCallable -from django.db.models import Field, Transform -from django.db.models.expressions import Combinable -from django.db.models.fields import _ErrorMessagesT, _FieldChoices -from django.db.models.fields.mixins import CheckFieldDefaultMixin - -# __set__ value type -_ST = TypeVar("_ST") -# __get__ return type -_GT = TypeVar("_GT") - -class ArrayField(CheckFieldDefaultMixin, Field[_ST, _GT]): - _pyi_private_set_type: Union[Sequence[Any], Combinable] - _pyi_private_get_type: List[Any] - - empty_strings_allowed: bool = ... - default_error_messages: _ErrorMessagesT = ... - base_field: Field = ... - size: Optional[int] = ... - default_validators: Sequence[_ValidatorCallable] = ... - from_db_value: Any = ... - def __init__( - self, - base_field: Field, - size: Optional[int] = ..., - *, - verbose_name: Optional[Union[str, bytes]] = ..., - name: Optional[str] = ..., - primary_key: bool = ..., - max_length: Optional[int] = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - db_index: bool = ..., - default: Any = ..., - editable: bool = ..., - auto_created: bool = ..., - serialize: bool = ..., - unique_for_date: Optional[str] = ..., - unique_for_month: Optional[str] = ..., - unique_for_year: Optional[str] = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - validators: Iterable[_ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - ) -> None: ... - @property - def description(self) -> str: ... # type: ignore - def get_transform(self, name: Any) -> Optional[Type[Transform]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/citext.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/citext.pyi deleted file mode 100644 index e0fbfcb5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/citext.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from django.db.models.fields import CharField, EmailField, TextField - -class CIText: ... -class CICharField(CIText, CharField): ... -class CIEmailField(CIText, EmailField): ... -class CITextField(CIText, TextField): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/hstore.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/hstore.pyi deleted file mode 100644 index 5d0350c0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/hstore.pyi +++ /dev/null @@ -1,17 +0,0 @@ -from typing import Any - -from django.db.models import Field, Transform -from django.db.models.fields.mixins import CheckFieldDefaultMixin - -class HStoreField(CheckFieldDefaultMixin, Field): - def get_transform(self, name) -> Any: ... - -class KeyTransform(Transform): - def __init__(self, key_name: str, *args: Any, **kwargs: Any): ... - -class KeyTransformFactory: - def __init__(self, key_name: str): ... - def __call__(self, *args, **kwargs) -> KeyTransform: ... - -class KeysTransform(Transform): ... -class ValuesTransform(Transform): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/jsonb.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/jsonb.pyi deleted file mode 100644 index e1849526..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/jsonb.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from django.db.models import JSONField as BuiltinJSONField -from django.db.models.fields.json import KeyTextTransform as BuiltinKeyTextTransform -from django.db.models.fields.json import KeyTransform as BuiltinKeyTransform - -# All deprecated -class JSONField(BuiltinJSONField): ... -class KeyTransform(BuiltinKeyTransform): ... -class KeyTextTransform(BuiltinKeyTextTransform): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/ranges.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/ranges.pyi deleted file mode 100644 index 75c3ffe3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/ranges.pyi +++ /dev/null @@ -1,116 +0,0 @@ -import sys -from typing import Any, Dict, Optional, Type - -from django.db import models -from django.db.models.lookups import PostgresOperatorLookup -from psycopg2.extras import DateRange, DateTimeTZRange, NumericRange, Range - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -class RangeBoundary(models.Expression): - lower: str - upper: str - def __init__(self, inclusive_lower: bool = ..., inclusive_upper: bool = ...): ... - -class RangeOperators: - EQUAL: Literal["="] - NOT_EQUAL: Literal["<>"] - CONTAINS: Literal["@>"] - CONTAINED_BY: Literal["<@"] - OVERLAPS: Literal["&&"] - FULLY_LT: Literal["<<"] - FULLY_GT: Literal[">>"] - NOT_LT: Literal["&>"] - NOT_GT: Literal["&<"] - ADJACENT_TO: Literal["-|-"] - -class RangeField(models.Field): - empty_strings_allowed: bool = ... - base_field: models.Field = ... - range_type: Type[Range] = ... - def get_prep_value(self, value: Any) -> Optional[Any]: ... - def to_python(self, value: Any) -> Any: ... - -class IntegerRangeField(RangeField): - def __get__(self, instance, owner) -> NumericRange: ... - -class BigIntegerRangeField(RangeField): - def __get__(self, instance, owner) -> NumericRange: ... - -class DecimalRangeField(RangeField): - def __get__(self, instance, owner) -> NumericRange: ... - -class DateTimeRangeField(RangeField): - def __get__(self, instance, owner) -> DateTimeTZRange: ... - -class DateRangeField(RangeField): - def __get__(self, instance, owner) -> DateRange: ... - -class DateTimeRangeContains(PostgresOperatorLookup): - lookup_name: str = ... - postgres_operator: str = ... - -class RangeContainedBy(PostgresOperatorLookup): - lookup_name: str = ... - type_mapping: Dict[str, str] = ... - postgres_operator: str = ... - -class FullyLessThan(PostgresOperatorLookup): - lookup_name: str = ... - postgres_operator: str = ... - -class FullGreaterThan(PostgresOperatorLookup): - lookup_name: str = ... - postgres_operator: str = ... - -class NotLessThan(PostgresOperatorLookup): - lookup_name: str = ... - postgres_operator: str = ... - -class NotGreaterThan(PostgresOperatorLookup): - lookup_name: str = ... - postgres_operator: str = ... - -class AdjacentToLookup(PostgresOperatorLookup): - lookup_name: str = ... - postgres_operator: str = ... - -class RangeStartsWith(models.Transform): - lookup_name: str = ... - function: str = ... - @property - def output_field(self) -> models.Field: ... - -class RangeEndsWith(models.Transform): - lookup_name: str = ... - function: str = ... - @property - def output_field(self) -> models.Field: ... - -class IsEmpty(models.Transform): - lookup_name: str = ... - function: str = ... - output_field: models.BooleanField = ... - -class LowerInclusive(models.Transform): - lookup_name: str = ... - function: str = ... - output_field: models.BooleanField = ... - -class LowerInfinite(models.Transform): - lookup_name: str = ... - function: str = ... - output_field: models.BooleanField = ... - -class UpperInclusive(models.Transform): - lookup_name: str = ... - function: str = ... - output_field: models.BooleanField = ... - -class UpperInfinite(models.Transform): - lookup_name: str = ... - function: str = ... - output_field: models.BooleanField = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/utils.pyi deleted file mode 100644 index e9aa3e13..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/fields/utils.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - -class AttributeSetter: - def __init__(self, name: Any, value: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/__init__.pyi deleted file mode 100644 index 50446d58..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/__init__.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from .array import * -from .hstore import * -from .jsonb import * -from .ranges import * diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/array.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/array.pyi deleted file mode 100644 index ec24e2aa..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/array.pyi +++ /dev/null @@ -1,62 +0,0 @@ -from typing import Any, Dict, Optional, Sequence, Type, Union - -from django import forms as forms -from django.contrib.postgres.validators import ArrayMaxLengthValidator as ArrayMaxLengthValidator -from django.contrib.postgres.validators import ArrayMinLengthValidator as ArrayMinLengthValidator -from django.core.exceptions import ValidationError as ValidationError -from django.db.models.fields import _ErrorMessagesT -from django.forms.fields import _ClassLevelWidgetT -from django.forms.utils import _DataT, _FilesT -from django.forms.widgets import Media, _OptAttrs - -from ..utils import prefix_validation_error as prefix_validation_error - -class SimpleArrayField(forms.CharField): - default_error_messages: _ErrorMessagesT = ... - base_field: Type[forms.Field] - delimiter: str - min_length: Optional[int] - max_length: Optional[int] - def __init__( - self, - base_field: Type[forms.Field], - *, - delimiter: str = ..., - max_length: Optional[int] = ..., - min_length: Optional[int] = ..., - **kwargs: Any - ) -> None: ... - def clean(self, value: Any) -> Sequence[Any]: ... - def prepare_value(self, value: Any) -> Any: ... - def to_python(self, value: Any) -> Sequence[Any]: ... # type: ignore - def validate(self, value: Sequence[Any]) -> None: ... - def run_validators(self, value: Sequence[Any]) -> None: ... - def has_changed(self, initial: Any, data: Any) -> bool: ... - -class SplitArrayWidget(forms.Widget): - template_name: str - widget: _ClassLevelWidgetT - size: int - def __init__(self, widget: Union[forms.Widget, Type[forms.Widget]], size: int, **kwargs: Any) -> None: ... - @property - def is_hidden(self) -> bool: ... - def value_from_datadict(self, data: _DataT, files: _FilesT, name: str) -> Any: ... - def value_omitted_from_data(self, data: _DataT, files: _FilesT, name: str) -> bool: ... - def id_for_label(self, id_: str) -> str: ... - def get_context(self, name: str, value: Any, attrs: Optional[_OptAttrs] = ...) -> Dict[str, Any]: ... - @property - def media(self) -> Media: ... # type: ignore - @property - def needs_multipart_form(self) -> bool: ... # type: ignore - -class SplitArrayField(forms.Field): - default_error_messages: _ErrorMessagesT = ... - base_field: Type[forms.Field] - size: int - remove_trailing_nulls: bool - def __init__( - self, base_field: Type[forms.Field], size: int, *, remove_trailing_nulls: bool = ..., **kwargs: Any - ) -> None: ... - def to_python(self, value: Any) -> Sequence[Any]: ... - def clean(self, value: Any) -> Sequence[Any]: ... - def has_changed(self, initial: Any, data: Any) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/hstore.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/hstore.pyi deleted file mode 100644 index 8b5099e5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/hstore.pyi +++ /dev/null @@ -1,12 +0,0 @@ -from typing import Any, Dict, Optional, Type, Union - -from django import forms -from django.db.models.fields import _ErrorMessagesT -from django.forms.fields import _ClassLevelWidgetT - -class HStoreField(forms.CharField): - widget: _ClassLevelWidgetT - default_error_messages: _ErrorMessagesT = ... - def prepare_value(self, value: Any) -> Any: ... - def to_python(self, value: Any) -> Dict[str, Optional[str]]: ... # type: ignore - def has_changed(self, initial: Any, data: Any) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/jsonb.py b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/jsonb.py deleted file mode 100644 index b03cda8a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/jsonb.py +++ /dev/null @@ -1,9 +0,0 @@ -from typing import Any - -from django.forms import JSONField as BuiltinJSONField - - -# Deprecated, removed in 4.0 -class JSONField(BuiltinJSONField): - def __init__(self, *args: Any, **kwargs: Any) -> None: - ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/ranges.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/ranges.pyi deleted file mode 100644 index dcf944f2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/forms/ranges.pyi +++ /dev/null @@ -1,44 +0,0 @@ -from typing import Any, Optional, Tuple, Type, Union - -from django import forms -from django.db.models.fields import _ErrorMessagesT -from django.forms.widgets import MultiWidget, _OptAttrs -from psycopg2.extras import Range - -class RangeWidget(MultiWidget): - def __init__( - self, base_widget: Union[forms.Widget, Type[forms.Widget]], attrs: Optional[_OptAttrs] = ... - ) -> None: ... - def decompress(self, value: Any) -> Tuple[Optional[Any], Optional[Any]]: ... - -class HiddenRangeWidget(RangeWidget): - def __init__(self, attrs: Optional[_OptAttrs] = ...) -> None: ... - -class BaseRangeField(forms.MultiValueField): - default_error_messages: _ErrorMessagesT - base_field: Type[forms.Field] - range_type: Type[Range] - hidden_widget: Type[forms.Widget] - def __init__(self, **kwargs: Any) -> None: ... - def prepare_value(self, value: Any) -> Any: ... - def compress(self, values: Tuple[Optional[Any], Optional[Any]]) -> Optional[Range]: ... - -class IntegerRangeField(BaseRangeField): - default_error_messages: _ErrorMessagesT - base_field: Type[forms.Field] - range_type: Type[Range] - -class DecimalRangeField(BaseRangeField): - default_error_messages: _ErrorMessagesT - base_field: Type[forms.Field] - range_type: Type[Range] - -class DateTimeRangeField(BaseRangeField): - default_error_messages: _ErrorMessagesT - base_field: Type[forms.Field] - range_type: Type[Range] - -class DateRangeField(BaseRangeField): - default_error_messages: _ErrorMessagesT - base_field: Type[forms.Field] - range_type: Type[Range] diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/functions.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/functions.pyi deleted file mode 100644 index 414a0998..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/functions.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from django.db.models import Func - -class RandomUUID(Func): ... -class TransactionNow(Func): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/indexes.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/indexes.pyi deleted file mode 100644 index 3ea3c84c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/indexes.pyi +++ /dev/null @@ -1,119 +0,0 @@ -from typing import Any, List, Optional, Sequence, Tuple, Type, Union - -from django.db.backends.base.schema import BaseDatabaseSchemaEditor -from django.db.backends.ddl_references import Statement -from django.db.models import Func, Index, Model -from django.db.models.expressions import BaseExpression, Combinable -from django.db.models.query_utils import Q -from django.utils.datastructures import _ListOrTuple - -class PostgresIndex(Index): - @property - def max_name_length(self) -> int: ... # type: ignore - def create_sql( - self, model: Type[Model], schema_editor: BaseDatabaseSchemaEditor, using: str = ..., **kwargs: Any - ) -> Statement: ... - def check_supported(self, schema_editor: BaseDatabaseSchemaEditor) -> None: ... - def get_with_params(self) -> Sequence[str]: ... - -class BloomIndex(PostgresIndex): - def __init__( - self, - *expressions: Union[BaseExpression, Combinable, str], - length: Optional[int] = ..., - columns: _ListOrTuple[int] = ..., - fields: Sequence[str] = ..., - name: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - opclasses: Sequence[str] = ..., - condition: Optional[Q] = ..., - include: Optional[Sequence[str]] = ..., - ) -> None: ... - -class BrinIndex(PostgresIndex): - def __init__( - self, - *expressions: Union[BaseExpression, Combinable, str], - autosummarize: Optional[bool] = ..., - pages_per_range: Optional[int] = ..., - fields: Sequence[str] = ..., - name: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - opclasses: Sequence[str] = ..., - condition: Optional[Q] = ..., - include: Optional[Sequence[str]] = ..., - ) -> None: ... - -class BTreeIndex(PostgresIndex): - def __init__( - self, - *expressions: Union[BaseExpression, Combinable, str], - fillfactor: Optional[int] = ..., - fields: Sequence[str] = ..., - name: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - opclasses: Sequence[str] = ..., - condition: Optional[Q] = ..., - include: Optional[Sequence[str]] = ..., - ) -> None: ... - -class GinIndex(PostgresIndex): - def __init__( - self, - *expressions: Union[BaseExpression, Combinable, str], - fastupdate: Optional[bool] = ..., - gin_pending_list_limit: Optional[int] = ..., - fields: Sequence[str] = ..., - name: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - opclasses: Sequence[str] = ..., - condition: Optional[Q] = ..., - include: Optional[Sequence[str]] = ..., - ) -> None: ... - -class GistIndex(PostgresIndex): - def __init__( - self, - *expressions: Union[BaseExpression, Combinable, str], - buffering: Optional[bool] = ..., - fillfactor: Optional[int] = ..., - fields: Sequence[str] = ..., - name: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - opclasses: Sequence[str] = ..., - condition: Optional[Q] = ..., - include: Optional[Sequence[str]] = ..., - ) -> None: ... - -class HashIndex(PostgresIndex): - def __init__( - self, - *expressions: Union[BaseExpression, Combinable, str], - fillfactor: Optional[int] = ..., - fields: Sequence[str] = ..., - name: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - opclasses: Sequence[str] = ..., - condition: Optional[Q] = ..., - include: Optional[Sequence[str]] = ..., - ) -> None: ... - -class SpGistIndex(PostgresIndex): - def __init__( - self, - *expressions: Union[BaseExpression, Combinable, str], - fillfactor: Optional[int] = ..., - fields: Sequence[str] = ..., - name: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - opclasses: Sequence[str] = ..., - condition: Optional[Q] = ..., - include: Optional[Sequence[str]] = ..., - ) -> None: ... - -class OpClass(Func): - def __init__( - self, - expression: Union[BaseExpression, Combinable, str], - name: str, - ) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/lookups.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/lookups.pyi deleted file mode 100644 index 247bed98..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/lookups.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from django.db.models import Lookup, Transform -from django.db.models.lookups import Exact, PostgresOperatorLookup - -from .search import SearchVectorExact - -class DataContains(PostgresOperatorLookup): ... -class ContainedBy(PostgresOperatorLookup): ... -class Overlap(PostgresOperatorLookup): ... -class HasKey(PostgresOperatorLookup): ... -class HasKeys(PostgresOperatorLookup): ... -class HasAnyKeys(HasKeys): ... -class Unaccent(Transform): ... -class SearchLookup(SearchVectorExact): ... -class TrigramSimilar(PostgresOperatorLookup): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/operations.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/operations.pyi deleted file mode 100644 index 94fb10a8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/operations.pyi +++ /dev/null @@ -1,27 +0,0 @@ -from django.db.migrations.operations.base import Operation - -class CreateExtension(Operation): - reversible: bool = ... - name: str = ... - def __init__(self, name: str) -> None: ... - -class BtreeGinExtension(CreateExtension): - def __init__(self) -> None: ... - -class BtreeGistExtension(CreateExtension): - def __init__(self) -> None: ... - -class CITextExtension(CreateExtension): - def __init__(self) -> None: ... - -class CryptoExtension(CreateExtension): - def __init__(self) -> None: ... - -class HStoreExtension(CreateExtension): - def __init__(self) -> None: ... - -class TrigramExtension(CreateExtension): - def __init__(self) -> None: ... - -class UnaccentExtension(CreateExtension): - def __init__(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/search.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/search.pyi deleted file mode 100644 index 892e64d3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/search.pyi +++ /dev/null @@ -1,112 +0,0 @@ -from typing import Any, Dict, Optional, TypeVar, Union - -from django.db.models import Expression, Field -from django.db.models.expressions import Combinable, CombinedExpression, Func, Value -from django.db.models.lookups import Lookup - -_Expression = Union[str, Combinable, "SearchQueryCombinable"] - -class SearchVectorExact(Lookup): ... -class SearchVectorField(Field): ... -class SearchQueryField(Field): ... - -class SearchConfig(Expression): - config: Optional[_Expression] = ... - def __init__(self, config: _Expression) -> None: ... - @classmethod - def from_parameter(cls, config: Optional[_Expression]) -> SearchConfig: ... - -class SearchVectorCombinable: - ADD: str = ... - -class SearchVector(SearchVectorCombinable, Func): - config: Optional[_Expression] = ... - function: str = ... - arg_joiner: str = ... - output_field: Field - def __init__( - self, *expressions: _Expression, config: Optional[_Expression] = ..., weight: Optional[Any] = ... - ) -> None: ... - -class CombinedSearchVector(SearchVectorCombinable, CombinedExpression): - def __init__( - self, - lhs: Combinable, - connector: str, - rhs: Combinable, - config: Optional[_Expression], - output_field: Optional[Field] = None, - ) -> None: ... - -_T = TypeVar("_T", bound="SearchQueryCombinable") - -class SearchQueryCombinable: - BITAND: str = ... - BITOR: str = ... - def __or__(self: _T, other: SearchQueryCombinable) -> _T: ... - def __ror__(self: _T, other: SearchQueryCombinable) -> _T: ... - def __and__(self: _T, other: SearchQueryCombinable) -> _T: ... - def __rand__(self: _T, other: SearchQueryCombinable) -> _T: ... - -class SearchQuery(SearchQueryCombinable, Func): # type: ignore - SEARCH_TYPES: Dict[str, str] = ... - def __init__( - self, - value: _Expression, - output_field: Optional[Field] = ..., - *, - config: Optional[_Expression] = ..., - invert: bool = ..., - search_type: str = ..., - ): ... - def __invert__(self: _T) -> _T: ... - -class CombinedSearchQuery(SearchQueryCombinable, CombinedExpression): # type: ignore - def __init__( - self, - lhs: Combinable, - connector: str, - rhs: Combinable, - config: Optional[_Expression], - output_field: Optional[Field] = None, - ) -> None: ... - -class SearchRank(Func): - def __init__( - self, - vector: Union[SearchVector, _Expression], - query: Union[SearchQuery, _Expression], - weights: Optional[Any] = ..., - normalization: Optional[Any] = ..., - cover_density: bool = ..., - ) -> None: ... - -class SearchHeadline(Func): - function: str = ... - template: str = ... - output_field: Field = ... - def __init__( - self, - expression: _Expression, - query: _Expression, - *, - config: Optional[_Expression] = ..., - start_sel: Optional[Any] = ..., - stop_sel: Optional[Any] = ..., - max_words: Optional[int] = ..., - min_words: Optional[int] = ..., - short_word: Optional[str] = ..., - highlight_all: Optional[bool] = ..., - max_fragments: Optional[int] = ..., - fragment_delimiter: Optional[str] = ..., - ) -> None: ... - -class TrigramBase(Func): - def __init__(self, expression: _Expression, string: str, **extra: Any) -> None: ... - -class TrigramSimilarity(TrigramBase): - function: str - -class TrigramDistance(TrigramBase): - function: str - arg_joiner: str diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/serializers.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/serializers.pyi deleted file mode 100644 index 9de94024..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/serializers.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from django.db.migrations.serializer import BaseSerializer as BaseSerializer - -class RangeSerializer(BaseSerializer): - def serialize(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/signals.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/signals.pyi deleted file mode 100644 index e3475a90..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/signals.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from typing import Any, Tuple - -def get_hstore_oids(connection_alias: str) -> Tuple[Any, ...]: ... -def get_citext_oids(connection_alias: str) -> Tuple[Any, ...]: ... -def register_type_handlers(connection: Any, **kwargs: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/utils.pyi deleted file mode 100644 index 2dec3060..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/utils.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from typing import Any - -def prefix_validation_error(error: Any, prefix: Any, code: Any, params: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/validators.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/validators.pyi deleted file mode 100644 index 00ad4ff7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/postgres/validators.pyi +++ /dev/null @@ -1,17 +0,0 @@ -from typing import Any, Dict, Iterable, Mapping, Optional - -from django.core.validators import MaxLengthValidator, MaxValueValidator, MinLengthValidator, MinValueValidator - -class ArrayMaxLengthValidator(MaxLengthValidator): ... -class ArrayMinLengthValidator(MinLengthValidator): ... - -class KeysValidator: - messages: Dict[str, str] = ... - strict: bool = ... - def __init__( - self, keys: Iterable[str], strict: bool = ..., messages: Optional[Mapping[str, str]] = ... - ) -> None: ... - def __call__(self, value: Any) -> None: ... - -class RangeMaxValueValidator(MaxValueValidator): ... -class RangeMinValueValidator(MinValueValidator): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/admin.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/admin.pyi deleted file mode 100644 index dc71b2d7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/admin.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from typing import Any - -from django.contrib import admin as admin - -class RedirectAdmin(admin.ModelAdmin): - list_display: Any = ... - list_filter: Any = ... - search_fields: Any = ... - radio_fields: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/apps.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/apps.pyi deleted file mode 100644 index bb3a68dc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/apps.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import Any - -from django.apps import AppConfig as AppConfig - -class RedirectsConfig(AppConfig): - name: str = ... - verbose_name: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/middleware.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/middleware.pyi deleted file mode 100644 index 10b83047..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/middleware.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any - -from django.http.request import HttpRequest -from django.http.response import HttpResponse -from django.utils.deprecation import MiddlewareMixin - -class RedirectFallbackMiddleware(MiddlewareMixin): - response_gone_class: Any = ... - response_redirect_class: Any = ... - def process_response(self, request: HttpRequest, response: HttpResponse) -> HttpResponse: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/migrations/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/migrations/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/models.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/models.pyi deleted file mode 100644 index b732632d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/redirects/models.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from django.db import models - -class Redirect(models.Model): - site: models.ForeignKey = ... - old_path: models.CharField = ... - new_path: models.CharField = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/apps.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/apps.pyi deleted file mode 100644 index c65086ac..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/apps.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import Any - -from django.apps import AppConfig as AppConfig - -class SessionsConfig(AppConfig): - name: str = ... - verbose_name: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/base.pyi deleted file mode 100644 index e3ead619..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/base.pyi +++ /dev/null @@ -1,43 +0,0 @@ -from datetime import datetime -from typing import Any, Dict, Optional, Union - -VALID_KEY_CHARS: Any - -class CreateError(Exception): ... -class UpdateError(Exception): ... - -class SessionBase(Dict[str, Any]): - TEST_COOKIE_NAME: str = ... - TEST_COOKIE_VALUE: str = ... - accessed: bool = ... - modified: bool = ... - serializer: Any = ... - def __init__(self, session_key: Optional[str] = ...) -> None: ... - def set_test_cookie(self) -> None: ... - def test_cookie_worked(self) -> bool: ... - def delete_test_cookie(self) -> None: ... - def encode(self, session_dict: Dict[str, Any]) -> str: ... - def decode(self, session_data: Union[bytes, str]) -> Dict[str, Any]: ... - def has_key(self, key: Any): ... - def keys(self): ... - def values(self): ... - def items(self): ... - def clear(self) -> None: ... - def is_empty(self) -> bool: ... - def _get_session_key(self) -> str: ... - def _set_session_key(self, value: str) -> None: ... - session_key = property(_get_session_key) - _session_key = property(_get_session_key, _set_session_key) - def get_expiry_age(self, **kwargs: Any) -> int: ... - def get_expiry_date(self, **kwargs: Any) -> datetime: ... - def set_expiry(self, value: Optional[Union[datetime, int]]) -> None: ... - def get_expire_at_browser_close(self) -> bool: ... - def flush(self) -> None: ... - def cycle_key(self) -> None: ... - def exists(self, session_key: str) -> bool: ... - def create(self) -> None: ... - def save(self, must_create: bool = ...) -> None: ... - def delete(self, session_key: Optional[Any] = ...) -> None: ... - def load(self) -> Dict[str, Any]: ... - @classmethod - def clear_expired(cls) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/cache.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/cache.pyi deleted file mode 100644 index 865393b1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/cache.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Any, Optional - -from django.contrib.sessions.backends.base import SessionBase - -KEY_PREFIX: str - -class SessionStore(SessionBase): - cache_key_prefix: Any = ... - def __init__(self, session_key: Optional[str] = ...) -> None: ... - @property - def cache_key(self) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/cached_db.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/cached_db.pyi deleted file mode 100644 index b49ef906..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/cached_db.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Any, Optional - -from django.contrib.sessions.backends.db import SessionStore as DBStore - -KEY_PREFIX: str - -class SessionStore(DBStore): - cache_key_prefix: Any = ... - def __init__(self, session_key: Optional[str] = ...) -> None: ... - @property - def cache_key(self) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/db.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/db.pyi deleted file mode 100644 index b93f3cbc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/db.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from typing import Dict, Optional, Type - -from django.contrib.sessions.backends.base import SessionBase -from django.contrib.sessions.base_session import AbstractBaseSession -from django.contrib.sessions.models import Session -from django.db.models.base import Model - -class SessionStore(SessionBase): - def __init__(self, session_key: Optional[str] = ...) -> None: ... - @classmethod - def get_model_class(cls) -> Type[Session]: ... - @property - def model(self) -> Type[AbstractBaseSession]: ... - def create_model_instance(self, data: Dict[str, Model]) -> AbstractBaseSession: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/file.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/file.pyi deleted file mode 100644 index 96e20463..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/file.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from typing import Optional - -from django.contrib.sessions.backends.base import SessionBase - -class SessionStore(SessionBase): - storage_path: str = ... - file_prefix: str = ... - def __init__(self, session_key: Optional[str] = ...) -> None: ... - def clean(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/signed_cookies.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/signed_cookies.pyi deleted file mode 100644 index f82ead57..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/backends/signed_cookies.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.contrib.sessions.backends.base import SessionBase - -class SessionStore(SessionBase): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/base_session.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/base_session.pyi deleted file mode 100644 index 010e12e9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/base_session.pyi +++ /dev/null @@ -1,18 +0,0 @@ -from datetime import datetime -from typing import Any, Dict, Optional, Type - -from django.contrib.sessions.backends.base import SessionBase -from django.db import models - -class BaseSessionManager(models.Manager): - def encode(self, session_dict: Dict[str, int]) -> str: ... - def save(self, session_key: str, session_dict: Dict[str, int], expire_date: datetime) -> AbstractBaseSession: ... - -class AbstractBaseSession(models.Model): - expire_date: datetime - session_data: str - session_key: str - objects: Any = ... - @classmethod - def get_session_store_class(cls) -> Optional[Type[SessionBase]]: ... - def get_decoded(self) -> Dict[str, int]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/exceptions.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/exceptions.pyi deleted file mode 100644 index 9ec91907..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/exceptions.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from django.core.exceptions import SuspiciousOperation - -class InvalidSessionKey(SuspiciousOperation): ... -class SuspiciousSession(SuspiciousOperation): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/management/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/management/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/management/commands/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/management/commands/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/management/commands/clearsessions.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/management/commands/clearsessions.pyi deleted file mode 100644 index 8d75fb4d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/management/commands/clearsessions.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.core.management.base import BaseCommand - -class Command(BaseCommand): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/middleware.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/middleware.pyi deleted file mode 100644 index 0e29b8d2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/middleware.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Type - -from django.contrib.sessions.backends.base import SessionBase -from django.http.request import HttpRequest -from django.http.response import HttpResponse -from django.utils.deprecation import MiddlewareMixin - -class SessionMiddleware(MiddlewareMixin): - SessionStore: Type[SessionBase] = ... - def process_request(self, request: HttpRequest) -> None: ... - def process_response(self, request: HttpRequest, response: HttpResponse) -> HttpResponse: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/migrations/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/migrations/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/models.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/models.pyi deleted file mode 100644 index 08b30ef6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/models.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from django.contrib.sessions.base_session import AbstractBaseSession, BaseSessionManager - -class SessionManager(BaseSessionManager): ... -class Session(AbstractBaseSession): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/serializers.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/serializers.pyi deleted file mode 100644 index 5c0eb15a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sessions/serializers.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Dict - -from django.core.signing import JSONSerializer as BaseJSONSerializer -from django.db.models.base import Model - -class PickleSerializer: - def dumps(self, obj: Dict[str, Model]) -> bytes: ... - def loads(self, data: bytes) -> Dict[str, Model]: ... - -JSONSerializer = BaseJSONSerializer diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/__init__.pyi deleted file mode 100644 index 13fb9af1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/__init__.pyi +++ /dev/null @@ -1,45 +0,0 @@ -from datetime import datetime -from typing import Any, Dict, List, Optional, Sequence, Union - -from django.contrib.sites.models import Site -from django.contrib.sites.requests import RequestSite -from django.core.paginator import Paginator -from django.db.models.base import Model -from django.db.models.query import QuerySet - -PING_URL: str - -class SitemapNotFound(Exception): ... - -def ping_google(sitemap_url: Optional[str] = ..., ping_url: str = ..., sitemap_uses_https: bool = ...) -> None: ... - -class Sitemap: - limit: int = ... - protocol: Optional[str] = ... - i18n: bool = ... - languages: Optional[Sequence[str]] = ... - alternates: bool = ... - x_default: bool = ... - def items(self) -> Union[Sequence[Any], QuerySet[Any]]: ... - def location(self, item: Model) -> str: ... - @property - def paginator(self) -> Paginator: ... - def get_urls( - self, page: Union[int, str] = ..., site: Optional[Union[Site, RequestSite]] = ..., protocol: Optional[str] = ... - ) -> List[Dict[str, Any]]: ... - -class GenericSitemap(Sitemap): - priority: Optional[float] = ... - changefreq: Optional[str] = ... - queryset: QuerySet[Model] = ... - date_field: Optional[str] = ... - protocol: Optional[str] = ... - def __init__( - self, - info_dict: Dict[str, Union[datetime, QuerySet[Model], str]], - priority: Optional[float] = ..., - changefreq: Optional[str] = ..., - protocol: Optional[str] = ..., - ) -> None: ... - def lastmod(self, item: Model) -> Optional[datetime]: ... - def items(self) -> QuerySet[Model]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/apps.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/apps.pyi deleted file mode 100644 index 72ab919e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/apps.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import Any - -from django.apps import AppConfig as AppConfig - -class SiteMapsConfig(AppConfig): - name: str = ... - verbose_name: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/management/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/management/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/management/commands/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/management/commands/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/management/commands/ping_google.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/management/commands/ping_google.pyi deleted file mode 100644 index 8d75fb4d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/management/commands/ping_google.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.core.management.base import BaseCommand - -class Command(BaseCommand): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/views.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/views.pyi deleted file mode 100644 index 41deb9fd..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sitemaps/views.pyi +++ /dev/null @@ -1,23 +0,0 @@ -from typing import Callable, Dict, Optional, Type, TypeVar, Union - -from django.contrib.sitemaps import GenericSitemap, Sitemap -from django.http.request import HttpRequest -from django.template.response import TemplateResponse - -_C = TypeVar("_C", bound=Callable) - -def x_robots_tag(func: _C) -> _C: ... -def index( - request: HttpRequest, - sitemaps: Dict[str, Union[Type[Sitemap], Sitemap]], - template_name: str = ..., - content_type: str = ..., - sitemap_url_name: str = ..., -) -> TemplateResponse: ... -def sitemap( - request: HttpRequest, - sitemaps: Dict[str, Union[Type[Sitemap], Sitemap]], - section: Optional[str] = ..., - template_name: str = ..., - content_type: str = ..., -) -> TemplateResponse: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/admin.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/admin.pyi deleted file mode 100644 index c80181fa..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/admin.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import Any - -from django.contrib import admin as admin - -class SiteAdmin(admin.ModelAdmin): - list_display: Any = ... - search_fields: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/apps.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/apps.pyi deleted file mode 100644 index 75db9afd..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/apps.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.apps import AppConfig - -class SitesConfig(AppConfig): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/management.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/management.pyi deleted file mode 100644 index 822f4793..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/management.pyi +++ /dev/null @@ -1,13 +0,0 @@ -from typing import Any - -from django.apps.config import AppConfig -from django.apps.registry import Apps - -def create_default_site( - app_config: AppConfig, - verbosity: int = ..., - interactive: bool = ..., - using: str = ..., - apps: Apps = ..., - **kwargs: Any -) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/managers.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/managers.pyi deleted file mode 100644 index 45ae26d4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/managers.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Optional - -from django.db import models - -class CurrentSiteManager(models.Manager): - def __init__(self, field_name: Optional[str] = ...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/middleware.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/middleware.pyi deleted file mode 100644 index 018bd5f7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/middleware.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from django.http.request import HttpRequest -from django.utils.deprecation import MiddlewareMixin - -class CurrentSiteMiddleware(MiddlewareMixin): - def process_request(self, request: HttpRequest) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/migrations/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/migrations/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/models.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/models.pyi deleted file mode 100644 index 099ab262..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/models.pyi +++ /dev/null @@ -1,20 +0,0 @@ -from typing import Any, Optional, Tuple, Type - -from django.db import models -from django.http.request import HttpRequest - -SITE_CACHE: Any - -class SiteManager(models.Manager["Site"]): - def get_current(self, request: Optional[HttpRequest] = ...) -> Site: ... - def clear_cache(self) -> None: ... - def get_by_natural_key(self, domain: str) -> Site: ... - -class Site(models.Model): - objects: SiteManager - - domain = models.CharField(max_length=100) - name = models.CharField(max_length=50) - def natural_key(self) -> Tuple[str]: ... - -def clear_site_cache(sender: Type[Site], **kwargs: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/requests.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/requests.pyi deleted file mode 100644 index 6a638b60..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/requests.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any - -from django.http.request import HttpRequest - -class RequestSite: - name: str - domain: str = ... - def __init__(self, request: HttpRequest) -> None: ... - def save(self, force_insert: bool = ..., force_update: bool = ...) -> Any: ... - def delete(self) -> Any: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/shortcuts.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/shortcuts.pyi deleted file mode 100644 index 6938e6f9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/sites/shortcuts.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import Optional, Union - -from django.contrib.sites.models import Site -from django.contrib.sites.requests import RequestSite -from django.http.request import HttpRequest - -def get_current_site(request: Optional[HttpRequest]) -> Union[Site, RequestSite]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/apps.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/apps.pyi deleted file mode 100644 index e2787b84..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/apps.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any - -from django.apps import AppConfig - -class StaticFilesConfig(AppConfig): - ignore_patterns: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/checks.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/checks.pyi deleted file mode 100644 index fb1ba254..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/checks.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any, List, Optional, Sequence - -from django.apps.config import AppConfig -from django.core.checks.messages import CheckMessage - -def check_finders(app_configs: Optional[Sequence[AppConfig]] = ..., **kwargs: Any) -> List[CheckMessage]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/finders.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/finders.pyi deleted file mode 100644 index 5a9d505b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/finders.pyi +++ /dev/null @@ -1,74 +0,0 @@ -import sys -from typing import Any, Dict, Iterable, Iterator, List, Optional, Sequence, Tuple, Type, overload - -from django.core.checks.messages import CheckMessage -from django.core.files.storage import FileSystemStorage, Storage -from django.utils._os import _PathCompatible - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -searched_locations: Any - -class BaseFinder: - def check(self, **kwargs: Any) -> List[CheckMessage]: ... - @overload - def find(self, path: _PathCompatible, all: Literal[False] = False) -> Optional[_PathCompatible]: ... # type: ignore - @overload - def find(self, path: _PathCompatible, all: Literal[True] = ...) -> List[_PathCompatible]: ... - def list(self, ignore_patterns: Optional[Iterable[str]]) -> Iterable[Any]: ... - -class FileSystemFinder(BaseFinder): - locations: List[Tuple[str, _PathCompatible]] = ... - storages: Dict[_PathCompatible, Any] = ... - def __init__(self, app_names: Sequence[str] = ..., *args: Any, **kwargs: Any) -> None: ... - def find_location( - self, root: _PathCompatible, path: str, prefix: Optional[str] = ... - ) -> Optional[_PathCompatible]: ... - @overload - def find(self, path: _PathCompatible, all: Literal[False] = False) -> Optional[_PathCompatible]: ... # type: ignore - @overload - def find(self, path: _PathCompatible, all: Literal[True] = ...) -> List[_PathCompatible]: ... - def list(self, ignore_patterns: Optional[Iterable[str]]) -> Iterable[Any]: ... - -class AppDirectoriesFinder(BaseFinder): - storage_class: Type[FileSystemStorage] = ... - source_dir: str = ... - apps: List[str] = ... - storages: Dict[_PathCompatible, FileSystemStorage] = ... - def __init__(self, app_names: Optional[Iterable[str]] = ..., *args: Any, **kwargs: Any) -> None: ... - def find_in_app(self, app: str, path: _PathCompatible) -> Optional[_PathCompatible]: ... - @overload - def find(self, path: _PathCompatible, all: Literal[False] = False) -> Optional[_PathCompatible]: ... # type: ignore - @overload - def find(self, path: _PathCompatible, all: Literal[True] = ...) -> List[_PathCompatible]: ... - def list(self, ignore_patterns: Optional[Iterable[str]]) -> Iterable[Any]: ... - -class BaseStorageFinder(BaseFinder): - storage: Storage = ... - def __init__(self, storage: Optional[Storage] = ..., *args: Any, **kwargs: Any) -> None: ... - @overload - def find(self, path: _PathCompatible, all: Literal[False] = False) -> Optional[_PathCompatible]: ... # type: ignore - @overload - def find(self, path: _PathCompatible, all: Literal[True] = ...) -> List[_PathCompatible]: ... - def list(self, ignore_patterns: Optional[Iterable[str]]) -> Iterable[Any]: ... - -class DefaultStorageFinder(BaseStorageFinder): - storage: Storage = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - -@overload -def find(path: _PathCompatible, all: Literal[False] = False) -> Optional[_PathCompatible]: ... # type: ignore -@overload -def find(path: _PathCompatible, all: Literal[True] = ...) -> List[_PathCompatible]: ... -def get_finders() -> Iterator[BaseFinder]: ... -@overload -def get_finder( - import_path: Literal["django.contrib.staticfiles.finders.FileSystemFinder"], -) -> FileSystemFinder: ... -@overload -def get_finder( - import_path: Literal["django.contrib.staticfiles.finders.AppDirectoriesFinder"], -) -> AppDirectoriesFinder: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/handlers.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/handlers.pyi deleted file mode 100644 index b6402c38..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/handlers.pyi +++ /dev/null @@ -1,41 +0,0 @@ -from typing import Any, Awaitable, Callable, Dict, Mapping, Sequence, Tuple -from urllib.parse import ParseResult - -from django.core.handlers.asgi import ASGIHandler, ASGIRequest -from django.core.handlers.base import BaseHandler -from django.core.handlers.wsgi import WSGIHandler, WSGIRequest -from django.http import HttpRequest -from django.http.response import HttpResponseBase - -class StaticFilesHandlerMixin: - handles_files: bool = ... - application: BaseHandler - base_url: ParseResult - def load_middleware(self) -> None: ... - def get_base_url(self) -> str: ... - def _should_handle(self, path: str) -> bool: ... - def file_path(self, url: str) -> str: ... - def serve(self, request: HttpRequest) -> HttpResponseBase: ... - def get_response(self, request: HttpRequest) -> HttpResponseBase: ... - async def get_response_async(self, request: HttpRequest) -> HttpResponseBase: ... - -class StaticFilesHandler(StaticFilesHandlerMixin, WSGIHandler): # type: ignore - application: WSGIHandler - base_url: ParseResult - def __init__(self, application: WSGIHandler) -> None: ... - def __call__( - self, - environ: Dict[str, Any], - start_response: Callable[[str, Sequence[Tuple[str, str]]], None], - ) -> HttpResponseBase: ... - -class ASGIStaticFilesHandler(StaticFilesHandlerMixin, ASGIHandler): # type: ignore - application: ASGIHandler - base_url: ParseResult - def __init__(self, application: ASGIHandler) -> None: ... - async def __call__( - self, - scope: Dict[str, Any], - receive: Callable[[], Awaitable[Mapping[str, Any]]], - send: Callable[[Mapping[str, Any]], Awaitable[None]], - ) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/management/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/management/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/management/commands/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/management/commands/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/management/commands/collectstatic.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/management/commands/collectstatic.pyi deleted file mode 100644 index aca78077..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/management/commands/collectstatic.pyi +++ /dev/null @@ -1,29 +0,0 @@ -from typing import Any, Dict, List - -from django.core.files.storage import Storage -from django.core.management.base import BaseCommand - -class Command(BaseCommand): - copied_files: Any = ... - symlinked_files: Any = ... - unmodified_files: Any = ... - post_processed_files: Any = ... - storage: Any = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - @property - def local(self) -> bool: ... - interactive: Any = ... - verbosity: Any = ... - symlink: Any = ... - clear: Any = ... - dry_run: Any = ... - ignore_patterns: Any = ... - post_process: Any = ... - def set_options(self, **options: Any) -> None: ... - def collect(self) -> Dict[str, List[str]]: ... - def log(self, msg: str, level: int = ...) -> None: ... - def is_local_storage(self) -> bool: ... - def clear_dir(self, path: str) -> None: ... - def delete_file(self, path: str, prefixed_path: str, source_storage: Storage) -> bool: ... - def link_file(self, path: str, prefixed_path: str, source_storage: Storage) -> None: ... - def copy_file(self, path: str, prefixed_path: str, source_storage: Storage) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/management/commands/findstatic.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/management/commands/findstatic.pyi deleted file mode 100644 index be61bcbc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/management/commands/findstatic.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.core.management.base import LabelCommand - -class Command(LabelCommand): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/management/commands/runserver.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/management/commands/runserver.pyi deleted file mode 100644 index 6be2de8c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/management/commands/runserver.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.core.management.commands.runserver import Command as RunserverCommand - -class Command(RunserverCommand): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/storage.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/storage.pyi deleted file mode 100644 index 17e81b35..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/storage.pyi +++ /dev/null @@ -1,49 +0,0 @@ -from typing import Any, Callable, Dict, Iterator, Optional, Tuple, Union - -from django.core.files.base import File -from django.core.files.storage import FileSystemStorage, Storage -from django.utils._os import _PathCompatible -from django.utils.functional import LazyObject - -_PostProcessT = Iterator[Union[Tuple[str, str, bool], Tuple[str, None, RuntimeError]]] - -class StaticFilesStorage(FileSystemStorage): - base_location: str - location: _PathCompatible - def __init__( - self, location: Optional[_PathCompatible] = ..., base_url: Optional[str] = ..., *args: Any, **kwargs: Any - ) -> None: ... - def path(self, name: _PathCompatible) -> str: ... - -class HashedFilesMixin: - default_template: str = ... - max_post_process_passes: int = ... - patterns: Any = ... - hashed_files: Any = ... - keep_intermediate_files: bool = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def file_hash(self, name: str, content: File = ...) -> str: ... - def hashed_name(self, name: str, content: Optional[File] = ..., filename: Optional[str] = ...) -> str: ... - def url(self, name: str, force: bool = ...) -> str: ... - def url_converter(self, name: str, hashed_files: Dict[str, Any], template: str = ...) -> Callable: ... - def post_process(self, paths: Dict[str, Any], dry_run: bool = ..., **options: Any) -> _PostProcessT: ... - def clean_name(self, name: str) -> str: ... - def hash_key(self, name: str) -> str: ... - def stored_name(self, name: str) -> str: ... - -class ManifestFilesMixin(HashedFilesMixin): - manifest_version: str = ... - manifest_name: str = ... - manifest_strict: bool = ... - keep_intermediate_files: bool = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def read_manifest(self) -> str: ... - def load_manifest(self) -> Dict[str, Any]: ... - def save_manifest(self) -> None: ... - def post_process(self, *args: Any, **kwargs: Any) -> _PostProcessT: ... - def stored_name(self, name: str) -> str: ... - -class ManifestStaticFilesStorage(ManifestFilesMixin, StaticFilesStorage): ... # type: ignore -class ConfiguredStorage(LazyObject): ... - -staticfiles_storage: Storage diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/testing.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/testing.pyi deleted file mode 100644 index a4048200..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/testing.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import LiveServerTestCase - -class StaticLiveServerTestCase(LiveServerTestCase): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/urls.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/urls.pyi deleted file mode 100644 index 3070976c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/urls.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import Any, List, Optional - -from django.urls.resolvers import URLPattern - -urlpatterns: List[Any] = ... - -def staticfiles_urlpatterns(prefix: Optional[str] = ...) -> List[URLPattern]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/utils.pyi deleted file mode 100644 index 2151662b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/utils.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from typing import Iterable, Iterator, Optional - -from django.core.files.storage import Storage - -def matches_patterns(path: str, patterns: Iterable[str]) -> bool: ... -def get_files( - storage: Storage, ignore_patterns: Optional[Iterable[str]] = ..., location: str = ... -) -> Iterator[str]: ... -def check_settings(base_url: Optional[str] = ...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/views.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/views.pyi deleted file mode 100644 index 59767a55..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/staticfiles/views.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any - -from django.http.request import HttpRequest -from django.http.response import HttpResponseBase - -def serve(request: HttpRequest, path: str, insecure: bool = ..., **kwargs: Any) -> HttpResponseBase: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/syndication/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/syndication/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/syndication/apps.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/syndication/apps.pyi deleted file mode 100644 index 02957117..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/syndication/apps.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import Any - -from django.apps import AppConfig as AppConfig - -class SyndicationConfig(AppConfig): - name: str = ... - verbose_name: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/syndication/views.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/syndication/views.pyi deleted file mode 100644 index f48e2c0a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/contrib/syndication/views.pyi +++ /dev/null @@ -1,57 +0,0 @@ -from typing import Any, Dict, Generic, List, Optional, Type, TypeVar - -from django.core.exceptions import ObjectDoesNotExist -from django.db.models import Model -from django.http.request import HttpRequest -from django.http.response import HttpResponse -from django.utils.feedgenerator import Enclosure, SyndicationFeed - -def add_domain(domain: str, url: str, secure: bool = ...) -> str: ... - -class FeedDoesNotExist(ObjectDoesNotExist): ... - -_Item = TypeVar("_Item", bound=Model) -_Object = TypeVar("_Object") - -class Feed(Generic[_Item, _Object]): - feed_type: Type[SyndicationFeed] = ... - title_template: Optional[str] = ... - description_template: Optional[str] = ... - language: Optional[str] = ... - - # Dynamic attributes: - title: Any - link: Any - feed_url: Any - feed_guid: Any - description: Any - author_name: Any - author_email: Any - author_link: Any - categories: Any - feed_copyright: Any - ttl: Any - items: Any - item_guid: Any - item_guid_is_permalink: Any - item_author_name: Any - item_author_email: Any - item_author_link: Any - item_enclosure_url: Any - item_enclosure_length: Any - item_enclosure_mime_type: Any - item_pubdate: Any - item_updateddate: Any - item_categories: Any - item_copyright: Any - item_comments: Any - def __call__(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ... - def get_object(self, request: HttpRequest, *args: Any, **kwargs: Any) -> Optional[_Object]: ... - def feed_extra_kwargs(self, obj: _Object) -> Dict[Any, Any]: ... - def item_extra_kwargs(self, item: _Item) -> Dict[Any, Any]: ... - def get_context_data(self, **kwargs: Any) -> Dict[str, Any]: ... - def get_feed(self, obj: _Object, request: HttpRequest) -> SyndicationFeed: ... - def item_title(self, item: _Item) -> str: ... - def item_description(self, item: _Item) -> str: ... - def item_link(self, item: _Item) -> str: ... - def item_enclosures(self, item: _Item) -> List[Enclosure]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/asgi.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/asgi.pyi deleted file mode 100644 index 9641fa83..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/asgi.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.core.handlers.asgi import ASGIHandler - -def get_asgi_application() -> ASGIHandler: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/__init__.pyi deleted file mode 100644 index 3cc35b68..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/__init__.pyi +++ /dev/null @@ -1,20 +0,0 @@ -from typing import Any, Type - -from django.utils.connection import BaseConnectionHandler, ConnectionProxy - -from .backends.base import BaseCache as BaseCache -from .backends.base import CacheKeyWarning as CacheKeyWarning -from .backends.base import InvalidCacheBackendError as InvalidCacheBackendError - -DEFAULT_CACHE_ALIAS: str - -class CacheHandler(BaseConnectionHandler): - settings_name: str = ... - exception_class: Type[Exception] = ... - def create_connection(self, alias: str) -> BaseCache: ... - def all(self, initialized_only: bool = ...): ... - -def close_caches(**kwargs: Any) -> None: ... - -cache: ConnectionProxy -caches: CacheHandler diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/base.pyi deleted file mode 100644 index 2874d0f9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/base.pyi +++ /dev/null @@ -1,41 +0,0 @@ -from typing import Any, Callable, Dict, Iterable, List, Optional, Union - -from django.core.exceptions import ImproperlyConfigured - -class InvalidCacheBackendError(ImproperlyConfigured): ... -class CacheKeyWarning(RuntimeWarning): ... - -DEFAULT_TIMEOUT: Any -MEMCACHE_MAX_KEY_LENGTH: int - -def default_key_func(key: Any, key_prefix: str, version: Any) -> str: ... -def get_key_func(key_func: Optional[Union[Callable, str]]) -> Callable: ... - -class BaseCache: - default_timeout: int = ... - key_prefix: str = ... - version: int = ... - key_func: Callable = ... - def __init__(self, params: Dict[str, Any]) -> None: ... - def get_backend_timeout(self, timeout: Any = ...) -> Optional[float]: ... - def make_key(self, key: Any, version: Optional[Any] = ...) -> str: ... - def add(self, key: Any, value: Any, timeout: Any = ..., version: Optional[Any] = ...) -> bool: ... - def get(self, key: Any, default: Optional[Any] = ..., version: Optional[Any] = ...) -> Any: ... - def set(self, key: Any, value: Any, timeout: Any = ..., version: Optional[Any] = ...) -> None: ... - def touch(self, key: Any, timeout: Any = ..., version: Optional[Any] = ...) -> bool: ... - def delete(self, key: Any, version: Optional[Any] = ...) -> None: ... - def get_many(self, keys: Iterable[Any], version: Optional[int] = ...) -> Dict[Any, Any]: ... - def get_or_set( - self, key: Any, default: Optional[Any], timeout: Any = ..., version: Optional[int] = ... - ) -> Optional[Any]: ... - def has_key(self, key: Any, version: Optional[Any] = ...) -> bool: ... - def incr(self, key: Any, delta: int = ..., version: Optional[int] = ...) -> int: ... - def decr(self, key: Any, delta: int = ..., version: Optional[int] = ...) -> int: ... - def __contains__(self, key: Any) -> bool: ... - def set_many(self, data: Dict[Any, Any], timeout: Any = ..., version: Optional[Any] = ...) -> List[Any]: ... - def delete_many(self, keys: Iterable[Any], version: Optional[Any] = ...) -> None: ... - def clear(self) -> None: ... - def validate_key(self, key: Any) -> None: ... - def incr_version(self, key: Any, delta: int = ..., version: Optional[int] = ...) -> int: ... - def decr_version(self, key: Any, delta: int = ..., version: Optional[int] = ...) -> int: ... - def close(self, **kwargs: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/db.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/db.pyi deleted file mode 100644 index 82fb34a7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/db.pyi +++ /dev/null @@ -1,22 +0,0 @@ -from typing import Any, Dict - -from django.core.cache.backends.base import BaseCache - -class Options: - db_table: str = ... - app_label: str = ... - model_name: str = ... - verbose_name: str = ... - verbose_name_plural: str = ... - object_name: str = ... - abstract: bool = ... - managed: bool = ... - proxy: bool = ... - swapped: bool = ... - def __init__(self, table: str) -> None: ... - -class BaseDatabaseCache(BaseCache): - cache_model_class: Any = ... - def __init__(self, table: str, params: Dict[str, Any]) -> None: ... - -class DatabaseCache(BaseDatabaseCache): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/dummy.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/dummy.pyi deleted file mode 100644 index 8984faad..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/dummy.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any - -from django.core.cache.backends.base import BaseCache - -class DummyCache(BaseCache): - def __init__(self, host: str, *args: Any, **kwargs: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/filebased.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/filebased.pyi deleted file mode 100644 index f8e0e156..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/filebased.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import Any, Dict - -from django.core.cache.backends.base import BaseCache - -class FileBasedCache(BaseCache): - cache_suffix: str = ... - def __init__(self, dir: str, params: Dict[str, Any]) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/locmem.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/locmem.pyi deleted file mode 100644 index ee9d3686..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/locmem.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any, Dict - -from django.core.cache.backends.base import BaseCache - -class LocMemCache(BaseCache): - def __init__(self, name: str, params: Dict[str, Any]) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/memcached.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/memcached.pyi deleted file mode 100644 index ef875a26..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/backends/memcached.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from django.core.cache.backends.base import BaseCache - -class BaseMemcachedCache(BaseCache): - def __init__(self, server, params, library, value_not_found_exception) -> None: ... - -class MemcachedCache(BaseMemcachedCache): - def __init__(self, server, params): ... - -class PyLibMCCache(BaseMemcachedCache): - def __init__(self, server, params): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/utils.pyi deleted file mode 100644 index 76df1195..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/cache/utils.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from typing import Any, Iterable, Optional - -TEMPLATE_FRAGMENT_KEY_TEMPLATE: str - -def make_template_fragment_key(fragment_name: str, vary_on: Optional[Iterable[Any]] = ...) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/__init__.pyi deleted file mode 100644 index 69626e9d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/__init__.pyi +++ /dev/null @@ -1,16 +0,0 @@ -from . import model_checks as model_checks -from .messages import CRITICAL as CRITICAL -from .messages import DEBUG as DEBUG -from .messages import ERROR as ERROR -from .messages import INFO as INFO -from .messages import WARNING as WARNING -from .messages import CheckMessage as CheckMessage -from .messages import Critical as Critical -from .messages import Debug as Debug -from .messages import Error as Error -from .messages import Info as Info -from .messages import Warning as Warning -from .registry import Tags as Tags -from .registry import register as register -from .registry import run_checks as run_checks -from .registry import tag_exists as tag_exists diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/async_checks.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/async_checks.pyi deleted file mode 100644 index 9b32ba0e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/async_checks.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Any, Optional, Sequence - -from django.apps.config import AppConfig -from django.core.checks.messages import Error - -E001: Error - -def check_async_unsafe(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Error]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/caches.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/caches.pyi deleted file mode 100644 index 63ee3d85..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/caches.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from typing import Any, Optional, Sequence - -from django.apps.config import AppConfig -from django.core.checks.messages import Error, Warning - -E001: Error - -def check_default_cache_is_configured(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Error]: ... -def check_cache_location_not_exposed( - app_configs: Optional[Sequence[AppConfig]], **kwargs: Any -) -> Sequence[Warning]: ... -def check_file_based_cache_is_absolute( - app_configs: Optional[Sequence[AppConfig]], **kwargs: Any -) -> Sequence[Warning]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/compatibility/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/compatibility/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/database.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/database.pyi deleted file mode 100644 index 18f5b5ca..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/database.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from typing import Any, Iterable, Optional, Sequence - -from django.core.checks import CheckMessage - -def check_database_backends(databases: Optional[Iterable[str]] = ..., **kwargs: Any) -> Sequence[CheckMessage]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/messages.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/messages.pyi deleted file mode 100644 index f7aec386..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/messages.pyi +++ /dev/null @@ -1,34 +0,0 @@ -from typing import Any, Optional - -DEBUG: int -INFO: int -WARNING: int -ERROR: int -CRITICAL: int - -class CheckMessage: - level: int = ... - msg: str = ... - hint: Optional[str] = ... - obj: Any = ... - id: Optional[str] = ... - def __init__( - self, level: int, msg: str, hint: Optional[str] = ..., obj: Any = ..., id: Optional[str] = ... - ) -> None: ... - def is_serious(self, level: int = ...) -> bool: ... - def is_silenced(self) -> bool: ... - -class Debug(CheckMessage): - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - -class Info(CheckMessage): - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - -class Warning(CheckMessage): - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - -class Error(CheckMessage): - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - -class Critical(CheckMessage): - def __init__(self, *args: Any, **kwargs: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/model_checks.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/model_checks.pyi deleted file mode 100644 index a8c80364..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/model_checks.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from typing import Any, Optional, Sequence - -from django.apps.config import AppConfig -from django.core.checks.messages import CheckMessage - -def check_all_models(app_configs: Optional[Sequence[AppConfig]] = ..., **kwargs: Any) -> Sequence[CheckMessage]: ... -def check_lazy_references( - app_configs: Optional[Sequence[AppConfig]] = ..., **kwargs: Any -) -> Sequence[CheckMessage]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/registry.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/registry.pyi deleted file mode 100644 index 2bb9e4d7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/registry.pyi +++ /dev/null @@ -1,54 +0,0 @@ -import sys -from typing import Any, Callable, List, Optional, Sequence, Set, TypeVar, Union - -from django.apps.config import AppConfig -from django.core.checks.messages import CheckMessage - -if sys.version_info < (3, 8): - from typing_extensions import Protocol -else: - from typing import Protocol - -class Tags: - admin: str = ... - caches: str = ... - compatibility: str = ... - database: str = ... - models: str = ... - security: str = ... - signals: str = ... - sites: str = ... - staticfiles: str = ... - templates: str = ... - translation: str = ... - urls: str = ... - -_CheckCallable = Callable[..., Sequence[CheckMessage]] -_C = TypeVar("_C", bound=_CheckCallable) - -class _ProcessedCheckCallable(Protocol[_C]): - tags: Sequence[str] - __call__: _C - -class CheckRegistry: - registered_checks: Set[_ProcessedCheckCallable] = ... - deployment_checks: Set[_ProcessedCheckCallable] = ... - def __init__(self) -> None: ... - def register( - self, check: Optional[Union[_CheckCallable, str]] = ..., *tags: str, **kwargs: Any - ) -> Union[Callable[[_CheckCallable], _ProcessedCheckCallable], _ProcessedCheckCallable]: ... - def run_checks( - self, - app_configs: Optional[Sequence[AppConfig]] = ..., - tags: Optional[Sequence[str]] = ..., - include_deployment_checks: bool = ..., - databases: Optional[Any] = ..., - ) -> List[CheckMessage]: ... - def tag_exists(self, tag: str, include_deployment_checks: bool = ...) -> bool: ... - def tags_available(self, deployment_checks: bool = ...) -> Set[str]: ... - def get_checks(self, include_deployment_checks: bool = ...) -> List[_ProcessedCheckCallable]: ... - -registry: CheckRegistry = ... -register: Any = ... -run_checks: Any = ... -tag_exists: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/security/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/security/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/security/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/security/base.pyi deleted file mode 100644 index 994c7e19..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/security/base.pyi +++ /dev/null @@ -1,36 +0,0 @@ -from typing import Any, Optional, Sequence - -from django.apps.config import AppConfig -from django.core.checks.messages import CheckMessage, Error, Warning - -SECRET_KEY_MIN_LENGTH: int -SECRET_KEY_MIN_UNIQUE_CHARACTERS: int -W001: Warning -W002: Warning -W004: Warning -W005: Warning -W006: Warning -W007: Warning -W008: Warning -W009: Warning -W018: Warning -W019: Warning -W020: Warning -W021: Warning -W022: Warning -E023: Error -E100: Error - -def check_security_middleware(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Warning]: ... -def check_xframe_options_middleware(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Warning]: ... -def check_sts(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Warning]: ... -def check_sts_include_subdomains(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Warning]: ... -def check_sts_preload(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Warning]: ... -def check_content_type_nosniff(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Warning]: ... -def check_ssl_redirect(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Warning]: ... -def check_secret_key(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Warning]: ... -def check_debug(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Warning]: ... -def check_xframe_deny(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Warning]: ... -def check_allowed_hosts(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Warning]: ... -def check_referrer_policy(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[CheckMessage]: ... -def check_default_hashing_algorithm(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Error]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/security/csrf.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/security/csrf.pyi deleted file mode 100644 index fabad5bc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/security/csrf.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any, Optional, Sequence - -from django.apps.config import AppConfig -from django.core.checks.messages import Warning - -W003: Warning -W016: Warning - -def check_csrf_middleware(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Warning]: ... -def check_csrf_cookie_secure(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Warning]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/security/sessions.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/security/sessions.pyi deleted file mode 100644 index 18e9cc9a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/security/sessions.pyi +++ /dev/null @@ -1,19 +0,0 @@ -from typing import Any, Optional, Sequence - -from django.apps.config import AppConfig -from django.core.checks.messages import Warning - -def add_session_cookie_message(message: str) -> str: ... - -W010: Warning -W011: Warning -W012: Warning - -def add_httponly_message(message: str) -> str: ... - -W013: Warning -W014: Warning -W015: Warning - -def check_session_cookie_secure(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Warning]: ... -def check_session_cookie_httponly(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Warning]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/templates.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/templates.pyi deleted file mode 100644 index c018c737..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/templates.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any, Optional, Sequence - -from django.apps.config import AppConfig -from django.core.checks.messages import Error - -E001: Error -E002: Error - -def check_setting_app_dirs_loaders(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Error]: ... -def check_string_if_invalid_is_string(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Error]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/translation.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/translation.pyi deleted file mode 100644 index 20b4849b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/translation.pyi +++ /dev/null @@ -1,17 +0,0 @@ -from typing import Any, Optional, Sequence - -from django.apps.config import AppConfig - -from . import Error - -E001: Error = ... -E002: Error = ... -E003: Error = ... -E004: Error = ... - -def check_setting_language_code(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Error]: ... -def check_setting_languages(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Error]: ... -def check_setting_languages_bidi(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Error]: ... -def check_language_settings_consistent( - app_configs: Optional[Sequence[AppConfig]], **kwargs: Any -) -> Sequence[Error]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/urls.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/urls.pyi deleted file mode 100644 index 8565eabc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/checks/urls.pyi +++ /dev/null @@ -1,12 +0,0 @@ -from typing import Any, Optional, Sequence, Union - -from django.apps.config import AppConfig -from django.core.checks.messages import CheckMessage, Error, Warning -from django.urls.resolvers import URLPattern, URLResolver - -def check_url_config(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[CheckMessage]: ... -def check_resolver(resolver: Union[URLPattern, URLResolver]) -> Sequence[CheckMessage]: ... -def check_url_namespaces_unique(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Warning]: ... -def get_warning_for_invalid_pattern(pattern: Any) -> Sequence[Error]: ... -def check_url_settings(app_configs: Optional[Sequence[AppConfig]], **kwargs: Any) -> Sequence[Error]: ... -def E006(name: str) -> Error: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/exceptions.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/exceptions.pyi deleted file mode 100644 index 025e32a9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/exceptions.pyi +++ /dev/null @@ -1,67 +0,0 @@ -import sys -from typing import Any, Dict, Iterator, List, Optional, Tuple, Union - -from django.forms.utils import ErrorDict - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -class FieldDoesNotExist(Exception): ... -class AppRegistryNotReady(Exception): ... - -class ObjectDoesNotExist(Exception): - silent_variable_failure: bool = ... - -class MultipleObjectsReturned(Exception): ... -class SuspiciousOperation(Exception): ... -class SuspiciousMultipartForm(SuspiciousOperation): ... -class SuspiciousFileOperation(SuspiciousOperation): ... -class DisallowedHost(SuspiciousOperation): ... -class DisallowedRedirect(SuspiciousOperation): ... -class TooManyFieldsSent(SuspiciousOperation): ... -class RequestDataTooBig(SuspiciousOperation): ... -class RequestAborted(Exception): ... -class BadRequest(Exception): ... -class PermissionDenied(Exception): ... -class ViewDoesNotExist(Exception): ... -class MiddlewareNotUsed(Exception): ... -class ImproperlyConfigured(Exception): ... -class FieldError(Exception): ... - -NON_FIELD_ERRORS: Literal["__all__"] = ... - -_MsgTypeBase = Union[str, ValidationError] -# Yeah, it's really ugly, but __init__ checks with isinstance() -_MsgType = Union[ - _MsgTypeBase, - Dict[str, _MsgTypeBase], - List[_MsgTypeBase], - Dict[str, str], - Dict[str, ValidationError], - List[str], - List[ValidationError], -] - -class ValidationError(Exception): - error_dict: Dict[str, List[ValidationError]] = ... - error_list: List[ValidationError] = ... - message: str = ... - code: Optional[str] = ... - params: Optional[Dict[str, Any]] = ... - def __init__( - self, - message: _MsgType, - code: Optional[str] = ..., - params: Optional[Dict[str, Any]] = ..., - ) -> None: ... - @property - def message_dict(self) -> Optional[Dict[str, List[str]]]: ... - @property - def messages(self) -> List[str]: ... - def update_error_dict(self, error_dict: Dict[str, List[ValidationError]]) -> Dict[str, List[ValidationError]]: ... - def __iter__(self) -> Iterator[Union[Tuple[str, List[str]], str]]: ... - -class EmptyResultSet(Exception): ... -class SynchronousOnlyOperation(Exception): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/__init__.pyi deleted file mode 100644 index af01506f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/__init__.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.core.files.base import File as File - -__all__ = ["File"] diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/base.pyi deleted file mode 100644 index 24cae1c0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/base.pyi +++ /dev/null @@ -1,48 +0,0 @@ -import os -import types -from typing import IO, AnyStr, Iterator, Optional, Type, TypeVar, Union, type_check_only - -from django.core.files.utils import FileProxyMixin - -_T = TypeVar("_T", bound="File") - -class File(FileProxyMixin[AnyStr], IO[AnyStr]): - DEFAULT_CHUNK_SIZE: int = ... - file: Optional[IO[AnyStr]] = ... - name: Optional[str] = ... # type: ignore[assignment] - mode: str = ... - def __init__(self, file: Optional[IO[AnyStr]], name: Optional[str] = ...) -> None: ... - def __str__(self) -> str: ... - def __repr__(self) -> str: ... - def __bool__(self) -> bool: ... - def __len__(self) -> int: ... - @property - def size(self) -> int: ... - def chunks(self, chunk_size: Optional[int] = ...) -> Iterator[AnyStr]: ... - def multiple_chunks(self, chunk_size: Optional[int] = ...) -> Optional[bool]: ... - def __iter__(self) -> Iterator[AnyStr]: ... - def __enter__(self: _T) -> _T: ... - def __exit__( - self, - exc_type: Optional[Type[BaseException]], - exc_value: Optional[BaseException], - tb: Optional[types.TracebackType], - ) -> None: ... - def open(self: _T, mode: Optional[str] = ...) -> _T: ... - def close(self) -> None: ... - @type_check_only - def __next__(self) -> AnyStr: ... - -class ContentFile(File[AnyStr]): - file: IO[AnyStr] - size: int = ... - def __init__(self, content: AnyStr, name: Optional[str] = ...) -> None: ... - def __str__(self) -> str: ... - def __bool__(self) -> bool: ... - def open(self: _T, mode: Optional[str] = ...) -> _T: ... - def close(self) -> None: ... - def write(self, data: AnyStr) -> int: ... - -def endswith_cr(line: Union[bytes, str]) -> bool: ... -def endswith_lf(line: Union[bytes, str]) -> bool: ... -def equals_lf(line: Union[bytes, str]) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/images.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/images.pyi deleted file mode 100644 index 5afb8478..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/images.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from typing import IO, Optional, Tuple, Union - -from django.core.files import File -from django.utils._os import _PathCompatible - -class ImageFile(File[bytes]): - @property - def width(self) -> int: ... - @property - def height(self) -> int: ... - -def get_image_dimensions( - file_or_path: Union[_PathCompatible, IO[bytes]], close: bool = ... -) -> Tuple[Optional[int], Optional[int]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/locks.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/locks.pyi deleted file mode 100644 index 768114f5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/locks.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from ctypes import Structure, Union -from typing import Any - -LOCK_SH: int -LOCK_NB: int -LOCK_EX: int -ULONG_PTR: Any = ... -PVOID: Any = ... - -class _OFFSET(Structure): ... -class _OFFSET_UNION(Union): ... -class OVERLAPPED(Structure): ... - -def lock(f: Any, flags: int) -> bool: ... -def unlock(f: Any) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/move.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/move.pyi deleted file mode 100644 index bdbfd17f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/move.pyi +++ /dev/null @@ -1,3 +0,0 @@ -def file_move_safe( - old_file_name: str, new_file_name: str, chunk_size: int = ..., allow_overwrite: bool = ... -) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/storage.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/storage.pyi deleted file mode 100644 index f116e463..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/storage.pyi +++ /dev/null @@ -1,49 +0,0 @@ -from datetime import datetime -from typing import IO, Any, List, Optional, Tuple, Type - -from django.core.files.base import File -from django.utils._os import _PathCompatible -from django.utils.functional import LazyObject - -class Storage: - def open(self, name: str, mode: str = ...) -> File: ... - def save(self, name: Optional[str], content: IO[Any], max_length: Optional[int] = ...) -> str: ... - def get_valid_name(self, name: str) -> str: ... - def get_alternative_name(self, file_root: str, file_ext: str) -> str: ... - def get_available_name(self, name: str, max_length: Optional[int] = ...) -> str: ... - def generate_filename(self, filename: _PathCompatible) -> str: ... - def path(self, name: str) -> str: ... - def delete(self, name: str) -> None: ... - def exists(self, name: str) -> bool: ... - def listdir(self, path: str) -> Tuple[List[str], List[str]]: ... - def size(self, name: str) -> int: ... - def url(self, name: Optional[str]) -> str: ... - def get_accessed_time(self, name: str) -> datetime: ... - def get_created_time(self, name: str) -> datetime: ... - def get_modified_time(self, name: str) -> datetime: ... - -class FileSystemStorage(Storage): - OS_OPEN_FLAGS: int = ... - def __init__( - self, - location: Optional[_PathCompatible] = ..., - base_url: Optional[str] = ..., - file_permissions_mode: Optional[int] = ..., - directory_permissions_mode: Optional[int] = ..., - ) -> None: ... - @property - def base_location(self) -> _PathCompatible: ... - @property - def location(self) -> _PathCompatible: ... - @property - def base_url(self) -> str: ... - @property - def file_permissions_mode(self) -> Optional[int]: ... - @property - def directory_permissions_mode(self) -> Optional[int]: ... - -class DefaultStorage(LazyObject): ... - -default_storage: Any - -def get_storage_class(import_path: Optional[str] = ...) -> Type[Storage]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/temp.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/temp.pyi deleted file mode 100644 index 9439e13a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/temp.pyi +++ /dev/null @@ -1,5 +0,0 @@ -import tempfile - -NamedTemporaryFile = tempfile.NamedTemporaryFile - -gettempdir = tempfile.gettempdir diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/uploadedfile.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/uploadedfile.pyi deleted file mode 100644 index cee170d4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/uploadedfile.pyi +++ /dev/null @@ -1,50 +0,0 @@ -from typing import IO, Dict, Optional, Type, TypeVar, Union - -from django.core.files.base import File - -class UploadedFile(File): - content_type: Optional[str] = ... - charset: Optional[str] = ... - content_type_extra: Optional[Dict[str, str]] = ... - size: Optional[int] # type: ignore[assignment] - name: Optional[str] - def __init__( - self, - file: Optional[IO] = ..., - name: Optional[str] = ..., - content_type: Optional[str] = ..., - size: Optional[int] = ..., - charset: Optional[str] = ..., - content_type_extra: Optional[Dict[str, str]] = ..., - ) -> None: ... - -class TemporaryUploadedFile(UploadedFile): - def __init__( - self, - name: str, - content_type: Optional[str], - size: Optional[int], - charset: Optional[str], - content_type_extra: Optional[Dict[str, str]] = ..., - ) -> None: ... - def temporary_file_path(self) -> str: ... - -class InMemoryUploadedFile(UploadedFile): - field_name: Optional[str] = ... - def __init__( - self, - file: IO, - field_name: Optional[str], - name: Optional[str], - content_type: Optional[str], - size: Optional[int], - charset: Optional[str], - content_type_extra: Dict[str, str] = ..., - ) -> None: ... - -_C = TypeVar("_C", bound="SimpleUploadedFile") - -class SimpleUploadedFile(InMemoryUploadedFile): - def __init__(self, name: str, content: Optional[bytes], content_type: str = ...) -> None: ... - @classmethod - def from_dict(cls: Type[_C], file_dict: Dict[str, Union[str, bytes]]) -> _C: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/uploadhandler.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/uploadhandler.pyi deleted file mode 100644 index 855d7f0c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/uploadhandler.pyi +++ /dev/null @@ -1,89 +0,0 @@ -# Stubs for django.core.files.uploadhandler (Python 3.5) - -from typing import IO, Any, Dict, Optional, Tuple - -from django.core.files.uploadedfile import TemporaryUploadedFile, UploadedFile -from django.http.request import HttpRequest, QueryDict -from django.utils.datastructures import MultiValueDict - -class UploadFileException(Exception): ... - -class StopUpload(UploadFileException): - connection_reset: bool = ... - def __init__(self, connection_reset: bool = ...) -> None: ... - def __str__(self) -> str: ... - -class SkipFile(UploadFileException): ... -class StopFutureHandlers(UploadFileException): ... - -class FileUploadHandler: - chunk_size: int = ... - file_name: Optional[str] = ... - content_type: Optional[str] = ... - content_length: Optional[int] = ... - charset: Optional[str] = ... - content_type_extra: Optional[Dict[str, str]] = ... - request: Optional[HttpRequest] = ... - field_name: str = ... - def __init__(self, request: Optional[HttpRequest] = ...) -> None: ... - def handle_raw_input( - self, - input_data: IO[bytes], - META: Dict[str, str], - content_length: int, - boundary: str, - encoding: Optional[str] = ..., - ) -> Optional[Tuple[QueryDict, MultiValueDict[str, UploadedFile]]]: ... - def new_file( - self, - field_name: str, - file_name: str, - content_type: str, - content_length: Optional[int], - charset: Optional[str] = ..., - content_type_extra: Optional[Dict[str, str]] = ..., - ) -> None: ... - def receive_data_chunk(self, raw_data: bytes, start: int) -> Optional[bytes]: ... - def file_complete(self, file_size: int) -> Optional[UploadedFile]: ... - def upload_complete(self) -> None: ... - def upload_interrupted(self) -> None: ... - -class TemporaryFileUploadHandler(FileUploadHandler): - file: TemporaryUploadedFile = ... - def new_file( - self, - field_name: str, - file_name: str, - content_type: str, - content_length: Optional[int], - charset: Optional[str] = ..., - content_type_extra: Optional[Dict[str, str]] = ..., - ) -> None: ... - def receive_data_chunk(self, raw_data: bytes, start: int) -> Optional[bytes]: ... - def file_complete(self, file_size: int) -> Optional[UploadedFile]: ... - def upload_interrupted(self) -> None: ... - -class MemoryFileUploadHandler(FileUploadHandler): - activated: bool = ... - file: IO[bytes] = ... - def handle_raw_input( - self, - input_data: IO[bytes], - META: Dict[str, str], - content_length: int, - boundary: str, - encoding: Optional[str] = ..., - ) -> Optional[Tuple[QueryDict, MultiValueDict[str, UploadedFile]]]: ... - def new_file( - self, - field_name: str, - file_name: str, - content_type: str, - content_length: Optional[int], - charset: Optional[str] = ..., - content_type_extra: Optional[Dict[str, str]] = ..., - ) -> None: ... - def receive_data_chunk(self, raw_data: bytes, start: int) -> Optional[bytes]: ... - def file_complete(self, file_size: int) -> Optional[UploadedFile]: ... - -def load_handler(path: str, *args: Any, **kwargs: Any) -> FileUploadHandler: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/utils.pyi deleted file mode 100644 index 4d18021f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/files/utils.pyi +++ /dev/null @@ -1,28 +0,0 @@ -from typing import IO, Any, AnyStr, Generic, Iterator, Optional - -from django.utils._os import _PathCompatible - -def validate_file_name(name: _PathCompatible, allow_relative_path: bool = ...) -> _PathCompatible: ... - -class FileProxyMixin(Generic[AnyStr]): - file: Optional[IO[AnyStr]] - encoding: Any = ... - fileno: Any = ... - flush: Any = ... - isatty: Any = ... - newlines: Any = ... - read: Any = ... - readinto: Any = ... - readline: Any = ... - readlines: Any = ... - seek: Any = ... - tell: Any = ... - truncate: Any = ... - write: Any = ... - writelines: Any = ... - @property - def closed(self) -> bool: ... - def readable(self) -> bool: ... - def writable(self) -> bool: ... - def seekable(self) -> bool: ... - def __iter__(self) -> Iterator[AnyStr]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/asgi.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/asgi.pyi deleted file mode 100644 index 841101ef..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/asgi.pyi +++ /dev/null @@ -1,65 +0,0 @@ -from typing import ( - IO, - Any, - Awaitable, - Callable, - Dict, - Iterator, - Mapping, - Optional, - Sequence, - Tuple, - Type, - TypeVar, - Union, -) - -from django.core.handlers import base as base -from django.http import HttpRequest, QueryDict -from django.http.response import HttpResponseBase -from django.urls.resolvers import ResolverMatch, URLResolver -from django.utils.datastructures import MultiValueDict - -_ReceiveCallback = Callable[[], Awaitable[Mapping[str, Any]]] -_SendCallback = Callable[[Mapping[str, Any]], Awaitable[None]] - -class ASGIRequest(HttpRequest): - body_receive_timeout: int = ... - scope: Mapping[str, Any] = ... - resolver_match: Optional[ResolverMatch] = ... - script_name: Optional[str] = ... - path_info: str = ... - path: str = ... - method: str = ... - META: Dict[str, Any] = ... - def __init__(self, scope: Mapping[str, Any], body_file: IO[bytes]) -> None: ... - @property - def GET(self) -> QueryDict: ... # type: ignore - POST: QueryDict = ... - FILES: MultiValueDict = ... - @property - def COOKIES(self) -> Dict[str, str]: ... # type: ignore - -_T = TypeVar("_T") - -class ASGIHandler(base.BaseHandler): - request_class: Type[ASGIRequest] = ... - chunk_size: int = ... - def __init__(self) -> None: ... - async def __call__( - self, - scope: Dict[str, Any], - receive: _ReceiveCallback, - send: _SendCallback, - ) -> None: ... - async def read_body(self, receive: _ReceiveCallback) -> IO[bytes]: ... - def create_request( - self, scope: Mapping[str, Any], body_file: IO[bytes] - ) -> Union[Tuple[ASGIRequest, None], Tuple[None, HttpResponseBase]]: ... - def handle_uncaught_exception( - self, request: HttpRequest, resolver: URLResolver, exc_info: Any - ) -> HttpResponseBase: ... - async def send_response(self, response: HttpResponseBase, send: _SendCallback) -> None: ... - @classmethod - def chunk_bytes(cls, data: Sequence[_T]) -> Iterator[Tuple[Sequence[_T], bool]]: ... - def get_script_prefix(self, scope: Mapping[str, Any]) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/base.pyi deleted file mode 100644 index 39f7d932..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/base.pyi +++ /dev/null @@ -1,22 +0,0 @@ -from typing import Any, Awaitable, Callable, Optional, Union - -from django.http.request import HttpRequest -from django.http.response import HttpResponse, HttpResponseBase -from django.urls.resolvers import ResolverMatch - -class BaseHandler: - def load_middleware(self, is_async: bool = ...) -> None: ... - def adapt_method_mode( - self, - is_async: bool, - method: Callable[[HttpRequest], Union[HttpResponseBase, Awaitable[HttpResponseBase]]], - method_is_async: Optional[bool] = ..., - debug: bool = False, - name: Optional[str] = ..., - ) -> Callable[[HttpRequest], Union[HttpResponseBase, Awaitable[HttpResponseBase]]]: ... - def get_response(self, request: HttpRequest) -> HttpResponseBase: ... - async def get_response_async(self, request: HttpRequest) -> HttpResponseBase: ... - def resolve_request(self, request: HttpRequest) -> ResolverMatch: ... - def check_response(self, response: HttpResponseBase, callback: Any, name: Optional[str] = ...) -> None: ... - def make_view_atomic(self, view: Callable[..., HttpResponseBase]) -> Callable[..., HttpResponseBase]: ... - def process_exception_by_middleware(self, exception: Exception, request: HttpRequest) -> HttpResponse: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/exception.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/exception.pyi deleted file mode 100644 index 6465f1c3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/exception.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from typing import Any, Awaitable, Callable, Union - -from django.http.request import HttpRequest -from django.http.response import HttpResponse, HttpResponseBase -from django.urls.resolvers import URLResolver - -def convert_exception_to_response( - get_response: Callable[[HttpRequest], Union[HttpResponseBase, Awaitable[HttpResponseBase]]] -) -> Callable[[HttpRequest], Union[HttpResponseBase, Awaitable[HttpResponseBase]]]: ... -def response_for_exception(request: HttpRequest, exc: Exception) -> HttpResponse: ... -def get_exception_response( - request: HttpRequest, resolver: URLResolver, status_code: int, exception: Exception -) -> HttpResponse: ... -def handle_uncaught_exception(request: HttpRequest, resolver: URLResolver, exc_info: Any) -> HttpResponse: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/wsgi.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/wsgi.pyi deleted file mode 100644 index 07cfe2be..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/handlers/wsgi.pyi +++ /dev/null @@ -1,38 +0,0 @@ -from io import BytesIO -from typing import Any, Callable, Dict, Optional, Sequence, Tuple, Type - -from django.contrib.sessions.backends.base import SessionBase -from django.core.handlers import base -from django.http import HttpRequest -from django.http.response import HttpResponseBase - -_WSGIEnviron = Dict[str, Any] - -class LimitedStream: - stream: BytesIO = ... - remaining: int = ... - buffer: bytes = ... - buf_size: int = ... - def __init__(self, stream: BytesIO, limit: int, buf_size: int = ...) -> None: ... - def read(self, size: Optional[int] = ...) -> bytes: ... - def readline(self, size: Optional[int] = ...) -> bytes: ... - -class WSGIRequest(HttpRequest): - environ: _WSGIEnviron = ... - session: SessionBase - encoding: Any = ... - def __init__(self, environ: _WSGIEnviron) -> None: ... - -class WSGIHandler(base.BaseHandler): - request_class: Type[WSGIRequest] = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def __call__( - self, - environ: _WSGIEnviron, - start_response: Callable[[str, Sequence[Tuple[str, str]]], None], - ) -> HttpResponseBase: ... - -def get_path_info(environ: _WSGIEnviron) -> str: ... -def get_script_name(environ: _WSGIEnviron) -> str: ... -def get_bytes_from_wsgi(environ: _WSGIEnviron, key: str, default: str) -> bytes: ... -def get_str_from_wsgi(environ: _WSGIEnviron, key: str, default: str) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/__init__.pyi deleted file mode 100644 index e479b403..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/__init__.pyi +++ /dev/null @@ -1,47 +0,0 @@ -from typing import Any, List, Optional, Sequence, Tuple - -from .message import DEFAULT_ATTACHMENT_MIME_TYPE as DEFAULT_ATTACHMENT_MIME_TYPE -from .message import BadHeaderError as BadHeaderError -from .message import EmailMessage as EmailMessage -from .message import EmailMultiAlternatives as EmailMultiAlternatives -from .message import SafeMIMEMultipart as SafeMIMEMultipart -from .message import SafeMIMEText as SafeMIMEText -from .message import forbid_multi_line_headers as forbid_multi_line_headers -from .utils import DNS_NAME as DNS_NAME -from .utils import CachedDnsName as CachedDnsName - -def get_connection(backend: Optional[str] = ..., fail_silently: bool = ..., **kwds: Any) -> Any: ... -def send_mail( - subject: str, - message: str, - from_email: Optional[str], - recipient_list: Sequence[str], - fail_silently: bool = ..., - auth_user: Optional[str] = ..., - auth_password: Optional[str] = ..., - connection: Optional[Any] = ..., - html_message: Optional[str] = ..., -) -> int: ... -def send_mass_mail( - datatuple: List[Tuple[str, str, str, List[str]]], - fail_silently: bool = ..., - auth_user: Optional[str] = ..., - auth_password: Optional[str] = ..., - connection: Optional[Any] = ..., -) -> int: ... -def mail_admins( - subject: str, - message: str, - fail_silently: bool = ..., - connection: Optional[Any] = ..., - html_message: Optional[str] = ..., -) -> None: ... -def mail_managers( - subject: str, - message: str, - fail_silently: bool = ..., - connection: Optional[Any] = ..., - html_message: Optional[str] = ..., -) -> None: ... - -outbox: List[EmailMessage] = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/base.pyi deleted file mode 100644 index 6e73e693..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/base.pyi +++ /dev/null @@ -1,16 +0,0 @@ -import types -from typing import Any, Optional, Sequence, Type, TypeVar - -from django.core.mail.message import EmailMessage - -_T = TypeVar("_T", bound="BaseEmailBackend") - -class BaseEmailBackend: - def __init__(self, fail_silently: bool = ..., **kwargs: Any) -> None: ... - def open(self) -> Optional[bool]: ... - def close(self) -> None: ... - def __enter__(self: _T) -> _T: ... - def __exit__( - self, exc_type: Type[BaseException], exc_value: BaseException, traceback: types.TracebackType - ) -> None: ... - def send_messages(self, email_messages: Sequence[EmailMessage]) -> int: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/console.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/console.pyi deleted file mode 100644 index 80ba2615..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/console.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.core.mail.backends.base import BaseEmailBackend - -class EmailBackend(BaseEmailBackend): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/dummy.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/dummy.pyi deleted file mode 100644 index 80ba2615..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/dummy.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.core.mail.backends.base import BaseEmailBackend - -class EmailBackend(BaseEmailBackend): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/filebased.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/filebased.pyi deleted file mode 100644 index a7902313..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/filebased.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.core.mail.backends.console import EmailBackend as ConsoleEmailBackend - -class EmailBackend(ConsoleEmailBackend): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/locmem.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/locmem.pyi deleted file mode 100644 index 80ba2615..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/locmem.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.core.mail.backends.base import BaseEmailBackend - -class EmailBackend(BaseEmailBackend): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/smtp.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/smtp.pyi deleted file mode 100644 index cce17706..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/backends/smtp.pyi +++ /dev/null @@ -1,18 +0,0 @@ -import smtplib -import threading -from typing import Optional, Union - -from django.core.mail.backends.base import BaseEmailBackend - -class EmailBackend(BaseEmailBackend): - host: str = ... - port: int = ... - username: str = ... - password: str = ... - use_tls: bool = ... - use_ssl: bool = ... - timeout: Optional[int] = ... - ssl_keyfile: Optional[str] = ... - ssl_certfile: Optional[str] = ... - connection: Union[smtplib.SMTP_SSL, smtplib.SMTP, None] = ... - _lock: threading.RLock = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/message.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/message.pyi deleted file mode 100644 index 0cd9b94a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/message.pyi +++ /dev/null @@ -1,123 +0,0 @@ -from email import charset as Charset -from email._policybase import Policy -from email.message import Message -from email.mime.base import MIMEBase -from email.mime.message import MIMEMessage -from email.mime.multipart import MIMEMultipart -from email.mime.text import MIMEText -from typing import Any, Dict, List, Optional, Sequence, Set, Tuple, Union, overload - -utf8_charset: Any -utf8_charset_qp: Any -DEFAULT_ATTACHMENT_MIME_TYPE: str -RFC5322_EMAIL_LINE_LENGTH_LIMIT: int - -class BadHeaderError(ValueError): ... - -ADDRESS_HEADERS: Set[str] - -def forbid_multi_line_headers(name: str, val: str, encoding: str) -> Tuple[str, str]: ... -def sanitize_address(addr: Union[Tuple[str, str], str], encoding: str) -> str: ... - -class MIMEMixin: - def as_string(self, unixfrom: bool = ..., linesep: str = "\n") -> str: ... - def as_bytes(self, unixfrom: bool = ..., linesep: str = "\n") -> bytes: ... - -class SafeMIMEMessage(MIMEMixin, MIMEMessage): # type: ignore - defects: List[Any] - epilogue: Any - policy: Policy - preamble: Any - def __setitem__(self, name: str, val: str) -> None: ... - -class SafeMIMEText(MIMEMixin, MIMEText): # type: ignore - defects: List[Any] - epilogue: None - policy: Policy - preamble: None - encoding: str = ... - def __init__(self, _text: str, _subtype: str = ..., _charset: str = ...) -> None: ... - def __setitem__(self, name: str, val: str) -> None: ... - def set_payload( - self, payload: Union[List[Message], str, bytes], charset: Union[str, Charset.Charset, None] = ... - ) -> None: ... - -class SafeMIMEMultipart(MIMEMixin, MIMEMultipart): # type: ignore - defects: List[Any] - epilogue: None - policy: Policy - preamble: None - encoding: str = ... - def __init__( - self, - _subtype: str = ..., - boundary: Optional[Any] = ..., - _subparts: Optional[Any] = ..., - encoding: str = ..., - **_params: Any - ) -> None: ... - def __setitem__(self, name: str, val: str) -> None: ... - -_AttachmentContent = Union[bytes, EmailMessage, Message, SafeMIMEText, str] -_AttachmentTuple = Union[ - Tuple[str, _AttachmentContent], Tuple[Optional[str], _AttachmentContent, str], Tuple[str, _AttachmentContent, None] -] - -class EmailMessage: - content_subtype: str = ... - mixed_subtype: str = ... - encoding: Any = ... - to: List[str] = ... - cc: List[Any] = ... - bcc: List[Any] = ... - reply_to: List[Any] = ... - from_email: str = ... - subject: str = ... - body: str = ... - attachments: List[Any] = ... - extra_headers: Dict[Any, Any] = ... - connection: Any = ... - def __init__( - self, - subject: str = ..., - body: Optional[str] = ..., - from_email: Optional[str] = ..., - to: Optional[Sequence[str]] = ..., - bcc: Optional[Sequence[str]] = ..., - connection: Optional[Any] = ..., - attachments: Optional[Sequence[Union[MIMEBase, _AttachmentTuple]]] = ..., - headers: Optional[Dict[str, str]] = ..., - cc: Optional[Sequence[str]] = ..., - reply_to: Optional[Sequence[str]] = ..., - ) -> None: ... - def get_connection(self, fail_silently: bool = ...) -> Any: ... - # TODO: when typeshed gets more types for email.Message, move it to MIMEMessage, now it has too many false-positives - def message(self) -> Any: ... - def recipients(self) -> List[str]: ... - def send(self, fail_silently: bool = ...) -> int: ... - @overload - def attach(self, filename: MIMEBase = ..., content: None = ..., mimetype: None = ...) -> None: ... - @overload - def attach(self, filename: None = ..., content: _AttachmentContent = ..., mimetype: str = ...) -> None: ... - @overload - def attach(self, filename: str = ..., content: _AttachmentContent = ..., mimetype: Optional[str] = ...) -> None: ... - def attach_file(self, path: str, mimetype: Optional[str] = ...) -> None: ... - -class EmailMultiAlternatives(EmailMessage): - alternative_subtype: str = ... - alternatives: List[Tuple[_AttachmentContent, str]] = ... - def __init__( - self, - subject: str = ..., - body: str = ..., - from_email: Optional[str] = ..., - to: Optional[Sequence[str]] = ..., - bcc: Optional[Sequence[str]] = ..., - connection: Optional[Any] = ..., - attachments: Optional[Sequence[Union[MIMEBase, _AttachmentTuple]]] = ..., - headers: Optional[Dict[str, str]] = ..., - alternatives: Optional[List[Tuple[_AttachmentContent, str]]] = ..., - cc: Optional[Sequence[str]] = ..., - reply_to: Optional[Sequence[str]] = ..., - ) -> None: ... - def attach_alternative(self, content: _AttachmentContent, mimetype: str) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/utils.pyi deleted file mode 100644 index 68b3a64f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/mail/utils.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any - -class CachedDnsName: - def get_fqdn(self) -> str: ... - -DNS_NAME: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/__init__.pyi deleted file mode 100644 index 4b65a22d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/__init__.pyi +++ /dev/null @@ -1,21 +0,0 @@ -from typing import Any, Dict, List, Optional, Union - -from .base import BaseCommand as BaseCommand -from .base import CommandError as CommandError - -def find_commands(management_dir: str) -> List[str]: ... -def load_command_class(app_name: str, name: str) -> BaseCommand: ... -def get_commands() -> Dict[str, Union[str, BaseCommand]]: ... -def call_command(command_name: Union[BaseCommand, str], *args: Any, **options: Any) -> str: ... - -class ManagementUtility: - argv: List[str] = ... - prog_name: str = ... - settings_exception: Optional[Exception] = ... - def __init__(self, argv: Optional[List[str]] = ...) -> None: ... - def main_help_text(self, commands_only: bool = ...): ... - def fetch_command(self, subcommand: str) -> BaseCommand: ... - def autocomplete(self) -> None: ... - def execute(self) -> None: ... - -def execute_from_command_line(argv: Optional[List[str]] = ...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/base.pyi deleted file mode 100644 index 1e7d0669..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/base.pyi +++ /dev/null @@ -1,100 +0,0 @@ -import sys -from argparse import ArgumentParser, HelpFormatter, Namespace -from io import TextIOBase -from typing import Any, Callable, Iterable, List, Optional, Sequence, Set, TextIO, Tuple, Union - -from django.apps.config import AppConfig -from django.core.management.color import Style -from django.utils.datastructures import _ListOrTuple - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -class CommandError(Exception): - def __init__(self, *args: Any, returncode: int = ..., **kwargs: Any) -> None: ... - -class SystemCheckError(CommandError): ... - -class CommandParser(ArgumentParser): - missing_args_message: Optional[str] = ... - called_from_command_line: Optional[bool] = ... - def __init__( - self, - *, - missing_args_message: Optional[str] = ..., - called_from_command_line: Optional[bool] = ..., - **kwargs: Any - ) -> None: ... - def error(self, message: str) -> Any: ... - -def handle_default_options(options: Namespace) -> None: ... -def no_translations(handle_func: Callable) -> Callable: ... - -class DjangoHelpFormatter(HelpFormatter): - show_last: Set[str] = ... - def add_usage(self, usage: Optional[str], actions: Iterable[Any], *args: Any, **kwargs: Any) -> Any: ... - def add_arguments(self, actions: Any) -> Any: ... - -class OutputWrapper(TextIOBase): - @property - def style_func(self) -> Optional[Callable[[str], str]]: ... - @style_func.setter - def style_func(self, style_func: Optional[Callable[[str], str]]) -> None: ... - ending: str = ... - def __init__(self, out: TextIO, ending: str = ...) -> None: ... - def __getattr__(self, name: str) -> Callable: ... - def flush(self) -> None: ... - def isatty(self) -> bool: ... - def write( # type: ignore[override] - self, msg: str = ..., style_func: Optional[Callable[[str], str]] = ..., ending: Optional[str] = ... - ) -> None: ... - -class BaseCommand: - help: str = ... - output_transaction: bool = ... - requires_migrations_checks: bool = ... - requires_system_checks: Union[_ListOrTuple[str], Literal["__all__"]] = ... - base_stealth_options: Tuple[str, ...] = ... - stealth_options: Tuple[str, ...] = ... - stdout: OutputWrapper = ... - stderr: OutputWrapper = ... - style: Style = ... - def __init__( - self, - stdout: Optional[TextIO] = ..., - stderr: Optional[TextIO] = ..., - no_color: bool = ..., - force_color: bool = ..., - ) -> None: ... - def get_version(self) -> str: ... - def create_parser(self, prog_name: str, subcommand: str, **kwargs: Any) -> CommandParser: ... - def add_arguments(self, parser: CommandParser) -> None: ... - def print_help(self, prog_name: str, subcommand: str) -> None: ... - def run_from_argv(self, argv: List[str]) -> None: ... - def execute(self, *args: Any, **options: Any) -> Any: ... - def check( - self, - app_configs: Optional[Sequence[AppConfig]] = ..., - tags: Optional[Sequence[str]] = ..., - display_num_errors: bool = ..., - include_deployment_checks: bool = ..., - fail_level: int = ..., - databases: Optional[Sequence[str]] = ..., - ) -> None: ... - def check_migrations(self) -> None: ... - def handle(self, *args: Any, **options: Any) -> Optional[str]: ... - -class AppCommand(BaseCommand): - missing_args_message: str = ... - def add_arguments(self, parser: CommandParser) -> None: ... - def handle(self, *app_labels: str, **options: Any) -> Optional[str]: ... - def handle_app_config(self, app_config: Any, **options: Any) -> Optional[str]: ... - -class LabelCommand(BaseCommand): - label: str = ... - missing_args_message: Any = ... - def add_arguments(self, parser: CommandParser) -> None: ... - def handle(self, *labels: str, **options: Any) -> Optional[str]: ... - def handle_label(self, label: str, **options: Any) -> Optional[str]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/color.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/color.pyi deleted file mode 100644 index 31910c08..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/color.pyi +++ /dev/null @@ -1,26 +0,0 @@ -def supports_color() -> bool: ... - -class Style: - # set by make_style - def ERROR(self, text: str) -> str: ... - def SUCCESS(self, text: str) -> str: ... - def WARNING(self, text: str) -> str: ... - def NOTICE(self, text: str) -> str: ... - def SQL_FIELD(self, text: str) -> str: ... - def SQL_COLTYPE(self, text: str) -> str: ... - def SQL_KEYWORD(self, text: str) -> str: ... - def SQL_TABLE(self, text: str) -> str: ... - def HTTP_INFO(self, text: str) -> str: ... - def HTTP_SUCCESS(self, text: str) -> str: ... - def HTTP_REDIRECT(self, text: str) -> str: ... - def HTTP_NOT_MODIFIED(self, text: str) -> str: ... - def HTTP_BAD_REQUEST(self, text: str) -> str: ... - def HTTP_NOT_FOUND(self, text: str) -> str: ... - def HTTP_SERVER_ERROR(self, text: str) -> str: ... - def MIGRATE_HEADING(self, text: str) -> str: ... - def MIGRATE_LABEL(self, text: str) -> str: ... - def ERROR_OUTPUT(self, text: str) -> str: ... - -def make_style(config_string: str = ...) -> Style: ... -def no_style() -> Style: ... -def color_style(force_color: bool = ...) -> Style: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/check.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/check.pyi deleted file mode 100644 index e50296db..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/check.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any, List - -from django.apps import apps as apps -from django.core import checks as checks -from django.core.checks.registry import registry as registry -from django.core.management.base import BaseCommand as BaseCommand -from django.core.management.base import CommandError as CommandError - -class Command(BaseCommand): - def handle(self, *app_labels: List[str], **options: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/compilemessages.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/compilemessages.pyi deleted file mode 100644 index 6007cedf..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/compilemessages.pyi +++ /dev/null @@ -1,20 +0,0 @@ -import os -from pathlib import Path -from typing import List, Tuple, Union - -from django.core.management.base import BaseCommand as BaseCommand -from django.core.management.base import CommandError as CommandError -from django.core.management.base import CommandParser as CommandParser -from django.core.management.utils import find_command as find_command -from django.core.management.utils import popen_wrapper as popen_wrapper -from django.utils._os import _PathCompatible - -def has_bom(fn: Path) -> bool: ... -def is_writable(path: _PathCompatible) -> bool: ... - -class Command(BaseCommand): - program: str = ... - program_options: List[str] = ... - verbosity: int = ... - has_errors: bool = ... - def compile_messages(self, locations: List[Tuple[_PathCompatible, _PathCompatible]]) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/createcachetable.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/createcachetable.pyi deleted file mode 100644 index 4c64f109..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/createcachetable.pyi +++ /dev/null @@ -1,18 +0,0 @@ -from typing import Any, List - -from django.conf import settings as settings -from django.core.cache import caches as caches -from django.core.cache.backends.db import BaseDatabaseCache as BaseDatabaseCache -from django.core.management.base import BaseCommand as BaseCommand -from django.core.management.base import CommandError as CommandError -from django.db import DEFAULT_DB_ALIAS as DEFAULT_DB_ALIAS -from django.db import DatabaseError as DatabaseError -from django.db import connections as connections -from django.db import models as models -from django.db import router as router -from django.db import transaction as transaction - -class Command(BaseCommand): - verbosity: int = ... - def handle(self, *tablenames: List[str], **options: Any) -> None: ... - def create_table(self, database: str, tablename: str, dry_run: bool) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/dbshell.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/dbshell.pyi deleted file mode 100644 index 7c1fbcc1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/dbshell.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from django.core.management.base import BaseCommand as BaseCommand -from django.core.management.base import CommandError as CommandError -from django.core.management.base import CommandParser as CommandParser -from django.db import DEFAULT_DB_ALIAS as DEFAULT_DB_ALIAS -from django.db import connections as connections - -class Command(BaseCommand): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/diffsettings.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/diffsettings.pyi deleted file mode 100644 index 791352eb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/diffsettings.pyi +++ /dev/null @@ -1,13 +0,0 @@ -from typing import Any, Callable, Dict, List - -from django.core.management.base import BaseCommand as BaseCommand - -def module_to_dict(module: Any, omittable: Callable[[str], bool] = ...) -> Dict[str, str]: ... - -class Command(BaseCommand): - def output_hash( - self, user_settings: Dict[str, str], default_settings: Dict[str, str], **options: Any - ) -> List[str]: ... - def output_unified( - self, user_settings: Dict[str, str], default_settings: Dict[str, str], **options: Any - ) -> List[str]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/dumpdata.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/dumpdata.pyi deleted file mode 100644 index bc3c4ce8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/dumpdata.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from django.core.management.base import BaseCommand - -class ProxyModelWarning(Warning): ... -class Command(BaseCommand): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/flush.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/flush.pyi deleted file mode 100644 index d72f612e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/flush.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from typing import Tuple - -from django.apps import apps as apps -from django.core.management.base import BaseCommand as BaseCommand -from django.core.management.base import CommandError as CommandError -from django.core.management.color import Style -from django.core.management.color import no_style as no_style -from django.core.management.sql import emit_post_migrate_signal as emit_post_migrate_signal -from django.core.management.sql import sql_flush as sql_flush -from django.db import DEFAULT_DB_ALIAS as DEFAULT_DB_ALIAS -from django.db import connections as connections - -class Command(BaseCommand): - stealth_options: Tuple[str] = ... - style: Style = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/inspectdb.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/inspectdb.pyi deleted file mode 100644 index db555bd9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/inspectdb.pyi +++ /dev/null @@ -1,22 +0,0 @@ -from typing import Any, Dict, Iterable, List, Tuple - -from django.core.management.base import BaseCommand as BaseCommand -from django.core.management.base import CommandError as CommandError -from django.db import DEFAULT_DB_ALIAS as DEFAULT_DB_ALIAS -from django.db import connections as connections -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.models.constants import LOOKUP_SEP as LOOKUP_SEP - -class Command(BaseCommand): - stealth_options: Tuple[str] = ... - db_module: str = ... - def handle_inspection(self, options: Dict[str, Any]) -> Iterable[str]: ... - def normalize_col_name( - self, col_name: str, used_column_names: List[str], is_relation: bool - ) -> Tuple[str, Dict[str, str], List[str]]: ... - def get_field_type( - self, connection: BaseDatabaseWrapper, table_name: str, row: Any - ) -> Tuple[str, Dict[str, Any], List[str]]: ... - def get_meta( - self, table_name: str, constraints: Any, column_to_field_name: Any, is_view: Any, is_partition: Any - ) -> List[str]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/loaddata.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/loaddata.pyi deleted file mode 100644 index 509abed8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/loaddata.pyi +++ /dev/null @@ -1,35 +0,0 @@ -import zipfile -from typing import List, Optional, Sequence, Set, Tuple, Type - -from django.apps.config import AppConfig -from django.core.management.base import BaseCommand -from django.db.models.base import Model - -READ_STDIN: str = ... - -class Command(BaseCommand): - ignore: bool = ... - using: str = ... - app_label: str = ... - verbosity: int = ... - excluded_models: Set[Type[Model]] = ... - excluded_apps: Set[AppConfig] = ... - format: str = ... - missing_args_message: str = ... - def loaddata(self, fixture_labels: Sequence[str]) -> None: ... - def load_label(self, fixture_label: str) -> None: ... - def find_fixtures(self, fixture_label: str) -> List[Tuple[str, Optional[str], Optional[str]]]: ... - @property - def fixture_dirs(self) -> List[str]: ... - def parse_name(self, fixture_name: str) -> Tuple[str, Optional[str], Optional[str]]: ... - -class SingleZipReader(zipfile.ZipFile): - # Incompatible override - # zipfile.ZipFile.read( - # self, - # name: typing.Union[typing.Text, zipfile.ZipInfo], - # pwd: Optional[bytes] = ..., - # ) -> bytes: ... - def read(self) -> bytes: ... # type: ignore[override] - -def humanize(dirname: str) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/makemessages.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/makemessages.pyi deleted file mode 100644 index 8f8e5fdd..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/makemessages.pyi +++ /dev/null @@ -1,38 +0,0 @@ -from typing import Any, Optional, Pattern, Type - -from django.core.management.base import BaseCommand - -plural_forms_re: Pattern = ... -STATUS_OK: int = ... -NO_LOCALE_DIR: Any = ... - -def check_programs(*programs: str) -> None: ... - -class TranslatableFile: - dirpath: str - file_name: str - locale_dir: str - def __init__(self, dirpath: str, file_name: str, locale_dir: Optional[str]) -> None: ... - -class BuildFile: - """ - Represent the state of a translatable file during the build process. - """ - - def __init__(self, command: BaseCommand, domain: str, translatable: TranslatableFile) -> None: ... - @property - def is_templatized(self) -> bool: ... - @property - def path(self) -> str: ... - @property - def work_path(self) -> str: ... - def preprocess(self) -> None: ... - def postprocess_messages(self, msgs: str) -> str: ... - def cleanup(self) -> None: ... - -def normalize_eols(raw_contents: str) -> str: ... -def write_pot_file(potfile: str, msgs: str) -> None: ... - -class Command(BaseCommand): - translatable_file_class: Type[TranslatableFile] = ... - build_file_class: Type[BuildFile] = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/makemigrations.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/makemigrations.pyi deleted file mode 100644 index 46fbabe9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/makemigrations.pyi +++ /dev/null @@ -1,31 +0,0 @@ -from typing import Any, Dict - -from django.apps import apps as apps -from django.conf import settings as settings -from django.core.management.base import BaseCommand as BaseCommand -from django.core.management.base import CommandError as CommandError -from django.core.management.base import no_translations as no_translations -from django.db import DEFAULT_DB_ALIAS as DEFAULT_DB_ALIAS -from django.db import OperationalError as OperationalError -from django.db import connections as connections -from django.db import router as router -from django.db.migrations import Migration as Migration -from django.db.migrations.autodetector import MigrationAutodetector as MigrationAutodetector -from django.db.migrations.loader import MigrationLoader as MigrationLoader -from django.db.migrations.questioner import InteractiveMigrationQuestioner as InteractiveMigrationQuestioner -from django.db.migrations.questioner import MigrationQuestioner as MigrationQuestioner -from django.db.migrations.questioner import NonInteractiveMigrationQuestioner as NonInteractiveMigrationQuestioner -from django.db.migrations.state import ProjectState as ProjectState -from django.db.migrations.utils import get_migration_name_timestamp as get_migration_name_timestamp -from django.db.migrations.writer import MigrationWriter as MigrationWriter - -class Command(BaseCommand): - verbosity: int = ... - interactive: bool = ... - dry_run: bool = ... - merge: bool = ... - empty: bool = ... - migration_name: str = ... - include_header: bool = ... - def write_migration_files(self, changes: Dict[str, Any]) -> None: ... - def handle_merge(self, loader: MigrationLoader, conflicts: Dict[str, Any]) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/migrate.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/migrate.pyi deleted file mode 100644 index 6be8d54c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/migrate.pyi +++ /dev/null @@ -1,29 +0,0 @@ -from typing import Any, Container, Optional, Tuple - -from django.apps import apps as apps -from django.core.management.base import BaseCommand as BaseCommand -from django.core.management.base import CommandError as CommandError -from django.core.management.base import no_translations as no_translations -from django.core.management.sql import emit_post_migrate_signal as emit_post_migrate_signal -from django.core.management.sql import emit_pre_migrate_signal as emit_pre_migrate_signal -from django.db import DEFAULT_DB_ALIAS as DEFAULT_DB_ALIAS -from django.db import connections as connections -from django.db import router as router -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.migrations.autodetector import MigrationAutodetector as MigrationAutodetector -from django.db.migrations.executor import MigrationExecutor as MigrationExecutor -from django.db.migrations.loader import AmbiguityError as AmbiguityError -from django.db.migrations.operations.base import Operation -from django.db.migrations.state import ModelState as ModelState -from django.db.migrations.state import ProjectState as ProjectState -from django.utils.module_loading import module_has_submodule as module_has_submodule -from django.utils.text import Truncator as Truncator - -class Command(BaseCommand): - verbosity: int = ... - interactive: bool = ... - start: float = ... - def migration_progress_callback(self, action: str, migration: Optional[Any] = ..., fake: bool = ...) -> None: ... - def sync_apps(self, connection: BaseDatabaseWrapper, app_labels: Container[str]) -> None: ... - @staticmethod - def describe_operation(operation: Operation, backwards: bool) -> Tuple[str, bool]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/runserver.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/runserver.pyi deleted file mode 100644 index 8a8527ea..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/runserver.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from django.core.management.base import BaseCommand - -class Command(BaseCommand): - default_addr: str = ... - default_addr_ipv6: str = ... - default_port: str = ... - protocol: str = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/sendtestemail.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/sendtestemail.pyi deleted file mode 100644 index 6cda8b1f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/sendtestemail.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from django.core.mail import mail_admins as mail_admins -from django.core.mail import mail_managers as mail_managers -from django.core.mail import send_mail as send_mail -from django.core.management.base import BaseCommand as BaseCommand -from django.utils import timezone as timezone - -class Command(BaseCommand): - missing_args_message: str = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/shell.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/shell.pyi deleted file mode 100644 index 73cced3a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/shell.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Any, List - -from django.core.management import BaseCommand as BaseCommand -from django.core.management import CommandError as CommandError -from django.utils.datastructures import OrderedSet as OrderedSet - -class Command(BaseCommand): - shells: List[str] = ... - def ipython(self, options: Any) -> None: ... - def bpython(self, options: Any) -> None: ... - def python(self, options: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/showmigrations.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/showmigrations.pyi deleted file mode 100644 index b7a59b3c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/showmigrations.pyi +++ /dev/null @@ -1,13 +0,0 @@ -from typing import Any, List, Optional - -from django.apps import apps as apps -from django.core.management.base import BaseCommand as BaseCommand -from django.db import DEFAULT_DB_ALIAS as DEFAULT_DB_ALIAS -from django.db import connections as connections -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.migrations.loader import MigrationLoader as MigrationLoader - -class Command(BaseCommand): - verbosity: int = ... - def show_list(self, connection: BaseDatabaseWrapper, app_names: Optional[List[str]] = ...) -> None: ... - def show_plan(self, connection: BaseDatabaseWrapper, app_names: Optional[List[str]] = ...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/sqlflush.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/sqlflush.pyi deleted file mode 100644 index 74bbc7c2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/sqlflush.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from django.core.management.base import BaseCommand as BaseCommand -from django.core.management.sql import sql_flush as sql_flush -from django.db import DEFAULT_DB_ALIAS as DEFAULT_DB_ALIAS -from django.db import connections as connections - -class Command(BaseCommand): - output_transaction: bool = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/sqlmigrate.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/sqlmigrate.pyi deleted file mode 100644 index febeff5a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/sqlmigrate.pyi +++ /dev/null @@ -1,13 +0,0 @@ -from typing import Any - -from django.apps import apps as apps -from django.core.management.base import BaseCommand as BaseCommand -from django.core.management.base import CommandError as CommandError -from django.db import DEFAULT_DB_ALIAS as DEFAULT_DB_ALIAS -from django.db import connections as connections -from django.db.migrations.loader import AmbiguityError as AmbiguityError -from django.db.migrations.loader import MigrationLoader as MigrationLoader - -class Command(BaseCommand): - output_transaction: bool = ... - def execute(self, *args: Any, **options: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/sqlsequencereset.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/sqlsequencereset.pyi deleted file mode 100644 index 018ecf4f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/sqlsequencereset.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from django.core.management.base import AppCommand as AppCommand -from django.db import DEFAULT_DB_ALIAS as DEFAULT_DB_ALIAS -from django.db import connections as connections - -class Command(AppCommand): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/squashmigrations.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/squashmigrations.pyi deleted file mode 100644 index b4b5157c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/squashmigrations.pyi +++ /dev/null @@ -1,19 +0,0 @@ -from django.apps import apps as apps -from django.conf import settings as settings -from django.core.management.base import BaseCommand as BaseCommand -from django.core.management.base import CommandError as CommandError -from django.db import DEFAULT_DB_ALIAS as DEFAULT_DB_ALIAS -from django.db import connections as connections -from django.db import migrations as migrations -from django.db.migrations.loader import AmbiguityError as AmbiguityError -from django.db.migrations.loader import MigrationLoader as MigrationLoader -from django.db.migrations.migration import Migration -from django.db.migrations.migration import SwappableTuple as SwappableTuple -from django.db.migrations.optimizer import MigrationOptimizer as MigrationOptimizer -from django.db.migrations.writer import MigrationWriter as MigrationWriter -from django.utils.version import get_docs_version as get_docs_version - -class Command(BaseCommand): - verbosity: int = ... - interactive: bool = ... - def find_migration(self, loader: MigrationLoader, app_label: str, name: str) -> Migration: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/startapp.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/startapp.pyi deleted file mode 100644 index 0bd549a5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/startapp.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any - -from django.core.management.templates import TemplateCommand as TemplateCommand - -class Command(TemplateCommand): - missing_args_message: str = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/startproject.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/startproject.pyi deleted file mode 100644 index 9111c5e8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/startproject.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from django.core.management.templates import TemplateCommand as TemplateCommand - -from ..utils import get_random_secret_key as get_random_secret_key - -class Command(TemplateCommand): - missing_args_message: str = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/test.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/test.pyi deleted file mode 100644 index 3849926c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/test.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Any - -from django.conf import settings as settings -from django.core.management.base import BaseCommand as BaseCommand -from django.core.management.utils import get_command_line_option as get_command_line_option -from django.test.utils import get_runner as get_runner - -class Command(BaseCommand): - test_runner: Any = ... - def run_from_argv(self, argv: Any) -> None: ... - def add_arguments(self, parser: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/testserver.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/testserver.pyi deleted file mode 100644 index 8d75fb4d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/commands/testserver.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.core.management.base import BaseCommand - -class Command(BaseCommand): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/sql.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/sql.pyi deleted file mode 100644 index 4cbb59b6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/sql.pyi +++ /dev/null @@ -1,13 +0,0 @@ -from typing import Any, List - -from django.core.management.color import Style -from django.db.backends.base.base import BaseDatabaseWrapper - -def sql_flush( - style: Style, - connection: BaseDatabaseWrapper, - reset_sequences: bool = ..., - allow_cascade: bool = ..., -) -> List[str]: ... -def emit_pre_migrate_signal(verbosity: int, interactive: bool, db: str, **kwargs: Any) -> None: ... -def emit_post_migrate_signal(verbosity: int, interactive: bool, db: str, **kwargs: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/templates.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/templates.pyi deleted file mode 100644 index ea1ea285..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/templates.pyi +++ /dev/null @@ -1,21 +0,0 @@ -from argparse import ArgumentParser -from typing import Any, Optional, Sequence, Tuple - -from django.core.management.base import BaseCommand - -class TemplateCommand(BaseCommand): - url_schemes: Sequence[str] = ... - rewrite_template_suffixes: Sequence[Tuple[str, str]] = ... - app_or_project: str - a_or_an: str - paths_to_remove: Sequence[Any] - verbosity: Any = ... - def add_arguments(self, parser: ArgumentParser) -> None: ... - def handle(self, app_or_project: str, name: str, target: Optional[str] = ..., **options: Any) -> None: ... # type: ignore - def handle_template(self, template: Optional[str], subdir: Optional[str]) -> str: ... - def validate_name(self, name: str, name_or_dir: str = ...) -> None: ... - def download(self, url: str) -> str: ... - def splitext(self, the_path: str) -> Tuple[str, str]: ... - def extract(self, filename: str) -> str: ... - def is_url(self, template: str) -> bool: ... - def make_writeable(self, filename: str) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/utils.pyi deleted file mode 100644 index 62c07d3e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/management/utils.pyi +++ /dev/null @@ -1,18 +0,0 @@ -import os -from typing import Any, Iterable, List, Optional, Sequence, Set, Tuple, Type, Union - -from django.apps.config import AppConfig -from django.db.models.base import Model - -def popen_wrapper(args: List[str], stdout_encoding: str = ...) -> Tuple[str, str, int]: ... -def handle_extensions(extensions: Iterable[str]) -> Set[str]: ... -def find_command( - cmd: str, - path: Optional[Union[str, Iterable[str]]] = ..., - pathext: Optional[Union[str, Iterable[str]]] = ..., -) -> Optional[str]: ... -def get_random_secret_key() -> str: ... -def parse_apps_and_model_labels(labels: Iterable[str]) -> Tuple[Set[Type[Model]], Set[AppConfig]]: ... -def get_command_line_option(argv: Sequence[Any], option: Any) -> Optional[Any]: ... -def normalize_path_patterns(patterns: Iterable[str]) -> List[str]: ... -def is_ignored_path(path: Union[str, os.PathLike], ignore_patterns: Iterable[str]) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/paginator.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/paginator.pyi deleted file mode 100644 index accd1c6a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/paginator.pyi +++ /dev/null @@ -1,68 +0,0 @@ -from typing import Generic, Iterable, Iterator, Optional, Protocol, Sequence, Sized, TypeVar, Union, overload - -from django.db.models.base import Model -from django.db.models.query import QuerySet - -class UnorderedObjectListWarning(RuntimeWarning): ... -class InvalidPage(Exception): ... -class PageNotAnInteger(InvalidPage): ... -class EmptyPage(InvalidPage): ... - -_T = TypeVar("_T") - -class _SupportsPagination(Protocol[_T], Sized, Iterable): - @overload - def __getitem__(self, __index: int) -> _T: ... - @overload - def __getitem__(self, __index: slice) -> _SupportsPagination[_T]: ... - -class Paginator(Generic[_T]): - object_list: _SupportsPagination[_T] = ... - per_page: int = ... - orphans: int = ... - allow_empty_first_page: bool = ... - def __init__( - self, - object_list: _SupportsPagination[_T], - per_page: Union[int, str], - orphans: int = ..., - allow_empty_first_page: bool = ..., - ) -> None: ... - def __iter__(self) -> Iterator[Page[_T]]: ... - def validate_number(self, number: Union[int, float, str]) -> int: ... - def get_page(self, number: Union[int, float, str]) -> Page[_T]: ... - def page(self, number: Union[int, str]) -> Page[_T]: ... - @property - def count(self) -> int: ... - @property - def num_pages(self) -> int: ... - @property - def page_range(self) -> range: ... - def get_elided_page_range( - self, number: Union[int, float, str] = ..., *, on_each_side: int = ..., on_ends: int = ... - ) -> Iterator[Union[str, int]]: ... - -QuerySetPaginator = Paginator - -class Page(Sequence[_T]): - object_list: _SupportsPagination[_T] = ... - number: int = ... - paginator: Paginator = ... - def __init__( - self, - object_list: _SupportsPagination[_T], - number: int, - paginator: Paginator, - ) -> None: ... - @overload - def __getitem__(self, index: int) -> _T: ... - @overload - def __getitem__(self, index: slice) -> Sequence[_T]: ... # Avoid override error - def __len__(self) -> int: ... - def has_next(self) -> bool: ... - def has_previous(self) -> bool: ... - def has_other_pages(self) -> bool: ... - def next_page_number(self) -> int: ... - def previous_page_number(self) -> int: ... - def start_index(self) -> int: ... - def end_index(self) -> int: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/__init__.pyi deleted file mode 100644 index 62ae4e2d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/__init__.pyi +++ /dev/null @@ -1,29 +0,0 @@ -from typing import Any, Callable, Dict, Iterable, Iterator, List, Optional, Type, Union - -from django.db.models.base import Model - -from .base import DeserializationError as DeserializationError -from .base import DeserializedObject -from .base import Deserializer as Deserializer -from .base import M2MDeserializationError as M2MDeserializationError -from .base import SerializationError as SerializationError -from .base import Serializer as Serializer -from .base import SerializerDoesNotExist as SerializerDoesNotExist - -BUILTIN_SERIALIZERS: Any - -class BadSerializer: - internal_use_only: bool = ... - exception: BaseException = ... - def __init__(self, exception: BaseException) -> None: ... - def __call__(self, *args: Any, **kwargs: Any) -> Any: ... - -def register_serializer(format: str, serializer_module: str, serializers: Optional[Dict[str, Any]] = ...) -> None: ... -def unregister_serializer(format: str) -> None: ... -def get_serializer(format: str) -> Union[Type[Serializer], BadSerializer]: ... -def get_serializer_formats() -> List[str]: ... -def get_public_serializer_formats() -> List[str]: ... -def get_deserializer(format: str) -> Union[Callable, Type[Deserializer]]: ... -def serialize(format: str, queryset: Iterable[Model], **options: Any) -> Any: ... -def deserialize(format: str, stream_or_string: Any, **options: Any) -> Iterator[DeserializedObject]: ... -def sort_dependencies(app_list: Iterable[Any], allow_cycles: bool = ...) -> List[Type[Model]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/base.pyi deleted file mode 100644 index 0d7debe4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/base.pyi +++ /dev/null @@ -1,88 +0,0 @@ -from typing import IO, Any, Collection, Dict, Iterable, Optional, Sequence, Type, Union - -from django.db.models.base import Model -from django.db.models.fields import Field -from django.db.models.fields.related import ForeignKey, ManyToManyField - -DEFER_FIELD: object = ... - -class SerializerDoesNotExist(KeyError): ... -class SerializationError(Exception): ... - -class DeserializationError(Exception): - @classmethod - def WithData( - cls, original_exc: Exception, model: str, fk: Union[int, str], field_value: Optional[Union[Sequence[str], str]] - ) -> DeserializationError: ... - -class M2MDeserializationError(Exception): - original_exc: Exception = ... - pk: Any = ... - def __init__(self, original_exc: Exception, pk: Any) -> None: ... - -class ProgressBar: - progress_width: int = ... - output: Optional[IO[str]] = ... - total_count: int = ... - prev_done: int = ... - def __init__(self, output: Optional[IO[str]], total_count: int) -> None: ... - def update(self, count: int) -> None: ... - -class Serializer: - internal_use_only: bool = ... - progress_class: Type[ProgressBar] = ... - stream_class: Type[IO[str]] = ... - options: Dict[str, Any] = ... - stream: IO[str] = ... - selected_fields: Optional[Collection[str]] = ... - use_natural_foreign_keys: bool = ... - use_natural_primary_keys: bool = ... - first: bool = ... - def serialize( - self, - queryset: Iterable[Model], - *, - stream: Optional[IO[str]] = ..., - fields: Optional[Collection[str]] = ..., - use_natural_foreign_keys: bool = ..., - use_natural_primary_keys: bool = ..., - progress_output: Optional[IO[str]] = ..., - object_count: int = ..., - **options: Any - ) -> Any: ... - def start_serialization(self) -> None: ... - def end_serialization(self) -> None: ... - def start_object(self, obj: Any) -> None: ... - def end_object(self, obj: Any) -> None: ... - def handle_field(self, obj: Any, field: Any) -> None: ... - def handle_fk_field(self, obj: Any, field: Any) -> None: ... - def handle_m2m_field(self, obj: Any, field: Any) -> None: ... - def getvalue(self) -> Optional[Union[bytes, str]]: ... - -class Deserializer: - options: Dict[str, Any] = ... - stream: Union[IO[str], IO[bytes]] = ... - def __init__(self, stream_or_string: Union[bytes, str, IO[bytes], IO[str]], **options: Any) -> None: ... - def __iter__(self) -> Deserializer: ... - def __next__(self) -> Any: ... - -class DeserializedObject: - object: Any = ... - m2m_data: Optional[Dict[str, Sequence[Any]]] = ... - deferred_fields: Dict[Field, Any] - def __init__( - self, - obj: Model, - m2m_data: Optional[Dict[str, Sequence[Any]]] = ..., - deferred_fields: Optional[Dict[Field, Any]] = ..., - ) -> None: ... - def save(self, save_m2m: bool = ..., using: Optional[str] = ..., **kwargs: Any) -> None: ... - def save_deferred_fields(self, using: Optional[str] = ...) -> None: ... - -def build_instance(Model: Type[Model], data: Dict[str, Any], db: str) -> Model: ... -def deserialize_m2m_values( - field: ManyToManyField, field_value: Iterable[Any], using: Optional[str], handle_forward_references: bool -) -> Union[Sequence[Any], object]: ... -def deserialize_fk_value( - field: ForeignKey, field_value: Any, using: Optional[str], handle_forward_references: bool -) -> Union[Any, object]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/json.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/json.pyi deleted file mode 100644 index fd7499c7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/json.pyi +++ /dev/null @@ -1,20 +0,0 @@ -import json -from typing import IO, Any, Dict, Iterator, Union - -from django.core.serializers.base import DeserializedObject -from django.core.serializers.python import Serializer as PythonSerializer - -class Serializer(PythonSerializer): - json_kwargs: Dict[str, Any] - -def Deserializer( - stream_or_string: Union[IO[bytes], IO[str], bytes, str], **options: Any -) -> Iterator[DeserializedObject]: ... - -class DjangoJSONEncoder(json.JSONEncoder): - allow_nan: bool - check_circular: bool - ensure_ascii: bool - indent: int - skipkeys: bool - sort_keys: bool diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/jsonl.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/jsonl.pyi deleted file mode 100644 index 12703851..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/jsonl.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import IO, Any, Dict, Iterator, Union - -from django.core.serializers.base import DeserializedObject -from django.core.serializers.python import Serializer as PythonSerializer - -class Serializer(PythonSerializer): - json_kwargs: Dict[str, Any] - -def Deserializer( - stream_or_string: Union[IO[bytes], IO[str], bytes, str], **options: Any -) -> Iterator[DeserializedObject]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/python.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/python.pyi deleted file mode 100644 index 2c02c41a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/python.pyi +++ /dev/null @@ -1,13 +0,0 @@ -from typing import Any, Dict, Iterator, List - -from django.core.serializers import base -from django.core.serializers.base import DeserializedObject -from django.db.models.base import Model - -class Serializer(base.Serializer): - objects: List[Any] = ... - def get_dump_object(self, obj: Model) -> Dict[str, Any]: ... - -def Deserializer( - object_list: List[Dict[str, Any]], *, using: str = ..., ignorenonexistent: bool = ..., **options: Any -) -> Iterator[DeserializedObject]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/pyyaml.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/pyyaml.pyi deleted file mode 100644 index 9ee0eab6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/pyyaml.pyi +++ /dev/null @@ -1,20 +0,0 @@ -from typing import IO, Any, Iterator, Union - -from django.core.serializers.base import DeserializedObject -from django.core.serializers.python import Serializer as PythonSerializer -from django.db.models.fields import Field -from yaml import CSafeDumper as SafeDumper - -class DjangoSafeDumper(SafeDumper): - def represent_decimal(self, data: Any): ... - def represent_ordered_dict(self, data: Any): ... - -class Serializer(PythonSerializer): - internal_use_only: bool = ... - def handle_field(self, obj: Any, field: Field) -> None: ... - def end_serialization(self) -> None: ... - def getvalue(self) -> Any: ... - -def Deserializer( - stream_or_string: Union[bytes, str, IO[bytes], IO[str]], **options: Any -) -> Iterator[DeserializedObject]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/xml_serializer.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/xml_serializer.pyi deleted file mode 100644 index 4a721621..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/serializers/xml_serializer.pyi +++ /dev/null @@ -1,66 +0,0 @@ -from typing import IO, Any, Union -from xml.sax.expatreader import ExpatParser as _ExpatParser - -from django.core.serializers import base as base - -class Serializer(base.Serializer): - def indent(self, level: int) -> None: ... - xml: Any = ... - def start_serialization(self) -> None: ... - def end_serialization(self) -> None: ... - def start_object(self, obj: Any) -> None: ... - def end_object(self, obj: Any) -> None: ... - def handle_field(self, obj: Any, field: Any) -> None: ... - def handle_fk_field(self, obj: Any, field: Any) -> None: ... - def handle_m2m_field(self, obj: Any, field: Any) -> None: ... - -class Deserializer(base.Deserializer): - handle_forward_references: bool = ... - event_stream: Any = ... - db: str = ... - ignore: bool = ... - def __init__( - self, - stream_or_string: Union[bytes, str, IO[bytes], IO[str]], - *, - using: str = ..., - ignorenonexistent: bool = ..., - **options: Any - ) -> None: ... - def __next__(self) -> base.DeserializedObject: ... - -def getInnerText(node: Any) -> str: ... - -class DefusedExpatParser(_ExpatParser): - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def start_doctype_decl(self, name: Any, sysid: Any, pubid: Any, has_internal_subset: Any) -> None: ... - def entity_decl( - self, name: Any, is_parameter_entity: Any, value: Any, base: Any, sysid: Any, pubid: Any, notation_name: Any - ) -> None: ... - def unparsed_entity_decl(self, name: Any, base: Any, sysid: Any, pubid: Any, notation_name: Any) -> None: ... - def external_entity_ref_handler(self, context: Any, base: Any, sysid: Any, pubid: Any) -> None: ... - def reset(self) -> None: ... - -class DefusedXmlException(ValueError): ... - -class DTDForbidden(DefusedXmlException): - name: Any = ... - sysid: Any = ... - pubid: Any = ... - def __init__(self, name: Any, sysid: Any, pubid: Any) -> None: ... - -class EntitiesForbidden(DefusedXmlException): - name: Any = ... - value: Any = ... - base: Any = ... - sysid: Any = ... - pubid: Any = ... - notation_name: Any = ... - def __init__(self, name: Any, value: Any, base: Any, sysid: Any, pubid: Any, notation_name: Any) -> None: ... - -class ExternalReferenceForbidden(DefusedXmlException): - context: Any = ... - base: Any = ... - sysid: Any = ... - pubid: Any = ... - def __init__(self, context: Any, base: Any, sysid: Any, pubid: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/servers/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/servers/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/servers/basehttp.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/servers/basehttp.pyi deleted file mode 100644 index bef8ff8c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/servers/basehttp.pyi +++ /dev/null @@ -1,36 +0,0 @@ -import socketserver -from io import BytesIO -from typing import Any, Dict -from wsgiref import simple_server - -from django.core.handlers.wsgi import WSGIHandler, WSGIRequest -from django.core.wsgi import get_wsgi_application as get_wsgi_application # noqa: F401 - -class WSGIServer(simple_server.WSGIServer): - request_queue_size: int = ... - address_family: Any = ... - allow_reuse_address: Any = ... - def __init__(self, *args: Any, ipv6: bool = ..., allow_reuse_address: bool = ..., **kwargs: Any) -> None: ... - def handle_error(self, request: Any, client_address: Any) -> None: ... - -class ThreadedWSGIServer(socketserver.ThreadingMixIn, WSGIServer): ... - -class ServerHandler(simple_server.ServerHandler): - def handle_error(self) -> None: ... - -class WSGIRequestHandler(simple_server.WSGIRequestHandler): - close_connection: bool - connection: WSGIRequest # type: ignore[assignment] - request: WSGIRequest - rfile: BytesIO - wfile: BytesIO - protocol_version: str = ... - def address_string(self) -> str: ... - def log_message(self, format: str, *args: Any) -> None: ... - def get_environ(self) -> Dict[str, str]: ... - raw_requestline: bytes = ... - requestline: str = ... - request_version: str = ... - def handle(self) -> None: ... - -def get_internal_wsgi_application() -> WSGIHandler: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/signals.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/signals.pyi deleted file mode 100644 index edd2b308..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/signals.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from django.dispatch import Signal - -request_started: Signal = ... -request_finished: Signal = ... -got_request_exception: Signal = ... -setting_changed: Signal = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/signing.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/signing.pyi deleted file mode 100644 index c07a3310..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/signing.pyi +++ /dev/null @@ -1,66 +0,0 @@ -from datetime import timedelta -from typing import Any, Dict, Optional, Protocol, Type, Union - -class BadSignature(Exception): ... -class SignatureExpired(BadSignature): ... - -def b64_encode(s: bytes) -> bytes: ... -def b64_decode(s: bytes) -> bytes: ... -def base64_hmac(salt: str, value: Union[bytes, str], key: Union[bytes, str], algorithm: str = ...) -> str: ... -def get_cookie_signer(salt: str = ...) -> TimestampSigner: ... - -class Serializer(Protocol): - def dumps(self, obj: Any) -> bytes: ... - def loads(self, data: bytes) -> Any: ... - -class JSONSerializer: - def dumps(self, obj: Any) -> bytes: ... - def loads(self, data: bytes) -> Any: ... - -def dumps( - obj: Any, - key: Optional[Union[bytes, str]] = ..., - salt: str = ..., - serializer: Type[Serializer] = ..., - compress: bool = ..., -) -> str: ... -def loads( - s: str, - key: Optional[Union[bytes, str]] = ..., - salt: str = ..., - serializer: Type[Serializer] = ..., - max_age: Optional[Union[int, timedelta]] = ..., -) -> Any: ... - -class Signer: - key: str = ... - sep: str = ... - salt: str = ... - algorithm: str = ... - def __init__( - self, - key: Optional[Union[bytes, str]] = ..., - sep: str = ..., - salt: Optional[str] = ..., - algorithm: Optional[str] = ..., - ) -> None: ... - def signature(self, value: Union[bytes, str]) -> str: ... - def sign(self, value: str) -> str: ... - def unsign(self, signed_value: str) -> str: ... - def sign_object( - self, - obj: Any, - serializer: Type[Serializer] = ..., - compress: bool = ..., - ) -> str: ... - def unsign_object( - self, - signed_obj: str, - serializer: Type[Serializer] = ..., - **kwargs: Any, - ) -> Any: ... - -class TimestampSigner(Signer): - def timestamp(self) -> str: ... - def sign(self, value: str) -> str: ... - def unsign(self, value: str, max_age: Optional[Union[int, timedelta]] = ...) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/validators.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/validators.pyi deleted file mode 100644 index 89653a55..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/validators.pyi +++ /dev/null @@ -1,146 +0,0 @@ -from decimal import Decimal -from re import RegexFlag -from typing import Any, Callable, Collection, Dict, List, Optional, Pattern, Sequence, Sized, Tuple, Union - -from django.core.files.base import File - -EMPTY_VALUES: Any - -_Regex = Union[str, Pattern[str]] -_ValidatorCallable = Callable[[Any], None] - -class RegexValidator: - regex: _Regex = ... # Pattern[str] on instance, but may be str on class definition - message: str = ... - code: str = ... - inverse_match: bool = ... - flags: int = ... - def __init__( - self, - regex: Optional[_Regex] = ..., - message: Optional[str] = ..., - code: Optional[str] = ..., - inverse_match: Optional[bool] = ..., - flags: Optional[RegexFlag] = ..., - ) -> None: ... - def __call__(self, value: Any) -> None: ... - -class URLValidator(RegexValidator): - ul: str = ... - ipv4_re: str = ... - ipv6_re: str = ... - hostname_re: str = ... - domain_re: str = ... - tld_re: str = ... - host_re: str = ... - schemes: Sequence[str] = ... - def __init__(self, schemes: Optional[Sequence[str]] = ..., **kwargs: Any) -> None: ... - def __call__(self, value: str) -> None: ... - -integer_validator: RegexValidator = ... - -def validate_integer(value: Optional[Union[float, str]]) -> None: ... - -class EmailValidator: - message: str = ... - code: str = ... - user_regex: Pattern[str] = ... - domain_regex: Pattern[str] = ... - literal_regex: Pattern[str] = ... - domain_allowlist: Sequence[str] = ... - def __init__( - self, - message: Optional[str] = ..., - code: Optional[str] = ..., - allowlist: Optional[Sequence[str]] = ..., - *, - whitelist: Optional[Sequence[str]] = ..., - ) -> None: ... - @property - def domain_whitelist(self) -> Sequence[str]: ... - @domain_whitelist.setter - def domain_whitelist(self, allowlist: Sequence[str]) -> None: ... - def __call__(self, value: Optional[str]) -> None: ... - def validate_domain_part(self, domain_part: str) -> bool: ... - def __eq__(self, other: Any) -> bool: ... - -validate_email: EmailValidator = ... -slug_re: Pattern[str] = ... -validate_slug: RegexValidator = ... -slug_unicode_re: Pattern[str] = ... -validate_unicode_slug: RegexValidator = ... - -def validate_ipv4_address(value: str) -> None: ... -def validate_ipv6_address(value: str) -> None: ... -def validate_ipv46_address(value: str) -> None: ... - -_IPValidator = Tuple[List[Callable[[Any], None]], str] -ip_address_validator_map: Dict[str, _IPValidator] - -def ip_address_validators(protocol: str, unpack_ipv4: bool) -> _IPValidator: ... -def int_list_validator( - sep: str = ..., message: Optional[str] = ..., code: str = ..., allow_negative: bool = ... -) -> RegexValidator: ... - -validate_comma_separated_integer_list: RegexValidator - -class BaseValidator: - message: str = ... - code: str = ... - limit_value: Any = ... - def __init__(self, limit_value: Any, message: Optional[str] = ...) -> None: ... - def __call__(self, value: Any) -> None: ... - def compare(self, a: Any, b: Any) -> bool: ... - def clean(self, x: Any) -> Any: ... - def __eq__(self, other: Any) -> bool: ... - -class MaxValueValidator(BaseValidator): - message: str = ... - code: str = ... - def compare(self, a: Any, b: Any) -> bool: ... - -class MinValueValidator(BaseValidator): - message: str = ... - code: str = ... - def compare(self, a: Any, b: Any) -> bool: ... - -class MinLengthValidator(BaseValidator): - message: str = ... - code: str = ... - def compare(self, a: Any, b: Any) -> bool: ... - def clean(self, x: Sized) -> int: ... - -class MaxLengthValidator(BaseValidator): - message: str = ... - code: str = ... - def compare(self, a: Any, b: Any) -> bool: ... - def clean(self, x: Sized) -> int: ... - -class DecimalValidator: - messages: Dict[str, str] = ... - max_digits: Optional[int] = ... - decimal_places: Optional[int] = ... - def __init__(self, max_digits: Optional[int], decimal_places: Optional[int]) -> None: ... - def __call__(self, value: Decimal) -> None: ... - def __eq__(self, other: Any) -> bool: ... - -class FileExtensionValidator: - message: str = ... - code: str = ... - allowed_extensions: Optional[Collection[str]] = ... - def __init__( - self, - allowed_extensions: Optional[Collection[str]] = ..., - message: Optional[str] = ..., - code: Optional[str] = ..., - ) -> None: ... - def __call__(self, value: File) -> None: ... - -def get_available_image_extensions() -> Sequence[str]: ... -def validate_image_file_extension(value: File) -> None: ... - -class ProhibitNullCharactersValidator: - message: str = ... - code: str = ... - def __init__(self, message: Optional[str] = ..., code: Optional[str] = ...) -> None: ... - def __call__(self, value: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/wsgi.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/wsgi.pyi deleted file mode 100644 index ac5938a5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/core/wsgi.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.core.handlers.wsgi import WSGIHandler - -def get_wsgi_application() -> WSGIHandler: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/__init__.pyi deleted file mode 100644 index 1d32e71d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/__init__.pyi +++ /dev/null @@ -1,27 +0,0 @@ -from typing import Any - -from django.utils.connection import ConnectionProxy - -from . import migrations -from .backends.base.base import BaseDatabaseWrapper -from .utils import DEFAULT_DB_ALIAS as DEFAULT_DB_ALIAS # Not exported in __all__ -from .utils import DJANGO_VERSION_PICKLE_KEY as DJANGO_VERSION_PICKLE_KEY -from .utils import ConnectionDoesNotExist as ConnectionDoesNotExist -from .utils import ConnectionHandler, ConnectionRouter -from .utils import DatabaseError as DatabaseError -from .utils import DataError as DataError -from .utils import Error as Error -from .utils import IntegrityError as IntegrityError -from .utils import InterfaceError as InterfaceError -from .utils import InternalError as InternalError -from .utils import NotSupportedError as NotSupportedError -from .utils import OperationalError as OperationalError -from .utils import ProgrammingError as ProgrammingError - -connections: ConnectionHandler -router: ConnectionRouter -# Actually DefaultConnectionProxy, but quacks exactly like BaseDatabaseWrapper, it's not worth distinguishing the two. -connection: BaseDatabaseWrapper - -def close_old_connections(**kwargs: Any) -> None: ... -def reset_queries(**kwargs: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/base.pyi deleted file mode 100644 index a5a963b6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/base.pyi +++ /dev/null @@ -1,112 +0,0 @@ -from contextlib import contextmanager -from datetime import tzinfo -from typing import Any, Callable, Dict, Generator, Iterator, List, Optional, Set, Tuple, Type, TypeVar - -from django.db.backends.base.client import BaseDatabaseClient -from django.db.backends.base.creation import BaseDatabaseCreation -from django.db.backends.base.features import BaseDatabaseFeatures -from django.db.backends.base.introspection import BaseDatabaseIntrospection -from django.db.backends.base.operations import BaseDatabaseOperations -from django.db.backends.base.schema import BaseDatabaseSchemaEditor -from django.db.backends.base.validation import BaseDatabaseValidation -from django.db.backends.utils import CursorDebugWrapper, CursorWrapper - -NO_DB_ALIAS: str - -_T = TypeVar("_T", bound="BaseDatabaseWrapper") -_ExecuteWrapper = Callable[[Callable[[str, Any, bool, Dict[str, Any]], Any], str, Any, bool, Dict[str, Any]], Any] - -class BaseDatabaseWrapper: - data_types: Dict[str, str] = ... - data_types_suffix: Dict[str, str] = ... - data_type_check_constraints: Dict[str, str] = ... - vendor: str = ... - display_name: str = ... - SchemaEditorClass: Type[BaseDatabaseSchemaEditor] = ... - client_class: Type[BaseDatabaseClient] = ... - creation_class: Type[BaseDatabaseCreation] = ... - features_class: Type[BaseDatabaseFeatures] = ... - introspection_class: Type[BaseDatabaseIntrospection] = ... - ops_class: Type[BaseDatabaseOperations] = ... - validation_class: Type[BaseDatabaseValidation] = ... - queries_limit: int = ... - connection: Any = ... - settings_dict: Dict[str, Any] = ... - alias: str = ... - queries_log: Any = ... - force_debug_cursor: bool = ... - autocommit: bool = ... - in_atomic_block: bool = ... - savepoint_state: int = ... - savepoint_ids: List[str] = ... - commit_on_exit: bool = ... - needs_rollback: bool = ... - close_at: Optional[float] = ... - closed_in_transaction: bool = ... - errors_occurred: bool = ... - run_on_commit: List[Tuple[Set[str], Callable[[], None]]] = ... - run_commit_hooks_on_set_autocommit_on: bool = ... - execute_wrappers: List[_ExecuteWrapper] = ... - client: BaseDatabaseClient = ... - creation: BaseDatabaseCreation = ... - features: BaseDatabaseFeatures = ... - introspection: BaseDatabaseIntrospection = ... - ops: BaseDatabaseOperations = ... - validation: BaseDatabaseValidation = ... - def __init__(self, settings_dict: Dict[str, Any], alias: str = ...) -> None: ... - def ensure_timezone(self) -> bool: ... - @property - def timezone(self) -> Optional[tzinfo]: ... - @property - def timezone_name(self) -> str: ... - @property - def queries_logged(self) -> bool: ... - @property - def queries(self) -> List[Dict[str, str]]: ... - def get_connection_params(self) -> Dict[str, Any]: ... - def get_new_connection(self, conn_params: Any) -> Any: ... - def init_connection_state(self) -> None: ... - def create_cursor(self, name: Optional[Any] = ...) -> Any: ... - def connect(self) -> None: ... - def check_settings(self) -> None: ... - def ensure_connection(self) -> None: ... - def cursor(self) -> CursorWrapper: ... - def commit(self) -> None: ... - def rollback(self) -> None: ... - def close(self) -> None: ... - def savepoint(self) -> Optional[str]: ... - def savepoint_rollback(self, sid: str) -> None: ... - def savepoint_commit(self, sid: str) -> None: ... - def clean_savepoints(self) -> None: ... - def get_autocommit(self) -> bool: ... - def set_autocommit(self, autocommit: bool, force_begin_transaction_with_broken_autocommit: bool = ...) -> None: ... - def get_rollback(self) -> bool: ... - def set_rollback(self, rollback: bool) -> None: ... - def validate_no_atomic_block(self) -> None: ... - def validate_no_broken_transaction(self) -> None: ... - @contextmanager - def constraint_checks_disabled(self) -> Iterator[None]: ... - def disable_constraint_checking(self) -> bool: ... - def enable_constraint_checking(self) -> None: ... - def check_constraints(self, table_names: Optional[Any] = ...) -> None: ... - def is_usable(self) -> bool: ... - def close_if_unusable_or_obsolete(self) -> None: ... - @property - def allow_thread_sharing(self) -> bool: ... - def inc_thread_sharing(self) -> None: ... - def dec_thread_sharing(self) -> None: ... - def validate_thread_sharing(self) -> None: ... - def prepare_database(self) -> None: ... - @property - def wrap_database_errors(self) -> Any: ... - def chunked_cursor(self) -> CursorWrapper: ... - def make_debug_cursor(self, cursor: CursorWrapper) -> CursorDebugWrapper: ... - def make_cursor(self, cursor: CursorWrapper) -> CursorWrapper: ... - @contextmanager - def temporary_connection(self) -> Generator[CursorWrapper, None, None]: ... - def schema_editor(self, *args: Any, **kwargs: Any) -> BaseDatabaseSchemaEditor: ... - def on_commit(self, func: Callable[[], None]) -> None: ... - def run_and_clear_commit_hooks(self) -> None: ... - @contextmanager - def execute_wrapper(self, wrapper: _ExecuteWrapper) -> Generator[None, None, None]: ... - def copy(self: _T, alias: Optional[str] = ...) -> _T: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/client.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/client.pyi deleted file mode 100644 index c2a503a7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/client.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from typing import Any, Dict, Iterable, Optional, Sequence, Tuple - -from django.db.backends.base.base import BaseDatabaseWrapper - -class BaseDatabaseClient: - executable_name: Optional[str] = ... - connection: BaseDatabaseWrapper - def __init__(self, connection: BaseDatabaseWrapper) -> None: ... - @classmethod - def settings_to_cmd_args_env( - cls, - settings_dict: Dict[str, Any], - parameters: Iterable[str], - ) -> Tuple[Sequence[str], Optional[Dict[str, str]]]: ... - def runshell(self, parameters: Iterable[str]) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/creation.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/creation.pyi deleted file mode 100644 index af249d03..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/creation.pyi +++ /dev/null @@ -1,28 +0,0 @@ -from typing import Any, Dict, Optional, Tuple, Union - -from django.db.backends.base.base import BaseDatabaseWrapper - -TEST_DATABASE_PREFIX: str - -class BaseDatabaseCreation: - connection: BaseDatabaseWrapper - def __init__(self, connection: BaseDatabaseWrapper) -> None: ... - def create_test_db( - self, verbosity: int = ..., autoclobber: bool = ..., serialize: bool = ..., keepdb: bool = ... - ) -> str: ... - def set_as_test_mirror( - self, primary_settings_dict: Dict[str, Optional[Union[Dict[str, None], int, str]]] - ) -> None: ... - def serialize_db_to_string(self) -> str: ... - def deserialize_db_from_string(self, data: str) -> None: ... - def clone_test_db(self, suffix: Any, verbosity: int = ..., autoclobber: bool = ..., keepdb: bool = ...) -> None: ... - def get_test_db_clone_settings(self, suffix: str): ... - def destroy_test_db( - self, - old_database_name: Optional[str] = ..., - verbosity: int = ..., - keepdb: bool = ..., - suffix: Optional[str] = ..., - ) -> None: ... - def sql_table_creation_suffix(self): ... - def test_db_signature(self) -> Tuple[str, str, str, str]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/features.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/features.pyi deleted file mode 100644 index 4fd25bf0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/features.pyi +++ /dev/null @@ -1,129 +0,0 @@ -from typing import Any, Dict, Optional, Set, Type - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.models.base import Model - -class BaseDatabaseFeatures: - gis_enabled: bool - allows_group_by_lob: bool - allows_group_by_pk: bool - allows_group_by_selected_pks: bool - empty_fetchmany_value: Any - update_can_self_select: bool - interprets_empty_strings_as_nulls: bool - supports_nullable_unique_constraints: bool - supports_partially_nullable_unique_constraints: bool - supports_deferrable_unique_constraints: bool - can_use_chunked_reads: bool - can_return_columns_from_insert: bool - can_return_rows_from_bulk_insert: bool - has_bulk_insert: bool - uses_savepoints: bool - can_release_savepoints: bool - related_fields_match_type: bool - allow_sliced_subqueries_with_in: bool - has_select_for_update: bool - has_select_for_update_nowait: bool - has_select_for_update_skip_locked: bool - has_select_for_update_of: bool - has_select_for_no_key_update: bool - select_for_update_of_column: bool - test_db_allows_multiple_connections: bool - supports_unspecified_pk: bool - supports_forward_references: bool - truncates_names: bool - has_real_datatype: bool - supports_subqueries_in_group_by: bool - has_native_uuid_field: bool - has_native_duration_field: bool - supports_temporal_subtraction: bool - supports_regex_backreferencing: bool - supports_date_lookup_using_string: bool - supports_timezones: bool - has_zoneinfo_database: bool - requires_explicit_null_ordering_when_grouping: bool - nulls_order_largest: bool - supports_order_by_nulls_modifier: bool - order_by_nulls_first: bool - max_query_params: Any - allows_auto_pk_0: bool - can_defer_constraint_checks: bool - supports_mixed_date_datetime_comparisons: bool - supports_tablespaces: bool - supports_sequence_reset: bool - can_introspect_default: bool - can_introspect_foreign_keys: bool - introspected_field_types: Any - supports_index_column_ordering: bool - can_introspect_materialized_views: bool - can_distinct_on_fields: bool - atomic_transactions: bool - can_rollback_ddl: bool - supports_atomic_references_rename: bool - supports_combined_alters: bool - supports_foreign_keys: bool - can_create_inline_fk: bool - indexes_foreign_keys: bool - supports_column_check_constraints: bool - supports_table_check_constraints: bool - can_introspect_check_constraints: bool - supports_paramstyle_pyformat: bool - requires_literal_defaults: bool - connection_persists_old_columns: bool - closed_cursor_error_class: Any - has_case_insensitive_like: bool - bare_select_suffix: str - implied_column_null: bool - supports_select_for_update_with_limit: bool - greatest_least_ignores_nulls: bool - can_clone_databases: bool - ignores_table_name_case: bool - for_update_after_from: bool - supports_select_union: bool - supports_select_intersection: bool - supports_select_difference: bool - supports_slicing_ordering_in_compound: bool - supports_parentheses_in_compound: bool - supports_aggregate_filter_clause: bool - supports_index_on_text_field: bool - supports_over_clause: bool - supports_frame_range_fixed_distance: bool - only_supports_unbounded_with_preceding_and_following: bool - supports_cast_with_precision: bool - time_cast_precision: int - create_test_procedure_without_params_sql: Optional[str] - create_test_procedure_with_int_param_sql: Optional[str] - supports_callproc_kwargs: bool - supported_explain_formats: Set[Any] - validates_explain_options: bool - supports_default_in_lead_lag: bool - supports_ignore_conflicts: bool - requires_casted_case_in_updates: bool - supports_partial_indexes: bool - supports_functions_in_partial_indexes: bool - supports_covering_indexes: bool - supports_expression_indexes: bool - collate_as_index_expression: bool - allows_multiple_constraints_on_same_fields: bool - supports_boolean_expr_in_select_clause: bool - supports_json_field: bool - can_introspect_json_field: bool - supports_primitives_in_json_field: bool - has_native_json_field: bool - has_json_operators: bool - supports_json_field_contains: bool - json_key_contains_list_matching_requires_list: bool - has_json_object_function: bool - supports_collation_on_charfield: bool - supports_collation_on_textfield: bool - supports_non_deterministic_collations: bool - test_collations: Dict[str, Optional[str]] - django_test_expected_failures: Set[str] - django_test_skips: Dict[str, Set[str]] - connection: BaseDatabaseWrapper - def __init__(self, connection: BaseDatabaseWrapper) -> None: ... - @property - def supports_explaining_query_execution(self) -> bool: ... - @property - def supports_transactions(self) -> bool: ... - def allows_group_by_selected_pks_on_model(self, model: Type[Model]) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/introspection.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/introspection.pyi deleted file mode 100644 index 2c976ee3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/introspection.pyi +++ /dev/null @@ -1,31 +0,0 @@ -from collections import namedtuple -from typing import Any, Dict, Iterable, List, Optional, Set, Type - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.backends.utils import CursorWrapper -from django.db.models.base import Model - -TableInfo = namedtuple("TableInfo", ["name", "type"]) -FieldInfo = namedtuple( - "FieldInfo", - ["name", "type_code", "display_size", "internal_size", "precision", "scale", "null_ok", "default", "collation"], -) - -class BaseDatabaseIntrospection: - data_types_reverse: Any = ... - connection: BaseDatabaseWrapper - def __init__(self, connection: BaseDatabaseWrapper) -> None: ... - def get_field_type(self, data_type: str, description: FieldInfo) -> str: ... - def identifier_converter(self, name: str) -> str: ... - def table_names(self, cursor: Optional[CursorWrapper] = ..., include_views: bool = ...) -> List[str]: ... - def get_table_list(self, cursor: Optional[CursorWrapper]) -> Any: ... - def get_table_description(self, cursor: Optional[CursorWrapper], table_name: str) -> Any: ... - def get_migratable_models(self) -> Iterable[Type[Model]]: ... - def django_table_names(self, only_existing: bool = ..., include_views: bool = ...) -> List[str]: ... - def installed_models(self, tables: List[str]) -> Set[Type[Model]]: ... - def sequence_list(self) -> List[Dict[str, str]]: ... - def get_sequences(self, cursor: Optional[CursorWrapper], table_name: str, table_fields: Any = ...) -> Any: ... - def get_relations(self, cursor: Optional[CursorWrapper], table_name: str) -> Any: ... - def get_key_columns(self, cursor: Optional[CursorWrapper], table_name: str) -> Any: ... - def get_primary_key_column(self, cursor: Optional[CursorWrapper], table_name: str) -> Optional[str]: ... - def get_constraints(self, cursor: Optional[CursorWrapper], table_name: str) -> Any: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/operations.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/operations.pyi deleted file mode 100644 index 8031221d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/operations.pyi +++ /dev/null @@ -1,106 +0,0 @@ -from datetime import date -from datetime import datetime as real_datetime -from datetime import time, timedelta -from decimal import Decimal -from typing import Any, Dict, Iterable, List, Optional, Sequence, Tuple, Type, Union - -from django.core.management.color import Style -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.backends.utils import CursorWrapper -from django.db.models.base import Model -from django.db.models.expressions import Case, Expression -from django.db.models.fields import Field -from django.db.models.sql.compiler import SQLCompiler - -class BaseDatabaseOperations: - compiler_module: str = ... - integer_field_ranges: Dict[str, Tuple[int, int]] = ... - set_operators: Dict[str, str] = ... - cast_data_types: Dict[Any, Any] = ... - cast_char_field_without_max_length: Any = ... - PRECEDING: str = ... - FOLLOWING: str = ... - UNBOUNDED_PRECEDING: str = ... - UNBOUNDED_FOLLOWING: str = ... - CURRENT_ROW: str = ... - explain_prefix: Optional[str] = ... - connection: BaseDatabaseWrapper - def __init__(self, connection: BaseDatabaseWrapper) -> None: ... - def autoinc_sql(self, table: str, column: str) -> Optional[str]: ... - def bulk_batch_size(self, fields: Any, objs: Any): ... - def cache_key_culling_sql(self) -> str: ... - def unification_cast_sql(self, output_field: Field) -> str: ... - def date_extract_sql(self, lookup_type: str, field_name: str) -> Any: ... - # def date_interval_sql(self, timedelta: None) -> Any: ... - def date_trunc_sql(self, lookup_type: str, field_name: str, tzname: Optional[str] = ...) -> str: ... - def datetime_cast_date_sql(self, field_name: str, tzname: Optional[str]) -> str: ... - def datetime_cast_time_sql(self, field_name: str, tzname: Optional[str]) -> str: ... - def datetime_extract_sql(self, lookup_type: str, field_name: str, tzname: Optional[str]) -> str: ... - def datetime_trunc_sql(self, lookup_type: str, field_name: str, tzname: Optional[str]) -> str: ... - def time_trunc_sql(self, lookup_type: str, field_name: str, tzname: Optional[str] = ...) -> str: ... - def time_extract_sql(self, lookup_type: str, field_name: str) -> str: ... - def deferrable_sql(self) -> str: ... - def distinct_sql(self, fields: List[str], params: Optional[List[Any]]) -> Tuple[List[str], List[str]]: ... - def fetch_returned_insert_columns(self, cursor: Any, returning_params: Any) -> Any: ... - def field_cast_sql(self, db_type: Optional[str], internal_type: str) -> str: ... - def force_no_ordering(self) -> List[Any]: ... - def for_update_sql(self, nowait: bool = ..., skip_locked: bool = ..., of: Any = ..., no_key: bool = ...) -> str: ... - def limit_offset_sql(self, low_mark: int, high_mark: Optional[int]) -> str: ... - def last_executed_query(self, cursor: Any, sql: Any, params: Any) -> str: ... - def last_insert_id(self, cursor: CursorWrapper, table_name: str, pk_name: str) -> int: ... - def lookup_cast(self, lookup_type: str, internal_type: Optional[str] = ...) -> str: ... - def max_in_list_size(self) -> Optional[int]: ... - def max_name_length(self) -> Optional[int]: ... - def no_limit_value(self) -> Optional[str]: ... - def pk_default_value(self) -> str: ... - def prepare_sql_script(self, sql: Any) -> List[str]: ... - def process_clob(self, value: str) -> str: ... - def return_insert_columns(self, fields: Any) -> Any: ... - def compiler(self, compiler_name: str) -> Type[SQLCompiler]: ... - def quote_name(self, name: str) -> str: ... - def regex_lookup(self, lookup_type: str) -> str: ... - def savepoint_create_sql(self, sid: str) -> str: ... - def savepoint_commit_sql(self, sid: str) -> str: ... - def savepoint_rollback_sql(self, sid: str) -> str: ... - def set_time_zone_sql(self) -> str: ... - def sql_flush( - self, style: Any, tables: Sequence[str], *, reset_sequences: bool = ..., allow_cascade: bool = ... - ) -> List[str]: ... - def execute_sql_flush(self, sql_list: Iterable[str]) -> None: ... - def sequence_reset_by_name_sql(self, style: Optional[Style], sequences: List[Any]) -> List[Any]: ... - def sequence_reset_sql(self, style: Style, model_list: Sequence[Type[Model]]) -> List[Any]: ... - def start_transaction_sql(self) -> str: ... - def end_transaction_sql(self, success: bool = ...) -> str: ... - def tablespace_sql(self, tablespace: Optional[str], inline: bool = ...) -> str: ... - def prep_for_like_query(self, x: str) -> str: ... - prep_for_iexact_query: Any = ... - def validate_autopk_value(self, value: int) -> int: ... - def adapt_unknown_value(self, value: Any) -> Any: ... - def adapt_datefield_value(self, value: Optional[date]) -> Optional[str]: ... - def adapt_datetimefield_value(self, value: Optional[real_datetime]) -> Optional[str]: ... - def adapt_timefield_value(self, value: Optional[Union[real_datetime, time]]) -> Optional[str]: ... - def adapt_decimalfield_value( - self, value: Optional[Decimal], max_digits: Optional[int] = ..., decimal_places: Optional[int] = ... - ) -> Optional[str]: ... - def adapt_ipaddressfield_value(self, value: Optional[str]) -> Optional[str]: ... - def year_lookup_bounds_for_date_field(self, value: int) -> List[str]: ... - def year_lookup_bounds_for_datetime_field(self, value: int) -> List[str]: ... - def get_db_converters(self, expression: Expression) -> List[Any]: ... - def convert_durationfield_value( - self, value: Optional[float], expression: Expression, connection: BaseDatabaseWrapper - ) -> Optional[timedelta]: ... - def check_expression_support(self, expression: Any) -> None: ... - def conditional_expression_supported_in_where_clause(self, expression: Any) -> bool: ... - def combine_expression(self, connector: str, sub_expressions: List[str]) -> str: ... - def combine_duration_expression(self, connector: Any, sub_expressions: Any): ... - def binary_placeholder_sql(self, value: Optional[Case]) -> str: ... - def modify_insert_params(self, placeholder: str, params: Any) -> Any: ... - def integer_field_range(self, internal_type: Any) -> Tuple[int, int]: ... - def subtract_temporals(self, internal_type: Any, lhs: Any, rhs: Any): ... - def window_frame_start(self, start: Any) -> str: ... - def window_frame_end(self, end: Any) -> str: ... - def window_frame_rows_start_end(self, start: Optional[int] = ..., end: Optional[int] = ...) -> Tuple[str, str]: ... - def window_frame_range_start_end(self, start: Optional[int] = ..., end: Optional[int] = ...) -> Tuple[str, str]: ... - def explain_query_prefix(self, format: Optional[str] = ..., **options: Any) -> str: ... - def insert_statement(self, ignore_conflicts: bool = ...) -> str: ... - def ignore_conflicts_suffix_sql(self, ignore_conflicts: Optional[Any] = ...) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/schema.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/schema.pyi deleted file mode 100644 index edd3218c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/schema.pyi +++ /dev/null @@ -1,80 +0,0 @@ -from typing import Any, ContextManager, List, Optional, Sequence, Tuple, Type, Union - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.backends.ddl_references import Statement -from django.db.models.base import Model -from django.db.models.fields import Field -from django.db.models.indexes import Index - -logger: Any - -class BaseDatabaseSchemaEditor(ContextManager[Any]): - sql_create_table: str = ... - sql_rename_table: str = ... - sql_retablespace_table: str = ... - sql_delete_table: str = ... - sql_create_column: str = ... - sql_alter_column: str = ... - sql_alter_column_type: str = ... - sql_alter_column_null: str = ... - sql_alter_column_not_null: str = ... - sql_alter_column_default: str = ... - sql_alter_column_no_default: str = ... - sql_delete_column: str = ... - sql_rename_column: str = ... - sql_update_with_default: str = ... - sql_create_check: str = ... - sql_delete_check: str = ... - sql_create_unique: str = ... - sql_delete_unique: str = ... - - sql_create_fk: str = ... - sql_create_inline_fk: Optional[str] = ... - sql_create_column_inline_fk: Optional[str] = ... - sql_delete_fk: str = ... - - sql_create_index: str = ... - sql_delete_index: str = ... - sql_create_pk: str = ... - sql_delete_pk: str = ... - sql_delete_procedure: str = ... - connection: BaseDatabaseWrapper = ... - collect_sql: bool = ... - collected_sql: Any = ... - atomic_migration: Any = ... - def __init__(self, connection: BaseDatabaseWrapper, collect_sql: bool = ..., atomic: bool = ...) -> None: ... - deferred_sql: Any = ... - atomic: Any = ... - def __enter__(self) -> BaseDatabaseSchemaEditor: ... - def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: ... - def execute(self, sql: Union[Statement, str], params: Optional[Sequence[Any]] = ...) -> None: ... - def quote_name(self, name: str) -> str: ... - def column_sql( - self, model: Type[Model], field: Field, include_default: bool = ... - ) -> Union[Tuple[None, None], Tuple[str, List[Any]]]: ... - def skip_default(self, field: Any): ... - def prepare_default(self, value: Any) -> Any: ... - def effective_default(self, field: Field) -> Union[int, str]: ... - def quote_value(self, value: Any) -> str: ... - def create_model(self, model: Type[Model]) -> None: ... - def delete_model(self, model: Type[Model]) -> None: ... - def add_index(self, model: Type[Model], index: Index) -> None: ... - def remove_index(self, model: Type[Model], index: Index) -> None: ... - def alter_unique_together( - self, - model: Type[Model], - old_unique_together: Sequence[Sequence[str]], - new_unique_together: Sequence[Sequence[str]], - ) -> None: ... - def alter_index_together( - self, - model: Type[Model], - old_index_together: Sequence[Sequence[str]], - new_index_together: Sequence[Sequence[str]], - ) -> None: ... - def alter_db_table(self, model: Type[Model], old_db_table: str, new_db_table: str) -> None: ... - def alter_db_tablespace(self, model: Any, old_db_tablespace: Any, new_db_tablespace: Any) -> None: ... - def add_field(self, model: Any, field: Any): ... - def remove_field(self, model: Any, field: Any): ... - def alter_field(self, model: Type[Model], old_field: Field, new_field: Field, strict: bool = ...) -> None: ... - def remove_procedure(self, procedure_name: Any, param_types: Any = ...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/validation.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/validation.pyi deleted file mode 100644 index 27fdd627..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/base/validation.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any, List - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.models.fields import Field - -class BaseDatabaseValidation: - connection: BaseDatabaseWrapper = ... - def __init__(self, connection: BaseDatabaseWrapper) -> None: ... - def check(self, **kwargs: Any) -> List[Any]: ... - def check_field(self, field: Field, **kwargs: Any) -> List[Any]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/ddl_references.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/ddl_references.pyi deleted file mode 100644 index b1f8e98d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/ddl_references.pyi +++ /dev/null @@ -1,88 +0,0 @@ -import sys -from typing import Any, Dict, List, Sequence - -if sys.version_info < (3, 8): - from typing_extensions import Protocol -else: - from typing import Protocol - -class _QuoteCallable(Protocol): - """Get rid of `cannot assign to method`""" - - def __call__(self, __column: str) -> str: ... - -class Reference: - def references_table(self, table: Any): ... - def references_column(self, table: Any, column: Any): ... - def rename_table_references(self, old_table: Any, new_table: Any) -> None: ... - def rename_column_references(self, table: Any, old_column: Any, new_column: Any) -> None: ... - -class Table(Reference): - table: str = ... - quote_name: _QuoteCallable = ... - def __init__(self, table: str, quote_name: _QuoteCallable) -> None: ... - def references_table(self, table: str) -> bool: ... - def rename_table_references(self, old_table: str, new_table: str) -> None: ... - -class TableColumns(Table): - table: str = ... - columns: List[str] = ... - def __init__(self, table: str, columns: List[str]) -> None: ... - def references_column(self, table: str, column: str) -> bool: ... - def rename_column_references(self, table: str, old_column: str, new_column: str) -> None: ... - -class Columns(TableColumns): - columns: List[str] - table: str - quote_name: _QuoteCallable = ... - col_suffixes: Sequence[str] = ... - def __init__( - self, table: str, columns: List[str], quote_name: _QuoteCallable, col_suffixes: Sequence[str] = ... - ) -> None: ... - -class _NameCallable(Protocol): - """Get rid of `cannot assign to method`""" - - def __call__(self, __table: str, __columns: List[str], __suffix: str) -> str: ... - -class IndexName(TableColumns): - columns: List[str] - table: str - suffix: str = ... - create_index_name: _NameCallable = ... - def __init__(self, table: str, columns: List[str], suffix: str, create_index_name: _NameCallable) -> None: ... - -class IndexColumns(Columns): - opclasses: Any = ... - def __init__( - self, table: Any, columns: Any, quote_name: Any, col_suffixes: Any = ..., opclasses: Any = ... - ) -> None: ... - -class ForeignKeyName(TableColumns): - columns: List[str] - table: str - to_reference: TableColumns = ... - suffix_template: str = ... - create_fk_name: _NameCallable = ... - def __init__( - self, - from_table: str, - from_columns: List[str], - to_table: str, - to_columns: List[str], - suffix_template: str, - create_fk_name: _NameCallable, - ) -> None: ... - def references_table(self, table: str) -> bool: ... - def references_column(self, table: str, column: str) -> bool: ... - def rename_table_references(self, old_table: str, new_table: str) -> None: ... - def rename_column_references(self, table: str, old_column: str, new_column: str) -> None: ... - -class Statement(Reference): - template: str = ... - parts: Dict[str, Table] = ... - def __init__(self, template: str, **parts: Any) -> None: ... - def references_table(self, table: str) -> bool: ... - def references_column(self, table: str, column: str) -> bool: ... - def rename_table_references(self, old_table: str, new_table: str) -> None: ... - def rename_column_references(self, table: str, old_column: str, new_column: str) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/dummy/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/dummy/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/dummy/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/dummy/base.pyi deleted file mode 100644 index 3f969d81..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/dummy/base.pyi +++ /dev/null @@ -1,30 +0,0 @@ -from typing import Any - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.backends.base.client import BaseDatabaseClient -from django.db.backends.base.creation import BaseDatabaseCreation -from django.db.backends.base.introspection import BaseDatabaseIntrospection -from django.db.backends.base.operations import BaseDatabaseOperations - -def complain(*args: Any, **kwargs: Any) -> Any: ... -def ignore(*args: Any, **kwargs: Any) -> None: ... - -class DatabaseOperations(BaseDatabaseOperations): - quote_name: Any = ... - -class DatabaseClient(BaseDatabaseClient): ... - -class DatabaseCreation(BaseDatabaseCreation): - create_test_db: Any = ... - destroy_test_db: Any = ... - -class DatabaseIntrospection(BaseDatabaseIntrospection): - get_table_list: Any = ... - get_table_description: Any = ... - get_relations: Any = ... - get_indexes: Any = ... - get_key_columns: Any = ... - -class DatabaseWrapper(BaseDatabaseWrapper): - operators: Any = ... - ensure_connection: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/dummy/features.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/dummy/features.pyi deleted file mode 100644 index 7e05ffdd..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/dummy/features.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from django.db.backends.base.features import BaseDatabaseFeatures as BaseDatabaseFeatures - -class DummyDatabaseFeatures(BaseDatabaseFeatures): - supports_transactions: bool = ... - uses_savepoints: bool = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/base.pyi deleted file mode 100644 index 63fa0f63..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/base.pyi +++ /dev/null @@ -1,77 +0,0 @@ -import sys -from typing import Any, Dict, Optional, Type - -from django.db.backends.base.base import BaseDatabaseWrapper as BaseDatabaseWrapper - -from .client import DatabaseClient -from .creation import DatabaseCreation -from .features import DatabaseFeatures -from .introspection import DatabaseIntrospection -from .operations import DatabaseOperations -from .validation import DatabaseValidation - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -version: Any -django_conversions: Any -server_version_re: Any - -class CursorWrapper: - codes_for_integrityerror: Any = ... - cursor: Any = ... - def __init__(self, cursor: Any) -> None: ... - def execute(self, query: Any, args: Optional[Any] = ...): ... - def executemany(self, query: Any, args: Any): ... - def __getattr__(self, attr: Any): ... - def __iter__(self) -> Any: ... - -class DatabaseWrapper(BaseDatabaseWrapper): - client: DatabaseClient - creation: DatabaseCreation - features: DatabaseFeatures - introspection: DatabaseIntrospection - validation: DatabaseValidation - ops: DatabaseOperations - - client_class: Type[DatabaseClient] - creation_class: Type[DatabaseCreation] - features_class: Type[DatabaseFeatures] - introspection_class: Type[DatabaseIntrospection] - ops_class: Type[DatabaseOperations] - validation_class: Type[DatabaseValidation] - - vendor: str = ... - data_types: Any = ... - operators: Any = ... - pattern_esc: str = ... - pattern_ops: Any = ... - isolation_levels: Any = ... - Database: Any = ... - SchemaEditorClass: Any = ... - isolation_level: Any = ... - def get_connection_params(self) -> Dict[str, Any]: ... - def get_new_connection(self, conn_params: Any): ... - def init_connection_state(self) -> None: ... - def create_cursor(self, name: Optional[Any] = ...): ... - def disable_constraint_checking(self) -> Literal[True]: ... - needs_rollback: Any = ... - def enable_constraint_checking(self) -> None: ... - def check_constraints(self, table_names: Optional[Any] = ...) -> None: ... - def is_usable(self) -> bool: ... - @property - def display_name(self) -> str: ... # type: ignore - @property - def data_type_check_constraints(self): ... - @property - def mysql_server_data(self) -> Dict[str, Any]: ... - @property - def mysql_server_info(self): ... - @property - def mysql_version(self): ... - @property - def mysql_is_mariadb(self): ... - @property - def sql_mode(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/client.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/client.pyi deleted file mode 100644 index 1c8aa3e9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/client.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from typing import Any, Dict, Iterable, List, Optional, Sequence, Tuple - -from django.db.backends.base.client import BaseDatabaseClient -from django.db.backends.mysql.base import DatabaseWrapper - -class DatabaseClient(BaseDatabaseClient): - connection: DatabaseWrapper - executable_name: str = ... - @classmethod - def settings_to_cmd_args_env( - cls, - settings_dict: Dict[str, Any], - parameters: Iterable[str], - ) -> Tuple[List[str], Optional[Dict[str, str]]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/compiler.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/compiler.pyi deleted file mode 100644 index aa6e1e4c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/compiler.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from typing import Any - -from django.db.models.sql import compiler as compiler - -class SQLCompiler(compiler.SQLCompiler): - def as_subquery_condition(self, alias: Any, columns: Any, compiler: Any): ... - -class SQLInsertCompiler(compiler.SQLInsertCompiler, SQLCompiler): ... - -class SQLDeleteCompiler(compiler.SQLDeleteCompiler, SQLCompiler): - def as_sql(self): ... - -class SQLUpdateCompiler(compiler.SQLUpdateCompiler, SQLCompiler): ... -class SQLAggregateCompiler(compiler.SQLAggregateCompiler, SQLCompiler): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/creation.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/creation.pyi deleted file mode 100644 index 76779e41..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/creation.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from django.db.backends.base.creation import BaseDatabaseCreation as BaseDatabaseCreation -from django.db.backends.mysql.base import DatabaseWrapper - -class DatabaseCreation(BaseDatabaseCreation): - connection: DatabaseWrapper - def sql_table_creation_suffix(self) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/features.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/features.pyi deleted file mode 100644 index 0e1cfa72..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/features.pyi +++ /dev/null @@ -1,87 +0,0 @@ -from typing import Any, Dict, Set - -from django.db.backends.base.features import BaseDatabaseFeatures as BaseDatabaseFeatures -from django.db.backends.mysql.base import DatabaseWrapper - -class DatabaseFeatures(BaseDatabaseFeatures): - connection: DatabaseWrapper - empty_fetchmany_value: Any = ... - allows_group_by_pk: bool = ... - related_fields_match_type: bool = ... - allow_sliced_subqueries_with_in: bool = ... - has_select_for_update: bool = ... - supports_forward_references: bool = ... - supports_regex_backreferencing: bool = ... - supports_date_lookup_using_string: bool = ... - can_introspect_autofield: bool = ... - can_introspect_binary_field: bool = ... - can_introspect_duration_field: bool = ... - can_introspect_small_integer_field: bool = ... - can_introspect_positive_integer_field: bool = ... - introspected_boolean_field_type: str = ... - supports_timezones: bool = ... - requires_explicit_null_ordering_when_grouping: bool = ... - can_release_savepoints: bool = ... - atomic_transactions: bool = ... - can_clone_databases: bool = ... - supports_temporal_subtraction: bool = ... - supports_select_intersection: bool = ... - supports_select_difference: bool = ... - supports_slicing_ordering_in_compound: bool = ... - supports_index_on_text_field: bool = ... - has_case_insensitive_like: bool = ... - create_test_procedure_without_params_sql: str = ... - create_test_procedure_with_int_param_sql: str = ... - db_functions_convert_bytes_to_str: bool = ... - supports_partial_indexes: bool = ... - supports_order_by_nulls_modifier: bool = ... - order_by_nulls_first: bool = ... - - # fake properties (until `property` is generic) - supports_frame_range_fixed_distance: bool = ... - supports_table_check_constraints: bool = ... - can_return_rows_from_bulk_insert: bool = ... - @property - def allows_auto_pk_0(self) -> bool: ... # type: ignore - @property - def update_can_self_select(self) -> bool: ... # type: ignore - @property - def can_introspect_foreign_keys(self) -> bool: ... # type: ignore - @property - def introspected_field_types(self) -> Dict[str, str]: ... - @property - def can_return_columns_from_insert(self) -> bool: ... # type: ignore - @property - def has_zoneinfo_database(self) -> bool: ... # type: ignore - @property - def is_sql_auto_is_null_enabled(self) -> bool: ... - @property - def supports_over_clause(self) -> bool: ... # type: ignore - @property - def supports_column_check_constraints(self) -> bool: ... # type: ignore - @property - def can_introspect_check_constraints(self) -> bool: ... # type: ignore - @property - def has_select_for_update_skip_locked(self) -> bool: ... # type: ignore - @property - def has_select_for_update_nowait(self) -> bool: ... # type: ignore - @property - def has_select_for_update_of(self) -> bool: ... # type: ignore - @property - def supports_explain_analyze(self) -> bool: ... - @property - def supported_explain_formats(self) -> Set[str]: ... # type: ignore - @property - def supports_transactions(self) -> bool: ... - @property - def ignores_table_name_case(self) -> bool: ... # type: ignore - @property - def supports_default_in_lead_lag(self) -> bool: ... # type: ignore - @property - def supports_json_field(self) -> bool: ... # type: ignore - @property - def can_introspect_json_field(self) -> bool: ... # type: ignore - @property - def supports_index_column_ordering(self) -> bool: ... # type: ignore - @property - def supports_expression_indexes(self) -> bool: ... # type: ignore diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/introspection.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/introspection.pyi deleted file mode 100644 index 80ed69c0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/introspection.pyi +++ /dev/null @@ -1,33 +0,0 @@ -from collections import namedtuple -from typing import Any - -from django.db.backends.base.introspection import BaseDatabaseIntrospection as BaseDatabaseIntrospection -from django.db.backends.mysql.base import DatabaseWrapper - -FieldInfo: Any -InfoLine = namedtuple( - "InfoLine", - [ - "col_name", - "data_type", - "max_len", - "num_prec", - "num_scale", - "extra", - "column_default", - "collation", - "is_unsigned", - ], -) - -class DatabaseIntrospection(BaseDatabaseIntrospection): - connection: DatabaseWrapper - data_types_reverse: Any = ... - def get_field_type(self, data_type: Any, description: Any): ... - def get_table_list(self, cursor: Any): ... - def get_table_description(self, cursor: Any, table_name: Any): ... - def get_sequences(self, cursor: Any, table_name: Any, table_fields: Any = ...): ... - def get_relations(self, cursor: Any, table_name: Any): ... - def get_key_columns(self, cursor: Any, table_name: Any): ... - def get_storage_engine(self, cursor: Any, table_name: Any): ... - def get_constraints(self, cursor: Any, table_name: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/operations.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/operations.pyi deleted file mode 100644 index 40f212c8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/operations.pyi +++ /dev/null @@ -1,43 +0,0 @@ -from typing import Any, Dict, Optional, Tuple - -from django.db.backends.base.operations import BaseDatabaseOperations as BaseDatabaseOperations -from django.db.backends.mysql.base import DatabaseWrapper - -class DatabaseOperations(BaseDatabaseOperations): - connection: DatabaseWrapper - compiler_module: str = ... - integer_field_ranges: Dict[str, Tuple[int, int]] = ... - cast_data_types: Dict[str, str] = ... - cast_char_field_without_max_length: str = ... - explain_prefix: str = ... - def date_extract_sql(self, lookup_type: str, field_name: str): ... - def date_trunc_sql(self, lookup_type: str, field_name: str, tzname: Optional[str] = ...): ... - def datetime_cast_date_sql(self, field_name: str, tzname: Optional[str]): ... - def datetime_cast_time_sql(self, field_name: str, tzname: Optional[str]): ... - def datetime_extract_sql(self, lookup_type: str, field_name: str, tzname: Optional[str]): ... - def datetime_trunc_sql(self, lookup_type: str, field_name: str, tzname: Optional[str]): ... - def time_trunc_sql(self, lookup_type: str, field_name: str, tzname: Optional[str] = ...): ... - def fetch_returned_insert_rows(self, cursor: Any): ... - def format_for_duration_arithmetic(self, sql: Any): ... - def force_no_ordering(self): ... - def last_executed_query(self, cursor: Any, sql: Any, params: Any): ... - def no_limit_value(self): ... - def quote_name(self, name: str): ... - def return_insert_columns(self, fields: Any): ... - def sequence_reset_by_name_sql(self, style: Any, sequences: Any): ... - def validate_autopk_value(self, value: Any): ... - def adapt_datetimefield_value(self, value: Any): ... - def adapt_timefield_value(self, value: Any): ... - def max_name_length(self): ... - def bulk_insert_sql(self, fields: Any, placeholder_rows: Any): ... - def combine_expression(self, connector: Any, sub_expressions: Any): ... - def get_db_converters(self, expression: Any): ... - def convert_booleanfield_value(self, value: Any, expression: Any, connection: Any): ... - def convert_datetimefield_value(self, value: Any, expression: Any, connection: Any): ... - def convert_uuidfield_value(self, value: Any, expression: Any, connection: Any): ... - def binary_placeholder_sql(self, value: Any): ... - def subtract_temporals(self, internal_type: Any, lhs: Any, rhs: Any): ... - def explain_query_prefix(self, format: Optional[Any] = ..., **options: Any): ... - def regex_lookup(self, lookup_type: str): ... - def insert_statement(self, ignore_conflicts: bool = ...): ... - def lookup_cast(self, lookup_type: str, internal_type: Optional[Any] = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/schema.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/schema.pyi deleted file mode 100644 index acf0f27a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/schema.pyi +++ /dev/null @@ -1,26 +0,0 @@ -from typing import Any - -from django.db.backends.base.schema import BaseDatabaseSchemaEditor as BaseDatabaseSchemaEditor -from django.db.backends.mysql.base import DatabaseWrapper - -class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): - connection: DatabaseWrapper - sql_rename_table: str = ... - sql_alter_column_null: str = ... - sql_alter_column_not_null: str = ... - sql_alter_column_type: str = ... - sql_delete_column: str = ... - sql_delete_unique: str = ... - sql_create_column_inline_fk: str = ... - sql_delete_fk: str = ... - sql_delete_index: str = ... - sql_create_pk: str = ... - sql_delete_pk: str = ... - sql_create_index: str = ... - @property - def sql_delete_check(self): ... - @property - def sql_rename_column(self): ... - def quote_value(self, value: Any): ... - def skip_default(self, field: Any): ... - def add_field(self, model: Any, field: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/validation.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/validation.pyi deleted file mode 100644 index 43166f2f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/mysql/validation.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from typing import Any - -from django.db.backends.base.validation import BaseDatabaseValidation as BaseDatabaseValidation -from django.db.backends.mysql.base import DatabaseWrapper - -class DatabaseValidation(BaseDatabaseValidation): - connection: DatabaseWrapper - def check(self, **kwargs: Any): ... - def check_field_type(self, field: Any, field_type: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/base.pyi deleted file mode 100644 index 41e13d1a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/base.pyi +++ /dev/null @@ -1,77 +0,0 @@ -from contextlib import contextmanager -from typing import Any, Generator, Optional, Type - -from django.db.backends.base.base import BaseDatabaseWrapper as BaseDatabaseWrapper - -from .client import DatabaseClient -from .creation import DatabaseCreation -from .features import DatabaseFeatures -from .introspection import DatabaseIntrospection -from .operations import DatabaseOperations -from .validation import DatabaseValidation - -@contextmanager -def wrap_oracle_errors() -> Generator[None, None, None]: ... - -class _UninitializedOperatorsDescriptor: - def __get__(self, instance: Any, cls: Optional[Any] = ...): ... - -class DatabaseWrapper(BaseDatabaseWrapper): - client: DatabaseClient - creation: DatabaseCreation - features: DatabaseFeatures - introspection: DatabaseIntrospection - validation: DatabaseValidation - ops: DatabaseOperations - - client_class: Type[DatabaseClient] - creation_class: Type[DatabaseCreation] - features_class: Type[DatabaseFeatures] - introspection_class: Type[DatabaseIntrospection] - ops_class: Type[DatabaseOperations] - validation_class: Type[DatabaseValidation] - - vendor: str = ... - display_name: str = ... - data_types: Any = ... - data_type_check_constraints: Any = ... - operators: Any = ... - pattern_esc: str = ... - Database: Any = ... - SchemaEditorClass: Any = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def get_connection_params(self): ... - def get_new_connection(self, conn_params: Any): ... - pattern_ops: Any = ... - def init_connection_state(self) -> None: ... - def create_cursor(self, name: Optional[Any] = ...): ... - def check_constraints(self, table_names: Optional[Any] = ...) -> None: ... - def is_usable(self): ... - @property - def cx_oracle_version(self): ... - @property - def oracle_version(self): ... - -class OracleParam: - force_bytes: Any = ... - input_size: Any = ... - def __init__(self, param: Any, cursor: Any, strings_only: bool = ...) -> None: ... - -class VariableWrapper: - var: Any = ... - def __init__(self, var: Any) -> None: ... - def bind_parameter(self, cursor: Any): ... - def __getattr__(self, key: Any): ... - def __setattr__(self, key: Any, value: Any) -> None: ... - -class FormatStylePlaceholderCursor: - charset: str = ... - cursor: Any = ... - def __init__(self, connection: Any) -> None: ... - def execute(self, query: Any, params: Optional[Any] = ...): ... - def executemany(self, query: Any, params: Optional[Any] = ...): ... - def close(self) -> None: ... - def var(self, *args: Any): ... - def arrayvar(self, *args: Any): ... - def __getattr__(self, attr: Any): ... - def __iter__(self) -> Any: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/client.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/client.pyi deleted file mode 100644 index cb97ca4d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/client.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from typing import Any, Dict, Iterable, List, Tuple - -from django.db.backends.base.client import BaseDatabaseClient as BaseDatabaseClient -from django.db.backends.oracle.base import DatabaseWrapper - -class DatabaseClient(BaseDatabaseClient): - connection: DatabaseWrapper - executable_name: str = ... - wrapper_name: str = ... - @staticmethod - def connect_string(settings_dict: Dict[str, Any]) -> str: ... - @classmethod - def settings_to_cmd_args_env( - cls, settings_dict: Dict[str, Any], parameters: Iterable[str] - ) -> Tuple[List[str], None]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/creation.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/creation.pyi deleted file mode 100644 index a2c997ae..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/creation.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Any - -from django.db.backends.base.creation import BaseDatabaseCreation as BaseDatabaseCreation -from django.db.backends.oracle.base import DatabaseWrapper - -TEST_DATABASE_PREFIX: str - -class DatabaseCreation(BaseDatabaseCreation): - connection: DatabaseWrapper - def set_as_test_mirror(self, primary_settings_dict: Any) -> None: ... - def test_db_signature(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/features.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/features.pyi deleted file mode 100644 index 091e37ab..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/features.pyi +++ /dev/null @@ -1,51 +0,0 @@ -from typing import Any - -from django.db.backends.base.features import BaseDatabaseFeatures as BaseDatabaseFeatures -from django.db.backends.oracle.base import DatabaseWrapper - -class DatabaseFeatures(BaseDatabaseFeatures): - connection: DatabaseWrapper - interprets_empty_strings_as_nulls: bool = ... - has_select_for_update: bool = ... - has_select_for_update_nowait: bool = ... - has_select_for_update_skip_locked: bool = ... - has_select_for_update_of: bool = ... - select_for_update_of_column: bool = ... - can_return_columns_from_insert: bool = ... - can_introspect_autofield: bool = ... - supports_subqueries_in_group_by: bool = ... - supports_transactions: bool = ... - supports_timezones: bool = ... - has_native_duration_field: bool = ... - can_defer_constraint_checks: bool = ... - supports_partially_nullable_unique_constraints: bool = ... - supports_deferrable_unique_constraints: bool = ... - truncates_names: bool = ... - supports_tablespaces: bool = ... - supports_sequence_reset: bool = ... - can_introspect_materialized_views: bool = ... - can_introspect_time_field: bool = ... - atomic_transactions: bool = ... - supports_combined_alters: bool = ... - nulls_order_largest: bool = ... - requires_literal_defaults: bool = ... - closed_cursor_error_class: Any = ... - bare_select_suffix: str = ... - supports_select_for_update_with_limit: bool = ... - supports_temporal_subtraction: bool = ... - ignores_table_name_case: bool = ... - supports_index_on_text_field: bool = ... - has_case_insensitive_like: bool = ... - create_test_procedure_without_params_sql: str = ... - create_test_procedure_with_int_param_sql: str = ... - supports_callproc_kwargs: bool = ... - supports_over_clause: bool = ... - supports_frame_range_fixed_distance: bool = ... - supports_ignore_conflicts: bool = ... - max_query_params: Any = ... - supports_partial_indexes: bool = ... - supports_slicing_ordering_in_compound: bool = ... - allows_multiple_constraints_on_same_fields: bool = ... - supports_boolean_expr_in_select_clause: bool = ... - supports_primitives_in_json_field: bool = ... - supports_json_field_contains: bool = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/functions.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/functions.pyi deleted file mode 100644 index b536868f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/functions.pyi +++ /dev/null @@ -1,13 +0,0 @@ -from typing import Any, Optional - -from django.db.models import Func as Func - -class IntervalToSeconds(Func): - function: str = ... - template: str = ... - def __init__(self, expression: Any, *, output_field: Optional[Any] = ..., **extra: Any) -> None: ... - -class SecondsToInterval(Func): - function: str = ... - template: str = ... - def __init__(self, expression: Any, *, output_field: Optional[Any] = ..., **extra: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/introspection.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/introspection.pyi deleted file mode 100644 index 75d04193..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/introspection.pyi +++ /dev/null @@ -1,21 +0,0 @@ -from typing import Any - -from django.db.backends.base.introspection import BaseDatabaseIntrospection as BaseDatabaseIntrospection -from django.db.backends.oracle.base import DatabaseWrapper - -FieldInfo: Any - -class DatabaseIntrospection(BaseDatabaseIntrospection): - connection: DatabaseWrapper - cache_bust_counter: int = ... - @property - def data_types_reverse(self): ... - def get_field_type(self, data_type: Any, description: Any): ... - def get_table_list(self, cursor: Any): ... - def get_table_description(self, cursor: Any, table_name: Any): ... - def identifier_converter(self, name: Any): ... - def get_sequences(self, cursor: Any, table_name: Any, table_fields: Any = ...): ... - def get_relations(self, cursor: Any, table_name: Any): ... - def get_key_columns(self, cursor: Any, table_name: Any): ... - def get_primary_key_column(self, cursor: Any, table_name: Any): ... - def get_constraints(self, cursor: Any, table_name: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/operations.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/operations.pyi deleted file mode 100644 index 50f961ef..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/operations.pyi +++ /dev/null @@ -1,59 +0,0 @@ -from typing import Any, List, Optional - -from django.db.backends.base.operations import BaseDatabaseOperations as BaseDatabaseOperations -from django.db.backends.oracle.base import DatabaseWrapper - -class DatabaseOperations(BaseDatabaseOperations): - connection: DatabaseWrapper - integer_field_ranges: Any = ... - set_operators: Any = ... - cast_char_field_without_max_length: str = ... - cast_data_types: Any = ... - def cache_key_culling_sql(self) -> str: ... - def date_extract_sql(self, lookup_type: str, field_name: str) -> str: ... - def date_trunc_sql(self, lookup_type: str, field_name: str, tzname: Optional[str] = ...) -> str: ... - def datetime_cast_date_sql(self, field_name: str, tzname: Optional[str]) -> str: ... - def datetime_cast_time_sql(self, field_name: str, tzname: Optional[str]) -> str: ... - def datetime_extract_sql(self, lookup_type: str, field_name: str, tzname: Optional[str]) -> str: ... - def datetime_trunc_sql(self, lookup_type: str, field_name: str, tzname: Optional[str]) -> str: ... - def time_trunc_sql(self, lookup_type: str, field_name: str, tzname: Optional[str] = ...) -> str: ... - def get_db_converters(self, expression: Any) -> List[Any]: ... - def convert_textfield_value(self, value: Any, expression: Any, connection: Any) -> Any: ... - def convert_binaryfield_value(self, value: Any, expression: Any, connection: Any) -> Any: ... - def convert_booleanfield_value(self, value: Any, expression: Any, connection: Any) -> Any: ... - def convert_datetimefield_value(self, value: Any, expression: Any, connection: Any) -> Any: ... - def convert_datefield_value(self, value: Any, expression: Any, connection: Any) -> Any: ... - def convert_timefield_value(self, value: Any, expression: Any, connection: Any) -> Any: ... - def convert_uuidfield_value(self, value: Any, expression: Any, connection: Any) -> Any: ... - @staticmethod - def convert_empty_string(value: Any, expression: Any, connection: Any) -> Any: ... - @staticmethod - def convert_empty_bytes(value: Any, expression: Any, connection: Any) -> Any: ... - def deferrable_sql(self) -> str: ... - def fetch_returned_insert_columns(self, cursor: Any, returning_params: Any) -> Any: ... - def field_cast_sql(self, db_type: Any, internal_type: Any) -> str: ... - def no_limit_value(self) -> Optional[str]: ... - def limit_offset_sql(self, low_mark: Any, high_mark: Any) -> str: ... - def last_executed_query(self, cursor: Any, sql: Any, params: Any) -> str: ... - def last_insert_id(self, cursor: Any, table_name: Any, pk_name: Any) -> Any: ... - def lookup_cast(self, lookup_type: str, internal_type: Optional[Any] = ...) -> str: ... - def max_in_list_size(self) -> int: ... - def max_name_length(self) -> int: ... - def pk_default_value(self) -> str: ... - def prep_for_iexact_query(self, x: Any) -> str: ... - def process_clob(self, value: Any) -> Any: ... - def quote_name(self, name: str) -> str: ... - def regex_lookup(self, lookup_type: str) -> str: ... - def return_insert_columns(self, fields: Any) -> Any: ... - def sequence_reset_by_name_sql(self, style: Any, sequences: Any) -> List[str]: ... - def sequence_reset_sql(self, style: Any, model_list: Any) -> List[str]: ... - def start_transaction_sql(self) -> str: ... - def tablespace_sql(self, tablespace: Any, inline: bool = ...) -> str: ... - def adapt_datefield_value(self, value: Any) -> Any: ... - def adapt_datetimefield_value(self, value: Any) -> Any: ... - def adapt_timefield_value(self, value: Any) -> Any: ... - def combine_expression(self, connector: Any, sub_expressions: Any) -> Any: ... - def bulk_insert_sql(self, fields: Any, placeholder_rows: Any) -> str: ... - def subtract_temporals(self, internal_type: Any, lhs: Any, rhs: Any) -> Any: ... - def bulk_batch_size(self, fields: Any, objs: Any) -> int: ... - def conditional_expression_supported_in_where_clause(self, expression: Any) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/schema.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/schema.pyi deleted file mode 100644 index 25484182..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/schema.pyi +++ /dev/null @@ -1,23 +0,0 @@ -from typing import Any - -from django.db.backends.base.schema import BaseDatabaseSchemaEditor as BaseDatabaseSchemaEditor -from django.db.backends.oracle.base import DatabaseWrapper - -class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): - connection: DatabaseWrapper - sql_create_column: str = ... - sql_alter_column_type: str = ... - sql_alter_column_null: str = ... - sql_alter_column_not_null: str = ... - sql_alter_column_default: str = ... - sql_alter_column_no_default: str = ... - sql_delete_column: str = ... - sql_create_column_inline_fk: str = ... - sql_delete_table: str = ... - sql_create_index: str = ... - def quote_value(self, value: Any): ... - def remove_field(self, model: Any, field: Any) -> None: ... - def delete_model(self, model: Any) -> None: ... - def alter_field(self, model: Any, old_field: Any, new_field: Any, strict: bool = ...) -> None: ... - def normalize_name(self, name: Any): ... - def prepare_default(self, value: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/utils.pyi deleted file mode 100644 index 3fc6c957..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/utils.pyi +++ /dev/null @@ -1,24 +0,0 @@ -import datetime -from typing import Any - -class InsertVar: - types: Any = ... - db_type: Any = ... - bound_param: Any = ... - def __init__(self, field: Any) -> None: ... - def bind_parameter(self, cursor: Any): ... - def get_value(self): ... - -class Oracle_datetime(datetime.datetime): - input_size: Any = ... - @classmethod - def from_datetime(cls, dt: Any): ... - -class BulkInsertMapper: - BLOB: str = ... - CLOB: str = ... - DATE: str = ... - INTERVAL: str = ... - NUMBER: str = ... - TIMESTAMP: str = ... - types: Any = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/validation.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/validation.pyi deleted file mode 100644 index 54a3f4d4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/oracle/validation.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Any - -from django.db.backends.base.validation import BaseDatabaseValidation as BaseDatabaseValidation -from django.db.backends.oracle.base import DatabaseWrapper - -class DatabaseValidation(BaseDatabaseValidation): - connection: DatabaseWrapper - def check_field_type(self, field: Any, field_type: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/base.pyi deleted file mode 100644 index eb272204..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/base.pyi +++ /dev/null @@ -1,41 +0,0 @@ -from io import IOBase -from typing import Any, Dict, Tuple, Type - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.backends.utils import CursorDebugWrapper as BaseCursorDebugWrapper - -from .client import DatabaseClient -from .creation import DatabaseCreation -from .features import DatabaseFeatures -from .introspection import DatabaseIntrospection -from .operations import DatabaseOperations - -def psycopg2_version() -> Tuple[int, ...]: ... - -PSYCOPG2_VERSION: Tuple[int, ...] = ... - -class DatabaseWrapper(BaseDatabaseWrapper): - client: DatabaseClient - creation: DatabaseCreation - features: DatabaseFeatures - introspection: DatabaseIntrospection - ops: DatabaseOperations - - client_class: Type[DatabaseClient] - creation_class: Type[DatabaseCreation] - features_class: Type[DatabaseFeatures] - introspection_class: Type[DatabaseIntrospection] - ops_class: Type[DatabaseOperations] - - operators: Dict[str, str] = ... - pattern_esc: str = ... - pattern_ops: Dict[str, str] = ... - - # PostgreSQL backend-specific attributes. - _named_cursor_idx: int = ... - @property - def pg_version(self) -> int: ... - -class CursorDebugWrapper(BaseCursorDebugWrapper): - def copy_expert(self, sql: str, file: IOBase, *args: Any): ... - def copy_to(self, file: IOBase, table: str, *args: Any, **kwargs: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/client.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/client.pyi deleted file mode 100644 index 7d67ac71..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/client.pyi +++ /dev/null @@ -1,13 +0,0 @@ -from typing import Any, Dict, Iterable, List, Optional, Tuple - -from django.db.backends.base.client import BaseDatabaseClient -from django.db.backends.postgresql.base import DatabaseWrapper - -class DatabaseClient(BaseDatabaseClient): - connection: DatabaseWrapper - executable_name: str = ... - @classmethod - def settings_to_cmd_args_env( - cls, settings_dict: Dict[str, Any], parameters: Iterable[str] - ) -> Tuple[List[str], Optional[Dict[str, str]]]: ... - def runshell(self, parameters: Iterable[str]) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/creation.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/creation.pyi deleted file mode 100644 index abb06160..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/creation.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from django.db.backends.base.creation import BaseDatabaseCreation -from django.db.backends.postgresql.base import DatabaseWrapper - -class DatabaseCreation(BaseDatabaseCreation): - connection: DatabaseWrapper diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/features.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/features.pyi deleted file mode 100644 index 03fbbb09..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/features.pyi +++ /dev/null @@ -1,60 +0,0 @@ -from typing import Any - -from django.db.backends.base.features import BaseDatabaseFeatures as BaseDatabaseFeatures -from django.db.backends.postgresql.base import DatabaseWrapper - -class DatabaseFeatures(BaseDatabaseFeatures): - connection: DatabaseWrapper - allows_group_by_selected_pks: bool = ... - can_return_columns_from_insert: bool = ... - can_return_rows_from_bulk_insert: bool = ... - has_real_datatype: bool = ... - has_native_uuid_field: bool = ... - has_native_duration_field: bool = ... - has_native_json_field: bool = ... - can_defer_constraint_checks: bool = ... - has_select_for_update: bool = ... - has_select_for_update_nowait: bool = ... - has_select_for_update_of: bool = ... - has_select_for_update_skip_locked: bool = ... - has_select_for_no_key_update: bool = ... - can_release_savepoints: bool = ... - supports_tablespaces: bool = ... - supports_transactions: bool = ... - can_introspect_materialized_views: bool = ... - can_distinct_on_fields: bool = ... - can_rollback_ddl: bool = ... - supports_combined_alters: bool = ... - nulls_order_largest: bool = ... - closed_cursor_error_class: Any = ... - has_case_insensitive_like: bool = ... - greatest_least_ignores_nulls: bool = ... - can_clone_databases: bool = ... - supports_temporal_subtraction: bool = ... - supports_slicing_ordering_in_compound: bool = ... - create_test_procedure_without_params_sql: str = ... - create_test_procedure_with_int_param_sql: str = ... - requires_casted_case_in_updates: bool = ... - supports_over_clause: bool = ... - only_supports_unbounded_with_preceding_and_following: bool = ... - supports_aggregate_filter_clause: bool = ... - supported_explain_formats: Any = ... - validates_explain_options: bool = ... - supports_deferrable_unique_constraints: bool = ... - has_json_operators: bool = ... - json_key_contains_list_matching_requires_list: bool = ... - @property - def is_postgresql_10(self) -> bool: ... - @property - def is_postgresql_11(self) -> bool: ... - @property - def is_postgresql_12(self) -> bool: ... - @property - def is_postgresql_13(self) -> bool: ... - has_brin_autosummarize: bool = ... - has_websearch_to_tsquery: bool = ... - supports_table_partitions: bool = ... - supports_covering_indexes: bool = ... - supports_covering_gist_indexes: bool = ... - supports_non_deterministic_collations: bool = ... - supports_alternate_collation_providers: bool = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/introspection.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/introspection.pyi deleted file mode 100644 index ce46d931..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/introspection.pyi +++ /dev/null @@ -1,16 +0,0 @@ -from typing import Any - -from django.db.backends.base.introspection import BaseDatabaseIntrospection as BaseDatabaseIntrospection -from django.db.backends.postgresql.base import DatabaseWrapper - -class DatabaseIntrospection(BaseDatabaseIntrospection): - connection: DatabaseWrapper - data_types_reverse: Any = ... - ignored_tables: Any = ... - def get_field_type(self, data_type: Any, description: Any): ... - def get_table_list(self, cursor: Any): ... - def get_table_description(self, cursor: Any, table_name: Any): ... - def get_sequences(self, cursor: Any, table_name: Any, table_fields: Any = ...): ... - def get_relations(self, cursor: Any, table_name: Any): ... - def get_key_columns(self, cursor: Any, table_name: Any): ... - def get_constraints(self, cursor: Any, table_name: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/operations.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/operations.pyi deleted file mode 100644 index 3217a780..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/operations.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from django.db.backends.base.operations import BaseDatabaseOperations -from django.db.backends.postgresql.base import DatabaseWrapper - -class DatabaseOperations(BaseDatabaseOperations): - connection: DatabaseWrapper diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/schema.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/schema.pyi deleted file mode 100644 index 7ea53fd4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/schema.pyi +++ /dev/null @@ -1,21 +0,0 @@ -from typing import Any - -from django.db.backends.base.schema import BaseDatabaseSchemaEditor as BaseDatabaseSchemaEditor -from django.db.backends.postgresql.base import DatabaseWrapper - -class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): - connection: DatabaseWrapper - sql_create_sequence: str = ... - sql_delete_sequence: str = ... - sql_set_sequence_max: str = ... - sql_set_sequence_owner: str = ... - sql_create_index: str = ... - sql_create_index_concurrently: str = ... - sql_delete_index: str = ... - sql_delete_index_concurrently: str = ... - sql_create_column_inline_fk: str = ... - sql_delete_fk: str = ... - sql_delete_procedure: str = ... - def quote_value(self, value: Any): ... - def add_index(self, model: Any, index: Any, concurrently: bool = ...) -> None: ... - def remove_index(self, model: Any, index: Any, concurrently: bool = ...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/test_import_all.yml b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/test_import_all.yml deleted file mode 100644 index 2da5e477..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/postgresql/test_import_all.yml +++ /dev/null @@ -1,581 +0,0 @@ -- case: import_all_modules - main: | - import django.apps - import django.apps.config - import django.apps.registry - import django.conf.global_settings - import django.conf.locale - import django.conf.urls - import django.conf.urls.i18n - import django.conf.urls.static - import django.contrib.admin.actions - import django.contrib.admin.apps - import django.contrib.admin.checks - import django.contrib.admin.decorators - import django.contrib.admin.filters - import django.contrib.admin.forms - import django.contrib.admin.helpers - import django.contrib.admin.models - import django.contrib.admin.options - import django.contrib.admin.sites - import django.contrib.admin.templatetags - import django.contrib.admin.templatetags.admin_list - import django.contrib.admin.templatetags.admin_modify - import django.contrib.admin.templatetags.admin_urls - import django.contrib.admin.templatetags.base - import django.contrib.admin.templatetags.log - import django.contrib.admin.tests - import django.contrib.admin.utils - import django.contrib.admin.views - import django.contrib.admin.views.autocomplete - import django.contrib.admin.views.decorators - import django.contrib.admin.views.main - import django.contrib.admin.widgets - import django.contrib.admindocs - import django.contrib.admindocs.middleware - import django.contrib.admindocs.urls - import django.contrib.admindocs.utils - import django.contrib.admindocs.views - import django.contrib.auth.admin - import django.contrib.auth.apps - import django.contrib.auth.backends - import django.contrib.auth.base_user - import django.contrib.auth.checks - import django.contrib.auth.context_processors - import django.contrib.auth.decorators - import django.contrib.auth.forms - import django.contrib.auth.handlers - import django.contrib.auth.handlers.modwsgi - import django.contrib.auth.hashers - import django.contrib.auth.management.commands - import django.contrib.auth.management.commands.changepassword - import django.contrib.auth.management.commands.createsuperuser - import django.contrib.auth.middleware - import django.contrib.auth.mixins - import django.contrib.auth.models - import django.contrib.auth.password_validation - import django.contrib.auth.signals - import django.contrib.auth.tokens - import django.contrib.auth.urls - import django.contrib.auth.validators - import django.contrib.auth.views - import django.contrib.contenttypes.admin - import django.contrib.contenttypes.apps - import django.contrib.contenttypes.checks - import django.contrib.contenttypes.fields - import django.contrib.contenttypes.forms - import django.contrib.contenttypes.management.commands - import django.contrib.contenttypes.management.commands.remove_stale_contenttypes - import django.contrib.contenttypes.models - import django.contrib.contenttypes.views - import django.contrib.flatpages.forms - import django.contrib.flatpages.middleware - import django.contrib.flatpages.models - import django.contrib.flatpages.sitemaps - import django.contrib.flatpages.templatetags - import django.contrib.flatpages.templatetags.flatpages - import django.contrib.flatpages.urls - import django.contrib.flatpages.views - import django.contrib.gis.geos.linestring - import django.contrib.gis.geos.base - import django.contrib.gis.geos.prepared - import django.contrib.gis.geos.libgeos - import django.contrib.gis.geos.error - import django.contrib.gis.geos.coordseq - import django.contrib.gis.geos - import django.contrib.gis.geos.collections - import django.contrib.gis.geos.geometry - import django.contrib.gis.geos.prototypes.prepared - import django.contrib.gis.geos.prototypes.coordseq - import django.contrib.gis.geos.prototypes - import django.contrib.gis.geos.prototypes.errcheck - import django.contrib.gis.geos.prototypes.misc - import django.contrib.gis.geos.prototypes.threadsafe - import django.contrib.gis.geos.prototypes.geom - import django.contrib.gis.geos.prototypes.topology - import django.contrib.gis.geos.prototypes.predicates - import django.contrib.gis.geos.prototypes.io - import django.contrib.gis.geos.factory - import django.contrib.gis.geos.point - import django.contrib.gis.geos.polygon - import django.contrib.gis.geos.mutable_list - import django.contrib.gis.geos.io - import django.contrib.gis.forms - import django.contrib.gis.forms.fields - import django.contrib.gis.forms.widgets - import django.contrib.gis.gdal.base - import django.contrib.gis.gdal.error - import django.contrib.gis.gdal.layer - import django.contrib.gis.gdal - import django.contrib.gis.gdal.geomtype - import django.contrib.gis.gdal.libgdal - import django.contrib.gis.gdal.datasource - import django.contrib.gis.gdal.feature - import django.contrib.gis.gdal.envelope - import django.contrib.gis.gdal.prototypes.ds - import django.contrib.gis.gdal.prototypes - import django.contrib.gis.gdal.prototypes.errcheck - import django.contrib.gis.gdal.prototypes.geom - import django.contrib.gis.gdal.prototypes.srs - import django.contrib.gis.gdal.prototypes.raster - import django.contrib.gis.gdal.prototypes.generation - import django.contrib.gis.gdal.driver - import django.contrib.gis.gdal.raster.base - import django.contrib.gis.gdal.raster - import django.contrib.gis.gdal.raster.source - import django.contrib.gis.gdal.raster.band - import django.contrib.gis.gdal.raster.const - import django.contrib.gis.gdal.field - import django.contrib.gis.gdal.srs - import django.contrib.gis.gdal.geometries - import django.contrib.gis - import django.contrib.gis.feeds - import django.contrib.gis.admin.options - import django.contrib.gis.admin - import django.contrib.gis.admin.widgets - import django.contrib.gis.shortcuts - import django.contrib.gis.utils.layermapping - import django.contrib.gis.utils - import django.contrib.gis.utils.ogrinfo - import django.contrib.gis.utils.srs - import django.contrib.gis.utils.ogrinspect - import django.contrib.gis.measure - import django.contrib.gis.geometry - import django.contrib.gis.serializers - import django.contrib.gis.serializers.geojson - import django.contrib.gis.apps - import django.contrib.gis.sitemaps.kml - import django.contrib.gis.sitemaps - import django.contrib.gis.sitemaps.views - import django.contrib.gis.db - import django.contrib.gis.db.backends - import django.contrib.gis.db.backends.oracle.operations - import django.contrib.gis.db.backends.oracle.base - import django.contrib.gis.db.backends.oracle.adapter - import django.contrib.gis.db.backends.oracle - import django.contrib.gis.db.backends.oracle.schema - import django.contrib.gis.db.backends.oracle.models - import django.contrib.gis.db.backends.oracle.features - import django.contrib.gis.db.backends.oracle.introspection - import django.contrib.gis.db.backends.utils - import django.contrib.gis.db.backends.postgis.operations - import django.contrib.gis.db.backends.postgis.base - import django.contrib.gis.db.backends.postgis.adapter - import django.contrib.gis.db.backends.postgis - import django.contrib.gis.db.backends.postgis.pgraster - import django.contrib.gis.db.backends.postgis.schema - import django.contrib.gis.db.backends.postgis.const - import django.contrib.gis.db.backends.postgis.models - import django.contrib.gis.db.backends.postgis.features - import django.contrib.gis.db.backends.postgis.introspection - import django.contrib.gis.db.backends.mysql.operations - import django.contrib.gis.db.backends.mysql.base - import django.contrib.gis.db.backends.mysql - import django.contrib.gis.db.backends.mysql.schema - import django.contrib.gis.db.backends.mysql.features - import django.contrib.gis.db.backends.mysql.introspection - import django.contrib.gis.db.backends.spatialite.operations - import django.contrib.gis.db.backends.spatialite.base - import django.contrib.gis.db.backends.spatialite.adapter - import django.contrib.gis.db.backends.spatialite - import django.contrib.gis.db.backends.spatialite.client - import django.contrib.gis.db.backends.spatialite.schema - import django.contrib.gis.db.backends.spatialite.models - import django.contrib.gis.db.backends.spatialite.features - import django.contrib.gis.db.backends.spatialite.introspection - import django.contrib.gis.db.backends.base.operations - import django.contrib.gis.db.backends.base.adapter - import django.contrib.gis.db.backends.base - import django.contrib.gis.db.backends.base.models - import django.contrib.gis.db.backends.base.features - import django.contrib.gis.db.models.proxy - import django.contrib.gis.db.models.aggregates - import django.contrib.gis.db.models - import django.contrib.gis.db.models.lookups - import django.contrib.gis.db.models.fields - import django.contrib.gis.db.models.functions - import django.contrib.gis.db.models.sql - import django.contrib.gis.db.models.sql.conversion - import django.contrib.gis.ptr - import django.contrib.gis.geoip2.resources - import django.contrib.gis.geoip2.base - import django.contrib.gis.geoip2 - import django.contrib.gis.views - import django.contrib.humanize.templatetags - import django.contrib.humanize.templatetags.humanize - import django.contrib.messages.api - import django.contrib.messages.constants - import django.contrib.messages.context_processors - import django.contrib.messages.middleware - import django.contrib.messages.storage - import django.contrib.messages.storage.base - import django.contrib.messages.storage.cookie - import django.contrib.messages.storage.fallback - import django.contrib.messages.storage.session - import django.contrib.messages.utils - import django.contrib.messages.views - import django.contrib.postgres.aggregates - import django.contrib.postgres.aggregates.general - import django.contrib.postgres.aggregates.mixins - import django.contrib.postgres.aggregates.statistics - import django.contrib.postgres.constraints - import django.contrib.postgres.fields - import django.contrib.postgres.fields.array - import django.contrib.postgres.fields.citext - import django.contrib.postgres.fields.hstore - import django.contrib.postgres.fields.jsonb - import django.contrib.postgres.fields.mixins - import django.contrib.postgres.fields.ranges - import django.contrib.postgres.functions - import django.contrib.postgres.indexes - import django.contrib.postgres.lookups - import django.contrib.postgres.operations - import django.contrib.postgres.search - import django.contrib.postgres.signals - import django.contrib.postgres.validators - import django.contrib.redirects - import django.contrib.redirects.middleware - import django.contrib.redirects.models - import django.contrib.sessions.backends - import django.contrib.sessions.backends.base - import django.contrib.sessions.backends.cache - import django.contrib.sessions.backends.cached_db - import django.contrib.sessions.backends.db - import django.contrib.sessions.backends.file - import django.contrib.sessions.backends.signed_cookies - import django.contrib.sessions.base_session - import django.contrib.sessions.exceptions - import django.contrib.sessions.management.commands - import django.contrib.sessions.management.commands.clearsessions - import django.contrib.sessions.middleware - import django.contrib.sessions.models - import django.contrib.sessions.serializers - import django.contrib.sitemaps.management.commands - import django.contrib.sitemaps.management.commands.ping_google - import django.contrib.sitemaps.views - import django.contrib.sites - import django.contrib.sites.apps - import django.contrib.sites.management - import django.contrib.sites.managers - import django.contrib.sites.middleware - import django.contrib.sites.models - import django.contrib.sites.requests - import django.contrib.sites.shortcuts - import django.contrib.staticfiles.apps - import django.contrib.staticfiles.checks - import django.contrib.staticfiles.finders - import django.contrib.staticfiles.handlers - import django.contrib.staticfiles.management.commands - import django.contrib.staticfiles.management.commands.collectstatic - import django.contrib.staticfiles.management.commands.findstatic - import django.contrib.staticfiles.management.commands.runserver - import django.contrib.staticfiles.storage - import django.contrib.staticfiles.testing - import django.contrib.staticfiles.urls - import django.contrib.staticfiles.utils - import django.contrib.staticfiles.views - import django.contrib.syndication - import django.contrib.syndication.views - import django.core.cache.backends - import django.core.cache.backends.base - import django.core.cache.backends.db - import django.core.cache.backends.dummy - import django.core.cache.backends.filebased - import django.core.cache.backends.locmem - import django.core.cache.backends.memcached - import django.core.cache.utils - import django.core.checks.caches - import django.core.checks.database - import django.core.checks.messages - import django.core.checks.model_checks - import django.core.checks.registry - import django.core.checks.security - import django.core.checks.security.base - import django.core.checks.security.csrf - import django.core.checks.security.sessions - import django.core.checks.templates - import django.core.checks.translation - import django.core.checks.urls - import django.core.exceptions - import django.core.files - import django.core.files.base - import django.core.files.images - import django.core.files.locks - import django.core.files.move - import django.core.files.storage - import django.core.files.temp - import django.core.files.uploadedfile - import django.core.files.uploadhandler - import django.core.files.utils - import django.core.handlers - import django.core.handlers.base - import django.core.handlers.exception - import django.core.handlers.wsgi - import django.core.mail.backends - import django.core.mail.backends.base - import django.core.mail.message - import django.core.mail.utils - import django.core.management.base - import django.core.management.color - import django.core.management.commands - import django.core.management.commands.dumpdata - import django.core.management.commands.loaddata - import django.core.management.commands.makemessages - import django.core.management.commands.runserver - import django.core.management.commands.testserver - import django.core.management.sql - import django.core.management.templates - import django.core.management.utils - import django.core.paginator - import django.core.serializers - import django.core.serializers.base - import django.core.serializers.json - import django.core.serializers.python - import django.core.servers - import django.core.servers.basehttp - import django.core.signals - import django.core.signing - import django.core.validators - import django.core.wsgi - import django.db.backends.base - import django.db.backends.base.base - import django.db.backends.base.client - import django.db.backends.base.creation - import django.db.backends.base.features - import django.db.backends.base.introspection - import django.db.backends.base.operations - import django.db.backends.base.schema - import django.db.backends.base.validation - import django.db.backends.oracle - import django.db.backends.oracle.base - import django.db.backends.oracle.client - import django.db.backends.oracle.creation - import django.db.backends.oracle.features - import django.db.backends.oracle.functions - import django.db.backends.oracle.introspection - import django.db.backends.oracle.operations - import django.db.backends.oracle.utils - import django.db.backends.oracle.schema - import django.db.backends.oracle.validation - import django.db.backends.ddl_references - import django.db.backends.dummy - import django.db.backends.dummy.base - import django.db.backends.mysql - import django.db.backends.mysql.base - import django.db.backends.mysql.client - import django.db.backends.mysql.compiler - import django.db.backends.mysql.creation - import django.db.backends.mysql.features - import django.db.backends.mysql.introspection - import django.db.backends.mysql.operations - import django.db.backends.mysql.schema - import django.db.backends.mysql.validation - import django.db.backends.postgresql - import django.db.backends.postgresql.base - import django.db.backends.postgresql.client - import django.db.backends.postgresql.creation - import django.db.backends.postgresql.operations - import django.db.backends.signals - import django.db.backends.sqlite3 - import django.db.backends.sqlite3.base - import django.db.backends.sqlite3.creation - import django.db.backends.sqlite3.client - import django.db.backends.sqlite3.features - import django.db.backends.sqlite3.introspection - import django.db.backends.sqlite3.operations - import django.db.backends.sqlite3.schema - import django.db.backends.utils - import django.db.migrations.autodetector - import django.db.migrations.exceptions - import django.db.migrations.executor - import django.db.migrations.graph - import django.db.migrations.loader - import django.db.migrations.migration - import django.db.migrations.operations - import django.db.migrations.operations.base - import django.db.migrations.operations.fields - import django.db.migrations.operations.models - import django.db.migrations.operations.special - import django.db.migrations.operations.utils - import django.db.migrations.optimizer - import django.db.migrations.questioner - import django.db.migrations.recorder - import django.db.migrations.serializer - import django.db.migrations.state - import django.db.migrations.topological_sort - import django.db.migrations.utils - import django.db.migrations.writer - import django.db.models.aggregates - import django.db.models.base - import django.db.models.constraints - import django.db.models.deletion - import django.db.models.expressions - import django.db.models.enums - import django.db.models.fields - import django.db.models.fields.files - import django.db.models.fields.mixins - import django.db.models.fields.proxy - import django.db.models.fields.related - import django.db.models.fields.related_descriptors - import django.db.models.fields.related_lookups - import django.db.models.fields.reverse_related - import django.db.models.functions - import django.db.models.functions.comparison - import django.db.models.functions.datetime - import django.db.models.functions.math - import django.db.models.functions.mixins - import django.db.models.functions.text - import django.db.models.functions.window - import django.db.models.indexes - import django.db.models.lookups - import django.db.models.manager - import django.db.models.options - import django.db.models.query - import django.db.models.query_utils - import django.db.models.signals - import django.db.models.sql - import django.db.models.sql.compiler - import django.db.models.sql.constants - import django.db.models.sql.datastructures - import django.db.models.sql.query - import django.db.models.sql.subqueries - import django.db.models.sql.where - import django.db.models.utils - import django.db.transaction - import django.db.utils - import django.dispatch - import django.dispatch.dispatcher - import django.forms - import django.forms.boundfield - import django.forms.fields - import django.forms.forms - import django.forms.formsets - import django.forms.models - import django.forms.renderers - import django.forms.utils - import django.forms.widgets - import django.http - import django.http.cookie - import django.http.multipartparser - import django.http.request - import django.http.response - import django.middleware - import django.middleware.cache - import django.middleware.clickjacking - import django.middleware.common - import django.middleware.csrf - import django.middleware.gzip - import django.middleware.http - import django.middleware.locale - import django.middleware.security - import django.shortcuts - import django.template.backends - import django.template.backends.base - import django.template.backends.django - import django.template.backends.dummy - import django.template.backends.jinja2 - import django.template.backends.utils - import django.template.base - import django.template.context - import django.template.context_processors - import django.template.defaultfilters - import django.template.defaulttags - import django.template.engine - import django.template.exceptions - import django.template.library - import django.template.loader - import django.template.loader_tags - import django.template.loaders - import django.template.loaders.app_directories - import django.template.loaders.base - import django.template.loaders.cached - import django.template.loaders.filesystem - import django.template.loaders.locmem - import django.template.response - import django.template.smartif - import django.template.utils - import django.templatetags - import django.templatetags.cache - import django.templatetags.i18n - import django.templatetags.l10n - import django.templatetags.static - import django.templatetags.tz - import django.test - import django.test.client - import django.test.html - import django.test.runner - import django.test.selenium - import django.test.signals - import django.test.testcases - import django.test.utils - import django.urls - import django.urls.base - import django.urls.conf - import django.urls.converters - import django.urls.exceptions - import django.urls.resolvers - import django.urls.utils - import django.utils._os - import django.utils.archive - import django.utils.autoreload - import django.utils.baseconv - import django.utils.cache - import django.utils.crypto - import django.utils.datastructures - import django.utils.dateformat - import django.utils.dateparse - import django.utils.dates - import django.utils.datetime_safe - import django.utils.deconstruct - import django.utils.decorators - import django.utils.deprecation - import django.utils.duration - import django.utils.encoding - import django.utils.feedgenerator - import django.utils.formats - import django.utils.functional - import django.utils.hashable - import django.utils.html - import django.utils.http - import django.utils.inspect - import django.utils.ipv6 - import django.utils.itercompat - import django.utils.jslex - import django.utils.log - import django.utils.lorem_ipsum - import django.utils.module_loading - import django.utils.numberformat - import django.utils.regex_helper - import django.utils.safestring - import django.utils.termcolors - import django.utils.text - import django.utils.timesince - import django.utils.timezone - import django.utils.topological_sort - import django.utils.translation - import django.utils.translation.reloader - import django.utils.translation.template - import django.utils.translation.trans_null - import django.utils.translation.trans_real - import django.utils.tree - import django.utils.version - import django.utils.xmlutils - import django.views.csrf - import django.views.debug - import django.views.decorators - import django.views.decorators.cache - import django.views.decorators.clickjacking - import django.views.decorators.csrf - import django.views.decorators.debug - import django.views.decorators.gzip - import django.views.decorators.http - import django.views.decorators.vary - import django.views.defaults - import django.views.generic - import django.views.generic.base - import django.views.generic.dates - import django.views.generic.detail - import django.views.generic.edit - import django.views.generic.list - import django.views.i18n - import django.views.static diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/signals.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/signals.pyi deleted file mode 100644 index 3586e131..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/signals.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.dispatch import Signal - -connection_created: Signal = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/base.pyi deleted file mode 100644 index 0cebb3a7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/base.pyi +++ /dev/null @@ -1,33 +0,0 @@ -from sqlite3 import dbapi2 as Database -from typing import Any, Callable, Type, TypeVar - -from django.db.backends.base.base import BaseDatabaseWrapper - -from .client import DatabaseClient -from .creation import DatabaseCreation -from .features import DatabaseFeatures -from .introspection import DatabaseIntrospection -from .operations import DatabaseOperations - -_R = TypeVar("_R") - -def decoder(conv_func: Callable[[str], _R]) -> Callable[[bytes], _R]: ... - -class DatabaseWrapper(BaseDatabaseWrapper): - client: DatabaseClient - creation: DatabaseCreation - features: DatabaseFeatures - introspection: DatabaseIntrospection - ops: DatabaseOperations - - client_class: Type[DatabaseClient] - creation_class: Type[DatabaseCreation] - features_class: Type[DatabaseFeatures] - introspection_class: Type[DatabaseIntrospection] - ops_class: Type[DatabaseOperations] - -FORMAT_QMARK_REGEX: Any - -class SQLiteCursorWrapper(Database.Cursor): ... - -def check_sqlite_version() -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/client.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/client.pyi deleted file mode 100644 index d3cc4cb2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/client.pyi +++ /dev/null @@ -1,12 +0,0 @@ -from typing import Any, Dict, Iterable, List, Tuple - -from django.db.backends.base.client import BaseDatabaseClient as BaseDatabaseClient -from django.db.backends.sqlite3.base import DatabaseWrapper - -class DatabaseClient(BaseDatabaseClient): - connection: DatabaseWrapper - executable_name: str = ... - @classmethod - def settings_to_cmd_args_env( - cls, settings_dict: Dict[str, Any], parameters: Iterable[str] - ) -> Tuple[List[str], None]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/creation.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/creation.pyi deleted file mode 100644 index 6d4657af..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/creation.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from django.db.backends.base.creation import BaseDatabaseCreation -from django.db.backends.sqlite3.base import DatabaseWrapper - -class DatabaseCreation(BaseDatabaseCreation): - connection: DatabaseWrapper diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/features.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/features.pyi deleted file mode 100644 index b4d9c91b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/features.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from django.db.backends.base.features import BaseDatabaseFeatures -from django.db.backends.sqlite3.base import DatabaseWrapper - -class DatabaseFeatures(BaseDatabaseFeatures): - connection: DatabaseWrapper diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/introspection.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/introspection.pyi deleted file mode 100644 index 13ebdb16..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/introspection.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from typing import Any, Optional - -from django.db.backends.base.introspection import BaseDatabaseIntrospection -from django.db.backends.sqlite3.base import DatabaseWrapper - -field_size_re: Any - -def get_field_size(name: str) -> Optional[int]: ... - -class FlexibleFieldLookupDict: - base_data_types_reverse: Any = ... - def __getitem__(self, key: str) -> Any: ... - -class DatabaseIntrospection(BaseDatabaseIntrospection): - connection: DatabaseWrapper diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/operations.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/operations.pyi deleted file mode 100644 index 359719cf..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/operations.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from django.db.backends.base.operations import BaseDatabaseOperations - -class DatabaseOperations(BaseDatabaseOperations): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/schema.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/schema.pyi deleted file mode 100644 index 1b96b579..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/sqlite3/schema.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from django.db.backends.base.schema import BaseDatabaseSchemaEditor -from django.db.backends.sqlite3.base import DatabaseWrapper - -class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): - connection: DatabaseWrapper diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/utils.pyi deleted file mode 100644 index 02bf51d5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/backends/utils.pyi +++ /dev/null @@ -1,71 +0,0 @@ -import datetime -import sys -import types -from contextlib import contextmanager -from decimal import Decimal -from typing import Any, Dict, Generator, Iterator, List, Mapping, Optional, Sequence, Tuple, Type, Union, overload -from uuid import UUID - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -logger: Any - -# Python types that can be adapted to SQL. -_SQLType = Union[ - None, bool, int, float, Decimal, str, bytes, datetime.date, datetime.datetime, UUID, Tuple[Any, ...], List[Any] -] -_ExecuteParameters = Optional[Union[Sequence[_SQLType], Mapping[str, _SQLType]]] - -class CursorWrapper: - cursor: Any = ... - db: Any = ... - def __init__(self, cursor: Any, db: Any) -> None: ... - WRAP_ERROR_ATTRS: Any = ... - def __getattr__(self, attr: str) -> Any: ... - def __iter__(self) -> Iterator[Tuple[Any, ...]]: ... - def __enter__(self) -> CursorWrapper: ... - def __exit__( - self, - type: Optional[Type[BaseException]], - value: Optional[BaseException], - traceback: Optional[types.TracebackType], - ) -> None: ... - def callproc( - self, procname: str, params: Optional[Sequence[Any]] = ..., kparams: Optional[Dict[str, int]] = ... - ) -> Any: ... - def execute(self, sql: str, params: _ExecuteParameters = ...) -> Any: ... - def executemany(self, sql: str, param_list: Sequence[_ExecuteParameters]) -> Any: ... - -class CursorDebugWrapper(CursorWrapper): - cursor: Any - db: Any - @contextmanager - def debug_sql( - self, - sql: Optional[str] = ..., - params: Optional[Union[_ExecuteParameters, Sequence[_ExecuteParameters]]] = ..., - use_last_executed_query: bool = ..., - many: bool = ..., - ) -> Generator[None, None, None]: ... - -@overload -def typecast_date(s: Union[None, Literal[""]]) -> None: ... # type: ignore -@overload -def typecast_date(s: str) -> datetime.date: ... -@overload -def typecast_time(s: Union[None, Literal[""]]) -> None: ... # type: ignore -@overload -def typecast_time(s: str) -> datetime.time: ... -@overload -def typecast_timestamp(s: Union[None, Literal[""]]) -> None: ... # type: ignore -@overload -def typecast_timestamp(s: str) -> datetime.datetime: ... -def split_identifier(identifier: str) -> Tuple[str, str]: ... -def truncate_name(identifier: str, length: Optional[int] = ..., hash_len: int = ...) -> str: ... -def format_number( - value: Optional[Decimal], max_digits: Optional[int], decimal_places: Optional[int] -) -> Optional[str]: ... -def strip_quotes(table_name: str) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/__init__.pyi deleted file mode 100644 index 4a8e9a23..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/__init__.pyi +++ /dev/null @@ -1,7 +0,0 @@ -# Stubs for django.db.migrations (Python 3.6) -# -# NOTE: This dynamically typed stub was automatically generated by stubgen. - -from .migration import Migration as Migration -from .migration import swappable_dependency as swappable_dependency -from .operations import * diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/autodetector.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/autodetector.pyi deleted file mode 100644 index 9ff66ad2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/autodetector.pyi +++ /dev/null @@ -1,65 +0,0 @@ -from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Tuple, Union - -from django.db.migrations.graph import MigrationGraph -from django.db.migrations.migration import Migration -from django.db.migrations.operations.base import Operation -from django.db.migrations.questioner import MigrationQuestioner -from django.db.migrations.state import ProjectState -from django.db.models.fields import Field - -class MigrationAutodetector: - from_state: ProjectState = ... - to_state: ProjectState = ... - questioner: MigrationQuestioner = ... - existing_apps: Set[Any] = ... - def __init__( - self, from_state: ProjectState, to_state: ProjectState, questioner: Optional[MigrationQuestioner] = ... - ) -> None: ... - def changes( - self, - graph: MigrationGraph, - trim_to_apps: Optional[Set[str]] = ..., - convert_apps: Optional[Set[str]] = ..., - migration_name: Optional[str] = ..., - ) -> Dict[str, List[Migration]]: ... - def deep_deconstruct(self, obj: Any) -> Any: ... - def only_relation_agnostic_fields( - self, fields: Dict[str, Field] - ) -> List[Tuple[str, List[Any], Dict[str, Union[Callable, int, str]]]]: ... - def check_dependency( - self, operation: Operation, dependency: Tuple[str, str, Optional[str], Union[bool, str]] - ) -> bool: ... - def add_operation( - self, - app_label: str, - operation: Operation, - dependencies: Optional[Iterable[Tuple[str, str, Optional[str], Union[bool, str]]]] = ..., - beginning: bool = ..., - ) -> None: ... - def swappable_first_key(self, item: Tuple[str, str]) -> Tuple[str, str]: ... - renamed_models: Any = ... - renamed_models_rel: Any = ... - def generate_renamed_models(self) -> None: ... - def generate_created_models(self) -> None: ... - def generate_created_proxies(self) -> None: ... - def generate_deleted_models(self) -> None: ... - def generate_deleted_proxies(self) -> None: ... - renamed_fields: Any = ... - def generate_renamed_fields(self) -> None: ... - def generate_added_fields(self) -> None: ... - def generate_removed_fields(self) -> None: ... - def generate_altered_fields(self) -> None: ... - def create_altered_indexes(self) -> None: ... - def generate_added_indexes(self) -> None: ... - def generate_removed_indexes(self) -> None: ... - def generate_altered_unique_together(self) -> None: ... - def generate_altered_index_together(self) -> None: ... - def generate_altered_db_table(self) -> None: ... - def generate_altered_options(self) -> None: ... - def generate_altered_order_with_respect_to(self) -> None: ... - def generate_altered_managers(self) -> None: ... - def arrange_for_graph( - self, changes: Dict[str, List[Migration]], graph: MigrationGraph, migration_name: Optional[str] = ... - ) -> Dict[str, List[Migration]]: ... - @classmethod - def parse_number(cls, name: str) -> int: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/exceptions.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/exceptions.pyi deleted file mode 100644 index 1cf78855..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/exceptions.pyi +++ /dev/null @@ -1,20 +0,0 @@ -from typing import Optional, Tuple - -from django.db.migrations.migration import Migration -from django.db.utils import DatabaseError - -class AmbiguityError(Exception): ... -class BadMigrationError(Exception): ... -class CircularDependencyError(Exception): ... -class InconsistentMigrationHistory(Exception): ... -class InvalidBasesError(ValueError): ... -class IrreversibleError(RuntimeError): ... - -class NodeNotFoundError(LookupError): - message: str = ... - origin: Optional[Migration] = ... - node: Tuple[str, str] = ... - def __init__(self, message: str, node: Tuple[str, str], origin: Optional[Migration] = ...) -> None: ... - -class MigrationSchemaMissing(DatabaseError): ... -class InvalidMigrationPlan(ValueError): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/executor.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/executor.pyi deleted file mode 100644 index fd4f30f4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/executor.pyi +++ /dev/null @@ -1,48 +0,0 @@ -import sys -from typing import List, Optional, Sequence, Set, Tuple, Union - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.migrations.migration import Migration - -from .loader import MigrationLoader -from .recorder import MigrationRecorder -from .state import ProjectState - -if sys.version_info < (3, 8): - from typing_extensions import Protocol -else: - from typing import Protocol - -class _ProgressCallbackT(Protocol): - def __call__(self, __action: str, __migration: Optional[Migration] = ..., __fake: Optional[bool] = ...) -> None: ... - -class MigrationExecutor: - connection: BaseDatabaseWrapper = ... - loader: MigrationLoader = ... - recorder: MigrationRecorder = ... - progress_callback: Optional[_ProgressCallbackT] = ... - def __init__( - self, - connection: Optional[BaseDatabaseWrapper], - progress_callback: Optional[_ProgressCallbackT] = ..., - ) -> None: ... - def migration_plan( - self, targets: Union[Sequence[Tuple[str, Optional[str]]], Set[Tuple[str, str]]], clean_start: bool = ... - ) -> List[Tuple[Migration, bool]]: ... - def migrate( - self, - targets: Optional[Sequence[Tuple[str, Optional[str]]]], - plan: Optional[Sequence[Tuple[Migration, bool]]] = ..., - state: Optional[ProjectState] = ..., - fake: bool = ..., - fake_initial: bool = ..., - ) -> ProjectState: ... - def apply_migration( - self, state: ProjectState, migration: Migration, fake: bool = ..., fake_initial: bool = ... - ) -> ProjectState: ... - def record_migration(self, migration: Migration) -> None: ... - def unapply_migration(self, state: ProjectState, migration: Migration, fake: bool = ...) -> ProjectState: ... - def check_replacements(self) -> None: ... - def detect_soft_applied( - self, project_state: Optional[ProjectState], migration: Migration - ) -> Tuple[bool, ProjectState]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/graph.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/graph.pyi deleted file mode 100644 index 7f933b13..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/graph.pyi +++ /dev/null @@ -1,55 +0,0 @@ -from typing import Any, Dict, List, Optional, Sequence, Set, Tuple, Union - -from django.db.migrations.migration import Migration, SwappableTuple -from django.db.migrations.state import ProjectState - -RECURSION_DEPTH_WARNING: str - -class Node: - key: Tuple[str, str] = ... - children: Set[Any] = ... - parents: Set[Any] = ... - def __init__(self, key: Tuple[str, str]) -> None: ... - def __eq__(self, other: Any) -> bool: ... - def __lt__(self, other: Union[Tuple[str, str], Node]) -> bool: ... - def __getitem__(self, item: int) -> str: ... - def __hash__(self) -> int: ... - def add_child(self, child: Node) -> None: ... - def add_parent(self, parent: Node) -> None: ... - -class DummyNode(Node): - origin: Any = ... - error_message: Any = ... - def __init__(self, key: Tuple[str, str], origin: Union[Migration, str], error_message: str) -> None: ... - def raise_error(self) -> None: ... - -class MigrationGraph: - node_map: Dict[Tuple[str, str], Node] = ... - nodes: Dict[Tuple[str, str], Optional[Migration]] = ... - cached: bool = ... - def __init__(self) -> None: ... - def add_node(self, key: Tuple[str, str], migration: Optional[Migration]) -> None: ... - def add_dummy_node(self, key: Tuple[str, str], origin: Union[Migration, str], error_message: str) -> None: ... - def add_dependency( - self, - migration: Optional[Union[Migration, str]], - child: Tuple[str, str], - parent: Tuple[str, str], - skip_validation: bool = ..., - ) -> None: ... - def remove_replaced_nodes(self, replacement: Tuple[str, str], replaced: List[Tuple[str, str]]) -> None: ... - def remove_replacement_node(self, replacement: Tuple[str, str], replaced: List[Tuple[str, str]]) -> None: ... - def validate_consistency(self) -> None: ... - def forwards_plan(self, target: Tuple[str, str]) -> List[Tuple[str, str]]: ... - def backwards_plan(self, target: Tuple[str, str]) -> List[Tuple[str, str]]: ... - def iterative_dfs(self, start: Any, forwards: bool = ...) -> List[Tuple[str, str]]: ... - def root_nodes(self, app: Optional[str] = ...) -> List[Tuple[str, str]]: ... - def leaf_nodes(self, app: Optional[str] = ...) -> List[Tuple[str, str]]: ... - def ensure_not_cyclic(self) -> None: ... - def make_state( - self, - nodes: Union[None, Tuple[str, str], Sequence[Tuple[str, str]]] = ..., - at_end: bool = ..., - real_apps: List[str] = ..., - ) -> ProjectState: ... - def __contains__(self, node: Tuple[str, str]) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/loader.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/loader.pyi deleted file mode 100644 index 5bb31a3b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/loader.pyi +++ /dev/null @@ -1,43 +0,0 @@ -from typing import Any, Dict, List, Optional, Sequence, Set, Tuple, Union - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.migrations.migration import Migration -from django.db.migrations.state import ProjectState - -from .exceptions import AmbiguityError as AmbiguityError -from .exceptions import BadMigrationError as BadMigrationError -from .exceptions import InconsistentMigrationHistory as InconsistentMigrationHistory -from .exceptions import NodeNotFoundError as NodeNotFoundError - -MIGRATIONS_MODULE_NAME: str - -class MigrationLoader: - connection: Optional[BaseDatabaseWrapper] = ... - disk_migrations: Dict[Tuple[str, str], Migration] = ... - applied_migrations: Dict[Tuple[str, str], Migration] = ... - ignore_no_migrations: bool = ... - def __init__( - self, - connection: Optional[BaseDatabaseWrapper], - load: bool = ..., - ignore_no_migrations: bool = ..., - replace_migrations: bool = ..., - ) -> None: ... - @classmethod - def migrations_module(cls, app_label: str) -> Tuple[Optional[str], bool]: ... - unmigrated_apps: Set[str] = ... - migrated_apps: Set[str] = ... - def load_disk(self) -> None: ... - def get_migration(self, app_label: str, name_prefix: str) -> Migration: ... - def get_migration_by_prefix(self, app_label: str, name_prefix: str) -> Migration: ... - def check_key(self, key: Tuple[str, str], current_app: str) -> Optional[Tuple[str, str]]: ... - def add_internal_dependencies(self, key: Tuple[str, str], migration: Migration) -> None: ... - def add_external_dependencies(self, key: Tuple[str, str], migration: Migration) -> None: ... - graph: Any = ... - replacements: Any = ... - def build_graph(self) -> None: ... - def check_consistent_history(self, connection: BaseDatabaseWrapper) -> None: ... - def detect_conflicts(self) -> Dict[str, List[str]]: ... - def project_state( - self, nodes: Optional[Union[Tuple[str, str], Sequence[Tuple[str, str]]]] = ..., at_end: bool = ... - ) -> ProjectState: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/migration.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/migration.pyi deleted file mode 100644 index 29e732a0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/migration.pyi +++ /dev/null @@ -1,29 +0,0 @@ -from typing import List, Optional, Tuple - -from django.db.backends.base.schema import BaseDatabaseSchemaEditor -from django.db.migrations.operations.base import Operation -from django.db.migrations.state import ProjectState - -class Migration: - operations: List[Operation] = ... - dependencies: List[Tuple[str, str]] = ... - run_before: List[Tuple[str, str]] = ... - replaces: List[Tuple[str, str]] = ... - initial: Optional[bool] = ... - atomic: bool = ... - name: str = ... - app_label: str = ... - def __init__(self, name: str, app_label: str) -> None: ... - def mutate_state(self, project_state: ProjectState, preserve: bool = ...) -> ProjectState: ... - def apply( - self, project_state: ProjectState, schema_editor: BaseDatabaseSchemaEditor, collect_sql: bool = ... - ) -> ProjectState: ... - def unapply( - self, project_state: ProjectState, schema_editor: BaseDatabaseSchemaEditor, collect_sql: bool = ... - ) -> ProjectState: ... - -class SwappableTuple(Tuple[str, str]): - setting: str = ... - def __new__(cls, value: Tuple[str, str], setting: str) -> SwappableTuple: ... - -def swappable_dependency(value: str) -> SwappableTuple: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/__init__.pyi deleted file mode 100644 index fb91d90e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/__init__.pyi +++ /dev/null @@ -1,20 +0,0 @@ -from .fields import AddField as AddField -from .fields import AlterField as AlterField -from .fields import RemoveField as RemoveField -from .fields import RenameField as RenameField -from .models import AddConstraint as AddConstraint -from .models import AddIndex as AddIndex -from .models import AlterIndexTogether as AlterIndexTogether -from .models import AlterModelManagers as AlterModelManagers -from .models import AlterModelOptions as AlterModelOptions -from .models import AlterModelTable as AlterModelTable -from .models import AlterOrderWithRespectTo as AlterOrderWithRespectTo -from .models import AlterUniqueTogether as AlterUniqueTogether -from .models import CreateModel as CreateModel -from .models import DeleteModel as DeleteModel -from .models import RemoveConstraint as RemoveConstraint -from .models import RemoveIndex as RemoveIndex -from .models import RenameModel as RenameModel -from .special import RunPython as RunPython -from .special import RunSQL as RunSQL -from .special import SeparateDatabaseAndState as SeparateDatabaseAndState diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/base.pyi deleted file mode 100644 index bb4c2abd..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/base.pyi +++ /dev/null @@ -1,18 +0,0 @@ -from typing import Any, Dict, List, Sequence, Tuple, Union - -class Operation: - reversible: bool = ... - reduces_to_sql: bool = ... - atomic: bool = ... - elidable: bool = ... - serialization_expand_args: Any = ... - _constructor_args: Tuple[Sequence[Any], Dict[str, Any]] - def deconstruct(self) -> Tuple[str, Sequence[Any], Dict[str, Any]]: ... - def state_forwards(self, app_label: Any, state: Any) -> None: ... - def database_forwards(self, app_label: Any, schema_editor: Any, from_state: Any, to_state: Any) -> None: ... - def database_backwards(self, app_label: Any, schema_editor: Any, from_state: Any, to_state: Any) -> None: ... - def describe(self) -> str: ... - def references_model(self, name: str, app_label: str) -> bool: ... - def references_field(self, model_name: str, name: str, app_label: str) -> bool: ... - def allow_migrate_model(self, connection_alias: Any, model: Any) -> bool: ... - def reduce(self, operation: Operation, app_label: str) -> Union[bool, List[Operation]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/fields.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/fields.pyi deleted file mode 100644 index d465eaf3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/fields.pyi +++ /dev/null @@ -1,37 +0,0 @@ -from typing import Any, Optional - -from django.db.models.fields import Field - -from .base import Operation - -class FieldOperation(Operation): - model_name: str = ... - name: str = ... - def __init__(self, model_name: str, name: str, field: Optional[Field] = ...) -> None: ... - @property - def name_lower(self) -> str: ... - @property - def model_name_lower(self) -> str: ... - def is_same_model_operation(self, operation: FieldOperation) -> bool: ... - def is_same_field_operation(self, operation: FieldOperation) -> bool: ... - -class AddField(FieldOperation): - field: Field = ... - preserve_default: bool = ... - def __init__(self, model_name: str, name: str, field: Field, preserve_default: bool = ...) -> None: ... - -class RemoveField(FieldOperation): ... - -class AlterField(FieldOperation): - field: Any = ... - preserve_default: Any = ... - def __init__(self, model_name: str, name: str, field: Field, preserve_default: bool = ...) -> None: ... - -class RenameField(FieldOperation): - old_name: Any = ... - new_name: Any = ... - def __init__(self, model_name: str, old_name: str, new_name: str) -> None: ... - @property - def old_name_lower(self): ... - @property - def new_name_lower(self) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/models.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/models.pyi deleted file mode 100644 index 23d8078c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/models.pyi +++ /dev/null @@ -1,115 +0,0 @@ -from typing import Any, Dict, List, Optional, Sequence, Set, Tuple, Type, TypeVar, Union - -from django.db.backends.base.schema import BaseDatabaseSchemaEditor -from django.db.migrations.operations.base import Operation -from django.db.models.base import Model -from django.db.models.constraints import BaseConstraint -from django.db.models.fields import Field -from django.db.models.indexes import Index -from django.db.models.manager import Manager -from django.utils.datastructures import _ListOrTuple - -_T = TypeVar("_T") - -class ModelOperation(Operation): - name: str = ... - def __init__(self, name: str) -> None: ... - @property - def name_lower(self) -> str: ... - -class CreateModel(ModelOperation): - fields: List[Tuple[str, Field]] = ... - options: Dict[str, Any] = ... - bases: Optional[Sequence[Union[Type[Model], str]]] = ... - managers: Optional[Sequence[Tuple[str, Manager]]] = ... - def __init__( - self, - name: str, - fields: List[Tuple[str, Field]], - options: Optional[Dict[str, Any]] = ..., - bases: Optional[Sequence[Union[Type[Model], str]]] = ..., - managers: Optional[Sequence[Tuple[str, Manager]]] = ..., - ) -> None: ... - -class DeleteModel(ModelOperation): ... - -class RenameModel(ModelOperation): - old_name: str = ... - new_name: str = ... - def __init__(self, old_name: str, new_name: str) -> None: ... - @property - def old_name_lower(self) -> str: ... - @property - def new_name_lower(self) -> str: ... - -class ModelOptionOperation(ModelOperation): ... - -class AlterModelTable(ModelOptionOperation): - table: Optional[str] = ... - def __init__(self, name: str, table: Optional[str]) -> None: ... - -class AlterTogetherOptionOperation(ModelOptionOperation): - option_name: str = ... - def __init__( - self, - name: str, - option_value: _ListOrTuple[Tuple[str, str]], - ) -> None: ... - @property - def option_value(self) -> Set[Tuple[str, str]]: ... - def deconstruct(self) -> Tuple[str, Sequence[Any], Dict[str, Any]]: ... - def state_forwards(self, app_label: str, state: Any) -> None: ... - def database_forwards( - self, app_label: str, schema_editor: BaseDatabaseSchemaEditor, from_state: Any, to_state: Any - ) -> None: ... - def database_backwards( - self, app_label: str, schema_editor: BaseDatabaseSchemaEditor, from_state: Any, to_state: Any - ) -> None: ... - def references_field(self, model_name: str, name: str, app_label: str) -> bool: ... - def describe(self) -> str: ... - @property - def migration_name_fragment(self) -> str: ... - -class AlterUniqueTogether(AlterTogetherOptionOperation): - option_name: str = ... - unique_together: _ListOrTuple[Tuple[str, str]] = ... - def __init__(self, name: str, unique_together: _ListOrTuple[Tuple[str, str]]) -> None: ... - -class AlterIndexTogether(AlterTogetherOptionOperation): - option_name: str = ... - index_together: _ListOrTuple[Tuple[str, str]] = ... - def __init__(self, name: str, index_together: _ListOrTuple[Tuple[str, str]]) -> None: ... - -class AlterOrderWithRespectTo(ModelOptionOperation): - order_with_respect_to: str = ... - def __init__(self, name: str, order_with_respect_to: str) -> None: ... - -class AlterModelOptions(ModelOptionOperation): - ALTER_OPTION_KEYS: Any = ... - options: Dict[str, str] = ... - def __init__(self, name: str, options: Dict[str, Any]) -> None: ... - -class AlterModelManagers(ModelOptionOperation): - managers: Any = ... - def __init__(self, name: Any, managers: Any) -> None: ... - -class IndexOperation(Operation): - option_name: str = ... - @property - def model_name_lower(self) -> str: ... - -class AddIndex(IndexOperation): - model_name: str = ... - index: Index = ... - def __init__(self, model_name: str, index: Index) -> None: ... - -class RemoveIndex(IndexOperation): - model_name: str = ... - name: str = ... - def __init__(self, model_name: str, name: str) -> None: ... - -class AddConstraint(IndexOperation): - def __init__(self, model_name: str, constraint: BaseConstraint): ... - -class RemoveConstraint(IndexOperation): - def __init__(self, model_name: str, name: str) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/special.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/special.pyi deleted file mode 100644 index 78ff8f64..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/special.pyi +++ /dev/null @@ -1,57 +0,0 @@ -import sys -from typing import Any, Dict, List, Mapping, Optional, Sequence, Tuple, Union - -from django.db.backends.base.schema import BaseDatabaseSchemaEditor -from django.db.migrations.state import StateApps - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -from .base import Operation - -if sys.version_info < (3, 8): - from typing_extensions import Literal, Protocol -else: - from typing import Literal, Protocol - -class SeparateDatabaseAndState(Operation): - database_operations: Sequence[Operation] = ... - state_operations: Sequence[Operation] = ... - def __init__( - self, database_operations: Sequence[Operation] = ..., state_operations: Sequence[Operation] = ... - ) -> None: ... - -class RunSQL(Operation): - noop: Literal[""] = ... - sql: Union[str, List[str], Tuple[str, ...]] = ... - reverse_sql: Optional[Union[str, List[str], Tuple[str, ...]]] = ... - state_operations: Sequence[Operation] = ... - hints: Mapping[str, Any] = ... - def __init__( - self, - sql: Union[str, List[str], Tuple[str, ...]], - reverse_sql: Optional[Union[str, List[str], Tuple[str, ...]]] = ..., - state_operations: Sequence[Operation] = ..., - hints: Optional[Mapping[str, Any]] = ..., - elidable: bool = ..., - ) -> None: ... - -class _CodeCallable(Protocol): - def __call__(self, __state_apps: StateApps, __shema_editor: BaseDatabaseSchemaEditor) -> None: ... - -class RunPython(Operation): - code: _CodeCallable = ... - reverse_code: Optional[_CodeCallable] = ... - hints: Optional[Dict[str, Any]] = ... - def __init__( - self, - code: _CodeCallable, - reverse_code: Optional[_CodeCallable] = ..., - atomic: Optional[bool] = ..., - hints: Optional[Dict[str, Any]] = ..., - elidable: bool = ..., - ) -> None: ... - @staticmethod - def noop(apps: StateApps, schema_editor: BaseDatabaseSchemaEditor) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/utils.pyi deleted file mode 100644 index 0253213c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/operations/utils.pyi +++ /dev/null @@ -1,29 +0,0 @@ -import sys -from collections import namedtuple -from typing import Iterator, Optional, Tuple, Union - -from django.db.migrations.state import ModelState, ProjectState -from django.db.models import Field - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -def resolve_relation(model, app_label: Optional[str] = ..., model_name: Optional[str] = ...) -> Tuple[str, str]: ... - -FieldReference = namedtuple("FieldReference", ["to", "through"]) - -def field_references( - model_tuple: Tuple[str, str], - field: Field, - reference_model_tuple: Tuple[str, str], - reference_field_name: Optional[str] = ..., - reference_field: Optional[Field] = ..., -) -> Union[Literal[False], FieldReference]: ... -def get_references( - state: ProjectState, - model_tuple: Tuple[str, str], - field_tuple: Union[Tuple[()], Tuple[str, Field]] = ..., -) -> Iterator[Tuple[ModelState, str, Field, FieldReference]]: ... -def field_is_referenced(state: ProjectState, model_tuple: Tuple[str, str], field_tuple: Tuple[str, Field]) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/optimizer.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/optimizer.pyi deleted file mode 100644 index e001cb9a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/optimizer.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import List, Optional - -from django.db.migrations.operations.base import Operation - -class MigrationOptimizer: - def optimize(self, operations: List[Operation], app_label: Optional[str]) -> List[Operation]: ... - def optimize_inner(self, operations: List[Operation], app_label: Optional[str]) -> List[Operation]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/questioner.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/questioner.pyi deleted file mode 100644 index b8053690..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/questioner.pyi +++ /dev/null @@ -1,25 +0,0 @@ -from typing import Any, Dict, Optional, Set - -from django.db.migrations.state import ModelState -from django.db.models.fields import Field - -class MigrationQuestioner: - defaults: Dict[str, Any] = ... - specified_apps: Set[str] = ... - dry_run: Optional[bool] = ... - def __init__( - self, - defaults: Optional[Dict[str, bool]] = ..., - specified_apps: Optional[Set[str]] = ..., - dry_run: Optional[bool] = ..., - ) -> None: ... - def ask_initial(self, app_label: str) -> bool: ... - def ask_not_null_addition(self, field_name: str, model_name: str) -> Any: ... - def ask_not_null_alteration(self, field_name: Any, model_name: Any) -> Any: ... - def ask_rename(self, model_name: str, old_name: str, new_name: str, field_instance: Field) -> bool: ... - def ask_rename_model(self, old_model_state: ModelState, new_model_state: ModelState) -> bool: ... - def ask_merge(self, app_label: str) -> bool: ... - def ask_auto_now_add_addition(self, field_name: str, model_name: str) -> Any: ... - -class InteractiveMigrationQuestioner(MigrationQuestioner): ... -class NonInteractiveMigrationQuestioner(MigrationQuestioner): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/recorder.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/recorder.pyi deleted file mode 100644 index b4612431..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/recorder.pyi +++ /dev/null @@ -1,21 +0,0 @@ -from typing import Any, Dict, Tuple - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.models.base import Model -from django.db.models.query import QuerySet - -class MigrationRecorder: - class Migration(Model): - app: Any = ... - name: Any = ... - applied: Any = ... - connection: BaseDatabaseWrapper = ... - def __init__(self, connection: BaseDatabaseWrapper) -> None: ... - @property - def migration_qs(self) -> QuerySet: ... - def has_table(self) -> bool: ... - def ensure_schema(self) -> None: ... - def applied_migrations(self) -> Dict[Tuple[str, str], Migration]: ... - def record_applied(self, app: str, name: str) -> None: ... - def record_unapplied(self, app: str, name: str) -> None: ... - def flush(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/serializer.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/serializer.pyi deleted file mode 100644 index 5aed6629..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/serializer.pyi +++ /dev/null @@ -1,46 +0,0 @@ -from typing import Any, Callable, Dict, List, Set, Tuple, Type, Union - -class BaseSerializer: - value: Any = ... - def __init__(self, value: Any) -> None: ... - def serialize(self) -> Tuple[str, Set[str]]: ... - -class BaseSequenceSerializer(BaseSerializer): ... -class BaseSimpleSerializer(BaseSerializer): ... -class DateTimeSerializer(BaseSerializer): ... -class DatetimeDatetimeSerializer(BaseSerializer): ... -class DecimalSerializer(BaseSerializer): ... - -class DeconstructableSerializer(BaseSerializer): - @staticmethod - def serialize_deconstructed( - path: str, args: List[Any], kwargs: Dict[str, Union[Callable, int, str]] - ) -> Tuple[str, Set[str]]: ... - -class DictionarySerializer(BaseSerializer): ... -class EnumSerializer(BaseSerializer): ... -class FloatSerializer(BaseSimpleSerializer): ... -class FrozensetSerializer(BaseSequenceSerializer): ... -class FunctionTypeSerializer(BaseSerializer): ... -class FunctoolsPartialSerializer(BaseSerializer): ... -class IterableSerializer(BaseSerializer): ... -class ModelFieldSerializer(DeconstructableSerializer): ... -class ModelManagerSerializer(DeconstructableSerializer): ... -class OperationSerializer(BaseSerializer): ... -class PathLikeSerializer(BaseSerializer): ... -class PathSerializer(BaseSerializer): ... -class RegexSerializer(BaseSerializer): ... -class SequenceSerializer(BaseSequenceSerializer): ... -class SetSerializer(BaseSequenceSerializer): ... -class SettingsReferenceSerializer(BaseSerializer): ... -class TupleSerializer(BaseSequenceSerializer): ... -class TypeSerializer(BaseSerializer): ... -class UUIDSerializer(BaseSerializer): ... - -def serializer_factory(value: Any) -> BaseSerializer: ... - -class Serializer: - @classmethod - def register(cls, type_: type, serializer: Type[BaseSerializer]) -> None: ... - @classmethod - def unregister(cls, type_: type) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/state.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/state.pyi deleted file mode 100644 index d412d6d0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/state.pyi +++ /dev/null @@ -1,74 +0,0 @@ -from contextlib import contextmanager -from typing import Any, Dict, Iterator, List, Optional, Sequence, Set, Tuple, Type, Union - -from django.apps import AppConfig -from django.apps.registry import Apps -from django.db.models.base import Model -from django.db.models.fields import Field -from django.db.models.manager import Manager - -class AppConfigStub(AppConfig): ... - -class ModelState: - name: str - app_label: str - fields: Dict[str, Field] - options: Dict[str, Any] = ... - bases: Sequence[Union[Type[Model], str]] = ... - managers: List[Tuple[str, Manager]] = ... - def __init__( - self, - app_label: str, - name: str, - fields: Union[List[Tuple[str, Field]], Dict[str, Field]], - options: Optional[Dict[str, Any]] = ..., - bases: Optional[Sequence[Union[Type[Model], str]]] = ..., - managers: Optional[List[Tuple[str, Manager]]] = ..., - ) -> None: ... - def clone(self) -> ModelState: ... - def construct_managers(self) -> Iterator[Tuple[str, Manager]]: ... - @classmethod - def from_model(cls, model: Type[Model], exclude_rels: bool = ...) -> ModelState: ... - # Removed in 3.2, but back in 4.0 - # def get_field(self, field_name: str) -> Field: ... - @property - def name_lower(self) -> str: ... - def render(self, apps: Apps) -> Any: ... - def get_index_by_name(self, name: str) -> Any: ... - def get_constraint_by_name(self, name: str) -> Any: ... - def __eq__(self, other: Any) -> bool: ... - -def get_related_models_tuples(model: Type[Model]) -> Set[Tuple[str, str]]: ... -def get_related_models_recursive(model: Type[Model]) -> Set[Tuple[str, str]]: ... - -class ProjectState: - is_delayed: bool - models: Dict[Any, Any] - real_apps: List[str] - def __init__( - self, models: Optional[Dict[Tuple[str, str], ModelState]] = ..., real_apps: Optional[List[str]] = ... - ) -> None: ... - def add_model(self, model_state: ModelState) -> None: ... - @property - def apps(self) -> StateApps: ... - def clear_delayed_apps_cache(self) -> None: ... - def clone(self) -> ProjectState: ... - @property - def concrete_apps(self) -> StateApps: ... - @classmethod - def from_apps(cls, apps: Apps) -> ProjectState: ... - def reload_model(self, app_label: str, model_name: str, delay: bool = ...) -> None: ... - def reload_models(self, models: List[Any], delay: bool = ...) -> None: ... - def remove_model(self, app_label: str, model_name: str) -> None: ... - -class StateApps(Apps): - real_models: List[ModelState] - def __init__( - self, real_apps: List[str], models: Dict[Tuple[str, str], ModelState], ignore_swappable: bool = ... - ) -> None: ... - @contextmanager - def bulk_update(self) -> Iterator[None]: ... - def clone(self) -> StateApps: ... - def render_multiple(self, model_states: List[ModelState]) -> None: ... - def register_model(self, app_label: str, model: Type[Model]) -> None: ... - def unregister_model(self, app_label: str, model_name: str) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/utils.pyi deleted file mode 100644 index fb98a1e3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/utils.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any - -COMPILED_REGEX_TYPE: Any - -class RegexObject: - pattern: str = ... - flags: int = ... - def __init__(self, obj: Any) -> None: ... - -def get_migration_name_timestamp() -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/writer.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/writer.pyi deleted file mode 100644 index a2551818..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/migrations/writer.pyi +++ /dev/null @@ -1,37 +0,0 @@ -from typing import Any, List, Set, Tuple, Type - -from django.db.migrations.migration import Migration -from django.db.migrations.operations.base import Operation -from django.db.migrations.serializer import BaseSerializer - -class OperationWriter: - operation: Operation = ... - buff: List[Any] = ... - indentation: int = ... - def __init__(self, operation: Operation, indentation: int = ...) -> None: ... - def serialize(self) -> Tuple[str, Set[str]]: ... - def indent(self) -> None: ... - def unindent(self) -> None: ... - def feed(self, line: str) -> None: ... - def render(self) -> str: ... - -class MigrationWriter: - migration: Migration = ... - needs_manual_porting: bool = ... - def __init__(self, migration: Migration, include_header: bool = ...) -> None: ... - def as_string(self) -> str: ... - @property - def basedir(self) -> str: ... - @property - def filename(self) -> str: ... - @property - def path(self) -> str: ... - @classmethod - def serialize(cls, value: Any) -> Tuple[str, Set[str]]: ... - @classmethod - def register_serializer(cls, type_: type, serializer: Type[BaseSerializer]) -> None: ... - @classmethod - def unregister_serializer(cls, type_: type) -> None: ... - -MIGRATION_HEADER_TEMPLATE: str = ... -MIGRATION_TEMPLATE: str = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/__init__.pyi deleted file mode 100644 index 6d5f56e2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/__init__.pyi +++ /dev/null @@ -1,104 +0,0 @@ -from . import lookups as lookups -from . import signals as signals -from .aggregates import Aggregate as Aggregate -from .aggregates import Avg as Avg -from .aggregates import Count as Count -from .aggregates import Max as Max -from .aggregates import Min as Min -from .aggregates import StdDev as StdDev -from .aggregates import Sum as Sum -from .aggregates import Variance as Variance -from .base import Model as Model -from .constraints import BaseConstraint as BaseConstraint -from .constraints import CheckConstraint as CheckConstraint -from .constraints import Deferrable as Deferrable -from .constraints import UniqueConstraint as UniqueConstraint -from .deletion import CASCADE as CASCADE -from .deletion import DO_NOTHING as DO_NOTHING -from .deletion import PROTECT as PROTECT -from .deletion import RESTRICT as RESTRICT -from .deletion import SET as SET -from .deletion import SET_DEFAULT as SET_DEFAULT -from .deletion import SET_NULL as SET_NULL -from .deletion import ProtectedError as ProtectedError -from .deletion import RestrictedError as RestrictedError -from .enums import Choices as Choices -from .enums import IntegerChoices as IntegerChoices -from .enums import TextChoices as TextChoices -from .expressions import Case as Case -from .expressions import Col as Col -from .expressions import Combinable as Combinable -from .expressions import CombinedExpression as CombinedExpression -from .expressions import Exists as Exists -from .expressions import Expression as Expression -from .expressions import ExpressionList as ExpressionList -from .expressions import ExpressionWrapper as ExpressionWrapper -from .expressions import F as F -from .expressions import Func as Func -from .expressions import OrderBy as OrderBy -from .expressions import OuterRef as OuterRef -from .expressions import RawSQL as RawSQL -from .expressions import Ref as Ref -from .expressions import RowRange as RowRange -from .expressions import Subquery as Subquery -from .expressions import Value as Value -from .expressions import ValueRange as ValueRange -from .expressions import When as When -from .expressions import Window as Window -from .expressions import WindowFrame as WindowFrame -from .fields import NOT_PROVIDED as NOT_PROVIDED -from .fields import AutoField as AutoField -from .fields import BigAutoField as BigAutoField -from .fields import BigIntegerField as BigIntegerField -from .fields import BinaryField as BinaryField -from .fields import BooleanField as BooleanField -from .fields import CharField as CharField -from .fields import CommaSeparatedIntegerField as CommaSeparatedIntegerField -from .fields import DateField as DateField -from .fields import DateTimeField as DateTimeField -from .fields import DecimalField as DecimalField -from .fields import DurationField as DurationField -from .fields import EmailField as EmailField -from .fields import Field as Field -from .fields import FieldDoesNotExist as FieldDoesNotExist -from .fields import FilePathField as FilePathField -from .fields import FloatField as FloatField -from .fields import GenericIPAddressField as GenericIPAddressField -from .fields import IntegerField as IntegerField -from .fields import IPAddressField as IPAddressField -from .fields import NullBooleanField as NullBooleanField -from .fields import PositiveBigIntegerField as PositiveBigIntegerField -from .fields import PositiveIntegerField as PositiveIntegerField -from .fields import PositiveSmallIntegerField as PositiveSmallIntegerField -from .fields import SlugField as SlugField -from .fields import SmallAutoField as SmallAutoField -from .fields import SmallIntegerField as SmallIntegerField -from .fields import TextField as TextField -from .fields import TimeField as TimeField -from .fields import URLField as URLField -from .fields import UUIDField as UUIDField -from .fields.files import FieldFile as FieldFile -from .fields.files import FileDescriptor as FileDescriptor -from .fields.files import FileField as FileField -from .fields.files import ImageField as ImageField -from .fields.json import JSONField as JSONField -from .fields.proxy import OrderWrt as OrderWrt -from .fields.related import ForeignKey as ForeignKey -from .fields.related import ForeignObject as ForeignObject -from .fields.related import ForeignObjectRel as ForeignObjectRel -from .fields.related import ManyToManyField as ManyToManyField -from .fields.related import ManyToManyRel as ManyToManyRel -from .fields.related import ManyToOneRel as ManyToOneRel -from .fields.related import OneToOneField as OneToOneField -from .fields.related import OneToOneRel as OneToOneRel -from .indexes import Index as Index -from .lookups import Lookup as Lookup -from .lookups import Transform as Transform -from .manager import BaseManager as BaseManager -from .manager import Manager as Manager -from .query import Prefetch as Prefetch -from .query import QuerySet as QuerySet -from .query import RawQuerySet as RawQuerySet -from .query import prefetch_related_objects as prefetch_related_objects -from .query_utils import FilteredRelation as FilteredRelation -from .query_utils import Q as Q diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/aggregates.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/aggregates.pyi deleted file mode 100644 index 33c83e58..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/aggregates.pyi +++ /dev/null @@ -1,18 +0,0 @@ -from typing import Any, Optional - -from django.db.models.expressions import Func -from django.db.models.functions.mixins import FixDurationInputMixin, NumericOutputFieldMixin - -class Aggregate(Func): - filter_template: str = ... - filter: Any = ... - allow_distinct: bool = ... - def __init__(self, *expressions: Any, distinct: bool = ..., filter: Optional[Any] = ..., **extra: Any) -> None: ... - -class Avg(FixDurationInputMixin, NumericOutputFieldMixin, Aggregate): ... -class Count(Aggregate): ... -class Max(Aggregate): ... -class Min(Aggregate): ... -class StdDev(NumericOutputFieldMixin, Aggregate): ... -class Sum(FixDurationInputMixin, Aggregate): ... -class Variance(NumericOutputFieldMixin, Aggregate): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/base.pyi deleted file mode 100644 index d0756e2e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/base.pyi +++ /dev/null @@ -1,65 +0,0 @@ -from typing import Any, Collection, Dict, Iterable, List, Optional, Sequence, Set, Tuple, Type, TypeVar - -from django.core.checks.messages import CheckMessage -from django.core.exceptions import MultipleObjectsReturned as BaseMultipleObjectsReturned -from django.core.exceptions import ObjectDoesNotExist, ValidationError -from django.db.models.manager import BaseManager -from django.db.models.options import Options -from django.utils.functional import classproperty - -_Self = TypeVar("_Self", bound="Model") - -class ModelStateFieldsCacheDescriptor: ... - -class ModelState: - db: Optional[str] = ... - adding: bool = ... - fields_cache: ModelStateFieldsCacheDescriptor = ... - -class ModelBase(type): ... - -class Model(metaclass=ModelBase): - class DoesNotExist(ObjectDoesNotExist): ... - class MultipleObjectsReturned(BaseMultipleObjectsReturned): ... - class Meta: ... - _meta: Options[Any] - @classproperty - @classmethod - def _default_manager(cls: Type[_Self]) -> BaseManager[_Self]: ... - @classproperty - @classmethod - def _base_manager(cls: Type[_Self]) -> BaseManager[_Self]: ... - objects: BaseManager[Any] - pk: Any = ... - _state: ModelState - def __init__(self: _Self, *args, **kwargs) -> None: ... - @classmethod - def add_to_class(cls, name: str, value: Any): ... - @classmethod - def from_db(cls, db: Optional[str], field_names: Collection[str], values: Collection[Any]) -> _Self: ... - def delete(self, using: Any = ..., keep_parents: bool = ...) -> Tuple[int, Dict[str, int]]: ... - def full_clean(self, exclude: Optional[Iterable[str]] = ..., validate_unique: bool = ...) -> None: ... - def clean(self) -> None: ... - def clean_fields(self, exclude: Optional[Collection[str]] = ...) -> None: ... - def validate_unique(self, exclude: Optional[Collection[str]] = ...) -> None: ... - def unique_error_message(self, model_class: Type[_Self], unique_check: Sequence[str]) -> ValidationError: ... - def save( - self, - force_insert: bool = ..., - force_update: bool = ..., - using: Optional[str] = ..., - update_fields: Optional[Iterable[str]] = ..., - ) -> None: ... - def save_base( - self, - raw: bool = ..., - force_insert: bool = ..., - force_update: bool = ..., - using: Optional[str] = ..., - update_fields: Optional[Iterable[str]] = ..., - ): ... - def refresh_from_db(self: _Self, using: Optional[str] = ..., fields: Optional[List[str]] = ...) -> None: ... - def get_deferred_fields(self) -> Set[str]: ... - @classmethod - def check(cls, **kwargs: Any) -> List[CheckMessage]: ... - def __getstate__(self) -> dict: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/constants.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/constants.pyi deleted file mode 100644 index 6dde4acb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/constants.pyi +++ /dev/null @@ -1 +0,0 @@ -LOOKUP_SEP: str = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/constraints.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/constraints.pyi deleted file mode 100644 index a14f2f5b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/constraints.pyi +++ /dev/null @@ -1,48 +0,0 @@ -from enum import Enum -from typing import Any, Optional, Sequence, Tuple, Type, TypeVar, Union - -from django.db.backends.base.schema import BaseDatabaseSchemaEditor -from django.db.models.base import Model -from django.db.models.expressions import Combinable -from django.db.models.query_utils import Q - -_T = TypeVar("_T", bound="BaseConstraint") - -class Deferrable(Enum): - DEFERRED: str - IMMEDIATE: str - -class BaseConstraint: - name: str - def __init__(self, name: str) -> None: ... - def constraint_sql( - self, model: Optional[Type[Model]], schema_editor: Optional[BaseDatabaseSchemaEditor] - ) -> str: ... - def create_sql(self, model: Optional[Type[Model]], schema_editor: Optional[BaseDatabaseSchemaEditor]) -> str: ... - def remove_sql(self, model: Optional[Type[Model]], schema_editor: Optional[BaseDatabaseSchemaEditor]) -> str: ... - def deconstruct(self) -> Any: ... - def clone(self: _T) -> _T: ... - -class CheckConstraint(BaseConstraint): - check: Q - def __init__(self, *, check: Q, name: str) -> None: ... - -class UniqueConstraint(BaseConstraint): - expressions: Tuple[Combinable, ...] - fields: Tuple[str, ...] - condition: Optional[Q] - deferrable: Optional[Deferrable] - def __init__( - self, - *, - # For 4.0: - # *expressions: Union[str, Combinable], - # fields: Optional[Sequence[str]] = ..., - # name: str = ..., - fields: Optional[Sequence[str]], - name: str, - condition: Optional[Q] = ..., - deferrable: Optional[Deferrable] = ..., - include: Optional[Sequence[str]] = ..., - opclasses: Sequence[Any] = ..., - ) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/deletion.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/deletion.pyi deleted file mode 100644 index 09637ef8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/deletion.pyi +++ /dev/null @@ -1,111 +0,0 @@ -from typing import ( - Any, - Callable, - Collection, - Dict, - Iterable, - Iterator, - List, - Optional, - Sequence, - Set, - Tuple, - Type, - Union, -) - -from django.db import IntegrityError -from django.db.models.base import Model -from django.db.models.fields import Field -from django.db.models.options import Options -from django.db.models.query import QuerySet -from django.utils.datastructures import _IndexableCollection - -def CASCADE( - collector: "Collector", - field: Field[Any, Any], - sub_objs: QuerySet[Model], - using: str, -) -> None: ... -def SET_NULL( - collector: "Collector", - field: Field[Any, Any], - sub_objs: QuerySet[Model], - using: str, -) -> None: ... -def SET_DEFAULT( - collector: "Collector", - field: Field[Any, Any], - sub_objs: QuerySet[Model], - using: str, -) -> None: ... -def DO_NOTHING( - collector: "Collector", - field: Field[Any, Any], - sub_objs: QuerySet[Model], - using: str, -) -> None: ... -def PROTECT( - collector: "Collector", - field: Field[Any, Any], - sub_objs: QuerySet[Model], - using: str, -) -> None: ... -def RESTRICT( - collector: "Collector", - field: Field[Any, Any], - sub_objs: QuerySet[Model], - using: str, -) -> None: ... -def SET(value: Any) -> Callable[..., Any]: ... -def get_candidate_relations_to_delete(opts: Options) -> Iterable[Field]: ... - -class ProtectedError(IntegrityError): - protected_objects: Set[Model] - def __init__(self, msg: str, protected_objects: Set[Model]) -> None: ... - -class RestrictedError(IntegrityError): - restricted_objects: Set[Model] - def __init__(self, msg: str, restricted_objects: Set[Model]) -> None: ... - -class Collector: - using: str - data: Any - field_updates: Any - restricted_objects: Any - fast_deletes: Any - dependencies: Any - def __init__(self, using: str) -> None: ... - def add( - self, - objs: _IndexableCollection[Model], - source: Optional[Type[Model]] = ..., - nullable: bool = ..., - reverse_dependency: bool = ..., - ) -> List[Model]: ... - def add_dependency(self, model: Type[Model], dependency: Type[Model], reverse_dependency: bool = ...) -> None: ... - def add_field_update(self, field: Field, value: Any, objs: _IndexableCollection[Model]) -> None: ... - def add_restricted_objects(self, field: Field, objs: _IndexableCollection[Model]) -> None: ... - def clear_restricted_objects_from_set(self, model: Type[Model], objs: Set[Model]) -> None: ... - def clear_restricted_objects_from_queryset(self, model: Type[Model], qs: QuerySet[Model]) -> None: ... - def can_fast_delete(self, objs: Union[Model, Iterable[Model]], from_field: Optional[Field] = ...) -> bool: ... - def get_del_batches( - self, objs: _IndexableCollection[Model], fields: Iterable[Field] - ) -> Sequence[Sequence[Model]]: ... - def collect( - self, - objs: _IndexableCollection[Optional[Model]], - source: Optional[Type[Model]] = ..., - nullable: bool = ..., - collect_related: bool = ..., - source_attr: Optional[str] = ..., - reverse_dependency: bool = ..., - keep_parents: bool = ..., - fail_on_restricted: bool = ..., - ) -> None: ... - def related_objects( - self, related_model: Type[Model], related_fields: Iterable[Field], objs: _IndexableCollection[Model] - ) -> QuerySet[Model]: ... - def instances_with_model(self) -> Iterator[Tuple[Type[Model], Model]]: ... - def sort(self) -> None: ... - def delete(self) -> Tuple[int, Dict[str, int]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/enums.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/enums.pyi deleted file mode 100644 index 4370f593..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/enums.pyi +++ /dev/null @@ -1,38 +0,0 @@ -import enum -from typing import Any, List, Tuple - -class ChoicesMeta(enum.EnumMeta): - names: List[str] = ... - choices: List[Tuple[Any, str]] = ... - labels: List[str] = ... - values: List[Any] = ... - def __contains__(self, member: Any) -> bool: ... - -class Choices(enum.Enum, metaclass=ChoicesMeta): - def __str__(self): ... - @property - def label(self) -> str: ... - @property - def value(self) -> Any: ... - -# fake -class _IntegerChoicesMeta(ChoicesMeta): - names: List[str] = ... - choices: List[Tuple[int, str]] = ... - labels: List[str] = ... - values: List[int] = ... - -class IntegerChoices(int, Choices, metaclass=_IntegerChoicesMeta): - @property - def value(self) -> int: ... - -# fake -class _TextChoicesMeta(ChoicesMeta): - names: List[str] = ... - choices: List[Tuple[str, str]] = ... - labels: List[str] = ... - values: List[str] = ... - -class TextChoices(str, Choices, metaclass=_TextChoicesMeta): - @property - def value(self) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/expressions.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/expressions.pyi deleted file mode 100644 index 5ebdccf9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/expressions.pyi +++ /dev/null @@ -1,237 +0,0 @@ -import datetime -import sys -from decimal import Decimal -from typing import Any, Callable, Dict, Iterable, Iterator, List, Optional, Sequence, Set, Tuple, Type, TypeVar, Union - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.models import Q -from django.db.models.fields import Field -from django.db.models.lookups import Lookup, Transform -from django.db.models.query import QuerySet -from django.db.models.sql.compiler import SQLCompiler, _AsSqlType -from django.db.models.sql.query import Query - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -class SQLiteNumericMixin: - def as_sqlite(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> _AsSqlType: ... - -_Self = TypeVar("_Self") -_Numeric = Union[float, Decimal] - -class Combinable: - ADD: str = ... - SUB: str = ... - MUL: str = ... - DIV: str = ... - POW: str = ... - MOD: str = ... - BITAND: str = ... - BITOR: str = ... - BITLEFTSHIFT: str = ... - BITRIGHTSHIFT: str = ... - BITXOR: str = ... - def __neg__(self) -> CombinedExpression: ... - def __add__(self, other: Optional[Union[datetime.timedelta, Combinable, _Numeric, str]]) -> CombinedExpression: ... - def __sub__(self, other: Union[datetime.timedelta, Combinable, _Numeric]) -> CombinedExpression: ... - def __mul__(self, other: Union[datetime.timedelta, Combinable, _Numeric]) -> CombinedExpression: ... - def __truediv__(self, other: Union[Combinable, _Numeric]) -> CombinedExpression: ... - def __mod__(self, other: Union[int, Combinable]) -> CombinedExpression: ... - def __pow__(self, other: Union[_Numeric, Combinable]) -> CombinedExpression: ... - def __and__(self, other: Union[Combinable, Q]) -> Q: ... - def bitand(self, other: int) -> CombinedExpression: ... - def bitleftshift(self, other: int) -> CombinedExpression: ... - def bitrightshift(self, other: int) -> CombinedExpression: ... - def bitxor(self, other: int) -> CombinedExpression: ... - def __or__(self, other: Union[Combinable, Q]) -> Q: ... - def bitor(self, other: int) -> CombinedExpression: ... - def __radd__(self, other: Optional[Union[datetime.datetime, _Numeric, Combinable]]) -> CombinedExpression: ... - def __rsub__(self, other: Union[_Numeric, Combinable]) -> CombinedExpression: ... - def __rmul__(self, other: Union[_Numeric, Combinable]) -> CombinedExpression: ... - def __rtruediv__(self, other: Union[_Numeric, Combinable]) -> CombinedExpression: ... - def __rmod__(self, other: Union[int, Combinable]) -> CombinedExpression: ... - def __rpow__(self, other: Union[_Numeric, Combinable]) -> CombinedExpression: ... - def __rand__(self, other: Any) -> Combinable: ... - def __ror__(self, other: Any) -> Combinable: ... - -_SelfB = TypeVar("_SelfB", bound="BaseExpression") - -class BaseExpression: - is_summary: bool = ... - filterable: bool = ... - window_compatible: bool = ... - def __init__(self, output_field: Optional[Field] = ...) -> None: ... - def get_db_converters(self, connection: BaseDatabaseWrapper) -> List[Callable]: ... - def get_source_expressions(self) -> List[Any]: ... - def set_source_expressions(self, exprs: Sequence[Combinable]) -> None: ... - @property - def contains_aggregate(self) -> bool: ... - @property - def contains_over_clause(self) -> bool: ... - @property - def contains_column_references(self) -> bool: ... - def resolve_expression( - self: _SelfB, - query: Any = ..., - allow_joins: bool = ..., - reuse: Optional[Set[str]] = ..., - summarize: bool = ..., - for_save: bool = ..., - ) -> _SelfB: ... - @property - def conditional(self) -> bool: ... - @property - def field(self) -> Field: ... - @property - def output_field(self) -> Field: ... - @property - def convert_value(self) -> Callable: ... - def get_lookup(self, lookup: str) -> Optional[Type[Lookup]]: ... - def get_transform(self, name: str) -> Optional[Type[Transform]]: ... - def relabeled_clone(self: _SelfB, change_map: Dict[Optional[str], str]) -> _SelfB: ... - def copy(self: _SelfB) -> _SelfB: ... - def get_group_by_cols(self: _SelfB, alias: Optional[str] = ...) -> List[_SelfB]: ... - def get_source_fields(self) -> List[Optional[Field]]: ... - def asc(self, **kwargs: Any) -> OrderBy: ... - def desc(self, **kwargs: Any) -> OrderBy: ... - def reverse_ordering(self) -> BaseExpression: ... - def flatten(self) -> Iterator[BaseExpression]: ... - def as_sql(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper) -> Any: ... - def deconstruct(self) -> Any: ... # fake - -class Expression(BaseExpression, Combinable): ... - -class CombinedExpression(SQLiteNumericMixin, Expression): - connector: str = ... - lhs: Combinable = ... - rhs: Combinable = ... - def __init__( - self, lhs: Combinable, connector: str, rhs: Combinable, output_field: Optional[Field] = ... - ) -> None: ... - -class F(Combinable): - name: str - def __init__(self, name: str): ... - def resolve_expression( - self, - query: Any = ..., - allow_joins: bool = ..., - reuse: Optional[Set[str]] = ..., - summarize: bool = ..., - for_save: bool = ..., - ) -> F: ... - def asc(self, **kwargs) -> OrderBy: ... - def desc(self, **kwargs) -> OrderBy: ... - def deconstruct(self) -> Any: ... # fake - -class ResolvedOuterRef(F): ... - -class OuterRef(F): - contains_aggregate: bool - def resolve_expression(self, *args: Any, **kwargs: Any) -> ResolvedOuterRef: ... - def relabeled_clone(self: _Self, relabels: Any) -> _Self: ... - -class Subquery(BaseExpression, Combinable): - template: str = ... - query: Query = ... - extra: Dict[Any, Any] = ... - def __init__(self, queryset: Union[Query, QuerySet], output_field: Optional[Field] = ..., **extra: Any) -> None: ... - -class Exists(Subquery): - negated: bool = ... - def __init__(self, queryset: Union[Query, QuerySet], negated: bool = ..., **kwargs: Any) -> None: ... - def __invert__(self) -> Exists: ... - -class OrderBy(Expression): - template: str = ... - nulls_first: bool = ... - nulls_last: bool = ... - descending: bool = ... - expression: Union[Expression, F, Subquery] = ... - def __init__( - self, - expression: Union[Expression, F, Subquery], - descending: bool = ..., - nulls_first: bool = ..., - nulls_last: bool = ..., - ) -> None: ... - -class Value(Expression): - value: Any = ... - def __init__(self, value: Any, output_field: Optional[Field] = ...) -> None: ... - -class RawSQL(Expression): - params: List[Any] - sql: str - def __init__(self, sql: str, params: Sequence[Any], output_field: Optional[Field] = ...) -> None: ... - -class Func(SQLiteNumericMixin, Expression): - function: str = ... - name: str = ... - template: str = ... - arg_joiner: str = ... - arity: Optional[int] = ... - source_expressions: List[Expression] = ... - extra: Dict[Any, Any] = ... - def __init__(self, *expressions: Any, output_field: Optional[Field] = ..., **extra: Any) -> None: ... - -class When(Expression): - template: str = ... - condition: Any = ... - result: Any = ... - def __init__(self, condition: Any = ..., then: Any = ..., **lookups: Any) -> None: ... - -class Case(Expression): - template: str = ... - case_joiner: str = ... - cases: Any = ... - default: Any = ... - extra: Any = ... - def __init__( - self, *cases: Any, default: Optional[Any] = ..., output_field: Optional[Field] = ..., **extra: Any - ) -> None: ... - -class ExpressionWrapper(Expression): - def __init__(self, expression: Union[Q, Combinable], output_field: Field): ... - -class Col(Expression): - target: Field - alias: str - contains_column_references: Literal[True] = ... - possibly_multivalued: Literal[False] = ... - def __init__(self, alias: str, target: Field, output_field: Optional[Field] = ...): ... - -class Ref(Expression): - def __init__(self, refs: str, source: Expression): ... - -class ExpressionList(Func): - def __init__(self, *expressions: Union[BaseExpression, Combinable], **extra: Any) -> None: ... - -class Window(SQLiteNumericMixin, Expression): - template: str = ... - contains_aggregate: bool = ... - contains_over_clause: bool = ... - partition_by: Optional[ExpressionList] - order_by: Optional[ExpressionList] - def __init__( - self, - expression: BaseExpression, - partition_by: Optional[Union[str, Iterable[Union[BaseExpression, F]], F, BaseExpression]] = ..., - order_by: Optional[Union[Sequence[Union[BaseExpression, F]], Union[BaseExpression, F]]] = ..., - frame: Optional[WindowFrame] = ..., - output_field: Optional[Field] = ..., - ) -> None: ... - -class WindowFrame(Expression): - template: str = ... - frame_type: str = ... - def __init__(self, start: Optional[int] = ..., end: Optional[int] = ...) -> None: ... - def window_frame_start_end( - self, connection: BaseDatabaseWrapper, start: Optional[int], end: Optional[int] - ) -> Tuple[int, int]: ... - -class RowRange(WindowFrame): ... -class ValueRange(WindowFrame): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/__init__.pyi deleted file mode 100644 index ba4f908a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/__init__.pyi +++ /dev/null @@ -1,597 +0,0 @@ -import decimal -import sys -import uuid -from datetime import date -from datetime import datetime as real_datetime -from datetime import time, timedelta -from typing import ( - Any, - Callable, - Dict, - Generic, - Iterable, - List, - Optional, - Sequence, - Tuple, - Type, - TypeVar, - Union, - overload, -) - -from django.core import validators # due to weird mypy.stubtest error -from django.core.checks import CheckMessage -from django.core.exceptions import FieldDoesNotExist as FieldDoesNotExist -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.models import Model -from django.db.models.expressions import Col, Combinable -from django.db.models.fields.reverse_related import ForeignObjectRel -from django.db.models.query_utils import Q, RegisterLookupMixin -from django.forms import Field as FormField -from django.forms import Widget -from django.utils.datastructures import DictWrapper -from django.utils.functional import _Getter - -if sys.version_info < (3, 8): - from typing_extensions import Protocol -else: - from typing import Protocol - -class Empty: ... -class NOT_PROVIDED: ... - -BLANK_CHOICE_DASH: List[Tuple[str, str]] = ... - -_Choice = Tuple[Any, Any] -_ChoiceNamedGroup = Tuple[str, Iterable[_Choice]] -_FieldChoices = Iterable[Union[_Choice, _ChoiceNamedGroup]] -_ChoicesList = List[Union[_Choice, _ChoiceNamedGroup]] -_LimitChoicesTo = Union[Q, Dict[str, Any]] - -class _ChoicesCallable(Protocol): - def __call__(self) -> _FieldChoices: ... - -_AllLimitChoicesTo = Union[_LimitChoicesTo, _ChoicesCallable] -_ErrorMessagesT = Dict[str, Any] - -_T = TypeVar("_T", bound="Field") -# __set__ value type -_ST = TypeVar("_ST", contravariant=True) -# __get__ return type -_GT = TypeVar("_GT", covariant=True) - -class Field(RegisterLookupMixin, Generic[_ST, _GT]): - """ - Typing model fields. - - How does this work? - Let's take a look at the self-contained example - (it is way easier than our django implementation, but has the same concept). - - To understand this example you need: - 1. Be familiar with descriptors: https://docs.python.org/3/howto/descriptor.html - 2. Follow our explanation bellow - - Let's start with defining our fake model class and fake integer field. - - .. code:: python - - from typing import Generic, Union - - class Model(object): - ... - - _SetType = Union[int, float] # You can assign ints and floats - _GetType = int # access type is always `int` - - class IntField(object): - def __get__(self, instance: Model, owner) -> _GetType: - ... - - def __set__(self, instance, value: _SetType) -> None: - ... - - Now, let's create our own example model, - this would be something like ``User`` in your own apps: - - .. code:: python - - class Example(Model): - count = IntField() - - And now, lets test that our reveal type works: - - .. code:: python - - example = Example() - reveal_type(example.count) - # Revealed type is "builtins.int" - - example.count = 1.5 # ok - example.count = 'a' - # Incompatible types in assignment - # (expression has type "str", variable has type "Union[int, float]") - - Notice, that this is not magic. This is how descriptors work with ``mypy``. - - We also need ``_pyi_private_set_type`` attributes - and friends to help inside our plugin. - It is required to enhance parts like ``filter`` queries. - """ - - _pyi_private_set_type: Any - _pyi_private_get_type: Any - _pyi_lookup_exact_type: Any - - widget: Widget - help_text: str - attname: str - auto_created: bool - primary_key: bool - remote_field: Optional[ForeignObjectRel] - is_relation: bool - related_model: Optional[Type[Model]] - one_to_many: Optional[bool] = ... - one_to_one: Optional[bool] = ... - many_to_many: Optional[bool] = ... - many_to_one: Optional[bool] = ... - max_length: Optional[int] - model: Type[Model] - name: str - verbose_name: str - description: Union[str, _Getter[str]] - blank: bool - null: bool - editable: bool - empty_strings_allowed: bool = ... - choices: Optional[_ChoicesList] = ... - db_column: Optional[str] - column: str - concrete: bool - default: Any - error_messages: _ErrorMessagesT - empty_values: Sequence[Any] = ... - creation_counter: int - auto_creation_counter: int - default_validators: Sequence[validators._ValidatorCallable] - default_error_messages: Dict[str, str] - hidden: bool - system_check_removed_details: Optional[Any] - system_check_deprecated_details: Optional[Any] - def __init__( - self, - verbose_name: Optional[str] = ..., - name: Optional[str] = ..., - primary_key: bool = ..., - max_length: Optional[int] = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - db_index: bool = ..., - rel: Optional[ForeignObjectRel] = ..., - default: Any = ..., - editable: bool = ..., - serialize: bool = ..., - unique_for_date: Optional[str] = ..., - unique_for_month: Optional[str] = ..., - unique_for_year: Optional[str] = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - auto_created: bool = ..., - validators: Iterable[validators._ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - ): ... - def __set__(self, instance, value: _ST) -> None: ... - # class access - @overload - def __get__(self: _T, instance: None, owner) -> _T: ... - # Model instance access - @overload - def __get__(self, instance: Model, owner) -> _GT: ... - # non-Model instances - @overload - def __get__(self: _T, instance, owner) -> _T: ... - def deconstruct(self) -> Any: ... - def set_attributes_from_name(self, name: str) -> None: ... - def db_type_parameters(self, connection: BaseDatabaseWrapper) -> DictWrapper: ... - def db_check(self, connection: BaseDatabaseWrapper) -> Optional[str]: ... - def db_type(self, connection: BaseDatabaseWrapper) -> Optional[str]: ... - def db_parameters(self, connection: BaseDatabaseWrapper) -> Dict[str, Optional[str]]: ... - def pre_save(self, model_instance: Model, add: bool) -> Any: ... - def get_prep_value(self, value: Any) -> Any: ... - def get_db_prep_value(self, value: Any, connection: BaseDatabaseWrapper, prepared: bool = ...) -> Any: ... - def get_db_prep_save(self, value: Any, connection: BaseDatabaseWrapper) -> Any: ... - def get_internal_type(self) -> str: ... - # TODO: plugin support - def formfield(self, form_class: Optional[Any] = ..., choices_form_class: Optional[Any] = ..., **kwargs) -> Any: ... - def save_form_data(self, instance: Model, data: Any) -> None: ... - def contribute_to_class(self, cls: Type[Model], name: str, private_only: bool = ...) -> None: ... - def to_python(self, value: Any) -> Any: ... - @property - def validators(self) -> List[validators._ValidatorCallable]: ... - def run_validators(self, value: Any) -> None: ... - def validate(self, value: Any, model_instance: Optional[Model]) -> None: ... - def clean(self, value: Any, model_instance: Optional[Model]) -> Any: ... - def get_choices( - self, - include_blank: bool = ..., - blank_choice: _ChoicesList = ..., - limit_choices_to: Optional[_LimitChoicesTo] = ..., - ordering: Sequence[str] = ..., - ) -> _ChoicesList: ... - def has_default(self) -> bool: ... - def get_default(self) -> Any: ... - def check(self, **kwargs: Any) -> List[CheckMessage]: ... - def get_col(self, alias: str, output_field: Optional[Field] = ...) -> Col: ... - @property - def cached_col(self) -> Col: ... - def value_from_object(self, obj: Model) -> _GT: ... - def get_attname(self) -> str: ... - def value_to_string(self, obj: Model) -> str: ... - -class IntegerField(Field[_ST, _GT]): - _pyi_private_set_type: Union[float, int, str, Combinable] - _pyi_private_get_type: int - _pyi_lookup_exact_type: Union[str, int] - -class PositiveIntegerRelDbTypeMixin: - def rel_db_type(self, connection: BaseDatabaseWrapper) -> str: ... - -class PositiveIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField[_ST, _GT]): ... -class PositiveSmallIntegerField(PositiveIntegerRelDbTypeMixin, SmallIntegerField[_ST, _GT]): ... -class PositiveBigIntegerField(PositiveIntegerRelDbTypeMixin, BigIntegerField[_ST, _GT]): ... -class SmallIntegerField(IntegerField[_ST, _GT]): ... -class BigIntegerField(IntegerField[_ST, _GT]): ... - -class FloatField(Field[_ST, _GT]): - _pyi_private_set_type: Union[float, int, str, Combinable] - _pyi_private_get_type: float - _pyi_lookup_exact_type: float - -class DecimalField(Field[_ST, _GT]): - _pyi_private_set_type: Union[str, float, decimal.Decimal, Combinable] - _pyi_private_get_type: decimal.Decimal - _pyi_lookup_exact_type: Union[str, decimal.Decimal] - # attributes - max_digits: int = ... - decimal_places: int = ... - def __init__( - self, - verbose_name: Optional[str] = ..., - name: Optional[str] = ..., - max_digits: Optional[int] = ..., - decimal_places: Optional[int] = ..., - *, - primary_key: bool = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - db_index: bool = ..., - default: Any = ..., - editable: bool = ..., - auto_created: bool = ..., - serialize: bool = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - validators: Iterable[validators._ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - ): ... - -class CharField(Field[_ST, _GT]): - _pyi_private_set_type: Union[str, int, Combinable] - _pyi_private_get_type: str - # objects are converted to string before comparison - _pyi_lookup_exact_type: Any - def __init__( - self, - verbose_name: Optional[str] = ..., - name: Optional[str] = ..., - primary_key: bool = ..., - max_length: Optional[int] = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - db_index: bool = ..., - default: Any = ..., - editable: bool = ..., - auto_created: bool = ..., - serialize: bool = ..., - unique_for_date: Optional[str] = ..., - unique_for_month: Optional[str] = ..., - unique_for_year: Optional[str] = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - validators: Iterable[validators._ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - *, - db_collation: Optional[str] = ..., - ): ... - -class CommaSeparatedIntegerField(CharField[_ST, _GT]): ... - -class SlugField(CharField[_ST, _GT]): - def __init__( - self, - verbose_name: Optional[str] = ..., - name: Optional[str] = ..., - primary_key: bool = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - default: Any = ..., - editable: bool = ..., - auto_created: bool = ..., - serialize: bool = ..., - unique_for_date: Optional[str] = ..., - unique_for_month: Optional[str] = ..., - unique_for_year: Optional[str] = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - validators: Iterable[validators._ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - *, - max_length: Optional[int] = ..., - db_index: bool = ..., - allow_unicode: bool = ..., - ): ... - -class EmailField(CharField[_ST, _GT]): ... - -class URLField(CharField[_ST, _GT]): - def __init__( - self, - verbose_name: Optional[str] = ..., - name: Optional[str] = ..., - *, - primary_key: bool = ..., - max_length: Optional[int] = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - db_index: bool = ..., - rel: Optional[ForeignObjectRel] = ..., - default: Any = ..., - editable: bool = ..., - serialize: bool = ..., - unique_for_date: Optional[str] = ..., - unique_for_month: Optional[str] = ..., - unique_for_year: Optional[str] = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - auto_created: bool = ..., - validators: Iterable[validators._ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - ): ... - -class TextField(Field[_ST, _GT]): - _pyi_private_set_type: Union[str, Combinable] - _pyi_private_get_type: str - # objects are converted to string before comparison - _pyi_lookup_exact_type: Any - def __init__( - self, - verbose_name: Optional[str] = ..., - name: Optional[str] = ..., - primary_key: bool = ..., - max_length: Optional[int] = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - db_index: bool = ..., - default: Any = ..., - editable: bool = ..., - auto_created: bool = ..., - serialize: bool = ..., - unique_for_date: Optional[str] = ..., - unique_for_month: Optional[str] = ..., - unique_for_year: Optional[str] = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - validators: Iterable[validators._ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - *, - db_collation: Optional[str] = ..., - ): ... - -class BooleanField(Field[_ST, _GT]): - _pyi_private_set_type: Union[bool, Combinable] - _pyi_private_get_type: bool - _pyi_lookup_exact_type: bool - -class NullBooleanField(BooleanField[_ST, _GT]): - _pyi_private_set_type: Optional[Union[bool, Combinable]] # type: ignore - _pyi_private_get_type: Optional[bool] # type: ignore - _pyi_lookup_exact_type: Optional[bool] # type: ignore - -class IPAddressField(Field[_ST, _GT]): - _pyi_private_set_type: Union[str, Combinable] - _pyi_private_get_type: str - -class GenericIPAddressField(Field[_ST, _GT]): - _pyi_private_set_type: Union[str, int, Callable[..., Any], Combinable] - _pyi_private_get_type: str - - default_error_messages: Dict[str, str] = ... - unpack_ipv4: bool = ... - protocol: str = ... - def __init__( - self, - verbose_name: Optional[Any] = ..., - name: Optional[Any] = ..., - protocol: str = ..., - unpack_ipv4: bool = ..., - primary_key: bool = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - db_index: bool = ..., - default: Any = ..., - editable: bool = ..., - auto_created: bool = ..., - serialize: bool = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - validators: Iterable[validators._ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - ) -> None: ... - -class DateTimeCheckMixin: ... - -class DateField(DateTimeCheckMixin, Field[_ST, _GT]): - _pyi_private_set_type: Union[str, date, Combinable] - _pyi_private_get_type: date - _pyi_lookup_exact_type: Union[str, date] - def __init__( - self, - verbose_name: Optional[str] = ..., - name: Optional[str] = ..., - auto_now: bool = ..., - auto_now_add: bool = ..., - *, - primary_key: bool = ..., - max_length: Optional[int] = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - db_index: bool = ..., - default: Any = ..., - editable: bool = ..., - auto_created: bool = ..., - serialize: bool = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - validators: Iterable[validators._ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - ): ... - -class TimeField(DateTimeCheckMixin, Field[_ST, _GT]): - _pyi_private_set_type: Union[str, time, real_datetime, Combinable] - _pyi_private_get_type: time - def __init__( - self, - verbose_name: Optional[str] = ..., - name: Optional[str] = ..., - auto_now: bool = ..., - auto_now_add: bool = ..., - *, - primary_key: bool = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - db_index: bool = ..., - default: Any = ..., - editable: bool = ..., - auto_created: bool = ..., - serialize: bool = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - validators: Iterable[validators._ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - ): ... - -class DateTimeField(DateField[_ST, _GT]): - _pyi_private_set_type: Union[str, real_datetime, date, Combinable] - _pyi_private_get_type: real_datetime - _pyi_lookup_exact_type: Union[str, real_datetime] - -class UUIDField(Field[_ST, _GT]): - _pyi_private_set_type: Union[str, uuid.UUID] - _pyi_private_get_type: uuid.UUID - def __init__( - self, - verbose_name: Optional[str] = ..., - *, - name: Optional[str] = ..., - primary_key: bool = ..., - max_length: Optional[int] = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - db_index: bool = ..., - rel: Optional[ForeignObjectRel] = ..., - default: Any = ..., - editable: bool = ..., - serialize: bool = ..., - unique_for_date: Optional[str] = ..., - unique_for_month: Optional[str] = ..., - unique_for_year: Optional[str] = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - auto_created: bool = ..., - validators: Iterable[validators._ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - ): ... - -class FilePathField(Field[_ST, _GT]): - path: Any = ... - match: Optional[str] = ... - recursive: bool = ... - allow_files: bool = ... - allow_folders: bool = ... - def __init__( - self, - verbose_name: Optional[str] = ..., - name: Optional[str] = ..., - path: Union[str, Callable[..., str]] = ..., - match: Optional[str] = ..., - recursive: bool = ..., - allow_files: bool = ..., - allow_folders: bool = ..., - *, - primary_key: bool = ..., - max_length: int = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - db_index: bool = ..., - default: Any = ..., - editable: bool = ..., - auto_created: bool = ..., - serialize: bool = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - validators: Iterable[validators._ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - ): ... - -class BinaryField(Field[_ST, _GT]): - _pyi_private_get_type: Union[bytes, memoryview] - -class DurationField(Field[_ST, _GT]): - _pyi_private_get_type: timedelta - -class AutoFieldMixin: - db_returning: bool = ... - -class AutoFieldMeta(type): ... - -class AutoField(AutoFieldMixin, IntegerField[_ST, _GT], metaclass=AutoFieldMeta): - _pyi_private_set_type: Union[Combinable, int, str] - _pyi_private_get_type: int - _pyi_lookup_exact_type: Union[str, int] - -class BigAutoField(AutoFieldMixin, BigIntegerField[_ST, _GT]): ... -class SmallAutoField(AutoFieldMixin, SmallIntegerField[_ST, _GT]): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/files.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/files.pyi deleted file mode 100644 index a6c397eb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/files.pyi +++ /dev/null @@ -1,116 +0,0 @@ -import sys -from pathlib import Path -from typing import Any, Callable, Iterable, Optional, Type, TypeVar, Union, overload - -from django.core import validators # due to weird mypy.stubtest error -from django.core.files.base import File -from django.core.files.images import ImageFile -from django.core.files.storage import Storage -from django.db.models.base import Model -from django.db.models.fields import Field, _ErrorMessagesT, _FieldChoices -from django.db.models.query_utils import DeferredAttribute -from django.utils._os import _PathCompatible - -if sys.version_info < (3, 8): - from typing_extensions import Protocol -else: - from typing import Protocol - -class FieldFile(File): - instance: Model = ... - field: FileField = ... - storage: Storage = ... - name: Optional[str] - def __init__(self, instance: Model, field: FileField, name: Optional[str]) -> None: ... - file: Any = ... - @property - def path(self) -> str: ... - @property - def url(self) -> str: ... - @property - def size(self) -> int: ... - def save(self, name: str, content: File, save: bool = ...) -> None: ... - def delete(self, save: bool = ...) -> None: ... - @property - def closed(self) -> bool: ... - -class FileDescriptor(DeferredAttribute): - field: FileField = ... - def __set__(self, instance: Model, value: Optional[Any]) -> None: ... - def __get__( - self, instance: Optional[Model], cls: Optional[Type[Model]] = ... - ) -> Union[FieldFile, FileDescriptor]: ... - -_T = TypeVar("_T", bound="Field") -_M = TypeVar("_M", bound=Model, contravariant=True) - -class _UploadToCallable(Protocol[_M]): - def __call__(self, __instance: _M, __filename: str) -> _PathCompatible: ... - -class FileField(Field): - storage: Storage = ... - upload_to: Union[_PathCompatible, _UploadToCallable] = ... - def __init__( - self, - verbose_name: Optional[str] = ..., - name: Optional[str] = ..., - upload_to: Union[_PathCompatible, _UploadToCallable] = ..., - storage: Optional[Union[Storage, Callable[[], Storage]]] = ..., - *, - max_length: Optional[int] = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - db_index: bool = ..., - default: Any = ..., - editable: bool = ..., - auto_created: bool = ..., - serialize: bool = ..., - unique_for_date: Optional[str] = ..., - unique_for_month: Optional[str] = ..., - unique_for_year: Optional[str] = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - validators: Iterable[validators._ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - ): ... - # class access - @overload # type: ignore - def __get__(self, instance: None, owner) -> FileDescriptor: ... - # Model instance access - @overload - def __get__(self, instance: Model, owner) -> Any: ... - # non-Model instances - @overload - def __get__(self: _T, instance, owner) -> _T: ... - def generate_filename(self, instance: Optional[Model], filename: _PathCompatible) -> str: ... - -class ImageFileDescriptor(FileDescriptor): - field: ImageField - def __set__(self, instance: Model, value: Optional[str]) -> None: ... - -class ImageFieldFile(ImageFile, FieldFile): - field: ImageField - def delete(self, save: bool = ...) -> None: ... - -class ImageField(FileField): - def __init__( - self, - verbose_name: Optional[str] = ..., - name: Optional[str] = ..., - width_field: Optional[str] = ..., - height_field: Optional[str] = ..., - **kwargs: Any, - ) -> None: ... - # class access - @overload # type: ignore - def __get__(self, instance: None, owner) -> ImageFileDescriptor: ... - # Model instance access - @overload - def __get__(self, instance: Model, owner) -> Any: ... - # non-Model instances - @overload - def __get__(self: _T, instance, owner) -> _T: ... - def update_dimension_fields(self, instance: Model, force: bool = ..., *args: Any, **kwargs: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/json.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/json.pyi deleted file mode 100644 index 7268b2bd..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/json.pyi +++ /dev/null @@ -1,78 +0,0 @@ -import json -from typing import Any, Optional, Type - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.models import lookups -from django.db.models.lookups import PostgresOperatorLookup, Transform -from django.db.models.sql.compiler import SQLCompiler - -from . import Field -from .mixins import CheckFieldDefaultMixin - -class JSONField(CheckFieldDefaultMixin, Field): - encoder: Optional[Type[json.JSONEncoder]] - decoder: Optional[Type[json.JSONDecoder]] - def __init__( - self, - verbose_name: Optional[str] = ..., - name: Optional[str] = ..., - encoder: Optional[Type[json.JSONEncoder]] = ..., - decoder: Optional[Type[json.JSONDecoder]] = ..., - **kwargs: Any - ) -> None: ... - -class DataContains(PostgresOperatorLookup): ... -class ContainedBy(PostgresOperatorLookup): ... - -class HasKeyLookup(PostgresOperatorLookup): - logical_operator: Optional[str] = ... - -class HasKey(HasKeyLookup): - postgres_operator: str = ... - -class HasKeys(HasKeyLookup): - postgres_operator: str = ... - logical_operator: str = ... - -class HasAnyKeys(HasKeys): - postgres_operator: str = ... - logical_operator: str = ... - -class JSONExact(lookups.Exact): ... - -class KeyTransform(Transform): - key_name: str = ... - postgres_operator: str = ... - postgres_nested_operator: str = ... - def __init__(self, key_name: Any, *args: Any, **kwargs: Any) -> None: ... - def preprocess_lhs(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper) -> Any: ... - -class KeyTextTransform(KeyTransform): - postgres_operator: str = ... - postgres_nested_operator: str = ... - -class KeyTransformTextLookupMixin: - def __init__(self, key_transform: Any, *args: Any, **kwargs: Any) -> None: ... - -class CaseInsensitiveMixin: ... -class KeyTransformIsNull(lookups.IsNull): ... -class KeyTransformIn(lookups.In): ... -class KeyTransformExact(JSONExact): ... -class KeyTransformIExact(CaseInsensitiveMixin, KeyTransformTextLookupMixin, lookups.IExact): ... -class KeyTransformIContains(CaseInsensitiveMixin, KeyTransformTextLookupMixin, lookups.IContains): ... -class KeyTransformStartsWith(KeyTransformTextLookupMixin, lookups.StartsWith): ... -class KeyTransformIStartsWith(CaseInsensitiveMixin, KeyTransformTextLookupMixin, lookups.IStartsWith): ... -class KeyTransformEndsWith(KeyTransformTextLookupMixin, lookups.EndsWith): ... -class KeyTransformIEndsWith(CaseInsensitiveMixin, KeyTransformTextLookupMixin, lookups.IEndsWith): ... -class KeyTransformRegex(KeyTransformTextLookupMixin, lookups.Regex): ... -class KeyTransformIRegex(CaseInsensitiveMixin, KeyTransformTextLookupMixin, lookups.IRegex): ... -class KeyTransformNumericLookupMixin: ... -class KeyTransformLt(KeyTransformNumericLookupMixin, lookups.LessThan): ... -class KeyTransformLte(KeyTransformNumericLookupMixin, lookups.LessThanOrEqual): ... -class KeyTransformGt(KeyTransformNumericLookupMixin, lookups.GreaterThan): ... -class KeyTransformGte(KeyTransformNumericLookupMixin, lookups.GreaterThanOrEqual): ... - -class KeyTransformFactory: - key_name: Any = ... - def __init__(self, key_name: Any) -> None: ... - def __call__(self, *args: Any, **kwargs: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/mixins.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/mixins.pyi deleted file mode 100644 index 6e51a291..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/mixins.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from typing import Any, Optional - -from django.db.models.base import Model - -NOT_PROVIDED: Any - -class FieldCacheMixin: - def get_cache_name(self) -> str: ... - def get_cached_value(self, instance: Model, default: Any = ...) -> Optional[Model]: ... - def is_cached(self, instance: Model) -> bool: ... - def set_cached_value(self, instance: Model, value: Optional[Model]) -> None: ... - def delete_cached_value(self, instance: Model) -> None: ... - -class CheckFieldDefaultMixin: - def check(self, **kwargs: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/proxy.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/proxy.pyi deleted file mode 100644 index ef647530..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/proxy.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any - -from django.db.models import fields - -class OrderWrt(fields.IntegerField): - def __init__(self, *args: Any, **kwargs: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/related.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/related.pyi deleted file mode 100644 index 42bb5952..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/related.pyi +++ /dev/null @@ -1,278 +0,0 @@ -import sys -from typing import Any, Callable, Dict, Iterable, List, Optional, Sequence, Tuple, Type, TypeVar, Union, overload -from uuid import UUID - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -from django.core import validators # due to weird mypy.stubtest error -from django.db import models -from django.db.models.base import Model -from django.db.models.expressions import Combinable -from django.db.models.fields import Field, _AllLimitChoicesTo, _ErrorMessagesT, _FieldChoices, _LimitChoicesTo -from django.db.models.fields.mixins import FieldCacheMixin -from django.db.models.fields.related_descriptors import ForwardManyToOneDescriptor as ForwardManyToOneDescriptor -from django.db.models.fields.related_descriptors import ( # noqa: F401 - ForwardOneToOneDescriptor as ForwardOneToOneDescriptor, -) -from django.db.models.fields.related_descriptors import ManyToManyDescriptor as ManyToManyDescriptor -from django.db.models.fields.related_descriptors import ReverseManyToOneDescriptor as ReverseManyToOneDescriptor -from django.db.models.fields.related_descriptors import ReverseOneToOneDescriptor as ReverseOneToOneDescriptor -from django.db.models.fields.reverse_related import ForeignObjectRel as ForeignObjectRel # noqa: F401 -from django.db.models.fields.reverse_related import ManyToManyRel as ManyToManyRel -from django.db.models.fields.reverse_related import ManyToOneRel as ManyToOneRel -from django.db.models.fields.reverse_related import OneToOneRel as OneToOneRel -from django.db.models.manager import RelatedManager -from django.db.models.query_utils import FilteredRelation, PathInfo, Q - -_T = TypeVar("_T", bound=models.Model) -_F = TypeVar("_F", bound=models.Field) - -RECURSIVE_RELATIONSHIP_CONSTANT: Literal["self"] = ... - -def resolve_relation(scope_model: Type[Model], relation: Union[str, Type[Model]]) -> Union[str, Type[Model]]: ... - -# __set__ value type -_ST = TypeVar("_ST") -# __get__ return type -_GT = TypeVar("_GT") - -class RelatedField(FieldCacheMixin, Field[_ST, _GT]): - one_to_many: bool = ... - one_to_one: bool = ... - many_to_many: bool = ... - many_to_one: bool = ... - opts: Any = ... - - remote_field: ForeignObjectRel - rel_class: Type[ForeignObjectRel] - swappable: bool - @property - def related_model(self) -> Type[Model]: ... # type: ignore - def get_forward_related_filter(self, obj: Model) -> Dict[str, Union[int, UUID]]: ... - def get_reverse_related_filter(self, obj: Model) -> Q: ... - @property - def swappable_setting(self) -> Optional[str]: ... - def set_attributes_from_rel(self) -> None: ... - def do_related_class(self, other: Type[Model], cls: Type[Model]) -> None: ... - def get_limit_choices_to(self) -> _LimitChoicesTo: ... - def related_query_name(self) -> str: ... - @property - def target_field(self) -> Field: ... - -class ForeignObject(RelatedField[_ST, _GT]): - remote_field: ForeignObjectRel - rel_class: Type[ForeignObjectRel] - swappable: bool - def __init__( - self, - to: Union[Type[Model], str], - on_delete: Callable[..., None], - from_fields: Sequence[str], - to_fields: Sequence[str], - rel: Optional[ForeignObjectRel] = ..., - related_name: Optional[str] = ..., - related_query_name: Optional[str] = ..., - limit_choices_to: Optional[_AllLimitChoicesTo] = ..., - parent_link: bool = ..., - swappable: bool = ..., - *, - db_constraint: bool = ..., - verbose_name: Optional[str] = ..., - name: Optional[str] = ..., - primary_key: bool = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - db_index: bool = ..., - default: Any = ..., - editable: bool = ..., - auto_created: bool = ..., - serialize: bool = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - validators: Iterable[validators._ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - ): ... - def resolve_related_fields(self) -> List[Tuple[Field, Field]]: ... - @property - def related_fields(self) -> List[Tuple[Field, Field]]: ... - @property - def reverse_related_fields(self) -> List[Tuple[Field, Field]]: ... - @property - def local_related_fields(self) -> Tuple[Field, ...]: ... - @property - def foreign_related_fields(self) -> Tuple[Field, ...]: ... - -class ForeignKey(ForeignObject[_ST, _GT]): - _pyi_private_set_type: Union[Any, Combinable] - _pyi_private_get_type: Any - - remote_field: ManyToOneRel - rel_class: Type[ManyToOneRel] - def __init__( - self, - to: Union[Type[Model], str], - on_delete: Callable[..., None], - related_name: Optional[str] = ..., - related_query_name: Optional[str] = ..., - limit_choices_to: Optional[_AllLimitChoicesTo] = ..., - parent_link: bool = ..., - to_field: Optional[str] = ..., - db_constraint: bool = ..., - *, - verbose_name: Optional[Union[str, bytes]] = ..., - name: Optional[str] = ..., - primary_key: bool = ..., - max_length: Optional[int] = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - db_index: bool = ..., - default: Any = ..., - editable: bool = ..., - auto_created: bool = ..., - serialize: bool = ..., - unique_for_date: Optional[str] = ..., - unique_for_month: Optional[str] = ..., - unique_for_year: Optional[str] = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - validators: Iterable[validators._ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - ): ... - # class access - @overload # type: ignore - def __get__(self, instance: None, owner) -> ForwardManyToOneDescriptor: ... - # Model instance access - @overload - def __get__(self, instance: Model, owner) -> _GT: ... - # non-Model instances - @overload - def __get__(self: _F, instance, owner) -> _F: ... - -class OneToOneField(ForeignKey[_ST, _GT]): - _pyi_private_set_type: Union[Any, Combinable] - _pyi_private_get_type: Any - - remote_field: OneToOneRel - rel_class: Type[OneToOneRel] - def __init__( - self, - to: Union[Type[Model], str], - on_delete: Any, - to_field: Optional[str] = ..., - *, - related_name: Optional[str] = ..., - related_query_name: Optional[str] = ..., - limit_choices_to: Optional[_AllLimitChoicesTo] = ..., - parent_link: bool = ..., - db_constraint: bool = ..., - verbose_name: Optional[Union[str, bytes]] = ..., - name: Optional[str] = ..., - primary_key: bool = ..., - max_length: Optional[int] = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - db_index: bool = ..., - default: Any = ..., - editable: bool = ..., - auto_created: bool = ..., - serialize: bool = ..., - unique_for_date: Optional[str] = ..., - unique_for_month: Optional[str] = ..., - unique_for_year: Optional[str] = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - validators: Iterable[validators._ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - ): ... - # class access - @overload # type: ignore - def __get__(self, instance: None, owner) -> ForwardOneToOneDescriptor: ... - # Model instance access - @overload - def __get__(self, instance: Model, owner) -> _GT: ... - # non-Model instances - @overload - def __get__(self: _F, instance, owner) -> _F: ... - -class ManyToManyField(RelatedField[_ST, _GT]): - _pyi_private_set_type: Sequence[Any] - _pyi_private_get_type: RelatedManager[Any] - - description: str = ... - has_null_arg: bool = ... - swappable: bool = ... - - many_to_many: Literal[True] - many_to_one: Literal[False] - one_to_many: Literal[False] - one_to_one: Literal[False] - - remote_field: ManyToManyRel - rel_class: Type[ManyToManyRel] - def __init__( - self, - to: Union[Type[Model], str], - related_name: Optional[str] = ..., - related_query_name: Optional[str] = ..., - limit_choices_to: Optional[_AllLimitChoicesTo] = ..., - symmetrical: Optional[bool] = ..., - through: Union[str, Type[Model], None] = ..., - through_fields: Optional[Tuple[str, str]] = ..., - db_constraint: bool = ..., - db_table: Optional[str] = ..., - swappable: bool = ..., - *, - verbose_name: Optional[Union[str, bytes]] = ..., - name: Optional[str] = ..., - primary_key: bool = ..., - max_length: Optional[int] = ..., - unique: bool = ..., - blank: bool = ..., - null: bool = ..., - db_index: bool = ..., - default: Any = ..., - editable: bool = ..., - auto_created: bool = ..., - serialize: bool = ..., - unique_for_date: Optional[str] = ..., - unique_for_month: Optional[str] = ..., - unique_for_year: Optional[str] = ..., - choices: Optional[_FieldChoices] = ..., - help_text: str = ..., - db_column: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - validators: Iterable[validators._ValidatorCallable] = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - ) -> None: ... - # class access - @overload # type: ignore - def __get__(self, instance: None, owner) -> ManyToManyDescriptor: ... - # Model instance access - @overload - def __get__(self, instance: Model, owner) -> _GT: ... - # non-Model instances - @overload - def __get__(self: _F, instance, owner) -> _F: ... - def get_path_info(self, filtered_relation: Optional[FilteredRelation] = ...) -> List[PathInfo]: ... - def get_reverse_path_info(self, filtered_relation: Optional[FilteredRelation] = ...) -> List[PathInfo]: ... - def contribute_to_related_class(self, cls: Type[Model], related: RelatedField) -> None: ... - def m2m_db_table(self) -> str: ... - def m2m_column_name(self) -> str: ... - def m2m_reverse_name(self) -> str: ... - def m2m_reverse_field_name(self) -> str: ... - def m2m_target_field_name(self) -> str: ... - def m2m_reverse_target_field_name(self) -> str: ... - -def create_many_to_many_intermediary_model(field: ManyToManyField, klass: Type[Model]) -> Type[Model]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/related_descriptors.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/related_descriptors.pyi deleted file mode 100644 index f5f7fc00..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/related_descriptors.pyi +++ /dev/null @@ -1,79 +0,0 @@ -from typing import Any, Callable, Generic, List, Optional, Tuple, Type, TypeVar, Union - -from django.core.exceptions import ObjectDoesNotExist -from django.db.models.base import Model -from django.db.models.fields import Field -from django.db.models.fields.mixins import FieldCacheMixin -from django.db.models.fields.related import ForeignKey, ManyToManyField, OneToOneField, RelatedField -from django.db.models.fields.reverse_related import ManyToManyRel, ManyToOneRel, OneToOneRel -from django.db.models.query import QuerySet -from django.db.models.query_utils import DeferredAttribute - -_T = TypeVar("_T") - -class ForeignKeyDeferredAttribute(DeferredAttribute): - field: RelatedField - -class ForwardManyToOneDescriptor: - field: ForeignKey - def __init__(self, field_with_rel: ForeignKey) -> None: ... - @property - def RelatedObjectDoesNotExist(self) -> Type[ObjectDoesNotExist]: ... - def is_cached(self, instance: Model) -> bool: ... - def get_queryset(self, **hints: Any) -> QuerySet: ... - def get_prefetch_queryset( - self, instances: List[Model], queryset: Optional[QuerySet] = ... - ) -> Tuple[QuerySet, Callable, Callable, bool, str, bool]: ... - def get_object(self, instance: Model) -> Model: ... - def __get__( - self, instance: Optional[Model], cls: Optional[Type[Model]] = ... - ) -> Optional[Union[Model, ForwardManyToOneDescriptor]]: ... - def __set__(self, instance: Model, value: Optional[Model]) -> None: ... - def __reduce__(self) -> Tuple[Callable, Tuple[Type[Model], str]]: ... - -class ForwardOneToOneDescriptor(ForwardManyToOneDescriptor): - field: OneToOneField - def get_object(self, instance: Model) -> Model: ... - -class ReverseOneToOneDescriptor: - related: OneToOneRel = ... - def __init__(self, related: OneToOneRel) -> None: ... - @property - def RelatedObjectDoesNotExist(self) -> Type[ObjectDoesNotExist]: ... - def is_cached(self, instance: Model) -> bool: ... - def get_queryset(self, **hints: Any) -> QuerySet: ... - def get_prefetch_queryset( - self, instances: List[Model], queryset: Optional[QuerySet] = ... - ) -> Tuple[QuerySet, Callable, Callable, bool, str, bool]: ... - def __get__( - self, instance: Optional[Model], cls: Optional[Type[Model]] = ... - ) -> Union[Model, ReverseOneToOneDescriptor]: ... - def __set__(self, instance: Model, value: Optional[Model]) -> None: ... - def __reduce__(self) -> Tuple[Callable, Tuple[Type[Model], str]]: ... - -class ReverseManyToOneDescriptor: - rel: ManyToOneRel = ... - field: ForeignKey = ... - def __init__(self, rel: ManyToOneRel) -> None: ... - @property - def related_manager_cls(self): ... - def __get__(self, instance: Optional[Model], cls: Optional[Type[Model]] = ...) -> ReverseManyToOneDescriptor: ... - def __set__(self, instance: Model, value: List[Model]) -> Any: ... - -def create_reverse_many_to_one_manager(superclass: Type, rel: Any): ... - -class ManyToManyDescriptor(ReverseManyToOneDescriptor): - field: ManyToManyField # type: ignore[assignment] - rel: ManyToManyRel # type: ignore[assignment] - reverse: bool = ... - def __init__(self, rel: ManyToManyRel, reverse: bool = ...) -> None: ... - @property - def through(self) -> Type[Model]: ... - @property - def related_manager_cls(self): ... - -# fake -class _ForwardManyToManyManager(Generic[_T]): - def all(self) -> QuerySet: ... - -def create_forward_many_to_many_manager(superclass: Type, rel: Any, reverse: Any) -> _ForwardManyToManyManager: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/related_lookups.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/related_lookups.pyi deleted file mode 100644 index 82674299..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/related_lookups.pyi +++ /dev/null @@ -1,45 +0,0 @@ -from typing import Any, Iterable, List, Mapping, Optional, Tuple, Type - -from django.db.models.fields import Field -from django.db.models.lookups import ( - Exact, - GreaterThan, - GreaterThanOrEqual, - In, - IsNull, - LessThan, - LessThanOrEqual, - Lookup, -) - -class MultiColSource: - alias: str - field: Field - sources: Tuple[Field, Field] - targets: Tuple[Field, Field] - contains_aggregate: bool = ... - output_field: Field = ... - def __init__( - self, alias: str, targets: Tuple[Field, Field], sources: Tuple[Field, Field], field: Field - ) -> None: ... - def relabeled_clone(self, relabels: Mapping[str, str]) -> MultiColSource: ... - def get_lookup(self, lookup: str) -> Optional[Type[Lookup]]: ... - -def get_normalized_value(value: Any, lhs: Any) -> Tuple[Any, ...]: ... - -class RelatedIn(In): - bilateral_transforms: List[Any] - lhs: Any - rhs: Any = ... - def get_prep_lookup(self) -> Iterable[Any]: ... - -class RelatedLookupMixin: - rhs: Any = ... - def get_prep_lookup(self) -> Any: ... - -class RelatedExact(RelatedLookupMixin, Exact): ... -class RelatedLessThan(RelatedLookupMixin, LessThan): ... -class RelatedGreaterThan(RelatedLookupMixin, GreaterThan): ... -class RelatedGreaterThanOrEqual(RelatedLookupMixin, GreaterThanOrEqual): ... -class RelatedLessThanOrEqual(RelatedLookupMixin, LessThanOrEqual): ... -class RelatedIsNull(RelatedLookupMixin, IsNull): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/reverse_related.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/reverse_related.pyi deleted file mode 100644 index 7e4162e3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/fields/reverse_related.pyi +++ /dev/null @@ -1,137 +0,0 @@ -import sys -from typing import Any, Callable, Dict, List, Optional, Sequence, Tuple, Type, Union - -from django.db.models import Q -from django.db.models.base import Model -from django.db.models.fields import AutoField, Field, _AllLimitChoicesTo, _ChoicesList, _LimitChoicesTo -from django.db.models.fields.related import ForeignKey, ForeignObject, ManyToManyField, OneToOneField -from django.db.models.lookups import BuiltinLookup, Lookup, StartsWith -from django.db.models.query_utils import FilteredRelation, PathInfo -from django.db.models.sql.where import WhereNode - -from .mixins import FieldCacheMixin - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -# Common note: `model` and `through` can be of type `str` when passed to `__init__`. -# When parent's `contribute_to_class` is called (during startup), -# strings are resolved to real model classes. -# Thus `str` is acceptable in __init__, but instance attribute `model` is always -# `Type[Model]` - -class ForeignObjectRel(FieldCacheMixin): - auto_created: bool = ... - concrete: Literal[False] = ... - editable: bool = ... - is_relation: bool = ... - null: bool = ... - field: ForeignObject = ... - model: Type[Model] = ... - related_name: Optional[str] = ... - related_query_name: Optional[str] = ... - limit_choices_to: Optional[_AllLimitChoicesTo] = ... - parent_link: bool = ... - on_delete: Callable = ... - symmetrical: bool = ... - multiple: bool = ... - field_name: Optional[str] = ... - def __init__( - self, - field: ForeignObject, - to: Union[Type[Model], str], - related_name: Optional[str] = ..., - related_query_name: Optional[str] = ..., - limit_choices_to: Optional[_AllLimitChoicesTo] = ..., - parent_link: bool = ..., - on_delete: Callable = ..., - ) -> None: ... - @property - def hidden(self) -> bool: ... - @property - def name(self) -> str: ... - @property - def remote_field(self) -> ForeignObject: ... - @property - def target_field(self) -> AutoField: ... - @property - def related_model(self) -> Type[Model]: ... - @property - def many_to_many(self) -> bool: ... - @property - def many_to_one(self) -> bool: ... - @property - def one_to_many(self) -> bool: ... - @property - def one_to_one(self) -> bool: ... - def get_lookup(self, lookup_name: str) -> Optional[Type[Lookup]]: ... - def get_internal_type(self) -> str: ... - @property - def db_type(self) -> Any: ... - # Yes, seems that `get_choices` will fail if `limit_choices_to=None` - # and `self.limit_choices_to` is callable. - def get_choices( - self, - include_blank: bool = ..., - blank_choice: _ChoicesList = ..., - limit_choices_to: Optional[_LimitChoicesTo] = ..., - ordering: Sequence[str] = ..., - ) -> _ChoicesList: ... - def is_hidden(self) -> bool: ... - def get_joining_columns(self) -> Tuple: ... - def get_extra_restriction( - self, where_class: Type[WhereNode], alias: str, related_alias: str - ) -> Optional[Union[StartsWith, WhereNode]]: ... - def set_field_name(self) -> None: ... - def get_accessor_name(self, model: Optional[Type[Model]] = ...) -> Optional[str]: ... - def get_path_info(self, filtered_relation: Optional[FilteredRelation] = ...) -> List[PathInfo]: ... - -class ManyToOneRel(ForeignObjectRel): - field: ForeignKey - def __init__( - self, - field: ForeignKey, - to: Union[Type[Model], str], - field_name: str, - related_name: Optional[str] = ..., - related_query_name: Optional[str] = ..., - limit_choices_to: Optional[_AllLimitChoicesTo] = ..., - parent_link: bool = ..., - on_delete: Callable = ..., - ) -> None: ... - def get_related_field(self) -> Field: ... - -class OneToOneRel(ManyToOneRel): - field: OneToOneField - def __init__( - self, - field: OneToOneField, - to: Union[Type[Model], str], - field_name: Optional[str], - related_name: Optional[str] = ..., - related_query_name: Optional[str] = ..., - limit_choices_to: Optional[_AllLimitChoicesTo] = ..., - parent_link: bool = ..., - on_delete: Callable = ..., - ) -> None: ... - -class ManyToManyRel(ForeignObjectRel): - field: ManyToManyField # type: ignore - through: Optional[Type[Model]] = ... - through_fields: Optional[Tuple[str, str]] = ... - db_constraint: bool = ... - def __init__( - self, - field: ManyToManyField, - to: Union[Type[Model], str], - related_name: Optional[str] = ..., - related_query_name: Optional[str] = ..., - limit_choices_to: Optional[_AllLimitChoicesTo] = ..., - symmetrical: bool = ..., - through: Union[Type[Model], str, None] = ..., - through_fields: Optional[Tuple[str, str]] = ..., - db_constraint: bool = ..., - ) -> None: ... - def get_related_field(self) -> Field: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/__init__.pyi deleted file mode 100644 index 5d951fd4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/__init__.pyi +++ /dev/null @@ -1,86 +0,0 @@ -from .comparison import Cast as Cast -from .comparison import Coalesce as Coalesce -from .comparison import Greatest as Greatest -from .comparison import Least as Least -from .comparison import NullIf as NullIf -from .datetime import Extract as Extract -from .datetime import ExtractDay as ExtractDay -from .datetime import ExtractHour as ExtractHour -from .datetime import ExtractIsoWeekDay as ExtractIsoWeekDay -from .datetime import ExtractIsoYear as ExtractIsoYear -from .datetime import ExtractMinute as ExtractMinute -from .datetime import ExtractMonth as ExtractMonth -from .datetime import ExtractQuarter as ExtractQuarter -from .datetime import ExtractSecond as ExtractSecond -from .datetime import ExtractWeek as ExtractWeek -from .datetime import ExtractWeekDay as ExtractWeekDay -from .datetime import ExtractYear as ExtractYear -from .datetime import Now as Now -from .datetime import Trunc as Trunc -from .datetime import TruncDate as TruncDate -from .datetime import TruncDay as TruncDay -from .datetime import TruncHour as TruncHour -from .datetime import TruncMinute as TruncMinute -from .datetime import TruncMonth as TruncMonth -from .datetime import TruncQuarter as TruncQuarter -from .datetime import TruncSecond as TruncSecond -from .datetime import TruncTime as TruncTime -from .datetime import TruncWeek as TruncWeek -from .datetime import TruncYear as TruncYear -from .math import Abs as Abs -from .math import ACos as ACos -from .math import ASin as ASin -from .math import ATan as ATan -from .math import ATan2 as ATan2 -from .math import Ceil as Ceil -from .math import Cos as Cos -from .math import Cot as Cot -from .math import Degrees as Degrees -from .math import Exp as Exp -from .math import Floor as Floor -from .math import Ln as Ln -from .math import Log as Log -from .math import Mod as Mod -from .math import Pi as Pi -from .math import Power as Power -from .math import Radians as Radians -from .math import Round as Round -from .math import Sign as Sign -from .math import Sin as Sin -from .math import Sqrt as Sqrt -from .math import Tan as Tan -from .text import SHA1 as SHA1 -from .text import SHA224 as SHA224 -from .text import SHA256 as SHA256 -from .text import SHA384 as SHA384 -from .text import SHA512 as SHA512 -from .text import Chr as Chr -from .text import Concat as Concat -from .text import ConcatPair as ConcatPair -from .text import Left as Left -from .text import Length as Length -from .text import Lower as Lower -from .text import LPad as LPad -from .text import LTrim as LTrim -from .text import Ord as Ord -from .text import Repeat as Repeat -from .text import Replace as Replace -from .text import Reverse as Reverse -from .text import Right as Right -from .text import RPad as RPad -from .text import RTrim as RTrim -from .text import StrIndex as StrIndex -from .text import Substr as Substr -from .text import Trim as Trim -from .text import Upper as Upper -from .window import CumeDist as CumeDist -from .window import DenseRank as DenseRank -from .window import FirstValue as FirstValue -from .window import Lag as Lag -from .window import LastValue as LastValue -from .window import Lead as Lead -from .window import NthValue as NthValue -from .window import Ntile as Ntile -from .window import PercentRank as PercentRank -from .window import Rank as Rank -from .window import RowNumber as RowNumber diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/comparison.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/comparison.pyi deleted file mode 100644 index 77658bca..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/comparison.pyi +++ /dev/null @@ -1,17 +0,0 @@ -from typing import Any, Union - -from django.db.models import Func -from django.db.models.fields import Field -from django.db.models.fields.json import JSONField - -class Cast(Func): - def __init__(self, expression: Any, output_field: Union[str, Field]) -> None: ... - -class Coalesce(Func): ... -class Greatest(Func): ... - -class JSONObject(Func): - output_field: JSONField - -class Least(Func): ... -class NullIf(Func): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/datetime.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/datetime.pyi deleted file mode 100644 index a5973e07..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/datetime.pyi +++ /dev/null @@ -1,51 +0,0 @@ -from typing import Any, Optional - -from django.db import models -from django.db.models import Func, Transform - -class TimezoneMixin: - tzinfo: Any = ... - def get_tzname(self) -> Optional[str]: ... - -class Extract(TimezoneMixin, Transform): - lookup_name: str - output_field: models.IntegerField - def __init__( - self, expression: Any, lookup_name: Optional[str] = ..., tzinfo: Optional[Any] = ..., **extra: Any - ) -> None: ... - -class ExtractYear(Extract): ... -class ExtractIsoYear(Extract): ... -class ExtractMonth(Extract): ... -class ExtractDay(Extract): ... -class ExtractWeek(Extract): ... -class ExtractWeekDay(Extract): ... -class ExtractIsoWeekDay(Extract): ... -class ExtractQuarter(Extract): ... -class ExtractHour(Extract): ... -class ExtractMinute(Extract): ... -class ExtractSecond(Extract): ... - -class Now(Func): - output_field: models.DateTimeField - -class TruncBase(TimezoneMixin, Transform): - kind: str = ... - tzinfo: Any = ... - -class Trunc(TruncBase): ... -class TruncYear(TruncBase): ... -class TruncQuarter(TruncBase): ... -class TruncMonth(TruncBase): ... -class TruncWeek(TruncBase): ... -class TruncDay(TruncBase): ... - -class TruncDate(TruncBase): - output_field: models.DateField - -class TruncTime(TruncBase): - output_field: models.TimeField - -class TruncHour(TruncBase): ... -class TruncMinute(TruncBase): ... -class TruncSecond(TruncBase): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/math.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/math.pyi deleted file mode 100644 index 36adeb0d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/math.pyi +++ /dev/null @@ -1,26 +0,0 @@ -from django.db.models.expressions import Func -from django.db.models.functions.mixins import FixDecimalInputMixin, NumericOutputFieldMixin -from django.db.models.lookups import Transform - -class Abs(Transform): ... -class ACos(NumericOutputFieldMixin, Transform): ... -class ASin(NumericOutputFieldMixin, Transform): ... -class ATan(NumericOutputFieldMixin, Transform): ... -class ATan2(NumericOutputFieldMixin, Func): ... -class Ceil(Transform): ... -class Cos(NumericOutputFieldMixin, Transform): ... -class Cot(NumericOutputFieldMixin, Transform): ... -class Degrees(NumericOutputFieldMixin, Transform): ... -class Exp(NumericOutputFieldMixin, Transform): ... -class Floor(Transform): ... -class Ln(NumericOutputFieldMixin, Transform): ... -class Log(FixDecimalInputMixin, NumericOutputFieldMixin, Func): ... -class Mod(FixDecimalInputMixin, NumericOutputFieldMixin, Func): ... -class Pi(NumericOutputFieldMixin, Func): ... -class Power(NumericOutputFieldMixin, Func): ... -class Radians(NumericOutputFieldMixin, Transform): ... -class Round(Transform): ... -class Sin(NumericOutputFieldMixin, Transform): ... -class Sqrt(NumericOutputFieldMixin, Transform): ... -class Tan(NumericOutputFieldMixin, Transform): ... -class Sign(Transform): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/mixins.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/mixins.pyi deleted file mode 100644 index 2f6388be..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/mixins.pyi +++ /dev/null @@ -1,3 +0,0 @@ -class FixDecimalInputMixin: ... -class FixDurationInputMixin: ... -class NumericOutputFieldMixin: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/text.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/text.pyi deleted file mode 100644 index 19ebb409..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/text.pyi +++ /dev/null @@ -1,113 +0,0 @@ -from typing import Any, List, Optional, Tuple, Union - -from django.db import models -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.models import Func, Transform -from django.db.models.expressions import Combinable, Expression, F, Value -from django.db.models.sql.compiler import SQLCompiler, _AsSqlType - -# Typo: `extra_conteNt`, remains in 4.0 -class MySQLSHA2Mixin: - def as_mysql(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_content: Any) -> _AsSqlType: ... - -class OracleHashMixin: - def as_oracle(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> _AsSqlType: ... - -# Typo: `extra_conteNt`, remains in 4.0 -class PostgreSQLSHAMixin: - def as_postgresql( - self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_content: Any - ) -> _AsSqlType: ... - -class Chr(Transform): - def as_mysql(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> _AsSqlType: ... - def as_oracle(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> _AsSqlType: ... - def as_sqlite(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> _AsSqlType: ... - -class ConcatPair(Func): - def coalesce(self) -> ConcatPair: ... - def as_sqlite(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> _AsSqlType: ... - def as_mysql(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> _AsSqlType: ... - -class Concat(Func): - def __init__(self, *expressions: Any, **extra: Any) -> None: ... - -class Left(Func): - output_field: models.CharField = ... - def __init__(self, expression: Union[Expression, str], length: Union[Expression, int], **extra: Any) -> None: ... - def get_substr(self) -> Substr: ... - def as_oracle(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> _AsSqlType: ... - def as_sqlite(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> _AsSqlType: ... - -class Length(Transform): - output_field: models.IntegerField = ... - def as_mysql(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> _AsSqlType: ... - -class Lower(Transform): ... - -class LPad(Func): - output_field: models.CharField = ... - def __init__( - self, - expression: Union[Expression, str], - length: Union[Expression, int, None], - fill_text: Expression = ..., - **extra: Any - ) -> None: ... - -class LTrim(Transform): ... - -class Ord(Transform): - output_field: models.IntegerField = ... - def as_sqlite(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> _AsSqlType: ... - def as_mysql(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> _AsSqlType: ... - -class Repeat(Func): - output_field: models.CharField = ... - def __init__( - self, expression: Union[Expression, str], number: Union[Expression, int, None], **extra: Any - ) -> None: ... - def as_oracle(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> _AsSqlType: ... - -class Replace(Func): - def __init__( - self, expression: Union[Combinable, str], text: Value, replacement: Value = ..., **extra: Any - ) -> None: ... - -class Reverse(Transform): - def as_oracle(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> _AsSqlType: ... - -class Right(Left): - def get_substr(self) -> Substr: ... - -class RPad(LPad): ... -class RTrim(Transform): ... -class SHA1(OracleHashMixin, PostgreSQLSHAMixin, Transform): ... - -class SHA224(MySQLSHA2Mixin, PostgreSQLSHAMixin, Transform): - def as_oracle(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> _AsSqlType: ... - -class SHA256(MySQLSHA2Mixin, OracleHashMixin, PostgreSQLSHAMixin, Transform): ... -class SHA384(MySQLSHA2Mixin, OracleHashMixin, PostgreSQLSHAMixin, Transform): ... -class SHA512(MySQLSHA2Mixin, OracleHashMixin, PostgreSQLSHAMixin, Transform): ... - -class StrIndex(Func): - output_field: models.IntegerField = ... - def as_postgresql( - self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any - ) -> _AsSqlType: ... - -class Substr(Func): - output_field: models.CharField = ... - def __init__( - self, - expression: Union[Expression, str], - pos: Union[Expression, int], - length: Union[Expression, int, None] = ..., - **extra: Any - ) -> None: ... - def as_sqlite(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> _AsSqlType: ... - def as_oracle(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> _AsSqlType: ... - -class Trim(Transform): ... -class Upper(Transform): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/window.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/window.pyi deleted file mode 100644 index 0807af12..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/functions/window.pyi +++ /dev/null @@ -1,37 +0,0 @@ -from typing import Any, Optional - -from django.db import models -from django.db.models.expressions import Func - -class CumeDist(Func): - output_field: models.FloatField = ... - -class DenseRank(Func): - output_field: models.IntegerField = ... - -class FirstValue(Func): ... - -class LagLeadFunction(Func): - def __init__( - self, expression: Optional[str], offset: int = ..., default: Optional[int] = ..., **extra: Any - ) -> None: ... - -class Lag(LagLeadFunction): ... -class LastValue(Func): ... -class Lead(LagLeadFunction): ... - -class NthValue(Func): - def __init__(self, expression: Optional[str], nth: int = ..., **extra: Any) -> None: ... - -class Ntile(Func): - def __init__(self, num_buckets: int = ..., **extra: Any) -> None: ... - output_field: models.IntegerField = ... - -class PercentRank(Func): - output_field: models.FloatField = ... - -class Rank(Func): - output_field: models.IntegerField = ... - -class RowNumber(Func): - output_field: models.IntegerField = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/indexes.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/indexes.pyi deleted file mode 100644 index 2aaf8b14..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/indexes.pyi +++ /dev/null @@ -1,57 +0,0 @@ -from typing import Any, List, Optional, Sequence, Set, Tuple, Type, Union - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.backends.base.schema import BaseDatabaseSchemaEditor -from django.db.backends.ddl_references import Statement -from django.db.models.base import Model -from django.db.models.expressions import BaseExpression, Combinable, Expression, Func -from django.db.models.query_utils import Q -from django.db.models.sql.compiler import SQLCompiler - -class Index: - model: Type[Model] - suffix: str = ... - max_name_length: int = ... - fields: Sequence[str] = ... - fields_orders: Sequence[Tuple[str, str]] = ... - name: str = ... - db_tablespace: Optional[str] = ... - opclasses: Sequence[str] = ... - condition: Optional[Q] = ... - expressions: Sequence[Union[Union[BaseExpression, Combinable]]] - include: Sequence[str] - def __init__( - self, - *expressions: Union[BaseExpression, Combinable, str], - fields: Sequence[str] = ..., - name: Optional[str] = ..., - db_tablespace: Optional[str] = ..., - opclasses: Sequence[str] = ..., - condition: Optional[Q] = ..., - include: Optional[Sequence[str]] = ..., - ) -> None: ... - @property - def contains_expressions(self) -> bool: ... - def create_sql( - self, model: Type[Model], schema_editor: BaseDatabaseSchemaEditor, using: str = ..., **kwargs: Any - ) -> Statement: ... - def remove_sql(self, model: Type[Model], schema_editor: BaseDatabaseSchemaEditor, **kwargs: Any) -> str: ... - def deconstruct(self) -> Any: ... - def clone(self) -> Index: ... - def set_name_with_model(self, model: Type[Model]) -> None: ... - -class IndexExpression(Func): - template: str = ... - wrapper_classes: Sequence[Expression] = ... - def set_wrapper_classes(self, connection: Optional[Any] = ...) -> None: ... - @classmethod - def register_wrappers(cls, *wrapper_classes: Expression) -> None: ... - def resolve_expression( - self, - query: Optional[Any] = ..., - allow_joins: bool = ..., - reuse: Optional[Set[str]] = ..., - summarize: bool = ..., - for_save: bool = ..., - ) -> IndexExpression: ... - def as_sqlite(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> Any: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/lookups.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/lookups.pyi deleted file mode 100644 index a4db58b2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/lookups.pyi +++ /dev/null @@ -1,141 +0,0 @@ -import sys -from typing import Any, Generic, Iterable, List, Mapping, Optional, Tuple, Type, TypeVar, Union - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.models.expressions import Expression, Func -from django.db.models.query_utils import RegisterLookupMixin -from django.db.models.sql.compiler import SQLCompiler, _ParamsT, _ParamT -from django.utils.datastructures import OrderedSet - -_L = TypeVar("_L", bound="Lookup") -_T = TypeVar("_T") - -class Lookup(Generic[_T]): - lookup_name: str = ... - prepare_rhs: bool = ... - can_use_none_as_rhs: bool = ... - lhs: Any = ... - rhs: Any = ... - bilateral_transforms: List[Type[Transform]] = ... - def __init__(self, lhs: Any, rhs: Any) -> None: ... - def apply_bilateral_transforms(self, value: Expression) -> Expression: ... - def batch_process_rhs( - self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, rhs: Optional[OrderedSet] = ... - ) -> Tuple[List[str], List[str]]: ... - def get_source_expressions(self) -> List[Expression]: ... - def set_source_expressions(self, new_exprs: List[Expression]) -> None: ... - def get_prep_lookup(self) -> Any: ... - def get_db_prep_lookup(self, value: _ParamT, connection: BaseDatabaseWrapper) -> Tuple[str, _ParamsT]: ... - def process_lhs( - self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, lhs: Optional[Expression] = ... - ) -> Tuple[str, _ParamsT]: ... - def process_rhs(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper) -> Tuple[str, _ParamsT]: ... - def rhs_is_direct_value(self) -> bool: ... - def relabeled_clone(self: _L, relabels: Mapping[str, str]) -> _L: ... - def get_group_by_cols(self, alias: Optional[str] = ...) -> List[Expression]: ... - def as_sql(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper) -> Tuple[str, _ParamsT]: ... - def as_oracle(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper) -> Tuple[str, _ParamsT]: ... - @property - def contains_aggregate(self) -> bool: ... - @property - def contains_over_clause(self) -> bool: ... - @property - def is_summary(self) -> bool: ... - @property - def identity(self) -> Tuple[Type[Lookup], Any, Any]: ... - -class Transform(RegisterLookupMixin, Func): - bilateral: bool = ... - @property - def lhs(self) -> Expression: ... - def get_bilateral_transforms(self) -> List[Type[Transform]]: ... - -class BuiltinLookup(Lookup[_T]): - def process_lhs( - self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, lhs: Optional[Expression] = ... - ) -> Tuple[str, _ParamsT]: ... - def as_sql(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper) -> Tuple[str, _ParamsT]: ... - def get_rhs_op(self, connection: BaseDatabaseWrapper, rhs: str) -> str: ... - -class FieldGetDbPrepValueMixin: - get_db_prep_lookup_value_is_iterable: bool = ... - def get_db_prep_lookup(self, value: _ParamT, connection: BaseDatabaseWrapper) -> Tuple[str, _ParamsT]: ... - -class FieldGetDbPrepValueIterableMixin(FieldGetDbPrepValueMixin): - get_db_prep_lookup_value_is_iterable: Literal[True] = ... - def get_prep_lookup(self) -> Iterable[Any]: ... - def resolve_expression_parameter( - self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, sql: str, param: Any - ) -> Tuple[str, _ParamsT]: ... - -class PostgresOperatorLookup(FieldGetDbPrepValueMixin, Lookup[_T]): - postgres_operator: str = ... - def as_postgresql(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper) -> Tuple[str, _ParamsT]: ... - -class Exact(FieldGetDbPrepValueMixin, BuiltinLookup[_T]): ... -class IExact(BuiltinLookup[_T]): ... -class GreaterThan(FieldGetDbPrepValueMixin, BuiltinLookup[_T]): ... -class GreaterThanOrEqual(FieldGetDbPrepValueMixin, BuiltinLookup[_T]): ... -class LessThan(FieldGetDbPrepValueMixin, BuiltinLookup[_T]): ... -class LessThanOrEqual(FieldGetDbPrepValueMixin, BuiltinLookup[_T]): ... - -class IntegerFieldFloatRounding: - rhs: Any = ... - def get_prep_lookup(self) -> Any: ... - -class IntegerGreaterThanOrEqual(IntegerFieldFloatRounding, GreaterThanOrEqual[Union[int, float]]): ... -class IntegerLessThan(IntegerFieldFloatRounding, LessThan[Union[int, float]]): ... - -class In(FieldGetDbPrepValueIterableMixin, BuiltinLookup): - def split_parameter_list_as_sql(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper) -> Any: ... - -class PatternLookup(BuiltinLookup[str]): - param_pattern: str = ... - -class Contains(PatternLookup): ... -class IContains(Contains): ... -class StartsWith(PatternLookup): ... -class IStartsWith(StartsWith): ... -class EndsWith(PatternLookup): ... -class IEndsWith(EndsWith): ... -class Range(FieldGetDbPrepValueIterableMixin, BuiltinLookup[_T]): ... -class IsNull(BuiltinLookup[bool]): ... -class Regex(BuiltinLookup[str]): ... -class IRegex(Regex): ... - -class YearLookup(Lookup): - def year_lookup_bounds(self, connection: BaseDatabaseWrapper, year: int) -> List[str]: ... - def get_direct_rhs_sql(self, connection: BaseDatabaseWrapper, rhs: str) -> str: ... - def get_bound_params(self, start: Any, finish: Any) -> Any: ... - -class YearExact(YearLookup, Exact[_T]): - def get_bound_params(self, start: Any, finish: Any) -> Tuple[Any, Any]: ... - -class YearGt(YearLookup, GreaterThan[_T]): - def get_bound_params(self, start: Any, finish: Any) -> Tuple[Any]: ... - -class YearGte(YearLookup, GreaterThanOrEqual[_T]): - def get_bound_params(self, start: Any, finish: Any) -> Tuple[Any]: ... - -class YearLt(YearLookup, LessThan[_T]): - def get_bound_params(self, start: Any, finish: Any) -> Tuple[Any]: ... - -class YearLte(YearLookup, LessThanOrEqual[_T]): - def get_bound_params(self, start: Any, finish: Any) -> Tuple[Any]: ... - -class UUIDTextMixin: - rhs: Any = ... - def process_rhs(self, qn: Any, connection: BaseDatabaseWrapper) -> Any: ... - -class UUIDIExact(UUIDTextMixin, IExact[_T]): ... -class UUIDContains(UUIDTextMixin, Contains): ... -class UUIDIContains(UUIDTextMixin, IContains): ... -class UUIDStartsWith(UUIDTextMixin, StartsWith): ... -class UUIDIStartsWith(UUIDTextMixin, IStartsWith): ... -class UUIDEndsWith(UUIDTextMixin, EndsWith): ... -class UUIDIEndsWith(UUIDTextMixin, IEndsWith): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/manager.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/manager.pyi deleted file mode 100644 index 8fd09c04..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/manager.pyi +++ /dev/null @@ -1,147 +0,0 @@ -import datetime -from typing import ( - Any, - Dict, - Generic, - Iterable, - Iterator, - List, - MutableMapping, - NoReturn, - Optional, - Sequence, - Tuple, - Type, - TypeVar, - Union, - overload, -) - -from django.db.models import Combinable -from django.db.models.base import Model -from django.db.models.query import QuerySet, RawQuerySet - -from django_stubs_ext import ValuesQuerySet - -_T = TypeVar("_T", bound=Model, covariant=True) -_M = TypeVar("_M", bound="BaseManager") - -class BaseManager(Generic[_T]): - creation_counter: int = ... - auto_created: bool = ... - use_in_migrations: bool = ... - name: str = ... - model: Type[_T] = ... - _db: Optional[str] - def __init__(self) -> None: ... - def deconstruct( - self, - ) -> Tuple[bool, Optional[str], Optional[str], Optional[Tuple[Any, ...]], Optional[Dict[str, Any]]]: ... - def check(self, **kwargs: Any) -> List[Any]: ... - @classmethod - def from_queryset(cls, queryset_class: Type[QuerySet], class_name: Optional[str] = ...) -> Any: ... - @classmethod - def _get_queryset_methods(cls, queryset_class: type) -> Dict[str, Any]: ... - def contribute_to_class(self, cls: Type[Model], name: str) -> None: ... - def db_manager(self: _M, using: Optional[str] = ..., hints: Optional[Dict[str, Model]] = ...) -> _M: ... - @property - def db(self) -> str: ... - def get_queryset(self) -> QuerySet[_T]: ... - # NOTE: The following methods are in common with QuerySet, but note that the use of QuerySet as a return type - # rather than a self-type (_QS), since Manager's QuerySet-like methods return QuerySets and not Managers. - def iterator(self, chunk_size: int = ...) -> Iterator[_T]: ... - def aggregate(self, *args: Any, **kwargs: Any) -> Dict[str, Any]: ... - def get(self, *args: Any, **kwargs: Any) -> _T: ... - def create(self, **kwargs: Any) -> _T: ... - def bulk_create( - self, objs: Iterable[_T], batch_size: Optional[int] = ..., ignore_conflicts: bool = ... - ) -> List[_T]: ... - def bulk_update(self, objs: Iterable[_T], fields: Sequence[str], batch_size: Optional[int] = ...) -> int: ... - def get_or_create(self, defaults: Optional[MutableMapping[str, Any]] = ..., **kwargs: Any) -> Tuple[_T, bool]: ... - def update_or_create( - self, defaults: Optional[MutableMapping[str, Any]] = ..., **kwargs: Any - ) -> Tuple[_T, bool]: ... - def earliest(self, *fields: Any, field_name: Optional[Any] = ...) -> _T: ... - def latest(self, *fields: Any, field_name: Optional[Any] = ...) -> _T: ... - def first(self) -> Optional[_T]: ... - def last(self) -> Optional[_T]: ... - def in_bulk(self, id_list: Iterable[Any] = ..., *, field_name: str = ...) -> Dict[Any, _T]: ... - def delete(self) -> Tuple[int, Dict[str, int]]: ... - def update(self, **kwargs: Any) -> int: ... - def exists(self) -> bool: ... - def explain(self, *, format: Optional[Any] = ..., **options: Any) -> str: ... - def raw( - self, - raw_query: str, - params: Any = ..., - translations: Optional[Dict[str, str]] = ..., - using: Optional[str] = ..., - ) -> RawQuerySet: ... - # The type of values may be overridden to be more specific in the mypy plugin, depending on the fields param - def values(self, *fields: Union[str, Combinable], **expressions: Any) -> ValuesQuerySet[_T, Dict[str, Any]]: ... - # The type of values_list may be overridden to be more specific in the mypy plugin, depending on the fields param - def values_list( - self, *fields: Union[str, Combinable], flat: bool = ..., named: bool = ... - ) -> ValuesQuerySet[_T, Any]: ... - def dates(self, field_name: str, kind: str, order: str = ...) -> ValuesQuerySet[_T, datetime.date]: ... - def datetimes( - self, field_name: str, kind: str, order: str = ..., tzinfo: Optional[datetime.tzinfo] = ... - ) -> ValuesQuerySet[_T, datetime.datetime]: ... - def none(self) -> QuerySet[_T]: ... - def all(self) -> QuerySet[_T]: ... - def filter(self, *args: Any, **kwargs: Any) -> QuerySet[_T]: ... - def exclude(self, *args: Any, **kwargs: Any) -> QuerySet[_T]: ... - def complex_filter(self, filter_obj: Any) -> QuerySet[_T]: ... - def count(self) -> int: ... - def union(self, *other_qs: Any, all: bool = ...) -> QuerySet[_T]: ... - def intersection(self, *other_qs: Any) -> QuerySet[_T]: ... - def difference(self, *other_qs: Any) -> QuerySet[_T]: ... - def select_for_update( - self, nowait: bool = ..., skip_locked: bool = ..., of: Sequence[str] = ..., no_key: bool = ... - ) -> QuerySet[_T]: ... - def select_related(self, *fields: Any) -> QuerySet[_T]: ... - def prefetch_related(self, *lookups: Any) -> QuerySet[_T]: ... - def annotate(self, *args: Any, **kwargs: Any) -> QuerySet[_T]: ... - def alias(self, *args: Any, **kwargs: Any) -> QuerySet[_T]: ... - def order_by(self, *field_names: Any) -> QuerySet[_T]: ... - def distinct(self, *field_names: Any) -> QuerySet[_T]: ... - # extra() return type won't be supported any time soon - def extra( - self, - select: Optional[Dict[str, Any]] = ..., - where: Optional[List[str]] = ..., - params: Optional[List[Any]] = ..., - tables: Optional[List[str]] = ..., - order_by: Optional[Sequence[str]] = ..., - select_params: Optional[Sequence[Any]] = ..., - ) -> QuerySet[Any]: ... - def reverse(self) -> QuerySet[_T]: ... - def defer(self, *fields: Any) -> QuerySet[_T]: ... - def only(self, *fields: Any) -> QuerySet[_T]: ... - def using(self, alias: Optional[str]) -> QuerySet[_T]: ... - @property - def ordered(self) -> bool: ... - -class Manager(BaseManager[_T]): ... - -# Fake to make ManyToMany work -class RelatedManager(Manager[_T]): - related_val: Tuple[int, ...] - def add(self, *objs: Union[_T, int], bulk: bool = ...) -> None: ... - def remove(self, *objs: Union[_T, int], bulk: bool = ...) -> None: ... - def set( - self, objs: Union[QuerySet[_T], Iterable[Union[_T, int]]], *, bulk: bool = ..., clear: bool = ... - ) -> None: ... - def clear(self) -> None: ... - -class ManagerDescriptor: - manager: BaseManager = ... - def __init__(self, manager: BaseManager) -> None: ... - @overload - def __get__(self, instance: None, cls: Optional[Type[Model]] = ...) -> BaseManager: ... - @overload - def __get__(self, instance: Model, cls: Optional[Type[Model]] = ...) -> NoReturn: ... - -class EmptyManager(Manager): - def __init__(self, model: Type[Model]) -> None: ... - def get_queryset(self) -> QuerySet[Model]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/options.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/options.pyi deleted file mode 100644 index 60b11108..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/options.pyi +++ /dev/null @@ -1,120 +0,0 @@ -from typing import Any, Dict, Generic, Iterable, List, Optional, Sequence, Set, Tuple, Type, TypeVar, Union - -from django.apps.config import AppConfig -from django.apps.registry import Apps -from django.contrib.contenttypes.fields import GenericForeignKey -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.models.base import Model -from django.db.models.constraints import BaseConstraint, UniqueConstraint -from django.db.models.fields import AutoField, Field -from django.db.models.fields.related import ManyToManyField, OneToOneField -from django.db.models.fields.reverse_related import ForeignObjectRel -from django.db.models.manager import Manager -from django.db.models.query_utils import PathInfo -from django.utils.datastructures import ImmutableList - -PROXY_PARENTS: object -EMPTY_RELATION_TREE: Any -IMMUTABLE_WARNING: str -DEFAULT_NAMES: Tuple[str, ...] - -def normalize_together( - option_together: Union[List[Tuple[str, str]], Tuple[Tuple[str, str], ...], Tuple[()], Tuple[str, str]] -) -> Tuple[Tuple[str, str], ...]: ... - -_T = TypeVar("_T") - -def make_immutable_fields_list(name: str, data: Iterable[_T]) -> ImmutableList[_T]: ... - -_M = TypeVar("_M", bound="Model") - -class Options(Generic[_M]): - constraints: List[BaseConstraint] - FORWARD_PROPERTIES: Set[str] = ... - REVERSE_PROPERTIES: Set[str] = ... - default_apps: Any = ... - local_fields: List[Field] = ... - local_many_to_many: List[ManyToManyField] = ... - private_fields: List[Any] = ... - local_managers: List[Manager] = ... - base_manager_name: Optional[str] = ... - default_manager_name: Optional[str] = ... - model_name: Optional[str] = ... - verbose_name: Optional[str] = ... - verbose_name_plural: Optional[str] = ... - db_table: str = ... - ordering: Optional[Sequence[str]] = ... - indexes: List[Any] = ... - unique_together: Union[Sequence[Tuple[str, str]], Tuple[str, str]] = ... - index_together: Union[Sequence[Tuple[str, str]], Tuple[str, str]] = ... - select_on_save: bool = ... - default_permissions: Sequence[str] = ... - permissions: List[Any] = ... - object_name: Optional[str] = ... - app_label: str = ... - get_latest_by: Optional[Sequence[str]] = ... - order_with_respect_to: Optional[Any] = ... - db_tablespace: str = ... - required_db_features: List[Any] = ... - required_db_vendor: Any = ... - meta: Optional[type] = ... - pk: Optional[Field] = ... - auto_field: Optional[AutoField] = ... - abstract: bool = ... - managed: bool = ... - proxy: bool = ... - proxy_for_model: Optional[Type[Model]] = ... - concrete_model: Optional[Type[Model]] = ... - swappable: Optional[str] = ... - parents: Dict[Type[Model], Union[GenericForeignKey, Field]] = ... - auto_created: bool = ... - related_fkey_lookups: List[Any] = ... - apps: Apps = ... - default_related_name: Optional[str] = ... - model: Type[Model] = ... - original_attrs: Dict[str, Any] = ... - def __init__(self, meta: Optional[type], app_label: Optional[str] = ...) -> None: ... - @property - def label(self) -> str: ... - @property - def label_lower(self) -> str: ... - @property - def app_config(self) -> AppConfig: ... - @property - def installed(self) -> bool: ... - def contribute_to_class(self, cls: Type[Model], name: str) -> None: ... - def add_manager(self, manager: Manager) -> None: ... - def add_field(self, field: Union[GenericForeignKey, Field[Any, Any]], private: bool = ...) -> None: ... - # if GenericForeignKey is passed as argument, it has primary_key = True set before - def setup_pk(self, field: Union[GenericForeignKey, Field[Any, Any]]) -> None: ... - def setup_proxy(self, target: Type[Model]) -> None: ... - def can_migrate(self, connection: Union[BaseDatabaseWrapper, str]) -> bool: ... - @property - def verbose_name_raw(self) -> str: ... - @property - def swapped(self) -> Optional[str]: ... - @property - def fields_map(self) -> Dict[str, Union[Field[Any, Any], ForeignObjectRel]]: ... - @property - def managers(self) -> ImmutableList[Manager]: ... - @property - def managers_map(self) -> Dict[str, Manager]: ... - @property - def base_manager(self) -> Manager: ... - @property - def default_manager(self) -> Optional[Manager]: ... - @property - def fields(self) -> ImmutableList[Field[Any, Any]]: ... - def get_field(self, field_name: str) -> Union[Field, ForeignObjectRel]: ... - def get_base_chain(self, model: Type[Model]) -> List[Type[Model]]: ... - def get_parent_list(self) -> List[Type[Model]]: ... - def get_ancestor_link(self, ancestor: Type[Model]) -> Optional[OneToOneField]: ... - def get_path_to_parent(self, parent: Type[Model]) -> List[PathInfo]: ... - def get_path_from_parent(self, parent: Type[Model]) -> List[PathInfo]: ... - def get_fields( - self, include_parents: bool = ..., include_hidden: bool = ... - ) -> List[Union[Field[Any, Any], ForeignObjectRel]]: ... - @property - def total_unique_constraints(self) -> List[UniqueConstraint]: ... - @property - def db_returning_fields(self) -> List[Field[Any, Any]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/query.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/query.pyi deleted file mode 100644 index c596e068..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/query.pyi +++ /dev/null @@ -1,187 +0,0 @@ -import datetime -from typing import ( - Any, - Collection, - Dict, - Generic, - Iterable, - Iterator, - List, - MutableMapping, - Optional, - Reversible, - Sequence, - Sized, - Tuple, - Type, - TypeVar, - Union, - overload, -) - -from django.db import models -from django.db.models import Manager -from django.db.models.base import Model -from django.db.models.expressions import Combinable as Combinable # noqa: F401 -from django.db.models.expressions import F as F -from django.db.models.query_utils import Q as Q # noqa: F401 -from django.db.models.sql.query import Query, RawQuery - -_T = TypeVar("_T", bound=models.Model, covariant=True) -_Row = TypeVar("_Row", covariant=True) -_QS = TypeVar("_QS", bound="_QuerySet") - -MAX_GET_RESULTS: int = ... -REPR_OUTPUT_SIZE: int = ... - -class _QuerySet(Generic[_T, _Row], Collection[_Row], Reversible[_Row], Sized): - model: Type[_T] - query: Query - def __init__( - self, - model: Optional[Type[models.Model]] = ..., - query: Optional[Query] = ..., - using: Optional[str] = ..., - hints: Optional[Dict[str, models.Model]] = ..., - ) -> None: ... - @classmethod - def as_manager(cls) -> Manager[Any]: ... - def __len__(self) -> int: ... - def __bool__(self) -> bool: ... - def __class_getitem__(cls: Type[_QS], item: Type[_T]) -> Type[_QS]: ... - def __getstate__(self) -> Dict[str, Any]: ... - # Technically, the other QuerySet must be of the same type _T, but _T is covariant - def __and__(self: _QS, other: _QuerySet[_T, _Row]) -> _QS: ... - def __or__(self: _QS, other: _QuerySet[_T, _Row]) -> _QS: ... - # IMPORTANT: When updating any of the following methods' signatures, please ALSO modify - # the corresponding method in BaseManager. - def iterator(self, chunk_size: int = ...) -> Iterator[_Row]: ... - def aggregate(self, *args: Any, **kwargs: Any) -> Dict[str, Any]: ... - def get(self, *args: Any, **kwargs: Any) -> _Row: ... - def create(self, **kwargs: Any) -> _T: ... - def bulk_create( - self, objs: Iterable[_T], batch_size: Optional[int] = ..., ignore_conflicts: bool = ... - ) -> List[_T]: ... - def bulk_update(self, objs: Iterable[_T], fields: Iterable[str], batch_size: Optional[int] = ...) -> int: ... - def get_or_create(self, defaults: Optional[MutableMapping[str, Any]] = ..., **kwargs: Any) -> Tuple[_T, bool]: ... - def update_or_create( - self, defaults: Optional[MutableMapping[str, Any]] = ..., **kwargs: Any - ) -> Tuple[_T, bool]: ... - def earliest(self, *fields: Any, field_name: Optional[Any] = ...) -> _Row: ... - def latest(self, *fields: Any, field_name: Optional[Any] = ...) -> _Row: ... - def first(self) -> Optional[_Row]: ... - def last(self) -> Optional[_Row]: ... - def in_bulk(self, id_list: Iterable[Any] = ..., *, field_name: str = ...) -> Dict[Any, _T]: ... - def delete(self) -> Tuple[int, Dict[str, int]]: ... - def update(self, **kwargs: Any) -> int: ... - def exists(self) -> bool: ... - def explain(self, *, format: Optional[Any] = ..., **options: Any) -> str: ... - def raw( - self, - raw_query: str, - params: Any = ..., - translations: Optional[Dict[str, str]] = ..., - using: Optional[str] = ..., - ) -> RawQuerySet: ... - # The type of values may be overridden to be more specific in the mypy plugin, depending on the fields param - def values(self, *fields: Union[str, Combinable], **expressions: Any) -> _QuerySet[_T, Dict[str, Any]]: ... - # The type of values_list may be overridden to be more specific in the mypy plugin, depending on the fields param - def values_list( - self, *fields: Union[str, Combinable], flat: bool = ..., named: bool = ... - ) -> _QuerySet[_T, Any]: ... - def dates(self, field_name: str, kind: str, order: str = ...) -> _QuerySet[_T, datetime.date]: ... - def datetimes( - self, field_name: str, kind: str, order: str = ..., tzinfo: Optional[datetime.tzinfo] = ... - ) -> _QuerySet[_T, datetime.datetime]: ... - def none(self: _QS) -> _QS: ... - def all(self: _QS) -> _QS: ... - def filter(self: _QS, *args: Any, **kwargs: Any) -> _QS: ... - def exclude(self: _QS, *args: Any, **kwargs: Any) -> _QS: ... - def complex_filter(self, filter_obj: Any) -> _QS: ... - def count(self) -> int: ... - def union(self: _QS, *other_qs: Any, all: bool = ...) -> _QS: ... - def intersection(self: _QS, *other_qs: Any) -> _QS: ... - def difference(self: _QS, *other_qs: Any) -> _QS: ... - def select_for_update( - self: _QS, nowait: bool = ..., skip_locked: bool = ..., of: Sequence[str] = ..., no_key: bool = ... - ) -> _QS: ... - def select_related(self: _QS, *fields: Any) -> _QS: ... - def prefetch_related(self: _QS, *lookups: Any) -> _QS: ... - def annotate(self: _QS, *args: Any, **kwargs: Any) -> _QS: ... - def alias(self: _QS, *args: Any, **kwargs: Any) -> _QS: ... - def order_by(self: _QS, *field_names: Any) -> _QS: ... - def distinct(self: _QS, *field_names: Any) -> _QS: ... - # extra() return type won't be supported any time soon - def extra( - self, - select: Optional[Dict[str, Any]] = ..., - where: Optional[List[str]] = ..., - params: Optional[List[Any]] = ..., - tables: Optional[List[str]] = ..., - order_by: Optional[Sequence[str]] = ..., - select_params: Optional[Sequence[Any]] = ..., - ) -> _QuerySet[Any, Any]: ... - def reverse(self: _QS) -> _QS: ... - def defer(self: _QS, *fields: Any) -> _QS: ... - def only(self: _QS, *fields: Any) -> _QS: ... - def using(self: _QS, alias: Optional[str]) -> _QS: ... - @property - def ordered(self) -> bool: ... - @property - def db(self) -> str: ... - def resolve_expression(self, *args: Any, **kwargs: Any) -> Any: ... - def __iter__(self) -> Iterator[_Row]: ... - def __contains__(self, x: object) -> bool: ... - @overload - def __getitem__(self, i: int) -> _Row: ... - @overload - def __getitem__(self: _QS, s: slice) -> _QS: ... - def __reversed__(self) -> Iterator[_Row]: ... - -class RawQuerySet(Iterable[_T], Sized): - query: RawQuery - def __init__( - self, - raw_query: Union[RawQuery, str], - model: Optional[Type[models.Model]] = ..., - query: Optional[Query] = ..., - params: Tuple[Any] = ..., - translations: Optional[Dict[str, str]] = ..., - using: str = ..., - hints: Optional[Dict[str, models.Model]] = ..., - ) -> None: ... - def __len__(self) -> int: ... - def __iter__(self) -> Iterator[_T]: ... - def __bool__(self) -> bool: ... - @overload - def __getitem__(self, k: int) -> _T: ... - @overload - def __getitem__(self, k: str) -> Any: ... - @overload - def __getitem__(self, k: slice) -> RawQuerySet[_T]: ... - @property - def columns(self) -> List[str]: ... - @property - def db(self) -> str: ... - def iterator(self) -> Iterator[_T]: ... - @property - def model_fields(self) -> Dict[str, str]: ... - def prefetch_related(self, *lookups: Any) -> RawQuerySet[_T]: ... - def resolve_model_init_order(self) -> Tuple[List[str], List[int], List[Tuple[str, int]]]: ... - def using(self, alias: Optional[str]) -> RawQuerySet[_T]: ... - -QuerySet = _QuerySet[_T, _T] - -class Prefetch: - def __init__(self, lookup: str, queryset: Optional[QuerySet] = ..., to_attr: Optional[str] = ...) -> None: ... - def __getstate__(self) -> Dict[str, Any]: ... - def add_prefix(self, prefix: str) -> None: ... - def get_current_prefetch_to(self, level: int) -> str: ... - def get_current_to_attr(self, level: int) -> Tuple[str, str]: ... - def get_current_queryset(self, level: int) -> Optional[QuerySet]: ... - -def prefetch_related_objects(model_instances: Iterable[_T], *related_lookups: Union[str, Prefetch]) -> None: ... -def get_prefetcher(instance: Model, through_attr: str, to_attr: str) -> Tuple[Any, Any, bool, bool]: ... - -class InstanceCheckMeta(type): ... -class EmptyQuerySet(metaclass=InstanceCheckMeta): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/query_utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/query_utils.pyi deleted file mode 100644 index c5c786f7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/query_utils.pyi +++ /dev/null @@ -1,106 +0,0 @@ -import sys -from collections import namedtuple -from typing import ( - Any, - Collection, - Dict, - Iterable, - Iterator, - List, - Mapping, - Optional, - Sequence, - Set, - Tuple, - Type, - TypeVar, - Union, -) - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.models.base import Model -from django.db.models.expressions import BaseExpression -from django.db.models.fields import Field -from django.db.models.fields.mixins import FieldCacheMixin -from django.db.models.lookups import Lookup, Transform -from django.db.models.sql.compiler import SQLCompiler -from django.db.models.sql.query import Query -from django.db.models.sql.where import WhereNode -from django.utils import tree - -PathInfo = namedtuple( - "PathInfo", ["from_opts", "to_opts", "target_fields", "join_field", "m2m", "direct", "filtered_relation"] -) - -class InvalidQuery(Exception): ... - -def subclasses(cls: Type[RegisterLookupMixin]) -> Iterator[Type[RegisterLookupMixin]]: ... - -class Q(tree.Node): - AND: str = ... - OR: str = ... - conditional: bool = ... - def __init__(self, *args: Any, _connector: Optional[Any] = ..., _negated: bool = ..., **kwargs: Any) -> None: ... - def __or__(self, other: Q) -> Q: ... - def __and__(self, other: Q) -> Q: ... - def __invert__(self) -> Q: ... - def resolve_expression( - self, - query: Query = ..., - allow_joins: bool = ..., - reuse: Optional[Set[str]] = ..., - summarize: bool = ..., - for_save: bool = ..., - ) -> WhereNode: ... - def deconstruct(self) -> Tuple[str, Tuple, Dict[str, str]]: ... - -class DeferredAttribute: - field_name: str = ... - field: Field - def __init__(self, field: Field) -> None: ... - -_R = TypeVar("_R", bound=Type) - -class RegisterLookupMixin: - class_lookups: List[Dict[Any, Any]] - lookup_name: str - @classmethod - def get_lookups(cls) -> Dict[str, Any]: ... - def get_lookup(self, lookup_name: str) -> Optional[Type[Lookup]]: ... - def get_transform(self, lookup_name: str) -> Optional[Type[Transform]]: ... - @staticmethod - def merge_dicts(dicts: Iterable[Dict[str, Any]]) -> Dict[str, Any]: ... - @classmethod - def register_lookup(cls, lookup: _R, lookup_name: Optional[str] = ...) -> _R: ... - @classmethod - def _unregister_lookup(cls, lookup: Type[Lookup], lookup_name: Optional[str] = ...) -> None: ... - -def select_related_descend( - field: Field, - restricted: bool, - requested: Optional[Mapping[str, Any]], - load_fields: Optional[Collection[str]], - reverse: bool = ..., -) -> bool: ... - -_E = TypeVar("_E", bound=BaseExpression) - -def refs_expression( - lookup_parts: Sequence[str], annotations: Mapping[str, _E] -) -> Tuple[Union[Literal[False], _E], Sequence[str]]: ... -def check_rel_lookup_compatibility(model: Type[Model], target_opts: Any, field: FieldCacheMixin) -> bool: ... - -class FilteredRelation: - relation_name: str = ... - alias: Optional[str] = ... - condition: Q = ... - path: List[str] = ... - def __init__(self, relation_name: str, *, condition: Q = ...) -> None: ... - def clone(self) -> FilteredRelation: ... - def resolve_expression(self, *args: Any, **kwargs: Any) -> None: ... - def as_sql(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper) -> Any: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/signals.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/signals.pyi deleted file mode 100644 index 521d6377..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/signals.pyi +++ /dev/null @@ -1,34 +0,0 @@ -from typing import Any, Callable, Optional, Type, Union - -from django.apps.registry import Apps -from django.db.models.base import Model -from django.dispatch import Signal - -class_prepared: Signal - -class ModelSignal(Signal): - def connect( # type: ignore - self, - receiver: Callable, - sender: Optional[Union[Type[Model], str]] = ..., - weak: bool = ..., - dispatch_uid: Optional[str] = ..., - apps: Optional[Apps] = ..., - ) -> None: ... - def disconnect( # type: ignore - self, - receiver: Optional[Callable] = ..., - sender: Optional[Union[Type[Model], str]] = ..., - dispatch_uid: Optional[str] = ..., - apps: Optional[Apps] = ..., - ) -> Optional[bool]: ... - -pre_init: ModelSignal -post_init: ModelSignal -pre_save: ModelSignal -post_save: ModelSignal -pre_delete: ModelSignal -post_delete: ModelSignal -m2m_changed: ModelSignal -pre_migrate: Signal -post_migrate: Signal diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/__init__.pyi deleted file mode 100644 index ee2ea487..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/__init__.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from .query import Query as Query -from .query import RawQuery as RawQuery -from .subqueries import AggregateQuery as AggregateQuery -from .subqueries import DeleteQuery as DeleteQuery -from .subqueries import InsertQuery as InsertQuery -from .subqueries import UpdateQuery as UpdateQuery diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/compiler.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/compiler.pyi deleted file mode 100644 index cedb6fb9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/compiler.pyi +++ /dev/null @@ -1,154 +0,0 @@ -import sys -from datetime import date, datetime -from decimal import Decimal -from itertools import chain -from typing import Any, Callable, Dict, Iterable, Iterator, List, Optional, Sequence, Set, Tuple, Type, Union, overload -from uuid import UUID - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.backends.utils import CursorWrapper -from django.db.models.base import Model -from django.db.models.expressions import BaseExpression, Expression -from django.db.models.sql.query import Query -from django.db.models.sql.subqueries import AggregateQuery, DeleteQuery, InsertQuery, UpdateQuery - -_ParamT = Union[str, int] -_ParamsT = List[_ParamT] -_AsSqlType = Tuple[str, _ParamsT] - -class SQLCompiler: - query: Query = ... - connection: BaseDatabaseWrapper = ... - using: Optional[str] = ... - quote_cache: Any = ... - select: Any = ... - annotation_col_map: Any = ... - klass_info: Any = ... - ordering_parts: Any = ... - def __init__(self, query: Query, connection: BaseDatabaseWrapper, using: Optional[str]) -> None: ... - col_count: Optional[int] = ... - def setup_query(self) -> None: ... - has_extra_select: Any = ... - def pre_sql_setup( - self, - ) -> Tuple[ - List[Tuple[Expression, _AsSqlType, None]], - List[Tuple[Expression, Tuple[str, _ParamsT, bool]]], - List[_AsSqlType], - ]: ... - def get_group_by( - self, - select: List[Tuple[BaseExpression, _AsSqlType, Optional[str]]], - order_by: List[Tuple[Expression, Tuple[str, _ParamsT, bool]]], - ) -> List[_AsSqlType]: ... - def collapse_group_by( - self, expressions: List[Expression], having: Union[List[Expression], Tuple] - ) -> List[Expression]: ... - def get_select( - self, - ) -> Tuple[List[Tuple[Expression, _AsSqlType, Optional[str]]], Optional[Dict[str, Any]], Dict[str, int],]: ... - def get_order_by(self) -> List[Tuple[Expression, Tuple[str, _ParamsT, bool]]]: ... - def get_extra_select( - self, - order_by: List[Tuple[Expression, Tuple[str, _ParamsT, bool]]], - select: List[Tuple[Expression, _AsSqlType, Optional[str]]], - ) -> List[Tuple[Expression, _AsSqlType, None]]: ... - def quote_name_unless_alias(self, name: str) -> str: ... - def compile(self, node: BaseExpression) -> _AsSqlType: ... - def get_combinator_sql(self, combinator: str, all: bool) -> Tuple[List[str], Union[List[int], List[str]]]: ... - def as_sql(self, with_limits: bool = ..., with_col_aliases: bool = ...) -> _AsSqlType: ... - def get_default_columns( - self, start_alias: Optional[str] = ..., opts: Optional[Any] = ..., from_parent: Optional[Type[Model]] = ... - ) -> List[Expression]: ... - def get_distinct(self) -> Tuple[List[Any], List[Any]]: ... - def find_ordering_name( - self, - name: str, - opts: Any, - alias: Optional[str] = ..., - default_order: str = ..., - already_seen: Optional[Set[Tuple[Optional[Tuple[Tuple[str, str]]], Tuple[Tuple[str, str]]]]] = ..., - ) -> List[Tuple[Expression, bool]]: ... - def get_from_clause(self) -> Tuple[List[str], _ParamsT]: ... - def get_related_selections( - self, - select: List[Tuple[Expression, Optional[str]]], - opts: Optional[Any] = ..., - root_alias: Optional[str] = ..., - cur_depth: int = ..., - requested: Optional[Dict[str, Dict[str, Dict[str, Dict[Any, Any]]]]] = ..., - restricted: Optional[bool] = ..., - ) -> List[Dict[str, Any]]: ... - def get_select_for_update_of_arguments(self): ... - def deferred_to_columns(self) -> Dict[Type[Model], Set[str]]: ... - def get_converters(self, expressions: List[Expression]) -> Dict[int, Tuple[List[Callable], Expression]]: ... - def apply_converters( - self, rows: Iterable[Iterable[Any]], converters: Dict[int, Tuple[List[Callable], Expression]] - ) -> Iterator[List[Union[None, date, datetime, float, Decimal, UUID, bytes, str]]]: ... - def results_iter( - self, - results: Optional[Iterable[List[Sequence[Any]]]] = ..., - tuple_expected: bool = ..., - chunked_fetch: bool = ..., - chunk_size: int = ..., - ) -> Iterator[Sequence[Any]]: ... - def has_results(self) -> bool: ... - @overload - def execute_sql( # type: ignore - self, result_type: Literal["cursor"] = ..., chunked_fetch: bool = ..., chunk_size: int = ... - ) -> CursorWrapper: ... - @overload - def execute_sql( - self, result_type: Optional[Literal["no results"]] = ..., chunked_fetch: bool = ..., chunk_size: int = ... - ) -> None: ... - @overload - def execute_sql( # type: ignore - self, result_type: Literal["single"] = ..., chunked_fetch: bool = ..., chunk_size: int = ... - ) -> Optional[Iterable[Sequence[Any]]]: ... - @overload - def execute_sql( - self, result_type: Literal["multi"] = ..., chunked_fetch: bool = ..., chunk_size: int = ... - ) -> Optional[Iterable[List[Sequence[Any]]]]: ... - def as_subquery_condition(self, alias: str, columns: List[str], compiler: SQLCompiler) -> _AsSqlType: ... - def explain_query(self) -> Iterator[str]: ... - -class SQLInsertCompiler(SQLCompiler): - query: InsertQuery - returning_fields: Optional[Sequence[Any]] = ... - returning_params: Sequence[Any] = ... - def field_as_sql(self, field: Any, val: Any) -> _AsSqlType: ... - def prepare_value(self, field: Any, value: Any) -> Any: ... - def pre_save_val(self, field: Any, obj: Any) -> Any: ... - def assemble_as_sql(self, fields: Any, value_rows: Any) -> Tuple[List[List[str]], List[List[Any]]]: ... - def as_sql(self) -> List[_AsSqlType]: ... # type: ignore - def execute_sql( # type: ignore - self, returning_fields: Optional[Sequence[str]] = ... - ) -> List[Tuple[Any]]: ... # 1-tuple - -class SQLDeleteCompiler(SQLCompiler): - query: DeleteQuery - @property - def single_alias(self) -> bool: ... - @property - def contains_self_reference_subquery(self) -> bool: ... - def as_sql(self) -> _AsSqlType: ... # type: ignore - -class SQLUpdateCompiler(SQLCompiler): - query: UpdateQuery - def as_sql(self) -> _AsSqlType: ... # type: ignore - def execute_sql(self, result_type: Literal["cursor", "no results"]) -> int: ... # type: ignore - def pre_sql_setup(self) -> None: ... # type: ignore - -class SQLAggregateCompiler(SQLCompiler): - query: AggregateQuery - col_count: int = ... - def as_sql(self) -> _AsSqlType: ... # type: ignore - -def cursor_iter( - cursor: CursorWrapper, sentinel: Any, col_count: Optional[int], itersize: int -) -> Iterator[List[Sequence[Any]]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/constants.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/constants.pyi deleted file mode 100644 index f0e7e9b3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/constants.pyi +++ /dev/null @@ -1,20 +0,0 @@ -import sys -from typing import Dict, Final, Pattern, Tuple - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -GET_ITERATOR_CHUNK_SIZE: Final[int] = ... - -MULTI: Literal["multi"] = ... -SINGLE: Literal["single"] = ... -CURSOR: Literal["cursor"] = ... -NO_RESULTS: Literal["no results"] = ... - -ORDER_PATTERN: Pattern = ... -ORDER_DIR: Dict[str, Tuple[str, str]] = ... - -INNER: Literal["INNER JOIN"] = ... -LOUTER: Literal["LEFT OUTER JOIN"] = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/datastructures.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/datastructures.pyi deleted file mode 100644 index 723378a6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/datastructures.pyi +++ /dev/null @@ -1,49 +0,0 @@ -from typing import Any, Dict, List, Optional, Tuple, Union - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.models.fields.mixins import FieldCacheMixin -from django.db.models.query_utils import FilteredRelation, PathInfo -from django.db.models.sql.compiler import SQLCompiler - -class MultiJoin(Exception): - level: int = ... - names_with_path: List[Tuple[str, List[PathInfo]]] = ... - def __init__(self, names_pos: int, path_with_names: List[Tuple[str, List[PathInfo]]]) -> None: ... - -class Empty: ... - -class Join: - table_name: str = ... - parent_alias: str = ... - table_alias: Optional[str] = ... - join_type: str = ... - join_cols: Tuple = ... - join_field: FieldCacheMixin = ... - nullable: bool = ... - filtered_relation: Optional[FilteredRelation] = ... - def __init__( - self, - table_name: str, - parent_alias: str, - table_alias: Optional[str], - join_type: str, - join_field: FieldCacheMixin, - nullable: bool, - filtered_relation: Optional[FilteredRelation] = ..., - ) -> None: ... - def as_sql(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper) -> Tuple[str, List[Union[int, str]]]: ... - def relabeled_clone(self, change_map: Dict[Optional[str], str]) -> Join: ... - def equals(self, other: Union[BaseTable, Join], with_filtered_relation: bool) -> bool: ... - def demote(self) -> Join: ... - def promote(self) -> Join: ... - -class BaseTable: - join_type: Any = ... - parent_alias: Any = ... - filtered_relation: Any = ... - table_name: str = ... - table_alias: Optional[str] = ... - def __init__(self, table_name: str, alias: Optional[str]) -> None: ... - def as_sql(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper) -> Tuple[str, List[Any]]: ... - def relabeled_clone(self, change_map: Dict[Optional[str], str]) -> BaseTable: ... - def equals(self, other: Join, with_filtered_relation: bool) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/query.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/query.pyi deleted file mode 100644 index 8e810a00..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/query.pyi +++ /dev/null @@ -1,218 +0,0 @@ -import collections -import sys -from collections import namedtuple -from typing import Any, Callable, Dict, FrozenSet, Iterable, Iterator, List, Optional, Sequence, Set, Tuple, Type, Union - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.backends.utils import CursorWrapper -from django.db.models import Field, FilteredRelation, Model, Q, QuerySet -from django.db.models.expressions import BaseExpression, Combinable, Expression, OrderBy -from django.db.models.lookups import Lookup, Transform -from django.db.models.options import Options -from django.db.models.query_utils import PathInfo, RegisterLookupMixin -from django.db.models.sql.compiler import SQLCompiler -from django.db.models.sql.datastructures import BaseTable, Join -from django.db.models.sql.where import WhereNode - -JoinInfo = namedtuple("JoinInfo", ("final_field", "targets", "opts", "joins", "path", "transform_function")) - -class RawQuery: - high_mark: Optional[int] - low_mark: Optional[int] - params: Union[Any] = ... - sql: str = ... - using: str = ... - extra_select: Dict[Any, Any] = ... - annotation_select: Dict[Any, Any] = ... - cursor: Optional[CursorWrapper] = ... - def __init__(self, sql: str, using: str, params: Any = ...) -> None: ... - def chain(self, using: str) -> RawQuery: ... - def clone(self, using: str) -> RawQuery: ... - def get_columns(self) -> List[str]: ... - def __iter__(self) -> Iterator[Any]: ... - @property - def params_type(self) -> Union[None, Type[Dict], Type[Tuple]]: ... - -class Query(BaseExpression): - related_ids: Optional[List[int]] - related_updates: Dict[Type[Model], List[Tuple[Field, None, Union[int, str]]]] - values: List[Any] - alias_prefix: str = ... - subq_aliases: FrozenSet[Any] = ... - compiler: str = ... - model: Optional[Type[Model]] = ... - alias_refcount: Dict[str, int] = ... - alias_map: Dict[str, Union[BaseTable, Join]] = ... - external_aliases: Dict[str, bool] = ... - table_map: Dict[str, List[str]] = ... - default_cols: bool = ... - default_ordering: bool = ... - standard_ordering: bool = ... - used_aliases: Set[str] = ... - filter_is_sticky: bool = ... - subquery: bool = ... - group_by: Union[None, Sequence[Combinable], Sequence[str], Literal[True]] = ... - order_by: Sequence[Any] = ... - distinct: bool = ... - distinct_fields: Tuple[str, ...] = ... - select: Sequence[BaseExpression] - select_for_update: bool = ... - select_for_update_nowait: bool = ... - select_for_update_skip_locked: bool = ... - select_for_update_of: Tuple = ... - select_for_no_key_update: bool = ... - select_related: Union[Dict[str, Any], bool] = ... - max_depth: int = ... - values_select: Tuple = ... - annotation_select_mask: Optional[Set[str]] = ... - combinator: Optional[str] = ... - combinator_all: bool = ... - combined_queries: Tuple = ... - extra_select_mask: Optional[Set[str]] = ... - extra_tables: Tuple = ... - extra_order_by: Sequence[Any] = ... - deferred_loading: Tuple[Union[Set[str], FrozenSet[str]], bool] = ... - explain_query: bool = ... - explain_format: Optional[str] = ... - explain_options: Dict[str, int] = ... - high_mark: Optional[int] = ... - low_mark: int = ... - extra: Dict[str, Any] - annotations: Dict[str, Expression] - def __init__(self, model: Optional[Type[Model]], where: Type[WhereNode] = ..., alias_cols: bool = ...) -> None: ... - @property - def output_field(self) -> Field: ... - @property - def has_select_fields(self) -> bool: ... - @property - def base_table(self) -> str: ... - def sql_with_params(self) -> Tuple[str, Tuple]: ... - def __deepcopy__(self, memo: Dict[int, Any]) -> Query: ... - def get_compiler( - self, using: Optional[str] = ..., connection: Optional[BaseDatabaseWrapper] = ... - ) -> SQLCompiler: ... - def get_meta(self) -> Options: ... - def clone(self) -> Query: ... - def chain(self, klass: Optional[Type[Query]] = ...) -> Query: ... - def relabeled_clone(self, change_map: Dict[Optional[str], str]) -> Query: ... - def get_count(self, using: str) -> int: ... - def has_filters(self) -> WhereNode: ... - def has_results(self, using: str) -> bool: ... - def explain(self, using: str, format: Optional[str] = ..., **options: Any) -> str: ... - def combine(self, rhs: Query, connector: str) -> None: ... - def deferred_to_data(self, target: Dict[Any, Any], callback: Callable) -> None: ... - def ref_alias(self, alias: str) -> None: ... - def unref_alias(self, alias: str, amount: int = ...) -> None: ... - def promote_joins(self, aliases: Iterable[str]) -> None: ... - def demote_joins(self, aliases: Iterable[str]) -> None: ... - def reset_refcounts(self, to_counts: Dict[str, int]) -> None: ... - def change_aliases(self, change_map: Dict[Optional[str], str]) -> None: ... - def bump_prefix(self, outer_query: Query) -> None: ... - def get_initial_alias(self) -> str: ... - def count_active_tables(self) -> int: ... - def resolve_expression(self, query: Query, *args: Any, **kwargs: Any) -> Query: ... # type: ignore - def as_sql(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper) -> Any: ... - def resolve_lookup_value(self, value: Any, can_reuse: Optional[Set[str]], allow_joins: bool) -> Any: ... - def solve_lookup_type( - self, lookup: str - ) -> Tuple[Sequence[str], Sequence[str], Union[Expression, Literal[False]]]: ... - def build_filter( - self, - filter_expr: Union[Q, Expression, Dict[str, str], Tuple[str, Any]], - branch_negated: bool = ..., - current_negated: bool = ..., - can_reuse: Optional[Set[str]] = ..., - allow_joins: bool = ..., - split_subq: bool = ..., - reuse_with_filtered_relation: bool = ..., - check_filterable: bool = ..., - ) -> Tuple[WhereNode, Iterable[str]]: ... - def add_filter(self, filter_clause: Tuple[str, Any]) -> None: ... - def add_q(self, q_object: Q) -> None: ... - def build_where(self, filter_expr: Union[Q, Expression, Dict[str, str], Tuple[str, Any]]) -> WhereNode: ... - def build_filtered_relation_q( - self, q_object: Q, reuse: Set[str], branch_negated: bool = ..., current_negated: bool = ... - ) -> WhereNode: ... - def add_filtered_relation(self, filtered_relation: FilteredRelation, alias: str) -> None: ... - def setup_joins( - self, - names: Sequence[str], - opts: Any, - alias: str, - can_reuse: Optional[Set[str]] = ..., - allow_many: bool = ..., - reuse_with_filtered_relation: bool = ..., - ) -> JoinInfo: ... - def trim_joins( - self, targets: Tuple[Field, ...], joins: List[str], path: List[PathInfo] - ) -> Tuple[Tuple[Field, ...], str, List[str]]: ... - def resolve_ref( - self, name: str, allow_joins: bool = ..., reuse: Optional[Set[str]] = ..., summarize: bool = ... - ) -> Expression: ... - def split_exclude( - self, - filter_expr: Tuple[str, Any], - can_reuse: Set[str], - names_with_path: List[Tuple[str, List[PathInfo]]], - ) -> Tuple[WhereNode, Iterable[str]]: ... - def set_empty(self) -> None: ... - def is_empty(self) -> bool: ... - def set_limits(self, low: Optional[int] = ..., high: Optional[int] = ...) -> None: ... - def clear_limits(self) -> None: ... - @property - def is_sliced(self) -> bool: ... - def has_limit_one(self) -> bool: ... - def can_filter(self) -> bool: ... - def clear_select_clause(self) -> None: ... - def clear_select_fields(self) -> None: ... - def set_select(self, cols: List[Expression]) -> None: ... - def add_distinct_fields(self, *field_names: Any) -> None: ... - def add_fields(self, field_names: Iterable[str], allow_m2m: bool = ...) -> None: ... - def add_ordering(self, *ordering: Union[str, OrderBy]) -> None: ... - def clear_ordering(self, force_empty: bool) -> None: ... - def set_group_by(self, allow_aliases: bool = ...) -> None: ... - def add_select_related(self, fields: Iterable[str]) -> None: ... - def add_extra( - self, - select: Optional[Dict[str, Any]], - select_params: Optional[Iterable[Any]], - where: Optional[Sequence[str]], - params: Optional[Sequence[str]], - tables: Optional[Sequence[str]], - order_by: Optional[Sequence[str]], - ) -> None: ... - def clear_deferred_loading(self) -> None: ... - def add_deferred_loading(self, field_names: Iterable[str]) -> None: ... - def add_immediate_loading(self, field_names: Iterable[str]) -> None: ... - def get_loaded_field_names(self) -> Dict[Type[Model], Set[str]]: ... - def get_loaded_field_names_cb( - self, target: Dict[Type[Model], Set[str]], model: Type[Model], fields: Set[Field] - ) -> None: ... - def set_annotation_mask(self, names: Optional[Iterable[str]]) -> None: ... - def append_annotation_mask(self, names: Iterable[str]) -> None: ... - def set_extra_mask(self, names: Optional[Iterable[str]]) -> None: ... - def set_values(self, fields: Optional[Iterable[str]]) -> None: ... - @property - def annotation_select(self) -> Dict[str, Any]: ... - @property - def extra_select(self) -> Dict[str, Any]: ... - def trim_start(self, names_with_path: List[Tuple[str, List[PathInfo]]]) -> Tuple[str, bool]: ... - def is_nullable(self, field: Field) -> bool: ... - def check_filterable(self, expression: Any) -> None: ... - def build_lookup(self, lookups: Sequence[str], lhs: Union[Expression, Query], rhs: Any) -> Lookup: ... - def try_transform(self, lhs: Union[Expression, Query], name: str) -> Transform: ... - -class JoinPromoter: - connector: str = ... - negated: bool = ... - effective_connector: str = ... - num_children: int = ... - votes: collections.Counter = ... - def __init__(self, connector: str, num_children: int, negated: bool) -> None: ... - def add_votes(self, votes: Iterable[str]) -> None: ... - def update_join_types(self, query: Query) -> Set[str]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/subqueries.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/subqueries.pyi deleted file mode 100644 index 074dd13d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/subqueries.pyi +++ /dev/null @@ -1,42 +0,0 @@ -from typing import Any, Dict, Iterable, List, Optional, Tuple, Type, Union - -from django.db.models.base import Model -from django.db.models.expressions import Case -from django.db.models.fields import Field -from django.db.models.query import QuerySet -from django.db.models.sql.query import Query -from django.db.models.sql.where import WhereNode - -class DeleteQuery(Query): - select: Tuple - where_class: Type[WhereNode] - where: WhereNode = ... - def do_query(self, table: str, where: WhereNode, using: str) -> int: ... - def delete_batch(self, pk_list: Union[List[int], List[str]], using: str) -> int: ... - -class UpdateQuery(Query): - select: Tuple - where_class: Type[WhereNode] - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - where: WhereNode = ... - def update_batch(self, pk_list: List[int], values: Dict[str, Optional[int]], using: str) -> None: ... - def add_update_values(self, values: Dict[str, Any]) -> None: ... - def add_update_fields(self, values_seq: List[Tuple[Field, Optional[Type[Model]], Case]]) -> None: ... - def add_related_update(self, model: Type[Model], field: Field, value: Union[int, str]) -> None: ... - def get_related_updates(self) -> List[UpdateQuery]: ... - -class InsertQuery(Query): - select: Tuple - where: WhereNode - where_class: Type[WhereNode] - fields: Iterable[Field] = ... - objs: List[Model] = ... - raw: bool = ... - def __init__(self, *args: Any, ignore_conflicts: bool = ..., **kwargs: Any) -> None: ... - def insert_values(self, fields: Iterable[Field], objs: List[Model], raw: bool = ...) -> None: ... - -class AggregateQuery(Query): - select: Tuple - sub_params: Tuple - where: WhereNode - where_class: Type[WhereNode] diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/where.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/where.pyi deleted file mode 100644 index 981e8eaf..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/sql/where.pyi +++ /dev/null @@ -1,52 +0,0 @@ -from typing import Any, Dict, List, Optional, Sequence, Tuple, Union - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.models.expressions import Expression -from django.db.models.sql.compiler import SQLCompiler -from django.db.models.sql.query import Query -from django.utils import tree - -AND: str -OR: str - -class WhereNode(tree.Node): - connector: str - negated: bool - default: str = ... - resolved: bool = ... - conditional: bool = ... - def split_having(self, negated: bool = ...) -> Tuple[Optional[WhereNode], Optional[WhereNode]]: ... - def as_sql(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper) -> Any: ... - def get_group_by_cols(self, alias: Optional[str] = ...) -> List[Expression]: ... - def relabel_aliases(self, change_map: Dict[Optional[str], str]) -> None: ... - def clone(self) -> WhereNode: ... - def relabeled_clone(self, change_map: Dict[Optional[str], str]) -> WhereNode: ... - def resolve_expression(self, *args: Any, **kwargs: Any) -> WhereNode: ... - @property - def contains_aggregate(self) -> bool: ... - @property - def contains_over_clause(self) -> bool: ... - @property - def is_summary(self) -> bool: ... - -class NothingNode: - contains_aggregate: bool = ... - def as_sql(self, compiler: Optional[SQLCompiler] = ..., connection: Optional[BaseDatabaseWrapper] = ...) -> Any: ... - -class ExtraWhere: - contains_aggregate: bool = ... - sqls: Sequence[str] = ... - params: Optional[Union[Sequence[int], Sequence[str]]] = ... - def __init__(self, sqls: Sequence[str], params: Optional[Union[Sequence[int], Sequence[str]]]) -> None: ... - def as_sql( - self, compiler: Optional[SQLCompiler] = ..., connection: Optional[BaseDatabaseWrapper] = ... - ) -> Tuple[str, Union[List[int], List[str]]]: ... - -class SubqueryConstraint: - contains_aggregate: bool = ... - alias: str = ... - columns: List[str] = ... - targets: List[str] = ... - query_object: Query = ... - def __init__(self, alias: str, columns: List[str], targets: List[str], query_object: Query) -> None: ... - def as_sql(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper) -> Tuple[str, Tuple]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/utils.pyi deleted file mode 100644 index 1d32c38b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/models/utils.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Any, Iterable, Iterator, MutableMapping, NamedTuple, Tuple, Type, Union - -from django.db.models.base import Model - -def make_model_tuple(model: Union[Type[Model], str, Tuple[str, str]]) -> Tuple[str, str]: ... -def resolve_callables(mapping: MutableMapping[str, Any]) -> Iterator[Tuple[str, Any]]: ... -def unpickle_named_row(names: Iterable[str], values: Iterable[Any]) -> NamedTuple: ... -def create_namedtuple_class(*names: str) -> Type[NamedTuple]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/transaction.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/transaction.pyi deleted file mode 100644 index b376fda8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/transaction.pyi +++ /dev/null @@ -1,55 +0,0 @@ -from contextlib import ContextDecorator, contextmanager -from types import TracebackType -from typing import Any, Callable, Iterator, Optional, Type, TypeVar, overload - -from django.db import ProgrammingError - -class TransactionManagementError(ProgrammingError): ... - -def get_connection(using: Optional[str] = ...) -> Any: ... -def get_autocommit(using: Optional[str] = ...) -> bool: ... -def set_autocommit(autocommit: bool, using: Optional[str] = ...) -> Any: ... -def commit(using: Optional[str] = ...) -> None: ... -def rollback(using: Optional[str] = ...) -> None: ... -def savepoint(using: Optional[str] = ...) -> str: ... -def savepoint_rollback(sid: str, using: Optional[str] = ...) -> None: ... -def savepoint_commit(sid: str, using: Optional[str] = ...) -> None: ... -def clean_savepoints(using: Optional[str] = ...) -> None: ... -def get_rollback(using: Optional[str] = ...) -> bool: ... -def set_rollback(rollback: bool, using: Optional[str] = ...) -> None: ... -@contextmanager -def mark_for_rollback_on_error(using: Optional[str] = ...) -> Iterator[None]: ... -def on_commit(func: Callable, using: Optional[str] = ...) -> None: ... - -_C = TypeVar("_C", bound=Callable) # Any callable - -# Don't inherit from ContextDecorator, so we can provide a more specific signature for __call__ -class Atomic: - using: Optional[str] = ... - savepoint: bool = ... - def __init__(self, using: Optional[str], savepoint: bool, durable: bool) -> None: ... - # When decorating, return the decorated function as-is, rather than clobbering it as ContextDecorator does. - def __call__(self, func: _C) -> _C: ... - def __enter__(self) -> None: ... - def __exit__( - self, - exc_type: Optional[Type[BaseException]], - exc_value: Optional[BaseException], - traceback: Optional[TracebackType], - ) -> None: ... - -# Bare decorator -@overload -def atomic(using: _C) -> _C: ... - -# Decorator or context-manager with parameters -@overload -def atomic(using: Optional[str] = ..., savepoint: bool = ..., durable: bool = ...) -> Atomic: ... - -# Bare decorator -@overload -def non_atomic_requests(using: _C) -> _C: ... - -# Decorator with arguments -@overload -def non_atomic_requests(using: Optional[str] = ...) -> Callable[[_C], _C]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/utils.pyi deleted file mode 100644 index 7586bf83..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/db/utils.pyi +++ /dev/null @@ -1,49 +0,0 @@ -from types import TracebackType -from typing import Any, Dict, Iterable, Iterator, List, Optional, Type - -from django.apps import AppConfig -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.models import Model -from django.utils.connection import BaseConnectionHandler -from django.utils.connection import ConnectionDoesNotExist as ConnectionDoesNotExist - -DEFAULT_DB_ALIAS: str -DJANGO_VERSION_PICKLE_KEY: str - -class Error(Exception): ... -class InterfaceError(Error): ... -class DatabaseError(Error): ... -class DataError(DatabaseError): ... -class OperationalError(DatabaseError): ... -class IntegrityError(DatabaseError): ... -class InternalError(DatabaseError): ... -class ProgrammingError(DatabaseError): ... -class NotSupportedError(DatabaseError): ... - -class DatabaseErrorWrapper: - def __init__(self, wrapper: Any) -> None: ... - def __enter__(self) -> None: ... - def __exit__( - self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: TracebackType - ) -> None: ... - -def load_backend(backend_name: str) -> Any: ... - -class ConnectionHandler(BaseConnectionHandler[BaseDatabaseWrapper]): - @property - def databases(self) -> Dict[str, Dict[str, Any]]: ... - def ensure_defaults(self, alias: str) -> None: ... - def prepare_test_settings(self, alias: str) -> None: ... - def create_connection(self, alias: str) -> BaseDatabaseWrapper: ... - def close_all(self) -> None: ... - -class ConnectionRouter: - def __init__(self, routers: Optional[Iterable[Any]] = ...) -> None: ... - @property - def routers(self) -> List[Any]: ... - def allow_relation(self, obj1: Model, obj2: Model, **hints: Any) -> bool: ... - def allow_migrate(self, db: str, app_label: str, **hints: Any) -> bool: ... - def allow_migrate_model(self, db: str, model: Type[Model]) -> bool: ... - def get_migratable_models( - self, app_config: AppConfig, db: str, include_auto_created: bool = ... - ) -> List[Type[Model]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/dispatch/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/dispatch/__init__.pyi deleted file mode 100644 index b2284297..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/dispatch/__init__.pyi +++ /dev/null @@ -1,2 +0,0 @@ -from django.dispatch.dispatcher import Signal as Signal -from django.dispatch.dispatcher import receiver as receiver diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/dispatch/dispatcher.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/dispatch/dispatcher.pyi deleted file mode 100644 index e8fbfa01..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/dispatch/dispatcher.pyi +++ /dev/null @@ -1,23 +0,0 @@ -from typing import Any, Callable, List, Optional, Tuple, Union - -NONE_ID: Any -NO_RECEIVERS: Any - -class Signal: - receivers: Any = ... - providing_args: Any = ... - lock: Any = ... - use_caching: Any = ... - sender_receivers_cache: Any = ... - def __init__(self, providing_args: List[str] = ..., use_caching: bool = ...) -> None: ... - def connect( - self, receiver: Callable, sender: Optional[object] = ..., weak: bool = ..., dispatch_uid: Optional[str] = ... - ) -> None: ... - def disconnect( - self, receiver: Optional[Callable] = ..., sender: Optional[object] = ..., dispatch_uid: Optional[str] = ... - ) -> bool: ... - def has_listeners(self, sender: Any = ...) -> bool: ... - def send(self, sender: Any, **named: Any) -> List[Tuple[Callable, Optional[str]]]: ... - def send_robust(self, sender: Any, **named: Any) -> List[Tuple[Callable, Union[Exception, str]]]: ... - -def receiver(signal: Union[List[Signal], Signal], **kwargs: Any) -> Callable: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/__init__.pyi deleted file mode 100644 index 463615f6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/__init__.pyi +++ /dev/null @@ -1,80 +0,0 @@ -from django.core.exceptions import ValidationError as ValidationError - -from .boundfield import BoundField as BoundField -from .boundfield import BoundWidget as BoundWidget -from .fields import BooleanField as BooleanField -from .fields import CharField as CharField -from .fields import ChoiceField as ChoiceField -from .fields import ComboField as ComboField -from .fields import DateField as DateField -from .fields import DateTimeField as DateTimeField -from .fields import DecimalField as DecimalField -from .fields import DurationField as DurationField -from .fields import EmailField as EmailField -from .fields import Field as Field -from .fields import FileField as FileField -from .fields import FilePathField as FilePathField -from .fields import FloatField as FloatField -from .fields import GenericIPAddressField as GenericIPAddressField -from .fields import ImageField as ImageField -from .fields import IntegerField as IntegerField -from .fields import JSONField as JSONField -from .fields import MultipleChoiceField as MultipleChoiceField -from .fields import MultiValueField as MultiValueField -from .fields import NullBooleanField as NullBooleanField -from .fields import RegexField as RegexField -from .fields import SlugField as SlugField -from .fields import SplitDateTimeField as SplitDateTimeField -from .fields import TimeField as TimeField -from .fields import TypedChoiceField as TypedChoiceField -from .fields import TypedMultipleChoiceField as TypedMultipleChoiceField -from .fields import URLField as URLField -from .fields import UUIDField as UUIDField -from .forms import BaseForm as BaseForm -from .forms import Form as Form -from .formsets import BaseFormSet as BaseFormSet -from .formsets import all_valid as all_valid -from .formsets import formset_factory as formset_factory -from .models import BaseInlineFormSet as BaseInlineFormSet -from .models import BaseModelForm as BaseModelForm -from .models import BaseModelFormSet as BaseModelFormSet -from .models import InlineForeignKeyField as InlineForeignKeyField -from .models import ModelChoiceField as ModelChoiceField -from .models import ModelChoiceIterator as ModelChoiceIterator -from .models import ModelForm as ModelForm -from .models import ModelFormMetaclass as ModelFormMetaclass -from .models import ModelFormOptions as ModelFormOptions -from .models import ModelMultipleChoiceField as ModelMultipleChoiceField -from .models import fields_for_model as fields_for_model -from .models import inlineformset_factory as inlineformset_factory -from .models import model_to_dict as model_to_dict -from .models import modelform_factory as modelform_factory -from .models import modelformset_factory as modelformset_factory -from .widgets import CheckboxInput as CheckboxInput -from .widgets import CheckboxSelectMultiple as CheckboxSelectMultiple -from .widgets import ChoiceWidget as ChoiceWidget -from .widgets import ClearableFileInput as ClearableFileInput -from .widgets import DateInput as DateInput -from .widgets import DateTimeBaseInput as DateTimeBaseInput -from .widgets import DateTimeInput as DateTimeInput -from .widgets import EmailInput as EmailInput -from .widgets import FileInput as FileInput -from .widgets import HiddenInput as HiddenInput -from .widgets import Input as Input -from .widgets import Media as Media -from .widgets import MultipleHiddenInput as MultipleHiddenInput -from .widgets import MultiWidget as MultiWidget -from .widgets import NullBooleanSelect as NullBooleanSelect -from .widgets import NumberInput as NumberInput -from .widgets import PasswordInput as PasswordInput -from .widgets import RadioSelect as RadioSelect -from .widgets import Select as Select -from .widgets import SelectDateWidget as SelectDateWidget -from .widgets import SelectMultiple as SelectMultiple -from .widgets import SplitDateTimeWidget as SplitDateTimeWidget -from .widgets import SplitHiddenDateTimeWidget as SplitHiddenDateTimeWidget -from .widgets import Textarea as Textarea -from .widgets import TextInput as TextInput -from .widgets import TimeInput as TimeInput -from .widgets import URLInput as URLInput -from .widgets import Widget as Widget diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/boundfield.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/boundfield.pyi deleted file mode 100644 index ccfee34c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/boundfield.pyi +++ /dev/null @@ -1,69 +0,0 @@ -from typing import Any, Dict, Iterable, Iterator, List, Optional, Union, overload - -from django.forms.fields import Field -from django.forms.forms import BaseForm -from django.forms.renderers import BaseRenderer -from django.forms.utils import ErrorList -from django.forms.widgets import Widget -from django.utils.safestring import SafeString - -_AttrsT = Dict[str, Union[str, bool]] - -class BoundField: - form: BaseForm = ... - field: Field = ... - name: str = ... - html_name: str = ... - html_initial_name: str = ... - html_initial_id: str = ... - label: str = ... - help_text: str = ... - def __init__(self, form: BaseForm, field: Field, name: str) -> None: ... - @property - def subwidgets(self) -> List[BoundWidget]: ... - def __bool__(self) -> bool: ... - def __iter__(self) -> Iterator[BoundWidget]: ... - def __len__(self) -> int: ... - @overload - def __getitem__(self, idx: Union[int, str]) -> BoundWidget: ... - @overload - def __getitem__(self, idx: slice) -> List[BoundWidget]: ... - @property - def errors(self) -> ErrorList: ... - def as_widget( - self, widget: Optional[Widget] = ..., attrs: Optional[_AttrsT] = ..., only_initial: bool = ... - ) -> SafeString: ... - def as_text(self, attrs: Optional[_AttrsT] = ..., **kwargs: Any) -> SafeString: ... - def as_textarea(self, attrs: Optional[_AttrsT] = ..., **kwargs: Any) -> SafeString: ... - def as_hidden(self, attrs: Optional[_AttrsT] = ..., **kwargs: Any) -> SafeString: ... - @property - def data(self) -> Any: ... - def value(self) -> Any: ... - def label_tag( - self, contents: Optional[str] = ..., attrs: Optional[_AttrsT] = ..., label_suffix: Optional[str] = ... - ) -> SafeString: ... - def css_classes(self, extra_classes: Union[str, Iterable[str], None] = ...) -> str: ... - @property - def is_hidden(self) -> bool: ... - @property - def auto_id(self) -> str: ... - @property - def id_for_label(self) -> str: ... - @property - def initial(self) -> Any: ... - def build_widget_attrs(self, attrs: _AttrsT, widget: Optional[Widget] = ...) -> _AttrsT: ... - @property - def widget_type(self) -> str: ... - -class BoundWidget: - parent_widget: Widget = ... - data: Dict[str, Any] = ... - renderer: BaseRenderer = ... - def __init__(self, parent_widget: Widget, data: Dict[str, Any], renderer: BaseRenderer) -> None: ... - def tag(self, wrap_label: bool = ...) -> SafeString: ... - @property - def template_name(self) -> str: ... - @property - def id_for_label(self) -> str: ... - @property - def choice_label(self) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/fields.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/fields.pyi deleted file mode 100644 index b425633b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/fields.pyi +++ /dev/null @@ -1,535 +0,0 @@ -import datetime -from decimal import Decimal -from typing import Any, Collection, Dict, Iterator, List, Optional, Pattern, Protocol, Sequence, Tuple, Type, Union -from uuid import UUID - -from django.core.files import File -from django.core.validators import _ValidatorCallable -from django.db.models.fields import _Choice, _ChoiceNamedGroup, _ChoicesCallable, _ErrorMessagesT, _FieldChoices -from django.forms.boundfield import BoundField -from django.forms.forms import BaseForm -from django.forms.widgets import ChoiceWidget, Widget -from django.utils.datastructures import _PropertyDescriptor - -# Problem: attribute `widget` is always of type `Widget` after field instantiation. -# However, on class level it can be set to `Type[Widget]` too. -# If we annotate it as `Union[Widget, Type[Widget]]`, every code that uses field -# instances will not typecheck. -# If we annotate it as `Widget`, any widget subclasses that do e.g. -# `widget = Select` will not typecheck. -# `Any` gives too much freedom, but does not create false positives. -_ClassLevelWidgetT = Any - -class Field: - initial: Any - label: Optional[str] - required: bool - widget: _ClassLevelWidgetT = ... - hidden_widget: Type[Widget] = ... - default_validators: List[_ValidatorCallable] = ... - default_error_messages: _ErrorMessagesT = ... - empty_values: Sequence[Any] = ... - show_hidden_initial: bool = ... - help_text: str = ... - disabled: bool = ... - label_suffix: Optional[str] = ... - localize: bool = ... - error_messages: _ErrorMessagesT = ... - validators: List[_ValidatorCallable] = ... - max_length: Optional[int] = ... - def __init__( - self, - *, - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - show_hidden_initial: bool = ..., - validators: Sequence[_ValidatorCallable] = ..., - localize: bool = ..., - disabled: bool = ..., - label_suffix: Optional[str] = ..., - ) -> None: ... - def prepare_value(self, value: Any) -> Any: ... - def to_python(self, value: Optional[Any]) -> Optional[Any]: ... - def validate(self, value: Any) -> None: ... - def run_validators(self, value: Any) -> None: ... - def clean(self, value: Any) -> Any: ... - def bound_data(self, data: Any, initial: Any) -> Any: ... - def widget_attrs(self, widget: Widget) -> Dict[str, Any]: ... - def has_changed(self, initial: Optional[Any], data: Optional[Any]) -> bool: ... - def get_bound_field(self, form: BaseForm, field_name: str) -> BoundField: ... - def deconstruct(self) -> Any: ... - -class CharField(Field): - max_length: Optional[int] = ... - min_length: Optional[int] = ... - strip: bool = ... - empty_value: Optional[str] = ... - def __init__( - self, - *, - max_length: Optional[int] = ..., - min_length: Optional[int] = ..., - strip: bool = ..., - empty_value: Optional[str] = ..., - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - show_hidden_initial: bool = ..., - validators: Sequence[_ValidatorCallable] = ..., - localize: bool = ..., - disabled: bool = ..., - label_suffix: Optional[str] = ..., - ) -> None: ... - def to_python(self, value: Optional[Any]) -> Optional[str]: ... - def widget_attrs(self, widget: Widget) -> Dict[str, Any]: ... - -class IntegerField(Field): - max_value: Optional[int] - min_value: Optional[int] - re_decimal: Any = ... - def __init__( - self, - *, - max_value: Optional[int] = ..., - min_value: Optional[int] = ..., - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - show_hidden_initial: bool = ..., - validators: Sequence[_ValidatorCallable] = ..., - localize: bool = ..., - disabled: bool = ..., - label_suffix: Optional[str] = ..., - ) -> None: ... - def to_python(self, value: Optional[Any]) -> Optional[int]: ... - def widget_attrs(self, widget: Widget) -> Dict[str, Any]: ... - -class FloatField(IntegerField): - def to_python(self, value: Optional[Any]) -> Optional[float]: ... # type: ignore - def validate(self, value: float) -> None: ... - def widget_attrs(self, widget: Widget) -> Dict[str, Any]: ... - -class DecimalField(IntegerField): - decimal_places: Optional[int] - max_digits: Optional[int] - def __init__( - self, - *, - max_value: Optional[int] = ..., - min_value: Optional[int] = ..., - max_digits: Optional[int] = ..., - decimal_places: Optional[int] = ..., - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - show_hidden_initial: bool = ..., - validators: Sequence[_ValidatorCallable] = ..., - localize: bool = ..., - disabled: bool = ..., - label_suffix: Optional[str] = ..., - ) -> None: ... - def to_python(self, value: Optional[Any]) -> Optional[Decimal]: ... # type: ignore - def validate(self, value: Decimal) -> None: ... - def widget_attrs(self, widget: Widget) -> Dict[str, Any]: ... - -class BaseTemporalField(Field): - input_formats: Any = ... - def __init__( - self, - *, - input_formats: Optional[Any] = ..., - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - show_hidden_initial: bool = ..., - validators: Sequence[_ValidatorCallable] = ..., - localize: bool = ..., - disabled: bool = ..., - label_suffix: Optional[str] = ..., - ) -> None: ... - def to_python(self, value: Optional[str]) -> Optional[Any]: ... - def strptime(self, value: str, format: str) -> Any: ... - -class DateField(BaseTemporalField): - def to_python(self, value: Union[None, str, datetime.datetime, datetime.date]) -> Optional[datetime.date]: ... - def strptime(self, value: str, format: str) -> datetime.date: ... - -class TimeField(BaseTemporalField): - def to_python(self, value: Union[None, str, datetime.time]) -> Optional[datetime.time]: ... - def strptime(self, value: str, format: str) -> datetime.time: ... - -class DateTimeFormatsIterator: - def __iter__(self) -> Iterator[str]: ... - -class DateTimeField(BaseTemporalField): - def to_python(self, value: Union[None, str, datetime.datetime, datetime.date]) -> Optional[datetime.datetime]: ... - def strptime(self, value: str, format: str) -> datetime.datetime: ... - -class DurationField(Field): - def prepare_value(self, value: Optional[Union[datetime.timedelta, str]]) -> Optional[str]: ... - def to_python(self, value: Optional[Any]) -> Optional[datetime.timedelta]: ... - -class RegexField(CharField): - regex: _PropertyDescriptor[Union[str, Pattern[str]], Pattern[str]] = ... - def __init__( - self, - regex: Union[str, Pattern[str]], - *, - max_length: Optional[int] = ..., - min_length: Optional[int] = ..., - strip: bool = ..., - empty_value: Optional[str] = ..., - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - show_hidden_initial: bool = ..., - validators: Sequence[_ValidatorCallable] = ..., - localize: bool = ..., - disabled: bool = ..., - label_suffix: Optional[str] = ..., - ) -> None: ... - -class EmailField(CharField): - def __init__( - self, - *, - max_length: Optional[int] = ..., - min_length: Optional[int] = ..., - strip: bool = ..., - empty_value: Optional[str] = ..., - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - show_hidden_initial: bool = ..., - validators: Sequence[_ValidatorCallable] = ..., - localize: bool = ..., - disabled: bool = ..., - label_suffix: Optional[str] = ..., - ) -> None: ... - -class FileField(Field): - allow_empty_file: bool = ... - def __init__( - self, - *, - max_length: Optional[int] = ..., - allow_empty_file: bool = ..., - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - show_hidden_initial: bool = ..., - validators: Sequence[_ValidatorCallable] = ..., - localize: bool = ..., - disabled: bool = ..., - label_suffix: Optional[str] = ..., - ) -> None: ... - def clean(self, data: Any, initial: Optional[Any] = ...) -> Any: ... - def to_python(self, data: Optional[File]) -> Optional[File]: ... - def bound_data(self, data: Optional[Any], initial: Any) -> Any: ... - def has_changed(self, initial: Optional[Any], data: Optional[Any]) -> bool: ... - -class ImageField(FileField): - def to_python(self, data: Optional[File]) -> Optional[File]: ... - def widget_attrs(self, widget: Widget) -> Dict[str, Any]: ... - -class URLField(CharField): - def __init__( - self, - *, - max_length: Optional[int] = ..., - min_length: Optional[int] = ..., - strip: bool = ..., - empty_value: Optional[str] = ..., - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - show_hidden_initial: bool = ..., - validators: Sequence[_ValidatorCallable] = ..., - localize: bool = ..., - disabled: bool = ..., - label_suffix: Optional[str] = ..., - ) -> None: ... - def to_python(self, value: Optional[Any]) -> Optional[str]: ... - -class BooleanField(Field): - def to_python(self, value: Optional[Any]) -> bool: ... - def validate(self, value: Any) -> None: ... - def has_changed(self, initial: Optional[Any], data: Optional[Any]) -> bool: ... - -class NullBooleanField(BooleanField): - def to_python(self, value: Optional[Any]) -> Optional[bool]: ... # type: ignore - def validate(self, value: Any) -> None: ... - -class CallableChoiceIterator: - choices_func: _ChoicesCallable = ... - def __init__(self, choices_func: _ChoicesCallable) -> None: ... - def __iter__(self) -> Iterator[Union[_Choice, _ChoiceNamedGroup]]: ... - -class ChoiceField(Field): - choices: _PropertyDescriptor[ - Union[_FieldChoices, _ChoicesCallable, CallableChoiceIterator], - Union[_FieldChoices, CallableChoiceIterator], - ] = ... - widget: _ClassLevelWidgetT - def __init__( - self, - *, - choices: Union[_FieldChoices, _ChoicesCallable] = ..., - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - show_hidden_initial: bool = ..., - validators: Sequence[_ValidatorCallable] = ..., - localize: bool = ..., - disabled: bool = ..., - label_suffix: Optional[str] = ..., - ) -> None: ... - # Real return type of `to_python` is `str`, but it results in errors when - # subclassing `ModelChoiceField`: `# type: ignore[override]` is not inherited - def to_python(self, value: Optional[Any]) -> Any: ... - def validate(self, value: Any) -> None: ... - def valid_value(self, value: Any) -> bool: ... - -class _CoerceCallable(Protocol): - def __call__(self, __value: Any) -> Any: ... - -class TypedChoiceField(ChoiceField): - coerce: _CoerceCallable = ... - empty_value: Optional[str] = ... - def __init__( - self, - *, - coerce: _CoerceCallable = ..., - empty_value: Optional[str] = ..., - choices: Union[_FieldChoices, _ChoicesCallable] = ..., - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - show_hidden_initial: bool = ..., - validators: Sequence[_ValidatorCallable] = ..., - localize: bool = ..., - disabled: bool = ..., - label_suffix: Optional[str] = ..., - ) -> None: ... - def clean(self, value: Any) -> Any: ... - -class MultipleChoiceField(ChoiceField): - def to_python(self, value: Optional[Any]) -> List[str]: ... - def validate(self, value: Any) -> None: ... - def has_changed(self, initial: Optional[Collection[Any]], data: Optional[Collection[Any]]) -> bool: ... - -class TypedMultipleChoiceField(MultipleChoiceField): - coerce: _CoerceCallable = ... - empty_value: Optional[List[Any]] = ... - def __init__( - self, - *, - coerce: _CoerceCallable = ..., - empty_value: Optional[List[Any]] = ..., - choices: Union[_FieldChoices, _ChoicesCallable] = ..., - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - show_hidden_initial: bool = ..., - validators: Sequence[_ValidatorCallable] = ..., - localize: bool = ..., - disabled: bool = ..., - label_suffix: Optional[str] = ..., - ) -> None: ... - def clean(self, value: Any) -> Any: ... - def validate(self, value: Any) -> None: ... - -class ComboField(Field): - fields: Sequence[Field] = ... - def __init__( - self, - fields: Sequence[Field], - *, - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - show_hidden_initial: bool = ..., - validators: Sequence[_ValidatorCallable] = ..., - localize: bool = ..., - disabled: bool = ..., - label_suffix: Optional[str] = ..., - ) -> None: ... - def clean(self, value: Any) -> Any: ... - -class MultiValueField(Field): - require_all_fields: bool = ... - fields: Sequence[Field] = ... - def __init__( - self, - fields: Sequence[Field], - *, - require_all_fields: bool = ..., - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - show_hidden_initial: bool = ..., - validators: Sequence[_ValidatorCallable] = ..., - localize: bool = ..., - disabled: bool = ..., - label_suffix: Optional[str] = ..., - ) -> None: ... - def compress(self, data_list: Any) -> Any: ... - def has_changed(self, initial: Optional[Any], data: Optional[Any]) -> bool: ... - def clean(self, value: Any) -> Any: ... - def validate(self, value: Any) -> None: ... - -class FilePathField(ChoiceField): - allow_files: bool - allow_folders: bool - match: Optional[str] - path: str - recursive: bool - match_re: Optional[Pattern[str]] = ... - def __init__( - self, - path: str, - *, - match: Optional[str] = ..., - recursive: bool = ..., - allow_files: bool = ..., - allow_folders: bool = ..., - choices: Union[_FieldChoices, _ChoicesCallable] = ..., - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - show_hidden_initial: bool = ..., - validators: Sequence[_ValidatorCallable] = ..., - localize: bool = ..., - disabled: bool = ..., - label_suffix: Optional[str] = ..., - ) -> None: ... - -class SplitDateTimeField(MultiValueField): - def __init__( - self, - *, - input_date_formats: Optional[Any] = ..., - input_time_formats: Optional[Any] = ..., - fields: Sequence[Field] = ..., - require_all_fields: bool = ..., - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - show_hidden_initial: bool = ..., - validators: Sequence[_ValidatorCallable] = ..., - localize: bool = ..., - disabled: bool = ..., - label_suffix: Optional[str] = ..., - ) -> None: ... - def compress(self, data_list: Optional[Tuple[datetime.date, datetime.time]]) -> Optional[datetime.datetime]: ... - -class GenericIPAddressField(CharField): - unpack_ipv4: bool = ... - def __init__( - self, - *, - protocol: str = ..., - unpack_ipv4: bool = ..., - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - show_hidden_initial: bool = ..., - validators: Sequence[_ValidatorCallable] = ..., - localize: bool = ..., - disabled: bool = ..., - label_suffix: Optional[str] = ..., - ) -> None: ... - def to_python(self, value: Any) -> str: ... - -class SlugField(CharField): - allow_unicode: bool = ... - def __init__( - self, - *, - allow_unicode: bool = ..., - max_length: Optional[Any] = ..., - min_length: Optional[Any] = ..., - strip: bool = ..., - empty_value: Optional[str] = ..., - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - error_messages: Optional[_ErrorMessagesT] = ..., - show_hidden_initial: bool = ..., - validators: Sequence[_ValidatorCallable] = ..., - localize: bool = ..., - disabled: bool = ..., - label_suffix: Optional[str] = ..., - ) -> None: ... - -class UUIDField(CharField): - def prepare_value(self, value: Optional[Any]) -> Optional[Any]: ... - def to_python(self, value: Any) -> Optional[UUID]: ... # type: ignore - -class InvalidJSONInput(str): ... -class JSONString(str): ... - -class JSONField(CharField): - default_error_messages: _ErrorMessagesT = ... - widget: _ClassLevelWidgetT = ... - encoder: Any = ... - decoder: Any = ... - def __init__(self, encoder: Optional[Any] = ..., decoder: Optional[Any] = ..., **kwargs: Any) -> None: ... - def to_python(self, value: Any) -> Any: ... - def bound_data(self, data: Any, initial: Any) -> Any: ... - def prepare_value(self, value: Any) -> str: ... - def has_changed(self, initial: Optional[Any], data: Optional[Any]) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/forms.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/forms.pyi deleted file mode 100644 index 91f3f196..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/forms.pyi +++ /dev/null @@ -1,81 +0,0 @@ -from typing import Any, ClassVar, Dict, Iterable, Iterator, List, Mapping, Optional, Sequence, Type, Union - -from django.core.exceptions import ValidationError as ValidationError -from django.forms.boundfield import BoundField -from django.forms.fields import Field -from django.forms.renderers import BaseRenderer -from django.forms.utils import ErrorDict, ErrorList, _DataT, _FilesT -from django.forms.widgets import Media, MediaDefiningClass -from django.utils.safestring import SafeString - -class DeclarativeFieldsMetaclass(MediaDefiningClass): ... - -class BaseForm: - class Meta: - fields: Sequence[str] = ... - default_renderer: Optional[Union[BaseRenderer, Type[BaseRenderer]]] = ... - field_order: Optional[Iterable[str]] = ... - use_required_attribute: bool = ... - is_bound: bool = ... - data: _DataT = ... - files: _FilesT = ... - auto_id: Union[bool, str] = ... - initial: Mapping[str, Any] = ... - error_class: Type[ErrorList] = ... - prefix: Optional[str] = ... - label_suffix: str = ... - empty_permitted: bool = ... - fields: Dict[str, Field] = ... - renderer: BaseRenderer = ... - cleaned_data: Dict[str, Any] = ... - def __init__( - self, - data: Optional[_DataT] = ..., - files: Optional[_FilesT] = ..., - auto_id: Union[bool, str] = ..., - prefix: Optional[str] = ..., - initial: Optional[Mapping[str, Any]] = ..., - error_class: Type[ErrorList] = ..., - label_suffix: Optional[str] = ..., - empty_permitted: bool = ..., - field_order: Optional[Iterable[str]] = ..., - use_required_attribute: Optional[bool] = ..., - renderer: Optional[BaseRenderer] = ..., - ) -> None: ... - def order_fields(self, field_order: Optional[Iterable[str]]) -> None: ... - def __iter__(self) -> Iterator[BoundField]: ... - def __getitem__(self, name: str) -> BoundField: ... - @property - def errors(self) -> ErrorDict: ... - def is_valid(self) -> bool: ... - def add_prefix(self, field_name: str) -> str: ... - def add_initial_prefix(self, field_name: str) -> str: ... - def as_table(self) -> SafeString: ... - def as_ul(self) -> SafeString: ... - def as_p(self) -> SafeString: ... - def non_field_errors(self) -> ErrorList: ... - def add_error(self, field: Optional[str], error: Union[ValidationError, str]) -> None: ... - def has_error(self, field: Optional[str], code: Optional[str] = ...) -> bool: ... - def full_clean(self) -> None: ... - def clean(self) -> Optional[Dict[str, Any]]: ... - def has_changed(self) -> bool: ... - @property - def changed_data(self) -> List[str]: ... - @property - def media(self) -> Media: ... - def is_multipart(self) -> bool: ... - def hidden_fields(self) -> List[BoundField]: ... - def visible_fields(self) -> List[BoundField]: ... - def get_initial_for_field(self, field: Field, field_name: str) -> Any: ... - def _html_output( - self, - normal_row: str, - error_row: str, - row_ender: str, - help_text_html: str, - errors_on_separate_row: bool, - ) -> SafeString: ... - -class Form(BaseForm): - base_fields: ClassVar[Dict[str, Field]] - declared_fields: ClassVar[Dict[str, Field]] diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/formsets.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/formsets.pyi deleted file mode 100644 index 27d5ae02..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/formsets.pyi +++ /dev/null @@ -1,114 +0,0 @@ -from typing import Any, Dict, Generic, Iterator, List, Mapping, Optional, Sequence, Sized, Type, TypeVar, Union - -from django.forms.forms import BaseForm, Form -from django.forms.utils import ErrorList, _DataT, _FilesT -from django.forms.widgets import Media, Widget -from django.utils.safestring import SafeString - -TOTAL_FORM_COUNT: str = ... -INITIAL_FORM_COUNT: str = ... -MIN_NUM_FORM_COUNT: str = ... -MAX_NUM_FORM_COUNT: str = ... -ORDERING_FIELD_NAME: str = ... -DELETION_FIELD_NAME: str = ... - -DEFAULT_MIN_NUM: int = ... -DEFAULT_MAX_NUM: int = ... - -_F = TypeVar("_F", bound=BaseForm) - -class ManagementForm(Form): - cleaned_data: Dict[str, Optional[int]] - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def clean(self) -> Dict[str, Optional[int]]: ... - -class BaseFormSet(Generic[_F], Sized): - form: Type[_F] - extra: int - can_order: bool - can_delete: bool - can_delete_extra: bool - min_num: int - max_num: int - absolute_max: int - validate_min: bool - validate_max: bool - - is_bound: bool = ... - prefix: Optional[str] = ... - auto_id: str = ... - data: _DataT = ... - files: _FilesT = ... - initial: Optional[Sequence[Mapping[str, Any]]] = ... - form_kwargs: Dict[str, Any] = ... - error_class: Type[ErrorList] = ... - ordering_widget: Type[Widget] - def __init__( - self, - data: Optional[_DataT] = ..., - files: Optional[_FilesT] = ..., - auto_id: str = ..., - prefix: Optional[str] = ..., - initial: Optional[Sequence[Mapping[str, Any]]] = ..., - error_class: Type[ErrorList] = ..., - form_kwargs: Optional[Dict[str, Any]] = ..., - error_messages: Optional[Mapping[str, str]] = ..., - ) -> None: ... - def __iter__(self) -> Iterator[_F]: ... - def __getitem__(self, index: int) -> _F: ... - def __len__(self) -> int: ... - def __bool__(self) -> bool: ... - @property - def management_form(self) -> ManagementForm: ... - def total_form_count(self) -> int: ... - def initial_form_count(self) -> int: ... - @property - def forms(self) -> List[_F]: ... - def get_form_kwargs(self, index: Optional[int]) -> Dict[str, Any]: ... - @property - def initial_forms(self) -> List[_F]: ... - @property - def extra_forms(self) -> List[_F]: ... - @property - def empty_form(self) -> _F: ... - @property - def cleaned_data(self) -> List[Dict[str, Any]]: ... - @property - def deleted_forms(self) -> List[_F]: ... - @property - def ordered_forms(self) -> List[_F]: ... - @classmethod - def get_default_prefix(cls) -> str: ... - @classmethod - def get_ordering_widget(cls) -> Type[Widget]: ... - def non_form_errors(self) -> ErrorList: ... - @property - def errors(self) -> List[ErrorList]: ... - def total_error_count(self) -> int: ... - def is_valid(self) -> bool: ... - def full_clean(self) -> None: ... - def clean(self) -> None: ... - def has_changed(self) -> bool: ... - def add_fields(self, form: _F, index: Optional[int]) -> None: ... - def add_prefix(self, index: Union[int, str]) -> str: ... - def is_multipart(self) -> bool: ... - @property - def media(self) -> Media: ... - def as_table(self) -> SafeString: ... - def as_p(self) -> SafeString: ... - def as_ul(self) -> SafeString: ... - -def formset_factory( - form: Type[_F], - formset: Type[BaseFormSet[_F]] = ..., - extra: int = ..., - can_order: bool = ..., - can_delete: bool = ..., - max_num: Optional[int] = ..., - validate_max: bool = ..., - min_num: Optional[int] = ..., - validate_min: bool = ..., - absolute_max: Optional[int] = ..., - can_delete_extra: bool = ..., -) -> Type[BaseFormSet[_F]]: ... -def all_valid(formsets: Sequence[BaseFormSet[_F]]) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/models.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/models.pyi deleted file mode 100644 index 930f3d4a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/models.pyi +++ /dev/null @@ -1,334 +0,0 @@ -import sys -from typing import ( - Any, - Callable, - ClassVar, - Collection, - Container, - Dict, - Generic, - Iterator, - List, - Mapping, - Optional, - Sequence, - Tuple, - Type, - TypeVar, - Union, - overload, -) -from uuid import UUID - -from django.db import models -from django.db.models import ForeignKey -from django.db.models.base import Model -from django.db.models.fields import _AllLimitChoicesTo, _ChoicesCallable, _FieldChoices, _LimitChoicesTo -from django.db.models.manager import Manager -from django.db.models.query import QuerySet -from django.db.models.query_utils import Q -from django.forms.fields import CallableChoiceIterator, ChoiceField, Field, _ClassLevelWidgetT -from django.forms.forms import BaseForm, DeclarativeFieldsMetaclass -from django.forms.formsets import BaseFormSet -from django.forms.renderers import BaseRenderer -from django.forms.utils import ErrorList, _DataT, _FilesT -from django.forms.widgets import ChoiceWidget, Input, Widget -from django.utils.datastructures import _IndexableCollection, _ListOrTuple, _PropertyDescriptor - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -ALL_FIELDS: Literal["__all__"] - -_Fields = Union[_ListOrTuple[str], Literal["__all__"]] -_Widgets = Dict[str, Union[Type[Widget], Widget]] -_Labels = Dict[str, str] -_HelpTexts = Dict[str, str] -_ErrorMessages = Dict[str, Dict[str, str]] -_FormFieldCallback = Callable[[models.Field], Field] - -_M = TypeVar("_M", bound=Model) - -def construct_instance( - form: BaseForm, instance: _M, fields: Optional[Container[str]] = ..., exclude: Optional[Container[str]] = ... -) -> _M: ... -def model_to_dict( - instance: Model, fields: Optional[_Fields] = ..., exclude: Optional[_Fields] = ... -) -> Dict[str, Any]: ... -def apply_limit_choices_to_to_formfield(formfield: Field) -> None: ... -def fields_for_model( - model: Type[Model], - fields: Optional[_Fields] = ..., - exclude: Optional[_Fields] = ..., - widgets: Optional[_Widgets] = ..., - formfield_callback: Optional[_FormFieldCallback] = ..., - localized_fields: Optional[_Fields] = ..., - labels: Optional[_Labels] = ..., - help_texts: Optional[_HelpTexts] = ..., - error_messages: Optional[_ErrorMessages] = ..., - field_classes: Optional[Mapping[str, Type[Field]]] = ..., - *, - apply_limit_choices_to: bool = ..., -) -> Dict[str, Any]: ... - -class ModelFormOptions(Generic[_M]): - model: Type[_M] = ... - fields: Optional[_Fields] = ... - exclude: Optional[_Fields] = ... - widgets: Optional[_Widgets] = ... - localized_fields: Optional[_Fields] = ... - labels: Optional[_Labels] = ... - help_texts: Optional[_HelpTexts] = ... - error_messages: Optional[_ErrorMessages] = ... - field_classes: Optional[Dict[str, Type[Field]]] = ... - def __init__(self, options: Optional[type] = ...) -> None: ... - -class ModelFormMetaclass(DeclarativeFieldsMetaclass): ... - -class BaseModelForm(Generic[_M], BaseForm): - instance: _M - _meta: ModelFormOptions[_M] - def __init__( - self, - data: Optional[_DataT] = ..., - files: Optional[_FilesT] = ..., - auto_id: Union[bool, str] = ..., - prefix: Optional[str] = ..., - initial: Optional[Mapping[str, Any]] = ..., - error_class: Type[ErrorList] = ..., - label_suffix: Optional[str] = ..., - empty_permitted: bool = ..., - instance: Optional[_M] = ..., - use_required_attribute: Optional[bool] = ..., - renderer: BaseRenderer = ..., - ) -> None: ... - def validate_unique(self) -> None: ... - def save(self, commit: bool = ...) -> _M: ... - def save_m2m(self) -> None: ... - -class ModelForm(BaseModelForm[_M], metaclass=ModelFormMetaclass): - base_fields: ClassVar[Dict[str, Field]] = ... - -def modelform_factory( - model: Type[_M], - form: Type[ModelForm[_M]] = ..., - fields: Optional[_Fields] = ..., - exclude: Optional[_Fields] = ..., - formfield_callback: Optional[_FormFieldCallback] = ..., - widgets: Optional[_Widgets] = ..., - localized_fields: Optional[_Fields] = ..., - labels: Optional[_Labels] = ..., - help_texts: Optional[_HelpTexts] = ..., - error_messages: Optional[_ErrorMessages] = ..., - field_classes: Optional[Mapping[str, Type[Field]]] = ..., -) -> Type[ModelForm[_M]]: ... - -_ModelFormT = TypeVar("_ModelFormT", bound=ModelForm) - -class BaseModelFormSet(Generic[_M, _ModelFormT], BaseFormSet[_ModelFormT]): - model: Type[_M] = ... - unique_fields: Collection[str] = ... - queryset: Optional[QuerySet[_M]] = ... - initial_extra: Optional[Sequence[Dict[str, Any]]] = ... - def __init__( - self, - data: Optional[_DataT] = ..., - files: Optional[_FilesT] = ..., - auto_id: str = ..., - prefix: Optional[str] = ..., - queryset: Optional[QuerySet[_M]] = ..., - *, - initial: Optional[Sequence[Dict[str, Any]]] = ..., - **kwargs: Any, - ) -> None: ... - def initial_form_count(self) -> int: ... - def get_queryset(self) -> _IndexableCollection[_M]: ... - def save_new(self, form: _ModelFormT, commit: bool = ...) -> _M: ... - def save_existing(self, form: _ModelFormT, instance: _M, commit: bool = ...) -> _M: ... - def delete_existing(self, obj: _M, commit: bool = ...) -> None: ... - saved_forms: List[_ModelFormT] = ... - save_m2m: Callable[[], None] = ... - def save(self, commit: bool = ...) -> List[_M]: ... - def clean(self) -> None: ... - def validate_unique(self) -> None: ... - def get_unique_error_message(self, unique_check: Sequence[str]) -> str: ... - def get_date_error_message(self, date_check: Tuple[str, Literal["date", "year", "month"], str, str]) -> str: ... - def get_form_error(self) -> str: ... - changed_objects: List[Tuple[_M, List[str]]] = ... - deleted_objects: List[_M] = ... - def save_existing_objects(self, commit: bool = ...) -> List[_M]: ... - new_objects: List[_M] = ... - def save_new_objects(self, commit: bool = ...) -> List[_M]: ... - def add_fields(self, form: _ModelFormT, index: Optional[int]) -> None: ... - -def modelformset_factory( - model: Type[_M], - form: Type[_ModelFormT] = ..., - formfield_callback: Optional[_FormFieldCallback] = ..., - formset: Type[BaseModelFormSet] = ..., - extra: int = ..., - can_delete: bool = ..., - can_order: bool = ..., - max_num: Optional[int] = ..., - fields: Optional[_Fields] = ..., - exclude: Optional[_Fields] = ..., - widgets: Optional[_Widgets] = ..., - validate_max: bool = ..., - localized_fields: Optional[_Fields] = ..., - labels: Optional[_Labels] = ..., - help_texts: Optional[_HelpTexts] = ..., - error_messages: Optional[_ErrorMessages] = ..., - min_num: Optional[int] = ..., - validate_min: bool = ..., - field_classes: Optional[Mapping[str, Type[Field]]] = ..., - absolute_max: Optional[int] = ..., - can_delete_extra: bool = ..., -) -> Type[BaseModelFormSet[_M, _ModelFormT]]: ... - -class BaseInlineFormSet(BaseModelFormSet[_M, _ModelFormT]): - instance: Model = ... - save_as_new: bool = ... - unique_fields: Collection[str] = ... - fk: ForeignKey # set by inlineformset_set - def __init__( - self, - data: Optional[_DataT] = ..., - files: Optional[_FilesT] = ..., - instance: Optional[_M] = ..., - save_as_new: bool = ..., - prefix: Optional[str] = ..., - queryset: Optional[QuerySet[_M]] = ..., - **kwargs: Any, - ) -> None: ... - def initial_form_count(self) -> int: ... - @classmethod - def get_default_prefix(cls) -> str: ... - def save_new(self, form: _ModelFormT, commit: bool = ...) -> _M: ... - def add_fields(self, form: _ModelFormT, index: Optional[int]) -> None: ... - def get_unique_error_message(self, unique_check: Sequence[str]) -> str: ... - -def inlineformset_factory( - parent_model: Type[Model], - model: Type[_M], - form: Type[_ModelFormT] = ..., - formset: Type[BaseInlineFormSet] = ..., - fk_name: Optional[str] = ..., - fields: Optional[_Fields] = ..., - exclude: Optional[_Fields] = ..., - extra: int = ..., - can_order: bool = ..., - can_delete: bool = ..., - max_num: Optional[int] = ..., - formfield_callback: Optional[_FormFieldCallback] = ..., - widgets: Optional[_Widgets] = ..., - validate_max: bool = ..., - localized_fields: Optional[Sequence[str]] = ..., - labels: Optional[_Labels] = ..., - help_texts: Optional[_HelpTexts] = ..., - error_messages: Optional[_ErrorMessages] = ..., - min_num: Optional[int] = ..., - validate_min: bool = ..., - field_classes: Optional[Mapping[str, Type[Field]]] = ..., - absolute_max: Optional[int] = ..., - can_delete_extra: bool = ..., -) -> Type[BaseInlineFormSet[_M, _ModelFormT]]: ... - -class InlineForeignKeyField(Field): - disabled: bool - help_text: str - required: bool - show_hidden_initial: bool - widget: _ClassLevelWidgetT = ... - default_error_messages: Dict[str, str] = ... - parent_instance: Model = ... - pk_field: bool = ... - to_field: Optional[str] = ... - def __init__( - self, - parent_instance: Model, - *args: Any, - pk_field: bool = ..., - to_field: Optional[str] = ..., - **kwargs: Any, - ) -> None: ... - def clean(self, value: Any) -> Model: ... - def has_changed(self, initial: Any, data: Any) -> bool: ... - -class ModelChoiceIteratorValue: - def __init__(self, value: Any, instance: Model) -> None: ... - def __str__(self) -> str: ... - -class ModelChoiceIterator: - field: ModelChoiceField = ... - queryset: QuerySet = ... - def __init__(self, field: ModelChoiceField) -> None: ... - def __iter__(self) -> Iterator[Tuple[Union[ModelChoiceIteratorValue, str], str]]: ... - def __len__(self) -> int: ... - def __bool__(self) -> bool: ... - def choice(self, obj: Model) -> Tuple[ModelChoiceIteratorValue, str]: ... - -class ModelChoiceField(ChoiceField): - disabled: bool - error_messages: Dict[str, str] - help_text: str - required: bool - show_hidden_initial: bool - validators: List[Any] - default_error_messages: Dict[str, str] = ... - iterator: Type[ModelChoiceIterator] = ... - empty_label: Optional[str] = ... - queryset: Optional[QuerySet[models.Model]] = ... - limit_choices_to: Optional[_AllLimitChoicesTo] = ... - to_field_name: Optional[str] = ... - def __init__( - self, - queryset: Union[None, Manager[models.Model], QuerySet[models.Model]], - *, - empty_label: Optional[str] = ..., - required: bool = ..., - widget: Optional[Union[Widget, Type[Widget]]] = ..., - label: Optional[str] = ..., - initial: Optional[Any] = ..., - help_text: str = ..., - to_field_name: Optional[str] = ..., - limit_choices_to: Optional[_AllLimitChoicesTo] = ..., - blank: bool = ..., - **kwargs: Any, - ) -> None: ... - def get_limit_choices_to(self) -> _LimitChoicesTo: ... - def label_from_instance(self, obj: Model) -> str: ... - choices: _PropertyDescriptor[ - Union[_FieldChoices, _ChoicesCallable, CallableChoiceIterator], - Union[_FieldChoices, CallableChoiceIterator, ModelChoiceIterator], - ] = ... - def prepare_value(self, value: Any) -> Any: ... - def to_python(self, value: Optional[Any]) -> Optional[Model]: ... - def validate(self, value: Optional[Model]) -> None: ... - def has_changed(self, initial: Optional[Union[Model, int, str, UUID]], data: Optional[Union[int, str]]) -> bool: ... - -class ModelMultipleChoiceField(ModelChoiceField): - disabled: bool - empty_label: Optional[str] - help_text: str - required: bool - show_hidden_initial: bool - widget: _ClassLevelWidgetT = ... - hidden_widget: Type[Widget] = ... - default_error_messages: Dict[str, str] = ... - def __init__(self, queryset: Union[None, Manager[Model], QuerySet[Model]], **kwargs: Any) -> None: ... - def to_python(self, value: Any) -> List[Model]: ... # type: ignore[override] - def clean(self, value: Any) -> QuerySet[Model]: ... - def prepare_value(self, value: Any) -> Any: ... - def has_changed(self, initial: Optional[Collection[Any]], data: Optional[Collection[Any]]) -> bool: ... # type: ignore - -def modelform_defines_fields(form_class: Type[ModelForm]) -> bool: ... -@overload -def _get_foreign_key( # type: ignore - parent_model: Type[Model], model: Type[Model], fk_name: Optional[str] = ..., can_fail: Literal[True] = ... -) -> Optional[ForeignKey]: ... -@overload -def _get_foreign_key( - parent_model: Type[Model], model: Type[Model], fk_name: Optional[str] = ..., can_fail: Literal[False] = ... -) -> ForeignKey: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/renderers.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/renderers.pyi deleted file mode 100644 index 6246af0e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/renderers.pyi +++ /dev/null @@ -1,28 +0,0 @@ -from typing import Any, Dict, Optional, Type - -from django.http import HttpRequest -from django.template.backends.base import BaseEngine -from django.template.backends.django import DjangoTemplates as DjangoTemplatesR -from django.template.backends.jinja2 import Jinja2 as Jinja2R -from django.template.base import Template - -def get_default_renderer() -> BaseRenderer: ... - -class BaseRenderer: - def get_template(self, template_name: str) -> Any: ... - def render(self, template_name: str, context: Dict[str, Any], request: Optional[HttpRequest] = ...) -> str: ... - -class EngineMixin: - def get_template(self, template_name: str) -> Any: ... - @property - def engine(self) -> BaseEngine: ... - -class DjangoTemplates(EngineMixin, BaseRenderer): - backend: Type[DjangoTemplatesR] = ... - -class Jinja2(EngineMixin, BaseRenderer): - @property - def backend(self) -> Type[Jinja2R]: ... - -class TemplatesSetting(BaseRenderer): - def get_template(self, template_name: str) -> Optional[Template]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/utils.pyi deleted file mode 100644 index dce42a17..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/utils.pyi +++ /dev/null @@ -1,37 +0,0 @@ -from collections import UserList -from datetime import datetime -from typing import Any, Dict, Iterable, List, Mapping, Optional, Sequence, Union - -from django.core.exceptions import ValidationError -from django.core.files import File -from django.utils.safestring import SafeString - -_DataT = Mapping[str, Any] -_FilesT = Mapping[str, Iterable[File]] - -def pretty_name(name: str) -> str: ... -def flatatt(attrs: Dict[str, Any]) -> SafeString: ... - -class ErrorDict(dict): - def as_data(self) -> Dict[str, List[ValidationError]]: ... - def get_json_data(self, escape_html: bool = ...) -> Dict[str, Any]: ... - def as_json(self, escape_html: bool = ...) -> str: ... - def as_ul(self) -> str: ... - def as_text(self) -> str: ... - -class ErrorList(UserList): - data: List[Union[ValidationError, str]] - error_class: str = ... - def __init__( - self, - initlist: Optional[Union[ErrorList, Sequence[Union[str, Exception]]]] = ..., - error_class: Optional[str] = ..., - ) -> None: ... - def as_data(self) -> List[ValidationError]: ... - def get_json_data(self, escape_html: bool = ...) -> List[Dict[str, str]]: ... - def as_json(self, escape_html: bool = ...) -> str: ... - def as_ul(self) -> str: ... - def as_text(self) -> str: ... - -def from_current_timezone(value: datetime) -> datetime: ... -def to_current_timezone(value: datetime) -> datetime: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/widgets.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/widgets.pyi deleted file mode 100644 index ec39dfe9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/forms/widgets.pyi +++ /dev/null @@ -1,289 +0,0 @@ -import datetime -import sys -from typing import Any, Dict, Iterable, Iterator, List, Mapping, Optional, Sequence, Tuple, Type, Union - -from django.core.files.base import File -from django.db.models.fields import _FieldChoices -from django.forms.renderers import BaseRenderer -from django.forms.utils import _DataT, _FilesT -from django.utils.datastructures import _ListOrTuple -from django.utils.functional import _Getter -from django.utils.safestring import SafeString -from typing_extensions import Literal - -if sys.version_info < (3, 8): - from typing_extensions import Protocol -else: - from typing import Protocol - -_OptAttrs = Dict[str, Any] - -class MediaOrderConflictWarning(RuntimeWarning): ... - -class Media: - def __init__( - self, - media: Optional[type] = ..., - css: Optional[Dict[str, Sequence[str]]] = ..., - js: Optional[Sequence[str]] = ..., - ) -> None: ... - def render(self) -> str: ... - def render_js(self) -> List[str]: ... - def render_css(self) -> Iterable[str]: ... - def absolute_path(self, path: str) -> str: ... - def __getitem__(self, name: str) -> Media: ... - @staticmethod - def merge(*lists: Iterable[Any]) -> List[Any]: ... - def __add__(self, other: Media) -> Media: ... - -class MediaDefiningClass(type): ... - -class Widget(metaclass=MediaDefiningClass): - needs_multipart_form: bool = ... - is_localized: bool = ... - is_required: bool = ... - supports_microseconds: bool = ... - attrs: _OptAttrs = ... - template_name: str - media: _Getter[Media] - def __init__(self, attrs: Optional[_OptAttrs] = ...) -> None: ... - @property - def is_hidden(self) -> bool: ... - def subwidgets(self, name: str, value: Any, attrs: _OptAttrs = ...) -> Iterator[Dict[str, Any]]: ... - def format_value(self, value: Any) -> Optional[str]: ... - def get_context(self, name: str, value: Any, attrs: Optional[_OptAttrs]) -> Dict[str, Any]: ... - def render( - self, name: str, value: Any, attrs: Optional[_OptAttrs] = ..., renderer: Optional[BaseRenderer] = ... - ) -> SafeString: ... - def build_attrs(self, base_attrs: _OptAttrs, extra_attrs: Optional[_OptAttrs] = ...) -> Dict[str, Any]: ... - def value_from_datadict(self, data: _DataT, files: _FilesT, name: str) -> Any: ... - def value_omitted_from_data(self, data: _DataT, files: _FilesT, name: str) -> bool: ... - def id_for_label(self, id_: str) -> str: ... - def use_required_attribute(self, initial: Any) -> bool: ... - -class Input(Widget): - input_type: str = ... - template_name: str = ... - -class TextInput(Input): - input_type: str = ... - template_name: str = ... - -class NumberInput(Input): - input_type: str = ... - template_name: str = ... - -class EmailInput(Input): - input_type: str = ... - template_name: str = ... - -class URLInput(Input): - input_type: str = ... - template_name: str = ... - -class PasswordInput(Input): - render_value: bool = ... - input_type: str = ... - template_name: str = ... - def __init__(self, attrs: Optional[_OptAttrs] = ..., render_value: bool = ...) -> None: ... - def get_context(self, name: str, value: Any, attrs: Optional[_OptAttrs]) -> Dict[str, Any]: ... - -class HiddenInput(Input): - choices: _FieldChoices - input_type: str = ... - template_name: str = ... - -class MultipleHiddenInput(HiddenInput): - template_name: str = ... - -class FileInput(Input): - input_type: str = ... - template_name: str = ... - needs_multipart_form: bool = ... - def format_value(self, value: Any) -> None: ... - def value_from_datadict(self, data: _DataT, files: _FilesT, name: str) -> Any: ... - def value_omitted_from_data(self, data: _DataT, files: _FilesT, name: str) -> bool: ... - def use_required_attribute(self, initial: Any) -> bool: ... - -FILE_INPUT_CONTRADICTION: object - -class ClearableFileInput(FileInput): - clear_checkbox_label: str = ... - initial_text: str = ... - input_text: str = ... - template_name: str = ... - def clear_checkbox_name(self, name: str) -> str: ... - def clear_checkbox_id(self, name: str) -> str: ... - def is_initial(self, value: Optional[Union[File, str]]) -> bool: ... - def get_context(self, name: str, value: Any, attrs: Optional[_OptAttrs]) -> Dict[str, Any]: ... - def value_from_datadict(self, data: _DataT, files: _FilesT, name: str) -> Any: ... - def value_omitted_from_data(self, data: _DataT, files: _FilesT, name: str) -> bool: ... - -class Textarea(Widget): - template_name: str = ... - def __init__(self, attrs: Optional[_OptAttrs] = ...) -> None: ... - -class DateTimeBaseInput(TextInput): - format_key: str = ... - format: Optional[str] = ... - supports_microseconds: bool = ... - def __init__(self, attrs: Optional[_OptAttrs] = ..., format: Optional[str] = ...): ... - -class DateInput(DateTimeBaseInput): - format_key: str = ... - template_name: str = ... - -class DateTimeInput(DateTimeBaseInput): - format_key: str = ... - template_name: str = ... - -class TimeInput(DateTimeBaseInput): - format_key: str = ... - template_name: str = ... - -def boolean_check(v: Any) -> bool: ... - -class _CheckCallable(Protocol): - def __call__(self, __value: Any) -> bool: ... - -class CheckboxInput(Input): - check_test: _CheckCallable = ... - input_type: str = ... - template_name: str = ... - def __init__(self, attrs: Optional[_OptAttrs] = ..., check_test: Optional[_CheckCallable] = ...) -> None: ... - -class ChoiceWidget(Widget): - allow_multiple_selected: bool = ... - input_type: Optional[str] = ... - template_name: str = ... - option_template_name: Optional[str] = ... - add_id_index: bool = ... - checked_attribute: Any = ... - option_inherits_attrs: bool = ... - choices: _FieldChoices = ... - def __init__(self, attrs: Optional[_OptAttrs] = ..., choices: _FieldChoices = ...) -> None: ... - def subwidgets(self, name: str, value: Any, attrs: _OptAttrs = ...) -> Iterator[Dict[str, Any]]: ... - def options(self, name: str, value: List[str], attrs: Optional[_OptAttrs] = ...) -> Iterator[Dict[str, Any]]: ... - def optgroups( - self, name: str, value: List[str], attrs: Optional[_OptAttrs] = ... - ) -> List[Tuple[Optional[str], List[Dict[str, Any]], Optional[int]]]: ... - def get_context(self, name: str, value: Any, attrs: Optional[_OptAttrs]) -> Dict[str, Any]: ... - def create_option( - self, - name: str, - value: Any, - label: Union[int, str], - selected: bool, - index: int, - subindex: Optional[int] = ..., - attrs: Optional[_OptAttrs] = ..., - ) -> Dict[str, Any]: ... - def id_for_label(self, id_: str, index: str = ...) -> str: ... - def value_from_datadict(self, data: _DataT, files: _FilesT, name: str) -> Any: ... - def format_value(self, value: Any) -> List[str]: ... # type: ignore - -class Select(ChoiceWidget): - input_type: Optional[str] = ... - template_name: str = ... - option_template_name: str = ... - add_id_index: bool = ... - checked_attribute: Any = ... - option_inherits_attrs: bool = ... - def get_context(self, name: str, value: Any, attrs: Optional[_OptAttrs]) -> Dict[str, Any]: ... - def use_required_attribute(self, initial: Any) -> bool: ... - -class NullBooleanSelect(Select): - def __init__(self, attrs: Optional[_OptAttrs] = ...) -> None: ... - def format_value(self, value: Any) -> str: ... # type: ignore - def value_from_datadict(self, data: _DataT, files: _FilesT, name: str) -> Optional[bool]: ... - -class SelectMultiple(Select): - allow_multiple_selected: bool = ... - def value_from_datadict(self, data: _DataT, files: _FilesT, name: str) -> Any: ... - def value_omitted_from_data(self, data: _DataT, files: _FilesT, name: str) -> bool: ... - -class RadioSelect(ChoiceWidget): - can_add_related: bool - input_type: str = ... - template_name: str = ... - option_template_name: str = ... - -class CheckboxSelectMultiple(ChoiceWidget): - can_add_related: bool - input_type: str = ... - template_name: str = ... - option_template_name: str = ... - def use_required_attribute(self, initial: Any) -> bool: ... - def value_omitted_from_data(self, data: _DataT, files: _FilesT, name: str) -> bool: ... - def id_for_label(self, id_: str, index: Optional[str] = ...) -> str: ... - -class MultiWidget(Widget): - template_name: str = ... - widgets: Sequence[Widget] = ... - def __init__( - self, - widgets: Union[Dict[str, Union[Widget, Type[Widget]]], Sequence[Union[Widget, Type[Widget]]]], - attrs: Optional[_OptAttrs] = ..., - ) -> None: ... - @property - def is_hidden(self) -> bool: ... - def get_context(self, name: str, value: Any, attrs: Optional[_OptAttrs]) -> Dict[str, Any]: ... - def id_for_label(self, id_: str) -> str: ... - def value_from_datadict(self, data: _DataT, files: _FilesT, name: str) -> List[Any]: ... - def value_omitted_from_data(self, data: _DataT, files: _FilesT, name: str) -> bool: ... - def decompress(self, value: Any) -> Optional[Any]: ... - media: _Getter[Media] = ... - @property - def needs_multipart_form(self) -> bool: ... # type: ignore - -class SplitDateTimeWidget(MultiWidget): - supports_microseconds: bool = ... - template_name: str = ... - widgets: Tuple[DateInput, TimeInput] - def __init__( - self, - attrs: Optional[_OptAttrs] = ..., - date_format: Optional[str] = ..., - time_format: Optional[str] = ..., - date_attrs: Optional[Dict[str, str]] = ..., - time_attrs: Optional[Dict[str, str]] = ..., - ) -> None: ... - def decompress(self, value: Any) -> Tuple[Optional[datetime.date], Optional[datetime.time]]: ... - -class SplitHiddenDateTimeWidget(SplitDateTimeWidget): - template_name: str = ... - def __init__( - self, - attrs: Optional[_OptAttrs] = ..., - date_format: Optional[str] = ..., - time_format: Optional[str] = ..., - date_attrs: Optional[Dict[str, str]] = ..., - time_attrs: Optional[Dict[str, str]] = ..., - ) -> None: ... - -class SelectDateWidget(Widget): - none_value: Tuple[Literal[""], str] = ... - month_field: str = ... - day_field: str = ... - year_field: str = ... - template_name: str = ... - input_type: str = ... - select_widget: Type[ChoiceWidget] = ... - date_re: Any = ... - years: Iterable[Union[int, str]] = ... - months: Mapping[int, str] = ... - year_none_value: Tuple[Literal[""], str] = ... - month_none_value: Tuple[Literal[""], str] = ... - day_none_value: Tuple[Literal[""], str] = ... - def __init__( - self, - attrs: Optional[_OptAttrs] = ..., - years: Optional[Iterable[Union[int, str]]] = ..., - months: Optional[Mapping[int, str]] = ..., - empty_label: Optional[Union[str, _ListOrTuple[str]]] = ..., - ) -> None: ... - def get_context(self, name: str, value: Any, attrs: Optional[_OptAttrs]) -> Dict[str, Any]: ... - def format_value(self, value: Any) -> Dict[str, Union[str, int, None]]: ... # type: ignore - def id_for_label(self, id_: str) -> str: ... - def value_from_datadict(self, data: _DataT, files: _FilesT, name: str) -> Union[str, None, Any]: ... - def value_omitted_from_data(self, data: _DataT, files: _FilesT, name: str) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/__init__.pyi deleted file mode 100644 index a45c8867..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/__init__.pyi +++ /dev/null @@ -1,21 +0,0 @@ -from .cookie import SimpleCookie as SimpleCookie -from .cookie import parse_cookie as parse_cookie -from .request import HttpRequest as HttpRequest -from .request import QueryDict as QueryDict -from .request import RawPostDataException as RawPostDataException -from .request import UnreadablePostError as UnreadablePostError -from .response import BadHeaderError as BadHeaderError -from .response import FileResponse as FileResponse -from .response import Http404 as Http404 -from .response import HttpResponse as HttpResponse -from .response import HttpResponseBadRequest as HttpResponseBadRequest -from .response import HttpResponseForbidden as HttpResponseForbidden -from .response import HttpResponseGone as HttpResponseGone -from .response import HttpResponseNotAllowed as HttpResponseNotAllowed -from .response import HttpResponseNotFound as HttpResponseNotFound -from .response import HttpResponseNotModified as HttpResponseNotModified -from .response import HttpResponsePermanentRedirect as HttpResponsePermanentRedirect -from .response import HttpResponseRedirect as HttpResponseRedirect -from .response import HttpResponseServerError as HttpResponseServerError -from .response import JsonResponse as JsonResponse -from .response import StreamingHttpResponse as StreamingHttpResponse diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/cookie.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/cookie.pyi deleted file mode 100644 index e2dc91dd..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/cookie.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from typing import Any, Dict - -SimpleCookie: Any - -def parse_cookie(cookie: str) -> Dict[str, str]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/multipartparser.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/multipartparser.pyi deleted file mode 100644 index ec83f5a0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/multipartparser.pyi +++ /dev/null @@ -1,63 +0,0 @@ -import sys -from typing import IO, Any, Dict, Iterator, List, Mapping, Optional, Tuple, Union - -from django.http.request import QueryDict -from django.utils.datastructures import ImmutableList, MultiValueDict - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -class MultiPartParserError(Exception): ... -class InputStreamExhausted(Exception): ... - -RAW: Literal["raw"] = "raw" -FILE: Literal["file"] = "file" -FIELD: Literal["field"] = "field" - -class MultiPartParser: - def __init__( - self, - META: Mapping[str, Any], - input_data: IO[bytes], - upload_handlers: Union[List[Any], ImmutableList[Any]], - encoding: Optional[str] = ..., - ) -> None: ... - def parse(self) -> Tuple[QueryDict, MultiValueDict]: ... - def handle_file_complete(self, old_field_name: str, counters: List[int]) -> None: ... - def sanitize_file_name(self, file_name: str) -> Optional[str]: ... - -class LazyStream: - length: Optional[int] = ... - position: int = ... - def __init__(self, producer: Union[BoundaryIter, ChunkIter], length: Optional[int] = ...) -> None: ... - def tell(self): ... - def read(self, size: Optional[int] = ...) -> bytes: ... - def __next__(self) -> bytes: ... - def close(self) -> None: ... - def __iter__(self) -> LazyStream: ... - def unget(self, bytes: bytes) -> None: ... - -class ChunkIter: - flo: IO[bytes] = ... - chunk_size: int = ... - def __init__(self, flo: IO[bytes], chunk_size: int = ...) -> None: ... - def __next__(self) -> bytes: ... - def __iter__(self) -> ChunkIter: ... - -class InterBoundaryIter: - def __init__(self, stream: LazyStream, boundary: bytes) -> None: ... - def __iter__(self) -> InterBoundaryIter: ... - def __next__(self) -> LazyStream: ... - -class BoundaryIter: - def __init__(self, stream: LazyStream, boundary: bytes) -> None: ... - def __iter__(self) -> BoundaryIter: ... - def __next__(self) -> bytes: ... - -class Parser: - def __init__(self, stream: LazyStream, boundary: bytes) -> None: ... - def __iter__(self) -> Iterator[Tuple[str, Dict[str, Tuple[str, Dict[str, Union[bytes, str]]]], LazyStream]]: ... - -def parse_header(line: bytes) -> Tuple[str, Dict[str, Any]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/request.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/request.pyi deleted file mode 100644 index 846806f0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/request.pyi +++ /dev/null @@ -1,130 +0,0 @@ -from io import BytesIO -from typing import ( - Any, - BinaryIO, - Dict, - Iterable, - List, - Mapping, - Optional, - Pattern, - Set, - Tuple, - Type, - TypeVar, - Union, - overload, -) - -from django.contrib.auth.base_user import AbstractBaseUser -from django.contrib.auth.models import AnonymousUser -from django.contrib.sessions.backends.base import SessionBase -from django.contrib.sites.models import Site -from django.core.files import uploadedfile, uploadhandler -from django.urls import ResolverMatch -from django.utils.datastructures import CaseInsensitiveMapping, ImmutableList, MultiValueDict - -RAISE_ERROR: object = ... -host_validation_re: Pattern[str] = ... - -class UnreadablePostError(OSError): ... -class RawPostDataException(Exception): ... - -UploadHandlerList = Union[List[uploadhandler.FileUploadHandler], ImmutableList[uploadhandler.FileUploadHandler]] - -class HttpHeaders(CaseInsensitiveMapping[str]): - HTTP_PREFIX: str = ... - UNPREFIXED_HEADERS: Set[str] = ... - def __init__(self, environ: Mapping[str, Any]) -> None: ... - @classmethod - def parse_header_name(cls, header: str) -> Optional[str]: ... - -class HttpRequest(BytesIO): - GET: QueryDict = ... - POST: QueryDict = ... - COOKIES: Dict[str, str] = ... - META: Dict[str, Any] = ... - FILES: MultiValueDict[str, uploadedfile.UploadedFile] = ... - path: str = ... - path_info: str = ... - method: Optional[str] = ... - resolver_match: Optional[ResolverMatch] = ... - content_type: Optional[str] = ... - content_params: Optional[Dict[str, str]] = ... - user: Union[AbstractBaseUser, AnonymousUser] - site: Site - session: SessionBase - _stream: BinaryIO - def __init__(self) -> None: ... - def get_host(self) -> str: ... - def get_port(self) -> str: ... - def get_full_path(self, force_append_slash: bool = ...) -> str: ... - def get_full_path_info(self, force_append_slash: bool = ...) -> str: ... - def get_signed_cookie( - self, key: str, default: Any = ..., salt: str = ..., max_age: Optional[int] = ... - ) -> Optional[str]: ... - def get_raw_uri(self) -> str: ... - def build_absolute_uri(self, location: Optional[str] = ...) -> str: ... - @property - def scheme(self) -> Optional[str]: ... - def is_secure(self) -> bool: ... - def is_ajax(self) -> bool: ... - @property - def encoding(self) -> Optional[str]: ... - @encoding.setter - def encoding(self, val: str) -> None: ... - @property - def upload_handlers(self) -> UploadHandlerList: ... - @upload_handlers.setter - def upload_handlers(self, upload_handlers: UploadHandlerList) -> None: ... - @property - def accepted_types(self) -> List[MediaType]: ... - def __repr__(self) -> str: ... - def parse_file_upload( - self, META: Mapping[str, Any], post_data: BinaryIO - ) -> Tuple[QueryDict, MultiValueDict[str, uploadedfile.UploadedFile]]: ... - @property - def headers(self) -> HttpHeaders: ... - @property - def body(self) -> bytes: ... - def _load_post_and_files(self) -> None: ... - def accepts(self, media_type: str) -> bool: ... - -_Q = TypeVar("_Q", bound="QueryDict") - -class QueryDict(MultiValueDict[str, str]): - _mutable: bool = ... - def __init__( - self, query_string: Optional[Union[str, bytes]] = ..., mutable: bool = ..., encoding: Optional[str] = ... - ) -> None: ... - def setlist(self, key: Union[str, bytes], list_: Iterable[Union[str, bytes]]) -> None: ... - def setlistdefault(self, key: Union[str, bytes], default_list: Optional[List[str]] = ...) -> List[str]: ... - def appendlist(self, key: Union[str, bytes], value: Union[str, bytes]) -> None: ... - def urlencode(self, safe: Optional[str] = ...) -> str: ... - @classmethod - def fromkeys( # type: ignore - cls: Type[_Q], - iterable: Iterable[Union[bytes, str]], - value: Union[str, bytes] = ..., - mutable: bool = ..., - encoding: Optional[str] = ..., - ) -> _Q: ... - @property - def encoding(self) -> str: ... - @encoding.setter - def encoding(self, value: str) -> None: ... - def __setitem__(self, key: Union[str, bytes], value: Union[str, bytes]) -> None: ... - def setdefault(self, key: Union[str, bytes], default: Union[str, bytes, None] = ...) -> str: ... - -class MediaType: - def __init__(self, media_type_raw_line: str) -> None: ... - @property - def is_all_types(self) -> bool: ... - def match(self, other: str) -> bool: ... - -@overload -def bytes_to_text(s: None, encoding: str) -> None: ... -@overload -def bytes_to_text(s: Union[bytes, str], encoding: str) -> str: ... -def split_domain_port(host: str) -> Tuple[str, str]: ... -def validate_host(host: str, allowed_hosts: Iterable[str]) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/response.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/response.pyi deleted file mode 100644 index 037884a3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/http/response.pyi +++ /dev/null @@ -1,158 +0,0 @@ -import datetime -from io import BytesIO -from json import JSONEncoder -from typing import Any, Dict, Iterable, Iterator, List, Optional, Tuple, Type, TypeVar, Union, overload - -from django.core.handlers.wsgi import WSGIRequest -from django.http.cookie import SimpleCookie -from django.template import Context, Template -from django.test.client import Client -from django.urls import ResolverMatch -from django.utils.datastructures import CaseInsensitiveMapping, _PropertyDescriptor - -class BadHeaderError(ValueError): ... - -_Z = TypeVar("_Z") - -class ResponseHeaders(CaseInsensitiveMapping[str]): - def __init__(self, data: Dict[str, str]) -> None: ... - def _convert_to_charset(self, value: Union[bytes, str, int], charset: str, mime_encode: bool = ...) -> str: ... - def __delitem__(self, key: str) -> None: ... - def __setitem__(self, key: str, value: Union[str, bytes, int]) -> None: ... - def pop(self, key: str, default: _Z = ...) -> Union[_Z, Tuple[str, str]]: ... - def setdefault(self, key: str, value: Union[str, bytes, int]) -> None: ... - -class HttpResponseBase: - status_code: int = ... - streaming: bool = ... - cookies: SimpleCookie = ... - closed: bool = ... - headers: ResponseHeaders = ... - def __init__( - self, - content_type: Optional[str] = ..., - status: Optional[int] = ..., - reason: Optional[str] = ..., - charset: Optional[str] = ..., - headers: Optional[Dict[str, str]] = ..., - ) -> None: ... - @property - def reason_phrase(self) -> str: ... - @reason_phrase.setter - def reason_phrase(self, value: str) -> None: ... - @property - def charset(self) -> str: ... - @charset.setter - def charset(self, value: str) -> None: ... - def serialize_headers(self) -> bytes: ... - __bytes__ = serialize_headers - def __setitem__(self, header: str, value: Union[str, bytes, int]) -> None: ... - def __delitem__(self, header: str) -> None: ... - def __getitem__(self, header: str) -> str: ... - def has_header(self, header: str) -> bool: ... - def items(self) -> Iterable[Tuple[str, str]]: ... - @overload - def get(self, header: str, alternate: str) -> str: ... - @overload - def get(self, header: str, alternate: None = ...) -> Optional[str]: ... - def set_cookie( - self, - key: str, - value: str = ..., - max_age: Optional[int] = ..., - expires: Optional[Union[str, datetime.datetime]] = ..., - path: str = ..., - domain: Optional[str] = ..., - secure: bool = ..., - httponly: bool = ..., - samesite: str = ..., - ) -> None: ... - def setdefault(self, key: str, value: str) -> None: ... - def set_signed_cookie(self, key: str, value: str, salt: str = ..., **kwargs: Any) -> None: ... - def delete_cookie( - self, key: str, path: str = ..., domain: Optional[str] = ..., samesite: Optional[str] = ... - ) -> None: ... - def make_bytes(self, value: object) -> bytes: ... - def close(self) -> None: ... - def write(self, content: Union[str, bytes]) -> None: ... - def flush(self) -> None: ... - def tell(self) -> int: ... - def readable(self) -> bool: ... - def seekable(self) -> bool: ... - def writable(self) -> bool: ... - def writelines(self, lines: Iterable[object]) -> None: ... - -class HttpResponse(HttpResponseBase, Iterable[bytes]): - content = _PropertyDescriptor[object, bytes]() - csrf_cookie_set: bool - redirect_chain: List[Tuple[str, int]] - sameorigin: bool - test_server_port: str - test_was_secure_request: bool - xframe_options_exempt: bool - def __init__(self, content: object = ..., *args: Any, **kwargs: Any) -> None: ... - def serialize(self) -> bytes: ... - __bytes__ = serialize - def __iter__(self) -> Iterator[bytes]: ... - # Attributes assigned by monkey-patching in test client ClientHandler.__call__() - wsgi_request: WSGIRequest - # Attributes assigned by monkey-patching in test client Client.request() - client: Client - request: Dict[str, Any] - templates: List[Template] - context: Context - resolver_match: ResolverMatch - def getvalue(self) -> bytes: ... - -class StreamingHttpResponse(HttpResponseBase, Iterable[bytes]): - streaming_content = _PropertyDescriptor[Iterable[object], Iterator[bytes]]() - def __init__(self, streaming_content: Iterable[object] = ..., *args: Any, **kwargs: Any) -> None: ... - def __iter__(self) -> Iterator[bytes]: ... - def getvalue(self) -> bytes: ... - -class FileResponse(StreamingHttpResponse): - client: Client - context: None - file_to_stream: Optional[BytesIO] - request: Dict[str, str] - resolver_match: ResolverMatch - templates: List[Any] - wsgi_request: WSGIRequest - block_size: int = ... - as_attachment: bool = ... - filename: str = ... - def __init__(self, *args: Any, as_attachment: bool = ..., filename: str = ..., **kwargs: Any) -> None: ... - def set_headers(self, filelike: BytesIO) -> None: ... - -class HttpResponseRedirectBase(HttpResponse): - allowed_schemes: List[str] = ... - def __init__(self, redirect_to: str, *args: Any, **kwargs: Any) -> None: ... - @property - def url(self) -> str: ... - -class HttpResponseRedirect(HttpResponseRedirectBase): ... -class HttpResponsePermanentRedirect(HttpResponseRedirectBase): ... - -class HttpResponseNotModified(HttpResponse): - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - -class HttpResponseBadRequest(HttpResponse): ... -class HttpResponseNotFound(HttpResponse): ... -class HttpResponseForbidden(HttpResponse): ... - -class HttpResponseNotAllowed(HttpResponse): - def __init__(self, permitted_methods: Iterable[str], *args: Any, **kwargs: Any) -> None: ... - -class HttpResponseGone(HttpResponse): ... -class HttpResponseServerError(HttpResponse): ... -class Http404(Exception): ... - -class JsonResponse(HttpResponse): - def __init__( - self, - data: Any, - encoder: Type[JSONEncoder] = ..., - safe: bool = ..., - json_dumps_params: Optional[Dict[str, Any]] = ..., - **kwargs: Any - ) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/cache.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/cache.pyi deleted file mode 100644 index 520ac39f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/cache.pyi +++ /dev/null @@ -1,34 +0,0 @@ -from typing import Any, Callable, Optional, Union - -from django.core.cache import BaseCache -from django.http.request import HttpRequest -from django.http.response import HttpResponse, HttpResponseBase -from django.utils.deprecation import MiddlewareMixin - -class UpdateCacheMiddleware(MiddlewareMixin): - cache_timeout: float = ... - key_prefix: str = ... - cache_alias: str = ... - cache: BaseCache = ... - def process_response( - self, request: HttpRequest, response: Union[HttpResponseBase, str] - ) -> Union[HttpResponseBase, str]: ... - -class FetchFromCacheMiddleware(MiddlewareMixin): - key_prefix: str = ... - cache_alias: str = ... - cache: BaseCache = ... - def process_request(self, request: HttpRequest) -> Optional[HttpResponse]: ... - -class CacheMiddleware(UpdateCacheMiddleware, FetchFromCacheMiddleware): - key_prefix: str = ... - cache_alias: str = ... - cache_timeout: float = ... - cache: BaseCache = ... - def __init__( - self, - get_response: Optional[Callable] = ..., - cache_timeout: Optional[float] = ..., - page_timeout: Optional[float] = ..., - **kwargs: Any - ) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/clickjacking.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/clickjacking.pyi deleted file mode 100644 index 08f4e181..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/clickjacking.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from django.http.request import HttpRequest -from django.http.response import HttpResponse -from django.utils.deprecation import MiddlewareMixin - -class XFrameOptionsMiddleware(MiddlewareMixin): - def process_response(self, request: HttpRequest, response: HttpResponse) -> HttpResponse: ... - def get_xframe_options_value(self, request: HttpRequest, response: HttpResponse) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/common.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/common.pyi deleted file mode 100644 index a5aa8f91..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/common.pyi +++ /dev/null @@ -1,17 +0,0 @@ -from typing import Any, Optional - -from django.http.request import HttpRequest -from django.http.response import HttpResponseBase, HttpResponsePermanentRedirect -from django.utils.deprecation import MiddlewareMixin - -class CommonMiddleware(MiddlewareMixin): - response_redirect_class: Any = ... - def process_request(self, request: HttpRequest) -> Optional[HttpResponsePermanentRedirect]: ... - def should_redirect_with_slash(self, request: HttpRequest) -> bool: ... - def get_full_path_with_slash(self, request: HttpRequest) -> str: ... - def process_response(self, request: HttpRequest, response: HttpResponseBase) -> HttpResponseBase: ... - -class BrokenLinkEmailsMiddleware(MiddlewareMixin): - def process_response(self, request: HttpRequest, response: HttpResponseBase) -> HttpResponseBase: ... - def is_internal_request(self, domain: str, referer: str) -> bool: ... - def is_ignorable_request(self, request: HttpRequest, uri: str, domain: str, referer: str) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/csrf.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/csrf.pyi deleted file mode 100644 index 1dd8c8de..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/csrf.pyi +++ /dev/null @@ -1,30 +0,0 @@ -from typing import Any, Callable, Dict, Optional, Tuple - -from django.http.request import HttpRequest -from django.http.response import HttpResponseBase, HttpResponseForbidden -from django.utils.deprecation import MiddlewareMixin - -logger: Any -REASON_NO_REFERER: str -REASON_BAD_REFERER: str -REASON_NO_CSRF_COOKIE: str -REASON_BAD_TOKEN: str -REASON_MALFORMED_REFERER: str -REASON_INSECURE_REFERER: str -CSRF_SECRET_LENGTH: int -CSRF_TOKEN_LENGTH: Any -CSRF_ALLOWED_CHARS: Any -CSRF_SESSION_KEY: str - -def get_token(request: HttpRequest) -> str: ... -def rotate_token(request: HttpRequest) -> None: ... - -class CsrfViewMiddleware(MiddlewareMixin): - def process_request(self, request: HttpRequest) -> None: ... - def process_view( - self, request: HttpRequest, callback: Optional[Callable], callback_args: Tuple, callback_kwargs: Dict[str, Any] - ) -> Optional[HttpResponseForbidden]: ... - def process_response(self, request: HttpRequest, response: HttpResponseBase) -> HttpResponseBase: ... - -def _get_new_csrf_string() -> str: ... -def _get_new_csrf_token() -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/gzip.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/gzip.pyi deleted file mode 100644 index e25dca8b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/gzip.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any - -from django.http.request import HttpRequest -from django.http.response import HttpResponseBase -from django.utils.deprecation import MiddlewareMixin - -re_accepts_gzip: Any - -class GZipMiddleware(MiddlewareMixin): - def process_response(self, request: HttpRequest, response: HttpResponseBase) -> HttpResponseBase: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/http.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/http.pyi deleted file mode 100644 index c0981b7d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/http.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from django.http.request import HttpRequest -from django.http.response import HttpResponseBase -from django.utils.deprecation import MiddlewareMixin - -class ConditionalGetMiddleware(MiddlewareMixin): - def process_response(self, request: HttpRequest, response: HttpResponseBase) -> HttpResponseBase: ... - def needs_etag(self, response: HttpResponseBase) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/locale.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/locale.pyi deleted file mode 100644 index ed247679..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/locale.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any - -from django.http.request import HttpRequest -from django.http.response import HttpResponseBase -from django.utils.deprecation import MiddlewareMixin - -class LocaleMiddleware(MiddlewareMixin): - response_redirect_class: Any = ... - def process_request(self, request: HttpRequest) -> None: ... - def process_response(self, request: HttpRequest, response: HttpResponseBase) -> HttpResponseBase: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/security.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/security.pyi deleted file mode 100644 index 1a449335..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/middleware/security.pyi +++ /dev/null @@ -1,17 +0,0 @@ -from typing import Any, List, Optional - -from django.http.request import HttpRequest -from django.http.response import HttpResponse, HttpResponsePermanentRedirect -from django.utils.deprecation import MiddlewareMixin - -class SecurityMiddleware(MiddlewareMixin): - sts_seconds: int = ... - sts_include_subdomains: bool = ... - sts_preload: bool = ... - content_type_nosniff: bool = ... - xss_filter: bool = ... - redirect: bool = ... - redirect_host: Optional[str] = ... - redirect_exempt: List[Any] = ... - def process_request(self, request: HttpRequest) -> Optional[HttpResponsePermanentRedirect]: ... - def process_response(self, request: HttpRequest, response: HttpResponse) -> HttpResponse: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/shortcuts.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/shortcuts.pyi deleted file mode 100644 index 8948bd20..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/shortcuts.pyi +++ /dev/null @@ -1,45 +0,0 @@ -import sys -from typing import Any, Callable, List, Mapping, Optional, Protocol, Sequence, Type, TypeVar, Union, overload - -from django.db.models import Manager, QuerySet -from django.db.models.base import Model -from django.http import HttpRequest -from django.http.response import HttpResponse as HttpResponse -from django.http.response import HttpResponsePermanentRedirect as HttpResponsePermanentRedirect -from django.http.response import HttpResponseRedirect as HttpResponseRedirect - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -def render( - request: HttpRequest, - template_name: Union[str, Sequence[str]], - context: Optional[Mapping[str, Any]] = ..., - content_type: Optional[str] = ..., - status: Optional[int] = ..., - using: Optional[str] = ..., -) -> HttpResponse: ... - -class SupportsGetAbsoluteUrl(Protocol): - def get_absolute_url(self) -> str: ... - -@overload -def redirect( # type: ignore - to: Union[Callable, str, SupportsGetAbsoluteUrl], *args: Any, permanent: Literal[True] = ..., **kwargs: Any -) -> HttpResponsePermanentRedirect: ... -@overload -def redirect( - to: Union[Callable, str, SupportsGetAbsoluteUrl], *args: Any, permanent: Literal[False] = ..., **kwargs: Any -) -> HttpResponseRedirect: ... -@overload -def redirect( - to: Union[Callable, str, SupportsGetAbsoluteUrl], *args: Any, permanent: bool = ..., **kwargs: Any -) -> Union[HttpResponseRedirect, HttpResponsePermanentRedirect]: ... - -_T = TypeVar("_T", bound=Model) - -def get_object_or_404(klass: Union[Type[_T], Manager[_T], QuerySet[_T]], *args: Any, **kwargs: Any) -> _T: ... -def get_list_or_404(klass: Union[Type[_T], Manager[_T], QuerySet[_T]], *args: Any, **kwargs: Any) -> List[_T]: ... -def resolve_url(to: Union[Callable, Model, str], *args: Any, **kwargs: Any) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/__init__.pyi deleted file mode 100644 index 124c6996..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/__init__.pyi +++ /dev/null @@ -1,20 +0,0 @@ -from .engine import Engine as Engine -from .utils import EngineHandler as EngineHandler - -engines: EngineHandler - -from . import defaultfilters as defaultfilters - -# Template parts -from .base import Node as Node -from .base import NodeList as NodeList -from .base import Origin as Origin -from .base import Template as Template -from .base import Variable as Variable -from .base import VariableDoesNotExist as VariableDoesNotExist -from .context import Context as Context -from .context import ContextPopException as ContextPopException -from .context import RequestContext as RequestContext -from .exceptions import TemplateDoesNotExist as TemplateDoesNotExist -from .exceptions import TemplateSyntaxError as TemplateSyntaxError -from .library import Library as Library diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/base.pyi deleted file mode 100644 index 5f48ad78..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/base.pyi +++ /dev/null @@ -1,16 +0,0 @@ -from typing import Any, Iterator, List, Mapping, Optional, Tuple - -from django.template.base import Template - -class BaseEngine: - name: str = ... - dirs: List[str] = ... - app_dirs: bool = ... - def __init__(self, params: Mapping[str, Any]) -> None: ... - @property - def app_dirname(self) -> Optional[str]: ... - def from_string(self, template_code: str) -> Template: ... - def get_template(self, template_name: str) -> Optional[Template]: ... - @property - def template_dirs(self) -> Tuple[str]: ... - def iter_template_filenames(self, template_name: str) -> Iterator[str]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/django.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/django.pyi deleted file mode 100644 index 553b13d3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/django.pyi +++ /dev/null @@ -1,16 +0,0 @@ -from typing import Any, Dict, Iterator, NoReturn, Optional - -from django.template.engine import Engine -from django.template.exceptions import TemplateDoesNotExist - -from .base import BaseEngine - -class DjangoTemplates(BaseEngine): - engine: Engine = ... - def __init__(self, params: Dict[str, Any]) -> None: ... - def get_templatetag_libraries(self, custom_libraries: Dict[str, str]) -> Dict[str, str]: ... - -def copy_exception(exc: TemplateDoesNotExist, backend: Optional[DjangoTemplates] = ...) -> TemplateDoesNotExist: ... -def reraise(exc: TemplateDoesNotExist, backend: DjangoTemplates) -> NoReturn: ... -def get_installed_libraries() -> Dict[str, str]: ... -def get_package_libraries(pkg: Any) -> Iterator[str]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/dummy.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/dummy.pyi deleted file mode 100644 index 6a8a759d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/dummy.pyi +++ /dev/null @@ -1,14 +0,0 @@ -import string -from typing import Any, Dict, List, Optional, Tuple, Union - -from django.http.request import HttpRequest - -from .base import BaseEngine - -class TemplateStrings(BaseEngine): - template_dirs: Tuple[str] - def __init__(self, params: Dict[str, Union[Dict[Any, Any], List[Any], bool, str]]) -> None: ... - -class Template(string.Template): - template: str - def render(self, context: Optional[Dict[str, str]] = ..., request: Optional[HttpRequest] = ...) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/jinja2.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/jinja2.pyi deleted file mode 100644 index 623bd409..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/jinja2.pyi +++ /dev/null @@ -1,18 +0,0 @@ -from typing import Any, Callable, Dict, List, Optional - -from django.template.exceptions import TemplateSyntaxError - -from .base import BaseEngine - -class Jinja2(BaseEngine): - context_processors: List[str] = ... - def __init__(self, params: Dict[str, Any]) -> None: ... - @property - def template_context_processors(self) -> List[Callable]: ... - -class Origin: - name: str = ... - template_name: Optional[str] = ... - def __init__(self, name: str, template_name: Optional[str]) -> None: ... - -def get_exception_info(exception: TemplateSyntaxError) -> Dict[str, Any]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/utils.pyi deleted file mode 100644 index f72ea668..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/backends/utils.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from typing import Any - -from django.http.request import HttpRequest -from django.utils.safestring import SafeString - -def csrf_input(request: HttpRequest) -> SafeString: ... - -csrf_input_lazy: Any -csrf_token_lazy: Any diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/base.pyi deleted file mode 100644 index d25cc498..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/base.pyi +++ /dev/null @@ -1,185 +0,0 @@ -from enum import Enum -from typing import ( - Any, - Callable, - Dict, - Iterable, - Iterator, - List, - Mapping, - Optional, - Pattern, - Sequence, - Tuple, - Type, - Union, -) - -from django.template.context import Context as Context -from django.template.engine import Engine -from django.template.library import Library -from django.template.loaders.base import Loader -from django.utils.safestring import SafeString - -FILTER_SEPARATOR: str -FILTER_ARGUMENT_SEPARATOR: str -VARIABLE_ATTRIBUTE_SEPARATOR: str -BLOCK_TAG_START: str -BLOCK_TAG_END: str -VARIABLE_TAG_START: str -VARIABLE_TAG_END: str -COMMENT_TAG_START: str -COMMENT_TAG_END: str -TRANSLATOR_COMMENT_MARK: str -SINGLE_BRACE_START: str -SINGLE_BRACE_END: str -UNKNOWN_SOURCE: str -tag_re: Pattern[str] -logger: Any - -class TokenType(Enum): - TEXT: int = ... - VAR: int = ... - BLOCK: int = ... - COMMENT: int = ... - -class VariableDoesNotExist(Exception): - msg: str = ... - params: Tuple[Union[Dict[str, str], str]] = ... - def __init__(self, msg: str, params: Tuple[Union[Dict[str, str], str]] = ...) -> None: ... - -class Origin: - name: str = ... - template_name: Optional[Union[bytes, str]] = ... - loader: Optional[Loader] = ... - def __init__( - self, name: str, template_name: Optional[Union[bytes, str]] = ..., loader: Optional[Loader] = ... - ) -> None: ... - @property - def loader_name(self) -> Optional[str]: ... - -class Template: - name: Optional[str] = ... - origin: Origin = ... - engine: Engine = ... - source: str = ... - nodelist: NodeList = ... - def __init__( - self, - template_string: Union[Template, str], - origin: Optional[Origin] = ..., - name: Optional[str] = ..., - engine: Optional[Engine] = ..., - ) -> None: ... - def __iter__(self) -> Iterator[Node]: ... - def render(self, context: Optional[Union[Context, Dict[str, Any]]]) -> SafeString: ... - def compile_nodelist(self) -> NodeList: ... - def get_exception_info(self, exception: Exception, token: Token) -> Dict[str, Any]: ... - -def linebreak_iter(template_source: str) -> Iterator[int]: ... - -class Token: - contents: str - token_type: TokenType - lineno: Optional[int] = ... - position: Optional[Tuple[int, int]] = ... - def __init__( - self, - token_type: TokenType, - contents: str, - position: Optional[Tuple[int, int]] = ..., - lineno: Optional[int] = ..., - ) -> None: ... - def split_contents(self) -> List[str]: ... - -class Lexer: - template_string: str = ... - verbatim: Union[bool, str] = ... - def __init__(self, template_string: str) -> None: ... - def tokenize(self) -> List[Token]: ... - def create_token( - self, token_string: str, position: Optional[Tuple[int, int]], lineno: int, in_tag: bool - ) -> Token: ... - -class DebugLexer(Lexer): - template_string: str - verbatim: Union[bool, str] - def tokenize(self) -> List[Token]: ... - -class Parser: - tokens: Union[List[Token], str] = ... - tags: Dict[str, Callable] = ... - filters: Dict[str, Callable] = ... - command_stack: List[Tuple[str, Token]] = ... - libraries: Dict[str, Library] = ... - origin: Optional[Origin] = ... - def __init__( - self, - tokens: Union[List[Token], str], - libraries: Optional[Dict[str, Library]] = ..., - builtins: Optional[List[Library]] = ..., - origin: Optional[Origin] = ..., - ) -> None: ... - def parse(self, parse_until: Optional[Iterable[str]] = ...) -> NodeList: ... - def skip_past(self, endtag: str) -> None: ... - def extend_nodelist(self, nodelist: NodeList, node: Node, token: Token) -> None: ... - def error(self, token: Token, e: Union[Exception, str]) -> Exception: ... - def invalid_block_tag(self, token: Token, command: str, parse_until: Optional[Iterable[str]] = ...) -> Any: ... - def unclosed_block_tag(self, parse_until: Iterable[str]) -> Any: ... - def next_token(self) -> Token: ... - def prepend_token(self, token: Token) -> None: ... - def delete_first_token(self) -> None: ... - def add_library(self, lib: Library) -> None: ... - def compile_filter(self, token: str) -> FilterExpression: ... - def find_filter(self, filter_name: str) -> Callable: ... - -constant_string: str -filter_raw_string: str -filter_re: Pattern[str] - -class FilterExpression: - token: str = ... - filters: List[Any] = ... - var: Any = ... - def __init__(self, token: str, parser: Parser) -> None: ... - def resolve(self, context: Context, ignore_failures: bool = ...) -> Any: ... - @staticmethod - def args_check(name: str, func: Callable, provided: List[Tuple[bool, Any]]) -> bool: ... - -class Variable: - var: Union[Dict[Any, Any], str] = ... - literal: Optional[Union[SafeString, float]] = ... - lookups: Optional[Tuple[str]] = ... - translate: bool = ... - message_context: Optional[str] = ... - def __init__(self, var: Union[Dict[Any, Any], str]) -> None: ... - def resolve(self, context: Union[Mapping[str, Mapping[str, Any]], Context, int, str]) -> Any: ... - -class Node: - must_be_first: bool = ... - child_nodelists: Any = ... - origin: Origin - token: Optional[Token] = ... - def render(self, context: Context) -> str: ... - def render_annotated(self, context: Context) -> Union[int, str]: ... - def __iter__(self) -> Iterator[Node]: ... - def get_nodes_by_type(self, nodetype: Type[Node]) -> List[Node]: ... - -class NodeList(List[Node]): - contains_nontext: bool = ... - def render(self, context: Context) -> SafeString: ... - def get_nodes_by_type(self, nodetype: Type[Node]) -> List[Node]: ... - -class TextNode(Node): - s: str = ... - def __init__(self, s: str) -> None: ... - -def render_value_in_context(value: Any, context: Context) -> str: ... - -class VariableNode(Node): - filter_expression: FilterExpression = ... - def __init__(self, filter_expression: FilterExpression) -> None: ... - -kwarg_re: Pattern[str] - -def token_kwargs(bits: Sequence[str], parser: Parser, support_legacy: bool = ...) -> Dict[str, FilterExpression]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/context.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/context.pyi deleted file mode 100644 index 6c10e9f2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/context.pyi +++ /dev/null @@ -1,80 +0,0 @@ -from contextlib import contextmanager -from typing import Any, Callable, Dict, Iterable, Iterator, List, Optional, Type, Union - -from django.http.request import HttpRequest -from django.template.base import Node, Origin, Template -from django.template.defaulttags import IfChangedNode -from django.template.loader_tags import IncludeNode - -_ContextValues = Union[Dict[str, Any], "Context"] - -class ContextPopException(Exception): ... - -class ContextDict(dict): - context: BaseContext = ... - def __init__(self, context: BaseContext, *args: Any, **kwargs: Any) -> None: ... - def __enter__(self) -> ContextDict: ... - def __exit__(self, *args: Any, **kwargs: Any) -> None: ... - -class BaseContext(Iterable[Any]): - def __init__(self, dict_: Any = ...) -> None: ... - def __copy__(self) -> BaseContext: ... - def __iter__(self) -> Iterator[Any]: ... - def push(self, *args: Any, **kwargs: Any) -> ContextDict: ... - def pop(self) -> ContextDict: ... - def __setitem__(self, key: Union[Node, str], value: Any) -> None: ... - def set_upward(self, key: str, value: Union[int, str]) -> None: ... - def __getitem__(self, key: Union[int, str]) -> Any: ... - def __delitem__(self, key: Any) -> None: ... - def __contains__(self, key: str) -> bool: ... - def get(self, key: str, otherwise: Optional[Any] = ...) -> Optional[Any]: ... - def setdefault( - self, key: Union[IfChangedNode, str], default: Optional[Union[List[Origin], int]] = ... - ) -> Optional[Union[List[Origin], int]]: ... - def new(self, values: Optional[_ContextValues] = ...) -> Context: ... - def flatten(self) -> Dict[str, Optional[Union[Dict[str, Union[Type[Any], str]], int, str]]]: ... - -class Context(BaseContext): - dicts: Any - autoescape: bool = ... - use_l10n: Optional[bool] = ... - use_tz: Optional[bool] = ... - template_name: Optional[str] = ... - render_context: RenderContext = ... - template: Optional[Template] = ... - def __init__( - self, dict_: Any = ..., autoescape: bool = ..., use_l10n: Optional[bool] = ..., use_tz: Optional[bool] = ... - ) -> None: ... - @contextmanager - def bind_template(self, template: Template) -> Iterator[None]: ... - def update(self, other_dict: Union[Dict[str, Any], Context]) -> ContextDict: ... - -class RenderContext(BaseContext): - dicts: List[Dict[Union[IncludeNode, str], str]] - template: Optional[Template] = ... - @contextmanager - def push_state(self, template: Template, isolated_context: bool = ...) -> Iterator[None]: ... - -class RequestContext(Context): - autoescape: bool - dicts: List[Dict[str, str]] - render_context: RenderContext - template_name: Optional[str] - use_l10n: Optional[bool] - use_tz: Optional[bool] - request: HttpRequest = ... - def __init__( - self, - request: HttpRequest, - dict_: Optional[Dict[str, Any]] = ..., - processors: Optional[List[Callable]] = ..., - use_l10n: Optional[bool] = ..., - use_tz: Optional[bool] = ..., - autoescape: bool = ..., - ) -> None: ... - template: Optional[Template] = ... - @contextmanager - def bind_template(self, template: Template) -> Iterator[None]: ... - def new(self, values: Optional[_ContextValues] = ...) -> RequestContext: ... - -def make_context(context: Any, request: Optional[HttpRequest] = ..., **kwargs: Any) -> Context: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/context_processors.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/context_processors.pyi deleted file mode 100644 index fec32e3b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/context_processors.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from typing import Callable, Dict, List, Tuple, TypeVar, Union - -from django.http.request import HttpRequest -from django.utils.functional import SimpleLazyObject - -_R = TypeVar("_R", bound=HttpRequest) - -def csrf(request: HttpRequest) -> Dict[str, SimpleLazyObject]: ... -def debug(request: HttpRequest) -> Dict[str, Union[Callable, bool]]: ... -def i18n(request: HttpRequest) -> Dict[str, Union[List[Tuple[str, str]], bool, str]]: ... -def tz(request: HttpRequest) -> Dict[str, str]: ... -def static(request: HttpRequest) -> Dict[str, str]: ... -def media(request: HttpRequest) -> Dict[str, str]: ... -def request(request: _R) -> Dict[str, _R]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/defaultfilters.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/defaultfilters.pyi deleted file mode 100644 index a64b6756..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/defaultfilters.pyi +++ /dev/null @@ -1,68 +0,0 @@ -from datetime import date as _date -from datetime import datetime -from datetime import time as _time -from typing import Any, Callable, Dict, List, Optional, Union - -from django.utils.html import escape as escape # noqa: F401 -from django.utils.safestring import SafeString - -register: Any - -def stringfilter(func: Callable) -> Callable: ... -def addslashes(value: str) -> str: ... -def capfirst(value: str) -> str: ... -def escapejs_filter(value: str) -> SafeString: ... -def json_script(value: Dict[str, str], element_id: SafeString) -> SafeString: ... -def floatformat(text: Optional[Any], arg: Union[int, str] = ...) -> str: ... -def iriencode(value: str) -> str: ... -def linenumbers(value: str, autoescape: bool = ...) -> SafeString: ... -def lower(value: str) -> str: ... -def make_list(value: str) -> List[str]: ... -def slugify(value: str) -> SafeString: ... -def stringformat(value: Any, arg: str) -> str: ... -def title(value: str) -> str: ... -def truncatechars(value: str, arg: Union[SafeString, int]) -> str: ... -def truncatechars_html(value: str, arg: Union[int, str]) -> str: ... -def truncatewords(value: str, arg: Union[int, str]) -> str: ... -def truncatewords_html(value: str, arg: Union[int, str]) -> str: ... -def upper(value: str) -> str: ... -def urlencode(value: str, safe: Optional[SafeString] = ...) -> str: ... -def urlize(value: str, autoescape: bool = ...) -> SafeString: ... -def urlizetrunc(value: str, limit: Union[SafeString, int], autoescape: bool = ...) -> SafeString: ... -def wordcount(value: str) -> int: ... -def wordwrap(value: str, arg: Union[SafeString, int]) -> str: ... -def ljust(value: str, arg: Union[SafeString, int]) -> str: ... -def rjust(value: str, arg: Union[SafeString, int]) -> str: ... -def center(value: str, arg: Union[SafeString, int]) -> str: ... -def cut(value: str, arg: str) -> str: ... -def escape_filter(value: str) -> SafeString: ... -def force_escape(value: str) -> SafeString: ... -def linebreaks_filter(value: str, autoescape: bool = ...) -> SafeString: ... -def linebreaksbr(value: str, autoescape: bool = ...) -> SafeString: ... -def safe(value: str) -> SafeString: ... -def safeseq(value: List[str]) -> List[SafeString]: ... -def striptags(value: str) -> str: ... -def dictsort(value: Any, arg: Union[int, str]) -> Any: ... -def dictsortreversed(value: Any, arg: Union[int, str]) -> Any: ... -def first(value: Any) -> Any: ... -def join(value: Any, arg: str, autoescape: bool = ...) -> Any: ... -def last(value: List[str]) -> str: ... -def length(value: Any) -> int: ... -def length_is(value: Optional[Any], arg: Union[SafeString, int]) -> Union[bool, str]: ... -def random(value: List[str]) -> str: ... -def slice_filter(value: Any, arg: Union[str, int]) -> Any: ... -def unordered_list(value: Any, autoescape: bool = ...) -> Any: ... -def add(value: Any, arg: Any) -> Any: ... -def get_digit(value: Any, arg: int) -> Any: ... -def date(value: Optional[Union[_date, datetime, str]], arg: Optional[str] = ...) -> str: ... -def time(value: Optional[Union[datetime, _time, str]], arg: Optional[str] = ...) -> str: ... -def timesince_filter(value: Optional[_date], arg: Optional[_date] = ...) -> str: ... -def timeuntil_filter(value: Optional[_date], arg: Optional[_date] = ...) -> str: ... -def default(value: Optional[Union[int, str]], arg: Union[int, str]) -> Union[int, str]: ... -def default_if_none(value: Optional[str], arg: Union[int, str]) -> Union[int, str]: ... -def divisibleby(value: int, arg: int) -> bool: ... -def yesno(value: Optional[int], arg: Optional[str] = ...) -> Optional[Union[bool, str]]: ... -def filesizeformat(bytes_: Union[complex, int, str]) -> str: ... -def pluralize(value: Any, arg: str = ...) -> str: ... -def phone2numeric_filter(value: str) -> str: ... -def pprint(value: Any) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/defaulttags.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/defaulttags.pyi deleted file mode 100644 index a7208294..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/defaulttags.pyi +++ /dev/null @@ -1,204 +0,0 @@ -from collections import namedtuple -from datetime import date as real_date -from typing import Any, Dict, Iterator, List, Optional, Sequence, Tuple, Union - -from django.template.base import FilterExpression, Parser, Token -from django.template.context import Context -from django.utils.safestring import SafeString - -from .base import Node, NodeList -from .library import Library -from .smartif import IfParser, Literal - -register: Any - -class AutoEscapeControlNode(Node): - nodelist: NodeList - setting: bool - def __init__(self, setting: bool, nodelist: NodeList) -> None: ... - -class CommentNode(Node): ... -class CsrfTokenNode(Node): ... - -class CycleNode(Node): - cyclevars: List[FilterExpression] = ... - variable_name: Optional[str] = ... - silent: bool = ... - def __init__( - self, cyclevars: List[FilterExpression], variable_name: Optional[str] = ..., silent: bool = ... - ) -> None: ... - def reset(self, context: Context) -> None: ... - -class DebugNode(Node): ... - -class FilterNode(Node): - filter_expr: FilterExpression - nodelist: NodeList - def __init__(self, filter_expr: FilterExpression, nodelist: NodeList) -> None: ... - -class FirstOfNode(Node): - vars: List[FilterExpression] = ... - asvar: Optional[str] = ... - def __init__(self, variables: List[FilterExpression], asvar: Optional[str] = ...) -> None: ... - -class ForNode(Node): - loopvars: Union[List[str], str] - sequence: Union[FilterExpression, str] - child_nodelists: Any = ... - is_reversed: bool = ... - nodelist_loop: Union[List[str], NodeList] = ... - nodelist_empty: Union[List[str], NodeList] = ... - def __init__( - self, - loopvars: Union[List[str], str], - sequence: Union[FilterExpression, str], - is_reversed: bool, - nodelist_loop: Union[List[str], NodeList], - nodelist_empty: Optional[Union[List[str], NodeList]] = ..., - ) -> None: ... - -class IfChangedNode(Node): - nodelist_false: NodeList - nodelist_true: NodeList - child_nodelists: Any = ... - def __init__(self, nodelist_true: NodeList, nodelist_false: NodeList, *varlist: Any) -> None: ... - -class IfEqualNode(Node): - nodelist_false: Union[List[Any], NodeList] - nodelist_true: Union[List[Any], NodeList] - var1: Union[FilterExpression, str] - var2: Union[FilterExpression, str] - child_nodelists: Any = ... - negate: bool = ... - def __init__( - self, - var1: Union[FilterExpression, str], - var2: Union[FilterExpression, str], - nodelist_true: Union[List[Any], NodeList], - nodelist_false: Union[List[Any], NodeList], - negate: bool, - ) -> None: ... - -class IfNode(Node): - conditions_nodelists: List[Tuple[Optional[TemplateLiteral], NodeList]] = ... - def __init__(self, conditions_nodelists: List[Tuple[Optional[TemplateLiteral], NodeList]]) -> None: ... - def __iter__(self) -> Iterator[Node]: ... - @property - def nodelist(self) -> NodeList: ... - -class LoremNode(Node): - common: bool - count: FilterExpression - method: str - def __init__(self, count: FilterExpression, method: str, common: bool) -> None: ... - -GroupedResult = namedtuple("GroupedResult", ["grouper", "list"]) - -class RegroupNode(Node): - expression: FilterExpression - target: FilterExpression - var_name: str = ... - def __init__(self, target: FilterExpression, expression: FilterExpression, var_name: str) -> None: ... - def resolve_expression(self, obj: Dict[str, real_date], context: Context) -> Union[int, str]: ... - -class LoadNode(Node): ... - -class NowNode(Node): - format_string: str = ... - asvar: Optional[str] = ... - def __init__(self, format_string: str, asvar: Optional[str] = ...) -> None: ... - -class ResetCycleNode(Node): - node: CycleNode = ... - def __init__(self, node: CycleNode) -> None: ... - -class SpacelessNode(Node): - nodelist: NodeList = ... - def __init__(self, nodelist: NodeList) -> None: ... - -class TemplateTagNode(Node): - mapping: Any = ... - tagtype: str = ... - def __init__(self, tagtype: str) -> None: ... - -class URLNode(Node): - view_name: FilterExpression = ... - args: List[FilterExpression] = ... - kwargs: Dict[str, FilterExpression] = ... - asvar: Optional[str] = ... - def __init__( - self, - view_name: FilterExpression, - args: List[FilterExpression], - kwargs: Dict[str, FilterExpression], - asvar: Optional[str], - ) -> None: ... - -class VerbatimNode(Node): - content: SafeString = ... - def __init__(self, content: SafeString) -> None: ... - -class WidthRatioNode(Node): - val_expr: FilterExpression = ... - max_expr: FilterExpression = ... - max_width: FilterExpression = ... - asvar: Optional[str] = ... - def __init__( - self, - val_expr: FilterExpression, - max_expr: FilterExpression, - max_width: FilterExpression, - asvar: Optional[str] = ..., - ) -> None: ... - -class WithNode(Node): - nodelist: NodeList = ... - extra_context: Dict[str, Any] = ... - def __init__( - self, - var: Optional[str], - name: Optional[str], - nodelist: Union[NodeList, Sequence[Node]], - extra_context: Optional[Dict[str, Any]] = ..., - ) -> None: ... - -def autoescape(parser: Parser, token: Token) -> AutoEscapeControlNode: ... -def comment(parser: Parser, token: Token) -> CommentNode: ... -def cycle(parser: Parser, token: Token) -> CycleNode: ... -def csrf_token(parser: Parser, token: Token) -> CsrfTokenNode: ... -def debug(parser: Parser, token: Token) -> DebugNode: ... -def do_filter(parser: Parser, token: Token) -> FilterNode: ... -def firstof(parser: Parser, token: Token) -> FirstOfNode: ... -def do_for(parser: Parser, token: Token) -> ForNode: ... -def do_ifequal(parser: Parser, token: Token, negate: bool) -> IfEqualNode: ... -def ifequal(parser: Parser, token: Token) -> IfEqualNode: ... -def ifnotequal(parser: Parser, token: Token) -> IfEqualNode: ... - -class TemplateLiteral(Literal): - text: str = ... - def __init__(self, value: FilterExpression, text: str) -> None: ... - def display(self) -> str: ... - -class TemplateIfParser(IfParser): - current_token: TemplateLiteral - pos: int - tokens: List[TemplateLiteral] - error_class: Any = ... - template_parser: Parser = ... - def __init__(self, parser: Parser, *args: Any, **kwargs: Any) -> None: ... - -def do_if(parser: Parser, token: Token) -> IfNode: ... -def ifchanged(parser: Parser, token: Token) -> IfChangedNode: ... -def find_library(parser: Parser, name: str) -> Library: ... -def load_from_library(library: Library, label: str, names: List[str]) -> Library: ... -def load(parser: Parser, token: Token) -> LoadNode: ... -def lorem(parser: Parser, token: Token) -> LoremNode: ... -def now(parser: Parser, token: Token) -> NowNode: ... -def regroup(parser: Parser, token: Token) -> RegroupNode: ... -def resetcycle(parser: Parser, token: Token) -> ResetCycleNode: ... -def spaceless(parser: Parser, token: Token) -> SpacelessNode: ... -def templatetag(parser: Parser, token: Token) -> TemplateTagNode: ... -def url(parser: Parser, token: Token) -> URLNode: ... -def verbatim(parser: Parser, token: Token) -> VerbatimNode: ... -def widthratio(parser: Parser, token: Token) -> WidthRatioNode: ... -def do_with(parser: Parser, token: Token) -> WithNode: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/engine.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/engine.pyi deleted file mode 100644 index 9d06c95b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/engine.pyi +++ /dev/null @@ -1,55 +0,0 @@ -from typing import Any, Callable, Dict, List, Optional, Sequence, Tuple, Union - -from django.template.base import Origin -from django.template.library import Library -from django.template.loaders.base import Loader -from django.utils.safestring import SafeString - -from .base import Template - -_Loader = Any - -class Engine: - default_builtins: Any = ... - dirs: List[str] = ... - app_dirs: bool = ... - autoescape: bool = ... - context_processors: Union[List[str], Tuple[str]] = ... - debug: bool = ... - loaders: Sequence[_Loader] = ... - string_if_invalid: str = ... - file_charset: str = ... - libraries: Dict[str, str] = ... - template_libraries: Dict[str, Library] = ... - builtins: List[str] = ... - template_builtins: List[Library] = ... - def __init__( - self, - dirs: Optional[List[str]] = ..., - app_dirs: bool = ..., - context_processors: Optional[Union[List[str], Tuple[str]]] = ..., - debug: bool = ..., - loaders: Optional[Sequence[_Loader]] = ..., - string_if_invalid: str = ..., - file_charset: str = ..., - libraries: Optional[Dict[str, str]] = ..., - builtins: Optional[List[str]] = ..., - autoescape: bool = ..., - ) -> None: ... - @staticmethod - def get_default() -> Engine: ... - @property - def template_context_processors(self) -> Sequence[Callable]: ... - def get_template_builtins(self, builtins: List[str]) -> List[Library]: ... - def get_template_libraries(self, libraries: Dict[str, str]) -> Dict[str, Library]: ... - @property - def template_loaders(self) -> List[Loader]: ... - def get_template_loaders(self, template_loaders: Sequence[_Loader]) -> List[Loader]: ... - def find_template_loader(self, loader: _Loader) -> Loader: ... - def find_template( - self, name: str, dirs: None = ..., skip: Optional[List[Origin]] = ... - ) -> Tuple[Template, Origin]: ... - def from_string(self, template_code: str) -> Template: ... - def get_template(self, template_name: str) -> Template: ... - def render_to_string(self, template_name: str, context: Optional[Dict[str, Any]] = ...) -> SafeString: ... - def select_template(self, template_name_list: List[str]) -> Template: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/exceptions.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/exceptions.pyi deleted file mode 100644 index c16758a1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/exceptions.pyi +++ /dev/null @@ -1,18 +0,0 @@ -from typing import List, Optional, Tuple, Union - -from django.template.backends.base import BaseEngine -from django.template.base import Origin - -class TemplateDoesNotExist(Exception): - backend: Optional[BaseEngine] = ... - tried: List[Tuple[Origin, str]] = ... - chain: List[TemplateDoesNotExist] = ... - def __init__( - self, - msg: Union[Origin, str], - tried: Optional[List[Tuple[Origin, str]]] = ..., - backend: Optional[BaseEngine] = ..., - chain: Optional[List[TemplateDoesNotExist]] = ..., - ) -> None: ... - -class TemplateSyntaxError(Exception): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/library.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/library.pyi deleted file mode 100644 index a75bf070..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/library.pyi +++ /dev/null @@ -1,117 +0,0 @@ -from typing import ( - Any, - Callable, - Collection, - Dict, - Iterable, - List, - Mapping, - Optional, - Sequence, - Sized, - Tuple, - TypeVar, - Union, - overload, -) - -from django.template.base import FilterExpression, Origin, Parser, Token -from django.template.context import Context -from django.utils.safestring import SafeString - -from .base import Node, Template - -class InvalidTemplateLibrary(Exception): ... - -_C = TypeVar("_C", bound=Callable[..., Any]) - -class Library: - filters: Dict[str, Callable] = ... - tags: Dict[str, Callable] = ... - def __init__(self) -> None: ... - @overload - def tag(self, name: _C) -> _C: ... - @overload - def tag(self, name: str, compile_function: _C) -> _C: ... - @overload - def tag(self, name: Optional[str] = ..., compile_function: None = ...) -> Callable[[_C], _C]: ... - def tag_function(self, func: _C) -> _C: ... - @overload - def filter(self, name: _C, filter_func: None = ..., **flags: Any) -> _C: ... - @overload - def filter(self, name: Optional[str], filter_func: _C, **flags: Any) -> _C: ... - @overload - def filter(self, name: Optional[str] = ..., filter_func: None = ..., **flags: Any) -> Callable[[_C], _C]: ... - @overload - def simple_tag(self, func: _C) -> _C: ... - @overload - def simple_tag(self, takes_context: Optional[bool] = ..., name: Optional[str] = ...) -> Callable[[_C], _C]: ... - def inclusion_tag( - self, - filename: Union[Template, str], - func: Optional[Callable] = ..., - takes_context: Optional[bool] = ..., - name: Optional[str] = ..., - ) -> Callable[[_C], _C]: ... - -class TagHelperNode(Node): - func: Any = ... - takes_context: Any = ... - args: Any = ... - kwargs: Any = ... - def __init__( - self, - func: Callable, - takes_context: Optional[bool], - args: List[FilterExpression], - kwargs: Dict[str, FilterExpression], - ) -> None: ... - def get_resolved_arguments(self, context: Context) -> Tuple[List[int], Dict[str, Union[SafeString, int]]]: ... - -class SimpleNode(TagHelperNode): - args: List[FilterExpression] - func: Callable - kwargs: Dict[str, FilterExpression] - origin: Origin - takes_context: Optional[bool] - token: Token - target_var: Optional[str] = ... - def __init__( - self, - func: Callable, - takes_context: Optional[bool], - args: List[FilterExpression], - kwargs: Dict[str, FilterExpression], - target_var: Optional[str], - ) -> None: ... - -class InclusionNode(TagHelperNode): - args: List[FilterExpression] - func: Callable - kwargs: Dict[str, FilterExpression] - origin: Origin - takes_context: Optional[bool] - token: Token - filename: Union[Template, str] = ... - def __init__( - self, - func: Callable, - takes_context: Optional[bool], - args: List[FilterExpression], - kwargs: Dict[str, FilterExpression], - filename: Optional[Union[Template, str]], - ) -> None: ... - -def parse_bits( - parser: Parser, - bits: Iterable[str], - params: Sequence[str], - varargs: Optional[str], - varkw: Optional[str], - defaults: Optional[Sized], - kwonly: Collection[str], - kwonly_defaults: Optional[Mapping[str, int]], - takes_context: Optional[bool], - name: str, -) -> Tuple[List[FilterExpression], Dict[str, FilterExpression]]: ... -def import_library(name: str) -> Library: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loader.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loader.pyi deleted file mode 100644 index 507efa57..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loader.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from typing import Any, Mapping, Optional, Sequence, Union - -from django.http.request import HttpRequest -from django.template.exceptions import TemplateDoesNotExist as TemplateDoesNotExist # noqa: F401 - -from . import engines as engines # noqa: F401 - -def get_template(template_name: str, using: Optional[str] = ...) -> Any: ... -def select_template(template_name_list: Union[Sequence[str], str], using: Optional[str] = ...) -> Any: ... -def render_to_string( - template_name: Union[Sequence[str], str], - context: Optional[Mapping[str, Any]] = ..., - request: Optional[HttpRequest] = ..., - using: Optional[str] = ..., -) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loader_tags.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loader_tags.pyi deleted file mode 100644 index 32b3b251..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loader_tags.pyi +++ /dev/null @@ -1,68 +0,0 @@ -import collections -from typing import Any, Dict, List, Optional, Union - -from django.template.base import FilterExpression, NodeList, Origin, Parser, Token -from django.template.context import Context -from django.utils.safestring import SafeString - -from .base import Node, Template - -register: Any -BLOCK_CONTEXT_KEY: str - -class BlockContext: - blocks: collections.defaultdict = ... - def __init__(self) -> None: ... - def add_blocks(self, blocks: Dict[str, BlockNode]) -> None: ... - def pop(self, name: str) -> BlockNode: ... - def push(self, name: str, block: BlockNode) -> None: ... - def get_block(self, name: str) -> BlockNode: ... - -class BlockNode(Node): - context: Context - name: str - nodelist: NodeList - origin: Origin - parent: Optional[Node] - token: Token - def __init__(self, name: str, nodelist: NodeList, parent: Optional[Node] = ...) -> None: ... - def render(self, context: Context) -> SafeString: ... - def super(self) -> SafeString: ... - -class ExtendsNode(Node): - origin: Origin - token: Token - must_be_first: bool = ... - context_key: str = ... - nodelist: NodeList = ... - parent_name: Union[FilterExpression, Node] = ... - template_dirs: Optional[List[Any]] = ... - blocks: Dict[str, BlockNode] = ... - def __init__( - self, nodelist: NodeList, parent_name: Union[FilterExpression, Node], template_dirs: Optional[List[Any]] = ... - ) -> None: ... - def find_template(self, template_name: str, context: Context) -> Template: ... - def get_parent(self, context: Context) -> Template: ... - def render(self, context: Context) -> Any: ... - -class IncludeNode(Node): - origin: Origin - token: Token - context_key: str = ... - template: FilterExpression = ... - extra_context: Dict[str, FilterExpression] = ... - isolated_context: bool = ... - def __init__( - self, - template: FilterExpression, - *args: Any, - extra_context: Optional[Any] = ..., - isolated_context: bool = ..., - **kwargs: Any - ) -> None: ... - def render(self, context: Context) -> SafeString: ... - -def do_block(parser: Parser, token: Token) -> BlockNode: ... -def construct_relative_path(current_template_name: Optional[str], relative_name: str) -> str: ... -def do_extends(parser: Parser, token: Token) -> ExtendsNode: ... -def do_include(parser: Parser, token: Token) -> IncludeNode: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/app_directories.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/app_directories.pyi deleted file mode 100644 index a1c59b92..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/app_directories.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from .filesystem import Loader as FilesystemLoader - -class Loader(FilesystemLoader): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/base.pyi deleted file mode 100644 index a397854e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/base.pyi +++ /dev/null @@ -1,12 +0,0 @@ -from typing import Any, Dict, Iterable, List, Optional - -from django.template.base import Origin, Template -from django.template.engine import Engine - -class Loader: - engine: Engine = ... - get_template_cache: Dict[str, Any] = ... - def __init__(self, engine: Engine) -> None: ... - def get_template(self, template_name: str, skip: Optional[List[Origin]] = ...) -> Template: ... - def get_template_sources(self, template_name: str) -> Iterable[Origin]: ... - def reset(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/cached.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/cached.pyi deleted file mode 100644 index 956e9dc0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/cached.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from typing import Any, Dict, List, Optional, Sequence - -from django.template.base import Origin -from django.template.engine import Engine - -from .base import Loader as BaseLoader - -class Loader(BaseLoader): - template_cache: Dict[str, Any] = ... - loaders: List[BaseLoader] = ... - def __init__(self, engine: Engine, loaders: Sequence[Any]) -> None: ... - def get_contents(self, origin: Origin) -> str: ... - def cache_key(self, template_name: str, skip: Optional[List[Origin]] = ...) -> str: ... - def generate_hash(self, values: List[str]) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/filesystem.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/filesystem.pyi deleted file mode 100644 index bed0faac..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/filesystem.pyi +++ /dev/null @@ -1,13 +0,0 @@ -from typing import Iterator, List, Optional - -from django.template.base import Origin -from django.template.engine import Engine - -from .base import Loader as BaseLoader - -class Loader(BaseLoader): - dirs: Optional[List[str]] = ... - def __init__(self, engine: Engine, dirs: Optional[List[str]] = ...) -> None: ... - def get_dirs(self) -> List[str]: ... - def get_contents(self, origin: Origin) -> str: ... - def get_template_sources(self, template_name: str) -> Iterator[Origin]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/locmem.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/locmem.pyi deleted file mode 100644 index ddeb87af..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/loaders/locmem.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Dict - -from django.template.base import Origin -from django.template.engine import Engine - -from .base import Loader as BaseLoader - -class Loader(BaseLoader): - templates_dict: Dict[str, str] = ... - def __init__(self, engine: Engine, templates_dict: Dict[str, str]) -> None: ... - def get_contents(self, origin: Origin) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/response.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/response.pyi deleted file mode 100644 index d776a868..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/response.pyi +++ /dev/null @@ -1,72 +0,0 @@ -import functools -from http.cookies import SimpleCookie -from typing import Any, Callable, Dict, List, Optional, Sequence, Tuple, Union - -from django.core.handlers.wsgi import WSGIRequest -from django.http import HttpResponse -from django.http.request import HttpRequest -from django.template.base import Template -from django.template.context import RequestContext -from django.test.client import Client -from django.utils.datastructures import _ListOrTuple - -_TemplateForResponseT = Union[_ListOrTuple[str], Template, str] - -class ContentNotRenderedError(Exception): ... - -class SimpleTemplateResponse(HttpResponse): - content: Any = ... - closed: bool - cookies: SimpleCookie - status_code: int - rendering_attrs: Any = ... - template_name: _TemplateForResponseT = ... - context_data: Optional[Dict[str, Any]] = ... - using: Optional[str] = ... - def __init__( - self, - template: _TemplateForResponseT, - context: Optional[Dict[str, Any]] = ..., - content_type: Optional[str] = ..., - status: Optional[int] = ..., - charset: Optional[str] = ..., - using: Optional[str] = ..., - headers: Optional[Dict[str, Any]] = ..., - ) -> None: ... - def resolve_template(self, template: Union[Sequence[str], Template, str]) -> Template: ... - def resolve_context(self, context: Optional[Dict[str, Any]]) -> Optional[Dict[str, Any]]: ... - @property - def rendered_content(self) -> str: ... - def add_post_render_callback(self, callback: Callable) -> None: ... - def render(self) -> SimpleTemplateResponse: ... - @property - def is_rendered(self) -> bool: ... - def __iter__(self) -> Any: ... - -class TemplateResponse(SimpleTemplateResponse): - client: Client - closed: bool - context: RequestContext - context_data: Optional[Dict[str, Any]] - cookies: SimpleCookie - csrf_cookie_set: bool - json: functools.partial - redirect_chain: List[Tuple[str, int]] - _request: HttpRequest - status_code: int - template_name: _TemplateForResponseT - templates: List[Template] - using: Optional[str] - wsgi_request: WSGIRequest - rendering_attrs: Any = ... - def __init__( - self, - request: HttpRequest, - template: _TemplateForResponseT, - context: Optional[Dict[str, Any]] = ..., - content_type: Optional[str] = ..., - status: Optional[int] = ..., - charset: Optional[str] = ..., - using: Optional[str] = ..., - headers: Optional[Dict[str, Any]] = ..., - ) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/smartif.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/smartif.pyi deleted file mode 100644 index a60d2fa3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/smartif.pyi +++ /dev/null @@ -1,43 +0,0 @@ -from typing import Any, Dict, List, Optional, Union - -from django.template.defaulttags import TemplateLiteral - -_Token = Union[List[int], int, str] - -class TokenBase: - id: Any = ... - value: Any = ... - first: Any = ... - second: Any = ... - def nud(self, parser: Any) -> None: ... - def led(self, left: Any, parser: Any) -> None: ... - def display(self): ... - -def infix(bp: Any, func: Any): ... -def prefix(bp: Any, func: Any): ... - -OPERATORS: Any - -class Literal(TokenBase): - id: str = ... - lbp: int = ... - value: Optional[_Token] = ... - def __init__(self, value: Optional[_Token]) -> None: ... - def display(self): ... - def eval(self, context: Dict[Any, Any]) -> Optional[_Token]: ... - -class EndToken(TokenBase): - lbp: int = ... - def nud(self, parser: Any) -> None: ... - -class IfParser: - error_class: Any = ... - tokens: Any = ... - pos: int = ... - current_token: Any = ... - def __init__(self, tokens: List[Optional[_Token]]) -> None: ... - def translate_token(self, token: Optional[_Token]) -> Literal: ... - def next_token(self) -> Literal: ... - def parse(self) -> TemplateLiteral: ... - def expression(self, rbp: int = ...) -> Literal: ... - def create_var(self, value: Optional[_Token]) -> Literal: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/utils.pyi deleted file mode 100644 index 926ba6a0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/template/utils.pyi +++ /dev/null @@ -1,16 +0,0 @@ -from typing import Any, Dict, List, Tuple - -from django.core.exceptions import ImproperlyConfigured -from django.template.backends.base import BaseEngine - -class InvalidTemplateEngineError(ImproperlyConfigured): ... - -class EngineHandler: - def __init__(self, templates: List[Dict[str, Any]] = ...) -> None: ... - @property - def templates(self) -> Dict[str, Any]: ... - def __getitem__(self, alias: str) -> BaseEngine: ... - def __iter__(self) -> Any: ... - def all(self) -> List[BaseEngine]: ... - -def get_app_template_dirs(dirname: str) -> Tuple: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/cache.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/cache.pyi deleted file mode 100644 index 70eaee63..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/cache.pyi +++ /dev/null @@ -1,23 +0,0 @@ -from typing import Any, List, Optional - -from django.template import Node -from django.template.base import FilterExpression, NodeList, Parser, Token - -register: Any - -class CacheNode(Node): - nodelist: NodeList = ... - expire_time_var: FilterExpression = ... - fragment_name: str = ... - vary_on: List[FilterExpression] = ... - cache_name: Optional[FilterExpression] = ... - def __init__( - self, - nodelist: NodeList, - expire_time_var: FilterExpression, - fragment_name: str, - vary_on: List[FilterExpression], - cache_name: Optional[FilterExpression], - ) -> None: ... - -def do_cache(parser: Parser, token: Token) -> CacheNode: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/i18n.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/i18n.pyi deleted file mode 100644 index 6c3884af..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/i18n.pyi +++ /dev/null @@ -1,92 +0,0 @@ -from typing import Any, Dict, List, Optional, Tuple - -from django.template import Node -from django.template.base import FilterExpression, NodeList, Parser, Token -from django.template.context import Context - -register: Any - -class GetAvailableLanguagesNode(Node): - variable: str = ... - def __init__(self, variable: str) -> None: ... - def render(self, context: Context) -> str: ... - -class GetLanguageInfoNode(Node): - lang_code: FilterExpression = ... - variable: str = ... - def __init__(self, lang_code: FilterExpression, variable: str) -> None: ... - def render(self, context: Context) -> str: ... - -class GetLanguageInfoListNode(Node): - languages: FilterExpression = ... - variable: str = ... - def __init__(self, languages: FilterExpression, variable: str) -> None: ... - def get_language_info(self, language: Any): ... - def render(self, context: Context) -> str: ... - -class GetCurrentLanguageNode(Node): - variable: str = ... - def __init__(self, variable: str) -> None: ... - def render(self, context: Context) -> str: ... - -class GetCurrentLanguageBidiNode(Node): - variable: str = ... - def __init__(self, variable: str) -> None: ... - def render(self, context: Context) -> str: ... - -class TranslateNode(Node): - noop: bool = ... - asvar: Optional[str] = ... - message_context: Optional[FilterExpression] = ... - filter_expression: FilterExpression = ... - def __init__( - self, - filter_expression: FilterExpression, - noop: bool, - asvar: Optional[str] = ..., - message_context: Optional[FilterExpression] = ..., - ) -> None: ... - def render(self, context: Context) -> str: ... - -class BlockTranslateNode(Node): - extra_context: Dict[str, FilterExpression] = ... - singular: List[Token] = ... - plural: List[Token] = ... - countervar: Optional[str] = ... - counter: Optional[FilterExpression] = ... - message_context: Optional[FilterExpression] = ... - trimmed: bool = ... - asvar: Optional[str] = ... - def __init__( - self, - extra_context: Dict[str, FilterExpression], - singular: List[Token], - plural: List[Token] = ..., - countervar: Optional[str] = ..., - counter: Optional[FilterExpression] = ..., - message_context: Optional[FilterExpression] = ..., - trimmed: bool = ..., - asvar: Optional[str] = ..., - tag_name: str = ..., - ) -> None: ... - def render_token_list(self, tokens: List[Token]) -> Tuple[str, List[str]]: ... - def render(self, context: Context, nested: bool = ...) -> str: ... - -class LanguageNode(Node): - nodelist: NodeList = ... - language: FilterExpression = ... - def __init__(self, nodelist: NodeList, language: FilterExpression) -> None: ... - def render(self, context: Context) -> str: ... - -def do_get_available_languages(parser: Parser, token: Token) -> GetAvailableLanguagesNode: ... -def do_get_language_info(parser: Parser, token: Token) -> GetLanguageInfoNode: ... -def do_get_language_info_list(parser: Parser, token: Token) -> GetLanguageInfoListNode: ... -def language_name(lang_code: str) -> str: ... -def language_name_translated(lang_code: str) -> str: ... -def language_name_local(lang_code: str) -> str: ... -def language_bidi(lang_code: str) -> bool: ... -def do_get_current_language(parser: Parser, token: Token) -> GetCurrentLanguageNode: ... -def do_get_current_language_bidi(parser: Parser, token: Token) -> GetCurrentLanguageBidiNode: ... -def do_translate(parser: Parser, token: Token) -> TranslateNode: ... -def do_block_translate(parser: Parser, token: Token) -> BlockTranslateNode: ... -def language(parser: Parser, token: Token) -> LanguageNode: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/l10n.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/l10n.pyi deleted file mode 100644 index 2dc3d525..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/l10n.pyi +++ /dev/null @@ -1,16 +0,0 @@ -from typing import Any, List - -from django.template import Node -from django.template.base import Parser, Token - -register: Any - -def localize(value: Any) -> str: ... -def unlocalize(value: Any) -> str: ... - -class LocalizeNode(Node): - nodelist: List[Node] = ... - use_l10n: bool = ... - def __init__(self, nodelist: List[Node], use_l10n: bool) -> None: ... - -def localize_tag(parser: Parser, token: Token) -> LocalizeNode: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/static.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/static.pyi deleted file mode 100644 index d9f81c43..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/static.pyi +++ /dev/null @@ -1,32 +0,0 @@ -from typing import Any, Optional - -from django import template -from django.template.base import FilterExpression, Parser, Token -from django.template.context import Context - -register: Any - -class PrefixNode(template.Node): - varname: Optional[str] = ... - name: str = ... - def __init__(self, varname: Optional[str] = ..., name: str = ...) -> None: ... - @classmethod - def handle_token(cls, parser: Parser, token: Token, name: str) -> PrefixNode: ... - @classmethod - def handle_simple(cls, name: str) -> str: ... - -def get_static_prefix(parser: Parser, token: Token) -> PrefixNode: ... -def get_media_prefix(parser: Parser, token: Token) -> PrefixNode: ... - -class StaticNode(template.Node): - path: FilterExpression = ... - varname: Optional[str] = ... - def __init__(self, varname: Optional[str] = ..., path: FilterExpression = ...) -> None: ... - def url(self, context: Context) -> str: ... - @classmethod - def handle_simple(cls, path: str) -> str: ... - @classmethod - def handle_token(cls, parser: Parser, token: Token) -> StaticNode: ... - -def do_static(parser: Parser, token: Token) -> StaticNode: ... -def static(path: str) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/tz.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/tz.pyi deleted file mode 100644 index f773d12e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/templatetags/tz.pyi +++ /dev/null @@ -1,32 +0,0 @@ -from datetime import datetime -from typing import Any, Optional, Union - -from django.template import Node -from django.template.base import FilterExpression, NodeList, Parser, Token -from django.utils.timezone import _TzInfoT - -register: Any - -class datetimeobject(datetime): ... - -def localtime(value: Optional[Union[datetime, str]]) -> Any: ... -def utc(value: Optional[Union[datetime, str]]) -> Any: ... -def do_timezone(value: Optional[Union[datetime, str]], arg: Optional[Union[_TzInfoT, str]]) -> Any: ... - -class LocalTimeNode(Node): - nodelist: NodeList = ... - use_tz: bool = ... - def __init__(self, nodelist: NodeList, use_tz: bool) -> None: ... - -class TimezoneNode(Node): - nodelist: NodeList = ... - tz: FilterExpression = ... - def __init__(self, nodelist: NodeList, tz: FilterExpression) -> None: ... - -class GetCurrentTimezoneNode(Node): - variable: str = ... - def __init__(self, variable: str) -> None: ... - -def localtime_tag(parser: Parser, token: Token) -> LocalTimeNode: ... -def timezone_tag(parser: Parser, token: Token) -> TimezoneNode: ... -def get_current_timezone_tag(parser: Parser, token: Token) -> GetCurrentTimezoneNode: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/__init__.pyi deleted file mode 100644 index ad422929..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/__init__.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from .client import Client as Client -from .client import RequestFactory as RequestFactory -from .testcases import LiveServerTestCase as LiveServerTestCase -from .testcases import SimpleTestCase as SimpleTestCase -from .testcases import TestCase as TestCase -from .testcases import TransactionTestCase as TransactionTestCase -from .testcases import skipIfDBFeature as skipIfDBFeature -from .testcases import skipUnlessAnyDBFeature as skipUnlessAnyDBFeature -from .testcases import skipUnlessDBFeature as skipUnlessDBFeature -from .utils import ignore_warnings as ignore_warnings -from .utils import modify_settings as modify_settings -from .utils import override_script_prefix as override_script_prefix -from .utils import override_settings as override_settings -from .utils import override_system_checks as override_system_checks -from .utils import tag as tag diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/client.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/client.pyi deleted file mode 100644 index cb3a5c7d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/client.pyi +++ /dev/null @@ -1,176 +0,0 @@ -from io import BytesIO -from json import JSONEncoder -from types import TracebackType -from typing import ( - Any, - Callable, - Dict, - Generic, - Iterable, - Iterator, - List, - NoReturn, - Optional, - Pattern, - Tuple, - Type, - TypeVar, - Union, -) - -from django.contrib.auth.base_user import AbstractBaseUser -from django.contrib.sessions.backends.base import SessionBase -from django.core.handlers.asgi import ASGIRequest -from django.core.handlers.base import BaseHandler -from django.core.handlers.wsgi import WSGIRequest -from django.http.cookie import SimpleCookie -from django.http.request import HttpRequest -from django.http.response import HttpResponseBase - -BOUNDARY: str = ... -MULTIPART_CONTENT: str = ... -CONTENT_TYPE_RE: Pattern = ... -JSON_CONTENT_TYPE_RE: Pattern = ... - -class RedirectCycleError(Exception): - last_response: HttpResponseBase = ... - redirect_chain: List[Tuple[str, int]] = ... - def __init__(self, message: str, last_response: HttpResponseBase) -> None: ... - -class FakePayload: - read_started: bool = ... - def __init__(self, content: Optional[Union[bytes, str]] = ...) -> None: ... - def __len__(self) -> int: ... - def read(self, num_bytes: int = ...) -> bytes: ... - def write(self, content: Union[bytes, str]) -> None: ... - -_T = TypeVar("_T") - -def closing_iterator_wrapper(iterable: Iterable[_T], close: Callable[[], Any]) -> Iterator[_T]: ... -def conditional_content_removal(request: HttpRequest, response: HttpResponseBase) -> HttpResponseBase: ... - -class ClientHandler(BaseHandler): - enforce_csrf_checks: bool = ... - def __init__(self, enforce_csrf_checks: bool = ..., *args: Any, **kwargs: Any) -> None: ... - def __call__(self, environ: Dict[str, Any]) -> HttpResponseBase: ... - -class AsyncClientHandler(BaseHandler): - enforce_csrf_checks: bool = ... - def __init__(self, enforce_csrf_checks: bool = ..., *args: Any, **kwargs: Any) -> None: ... - async def __call__(self, scope: Dict[str, Any]) -> HttpResponseBase: ... - -def encode_multipart(boundary: str, data: Dict[str, Any]) -> bytes: ... -def encode_file(boundary: str, key: str, file: Any) -> List[bytes]: ... - -# fake to distinguish WSGIRequest and ASGIRequest - -_R = TypeVar("_R", bound=HttpRequest) - -class _MonkeyPatchedHttpResponseBase(Generic[_R], HttpResponseBase): - def json(self) -> Any: ... - wsgi_request: _R - -class _RequestFactory(Generic[_T]): - json_encoder: Type[JSONEncoder] - defaults: Dict[str, str] - cookies: SimpleCookie - errors: BytesIO - def __init__(self, *, json_encoder: Type[JSONEncoder] = ..., **defaults: Any) -> None: ... - def request(self, **request: Any) -> _T: ... - def get(self, path: str, data: Any = ..., secure: bool = ..., **extra: Any) -> _T: ... - def post(self, path: str, data: Any = ..., content_type: str = ..., secure: bool = ..., **extra: Any) -> _T: ... - def head(self, path: str, data: Any = ..., secure: bool = ..., **extra: Any) -> _T: ... - def trace(self, path: str, secure: bool = ..., **extra: Any) -> _T: ... - def options( - self, - path: str, - data: Union[Dict[str, str], str] = ..., - content_type: str = ..., - secure: bool = ..., - **extra: Any - ) -> _T: ... - def put(self, path: str, data: Any = ..., content_type: str = ..., secure: bool = ..., **extra: Any) -> _T: ... - def patch(self, path: str, data: Any = ..., content_type: str = ..., secure: bool = ..., **extra: Any) -> _T: ... - def delete(self, path: str, data: Any = ..., content_type: str = ..., secure: bool = ..., **extra: Any) -> _T: ... - def generic( - self, - method: str, - path: str, - data: Any = ..., - content_type: Optional[str] = ..., - secure: bool = ..., - **extra: Any - ) -> _T: ... - -class RequestFactory(_RequestFactory[_T]): ... - -class AsyncRequestFactory(_RequestFactory[_T]): - def request(self, **request: Any) -> _T: ... - def generic( - self, - method: str, - path: str, - data: Any = ..., - content_type: Optional[str] = ..., - secure: bool = ..., - **extra: Any - ) -> _T: ... - -class ClientMixin: - def store_exc_info(self, **kwargs: Any) -> None: ... - def check_exception(self, response: HttpResponseBase) -> NoReturn: ... - @property - def session(self) -> SessionBase: ... - def login(self, **credentials: Any) -> bool: ... - def force_login(self, user: AbstractBaseUser, backend: Optional[str] = ...) -> None: ... - def logout(self) -> None: ... - -class Client(ClientMixin, RequestFactory[_MonkeyPatchedHttpResponseBase[WSGIRequest]]): - handler: ClientHandler - raise_request_exception: bool - exc_info: Optional[Tuple[Type[BaseException], BaseException, TracebackType]] - def __init__( - self, enforce_csrf_checks: bool = ..., raise_request_exception: bool = ..., **defaults: Any - ) -> None: ... - # Silence type warnings, since this class overrides arguments and return types in an unsafe manner. - def request(self, **request: Any) -> _MonkeyPatchedHttpResponseBase[WSGIRequest]: ... - def get( # type: ignore - self, path: str, data: Any = ..., follow: bool = ..., secure: bool = ..., **extra: Any - ) -> _MonkeyPatchedHttpResponseBase[WSGIRequest]: ... - def post( # type: ignore - self, path: str, data: Any = ..., content_type: str = ..., follow: bool = ..., secure: bool = ..., **extra: Any - ) -> _MonkeyPatchedHttpResponseBase[WSGIRequest]: ... - def head( # type: ignore - self, path: str, data: Any = ..., follow: bool = ..., secure: bool = ..., **extra: Any - ) -> _MonkeyPatchedHttpResponseBase[WSGIRequest]: ... - def trace( # type: ignore - self, path: str, data: Any = ..., follow: bool = ..., secure: bool = ..., **extra: Any - ) -> _MonkeyPatchedHttpResponseBase[WSGIRequest]: ... - def options( # type: ignore - self, - path: str, - data: Union[Dict[str, str], str] = ..., - content_type: str = ..., - follow: bool = ..., - secure: bool = ..., - **extra: Any - ) -> _MonkeyPatchedHttpResponseBase[WSGIRequest]: ... - def put( # type: ignore - self, path: str, data: Any = ..., content_type: str = ..., follow: bool = ..., secure: bool = ..., **extra: Any - ) -> _MonkeyPatchedHttpResponseBase[WSGIRequest]: ... - def patch( # type: ignore - self, path: str, data: Any = ..., content_type: str = ..., follow: bool = ..., secure: bool = ..., **extra: Any - ) -> _MonkeyPatchedHttpResponseBase[WSGIRequest]: ... - def delete( # type: ignore - self, path: str, data: Any = ..., content_type: str = ..., follow: bool = ..., secure: bool = ..., **extra: Any - ) -> _MonkeyPatchedHttpResponseBase[WSGIRequest]: ... - -class AsyncClient(ClientMixin, AsyncRequestFactory[_MonkeyPatchedHttpResponseBase[ASGIRequest]]): - handler: AsyncClientHandler - raise_request_exception: bool - exc_info: Any - extra: Any - def __init__( - self, enforce_csrf_checks: bool = ..., raise_request_exception: bool = ..., **defaults: Any - ) -> None: ... - async def request(self, **request: Any) -> _MonkeyPatchedHttpResponseBase[ASGIRequest]: ... # type: ignore diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/html.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/html.pyi deleted file mode 100644 index 67d69f85..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/html.pyi +++ /dev/null @@ -1,38 +0,0 @@ -from html.parser import HTMLParser -from typing import Any, List, Optional, Sequence, Tuple, TypeVar, Union - -_Self = TypeVar("_Self") - -WHITESPACE: Any - -def normalize_whitespace(string: str) -> str: ... - -_ElementAttribute = Tuple[str, Optional[str]] - -class Element: - name: Optional[str] = ... - attributes: List[_ElementAttribute] = ... - children: List[Any] = ... - def __init__(self, name: Optional[str], attributes: Sequence[_ElementAttribute]) -> None: ... - def append(self, element: Union[Element, str]) -> None: ... - def finalize(self) -> None: ... - def __contains__(self, element: Union[Element, str]) -> bool: ... - def count(self, element: Union[Element, str]) -> int: ... - def __getitem__(self, key: int) -> Any: ... - -class RootElement(Element): - def __init__(self) -> None: ... - -class HTMLParseError(Exception): ... - -class Parser(HTMLParser): - SELF_CLOSING_TAGS: Any = ... - root: Any = ... - open_tags: Any = ... - element_positions: Any = ... - def __init__(self) -> None: ... - def format_position(self, position: Any = ..., element: Any = ...) -> str: ... - @property - def current(self) -> Element: ... - -def parse_html(html: str) -> Element: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/runner.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/runner.pyi deleted file mode 100644 index ded6f970..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/runner.pyi +++ /dev/null @@ -1,143 +0,0 @@ -import logging -from argparse import ArgumentParser -from io import StringIO -from typing import Any, Dict, List, Optional, Sequence, Set, Tuple, Type -from unittest import TestCase, TestSuite, TextTestResult - -from django.db.backends.base.base import BaseDatabaseWrapper -from django.test.testcases import SimpleTestCase, TestCase -from django.utils.datastructures import OrderedSet - -class DebugSQLTextTestResult(TextTestResult): - buffer: bool - descriptions: bool - dots: bool - expectedFailures: List[Any] - failfast: bool - shouldStop: bool - showAll: bool - skipped: List[Any] - tb_locals: bool - testsRun: int - unexpectedSuccesses: List[Any] - logger: logging.Logger = ... - # typeshed thinks it's TextIO, but unittest wraps it with _WritelnDecorator - # adding `writeln` method - # See https://github.com/python/cpython/blob/main/Lib/unittest/runner.py - stream: Any - def __init__(self, stream: Any, descriptions: bool, verbosity: int) -> None: ... - debug_sql_stream: StringIO = ... - handler: logging.StreamHandler = ... - def startTest(self, test: TestCase) -> None: ... - def stopTest(self, test: TestCase) -> None: ... - def addError(self, test: Any, err: Any) -> None: ... - def addFailure(self, test: Any, err: Any) -> None: ... - -class RemoteTestResult: - events: List[Any] = ... - failfast: bool = ... - shouldStop: bool = ... - testsRun: int = ... - def __init__(self) -> None: ... - @property - def test_index(self): ... - def check_picklable(self, test: Any, err: Any) -> None: ... - def _confirm_picklable(self, obj: Any) -> None: ... - def check_subtest_picklable(self, test: Any, subtest: Any) -> None: ... - def stop_if_failfast(self) -> None: ... - def stop(self) -> None: ... - def startTestRun(self) -> None: ... - def stopTestRun(self) -> None: ... - def startTest(self, test: Any) -> None: ... - def stopTest(self, test: Any) -> None: ... - def addError(self, test: Any, err: Any) -> None: ... - def addFailure(self, test: Any, err: Any) -> None: ... - def addSubTest(self, test: Any, subtest: Any, err: Any) -> None: ... - def addSuccess(self, test: Any) -> None: ... - def addSkip(self, test: Any, reason: Any) -> None: ... - def addExpectedFailure(self, test: Any, err: Any) -> None: ... - def addUnexpectedSuccess(self, test: Any) -> None: ... - -class RemoteTestRunner: - resultclass: Any = ... - failfast: Any = ... - def __init__(self, failfast: bool = ..., resultclass: Optional[Any] = ...) -> None: ... - def run(self, test: Any): ... - -def default_test_processes() -> int: ... - -class ParallelTestSuite(TestSuite): - init_worker: Any = ... - run_subsuite: Any = ... - runner_class: Any = ... - subsuites: Any = ... - processes: Any = ... - failfast: Any = ... - def __init__(self, suite: Any, processes: Any, failfast: bool = ...) -> None: ... - def run(self, result: Any): ... # type: ignore[override] - -class DiscoverRunner: - test_suite: Any = ... - parallel_test_suite: Any = ... - test_runner: Any = ... - test_loader: Any = ... - reorder_by: Any = ... - pattern: Optional[str] = ... - top_level: Optional[str] = ... - verbosity: int = ... - interactive: bool = ... - failfast: bool = ... - keepdb: bool = ... - reverse: bool = ... - debug_mode: bool = ... - debug_sql: bool = ... - parallel: int = ... - tags: Set[str] = ... - exclude_tags: Set[str] = ... - def __init__( - self, - pattern: Optional[str] = ..., - top_level: Optional[str] = ..., - verbosity: int = ..., - interactive: bool = ..., - failfast: bool = ..., - keepdb: bool = ..., - reverse: bool = ..., - debug_mode: bool = ..., - debug_sql: bool = ..., - parallel: int = ..., - tags: Optional[List[str]] = ..., - exclude_tags: Optional[List[str]] = ..., - test_name_patterns: Optional[List[str]] = ..., - pdb: bool = ..., - buffer: bool = ..., - enable_faulthandler: bool = ..., - timing: bool = ..., - **kwargs: Any - ) -> None: ... - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - def setup_test_environment(self, **kwargs: Any) -> None: ... - def build_suite( - self, test_labels: Sequence[str] = ..., extra_tests: Optional[List[Any]] = ..., **kwargs: Any - ) -> TestSuite: ... - def setup_databases(self, **kwargs: Any) -> List[Tuple[BaseDatabaseWrapper, str, bool]]: ... - def get_resultclass(self) -> Optional[Type[DebugSQLTextTestResult]]: ... - def get_test_runner_kwargs(self) -> Dict[str, Optional[int]]: ... - def run_checks(self, databases: Set[str]) -> None: ... - def run_suite(self, suite: TestSuite, **kwargs: Any) -> TextTestResult: ... - def teardown_databases(self, old_config: List[Tuple[BaseDatabaseWrapper, str, bool]], **kwargs: Any) -> None: ... - def teardown_test_environment(self, **kwargs: Any) -> None: ... - def suite_result(self, suite: TestSuite, result: TextTestResult, **kwargs: Any) -> int: ... - def get_databases(self, suite: TestSuite) -> Set[str]: ... - def run_tests(self, test_labels: List[str], extra_tests: List[Any] = ..., **kwargs: Any) -> int: ... - -def is_discoverable(label: str) -> bool: ... -def reorder_suite( - suite: TestSuite, classes: Tuple[Type[TestCase], Type[SimpleTestCase]], reverse: bool = ... -) -> TestSuite: ... -def partition_suite_by_type( - suite: TestSuite, classes: Tuple[Type[TestCase], Type[SimpleTestCase]], bins: List[OrderedSet], reverse: bool = ... -) -> None: ... -def partition_suite_by_case(suite: Any): ... -def filter_tests_by_tags(suite: TestSuite, tags: Set[str], exclude_tags: Set[str]) -> TestSuite: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/selenium.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/selenium.pyi deleted file mode 100644 index 75663392..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/selenium.pyi +++ /dev/null @@ -1,17 +0,0 @@ -from contextlib import contextmanager -from typing import Any, Generator - -from django.test import LiveServerTestCase - -class SeleniumTestCaseBase: - browsers: Any = ... - browser: Any = ... - @classmethod - def import_webdriver(cls, browser: Any): ... - def create_webdriver(self): ... - -class SeleniumTestCase(LiveServerTestCase): - implicit_wait: int = ... - selenium: Any - @contextmanager - def disable_implicit_wait(self) -> Generator[None, None, None]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/signals.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/signals.pyi deleted file mode 100644 index cad76817..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/signals.pyi +++ /dev/null @@ -1,22 +0,0 @@ -from typing import Any - -from django.core.signals import setting_changed as setting_changed # noqa: F401 - -template_rendered: Any -COMPLEX_OVERRIDE_SETTINGS: Any - -def clear_cache_handlers(**kwargs: Any) -> None: ... -def update_installed_apps(**kwargs: Any) -> None: ... -def update_connections_time_zone(**kwargs: Any) -> None: ... -def clear_routers_cache(**kwargs: Any) -> None: ... -def reset_template_engines(**kwargs: Any) -> None: ... -def clear_serializers_cache(**kwargs: Any) -> None: ... -def language_changed(**kwargs: Any) -> None: ... -def localize_settings_changed(**kwargs: Any) -> None: ... -def file_storage_changed(**kwargs: Any) -> None: ... -def complex_setting_changed(**kwargs: Any) -> None: ... -def root_urlconf_changed(**kwargs: Any) -> None: ... -def static_storage_changed(**kwargs: Any) -> None: ... -def static_finders_changed(**kwargs: Any) -> None: ... -def auth_password_validators_changed(**kwargs: Any) -> None: ... -def user_model_swapped(**kwargs: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/testcases.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/testcases.pyi deleted file mode 100644 index e259d47f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/testcases.pyi +++ /dev/null @@ -1,250 +0,0 @@ -import threading -import unittest -from datetime import date -from typing import ( - Any, - Callable, - Dict, - Iterable, - Iterator, - List, - Mapping, - Optional, - Sequence, - Set, - Tuple, - Type, - Union, - overload, -) - -from django.core.exceptions import ImproperlyConfigured -from django.core.handlers.wsgi import WSGIHandler -from django.core.servers.basehttp import ThreadedWSGIServer, WSGIRequestHandler -from django.db import connections as connections # noqa: F401 -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.models.base import Model -from django.db.models.query import QuerySet, RawQuerySet -from django.forms.fields import EmailField -from django.http.response import HttpResponse, HttpResponseBase -from django.template.base import Template -from django.test.client import Client -from django.test.html import Element -from django.test.utils import CaptureQueriesContext, ContextList -from django.utils.functional import classproperty -from django.utils.safestring import SafeString - -def to_list(value: Any) -> list[Any]: ... -def assert_and_parse_html(self: Any, html: str, user_msg: str, msg: str) -> Element: ... - -class _AssertNumQueriesContext(CaptureQueriesContext): - test_case: SimpleTestCase = ... - num: int = ... - def __init__(self, test_case: Any, num: Any, connection: BaseDatabaseWrapper) -> None: ... - -class _AssertTemplateUsedContext: - test_case: SimpleTestCase = ... - template_name: str = ... - rendered_templates: List[Template] = ... - rendered_template_names: List[str] = ... - context: ContextList = ... - def __init__(self, test_case: Any, template_name: Any) -> None: ... - def on_template_render(self, sender: Any, signal: Any, template: Any, context: Any, **kwargs: Any) -> None: ... - def test(self): ... - def message(self): ... - def __enter__(self): ... - def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any): ... - -class _AssertTemplateNotUsedContext(_AssertTemplateUsedContext): ... - -class _DatabaseFailure: - wrapped: Any = ... - message: str = ... - def __init__(self, wrapped: Any, message: str) -> None: ... - def __call__(self) -> None: ... - -class SimpleTestCase(unittest.TestCase): - client_class: Any = ... - client: Client - allow_database_queries: bool = ... - # TODO: str -> Literal['__all__'] - databases: Union[Set[str], str] = ... - def __call__(self, result: Optional[unittest.TestResult] = ...) -> None: ... - def settings(self, **kwargs: Any) -> Any: ... - def modify_settings(self, **kwargs: Any) -> Any: ... - def assertRedirects( - self, - response: HttpResponse, - expected_url: str, - status_code: int = ..., - target_status_code: int = ..., - msg_prefix: str = ..., - fetch_redirect_response: bool = ..., - ) -> None: ... - def assertContains( - self, - response: HttpResponseBase, - text: Union[bytes, int, str], - count: Optional[int] = ..., - status_code: int = ..., - msg_prefix: str = ..., - html: bool = ..., - ) -> None: ... - def assertNotContains( - self, - response: HttpResponse, - text: Union[bytes, str], - status_code: int = ..., - msg_prefix: str = ..., - html: bool = ..., - ) -> None: ... - def assertFormError( - self, - response: HttpResponse, - form: str, - field: Optional[str], - errors: Union[List[str], str], - msg_prefix: str = ..., - ) -> None: ... - def assertFormsetError( - self, - response: HttpResponse, - formset: str, - form_index: Optional[int], - field: Optional[str], - errors: Union[List[str], str], - msg_prefix: str = ..., - ) -> None: ... - def assertTemplateUsed( - self, - response: Optional[Union[HttpResponse, str]] = ..., - template_name: Optional[str] = ..., - msg_prefix: str = ..., - count: Optional[int] = ..., - ) -> Optional[_AssertTemplateUsedContext]: ... - def assertTemplateNotUsed( - self, response: Union[HttpResponse, str] = ..., template_name: Optional[str] = ..., msg_prefix: str = ... - ) -> Optional[_AssertTemplateNotUsedContext]: ... - def assertRaisesMessage( - self, expected_exception: Type[Exception], expected_message: str, *args: Any, **kwargs: Any - ) -> Any: ... - def assertWarnsMessage( - self, expected_warning: Type[Exception], expected_message: str, *args: Any, **kwargs: Any - ) -> Any: ... - def assertFieldOutput( - self, - fieldclass: Type[EmailField], - valid: Dict[str, str], - invalid: Dict[str, List[str]], - field_args: Optional[Iterable[Any]] = ..., - field_kwargs: Optional[Mapping[str, Any]] = ..., - empty_value: str = ..., - ) -> Any: ... - def assertHTMLEqual(self, html1: str, html2: str, msg: Optional[str] = ...) -> None: ... - def assertHTMLNotEqual(self, html1: str, html2: str, msg: Optional[str] = ...) -> None: ... - def assertInHTML( - self, needle: str, haystack: SafeString, count: Optional[int] = ..., msg_prefix: str = ... - ) -> None: ... - def assertJSONEqual( - self, - raw: str, - expected_data: Union[Dict[str, Any], List[Any], str, int, float, bool, None], - msg: Optional[str] = ..., - ) -> None: ... - def assertJSONNotEqual( - self, - raw: str, - expected_data: Union[Dict[str, Any], List[Any], str, int, float, bool, None], - msg: Optional[str] = ..., - ) -> None: ... - def assertXMLEqual(self, xml1: str, xml2: str, msg: Optional[str] = ...) -> None: ... - def assertXMLNotEqual(self, xml1: str, xml2: str, msg: Optional[str] = ...) -> None: ... - -class TransactionTestCase(SimpleTestCase): - reset_sequences: bool = ... - available_apps: Any = ... - fixtures: Any = ... - multi_db: bool = ... - serialized_rollback: bool = ... - def assertQuerysetEqual( - self, - qs: Union[Iterator[Any], List[Model], QuerySet, RawQuerySet], - values: Union[List[None], List[Tuple[str, str]], List[date], List[int], List[str], Set[str], QuerySet], - transform: Union[Callable, Type[str]] = ..., - ordered: bool = ..., - msg: Optional[str] = ..., - ) -> None: ... - @overload - def assertNumQueries(self, num: int, using: str = ...) -> _AssertNumQueriesContext: ... # type: ignore - @overload - def assertNumQueries( - self, num: int, func: Callable[..., Any], *args: Any, using: str = ..., **kwargs: Any - ) -> None: ... - -class TestCase(TransactionTestCase): - @classmethod - def setUpTestData(cls) -> None: ... - -class CheckCondition: - conditions: Sequence[Tuple[Callable, str]] = ... - def __init__(self, *conditions: Tuple[Callable, str]) -> None: ... - def add_condition(self, condition: Callable, reason: str) -> CheckCondition: ... - def __get__(self, instance: None, cls: Optional[Type[TransactionTestCase]] = ...) -> bool: ... - -def skipIfDBFeature(*features: Any) -> Callable: ... -def skipUnlessDBFeature(*features: Any) -> Callable: ... -def skipUnlessAnyDBFeature(*features: Any) -> Callable: ... - -class QuietWSGIRequestHandler(WSGIRequestHandler): ... - -class FSFilesHandler(WSGIHandler): - application: Any = ... - base_url: Any = ... - def __init__(self, application: Any) -> None: ... - def file_path(self, url: Any): ... - def serve(self, request: Any): ... - -class _StaticFilesHandler(FSFilesHandler): - def get_base_dir(self): ... - def get_base_url(self): ... - -class _MediaFilesHandler(FSFilesHandler): - def get_base_dir(self): ... - def get_base_url(self): ... - -class LiveServerThread(threading.Thread): - host: str = ... - port: int = ... - is_ready: threading.Event = ... - error: Optional[ImproperlyConfigured] = ... - static_handler: Type[WSGIHandler] = ... - connections_override: Dict[str, BaseDatabaseWrapper] = ... - def __init__( - self, - host: str, - static_handler: Type[WSGIHandler], - connections_override: Dict[str, BaseDatabaseWrapper] = ..., - port: int = ..., - ) -> None: ... - httpd: ThreadedWSGIServer = ... - def terminate(self) -> None: ... - -class LiveServerTestCase(TransactionTestCase): - host: str = ... - port: int = ... - server_thread_class: Type[Any] = ... - server_thread: Any - static_handler: Any = ... - @classproperty - def live_server_url(cls) -> str: ... - @classproperty - def allowed_host(cls) -> str: ... - -class SerializeMixin: - lockfile: Any = ... - @classmethod - def setUpClass(cls) -> None: ... - @classmethod - def tearDownClass(cls) -> None: ... - -def connections_support_transactions(aliases: Optional[Iterable[str]] = ...) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/utils.pyi deleted file mode 100644 index 3e194f20..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/test/utils.pyi +++ /dev/null @@ -1,155 +0,0 @@ -import decimal -from contextlib import contextmanager -from decimal import Decimal -from io import StringIO -from typing import ( - Any, - Callable, - ContextManager, - Dict, - Iterable, - Iterator, - List, - Mapping, - Optional, - Set, - Tuple, - Type, - TypeVar, - Union, -) - -from django.apps.registry import Apps -from django.conf import LazySettings, Settings -from django.core.checks.registry import CheckRegistry -from django.db.backends.base.base import BaseDatabaseWrapper -from django.db.models.lookups import Lookup, Transform -from django.db.models.query_utils import RegisterLookupMixin -from django.test.runner import DiscoverRunner -from django.test.testcases import SimpleTestCase - -_TestClass = Type[SimpleTestCase] -_DecoratedTest = Union[Callable, _TestClass] -_C = TypeVar("_C", bound=Callable) # Any callable - -TZ_SUPPORT: bool = ... - -class Approximate: - val: Union[decimal.Decimal, float] = ... - places: int = ... - def __init__(self, val: Union[Decimal, float], places: int = ...) -> None: ... - -class ContextList(list): - def get(self, key: str, default: Optional[str] = ...) -> str: ... - def keys(self) -> Set[str]: ... - -class _TestState: ... - -def setup_test_environment(debug: Optional[bool] = ...) -> None: ... -def teardown_test_environment() -> None: ... -def get_runner(settings: LazySettings, test_runner_class: Optional[str] = ...) -> Type[DiscoverRunner]: ... - -class TestContextDecorator: - attr_name: Optional[str] = ... - kwarg_name: Optional[str] = ... - def __init__(self, attr_name: Optional[str] = ..., kwarg_name: Optional[str] = ...) -> None: ... - def enable(self) -> Any: ... - def disable(self) -> None: ... - def __enter__(self) -> Optional[Apps]: ... - def __exit__(self, exc_type: None, exc_value: None, traceback: None) -> None: ... - def decorate_class(self, cls: _TestClass) -> _TestClass: ... - def decorate_callable(self, func: _C) -> _C: ... - def __call__(self, decorated: _DecoratedTest) -> Any: ... - -class override_settings(TestContextDecorator): - options: Dict[str, Any] = ... - def __init__(self, **kwargs: Any) -> None: ... - wrapped: Settings = ... - def save_options(self, test_func: _DecoratedTest) -> None: ... - def decorate_class(self, cls: type) -> type: ... - -class modify_settings(override_settings): - wrapped: Settings - operations: List[Tuple[str, Dict[str, Union[List[str], str]]]] = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def save_options(self, test_func: _DecoratedTest) -> None: ... - options: Dict[str, List[Union[Tuple[str, str], str]]] = ... - -class override_system_checks(TestContextDecorator): - registry: CheckRegistry = ... - new_checks: List[Callable] = ... - deployment_checks: Optional[List[Callable]] = ... - def __init__(self, new_checks: List[Callable], deployment_checks: Optional[List[Callable]] = ...) -> None: ... - old_checks: Set[Callable] = ... - old_deployment_checks: Set[Callable] = ... - -class CaptureQueriesContext: - connection: BaseDatabaseWrapper = ... - force_debug_cursor: bool = ... - initial_queries: int = ... - final_queries: Optional[int] = ... - def __init__(self, connection: BaseDatabaseWrapper) -> None: ... - def __iter__(self): ... - def __getitem__(self, index: int) -> Dict[str, str]: ... - def __len__(self) -> int: ... - @property - def captured_queries(self) -> List[Dict[str, str]]: ... - def __enter__(self) -> CaptureQueriesContext: ... - def __exit__(self, exc_type: None, exc_value: None, traceback: None) -> None: ... - -class ignore_warnings(TestContextDecorator): - ignore_kwargs: Dict[str, Any] = ... - filter_func: Callable = ... - def __init__(self, **kwargs: Any) -> None: ... - catch_warnings: ContextManager[Optional[list]] = ... - -requires_tz_support: Any - -@contextmanager -def isolate_lru_cache(lru_cache_object: Callable) -> Iterator[None]: ... - -class override_script_prefix(TestContextDecorator): - prefix: str = ... - def __init__(self, prefix: str) -> None: ... - old_prefix: str = ... - -class LoggingCaptureMixin: - logger: Any = ... - old_stream: Any = ... - logger_output: Any = ... - def setUp(self) -> None: ... - def tearDown(self) -> None: ... - -class isolate_apps(TestContextDecorator): - installed_apps: Tuple[str] = ... - def __init__(self, *installed_apps: Any, **kwargs: Any) -> None: ... - old_apps: Apps = ... - -@contextmanager -def extend_sys_path(*paths: str) -> Iterator[None]: ... -@contextmanager -def captured_output(stream_name) -> Iterator[StringIO]: ... -def captured_stdin() -> ContextManager: ... -def captured_stdout() -> ContextManager: ... -def captured_stderr() -> ContextManager: ... -@contextmanager -def freeze_time(t: float) -> Iterator[None]: ... -def tag(*tags: str): ... - -_Signature = str -_TestDatabase = Tuple[str, List[str]] - -def dependency_ordered( - test_databases: Iterable[Tuple[_Signature, _TestDatabase]], dependencies: Mapping[str, List[str]] -) -> List[Tuple[_Signature, _TestDatabase]]: ... -def get_unique_databases_and_mirrors( - aliases: Optional[Set[str]] = ..., -) -> Tuple[Dict[_Signature, _TestDatabase], Dict[str, Any]]: ... -def teardown_databases( - old_config: Iterable[Tuple[Any, str, bool]], verbosity: int, parallel: int = ..., keepdb: bool = ... -) -> None: ... -def require_jinja2(test_func: _C) -> _C: ... -@contextmanager -def register_lookup( - field: Type[RegisterLookupMixin], *lookups: Type[Union[Lookup, Transform]], lookup_name: Optional[str] = ... -) -> Iterator[None]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/__init__.pyi deleted file mode 100644 index 0144ac26..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/__init__.pyi +++ /dev/null @@ -1,36 +0,0 @@ -# noinspection PyUnresolvedReferences -from .base import clear_script_prefix as clear_script_prefix -from .base import clear_url_caches as clear_url_caches -from .base import get_script_prefix as get_script_prefix -from .base import get_urlconf as get_urlconf -from .base import is_valid_path as is_valid_path -from .base import resolve as resolve -from .base import reverse as reverse -from .base import reverse_lazy as reverse_lazy -from .base import set_script_prefix as set_script_prefix -from .base import set_urlconf as set_urlconf -from .base import translate_url as translate_url - -# noinspection PyUnresolvedReferences -from .conf import include as include -from .conf import path as path -from .conf import re_path as re_path - -# noinspection PyUnresolvedReferences -from .converters import register_converter as register_converter - -# noinspection PyUnresolvedReferences -from .exceptions import NoReverseMatch as NoReverseMatch -from .exceptions import Resolver404 as Resolver404 - -# noinspection PyUnresolvedReferences -from .resolvers import LocalePrefixPattern as LocalePrefixPattern -from .resolvers import ResolverMatch as ResolverMatch -from .resolvers import URLPattern as URLPattern -from .resolvers import URLResolver as URLResolver -from .resolvers import get_ns_resolver as get_ns_resolver -from .resolvers import get_resolver as get_resolver - -# noinspection PyUnresolvedReferences -from .utils import get_callable as get_callable -from .utils import get_mod_func as get_mod_func diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/base.pyi deleted file mode 100644 index 7cd74f09..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/base.pyi +++ /dev/null @@ -1,29 +0,0 @@ -import sys -from typing import Any, Callable, Dict, Optional, Sequence, Union - -from django.urls.resolvers import ResolverMatch - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -def resolve(path: str, urlconf: Optional[str] = ...) -> ResolverMatch: ... -def reverse( - viewname: Optional[Union[Callable, str]], - urlconf: Optional[str] = ..., - args: Optional[Sequence[Any]] = ..., - kwargs: Optional[Dict[str, Any]] = ..., - current_app: Optional[str] = ..., -) -> str: ... - -reverse_lazy: Any - -def clear_url_caches() -> None: ... -def set_script_prefix(prefix: str) -> None: ... -def get_script_prefix() -> str: ... -def clear_script_prefix() -> None: ... -def set_urlconf(urlconf_name: Optional[str]) -> None: ... -def get_urlconf(default: Optional[str] = ...) -> Optional[str]: ... -def is_valid_path(path: str, urlconf: Optional[str] = ...) -> Union[Literal[False], ResolverMatch]: ... -def translate_url(url: str, lang_code: str) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/conf.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/conf.pyi deleted file mode 100644 index 4a79578b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/conf.pyi +++ /dev/null @@ -1,33 +0,0 @@ -from typing import Any, Callable, Dict, Optional, Sequence, Tuple, Union, overload - -from ..conf.urls import IncludedURLConf -from ..http.response import HttpResponseBase -from .resolvers import URLPattern, URLResolver - -def include( - arg: Any, namespace: Optional[str] = ... -) -> Tuple[Sequence[Union[URLResolver, URLPattern]], Optional[str], Optional[str]]: ... - -# path() -@overload -def path( - route: str, view: Callable[..., HttpResponseBase], kwargs: Dict[str, Any] = ..., name: str = ... -) -> URLPattern: ... -@overload -def path(route: str, view: IncludedURLConf, kwargs: Dict[str, Any] = ..., name: str = ...) -> URLResolver: ... -@overload -def path( - route: str, view: Sequence[Union[URLResolver, str]], kwargs: Dict[str, Any] = ..., name: str = ... -) -> URLResolver: ... - -# re_path() -@overload -def re_path( - route: str, view: Callable[..., HttpResponseBase], kwargs: Dict[str, Any] = ..., name: str = ... -) -> URLPattern: ... -@overload -def re_path(route: str, view: IncludedURLConf, kwargs: Dict[str, Any] = ..., name: str = ...) -> URLResolver: ... -@overload -def re_path( - route: str, view: Sequence[Union[URLResolver, str]], kwargs: Dict[str, Any] = ..., name: str = ... -) -> URLResolver: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/converters.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/converters.pyi deleted file mode 100644 index fd5d6e1f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/converters.pyi +++ /dev/null @@ -1,27 +0,0 @@ -from typing import Any, Dict, Type, Union -from uuid import UUID - -class IntConverter: - regex: str = ... - def to_python(self, value: str) -> int: ... - def to_url(self, value: Union[str, int]) -> str: ... - -class StringConverter: - regex: str = ... - def to_python(self, value: str) -> str: ... - def to_url(self, value: str) -> str: ... - -class UUIDConverter: - regex: str = ... - def to_python(self, value: str) -> UUID: ... - def to_url(self, value: Union[str, UUID]) -> str: ... - -class SlugConverter(StringConverter): ... -class PathConverter(StringConverter): ... - -DEFAULT_CONVERTERS: Dict[str, Any] -REGISTERED_CONVERTERS: Dict[str, Any] - -def register_converter(converter: Type[Any], type_name: str) -> None: ... -def get_converters() -> Dict[str, Any]: ... -def get_converter(raw_converter: str) -> Any: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/exceptions.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/exceptions.pyi deleted file mode 100644 index f3ad4c62..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/exceptions.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from django.http import Http404 - -class Resolver404(Http404): ... -class NoReverseMatch(Exception): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/resolvers.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/resolvers.pyi deleted file mode 100644 index 5e42704c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/resolvers.pyi +++ /dev/null @@ -1,125 +0,0 @@ -from typing import Any, Callable, Dict, Iterable, List, Optional, Pattern, Tuple, Type, Union, overload - -from django.core.checks.messages import CheckMessage -from django.urls.converters import UUIDConverter -from django.utils.datastructures import MultiValueDict - -class ResolverMatch: - func: Callable = ... - args: Tuple[Any, ...] = ... - kwargs: Dict[str, Any] = ... - url_name: Optional[str] = ... - app_names: List[str] = ... - app_name: str = ... - namespaces: List[str] = ... - namespace: str = ... - view_name: str = ... - route: str = ... - tried: Optional[Any] - _func_path: str - def __init__( - self, - func: Callable, - args: Tuple[Any, ...], - kwargs: Dict[str, Any], - url_name: Optional[str] = ..., - app_names: Optional[List[Optional[str]]] = ..., - namespaces: Optional[List[Optional[str]]] = ..., - route: Optional[str] = ..., - tried: Optional[Any] = ..., - ) -> None: ... - def __getitem__(self, index: int) -> Any: ... - # for tuple unpacking - def __iter__(self) -> Any: ... - -def get_resolver(urlconf: Optional[str] = ...) -> URLResolver: ... -def get_ns_resolver(ns_pattern: str, resolver: URLResolver, converters: Tuple) -> URLResolver: ... - -class LocaleRegexDescriptor: - attr: str = ... - def __init__(self, attr: Any) -> None: ... - @overload - def __get__(self, instance: None, cls: Type[RegexPattern] = ...) -> LocaleRegexDescriptor: ... - @overload - def __get__(self, instance: RegexPattern, cls: Type[RegexPattern] = ...) -> Pattern[str]: ... - -class CheckURLMixin: - def describe(self) -> str: ... - -class RegexPattern(CheckURLMixin): - regex: LocaleRegexDescriptor = ... - name: Optional[str] = ... - converters: Dict[Any, Any] = ... - def __init__(self, regex: str, name: Optional[str] = ..., is_endpoint: bool = ...) -> None: ... - def match(self, path: str) -> Optional[Tuple[str, Tuple, Dict[str, str]]]: ... - def check(self) -> List[CheckMessage]: ... - -class RoutePattern(CheckURLMixin): - regex: LocaleRegexDescriptor = ... - name: Optional[str] = ... - converters: Dict[str, UUIDConverter] = ... - def __init__(self, route: str, name: Optional[str] = ..., is_endpoint: bool = ...) -> None: ... - def match(self, path: str) -> Optional[Tuple[str, Tuple, Dict[str, Union[int, str]]]]: ... - def check(self) -> List[CheckMessage]: ... - -class LocalePrefixPattern: - prefix_default_language: bool = ... - converters: Dict[Any, Any] = ... - def __init__(self, prefix_default_language: bool = ...) -> None: ... - @property - def regex(self) -> Pattern[str]: ... - @property - def language_prefix(self) -> str: ... - def match(self, path: str) -> Optional[Tuple[str, Tuple, Dict[str, Any]]]: ... - def check(self) -> List[CheckMessage]: ... - def describe(self) -> str: ... - -class URLPattern: - pattern: LocalePrefixPattern = ... - callback: Callable = ... - default_args: Optional[Dict[str, str]] = ... - name: Optional[str] = ... - def __init__( - self, - pattern: LocalePrefixPattern, - callback: Callable, - default_args: Optional[Dict[str, str]] = ..., - name: Optional[str] = ..., - ) -> None: ... - def check(self) -> List[CheckMessage]: ... - def resolve(self, path: str) -> Optional[ResolverMatch]: ... - @property - def lookup_str(self) -> str: ... - -class URLResolver: - pattern: LocalePrefixPattern = ... - urlconf_name: Optional[str] = ... - callback: None = ... - default_kwargs: Dict[str, Any] = ... - namespace: Optional[str] = ... - app_name: Optional[str] = ... - _local: Any - _reverse_dict: MultiValueDict - def __init__( - self, - pattern: LocalePrefixPattern, - urlconf_name: Optional[str], - default_kwargs: Optional[Dict[str, Any]] = ..., - app_name: Optional[str] = ..., - namespace: Optional[str] = ..., - ) -> None: ... - @property - def reverse_dict(self) -> MultiValueDict: ... - @property - def namespace_dict(self) -> Dict[str, Tuple[str, URLResolver]]: ... - @property - def app_dict(self) -> Dict[str, List[str]]: ... - @property - def urlconf_module(self) -> Optional[List[Tuple[str, Callable]]]: ... - @property - def url_patterns(self) -> List[Union[URLPattern, URLResolver]]: ... - def resolve(self, path: str) -> ResolverMatch: ... - def resolve_error_handler(self, view_type: int) -> Callable: ... - def reverse(self, lookup_view: str, *args: Any, **kwargs: Any) -> str: ... - def _is_callback(self, name: str) -> bool: ... - def _populate(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/utils.pyi deleted file mode 100644 index 79349df6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/urls/utils.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Callable, Tuple, Union - -def get_callable(lookup_view: Union[Callable, str]) -> Callable: ... -def get_mod_func(callback: str) -> Tuple[str, str]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/_os.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/_os.pyi deleted file mode 100644 index 52b452d9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/_os.pyi +++ /dev/null @@ -1,9 +0,0 @@ -import os -from pathlib import Path -from typing import Union - -_PathCompatible = Union[str, os.PathLike[str]] - -def safe_join(base: _PathCompatible, *paths: _PathCompatible) -> str: ... -def symlinks_supported() -> bool: ... -def to_path(value: Union[Path, str]) -> Path: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/archive.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/archive.pyi deleted file mode 100644 index 44ab041a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/archive.pyi +++ /dev/null @@ -1,41 +0,0 @@ -from types import TracebackType -from typing import Any, Dict, Iterable, Optional, Sequence, Type - -class ArchiveException(Exception): ... -class UnrecognizedArchiveFormat(ArchiveException): ... - -def extract(path: str, to_path: str) -> None: ... - -class Archive: - def __init__(self, file: str) -> None: ... - def __enter__(self) -> Archive: ... - def __exit__( - self, - exc_type: Optional[Type[BaseException]], - exc_value: Optional[BaseException], - traceback: Optional[TracebackType], - ) -> Optional[bool]: ... - def extract(self, to_path: str) -> None: ... - def list(self) -> None: ... - def close(self) -> None: ... - -class BaseArchive: - def split_leading_dir(self, path: str) -> Sequence[str]: ... - def has_leading_dir(self, paths: Iterable[str]) -> bool: ... - def target_filename(self, to_path: str, name: str) -> str: ... - def extract(self, to_path: str) -> None: ... - def list(self, *args: Any, **kwargs: Any) -> None: ... - -class TarArchive(BaseArchive): - def __init__(self, file: str) -> None: ... - def list(self, *args: Any, **kwargs: Any) -> None: ... - def close(self) -> None: ... - def extract(self, to_path: str) -> None: ... - -class ZipArchive(BaseArchive): - def __init__(self, file: str) -> None: ... - def list(self, *args: Any, **kwargs: Any) -> None: ... - def extract(self, to_path: str) -> None: ... - def close(self) -> None: ... - -extension_map: Dict[str, Type[BaseArchive]] diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/asyncio.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/asyncio.pyi deleted file mode 100644 index 8a9a62d8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/asyncio.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from typing import Any - -def async_unsafe(message: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/autoreload.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/autoreload.pyi deleted file mode 100644 index ba2a83af..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/autoreload.pyi +++ /dev/null @@ -1,70 +0,0 @@ -import threading -import types -from pathlib import Path -from typing import Any, Callable, Dict, FrozenSet, Iterable, Iterator, List, Optional, Set, Tuple - -from django.apps.registry import Apps -from django.dispatch import Signal -from django.utils._os import _PathCompatible - -autoreload_started: Signal -file_changed: Signal -DJANGO_AUTORELOAD_ENV: str - -def is_django_module(module: types.ModuleType) -> bool: ... -def is_django_path(path: _PathCompatible) -> bool: ... -def check_errors(fn) -> Callable[..., None]: ... -def raise_last_exception() -> None: ... -def ensure_echo_on() -> None: ... -def iter_all_python_module_files() -> Set[Path]: ... -def iter_modules_and_files( - modules: Iterable[types.ModuleType], extra_files: Iterable[_PathCompatible] -) -> FrozenSet[Path]: ... -def common_roots(paths: Iterable[Path]) -> Iterable[Path]: ... -def sys_path_directories() -> Iterator[Path]: ... -def get_child_arguments() -> List[str]: ... -def trigger_reload(filename: str) -> None: ... -def restart_with_reloader() -> int: ... - -class BaseReloader: - extra_files: Set[Path] - directory_globs: Dict[Path, Set[str]] - def __init__(self) -> None: ... - def watch_dir(self, path: _PathCompatible, glob: str) -> None: ... - def watched_files(self, include_globs: bool = ...) -> Iterator[Path]: ... - def wait_for_apps_ready(self, app_reg: Apps, django_main_thread: threading.Thread) -> bool: ... - def run(self, django_main_thread: threading.Thread) -> None: ... - def run_loop(self) -> None: ... - def tick(self) -> Iterator[None]: ... - @classmethod - def check_availability(cls) -> Optional[bool]: ... - def notify_file_changed(self, path: _PathCompatible) -> None: ... - @property - def should_stop(self) -> bool: ... - def stop(self) -> None: ... - -class StatReloader(BaseReloader): - SLEEP_TIME: int - def snapshot_files(self) -> Iterator[Tuple[Path, float]]: ... - @classmethod - def check_availability(cls) -> bool: ... - -class WatchmanUnavailable(RuntimeError): ... - -class WatchmanReloader(BaseReloader): - processed_request: threading.Event - client_timeout: int - def __init__(self) -> None: ... - @property - def client(self) -> Any: ... - def watched_roots(self, watched_files: Iterable[Path]) -> FrozenSet[Path]: ... - def update_watches(self) -> None: ... - def request_processed(self, **kwargs: Any) -> None: ... - def check_server_status(self, inner_ex: Optional[BaseException] = ...) -> bool: ... - @classmethod - def check_availability(cls) -> None: ... - def stop(self) -> None: ... - -def get_reloader() -> BaseReloader: ... -def start_django(reloader: BaseReloader, main_func: Callable, *args: Any, **kwargs: Any) -> None: ... -def run_with_reloader(main_func: Callable, *args: Any, **kwargs: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/baseconv.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/baseconv.pyi deleted file mode 100644 index 6c3bd02e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/baseconv.pyi +++ /dev/null @@ -1,24 +0,0 @@ -from typing import Tuple, Union - -BASE2_ALPHABET: str -BASE16_ALPHABET: str -BASE56_ALPHABET: str -BASE36_ALPHABET: str -BASE62_ALPHABET: str -BASE64_ALPHABET: str - -class BaseConverter: - decimal_digits: str = ... - sign: str = ... - digits: str = ... - def __init__(self, digits: str, sign: str = ...) -> None: ... - def encode(self, i: int) -> str: ... - def decode(self, s: str) -> int: ... - def convert(self, number: Union[int, str], from_digits: str, to_digits: str, sign: str) -> Tuple[int, str]: ... - -base2: BaseConverter -base16: BaseConverter -base36: BaseConverter -base56: BaseConverter -base62: BaseConverter -base64: BaseConverter diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/cache.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/cache.pyi deleted file mode 100644 index c8a94f62..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/cache.pyi +++ /dev/null @@ -1,31 +0,0 @@ -from typing import Any, Optional, Tuple - -from django.core.cache.backends.base import BaseCache -from django.http.request import HttpRequest -from django.http.response import HttpResponse, HttpResponseBase - -cc_delim_re: Any - -def patch_cache_control(response: HttpResponseBase, **kwargs: Any) -> None: ... -def get_max_age(response: HttpResponse) -> Optional[int]: ... -def set_response_etag(response: HttpResponseBase) -> HttpResponseBase: ... -def get_conditional_response( - request: HttpRequest, - etag: Optional[str] = ..., - last_modified: Optional[int] = ..., - response: Optional[HttpResponse] = ..., -) -> Optional[HttpResponse]: ... -def patch_response_headers(response: HttpResponseBase, cache_timeout: Optional[int] = ...) -> None: ... -def add_never_cache_headers(response: HttpResponseBase) -> None: ... -def patch_vary_headers(response: HttpResponseBase, newheaders: Tuple[str]) -> None: ... -def has_vary_header(response: HttpResponse, header_query: str) -> bool: ... -def get_cache_key( - request: HttpRequest, key_prefix: Optional[str] = ..., method: str = ..., cache: Optional[BaseCache] = ... -) -> Optional[str]: ... -def learn_cache_key( - request: HttpRequest, - response: HttpResponse, - cache_timeout: Optional[float] = ..., - key_prefix: Optional[str] = ..., - cache: Optional[BaseCache] = ..., -) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/connection.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/connection.pyi deleted file mode 100644 index 681b9137..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/connection.pyi +++ /dev/null @@ -1,28 +0,0 @@ -from typing import Any, Dict, Generic, Iterator, Mapping, Optional, Sequence, Type, TypeVar - -class ConnectionProxy: - def __init__(self, connections: Mapping[str, Any], alias: str) -> None: ... - def __getattr__(self, item: str) -> Any: ... - def __setattr__(self, name: str, value: Any) -> None: ... - def __delattr__(self, name: str) -> None: ... - def __contains__(self, key: str) -> bool: ... - def __eq__(self, other: Any) -> bool: ... - -class ConnectionDoesNotExist(Exception): ... - -_T = TypeVar("_T") - -class BaseConnectionHandler(Generic[_T]): - settings_name: Optional[str] = ... - exception_class: Type[Exception] = ... - thread_critical: bool = ... - def __init__(self, settings: Optional[Any] = ...) -> None: ... - @property - def settings(self) -> Dict[str, Any]: ... - def configure_settings(self, settings: Optional[Dict[str, Any]]) -> Dict[str, Any]: ... - def create_connection(self, alias: str) -> _T: ... - def __getitem__(self, alias: str) -> _T: ... - def __setitem__(self, key: str, value: _T) -> None: ... - def __delitem__(self, key: str) -> None: ... - def __iter__(self) -> Iterator[str]: ... - def all(self) -> Sequence[_T]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/crypto.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/crypto.pyi deleted file mode 100644 index bc7dbaa1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/crypto.pyi +++ /dev/null @@ -1,22 +0,0 @@ -from hmac import HMAC -from typing import Callable, Optional, Union - -using_sysrandom: bool -RANDOM_STRING_CHARS: str - -def salted_hmac( - key_salt: Union[bytes, str], - value: Union[bytes, str], - secret: Optional[Union[bytes, str]] = ..., - *, - algorithm: str = ... -) -> HMAC: ... -def get_random_string(length: int = ..., allowed_chars: str = ...) -> str: ... -def constant_time_compare(val1: Union[bytes, str], val2: Union[bytes, str]) -> bool: ... -def pbkdf2( - password: Union[bytes, str], - salt: Union[bytes, str], - iterations: int, - dklen: int = ..., - digest: Optional[Callable] = ..., -) -> bytes: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/datastructures.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/datastructures.pyi deleted file mode 100644 index 40872290..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/datastructures.pyi +++ /dev/null @@ -1,132 +0,0 @@ -import sys -from typing import ( - Any, - Collection, - Dict, - Generic, - Iterable, - Iterator, - List, - Mapping, - MutableSet, - Optional, - Tuple, - TypeVar, - Union, - overload, -) - -if sys.version_info < (3, 8): - from typing_extensions import Protocol -else: - from typing import Protocol - -_K = TypeVar("_K") -_V = TypeVar("_V") -_Z = TypeVar("_Z") -_I = TypeVar("_I", covariant=True) - -# Unfortunately, there's often check `if isinstance(var, (list, tuple))` in django -# codebase. So we need sometimes to declare exactly list or tuple. -_ListOrTuple = Union[List[_K], Tuple[_K, ...], Tuple[()]] - -class _PropertyDescriptor(Generic[_K, _V]): - """ - This helper property descriptor allows defining asynmetric getter/setters - which mypy currently doesn't support with either: - - class HttpResponse: - @property - def content(...): ... - @property.setter - def content(...): ... - - or: - - class HttpResponse: - def _get_content(...): ... - def _set_content(...): ... - content = property(_get_content, _set_content) - """ - - def __get__(self, instance: Any, owner: Optional[Any]) -> _V: ... - def __set__(self, instance: Any, value: _K) -> None: ... - -_IC = TypeVar("_IC", bound="_IndexableCollection") - -class _IndexableCollection(Protocol[_I], Collection[_I]): - @overload - def __getitem__(self, index: int) -> _I: ... - @overload - def __getitem__(self: _IC, index: slice) -> _IC: ... - -class OrderedSet(MutableSet[_K]): - dict: Dict[_K, None] = ... - def __init__(self, iterable: Optional[Iterable[_K]] = ...) -> None: ... - def __contains__(self, item: object) -> bool: ... - def __iter__(self) -> Iterator[_K]: ... - def __bool__(self) -> bool: ... - def __len__(self) -> int: ... - def add(self, item: _K) -> None: ... - def remove(self, item: _K) -> None: ... - def discard(self, item: _K) -> None: ... - -class MultiValueDictKeyError(KeyError): ... - -_D = TypeVar("_D", bound="MultiValueDict") - -class MultiValueDict(Dict[_K, _V]): - @overload - def __init__(self, key_to_list_mapping: Mapping[_K, Optional[List[_V]]] = ...) -> None: ... - @overload - def __init__(self, key_to_list_mapping: Iterable[Tuple[_K, List[_V]]] = ...) -> None: ... - @overload - def get(self, key: _K) -> Optional[_V]: ... - @overload - def get(self, key: _K, default: _Z = ...) -> Union[_V, _Z]: ... - def getlist(self, key: _K, default: _Z = ...) -> Union[List[_V], _Z]: ... - def setlist(self, key: _K, list_: List[_V]) -> None: ... - def setdefault(self, key: _K, default: _V = ...) -> _V: ... - def setlistdefault(self, key: _K, default_list: Optional[List[_V]] = ...) -> List[_V]: ... - def appendlist(self, key: _K, value: _V) -> None: ... - def items(self) -> Iterator[Tuple[_K, Union[_V, List[object]]]]: ... # type: ignore - def lists(self) -> Iterable[Tuple[_K, List[_V]]]: ... - def dict(self) -> Dict[_K, Union[_V, List[object]]]: ... - def copy(self: _D) -> _D: ... - def __getitem__(self, key: _K) -> Union[_V, List[object]]: ... # type: ignore - def __setitem__(self, key: _K, value: _V) -> None: ... - # These overrides are needed to convince mypy that this isn't an abstract class - def __delitem__(self, item: _K) -> None: ... - def __len__(self) -> int: ... - def __iter__(self) -> Iterator[_K]: ... - # Fake to make `values` work properly - def values(self) -> Iterator[Union[_V, List[object]]]: ... # type: ignore[override] - -class ImmutableList(Tuple[_V, ...]): - warning: str = ... - def __new__(cls, *args: Any, warning: str = ..., **kwargs: Any) -> ImmutableList: ... - def complain(self, *args: Any, **kwargs: Any) -> None: ... - -class _ItemCallable(Protocol[_V]): - """Don't mess with arguments when assigning in class body in stub""" - - def __call__(self, __value: _V) -> _V: ... - -class DictWrapper(Dict[str, _V]): - func: _ItemCallable[_V] = ... - prefix: str = ... - @overload - def __init__(self, data: Mapping[str, _V], func: _ItemCallable[_V], prefix: str) -> None: ... - @overload - def __init__(self, data: Iterable[Tuple[str, _V]], func: _ItemCallable[_V], prefix: str) -> None: ... - def __getitem__(self, key: str) -> _V: ... - -_T = TypeVar("_T", bound="CaseInsensitiveMapping") - -class CaseInsensitiveMapping(Mapping[str, _V]): - _store: Dict[str, Tuple[str, _V]] - def __init__(self, data: Union[Mapping[str, _V], Iterable[Tuple[str, _V]]]) -> None: ... - def __getitem__(self, key: str) -> _V: ... - def __len__(self) -> int: ... - def __iter__(self) -> Iterator[str]: ... - def copy(self: _T) -> _T: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/dateformat.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/dateformat.pyi deleted file mode 100644 index b208a78c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/dateformat.pyi +++ /dev/null @@ -1,71 +0,0 @@ -import sys -from datetime import date -from datetime import datetime as builtin_datetime -from datetime import time as builtin_time -from typing import Any, Optional, Pattern, Union - -from django.utils.timezone import _TzInfoT - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -re_formatchars: Pattern[str] -re_escaped: Pattern[str] - -class Formatter: - def format(self, formatstr: str) -> str: ... - -class TimeFormat(Formatter): - data: Union[builtin_datetime, builtin_time] = ... - timezone: Optional[_TzInfoT] = ... - def __init__(self, obj: Union[builtin_datetime, builtin_time]) -> None: ... - def a(self) -> str: ... - def A(self) -> str: ... - def e(self) -> str: ... - def f(self) -> Union[int, str]: ... - def g(self) -> int: ... - def G(self) -> int: ... - def h(self) -> str: ... - def H(self) -> str: ... - def i(self) -> str: ... - def O(self) -> str: ... - def P(self) -> str: ... - def s(self) -> str: ... - def T(self) -> str: ... - def u(self) -> str: ... - def Z(self) -> Union[int, Literal[""]]: ... - -class DateFormat(TimeFormat): - data: Union[builtin_datetime, date, builtin_time] # type: ignore - timezone: Optional[_TzInfoT] - year_days: Any = ... - def __init__(self, obj: Union[builtin_datetime, builtin_time, date]) -> None: ... - def b(self): ... - def c(self) -> str: ... - def d(self) -> str: ... - def D(self): ... - def E(self): ... - def F(self): ... - def I(self) -> str: ... - def j(self) -> int: ... - def l(self): ... - def L(self) -> bool: ... - def m(self) -> str: ... - def M(self) -> str: ... - def n(self) -> int: ... - def N(self): ... - def o(self) -> int: ... - def r(self) -> str: ... - def S(self) -> str: ... - def t(self) -> str: ... - def U(self) -> int: ... - def w(self) -> int: ... - def W(self) -> int: ... - def y(self) -> str: ... - def Y(self) -> int: ... - def z(self) -> int: ... - -def format(value: Union[builtin_datetime, date, builtin_time], format_string: str) -> str: ... -def time_format(value: Union[builtin_datetime, builtin_time], format_string: str) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/dateparse.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/dateparse.pyi deleted file mode 100644 index 4dfe52cb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/dateparse.pyi +++ /dev/null @@ -1,16 +0,0 @@ -from datetime import date -from datetime import datetime as builtin_datetime -from datetime import time, timedelta -from typing import Optional, Pattern - -date_re: Pattern[str] -time_re: Pattern[str] -datetime_re: Pattern[str] -standard_duration_re: Pattern[str] -iso8601_duration_re: Pattern[str] -postgres_interval_re: Pattern[str] - -def parse_date(value: str) -> Optional[date]: ... -def parse_time(value: str) -> Optional[time]: ... -def parse_datetime(value: str) -> Optional[builtin_datetime]: ... -def parse_duration(value: str) -> Optional[timedelta]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/dates.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/dates.pyi deleted file mode 100644 index 2e46b926..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/dates.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Dict - -WEEKDAYS: Dict[int, str] -WEEKDAYS_ABBR: Dict[int, str] -MONTHS: Dict[int, str] -MONTHS_3: Dict[int, str] -MONTHS_AP: Dict[int, str] -MONTHS_ALT: Dict[int, str] diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/datetime_safe.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/datetime_safe.pyi deleted file mode 100644 index 095683af..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/datetime_safe.pyi +++ /dev/null @@ -1,12 +0,0 @@ -from datetime import date as real_date -from datetime import datetime as real_datetime -from datetime import time as real_time -from typing import Union - -class date(real_date): ... -class datetime(real_datetime): ... -class time(real_time): ... - -def new_date(d: real_date) -> date: ... -def new_datetime(d: Union[real_date, real_datetime]) -> datetime: ... -def strftime(dt: Union[real_date, real_datetime], fmt: str) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/deconstruct.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/deconstruct.pyi deleted file mode 100644 index 99f4b4ae..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/deconstruct.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from typing import Any, Optional - -def deconstructible(*args: Any, path: Optional[Any] = ...) -> Any: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/decorators.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/decorators.pyi deleted file mode 100644 index 293e6180..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/decorators.pyi +++ /dev/null @@ -1,18 +0,0 @@ -from typing import Callable, Iterable, Type, TypeVar, Union - -from django.utils.deprecation import MiddlewareMixin -from django.utils.functional import classproperty as classproperty -from django.views.generic.base import View - -_T = TypeVar("_T", bound=Union[View, Callable]) # Any callable -_CallableType = TypeVar("_CallableType", bound=Callable) - -class classonlymethod(classmethod): ... - -def method_decorator(decorator: Union[Callable, Iterable[Callable]], name: str = ...) -> Callable[[_T], _T]: ... -def decorator_from_middleware_with_args(middleware_class: type) -> Callable: ... -def decorator_from_middleware(middleware_class: type) -> Callable: ... -def make_middleware_decorator(middleware_class: Type[MiddlewareMixin]) -> Callable: ... -def sync_and_async_middleware(func: _CallableType) -> _CallableType: ... -def sync_only_middleware(func: _CallableType) -> _CallableType: ... -def async_only_middleware(func: _CallableType) -> _CallableType: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/deprecation.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/deprecation.pyi deleted file mode 100644 index e1f1467e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/deprecation.pyi +++ /dev/null @@ -1,35 +0,0 @@ -from typing import Any, Callable, Optional, Type - -from django.http.request import HttpRequest -from django.http.response import HttpResponse - -class RemovedInDjango40Warning(DeprecationWarning): ... -class RemovedInDjango41Warning(PendingDeprecationWarning): ... - -RemovedInNextVersionWarning = RemovedInDjango40Warning - -class warn_about_renamed_method: - class_name: str = ... - old_method_name: str = ... - new_method_name: str = ... - deprecation_warning: Type[DeprecationWarning] = ... - def __init__( - self, class_name: str, old_method_name: str, new_method_name: str, deprecation_warning: Type[DeprecationWarning] - ) -> None: ... - def __call__(self, f: Callable) -> Callable: ... - -class RenameMethodsBase(type): - renamed_methods: Any = ... - def __new__(cls, name: Any, bases: Any, attrs: Any): ... - -class DeprecationInstanceCheck(type): - alternative: str - deprecation_warning: Type[Warning] - def __instancecheck__(self, instance: Any): ... - -GetResponseCallable = Callable[[HttpRequest], HttpResponse] - -class MiddlewareMixin: - get_response: Optional[GetResponseCallable] = ... - def __init__(self, get_response: Optional[GetResponseCallable] = ...) -> None: ... - def __call__(self, request: HttpRequest) -> HttpResponse: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/duration.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/duration.pyi deleted file mode 100644 index 4d49555a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/duration.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from datetime import timedelta - -def duration_string(duration: timedelta) -> str: ... -def duration_iso_string(duration: timedelta) -> str: ... -def duration_microseconds(delta: timedelta) -> int: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/encoding.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/encoding.pyi deleted file mode 100644 index 71fd52dd..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/encoding.pyi +++ /dev/null @@ -1,87 +0,0 @@ -import datetime -import sys -from decimal import Decimal -from typing import Any, TypeVar, Union, overload - -if sys.version_info < (3, 10): - from typing_extensions import TypeGuard -else: - from typing import TypeGuard - -from django.utils.functional import Promise -from typing_extensions import Literal - -class DjangoUnicodeDecodeError(UnicodeDecodeError): - obj: bytes = ... - def __init__(self, obj: bytes, *args: Any) -> None: ... - -_P = TypeVar("_P", bound=Promise) -_S = TypeVar("_S", bound=str) -_B = TypeVar("_B", bound=bytes) -_PT = TypeVar("_PT", None, int, float, Decimal, datetime.datetime, datetime.date, datetime.time) - -@overload -def smart_str(s: _P, encoding: str = ..., strings_only: bool = ..., errors: str = ...) -> _P: ... -@overload -def smart_str(s: _S, encoding: str = ..., *, errors: str = ...) -> _S: ... -@overload -def smart_str(s: Any, encoding: str = ..., *, errors: str = ...) -> str: ... -@overload -def smart_str(s: _PT, encoding: str = ..., strings_only: Literal[True] = ..., errors: str = ...) -> _PT: ... -@overload -def smart_str(s: _S, encoding: str = ..., strings_only: bool = ..., errors: str = ...) -> _S: ... -@overload -def smart_str(s: Any, encoding: str = ..., strings_only: bool = ..., errors: str = ...) -> str: ... - -smart_text = smart_str # Deprecated - -def is_protected_type(obj: Any) -> TypeGuard[_PT]: ... -@overload -def force_str(s: _S, encoding: str = ..., *, errors: str = ...) -> _S: ... -@overload -def force_str(s: Any, encoding: str = ..., *, errors: str = ...) -> str: ... -@overload -def force_str(s: _PT, encoding: str = ..., strings_only: Literal[True] = ..., errors: str = ...) -> _PT: ... -@overload -def force_str(s: _S, encoding: str = ..., strings_only: bool = ..., errors: str = ...) -> _S: ... -@overload -def force_str(s: Any, encoding: str = ..., strings_only: bool = ..., errors: str = ...) -> str: ... - -force_text = force_str # Deprecated - -@overload -def smart_bytes(s: _P, encoding: str = ..., strings_only: bool = ..., errors: str = ...) -> _P: ... -@overload -def smart_bytes(s: _B, encoding: Literal["utf-8"] = ..., *, errors: str = ...) -> _B: ... -@overload -def smart_bytes(s: Any, encoding: str = ..., *, errors: str = ...) -> bytes: ... -@overload -def smart_bytes(s: _PT, encoding: str = ..., strings_only: Literal[True] = ..., errors: str = ...) -> _PT: ... -@overload -def smart_bytes(s: Any, encoding: str = ..., strings_only: bool = ..., errors: str = ...) -> bytes: ... -@overload -def force_bytes(s: _B, encoding: Literal["utf-8"] = ..., *, errors: str = ...) -> _B: ... -@overload -def force_bytes(s: Any, encoding: str = ..., *, errors: str = ...) -> bytes: ... -@overload -def force_bytes(s: _PT, encoding: str = ..., strings_only: Literal[True] = ..., errors: str = ...) -> _PT: ... -@overload -def force_bytes(s: Any, encoding: str = ..., strings_only: bool = ..., errors: str = ...) -> bytes: ... -@overload -def iri_to_uri(iri: None) -> None: ... -@overload -def iri_to_uri(iri: Union[str, Promise]) -> str: ... -@overload -def uri_to_iri(uri: None) -> None: ... # type: ignore -@overload -def uri_to_iri(uri: Any) -> str: ... -def escape_uri_path(path: str) -> str: ... -def punycode(domain: str) -> str: ... -def repercent_broken_unicode(path: bytes) -> bytes: ... -@overload -def filepath_to_uri(path: None) -> None: ... -@overload -def filepath_to_uri(path: str) -> str: ... -def get_system_encoding() -> str: ... - -DEFAULT_LOCALE_ENCODING: str diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/feedgenerator.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/feedgenerator.pyi deleted file mode 100644 index ba42f1fc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/feedgenerator.pyi +++ /dev/null @@ -1,76 +0,0 @@ -import datetime -from typing import Any, Dict, List, Optional, Tuple, Union -from xml.sax import ContentHandler # type: ignore - -def rfc2822_date(date: datetime.date) -> str: ... -def rfc3339_date(date: datetime.date) -> str: ... -def get_tag_uri(url: str, date: Optional[datetime.date]) -> str: ... - -class SyndicationFeed: - feed: Dict[str, Any] = ... - items: List[Dict[str, Any]] = ... - def __init__( - self, - title: str, - link: str, - description: Optional[str], - language: Optional[str] = ..., - author_email: Optional[str] = ..., - author_name: Optional[str] = ..., - author_link: Optional[str] = ..., - subtitle: Optional[str] = ..., - categories: Optional[Tuple[str, str]] = ..., - feed_url: Optional[str] = ..., - feed_copyright: Optional[str] = ..., - feed_guid: Optional[str] = ..., - ttl: Optional[int] = ..., - **kwargs: Any - ) -> None: ... - def add_item( - self, - title: str, - link: str, - description: str, - author_email: Optional[str] = ..., - author_name: Optional[str] = ..., - author_link: Optional[str] = ..., - pubdate: Optional[datetime.datetime] = ..., - comments: Optional[str] = ..., - unique_id: Optional[str] = ..., - unique_id_is_permalink: Optional[bool] = ..., - categories: Optional[Tuple] = ..., - item_copyright: Optional[str] = ..., - ttl: Optional[int] = ..., - updateddate: Optional[datetime.datetime] = ..., - enclosures: Optional[List[Enclosure]] = ..., - **kwargs: Any - ) -> None: ... - def num_items(self): ... - def root_attributes(self) -> Dict[Any, Any]: ... - def add_root_elements(self, handler: ContentHandler) -> None: ... - def item_attributes(self, item: Dict[str, Any]) -> Dict[Any, Any]: ... - def add_item_elements(self, handler: ContentHandler, item: Dict[str, Any]) -> None: ... - def write(self, outfile: Any, encoding: Any) -> None: ... - def writeString(self, encoding: str) -> str: ... - def latest_post_date(self) -> datetime.datetime: ... - -class Enclosure: - length: Any - mime_type: str - url: str = ... - def __init__(self, url: str, length: Union[int, str], mime_type: str) -> None: ... - -class RssFeed(SyndicationFeed): - content_type: str = ... - def write_items(self, handler: ContentHandler) -> None: ... - def endChannelElement(self, handler: ContentHandler) -> None: ... - -class RssUserland091Feed(RssFeed): ... -class Rss201rev2Feed(RssFeed): ... - -class Atom1Feed(SyndicationFeed): - content_type: str = ... - ns: str = ... - def write_items(self, handler: ContentHandler) -> None: ... - -DefaultFeed = Rss201rev2Feed diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/formats.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/formats.pyi deleted file mode 100644 index cc4b0f62..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/formats.pyi +++ /dev/null @@ -1,50 +0,0 @@ -import types -from datetime import date -from datetime import datetime as builtin_datetime -from datetime import time -from decimal import Decimal -from typing import Any, Dict, FrozenSet, Iterator, List, Optional, TypeVar, Union, overload - -ISO_INPUT_FORMATS: Dict[str, List[str]] -FORMAT_SETTINGS: FrozenSet[str] - -def reset_format_cache() -> None: ... -def iter_format_modules( - lang: str, format_module_path: Optional[Union[List[str], str]] = ... -) -> Iterator[types.ModuleType]: ... -def get_format_modules(lang: Optional[str] = ..., reverse: bool = ...) -> List[types.ModuleType]: ... -def get_format(format_type: str, lang: Optional[str] = ..., use_l10n: Optional[bool] = ...) -> Any: ... - -get_format_lazy: Any - -def date_format( - value: Union[date, builtin_datetime, str], format: Optional[str] = ..., use_l10n: Optional[bool] = ... -) -> str: ... -def time_format( - value: Union[time, builtin_datetime, str], format: Optional[str] = ..., use_l10n: Optional[bool] = ... -) -> str: ... -def number_format( - value: Union[Decimal, float, str], - decimal_pos: Optional[int] = ..., - use_l10n: Optional[bool] = ..., - force_grouping: bool = ..., -) -> str: ... - -_T = TypeVar("_T") - -# Mypy considers this invalid (overlapping signatures), but thanks to implementation -# details it works as expected (all values from Union are `localize`d to str, -# while type of others is preserved) -@overload -def localize( # type: ignore - value: Union[builtin_datetime, date, time, Decimal, float, str], use_l10n: Optional[bool] = ... -) -> str: ... -@overload -def localize(value: _T, use_l10n: Optional[bool] = ...) -> _T: ... -@overload -def localize_input( # type: ignore - value: Union[builtin_datetime, date, time, Decimal, float, str], default: Optional[str] = ... -) -> str: ... -@overload -def localize_input(value: _T, default: Optional[str] = ...) -> _T: ... -def sanitize_separators(value: _T) -> _T: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/functional.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/functional.pyi deleted file mode 100644 index 5d9e368c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/functional.pyi +++ /dev/null @@ -1,87 +0,0 @@ -import sys -from functools import wraps as wraps # noqa: F401 -from typing import Any, Callable, Generic, List, Optional, Tuple, Type, TypeVar, Union, overload - -from django.db.models.base import Model - -if sys.version_info < (3, 8): - from typing_extensions import Protocol -else: - from typing import Protocol - -_T = TypeVar("_T") - -class cached_property(Generic[_T]): - func: Callable[..., _T] = ... - name: str = ... - def __init__(self, func: Callable[..., _T], name: str = ...): ... - @overload - def __get__(self, instance: None, cls: Type[Any] = ...) -> "cached_property[_T]": ... - @overload - def __get__(self, instance: object, cls: Type[Any] = ...) -> _T: ... - -class Promise: ... - -_C = TypeVar("_C", bound=Callable) - -def lazy(func: _C, *resultclasses: Any) -> _C: ... -def lazystr(text: Any) -> str: ... -def keep_lazy(*resultclasses: Any) -> Callable: ... -def keep_lazy_text(func: Callable) -> Callable: ... - -empty: object - -def new_method_proxy(func: Callable[..., _T]) -> Callable[..., _T]: ... - -class LazyObject: - def __init__(self) -> None: ... - __getattr__: Callable = ... - def __setattr__(self, name: str, value: Any) -> None: ... - def __delattr__(self, name: str) -> None: ... - def __reduce__(self) -> Tuple[Callable, Tuple[Model]]: ... - def __copy__(self) -> LazyObject: ... - __bytes__: Callable = ... - __bool__: Callable = ... - __dir__: Callable = ... - __class__: Any = ... - __ne__: Callable = ... - __hash__: Callable = ... - __getitem__: Callable = ... - __setitem__: Callable = ... - __delitem__: Callable = ... - __iter__: Callable = ... - __len__: Callable = ... - __contains__: Callable = ... - -def unpickle_lazyobject(wrapped: Model) -> Model: ... - -class SimpleLazyObject(LazyObject): - def __init__(self, func: Callable[[], Any]) -> None: ... - def __copy__(self) -> SimpleLazyObject: ... - -_PartitionMember = TypeVar("_PartitionMember") - -def partition( - predicate: Callable[[_PartitionMember], Union[int, bool]], values: List[_PartitionMember] -) -> Tuple[List[_PartitionMember], List[_PartitionMember]]: ... - -_Get = TypeVar("_Get", covariant=True) -_Self = TypeVar("_Self") - -class classproperty(Generic[_Get]): - fget: Optional[Callable[[_Self], _Get]] = ... - def __init__(self, method: Optional[Callable[[_Self], _Get]] = ...) -> None: ... - def __get__(self, instance: Optional[_Self], cls: Type[_Self] = ...) -> _Get: ... - def getter(self, method: Callable[[Type[_Self]], _Get]) -> classproperty[_Get]: ... - -class _Getter(Protocol[_Get]): - """Type fake to declare some read-only properties (until `property` builtin is generic) - - We can use something like `Union[_Getter[str], str]` in base class to avoid errors - when redefining attribute with property or property with attribute. - """ - - @overload - def __get__(self: _Self, __instance: None, __typeobj: Optional[Type[Any]]) -> _Self: ... - @overload - def __get__(self, __instance: Any, __typeobj: Optional[Type[Any]]) -> _Get: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/hashable.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/hashable.pyi deleted file mode 100644 index a049be97..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/hashable.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from typing import Any - -def make_hashable(value: Any) -> Any: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/html.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/html.pyi deleted file mode 100644 index e5b0dc3d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/html.pyi +++ /dev/null @@ -1,34 +0,0 @@ -from html.parser import HTMLParser -from typing import Any, Iterable, List, Optional, Pattern, Tuple, Type - -from django.utils.safestring import SafeString - -TRAILING_PUNCTUATION_CHARS: str -WRAPPING_PUNCTUATION: List[Tuple[str, str]] -DOTS: List[str] -word_split_re: Pattern[str] -simple_url_re: Pattern[str] -simple_url_2_re: Pattern[str] - -def escape(text: Any) -> SafeString: ... -def escapejs(value: Any) -> SafeString: ... -def json_script(value: Any, element_id: str) -> SafeString: ... -def conditional_escape(text: Any) -> str: ... -def format_html(format_string: str, *args: Any, **kwargs: Any) -> SafeString: ... -def format_html_join(sep: str, format_string: str, args_generator: Iterable[Iterable[Any]]) -> SafeString: ... -def linebreaks(value: Any, autoescape: bool = ...) -> str: ... - -class MLStripper(HTMLParser): - fed: Any = ... - def __init__(self) -> None: ... - def handle_data(self, d: str) -> None: ... - def handle_entityref(self, name: str) -> None: ... - def handle_charref(self, name: str) -> None: ... - def get_data(self) -> str: ... - -def strip_tags(value: str) -> str: ... -def strip_spaces_between_tags(value: str) -> str: ... -def smart_urlquote(url: str) -> str: ... -def urlize(text: str, trim_url_limit: Optional[int] = ..., nofollow: bool = ..., autoescape: bool = ...) -> str: ... -def avoid_wrapping(value: str) -> str: ... -def html_safe(klass: Type) -> Type: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/http.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/http.pyi deleted file mode 100644 index bd0c3eac..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/http.pyi +++ /dev/null @@ -1,41 +0,0 @@ -from typing import Any, Iterable, List, Optional, Pattern, Tuple, Union - -ETAG_MATCH: Pattern[str] -MONTHS: List[str] -RFC1123_DATE: Pattern[str] -RFC850_DATE: Pattern[str] -ASCTIME_DATE: Pattern[str] -RFC3986_GENDELIMS: str -RFC3986_SUBDELIMS: str - -def urlquote(url: str, safe: str = ...) -> str: ... -def urlquote_plus(url: str, safe: str = ...) -> str: ... -def urlunquote(quoted_url: str) -> str: ... -def urlunquote_plus(quoted_url: str) -> str: ... -def urlencode(query: Any, doseq: bool = ...) -> str: ... -def http_date(epoch_seconds: Optional[float] = ...) -> str: ... -def parse_http_date(date: str) -> int: ... -def parse_http_date_safe(date: str) -> Optional[int]: ... -def base36_to_int(s: str) -> int: ... -def int_to_base36(i: int) -> str: ... -def urlsafe_base64_encode(s: bytes) -> str: ... -def urlsafe_base64_decode(s: str) -> bytes: ... -def parse_etags(etag_str: str) -> List[str]: ... -def quote_etag(etag_str: str) -> str: ... -def is_same_domain(host: str, pattern: str) -> bool: ... -def url_has_allowed_host_and_scheme( - url: Optional[str], allowed_hosts: Optional[Union[str, Iterable[str]]], require_https: bool = ... -) -> bool: ... -def is_safe_url( - url: Optional[str], allowed_hosts: Optional[Union[str, Iterable[str]]], require_https: bool = ... -) -> bool: ... -def parse_qsl( - qs: str, - keep_blank_values: bool = ..., - strict_parsing: bool = ..., - encoding: str = ..., - errors: str = ..., - max_num_fields: Optional[int] = ..., - separator: str = ..., -) -> List[Tuple[str, str]]: ... -def escape_leading_slashes(url: str) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/inspect.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/inspect.pyi deleted file mode 100644 index 79fe0a9f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/inspect.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Any, Callable, List, Tuple, Union - -def get_func_args(func: Callable[..., Any]) -> List[str]: ... -def get_func_full_args(func: Callable[..., Any]) -> List[Union[Tuple[str, str], Tuple[str]]]: ... -def func_accepts_kwargs(func: Callable[..., Any]) -> bool: ... -def func_accepts_var_args(func: Callable[..., Any]) -> bool: ... -def method_has_no_args(meth: Callable[..., Any]) -> bool: ... -def func_supports_parameter(func: Callable[..., Any], name: str) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/ipv6.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/ipv6.pyi deleted file mode 100644 index 55f882e0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/ipv6.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - -def clean_ipv6_address(ip_str: Any, unpack_ipv4: bool = ..., error_message: str = ...) -> str: ... -def is_valid_ipv6_address(ip_str: str) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/itercompat.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/itercompat.pyi deleted file mode 100644 index 5c15fee5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/itercompat.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from typing import Any - -def is_iterable(x: Any) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/jslex.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/jslex.pyi deleted file mode 100644 index 77b67f3b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/jslex.pyi +++ /dev/null @@ -1,26 +0,0 @@ -from typing import Any, Dict, Iterator, List, Optional, Tuple - -class Tok: - num: int = ... - id: int = ... - name: str = ... - regex: str = ... - next: Optional[str] = ... - def __init__(self, name: str, regex: str, next: Optional[str] = ...) -> None: ... - -def literals(choices: str, prefix: str = ..., suffix: str = ...) -> str: ... - -class Lexer: - regexes: Any = ... - toks: Dict[str, Tok] = ... - state: str = ... - def __init__(self, states: Dict[str, List[Tok]], first: str) -> None: ... - def lex(self, text: str) -> Iterator[Tuple[str, str]]: ... - -class JsLexer(Lexer): - both_before: List[Tok] = ... - both_after: List[Tok] = ... - states: Dict[str, List[Tok]] = ... - def __init__(self) -> None: ... - -def prepare_js_for_gettext(js: str) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/log.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/log.pyi deleted file mode 100644 index af036e81..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/log.pyi +++ /dev/null @@ -1,51 +0,0 @@ -import logging.config -from logging import Logger, LogRecord -from typing import Any, Callable, Dict, Optional, Union - -from django.core.management.color import Style -from django.http import HttpRequest, HttpResponse - -request_logger: Any -DEFAULT_LOGGING: Any - -def configure_logging(logging_config: str, logging_settings: Dict[str, Any]) -> None: ... - -class AdminEmailHandler(logging.Handler): - include_html: bool = ... - email_backend: Optional[str] = ... - def __init__( - self, - include_html: bool = ..., - email_backend: Optional[str] = ..., - reporter_class: Optional[str] = ..., - ) -> None: ... - def send_mail(self, subject: str, message: str, *args: Any, **kwargs: Any) -> None: ... - def connection(self) -> Any: ... - def format_subject(self, subject: str) -> str: ... - -class CallbackFilter(logging.Filter): - callback: Callable = ... - def __init__(self, callback: Callable) -> None: ... - def filter(self, record: Union[str, LogRecord]) -> bool: ... - -class RequireDebugFalse(logging.Filter): - def filter(self, record: Union[str, LogRecord]) -> bool: ... - -class RequireDebugTrue(logging.Filter): - def filter(self, record: Union[str, LogRecord]) -> bool: ... - -class ServerFormatter(logging.Formatter): - default_time_format: str = ... - style: Style = ... - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def uses_server_time(self) -> bool: ... - -def log_response( - message: str, - *args: Any, - response: Optional[HttpResponse] = ..., - request: Optional[HttpRequest] = ..., - logger: Logger = ..., - level: Optional[str] = ..., - exc_info: Optional[Any] = ... -) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/lorem_ipsum.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/lorem_ipsum.pyi deleted file mode 100644 index 1f9d9b32..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/lorem_ipsum.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any, List - -COMMON_P: str -WORDS: Any -COMMON_WORDS: Any - -def sentence() -> str: ... -def paragraph() -> str: ... -def paragraphs(count: int, common: bool = ...) -> List[str]: ... -def words(count: int, common: bool = ...) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/module_loading.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/module_loading.pyi deleted file mode 100644 index 2a2138dc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/module_loading.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any - -def import_string(dotted_path: str) -> Any: ... -def autodiscover_modules(*args: Any, **kwargs: Any) -> None: ... -def module_has_submodule(package: Any, module_name: str) -> bool: ... -def module_dir(module: Any) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/numberformat.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/numberformat.pyi deleted file mode 100644 index a0e43c92..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/numberformat.pyi +++ /dev/null @@ -1,12 +0,0 @@ -from decimal import Decimal -from typing import Iterable, Optional, Union - -def format( - number: Union[Decimal, float, str], - decimal_sep: str, - decimal_pos: Optional[int] = ..., - grouping: Union[int, Iterable[int]] = ..., - thousand_sep: str = ..., - force_grouping: bool = ..., - use_l10n: Optional[bool] = ..., -) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/regex_helper.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/regex_helper.pyi deleted file mode 100644 index d52eeb40..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/regex_helper.pyi +++ /dev/null @@ -1,21 +0,0 @@ -from typing import Iterator, List, Mapping, Optional, Pattern, Tuple, Type, TypeVar, Union - -ESCAPE_MAPPINGS: Mapping[str, Union[str, None]] - -class Choice(list): ... -class Group(list): ... -class NonCapture(list): ... - -def normalize(pattern: str) -> List[Tuple[str, List[str]]]: ... -def next_char(input_iter: Iterator[str]) -> Iterator[Tuple[str, bool]]: ... -def walk_to_end(ch: str, input_iter: Iterator[Tuple[str, bool]]) -> None: ... -def get_quantifier(ch: str, input_iter: Iterator[Tuple[str, bool]]) -> Tuple[int, Optional[str]]: ... -def contains(source: Union[Group, NonCapture, str], inst: Type[Group]) -> bool: ... -def flatten_result( - source: Optional[Union[List[Union[Choice, Group, str]], Group, NonCapture]] -) -> Tuple[List[str], List[List[str]]]: ... - -# Returns SimpleLazyObject, but we can safely ignore it -_P = TypeVar("_P", str, bytes) - -def _lazy_re_compile(regex: Union[_P, Pattern[_P]], flags: int = ...) -> Pattern[_P]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/safestring.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/safestring.pyi deleted file mode 100644 index a41eaad9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/safestring.pyi +++ /dev/null @@ -1,24 +0,0 @@ -from typing import Any, Callable, TypeVar, overload - -_SD = TypeVar("_SD", bound="SafeData") - -class SafeData: - def __html__(self: _SD) -> _SD: ... - -class SafeString(str, SafeData): - @overload - def __add__(self, rhs: SafeString) -> SafeString: ... - @overload - def __add__(self, rhs: str) -> str: ... - def __str__(self) -> str: ... - -SafeText = SafeString - -_C = TypeVar("_C", bound=Callable) - -@overload -def mark_safe(s: _SD) -> _SD: ... -@overload -def mark_safe(s: _C) -> _C: ... -@overload -def mark_safe(s: Any) -> SafeString: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/termcolors.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/termcolors.pyi deleted file mode 100644 index b2892299..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/termcolors.pyi +++ /dev/null @@ -1,18 +0,0 @@ -from typing import Any, Callable, Dict, Mapping, Optional, Sequence, Tuple, Union - -color_names: Sequence -foreground: Mapping[str, str] -background: Mapping[str, str] -RESET: str -opt_dict: Mapping[str, str] - -def colorize(text: Optional[str] = ..., opts: Sequence[str] = ..., **kwargs: Any) -> str: ... -def make_style(opts: Tuple = ..., **kwargs: Any) -> Callable: ... - -NOCOLOR_PALETTE: str -DARK_PALETTE: str -LIGHT_PALETTE: str -PALETTES: Any -DEFAULT_PALETTE: str = ... - -def parse_color_setting(config_string: str) -> Optional[Dict[str, Dict[str, Union[Tuple[str, ...], str]]]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/text.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/text.pyi deleted file mode 100644 index 2474ab79..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/text.pyi +++ /dev/null @@ -1,44 +0,0 @@ -from io import BytesIO -from typing import Callable, Iterable, Iterator, List, Optional, Pattern, Union - -from django.db.models.base import Model -from django.utils.functional import SimpleLazyObject -from django.utils.safestring import SafeString - -def capfirst(x: Optional[str]) -> Optional[str]: ... - -re_words: Pattern[str] -re_chars: Pattern[str] -re_tag: Pattern[str] -re_newlines: Pattern[str] -re_camel_case: Pattern[str] - -def wrap(text: str, width: int) -> str: ... - -class Truncator(SimpleLazyObject): - def __init__(self, text: Union[Model, str]) -> None: ... - def add_truncation_text(self, text: str, truncate: Optional[str] = ...) -> str: ... - def chars(self, num: int, truncate: Optional[str] = ..., html: bool = ...) -> str: ... - def words(self, num: int, truncate: Optional[str] = ..., html: bool = ...) -> str: ... - -def get_valid_filename(name: str) -> str: ... -def get_text_list(list_: List[str], last_word: str = ...) -> str: ... -def normalize_newlines(text: str) -> str: ... -def phone2numeric(phone: str) -> str: ... -def compress_string(s: bytes) -> bytes: ... - -class StreamingBuffer(BytesIO): - vals: List[bytes] = ... - def read(self) -> bytes: ... # type: ignore - -def compress_sequence(sequence: Iterable[bytes]) -> Iterator[bytes]: ... - -smart_split_re: Pattern[str] - -def smart_split(text: str) -> Iterator[str]: ... -def unescape_entities(text: str) -> str: ... -def unescape_string_literal(s: str) -> str: ... -def slugify(value: str, allow_unicode: bool = ...) -> str: ... -def camel_case_to_spaces(value: str) -> str: ... - -format_lazy: Callable[..., str] diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/timesince.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/timesince.pyi deleted file mode 100644 index ae0891f5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/timesince.pyi +++ /dev/null @@ -1,16 +0,0 @@ -from datetime import date -from typing import Any, Dict, Optional - -TIME_STRINGS: Dict[str, str] -TIMESINCE_CHUNKS: Any - -def timesince( - d: date, - now: Optional[date] = ..., - reversed: bool = ..., - time_strings: Optional[Dict[str, str]] = ..., - depth: int = ..., -) -> str: ... -def timeuntil( - d: date, now: Optional[date] = ..., time_strings: Optional[Dict[str, str]] = ..., depth: int = ... -) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/timezone.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/timezone.pyi deleted file mode 100644 index 77c51a4c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/timezone.pyi +++ /dev/null @@ -1,67 +0,0 @@ -import sys -import types -from contextlib import ContextDecorator -from datetime import date -from datetime import datetime as datetime -from datetime import time -from datetime import timedelta as timedelta -from datetime import timezone -from datetime import tzinfo as tzinfo -from typing import Any, Optional, Type, Union, overload - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -if sys.version_info < (3, 10): - from typing_extensions import TypeGuard -else: - from typing import TypeGuard - -import pytz -from pytz import BaseTzInfo - -_PytzTzInfoT = Union[pytz.tzinfo.BaseTzInfo, pytz._FixedOffset] -_TzInfoT = Union[_PytzTzInfoT, tzinfo] - -utc: Any = ... - -def get_fixed_timezone(offset: Union[timedelta, int]) -> timezone: ... -def get_default_timezone() -> BaseTzInfo: ... -def get_default_timezone_name() -> str: ... - -# Strictly speaking, it is possible to activate() a non-pytz timezone, -# in which case BaseTzInfo is incorrect. However, this is unlikely, -# so we use it anyway, to keep things ergonomic for most users. -def get_current_timezone() -> BaseTzInfo: ... -def get_current_timezone_name() -> str: ... -def activate(timezone: Union[_TzInfoT, str]) -> None: ... -def deactivate() -> None: ... - -class override(ContextDecorator): - timezone: Optional[Union[str, _TzInfoT]] = ... - old_timezone: Optional[_TzInfoT] = ... - def __init__(self, timezone: Optional[Union[str, _TzInfoT]]) -> None: ... - def __enter__(self) -> None: ... - def __exit__( - self, - exc_type: Optional[Type[BaseException]], - exc_value: Optional[BaseException], - traceback: Optional[types.TracebackType], - ) -> None: ... - -def localtime(value: Optional[datetime] = ..., timezone: Optional[_TzInfoT] = ...) -> datetime: ... -def localdate(value: Optional[datetime] = ..., timezone: Optional[_TzInfoT] = ...) -> date: ... -def now() -> datetime: ... -@overload -def is_aware(value: time) -> Literal[False]: ... -@overload -def is_aware(value: datetime) -> bool: ... -@overload -def is_naive(value: time) -> Literal[True]: ... -@overload -def is_naive(value: datetime) -> bool: ... -def make_aware(value: datetime, timezone: Optional[_TzInfoT] = ..., is_dst: Optional[bool] = ...) -> datetime: ... -def make_naive(value: datetime, timezone: Optional[_TzInfoT] = ...) -> datetime: ... -def _is_pytz_zone(tz: _TzInfoT) -> TypeGuard[_PytzTzInfoT]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/topological_sort.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/topological_sort.pyi deleted file mode 100644 index 35f8b938..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/topological_sort.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any, Dict, Iterable, Iterator, List, Set - -class CyclicDependencyError(ValueError): ... - -def topological_sort_as_sets(dependency_graph: Dict[Any, Any]) -> Iterator[Set[Any]]: ... -def stable_topological_sort(nodes: Iterable[Any], dependency_graph: Dict[Any, Any]) -> List[Any]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/__init__.pyi deleted file mode 100644 index a867ca68..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/__init__.pyi +++ /dev/null @@ -1,72 +0,0 @@ -import functools -import types -from contextlib import ContextDecorator -from typing import Any, Callable, Optional, Type, Union - -from django.http.request import HttpRequest - -LANGUAGE_SESSION_KEY: str - -class TranslatorCommentWarning(SyntaxWarning): ... - -class Trans: - activate: Callable - check_for_language: functools._lru_cache_wrapper - deactivate: Callable - deactivate_all: Callable - get_language: Callable - get_language_bidi: Callable - get_language_from_path: Callable - get_language_from_request: Callable - gettext: Callable - gettext_noop: Callable - ngettext: Callable - npgettext: Callable - pgettext: Callable - def __getattr__(self, real_name: Any): ... - -def gettext_noop(message: str) -> str: ... -def ugettext_noop(message: str) -> str: ... -def gettext(message: str) -> str: ... -def ugettext(message: str) -> str: ... -def ngettext(singular: str, plural: str, number: float) -> str: ... -def ungettext(singular: str, plural: str, number: float) -> str: ... -def pgettext(context: str, message: str) -> str: ... -def npgettext(context: str, singular: str, plural: str, number: int) -> str: ... - -gettext_lazy = gettext -pgettext_lazy = pgettext - -def ugettext_lazy(message: str) -> str: ... -def ngettext_lazy(singular: str, plural: str, number: Union[int, str, None] = ...) -> str: ... -def ungettext_lazy(singular: str, plural: str, number: Union[int, str, None] = ...) -> str: ... -def npgettext_lazy(context: str, singular: str, plural: str, number: Union[int, str, None] = ...) -> str: ... -def activate(language: str) -> None: ... -def deactivate() -> None: ... - -class override(ContextDecorator): - language: Optional[str] = ... - deactivate: bool = ... - def __init__(self, language: Optional[str], deactivate: bool = ...) -> None: ... - old_language: Optional[str] = ... - def __enter__(self) -> None: ... - def __exit__( - self, - exc_type: Optional[Type[BaseException]], - exc_value: Optional[BaseException], - traceback: Optional[types.TracebackType], - ) -> None: ... - -def get_language() -> str: ... -def get_language_from_path(path: str) -> Optional[str]: ... -def get_language_bidi() -> bool: ... -def check_for_language(lang_code: Optional[str]) -> bool: ... -def to_language(locale: str) -> str: ... -def to_locale(language: str) -> str: ... -def get_language_from_request(request: HttpRequest, check_path: bool = ...) -> str: ... -def templatize(src: str, **kwargs: Any) -> str: ... -def deactivate_all() -> None: ... -def get_supported_language_variant(lang_code: str, *, strict: bool = ...) -> str: ... -def get_language_info(lang_code: str) -> Any: ... -def trim_whitespace(s: str) -> str: ... -def round_away_from_one(value: int) -> int: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/reloader.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/reloader.pyi deleted file mode 100644 index f1051528..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/reloader.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from pathlib import Path -from typing import Any, Optional - -from django.utils.autoreload import BaseReloader - -def watch_for_translation_changes(sender: BaseReloader, **kwargs: Any) -> None: ... -def translation_file_changed(sender: Optional[BaseReloader], file_path: Path, **kwargs: Any) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/template.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/template.pyi deleted file mode 100644 index 57a58ccb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/template.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from typing import Pattern - -dot_re: Pattern[str] - -def blankout(src: str, char: str) -> str: ... - -context_re: Pattern[str] -inline_re: Pattern[str] -block_re: Pattern[str] -endblock_re: Pattern[str] -plural_re: Pattern[str] -constant_re: Pattern[str] - -def templatize(src: str, origin: str = ...) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/trans_null.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/trans_null.pyi deleted file mode 100644 index 6ea5a348..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/trans_null.pyi +++ /dev/null @@ -1,27 +0,0 @@ -from typing import Any - -from django.http.request import HttpRequest - -def gettext(message: Any): ... - -gettext_noop = gettext -gettext_lazy = gettext -_ = gettext - -def ngettext(singular: str, plural: str, number: int) -> str: ... - -ngettext_lazy = ngettext - -def pgettext(context: Any, message: Any): ... -def npgettext(context: Any, singular: Any, plural: Any, number: Any): ... -def activate(x: Any): ... -def deactivate(): ... - -deactivate_all = deactivate - -def get_language(): ... -def get_language_bidi() -> bool: ... -def check_for_language(x: str) -> bool: ... -def get_language_from_request(request: HttpRequest, check_path: bool = ...) -> str: ... -def get_language_from_path(request: str) -> None: ... -def get_supported_language_variant(lang_code: str, strict: bool = ...) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/trans_real.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/trans_real.pyi deleted file mode 100644 index af3134c3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/translation/trans_real.pyi +++ /dev/null @@ -1,66 +0,0 @@ -import gettext as gettext_module -import sys -from gettext import NullTranslations -from typing import Any, Callable, Dict, Iterator, List, Optional, Pattern, Protocol, Tuple, TypeVar, Union - -from django.http.request import HttpRequest - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -CONTEXT_SEPARATOR: Literal["\x04"] -accept_language_re: Pattern[str] -language_code_re: Pattern[str] -language_code_prefix_re: Pattern[str] - -class _PluralCallable(Protocol): - def __call__(self, __n: int) -> int: ... - -def reset_cache(**kwargs: Any) -> None: ... - -_KeyT = Union[str, Tuple[str, int]] -_Z = TypeVar("_Z") - -class TranslationCatalog: - _catalogs: List[Dict[_KeyT, str]] - def __init__(self, trans: Optional[gettext_module.NullTranslations] = ...) -> None: ... - def __getitem__(self, key: _KeyT) -> str: ... - def __setitem__(self, key: _KeyT, value: str) -> None: ... - def __contains__(self, key: _KeyT) -> bool: ... - def items(self) -> Iterator[Tuple[_KeyT, str]]: ... - def keys(self) -> Iterator[_KeyT]: ... - def update(self, trans: gettext_module.NullTranslations) -> None: ... - def get(self, key: _KeyT, default: _Z = ...) -> Union[str, _Z]: ... - def plural(self, msgid: str, num: int) -> str: ... - -class DjangoTranslation(gettext_module.GNUTranslations): - domain: str = ... - plural: _PluralCallable = ... - def __init__(self, language: str, domain: Optional[str] = ..., localedirs: Optional[List[str]] = ...) -> None: ... - def merge(self, other: NullTranslations) -> None: ... - def language(self) -> str: ... - def to_language(self) -> str: ... - def ngettext(self, msgid1: str, msgid2: str, n: int) -> str: ... - -def translation(language: str) -> DjangoTranslation: ... -def activate(language: str) -> None: ... -def deactivate() -> None: ... -def deactivate_all() -> None: ... -def get_language() -> str: ... -def get_language_bidi() -> bool: ... -def catalog() -> DjangoTranslation: ... -def gettext(message: str) -> str: ... -def pgettext(context: str, message: str) -> str: ... -def gettext_noop(message: str) -> str: ... -def do_ntranslate(singular: str, plural: str, number: float, translation_function: str) -> str: ... -def ngettext(singular: str, plural: str, number: float) -> str: ... -def npgettext(context: str, singular: str, plural: str, number: int) -> str: ... -def all_locale_paths() -> List[str]: ... -def check_for_language(lang_code: Optional[str]) -> bool: ... -def get_languages() -> Dict[str, str]: ... -def get_supported_language_variant(lang_code: Optional[str], strict: bool = ...) -> str: ... -def get_language_from_path(path: str, strict: bool = ...) -> Optional[str]: ... -def get_language_from_request(request: HttpRequest, check_path: bool = ...) -> str: ... -def parse_accept_lang_header(lang_string: str) -> Tuple[Tuple[str, float], ...]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/tree.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/tree.pyi deleted file mode 100644 index 38ead9a3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/tree.pyi +++ /dev/null @@ -1,21 +0,0 @@ -from typing import Any, Dict, List, Optional, Sequence, Tuple, Union - -from django.db.models.sql.where import NothingNode - -_NodeChildren = List[Union["Node", NothingNode, Sequence[Any]]] - -class Node: - children: _NodeChildren - default: str = ... - connector: str = ... - negated: bool = ... - def __init__( - self, children: Optional[_NodeChildren] = ..., connector: Optional[str] = ..., negated: bool = ... - ) -> None: ... - def __deepcopy__(self, memodict: Dict[Any, Any]) -> Node: ... - def __len__(self) -> int: ... - def __bool__(self) -> bool: ... - def __contains__(self, other: Tuple[str, int]) -> bool: ... - def __hash__(self) -> int: ... - def add(self, data: Any, conn_type: str, squash: bool = ...) -> Any: ... - def negate(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/version.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/version.pyi deleted file mode 100644 index 4d7e15a4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/version.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from typing import Optional, Tuple - -PY36: bool -PY37: bool -PY38: bool -PY39: bool - -_VT = Tuple[int, int, int, str, int] - -def get_version(version: Optional[_VT] = ...) -> str: ... -def get_main_version(version: _VT = ...) -> str: ... -def get_complete_version(version: Optional[_VT] = ...) -> _VT: ... -def get_docs_version(version: Optional[_VT] = ...) -> str: ... -def get_git_changeset() -> Optional[str]: ... -def get_version_tuple(version: str) -> Tuple[int, int, int]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/xmlutils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/xmlutils.pyi deleted file mode 100644 index 45d8c4c3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/utils/xmlutils.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Dict, Optional -from xml.sax.saxutils import XMLGenerator - -class UnserializableContentError(ValueError): ... - -class SimplerXMLGenerator(XMLGenerator): - def addQuickElement( - self, name: str, contents: Optional[str] = ..., attrs: Optional[Dict[str, str]] = ... - ) -> None: ... - def characters(self, content: str) -> None: ... - def startElement(self, name: str, attrs: Dict[str, str]) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/__init__.pyi deleted file mode 100644 index cff086f3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/__init__.pyi +++ /dev/null @@ -1 +0,0 @@ -from .generic.base import View as View diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/csrf.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/csrf.pyi deleted file mode 100644 index 7b76e7df..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/csrf.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from django.http.request import HttpRequest -from django.http.response import HttpResponseForbidden - -CSRF_FAILURE_TEMPLATE: str -CSRF_FAILURE_TEMPLATE_NAME: str - -def csrf_failure(request: HttpRequest, reason: str = ..., template_name: str = ...) -> HttpResponseForbidden: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/debug.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/debug.pyi deleted file mode 100644 index 9f4f66b8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/debug.pyi +++ /dev/null @@ -1,68 +0,0 @@ -from importlib.abc import SourceLoader -from pathlib import Path -from types import TracebackType -from typing import Any, Callable, Dict, Iterator, List, Optional, Type, Union - -from django.http.request import HttpRequest, QueryDict -from django.http.response import Http404, HttpResponse -from django.utils.safestring import SafeString - -CLEANSED_SUBSTITUTE: str -CURRENT_DIR: Path - -class CallableSettingWrapper: - def __init__(self, callable_setting: Union[Callable, Type[Any]]) -> None: ... - -def technical_500_response(request: Any, exc_type: Any, exc_value: Any, tb: Any, status_code: int = ...): ... -def get_default_exception_reporter_filter() -> SafeExceptionReporterFilter: ... -def get_exception_reporter_filter(request: Optional[HttpRequest]) -> SafeExceptionReporterFilter: ... - -class SafeExceptionReporterFilter: - def cleanse_setting(self, key: Union[int, str], value: Any) -> Any: ... - def get_safe_settings(self) -> Dict[str, Any]: ... - def is_active(self, request: Optional[HttpRequest]) -> bool: ... - def get_cleansed_multivaluedict(self, request: HttpRequest, multivaluedict: QueryDict) -> QueryDict: ... - def get_post_parameters(self, request: Optional[HttpRequest]) -> Dict[str, Any]: ... - def cleanse_special_types(self, request: Optional[HttpRequest], value: Any) -> Any: ... - def get_traceback_frame_variables(self, request: Any, tb_frame: Any): ... - -class ExceptionReporter: - request: Optional[HttpRequest] = ... - filter: SafeExceptionReporterFilter = ... - exc_type: Optional[Type[BaseException]] = ... - exc_value: Optional[BaseException] = ... - tb: Optional[TracebackType] = ... - is_email: bool = ... - template_info: Optional[Any] = ... - template_does_not_exist: bool = ... - postmortem: Optional[Any] = ... - @property - def html_template_path(self) -> Path: ... - @property - def text_template_path(self) -> Path: ... - def __init__( - self, - request: Optional[HttpRequest], - exc_type: Optional[Type[BaseException]], - exc_value: Optional[BaseException], - tb: Optional[TracebackType], - is_email: bool = ..., - ) -> None: ... - def get_traceback_data(self) -> Dict[str, Any]: ... - def get_traceback_html(self) -> SafeString: ... - def get_traceback_text(self) -> SafeString: ... - def get_traceback_frames(self) -> List[Any]: ... - def get_exception_traceback_frames( - self, exc_value: Optional[BaseException], tb: Optional[TracebackType] - ) -> Iterator[Dict[str, Any]]: ... - def _get_lines_from_file( - self, - filename: str, - lineno: int, - context_lines: int, - loader: Optional[SourceLoader] = ..., - module_name: Optional[str] = ..., - ): ... - -def technical_404_response(request: HttpRequest, exception: Http404) -> HttpResponse: ... -def default_urlconf(request: Optional[HttpResponse]) -> HttpResponse: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/cache.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/cache.pyi deleted file mode 100644 index 7aaf3e7f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/cache.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from typing import Any, Callable, Optional, TypeVar - -_F = TypeVar("_F", bound=Callable[..., Any]) - -def cache_page( - timeout: Optional[float], *, cache: Optional[Any] = ..., key_prefix: Optional[Any] = ... -) -> Callable: ... -def cache_control(**kwargs: Any) -> Callable: ... -def never_cache(view_func: _F) -> _F: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/clickjacking.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/clickjacking.pyi deleted file mode 100644 index 1d0e483d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/clickjacking.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import Any, Callable, TypeVar - -_F = TypeVar("_F", bound=Callable[..., Any]) - -def xframe_options_deny(view_func: _F) -> _F: ... -def xframe_options_sameorigin(view_func: _F) -> _F: ... -def xframe_options_exempt(view_func: _F) -> _F: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/common.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/common.pyi deleted file mode 100644 index cf340c29..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/common.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from typing import Any, Callable, TypeVar - -_C = TypeVar("_C", bound=Callable[..., Any]) - -def no_append_slash(view_func: _C) -> _C: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/csrf.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/csrf.pyi deleted file mode 100644 index a9f9a047..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/csrf.pyi +++ /dev/null @@ -1,19 +0,0 @@ -from typing import Any, Callable, TypeVar - -from django.middleware.csrf import CsrfViewMiddleware - -csrf_protect: Any - -class _EnsureCsrfToken(CsrfViewMiddleware): ... - -requires_csrf_token: Any - -class _EnsureCsrfCookie(CsrfViewMiddleware): - get_response: None - def process_view(self, request: Any, callback: Any, callback_args: Any, callback_kwargs: Any): ... - -ensure_csrf_cookie: Any - -_F = TypeVar("_F", bound=Callable[..., Any]) - -def csrf_exempt(view_func: _F) -> _F: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/debug.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/debug.pyi deleted file mode 100644 index e437d4e1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/debug.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any, Callable - -def sensitive_variables(*variables: Any) -> Callable: ... -def sensitive_post_parameters(*parameters: Any) -> Callable: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/gzip.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/gzip.pyi deleted file mode 100644 index ed3f3515..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/gzip.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from typing import Any, Callable, TypeVar - -_C = TypeVar("_C", bound=Callable[..., Any]) - -gzip_page: Callable[[_C], _C] = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/http.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/http.pyi deleted file mode 100644 index 9e4dc953..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/http.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from typing import Any, Callable, List, Optional, TypeVar - -_F = TypeVar("_F", bound=Callable[..., Any]) - -conditional_page: Callable[[_F], _F] = ... - -def require_http_methods(request_method_list: List[str]) -> Callable[[_F], _F]: ... - -require_GET: Callable[[_F], _F] = ... -require_POST: Callable[[_F], _F] = ... -require_safe: Callable[[_F], _F] = ... - -def condition(etag_func: Optional[Callable] = ..., last_modified_func: Optional[Callable] = ...) -> Callable: ... -def etag(etag_func: Callable[..., Any]) -> Callable[[_F], _F]: ... -def last_modified(last_modified_func: Callable[..., Any]) -> Callable[[_F], _F]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/vary.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/vary.pyi deleted file mode 100644 index 0601a4ae..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/decorators/vary.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any, Callable, TypeVar - -_F = TypeVar("_F", bound=Callable[..., Any]) - -def vary_on_headers(*headers: Any) -> Callable: ... -def vary_on_cookie(func: _F) -> _F: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/defaults.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/defaults.pyi deleted file mode 100644 index 3241eb8f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/defaults.pyi +++ /dev/null @@ -1,23 +0,0 @@ -from typing import Optional - -from django.http.request import HttpRequest -from django.http.response import ( - HttpResponseBadRequest, - HttpResponseForbidden, - HttpResponseNotFound, - HttpResponseServerError, -) - -ERROR_404_TEMPLATE_NAME: str -ERROR_403_TEMPLATE_NAME: str -ERROR_400_TEMPLATE_NAME: str -ERROR_500_TEMPLATE_NAME: str - -def page_not_found( - request: HttpRequest, exception: Optional[Exception], template_name: str = ... -) -> HttpResponseNotFound: ... -def server_error(request: HttpRequest, template_name: str = ...) -> HttpResponseServerError: ... -def bad_request(request: HttpRequest, exception: Exception, template_name: str = ...) -> HttpResponseBadRequest: ... -def permission_denied( - request: HttpRequest, exception: Exception, template_name: str = ... -) -> HttpResponseForbidden: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/__init__.pyi deleted file mode 100644 index f8cae74a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/__init__.pyi +++ /dev/null @@ -1,18 +0,0 @@ -from .base import RedirectView as RedirectView -from .base import TemplateView as TemplateView -from .base import View as View -from .dates import ArchiveIndexView as ArchiveIndexView -from .dates import DateDetailView as DateDetailView -from .dates import DayArchiveView as DayArchiveView -from .dates import MonthArchiveView as MonthArchiveView -from .dates import TodayArchiveView as TodayArchiveView -from .dates import WeekArchiveView as WeekArchiveView -from .dates import YearArchiveView as YearArchiveView -from .detail import DetailView as DetailView -from .edit import CreateView as CreateView -from .edit import DeleteView as DeleteView -from .edit import FormView as FormView -from .edit import UpdateView as UpdateView -from .list import ListView as ListView - -class GenericViewError(Exception): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/base.pyi deleted file mode 100644 index cccb551b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/base.pyi +++ /dev/null @@ -1,47 +0,0 @@ -from typing import Any, Callable, Dict, List, Optional, Type - -from django.http.request import HttpRequest -from django.http.response import HttpResponse, HttpResponseBase - -class ContextMixin: - extra_context: Optional[Dict[str, Any]] - def get_context_data(self, **kwargs: Any) -> Dict[str, Any]: ... - -class View: - http_method_names: List[str] = ... - request: HttpRequest = ... - args: Any = ... - kwargs: Any = ... - def __init__(self, **kwargs: Any) -> None: ... - @classmethod - def as_view(cls: Any, **initkwargs: Any) -> Callable[..., HttpResponseBase]: ... - def setup(self, request: HttpRequest, *args: Any, **kwargs: Any) -> None: ... - def dispatch(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponseBase: ... - def http_method_not_allowed(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ... - def options(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponseBase: ... - -class TemplateResponseMixin: - template_name: str = ... - template_engine: Optional[str] = ... - response_class: Type[HttpResponse] = ... - content_type: Optional[str] = ... - request: HttpRequest = ... - def render_to_response(self, context: Dict[str, Any], **response_kwargs: Any) -> HttpResponse: ... - def get_template_names(self) -> List[str]: ... - -class TemplateView(TemplateResponseMixin, ContextMixin, View): - def get(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ... - -class RedirectView(View): - permanent: bool = ... - url: Optional[str] = ... - pattern_name: Optional[str] = ... - query_string: bool = ... - def get_redirect_url(self, *args: Any, **kwargs: Any) -> Optional[str]: ... - def get(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponseBase: ... - def head(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponseBase: ... - def post(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponseBase: ... - def options(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponseBase: ... - def delete(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponseBase: ... - def put(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponseBase: ... - def patch(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponseBase: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/dates.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/dates.pyi deleted file mode 100644 index 3790372d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/dates.pyi +++ /dev/null @@ -1,114 +0,0 @@ -import datetime -from typing import Any, Dict, Optional, Sequence, Tuple, TypeVar, Union - -from django.db import models -from django.db.models.query import QuerySet -from django.http import HttpRequest, HttpResponse -from django.utils.datastructures import _IndexableCollection -from django.views.generic.base import View -from django.views.generic.detail import BaseDetailView, SingleObjectTemplateResponseMixin -from django.views.generic.list import MultipleObjectMixin, MultipleObjectTemplateResponseMixin - -_M = TypeVar("_M", bound=models.Model) - -class YearMixin: - year_format: str = ... - year: Optional[str] = ... - def get_year_format(self) -> str: ... - def get_year(self) -> str: ... - def get_next_year(self, date: datetime.date) -> Optional[datetime.date]: ... - def get_previous_year(self, date: datetime.date) -> Optional[datetime.date]: ... - -class MonthMixin: - month_format: str = ... - month: Optional[str] = ... - def get_month_format(self) -> str: ... - def get_month(self) -> str: ... - def get_next_month(self, date: datetime.date) -> Optional[datetime.date]: ... - def get_previous_month(self, date: datetime.date) -> Optional[datetime.date]: ... - -class DayMixin: - day_format: str = ... - day: Optional[str] = ... - def get_day_format(self) -> str: ... - def get_day(self) -> str: ... - def get_next_day(self, date: datetime.date) -> Optional[datetime.date]: ... - def get_previous_day(self, date: datetime.date) -> Optional[datetime.date]: ... - -class WeekMixin: - week_format: str = ... - week: Optional[str] = ... - def get_week_format(self) -> str: ... - def get_week(self) -> str: ... - def get_next_week(self, date: datetime.date) -> Optional[datetime.date]: ... - def get_previous_week(self, date: datetime.date) -> Optional[datetime.date]: ... - -class DateMixin: - date_field: Optional[str] = ... - allow_future: bool = ... - def get_date_field(self) -> str: ... - def get_allow_future(self) -> bool: ... - @property - def uses_datetime_field(self) -> bool: ... - -DatedItems = Tuple[Optional[_IndexableCollection[datetime.date]], _IndexableCollection[_M], Dict[str, Any]] - -class BaseDateListView(MultipleObjectMixin[_M], DateMixin, View): - date_list_period: str = ... - def get(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ... - def get_dated_items(self) -> DatedItems: ... - def get_ordering(self) -> Union[str, Sequence[str]]: ... - def get_dated_queryset(self, **lookup: Any) -> models.query.QuerySet[_M]: ... - def get_date_list_period(self) -> str: ... - def get_date_list( - self, queryset: models.query.QuerySet, date_type: Optional[str] = ..., ordering: str = ... - ) -> models.query.QuerySet: ... - -class BaseArchiveIndexView(BaseDateListView[_M]): - context_object_name: str = ... - def get_dated_items(self) -> DatedItems[_M]: ... - -class ArchiveIndexView(MultipleObjectTemplateResponseMixin, BaseArchiveIndexView): - template_name_suffix: str = ... - -class BaseYearArchiveView(YearMixin, BaseDateListView[_M]): - date_list_period: str = ... - make_object_list: bool = ... - def get_dated_items(self) -> DatedItems[_M]: ... - def get_make_object_list(self) -> bool: ... - -class YearArchiveView(MultipleObjectTemplateResponseMixin, BaseYearArchiveView): - template_name_suffix: str = ... - -class BaseMonthArchiveView(YearMixin, MonthMixin, BaseDateListView[_M]): - date_list_period: str = ... - def get_dated_items(self) -> DatedItems[_M]: ... - -class MonthArchiveView(MultipleObjectTemplateResponseMixin, BaseMonthArchiveView): - template_name_suffix: str = ... - -class BaseWeekArchiveView(YearMixin, WeekMixin, BaseDateListView[_M]): - def get_dated_items(self) -> DatedItems[_M]: ... - -class WeekArchiveView(MultipleObjectTemplateResponseMixin, BaseWeekArchiveView): - template_name_suffix: str = ... - -class BaseDayArchiveView(YearMixin, MonthMixin, DayMixin, BaseDateListView[_M]): - def get_dated_items(self) -> DatedItems[_M]: ... - -class DayArchiveView(MultipleObjectTemplateResponseMixin, BaseDayArchiveView): - template_name_suffix: str = ... - -class BaseTodayArchiveView(BaseDayArchiveView[_M]): - def get_dated_items(self) -> DatedItems[_M]: ... - -class TodayArchiveView(MultipleObjectTemplateResponseMixin, BaseTodayArchiveView): - template_name_suffix: str = ... - -class BaseDateDetailView(YearMixin, MonthMixin, DayMixin, DateMixin, BaseDetailView[_M]): - def get_object(self, queryset: Optional[QuerySet[_M]] = ...) -> _M: ... - -class DateDetailView(SingleObjectTemplateResponseMixin, BaseDateDetailView): - template_name_suffix: str = ... - -def timezone_today() -> datetime.date: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/detail.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/detail.pyi deleted file mode 100644 index 5b28fb34..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/detail.pyi +++ /dev/null @@ -1,29 +0,0 @@ -from typing import Any, Generic, Optional, Type, TypeVar - -from django.db import models -from django.http import HttpRequest, HttpResponse -from django.views.generic.base import ContextMixin, TemplateResponseMixin, View - -_M = TypeVar("_M", bound=models.Model) - -class SingleObjectMixin(Generic[_M], ContextMixin): - model: Type[_M] = ... - queryset: Optional[models.query.QuerySet[_M]] = ... - slug_field: str = ... - context_object_name: Optional[str] = ... - slug_url_kwarg: str = ... - pk_url_kwarg: str = ... - query_pk_and_slug: bool = ... - def get_object(self, queryset: Optional[models.query.QuerySet[_M]] = ...) -> _M: ... - def get_queryset(self) -> models.query.QuerySet[_M]: ... - def get_slug_field(self) -> str: ... - def get_context_object_name(self, obj: _M) -> Optional[str]: ... - -class BaseDetailView(SingleObjectMixin[_M], View): - def get(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ... - -class SingleObjectTemplateResponseMixin(TemplateResponseMixin): - template_name_field: Optional[str] = ... - template_name_suffix: str = ... - -class DetailView(SingleObjectTemplateResponseMixin, BaseDetailView[_M]): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/edit.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/edit.pyi deleted file mode 100644 index 92887725..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/edit.pyi +++ /dev/null @@ -1,79 +0,0 @@ -import sys -from typing import Any, Dict, Generic, Optional, Type, TypeVar, Union - -from django.db import models -from django.forms.forms import BaseForm -from django.forms.models import BaseModelForm -from django.http import HttpRequest, HttpResponse -from django.utils.datastructures import _ListOrTuple -from django.views.generic.base import ContextMixin, TemplateResponseMixin, View -from django.views.generic.detail import BaseDetailView, SingleObjectMixin, SingleObjectTemplateResponseMixin - -if sys.version_info < (3, 8): - from typing_extensions import Literal -else: - from typing import Literal - -_FormT = TypeVar("_FormT", bound=BaseForm) -_ModelFormT = TypeVar("_ModelFormT", bound=BaseModelForm) -_M = TypeVar("_M", bound=models.Model) - -class FormMixin(Generic[_FormT], ContextMixin): - initial: Dict[str, Any] = ... - form_class: Optional[Type[_FormT]] = ... - success_url: Optional[str] = ... - prefix: Optional[str] = ... - def get_initial(self) -> Dict[str, Any]: ... - def get_prefix(self) -> Optional[str]: ... - def get_form_class(self) -> Type[_FormT]: ... - def get_form(self, form_class: Optional[Type[_FormT]] = ...) -> BaseForm: ... - def get_form_kwargs(self) -> Dict[str, Any]: ... - def get_success_url(self) -> str: ... - def form_valid(self, form: _FormT) -> HttpResponse: ... - def form_invalid(self, form: _FormT) -> HttpResponse: ... - def get_context_data(self, **kwargs: Any) -> Dict[str, Any]: ... - -class ModelFormMixin(Generic[_M, _ModelFormT], FormMixin[_ModelFormT], SingleObjectMixin[_M]): - fields: Optional[Union[_ListOrTuple[str], Literal["__all__"]]] = ... - def get_form_class(self) -> Type[_ModelFormT]: ... - def get_form_kwargs(self) -> Dict[str, Any]: ... - def get_success_url(self) -> str: ... - def form_valid(self, form: _ModelFormT) -> HttpResponse: ... - -class ProcessFormView(View): - def get(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ... - def post(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ... - def put(self, *args: Any, **kwargs: Any) -> HttpResponse: ... - -class BaseFormView(FormMixin[_FormT], ProcessFormView): ... -class FormView(TemplateResponseMixin, BaseFormView[_FormT]): ... - -class BaseCreateView(ModelFormMixin[_M, _ModelFormT], ProcessFormView): - object: None - def get(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ... - def post(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ... - -class CreateView(SingleObjectTemplateResponseMixin, BaseCreateView[_M, _ModelFormT]): - template_name_suffix: str = ... - -class BaseUpdateView(ModelFormMixin[_M, _ModelFormT], ProcessFormView): - object: _M - def get(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ... - def post(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ... - -class UpdateView(SingleObjectTemplateResponseMixin, BaseUpdateView[_M, _ModelFormT]): - template_name_suffix: str = ... - -class DeletionMixin(Generic[_M]): - success_url: Optional[str] = ... - object: _M - def post(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ... - def delete(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ... - def get_success_url(self) -> str: ... - -class BaseDeleteView(DeletionMixin[_M], BaseDetailView[_M]): - object: _M - -class DeleteView(SingleObjectTemplateResponseMixin, BaseDeleteView[_M]): - object: _M - template_name_suffix: str = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/list.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/list.pyi deleted file mode 100644 index 1a2d0671..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/generic/list.pyi +++ /dev/null @@ -1,45 +0,0 @@ -from typing import Any, Generic, Optional, Sequence, Tuple, Type, TypeVar, Union - -from django.core.paginator import Page, Paginator, _SupportsPagination -from django.db.models import Model -from django.http import HttpRequest, HttpResponse -from django.views.generic.base import ContextMixin, TemplateResponseMixin, View - -_M = TypeVar("_M", bound=Model, covariant=True) - -class MultipleObjectMixin(Generic[_M], ContextMixin): - allow_empty: bool = ... - queryset: Optional[_SupportsPagination[_M]] = ... - model: Optional[Type[_M]] = ... - paginate_by: int = ... - paginate_orphans: int = ... - context_object_name: Optional[str] = ... - paginator_class: Type[Paginator] = ... - page_kwarg: str = ... - ordering: Optional[Union[str, Sequence[str]]] = ... - def get_queryset(self) -> _SupportsPagination[_M]: ... - def get_ordering(self) -> Optional[Union[str, Sequence[str]]]: ... - def paginate_queryset( - self, queryset: _SupportsPagination[_M], page_size: int - ) -> Tuple[Paginator, Page, _SupportsPagination[_M], bool]: ... - def get_paginate_by(self, queryset: _SupportsPagination[_M]) -> Optional[int]: ... - def get_paginator( - self, - queryset: _SupportsPagination[_M], - per_page: int, - orphans: int = ..., - allow_empty_first_page: bool = ..., - **kwargs: Any - ) -> Paginator: ... - def get_paginate_orphans(self) -> int: ... - def get_allow_empty(self) -> bool: ... - def get_context_object_name(self, object_list: _SupportsPagination[_M]) -> Optional[str]: ... - -class BaseListView(MultipleObjectMixin[_M], View): - object_list: _SupportsPagination[_M] - def get(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ... - -class MultipleObjectTemplateResponseMixin(TemplateResponseMixin): - template_name_suffix: str = ... - -class ListView(MultipleObjectTemplateResponseMixin, BaseListView[_M]): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/i18n.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/i18n.pyi deleted file mode 100644 index 8495ec35..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/i18n.pyi +++ /dev/null @@ -1,27 +0,0 @@ -from typing import Any, Callable, Dict, List, Optional, Union - -from django.http.request import HttpRequest -from django.http.response import HttpResponse -from django.utils.translation.trans_real import DjangoTranslation -from django.views.generic import View - -LANGUAGE_QUERY_PARAMETER: str - -def set_language(request: HttpRequest) -> HttpResponse: ... -def get_formats() -> Dict[str, Union[List[str], int, str]]: ... - -js_catalog_template: str - -class JavaScriptCatalog(View): - head: Callable - domain: str = ... - packages: List[str] = ... - translation: DjangoTranslation = ... - def get(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse: ... - def get_paths(self, packages: List[str]) -> List[str]: ... - def get_plural(self) -> Optional[List[str]]: ... - def get_catalog(self) -> Dict[str, Union[List[str], str]]: ... - def get_context_data(self, **kwargs: Any) -> Dict[str, Any]: ... - def render_to_response(self, context: Dict[str, Any], **response_kwargs: Any) -> HttpResponse: ... - -class JSONCatalog(JavaScriptCatalog): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/static.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/static.pyi deleted file mode 100644 index a1b9c896..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/django/views/static.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from typing import Any, Optional - -from django.http.request import HttpRequest -from django.http.response import HttpResponseBase - -def serve( - request: HttpRequest, path: str, document_root: Optional[str] = ..., show_indexes: bool = ... -) -> HttpResponseBase: ... - -DEFAULT_DIRECTORY_INDEX_TEMPLATE: str -template_translatable: Any - -def directory_index(path: Any, fullpath: Any): ... -def was_modified_since(header: Optional[str] = ..., mtime: float = ..., size: int = ...) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/core.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/core.pyi deleted file mode 100644 index 5d6a73f0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/core.pyi +++ /dev/null @@ -1,59 +0,0 @@ -from typing import Any, Dict, List, Literal, Mapping, Tuple, TypeVar, overload - -import numpy as np - -from .envs.registration import EnvSpec -from .spaces import Space - -_ActionType = Any -_OperationType = Any - -_Action = TypeVar("_Action") -_Operation = TypeVar("_Operation") - -class Env(object): - metadata: Dict[str, List[str]] - reward_range: Tuple[float, float] - spec: EnvSpec - - action_space: Space - observation_space: Space - - unwrapped: Env - def step( - self, action: _ActionType - ) -> Tuple[_OperationType, float, bool, Dict[str, Any]]: ... - def reset(self) -> Any: ... - @overload - def render(self, mode: Literal["human"]) -> None: ... - @overload - def render(self, mode: Literal["rgb_array"]) -> np.ndarray: ... - @overload - def render(self, mode: Literal["ansi"]) -> Any: ... - @overload - def render(self, mode: str = ...) -> Any: ... - def close(self) -> None: ... - def seed(self, seed: int = ...) -> List[int]: ... - -class GoalEnv(Env): - def compute_reward( - self, achieved_goal: object, desired_goal: object, info: Mapping[str, Any] - ) -> float: ... - -class Wrapper(Env): - def __init__(self, env: Env) -> None: ... - def compute_reward( - self, achieved_goal: object, desired_goal: object, info: Mapping[str, Any] - ) -> float: ... - @classmethod - def class_name(cls) -> str: ... - -class ObservationWrapper(Wrapper): - def observation(self, observation: _Operation) -> _Operation: ... - -class RewardWrapper(Wrapper): - def reward(self, reward: float) -> float: ... - -class ActionWrapper(Wrapper): - def action(self, action: _Action) -> _Action: ... - def reverse_action(self, action: _Action) -> _Action: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/envs/registration.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/envs/registration.pyi deleted file mode 100644 index 8896c0e6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/envs/registration.pyi +++ /dev/null @@ -1,29 +0,0 @@ -from typing import Any, Mapping, Optional, ValuesView - -from ..core import Env - - -class EnvSpec(object): - def __init__( - self, - id: str, - entry_point:Optional[str]=..., - reward_threshold:Optional[int]=..., - nondeterministic:bool=..., - max_episode_steps:Optional[int]=..., - kwargs:Optional[Mapping[str, Any]]=... - ) -> None: ... - def make(self, **kwargs: Any) -> Env: ... - -class EnvRegistry(object): - def make(self, path: str, **kwargs: Any) -> Env: ... - def all(self) -> ValuesView[EnvSpec]: ... - def spec(self, path: str) -> EnvSpec: ... - def register(self, id: str, **kwargs: Any) -> None: ... - -# Have a global registry -registry: EnvRegistry - -def register(id: str, **kwargs: Any) -> None: ... -def make(id: str, **kwargs: Any) -> Env: ... -def spec(id: str) -> EnvSpec: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/logger.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/logger.pyi deleted file mode 100644 index 13b46ad6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/logger.pyi +++ /dev/null @@ -1,18 +0,0 @@ -from typing import Any - -DEBUG = 10 -INFO = 20 -WARN = 30 -ERROR = 40 -DISABLED = 50 - -MIN_LEVEL = 30 - -def set_level(level: int) -> None: ... -def debug(msg: str, *args: Any) -> None: ... -def info(msg: str, *args: Any) -> None: ... -def warn(msg: str, *args: Any) -> None: ... -def error(msg: str, *args: Any) -> None: ... - -# DEPRECATED: -setLevel = set_level diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/py.typed b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/py.typed deleted file mode 100644 index c4e26706..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/py.typed +++ /dev/null @@ -1 +0,0 @@ -partial diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/box.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/box.pyi deleted file mode 100644 index d7b447d9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/box.pyi +++ /dev/null @@ -1,13 +0,0 @@ -from typing import Any, Optional, Sequence, Type, Union - -from .space import Space - -class Box(Space): - def __init__( - self, - low: Union[float, Sequence[float]], - high: Union[float, Sequence[float]], - shape: Optional[Any] = ..., - dtype: Optional[Type[Any]] = ..., - ) -> None: ... - def is_bounded(self, manner: str = ...) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/dict.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/dict.pyi deleted file mode 100644 index 43eabf83..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/dict.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import Mapping, Optional -from .space import Space - -class Dict(Space): - def __init__( - self, spaces: Optional[Mapping[str, Space]] = ..., **spaces_kwargs: Space - ) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/discrete.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/discrete.pyi deleted file mode 100644 index e6d36e42..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/discrete.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from .space import Space - -class Discrete(Space): - def __init__(self, n: int) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/multi_binary.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/multi_binary.pyi deleted file mode 100644 index 2b619a0d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/multi_binary.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Union, Sequence - -from .space import Space - -class MultiBinary(Space): - def __init__(self, n: Union[int, Sequence[int]]) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/multi_discrete.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/multi_discrete.pyi deleted file mode 100644 index 01520848..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/multi_discrete.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from typing import Sequence -from .space import Space - -class MultiDiscrete(Space): - def __init__(self, nvec: Sequence[int]) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/space.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/space.pyi deleted file mode 100644 index 6c2e81cd..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/space.pyi +++ /dev/null @@ -1,19 +0,0 @@ -from typing import Any, List, Optional, Sequence - -import numpy as np - -_ShapeType = Any -_DType = Type[Any] -_SampleType = Any - -class Space(object): - def __init__( - self, shape: Optional[_ShapeType] = ..., dtype: Optional[_DType] = ... - ) -> None: ... - @property - def np_random(self) -> np.random.RandomState: ... - def sample(self) -> _SampleType: ... - def seed(self, seed: Optional[int] = ...) -> List[int]: ... - def contains(self, x: Any) -> bool: ... - def to_jsonable(self, sample_n: Sequence[Any]) -> List[Any]: ... - def from_jsonable(self, sample_n: Sequence[Any]) -> List[Any]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/tuple.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/tuple.pyi deleted file mode 100644 index d1aff228..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/tuple.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Sequence - -import numpy as np - -from .space import Space - -class Tuple(Space): - def __init__(self, spaces: Sequence[Space]): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/utils.pyi deleted file mode 100644 index e42bfaca..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/spaces/utils.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any - -import numpy as np - -from .box import Box - -def flatdim(space: Space) -> int: ... -def flatten(space: Space, x: Any) -> np.ndarray: ... -def unflatten(space: Space, x: Any) -> Any: ... -def flatten_space(space: Space) -> Box: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/vector/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/vector/__init__.pyi deleted file mode 100644 index b5fc690d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/vector/__init__.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from typing import Any, Callable, Iterable, Optional, Union - -from .async_vector_env import AsyncVectorEnv -from .sync_vector_env import SyncVectorEnv -from .vector_env import VectorEnv, VectorEnvWrapper - -__all__ = ["AsyncVectorEnv", "SyncVectorEnv", "VectorEnv", "VectorEnvWrapper", "make"] - -def make( - id: str, - num_envs: int = ..., - asynchronous: bool = ..., - wrappers: Optional[Union[Callable[...,Any], Iterable[Callable[...,Any]]]] = ..., - **kwargs: Any -) -> VectorEnv: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/vector/async_vector_env.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/vector/async_vector_env.pyi deleted file mode 100644 index 02ca81f9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/vector/async_vector_env.pyi +++ /dev/null @@ -1,28 +0,0 @@ -from enum import Enum -from typing import Any, Callable, Iterable, Optional - -import numpy as np - -from ..core import Env -from ..spaces.space import Space -from .vector_env import VectorEnv - -__all__ = ["AsyncVectorEnv"] - -class AsyncState(Enum): - DEFAULT = "default" - WAITING_RESET = "reset" - WAITING_STEP = "step" - -class AsyncVectorEnv(VectorEnv): - def __init__( - self, - env_fns: Iterable[Callable[[], Env]], - observation_space: Optional[Space] = ..., - action_space: Optional[Space] = ..., - shared_memory: bool = ..., - copy: bool = ..., - context: Optional[str] = ..., - daemon: bool = ..., - worker: Optional[Any] = ..., - ) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/vector/sync_vector_env.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/vector/sync_vector_env.pyi deleted file mode 100644 index 44570fd5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/vector/sync_vector_env.pyi +++ /dev/null @@ -1,18 +0,0 @@ -from typing import Callable, Iterable, Optional - -import numpy as np - -from ..core import Env -from ..spaces.space import Space -from .vector_env import VectorEnv - -__all__ = ["SyncVectorEnv"] - -class SyncVectorEnv(VectorEnv): - def __init__( - self, - env_fns: Iterable[Callable[[], Env]], - observation_space: Optional[Space] = ..., - action_space: Optional[Space] = ..., - copy: bool = ..., - ) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/vector/vector_env.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/vector/vector_env.pyi deleted file mode 100644 index 0a6917fe..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/vector/vector_env.pyi +++ /dev/null @@ -1,28 +0,0 @@ -from typing import Any, Dict, List, Optional, Sequence, Tuple, Union - -import numpy as np - -from ..core import Env -from ..spaces.space import Space - -__all__ = ["VectorEnv"] - -class VectorEnv(Env): - def __init__( - self, num_envs: int, observation_space: Space, action_space: Space - ) -> None: ... - def reset_async(self) -> None: ... - def reset_wait(self, **kwargs: Any) -> Any: ... - def step_async(self, actions: Sequence[Any]) -> None: ... - def step_wait( - self, **kwargs: Any - ) -> Tuple[Any, np.ndarray, np.ndarray, Dict[str, Any]]: ... - def step( - self, actions: Sequence[Any] - ) -> Tuple[Any, np.ndarray, np.ndarray, Dict[str, Any]]: ... - def close_extras(self, **kwargs: Any) -> None: ... - def close(self, **kwargs: Any) -> None: ... - def seed(self, seeds: Optional[Union[int, Sequence[int]]] = ...) -> List[int]: ... - -class VectorEnvWrapper(VectorEnv): - def __init__(self, env: VectorEnv) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/wrappers/time_limit.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/wrappers/time_limit.pyi deleted file mode 100644 index 2ff84740..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/gym-stubs/wrappers/time_limit.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Optional - -from ..core import Env, Wrapper - -class TimeLimit(Wrapper): - def __init__(self, env: Env, max_episode_steps: Optional[int] = ...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/__init__.pyi deleted file mode 100644 index 90a5ecc3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/__init__.pyi +++ /dev/null @@ -1,16 +0,0 @@ -# pyright: strict - -from decimal import Decimal -from jmespath.parser import ParsedResult -from jmespath.visitor import Options -from typing import ( - Any, - List, - Optional, - Union, -) - -def compile(expression: str) -> ParsedResult: ... -def search( - expression: str, data: Any, options: Optional[Options] = ... -) -> Union[List[str], str, List[Decimal], Decimal]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/exceptions.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/exceptions.pyi deleted file mode 100644 index 5c3fef15..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/exceptions.pyi +++ /dev/null @@ -1,64 +0,0 @@ -# pyright: strict - -from typing import ( - Any, - Sequence, - Optional, -) -class JMESPathError(ValueError): ... -class UnknownFunctionError(JMESPathError): ... - -class ParseError(JMESPathError): - lex_position: int = ... - token_value: str = ... - token_type: str = ... - msg: str = ... - expression: Any = ... - def __init__( - self, lex_position: int, token_value: str, token_type: str, msg: str = ... - ) -> None: ... - def __str__(self) -> str: ... - -class IncompleteExpressionError(ParseError): - def __str__(self) -> str: ... - def set_expression(self, expression: str) -> None: ... - -class LexerError(ParseError): - lexer_position: int = ... - lexer_value: str = ... - message: str = ... - def __init__( - self, - lexer_position: int, - lexer_value: str, - message: str, - expression: None = ..., - ) -> None: ... - def __str__(self) -> str: ... - -class ArityError(ParseError): - expected_arity: int = ... - actual_arity: int = ... - function_name: str = ... - def __init__(self, expected: int, actual: int, name: str) -> None: ... - def __str__(self) -> str: ... - -class VariadictArityError(ArityError): - def __str__(self) -> str: ... - -class JMESPathTypeError(JMESPathError): - function_name: str = ... - current_value: Any = ... - actual_type: str = ... - expected_types: Sequence[str] = ... - def __init__( - self, - function_name: str, - current_value: Any, - actual_type: str, - expected_types: Sequence[str], - ) -> None: ... - def __str__(self) -> str: ... - -class EmptyExpressionError(JMESPathError): - def __init__(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/functions.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/functions.pyi deleted file mode 100644 index 90241f30..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/functions.pyi +++ /dev/null @@ -1,6 +0,0 @@ -# pyright: strict - -from typing import Any - -class Functions: - def call_function(self, function_name: str, resolved_args: Any) -> Any: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/parser.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/parser.pyi deleted file mode 100644 index a5d07b0e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/parser.pyi +++ /dev/null @@ -1,15 +0,0 @@ -# pyright: strict - -from jmespath.visitor import Options -from typing import Any, Mapping, Optional - -class ParsedResult: - def __init__(self, expression: str, parsed: Mapping[str, Any]) -> None: ... - def _render_dot_file(self) -> str: ... - def search(self, value: Any, options: Optional[Options] = ...) -> Any: ... - -class Parser: - def __init__(self, lookahead: int = ...) -> None: ... - def parse(self, expression: str) -> ParsedResult: ... - @classmethod - def purge(cls) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/visitor.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/visitor.pyi deleted file mode 100644 index 387dbec7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/jmespath/visitor.pyi +++ /dev/null @@ -1,11 +0,0 @@ -# pyright: strict - -from jmespath.functions import Functions -from typing import Any, Type, TypeVar, Mapping - -_T = TypeVar("_T", bound=Functions) - -class Options: - def __init__( - self, dict_cls: Type[Mapping[Any, Any]] = ..., custom_functions: _T = ... - ) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/__init__.pyi deleted file mode 100644 index eea5ed25..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/__init__.pyi +++ /dev/null @@ -1,44 +0,0 @@ -# COMPLETE - -from typing import Any, AnyStr, ContextManager, Dict, Literal, Mapping, MutableMapping, Optional, Pattern, Sequence, Union -import .colors as colors - -def use(backend: str, warn: bool = ..., force: bool = ...) -> None: ... - -def get_backend() -> str: ... - -rcParams: RcParams - -def rc_context(rc: Optional[Mapping[Any, Any]] = ..., fname: Optional[str] = ...) -> ContextManager[None]: ... - -def rc(group: Union[str, Sequence[str]], **kwargs: Any) -> None: ... - -def rc_file(fname: str, *, use_default_template: bool = ...) -> None: ... - -def rcdefaults() -> None: ... - -def rc_file_defaults() -> None: ... - -# TODO: Str -> Any? -class RcParams(MutableMapping[Any, Any]): - validate: Dict[str, Any] - - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def copy(self) -> Dict[Any, Any]: ... - def find_all(self, pattern: Union[AnyStr, Pattern[AnyStr]]) -> RcParams: ... - - -def rc_params(fail_on_error: bool = ...) -> RcParams: ... - -def rc_params_from_file(fname: str, fail_on_error: bool = ..., use_default_template: bool = ...) -> RcParams: ... - -def matplotlib_fname() -> str: ... - -def interactive(b: bool) -> None: ... - -def is_interactive() -> bool: ... - -def set_loglevel(level: Literal["notset", "debug", "info", "warning", "error", "critical"]) -> None: ... - -def get_configdir() -> str: ... -def get_cachedir() -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/_typing.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/_typing.pyi deleted file mode 100644 index 4e84a9ca..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/_typing.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from typing import Callable -from numpy import ndarray as ndarray -from numpy.typing import ArrayLike as ArrayLike -from numpy.typing import _ScalarLike - -Scalar = _ScalarLike - - -# For writing stubs without numpy installed. -# from typing import Any -# ndarray = Any -# ArrayLike = Any -# Scalar = Any - -_DetrendCallable = Callable[[ArrayLike], ArrayLike] diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/afm.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/afm.pyi deleted file mode 100644 index 4daaf433..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/afm.pyi +++ /dev/null @@ -1,76 +0,0 @@ -# COMPLETE - -from typing import (BinaryIO, List, Literal, NamedTuple, Optional, Tuple, - Union, overload) - - -class CharMetrics(NamedTuple): - width: float - name: str - bbox: List[int] - -class CompositePart(NamedTuple): - name: str - dx: float - dy: float - -class AFM: - def __init__(self, fh: BinaryIO) -> None: ... - - @property - def postscript_name(self) -> str: ... - @property - def family_name(self) -> str: ... - - def get_angle(self) -> float: ... - - @overload - def get_bbox_char(self, c: str, isord: Literal[False] = ...) -> List[int]: ... - @overload - def get_bbox_char(self, c: int, isord: Literal[True] = ...) -> List[int]: ... - @overload - def get_bbox_char(self, c: Union[str, int], isord: bool = ...) -> List[int]: ... - - def get_capheight(self) -> float: ... - - def get_familyname(self) -> str: ... - def get_fontname(self) -> str: ... - def get_fullname(self) -> str: ... - - @overload - def get_height_char(self, c: str, isord: Literal[False] = ...) -> int: ... - @overload - def get_height_char(self, c: int, isord: Literal[True] = ...) -> int: ... - @overload - def get_height_char(self, c: Union[str, int], isord: bool = ...) -> int: ... - - def get_horizontal_stem_width(self) -> float: ... - - def get_kern_dist(self, c1: Union[str, int], c2: Union[str, int]) -> float: ... - def get_kern_dist_from_name(self, name1: str, name2: str) -> float: ... - - @overload - def get_name_char(self, c: str, isord: Literal[False] = ...) -> str: ... - @overload - def get_name_char(self, c: int, isord: Literal[True] = ...) -> str: ... - @overload - def get_name_char(self, c: Union[str, int], isord: bool = ...) -> str: ... - - def get_str_bbox(self, s: Union[str, bytes]) -> Tuple[float, float, float, float, float]: ... - def get_str_bbox_and_descent(self, s: Union[str, bytes]) -> Tuple[float, float, float, float, float]: ... - def get_underline_thickness(self) -> float: ... - def get_vertical_stem_width(self) -> Optional[float]: ... - def get_weight(self) -> str: ... - - @overload - def get_width_char(self, c: str, isord: Literal[False] = ...) -> float: ... - @overload - def get_width_char(self, c: int, isord: Literal[True] = ...) -> float: ... - @overload - def get_width_char(self, c: Union[str, int], isord: bool = ...) -> float: ... - - def get_width_from_char_name(self, name: str) -> float: ... - - def get_xheight(self) -> float: ... - - def string_width_height(self, s: str) -> Tuple[float, float]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/animation.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/animation.pyi deleted file mode 100644 index 5598d904..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/animation.pyi +++ /dev/null @@ -1,205 +0,0 @@ -# COMPLETE - -import abc -from typing import ( - Any, - Callable, - ContextManager, - Dict, - Generic, - Iterable, - Iterator, - List, - Literal, - Optional, - Protocol, - Sequence, - Tuple, - TypeVar, - Union, -) - -from matplotlib.artist import Artist -from matplotlib.figure import Figure - -_Frame = TypeVar("_Frame") - -class Animation(Generic[_Frame]): - def __init__(self, fig: Figure, event_source: Optional[object] = ..., blit: bool = ...) -> None: ... - def new_frame_seq(self) -> Iterator[_Frame]: ... - def new_saved_frame_seq(self) -> Iterator[_Frame]: ... - def save( - self, - filename: str, - writer: Optional[Union[MovieWriter, str]], - fps: Optional[int] = ..., - dpi: Optional[Union[float, Literal['figure']]] = ..., - codec: Optional[str] = ..., - bitrate: Optional[int] = ..., - extra_args: Optional[Sequence[str]] = ..., - metadata: Optional[Dict[str, str]] = ..., - extra_anim: Optional[Sequence[Animation[Any]]] = ..., - savefig_kwargs: Optional[Dict[str, Any]] = ..., - *, - progress_callback: Optional[Callable[[int, int], Any]] = ... - ) -> None: ... - def to_html5_video(self, embed_limit: Optional[float] = ...) -> str: ... - def to_jshtml(self, fps: Optional[int] = ..., embed_frames: bool = ..., default_mode: Optional[Literal['loop', 'once']] = ...) -> str: ... - - -class TimedAnimation(Animation[_Frame]): - def __init__( - self, - fig: Figure, - interval: int = ..., - repeat_delay: int = ..., - repeat: bool = ..., - event_source: Optional[object] = ..., - *args: Any, - **kwarg: Any - ) -> None: ... - - -class _AnimationFunc(Protocol[_Frame]): - def __call__(self, frame: _Frame, *fargs: Any) -> Iterable[Artist]: ... - -class FuncAnimation(TimedAnimation[_Frame]): - def __init__( - self, - fig: Figure, - func: _AnimationFunc[_Frame], - frames: Optional[Union[Iterable[_Frame], int, Callable[[], Any]]] = ..., - init_func: Optional[Callable[[], Iterable[_Frame]]] = ..., - fargs: Optional[Tuple[Any, ...]] = ..., - save_count: Optional[int] = ..., - *, - cache_frame_data: bool = ..., - **kwargs: Any - ) -> None: ... - - -class ArtistAnimation(TimedAnimation[Artist]): - def __init__( - self, - fig: Figure, - artists: Sequence[Artist], - *args: Any, - **kwargs: Any - ) -> None: ... - -_T = TypeVar("_T", bound=AbstractMovieWriter) - -class AbstractMovieWriter(abc.ABC): - def __init__( - self, - fps: int = ..., - metadata: Optional[Dict[str, str]] = ..., - codec: Optional[str] = ..., - bitrate: Optional[int] = ... - ) -> None: ... - - @abc.abstractmethod - def setup(self, fig: Figure, outfile: str, dpi: Optional[float] = ...) -> None: ... - - @property - def frame_size(self) -> Tuple[int, int]: ... - - @abc.abstractmethod - def grab_frame(self, **savefig_kwargs: Any) -> None: ... - - @abc.abstractmethod - def finish(self) -> None: ... - - def saving(self: _T, fig: Figure, outfile: str, dpi: float, *args: Any, **kwargs: Any) -> ContextManager[_T]: ... - -class MovieWriter(AbstractMovieWriter): - def __init__( - self, - fps: int = ..., - codec: Optional[str] = ..., - bitrate: Optional[int] = ..., - extra_args: Optional[Sequence[str]] = ..., - metadata: Optional[Dict[str, str]] = ... - ) -> None: ... - - @classmethod - def bin_path(cls) -> str: ... - - @classmethod - def isAvailable(cls) -> bool: ... - -class FileMovieWriter(MovieWriter): - ... - -class PillowWriter(AbstractMovieWriter): - @classmethod - def isAvailable(cls) -> bool: ... - -class HTMLWriter(FileMovieWriter): - supported_formats: List[str] - - def __init__( - self, - fps: int = ..., - codec: Optional[str] = ..., - bitrate: Optional[int] = ..., - extra_args: Optional[Sequence[str]] = ..., - metadata: Optional[Dict[str, str]] = ..., - embed_frames: bool = ..., - default_mode: Literal['loop', 'once', 'reflect'] = ..., - embed_limit: Optional[int] = ... - ) -> None: ... - - @classmethod - def isAvailable(cls) -> bool: ... - -class FFMpegBase: - @property - def output_args(self) -> List[str]: ... - - @classmethod - def isAvailable(cls) -> bool: ... - -class FFMpegWriter(FFMpegBase, MovieWriter): ... - -class FFMpegFileWriter(FFMpegBase, FileMovieWriter): - supported_formats: List[str] - -class AVConvBase(FFMpegBase): ... - -class AVConvWriter(AVConvBase, FFMpegWriter): ... - -class AVConvFileWriter(AVConvBase, FFMpegFileWriter): ... - -class ImageMagickBase: - @property - def delay(self) -> float: ... - - @property - def output_args(self) -> List[str]: ... - - @classmethod - def bin_path(cls) -> str: ... - - @classmethod - def isAvailable(cls) -> bool: ... - -class ImageMagickWriter(ImageMagickBase, MovieWriter): ... - -class ImageMagickFileWriter(ImageMagickBase, FileMovieWriter): - supported_formats: List[str] - - -class MovieWriterRegistry: - def ensure_not_dirty(self) -> None: ... - def is_available(self, name: str) -> bool: ... - def list(self) -> List[MovieWriter]: ... - def register(self, name: str) -> Any: ... # TODO: ParamSpec - def reset_available_writers(self) -> None: ... - def set_dirty(self) -> None: ... - - def __iter__(self) -> Iterator[MovieWriter]: ... - def __getitem__(self, name: str) -> MovieWriter: ... - - @property - def avail(self) -> Dict[str, MovieWriter]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/artist.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/artist.pyi deleted file mode 100644 index 994ebb31..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/artist.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Any - - -class Artist: - def __getattr__(self, name: str) -> Any: ... # incomplete - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/__init__.pyi deleted file mode 100644 index 4dd998c0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/__init__.pyi +++ /dev/null @@ -1,2 +0,0 @@ -from ._subplots import * -from ._axes import * diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/_axes.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/_axes.pyi deleted file mode 100644 index 9d517599..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/_axes.pyi +++ /dev/null @@ -1,966 +0,0 @@ -from datetime import tzinfo -from typing import (Any, BinaryIO, Callable, ContextManager, Dict, List, - Literal, Mapping, Optional, Sequence, Tuple, Type, Union, - overload) - -from matplotlib._typing import ArrayLike, Scalar, _DetrendCallable, ndarray -from matplotlib.artist import Artist -from matplotlib.axes._base import _AxesBase -from matplotlib.axes._subplots import SubplotBase -from matplotlib.backend_bases import Event, FigureManagerBase -from matplotlib.cm import Colormap, ScalarMappable -from matplotlib.collections import (BrokenBarHCollection, Collection, - EventCollection, LineCollection, - PathCollection, PolyCollection, QuadMesh) -from matplotlib.colorbar import Colorbar -from matplotlib.colors import Normalize, _ColorLike -from matplotlib.container import BarContainer, ErrorbarContainer, StemContainer -from matplotlib.contour import ContourSet, QuadContourSet -from matplotlib.figure import Figure -from matplotlib.image import AxesImage, FigureImage -from matplotlib.legend import Legend -from matplotlib.lines import Line2D -from matplotlib.markers import MarkerStyle -from matplotlib.patches import FancyArrow, Polygon, Wedge -from matplotlib.quiver import Barbs, Quiver, QuiverKey -from matplotlib.streamploy import StreamplotSet -from matplotlib.table import Table -from matplotlib.text import Annotation, Text -from matplotlib.transforms import Bbox -from matplotlib.widgets import SubplotTool -from PIL.Image import Image - - -class Axes(_AxesBase): - # TODO: Most methods on Axes are the same as pyplot - # (as pyplot is just global functions onto a shared Axes). - # Mirror those here. - - # TODO: Many of these methods are actually defined on _AxesBase. - - transData: Any # TODO - transAxis: Any # TODO - - def __init__( - self, - fig: Figure, - rect: Union[Bbox, Sequence[int]], - facecolor: Optional[_ColorLike] = ..., - frameon: bool = ..., - sharex: Optional[Axes] = ..., - sharey: Optional[Axes] = ..., - label: str = ..., - xscale: Optional[str] = ..., - yscale: Optional[str] = ..., - box_aspect: Optional[float] = ..., - **kwargs: Any - ) -> None: ... - - def acorr(self, x: ArrayLike, *, data: Optional[Any] = ..., **kwargs: Any) -> Tuple[ndarray, ndarray, Union[LineCollection, Line2D], Optional[Line2D]]: ... - - add_artist: Any # TODO - add_callback: Any # TODO - add_child_axes: Any # TODO - add_collection: Any # TODO - add_container: Any # TODO - add_image: Any # TODO - add_line: Any # TODO - add_patch: Any # TODO - add_table: Any # TODO - - def angle_spectrum( - self, - x: ArrayLike, - Fs: Optional[Scalar] = ..., - Fc: Optional[int] = ..., - window: Optional[Union[Callable[[Any], Any], ndarray]] = ..., - pad_to: Optional[int] = ..., - sides: Optional[Literal["default", "onesides", "twosided"]] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> Tuple[ArrayLike, ArrayLike, Line2D]: ... - - def annotate(self, s: str, xy: Tuple[float, float], *args: Any, **kwargs: Any) -> Annotation: ... - - def apply_aspect(self, position: Optional[ArrayLike] = ...) -> None: ... - - def arrow(self, x: float, y: float, dx: float, dy: float, **kwargs: Any) -> FancyArrow: ... - - def autoscale(self, enable: Optional[bool] = ..., axis: Optional[Literal["both", "x", "y"]] = ..., tight: Optional[bool] = ...) -> None: ... - - def autoscale_view(self, tight: Optional[bool] = ..., scalex: bool = ..., scaley: bool = ...) -> None: ... - - def axes(self, arg: Optional[Tuple[float, float, float, float]] = ..., **kwargs: Any) -> Axes: ... - - def axhline(self, y: Optional[Scalar] = ..., xmin: Optional[Scalar] = ..., xmax: Optional[Scalar] = ..., **kwargs: Any) -> Line2D: ... - - def axhspan(self, ymin: float, ymax: float, xmin: Optional[int] = ..., xmax: Optional[int] = ..., **kwargs: Any) -> Polygon: ... - - # TODO: write overloads for various forms - def axis(self, *args: Any, **kwargs: Any) -> Tuple[float, float, float, float]: ... - - def axvline(self, x: Optional[Scalar] = ..., ymin: Optional[Scalar] = ..., ymax: Optional[Scalar] = ..., **kwargs: Any) -> Line2D: ... - - def axvspan(self, xmin: Scalar, xmax: Scalar, ymin: Optional[Scalar] = ..., ymax: Optional[Scalar] = ..., **kwargs: Any) -> Polygon: ... - - # Docs are misleading about this - def bar( - self, - x: Union[Scalar, ArrayLike], - height: Union[Scalar, ArrayLike], - width: Optional[Union[Scalar, ArrayLike]] = ..., - bottom: Optional[Union[Scalar, ArrayLike]] = ..., - *, - align: Literal["center", "edge"] = ..., - data: Optional[Any] = ..., - **kwargs: Any - ) -> BarContainer: ... - - # TODO: write overloads for various forms - def barbs(self, *args: Any, data: Optional[Any] = ..., **kwargs: Any) -> Barbs: ... - - def bar_label( - self, - container: BarContainer, - labels: Optional[ArrayLike] = ..., - *, - fmt: str = ..., - label_type: Literal['edge', 'center'] = ..., - padding: float = ..., - **kwargs: Any - ) -> List[Text]: ... - - # barh is just bar, but x=left and bottom=y - def barh( - self, - y: Union[Scalar, ArrayLike], - width: Union[Scalar, ArrayLike], - height: Optional[Union[Scalar, ArrayLike]] = ..., - left: Optional[Union[Scalar, ArrayLike]] = ..., - *, - align: Literal["center", "edge"] = ..., - **kwargs: Any - ) -> BarContainer: ... - - def boxplot( - self, - x: Union[ArrayLike, Sequence[ArrayLike]], - notch: Optional[bool] = ..., - sym: Optional[str] = ..., - vert: Optional[bool] = ..., - whis: Optional[Union[float, ArrayLike, str]] = ..., - positions: Optional[ArrayLike] = ..., - widths: Optional[Union[Scalar, ArrayLike]] = ..., - patch_artist: Optional[bool] = ..., - bootstrap: Optional[int] = ..., - usermedians: Optional[ArrayLike] = ..., - conf_intervals: Optional[ArrayLike] = ..., - meanline: Optional[bool] = ..., - showmeans: Optional[bool] = ..., - showcaps: Optional[bool] = ..., - showbox: Optional[bool] = ..., - showfliers: Optional[bool] = ..., - boxprops: Optional[Dict[Any, Any]] = ..., - labels: Optional[Sequence[Any]] = ..., - flierprops: Optional[Any] = ..., - medianprops: Optional[Dict[Any, Any]] = ..., - meanprops: Optional[Dict[Any, Any]] = ..., - capprops: Optional[Dict[Any, Any]] = ..., - whiskerprops: Optional[Dict[Any, Any]] = ..., - manage_ticks: Optional[bool] = ..., - autorange: Optional[bool] = ..., - zorder: Optional[Scalar] = ..., - *, - data: Optional[Any] = ... - ) -> Dict[str, Line2D]: ... - - def broken_barh(self, xranges: Sequence[Tuple[float, float]], yrange: Tuple[float, float], *, data: Optional[Any] = ..., **kwargs: Any) -> BrokenBarHCollection: ... - - bxp: Any # TODO - can_pan: Any # TODO - can_zoom: Any # TODO - - def cla(self) -> None: ... - - def clabel(self, CS: ContourSet, *args: Any, **kwargs: Any) -> List[Text]: ... - - def clim(self, vmin: Optional[float] = ..., vmax: Optional[float] = ...) -> None: ... - - def close(self, fig: Optional[Union[int, str, Figure]] = ...) -> None: ... - - def clear(self) -> None: ... - - def cohere( - self, - x: ArrayLike, y: ArrayLike, - NFFT: int = ..., - Fs: Scalar = ..., - Fc: int = ..., - detrend: Union[Literal["none", "mean", "linear"], _DetrendCallable] = ..., - window: Union[Callable, ndarray] = ..., - noverlap: int = ..., - pad_to: Optional[int] = ..., - sides: Literal["default", "onesided", "twosided"] = ..., - scale_by_freq: Optional[bool] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> Tuple[ndarray, ndarray]: ... # ArrayLike? - - contains: Any # TODO - contains_point: Any # TODO - - # TODO: write overloads for various forms - def contour(self, *args: Any, data: Optional[Any] = ..., **kwargs: Any) -> QuadContourSet: ... - def contourf(self, *args: Any, data: Optional[Any] = ..., **kwargs: Any) -> QuadContourSet: ... - - convert_xunits: Any # TODO - convert_yunits: Any # TODO - - def csd( - self, - x: ArrayLike, y: ArrayLike, - NFFT: int = ..., - Fs: Scalar = ..., - Fc: int = ..., - detrend: Union[Literal["none", "mean", "linear"], _DetrendCallable] = ..., - window: Union[Callable, ndarray] = ..., - noverlap: int = ..., - pad_to: Optional[int] = ..., - sides: Literal["default", "onesided", "twosided"] = ..., - scale_by_freq: Optional[bool] = ..., - return_line: Optional[bool] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> Tuple[ndarray, ndarray, Line2D]: ... # ArrayLike? - - drag_pan: Any # TODO - - def draw(self) -> None: ... - - draw_artist: Any # TODO - end_pan: Any # TODO - - def errorbar( - self, - x: ArrayLike, y: ArrayLike, - yerr: Optional[Union[Scalar, ArrayLike]] = ..., - xerr: Optional[Union[Scalar, ArrayLike]] = ..., - fmt: str = ..., - ecolor: Optional[_ColorLike] = ..., - elinewidth: Optional[Scalar] = ..., - capsize: Optional[Scalar] = ..., - barsabove: bool = ..., - lolims: bool = ..., - uplims: bool = ..., - xlolims: bool = ..., - xuplims: bool = ..., - errorevery: int = ..., - capthick: Optional[Scalar] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> ErrorbarContainer: ... - - def eventplot( - self, - positions: ArrayLike, - orientation: Optional[Literal["horizontal", "vertical"]], - lineoffsets: Optional[Union[Scalar, ArrayLike]] = ..., - linelengths: Optional[Union[Scalar, ArrayLike]] = ..., - linewidths: Optional[Union[Scalar, ArrayLike]] = ..., - colors: Optional[Union[_ColorLike, Sequence[_ColorLike]]] = ..., - linestyles: Union[str, Tuple[str, ...], Sequence[Any]] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> List[EventCollection]: ... - - # TODO: write overloads for various forms - def fill(self, *args: Any, data: Optional[Mapping[Any, Any]] = ..., **kwargs: Any) -> List[Polygon]: ... - - def fill_between( - self, - x: ArrayLike, y1: ArrayLike, - y2: Union[ArrayLike, Scalar] = ..., - where: Optional[ArrayLike] = ..., - interpolate: bool = ..., - step: Optional[Literal["pre", "post", "mid"]] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> PolyCollection: ... - - def fill_betweenx( - self, - y: ArrayLike, x1: ArrayLike, - x2: Union[ArrayLike, Scalar] = ..., - where: Optional[ArrayLike] = ..., - interpolate: bool = ..., - step: Optional[Literal["pre", "post", "mid"]] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> PolyCollection: ... - - def findobj( - self, - o: Optional[Any] = ..., - match: Optional[Union[ - Callable[[Artist], bool], - Line2D, - ]] = ..., - include_self: bool = ... - ) -> List[Artist]: ... - - get_adjustable: Any # TODO - get_agg_filter: Any # TODO - get_alpha: Any # TODO - get_anchor: Any # TODO - get_animated: Any # TODO - get_aspect: Any # TODO - get_autoscale_on: Any # TODO - get_autoscalex_on: Any # TODO - get_autoscaley_on: Any # TODO - get_axes_locator: Any # TODO - get_axisbelow: Any # TODO - get_box_aspect: Any # TODO - get_children: Any # TODO - get_clip_box: Any # TODO - get_clip_on: Any # TODO - get_clip_path: Any # TODO - get_contains: Any # TODO - get_cursor_data: Any # TODO - get_data_ratio: Any # TODO - get_default_bbox_extra_artists: Any # TODO - get_facecolor: Any # TODO - get_fc: Any # TODO - get_figure: Any # TODO - get_frame_on: Any # TODO - get_gid: Any # TODO - get_images: Any # TODO - get_in_layout: Any # TODO - get_label: Any # TODO - get_legend: Any # TODO - get_legend_handles_labels: Any # TODO - get_lines: Any # TODO - get_navigate: Any # TODO - get_navigate_mode: Any # TODO - get_path_effects: Any # TODO - get_picker: Any # TODO - get_position: Any # TODO - get_rasterization_zorder: Any # TODO - get_rasterized: Any # TODO - get_renderer_cache: Any # TODO - get_shared_x_axes: Any # TODO - get_shared_y_axes: Any # TODO - get_sketch_params: Any # TODO - get_snap: Any # TODO - get_tightbbox: Any # TODO - get_title: Any # TODO - get_transform: Any # TODO - get_transformed_clip_path_and_affine: Any # TODO - get_url: Any # TODO - get_visible: Any # TODO - get_window_extent: Any # TODO - get_xaxis: Any # TODO - get_xaxis_text1_transform: Any # TODO - get_xaxis_text2_transform: Any # TODO - get_xaxis_transform: Any # TODO - get_xbound: Any # TODO - get_xgridlines: Any # TODO - get_xlabel: Any # TODO - get_xlim: Any # TODO - get_xmajorticklabels: Any # TODO - get_xminorticklabels: Any # TODO - get_xscale: Any # TODO - get_xticklabels: Any # TODO - get_xticklines: Any # TODO - get_xticks: Any # TODO - get_yaxis: Any # TODO - get_yaxis_text1_transform: Any # TODO - get_yaxis_text2_transform: Any # TODO - get_yaxis_transform: Any # TODO - get_ybound: Any # TODO - get_ygridlines: Any # TODO - get_ylabel: Any # TODO - get_ylim: Any # TODO - get_ymajorticklabels: Any # TODO - get_yminorticklabels: Any # TODO - get_yscale: Any # TODO - get_yticklabels: Any # TODO - get_yticklines: Any # TODO - get_yticks: Any # TODO - get_zorder: Any # TODO - - def grid(self, b: Optional[bool] = ..., which: Literal["major", "minor", "both"] = ..., axis: Literal["both", "x", "y"] = ..., **kwargs: Any): ... - - has_data: Any # TODO - have_units: Any # TODO - - def hexbin( - self, - x: ArrayLike, - y: ArrayLike, - C: Optional[ArrayLike] = ..., - gridsize: Union[int, Tuple[int, int]] = ..., - bins: Optional[Union[Literal["log"], int, Sequence[Any]]] = ..., - xscale: Literal["linear", "log"] = ..., - yscale: Literal["linear", "log"] = ..., - extent: Optional[float] = ..., - cmap: Optional[Union[str, Colormap]] = ..., - norm: Optional[Normalize] = ..., - vmin: Optional[float] = ..., - vmax: Optional[float] = ..., - alpha: Optional[float] = ..., - linewidths: Optional[float] = ..., - edgecolors: Optional[Union[Literal["face", "none"], _ColorLike]] = ..., - reduce_C_function: Callable[[ArrayLike], float] = ..., - mincnt: Optional[int] = ..., - marginals: bool = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> PolyCollection: ... - - def hist( - self, - x: Union[ArrayLike, Sequence[ArrayLike]], - bins: Optional[Union[int, str, Sequence[Any]]], - range: Optional[Tuple] = ..., - density: Optional[bool] = ..., - weights: Optional[ArrayLike] = ..., - cumulative: bool = ..., - bottom: Optional[Union[ArrayLike, Scalar]] = ..., - histtype: Literal["bar", "barstacked", "step", "stepfilled"] = ..., - align: Literal["left", "mid", "right"] = ..., - orientation: Literal["vertical", "horizontal"] = ..., - rwidth: Optional[Scalar] = ..., - log: bool = ..., - color: Optional[Union[_ColorLike, Sequence[_ColorLike]]] = ..., - label: Optional[str] = ..., - stacked: bool = ..., - normed: Optional[bool] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> Tuple[Union[ArrayLike, List[ArrayLike]], ArrayLike, Union[List[Any], List[List[Any]]]]: ... - - def hist2d( - self, - x: ArrayLike, y: ArrayLike, - bins: Optional[Union[ - int, - Tuple[int, int], - ArrayLike, - Tuple[ArrayLike, ArrayLike], - ]] = ..., - range: Optional[ArrayLike] = ..., - density: bool = ..., - weights: Optional[ArrayLike] = ..., - cmin: Optional[Scalar] = ..., - cmax: Optional[Scalar] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> Tuple[ArrayLike, ArrayLike, ArrayLike, QuadMesh]: ... - - def hlines( - self, - y: Union[Scalar, ArrayLike], - xmin: Union[Scalar, ArrayLike], - xmax: Union[Scalar, ArrayLike], - colors: _ColorLike = ..., - linestyles: Literal['solid', 'dashed', 'dashdot', 'dotted'] = ..., - label: str = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> LineCollection: ... - - def imshow( - self, - X: Union[ArrayLike, Image], - cmap: Optional[Union[str, Colormap]] = ..., - norm: Optional[Normalize] = ..., - aspect: Optional[Union[Literal["equal", "auto"], float]] = ..., - interpolation: Optional[str] = ..., - alpha: Optional[Scalar] = ..., - vmin: Optional[Scalar] = ..., - vmax: Optional[Scalar] = ..., - origin: Optional[Literal["upper", "lower"]] = ..., - extent: Optional[Tuple[Scalar, Scalar, Scalar, Scalar]] = ..., - shape: Any = ..., # deprecated - filternorm: bool = ..., - filterrad: float = ..., - imlim: Any = ..., # deprecated - resample: Optional[bool] = ..., - url: Optional[str] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> AxesImage: ... - - imshow: Any # TODO - in_axes: Any # TODO - indicate_inset: Any # TODO - indicate_inset_zoom: Any # TODO - inset_axes: Any # TODO - invert_xaxis: Any # TODO - invert_yaxis: Any # TODO - is_transform_set: Any # TODO - - # TODO: write overloads for various forms - def legend(self, *args: Any, **kwargs: Any) -> Legend: ... - - def locator_params(self, axis: Optional[Literal["both", "x", "y"]] = ..., tight: Optional[bool] = ..., **kwargs: Any) -> None: ... - - # TODO: write overloads for various forms - def loglog(self, *args: Any, **kwargs: Any) -> List[Line2D]: ... - - def magnitude_spectrum( - self, - x: ArrayLike, - Fs: Optional[Scalar] = ..., - Fc: Optional[int] = ..., - window: Optional[Union[Callable[[Any], Any], ndarray]] = ..., - pad_to: Optional[int] = ..., - sides: Optional[Literal["default", "onesides", "twosided"]] = ..., - scale: Optional[Literal["default", "linear", "dB"]] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> Tuple[ArrayLike, ArrayLike, Line2D]: ... - - def margins(self, *margins: float, x: Optional[float] = ..., y: Optional[float] = ..., tight: Optional[bool] = ...) -> Tuple[float, float]: ... - - def matshow(self, A: ArrayLike, fignum: Optional[Union[int, Literal[False]]] = None, **kwargs: Any) -> AxesImage: ... - - def minorticks_off(self) -> None: ... - - def minorticks_on(self) -> None: ... - - mouseover: Any # TODO - name: Any # TODO - pchanged: Any # TODO - - # TODO: write overloads for various forms - def pcolor( - self, - *args: Any, - alpha: Optional[Scalar] = ..., - norm: Optional[Normalize] = ..., - cmap: Optional[Union[str, Colormap]] = ..., - vmin: Optional[Scalar] = ..., - vmax: Optional[Scalar] = ..., - data: Optional[Any] = ..., - **kwargs: Any - ) -> Collection: ... - - pcolorfast: Any # TODO - - # TODO: write overloads for various forms - def pcolormesh( - self, - *args: Any, - alpha: Optional[Scalar] = ..., - norm: Optional[Normalize] = ..., - cmap: Optional[Union[str, Colormap]] = ..., - vmin: Optional[Scalar] = ..., - vmax: Optional[Scalar] = ..., - shading: Literal["flat", "gouraud"] = ..., - antialiased: Union[bool, Sequence[bool]] = ..., - data: Optional[Any] = ..., - **kwargs: Any - ) -> QuadMesh: ... - - def phase_spectrum( - self, - x: ArrayLike, - Fs: Optional[Scalar] = ..., - Fc: Optional[int] = ..., - window: Optional[Union[Callable[[Any], Any], ndarray]] = ..., - pad_to: Optional[int] = ..., - sides: Optional[Literal["default", "onesides", "twosided"]] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> Tuple[ArrayLike, ArrayLike, Line2D]: ... - - pick: Any # TODO - pickable: Any # TODO - - def pie( - self, - x: ArrayLike, - explode: Optional[ArrayLike]= ..., - labels: Optional[Sequence[str]] = ..., - colors: Optional[Sequence[_ColorLike]] = ..., - autopct: Optional[Union[str, Callable[..., str]]] = ..., - pctdistance: float = ..., - shadow: bool = ..., - labeldistance: Optional[float] = ..., - startangle: Optional[float] = ..., - radius: Optional[float] = ..., - counterclock: bool = ..., - wedgeprops: Optional[Dict[Any, Any]] = ..., - textprops: Optional[Dict[Any, Any]] = ..., - center: Sequence[float] = ..., - frame: bool = ..., - rotatelabels: bool = ..., - *, - data: Optional[Any] = ..., - ) -> Tuple[List[Wedge], List[Text], List[Text]]: ... - - # TODO: write overloads for various forms - def plot(self, *args: Any, scalex: bool = ..., scaley: bool = ..., data: Optional[Any] = ..., **kwargs: Any) -> List[Line2D]: ... - - def plot_date( - self, - x: ArrayLike, - y: ArrayLike, - fmt: str = ..., - tz: Optional[Union[str, tzinfo]] = ..., - xdate: bool = ..., - ydate: bool = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> List[Line2D]: ... - - properties: Any # TODO - - def psd( - self, - x: ArrayLike, - NFFT: int = ..., - Fs: Scalar = ..., - Fc: int = ..., - detrend: Union[Literal["none", "mean", "linear"], _DetrendCallable] = ..., - window: Union[Callable, ndarray] = ..., - noverlap: int = ..., - pad_to: Optional[int] = ..., - sides: Literal["default", "onesided", "twosided"] = ..., - scale_by_freq: Optional[bool] = ..., - return_line: Optional[bool] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> Tuple[ArrayLike, ArrayLike, Line2D]: ... - - # TODO: write overloads for various forms - def quiver(self, *args: Any, data: Optional[Any] = ..., **kw: Any) -> Quiver: ... - - def quiverkey(self, Q: Quiver, X: float, Y: float, U: float, label: str, **kw: Any) -> QuiverKey: ... - - redraw_in_frame: Any # TODO - relim: Any # TODO - remove: Any # TODO - remove_callback: Any # TODO - reset_position: Any # TODO - - def scatter( - self, - x: ArrayLike, - y: ArrayLike, - s: Optional[Union[Scalar, ArrayLike]] = ..., - c: Optional[Union[_ColorLike, Sequence[float], Sequence[_ColorLike]]] = ..., - marker: Optional[MarkerStyle] = ..., - cmap: Optional[Colormap] = ..., - norm: Optional[Normalize] = ..., - vmin: Optional[Scalar] = ..., - vmax: Optional[Scalar] = ..., - alpha: Optional[Scalar] = ..., - linewidths: Optional[Union[Scalar, ArrayLike]] = ..., - verts: Optional[Any] = ..., # not documented? - edgecolors: Optional[Union[Literal["face", "none"], _ColorLike, Sequence[_ColorLike]]] = ..., - *, - plotnonfinite: bool = ..., - data: Optional[Any] = ..., - **kwargs: Any - ) -> PathCollection: ... - - secondary_xaxis: Any # TODO - secondary_yaxis: Any # TODO - - # TODO: write overloads for various forms (below is a try at it) - def semilogx(self, *args: Any, **kwargs: Any) -> List[Line2D]: ... - - # TODO: write overloads for various forms (below is a try at it) - def semilogy(self, *args: Any, **kwargs: Any) -> List[Line2D]: ... - - set: Any # TODO - set_adjustable: Any # TODO - set_agg_filter: Any # TODO - set_alpha: Any # TODO - set_anchor: Any # TODO - set_animated: Any # TODO - set_aspect: Any # TODO - set_autoscale_on: Any # TODO - set_autoscalex_on: Any # TODO - set_autoscaley_on: Any # TODO - set_axes_locator: Any # TODO - set_axis_off: Any # TODO - set_axis_on: Any # TODO - set_axisbelow: Any # TODO - set_box_aspect: Any # TODO - set_clip_box: Any # TODO - set_clip_on: Any # TODO - set_clip_path: Any # TODO - set_contains: Any # TODO - set_facecolor: Any # TODO - set_fc: Any # TODO - set_figure: Any # TODO - set_frame_on: Any # TODO - set_gid: Any # TODO - set_in_layout: Any # TODO - set_label: Any # TODO - set_navigate: Any # TODO - set_navigate_mode: Any # TODO - set_path_effects: Any # TODO - set_picker: Any # TODO - set_position: Any # TODO - set_prop_cycle: Any # TODO - set_rasterization_zorder: Any # TODO - set_rasterized: Any # TODO - set_sketch_params: Any # TODO - set_snap: Any # TODO - set_title: Any # TODO - set_transform: Any # TODO - set_url: Any # TODO - set_visible: Any # TODO - set_xbound: Any # TODO - set_xlabel: Any # TODO - set_xlim: Any # TODO - set_xmargin: Any # TODO - set_xscale: Any # TODO - set_xticklabels: Any # TODO - set_xticks: Any # TODO - set_ybound: Any # TODO - set_ylabel: Any # TODO - set_ylim: Any # TODO - set_ymargin: Any # TODO - set_yscale: Any # TODO - set_yticklabels: Any # TODO - set_yticks: Any # TODO - set_zorder: Any # TODO - sharex: Any # TODO - sharey: Any # TODO - - def specgram( - self, - x: ArrayLike, - NFFT: int = ..., - Fs: Scalar = ..., - Fc: int = ..., - detrend: Union[Literal["none", "mean", "linear"], _DetrendCallable] = ..., - window: Union[Callable, ndarray] = ..., - noverlap: int = ..., - cmap: Optional[Colormap] = ..., - xextent: Optional[Tuple[float, float]] = ..., - pad_to: Optional[int] = ..., - sides: Literal["default", "onesided", "twosided"] = ..., - scale_by_freq: Optional[bool] = ..., - mode: Optional[Literal["default", "psd", "magnitude", "angle", "phase"]] = ..., - scale: Optional[Literal["default", "linear", "dB"]] = ..., - vmin: Optional[Scalar] = ..., - vmax: Optional[Scalar] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> Tuple[ndarray, ndarray, ndarray, AxesImage]: ... - - def spy( - self, - Z: ArrayLike, - precision: Union[float, Literal["present"]] = ..., - marker: Optional[Any] = ..., # TODO - markersize: Optional[float] = ..., - aspect: Optional[Union[Literal["equal", "auto"], float]] = ..., - origin: Literal["upper", "lower"] = ..., - **kwargs: Any - ) -> Union[AxesImage, Line2D]: ... - - def stackplot( - self, - x: ArrayLike, - *args: ArrayLike, - labels: Sequence[str] = ..., - colors: Optional[Sequence[_ColorLike]] = ..., - baseline: Literal["zero", "sym", "wiggle", "weighted_wiggle"] = ..., - data: Optional[Any] = ..., - **kwargs: Any - ) -> List[PolyCollection]: ... - - stairs: Any # TODO - stale: Any # TODO - start_pan: Any # TODO - - # TODO: write overloads for various forms - def stem( - self, - *args: ArrayLike, - linefmt: Optional[str] = ..., - markerfmt: Optional[str] = ..., - basefmt: Optional[str] = ..., - bottom: float = ..., - label: Optional[str] = ..., - use_line_collection: bool = ..., - data: Optional[Any] = ... - ) -> StemContainer: ... - - # TODO: write overloads for various forms - def step( - self, - x: ArrayLike, - y: ArrayLike, - *args: Any, - where: Literal["pre", "post", "mid"] = ..., - data: Optional[Any] = ..., - **kwargs: Any - ) -> List[Line2D]: ... - - sticky_edges: Any # TODO - - def streamplot( - self, - x: ArrayLike, - y: ArrayLike, - u: ArrayLike, - v: ArrayLike, - density: Union[float, Tuple[float, float]] = ..., - linewidth: Optional[Union[float, ArrayLike]] = ..., - color: Optional[Union[_ColorLike, ArrayLike]] = ..., - cmap: Optional[Colormap] = ..., - norm: Optional[Normalize] = ..., - arrowsize: float = ..., - arrowstyle: str = ..., - minlength: float = ..., - transform: Optional[Any] = ..., # TODO: what is this? - zorder: Optional[int] = ..., - start_points: Optional[ArrayLike] = ..., - maxlength: float = ..., - integration_direction: Literal["forward", "backward", "both"] = ..., - *, - data: Optional[Any] = ..., - ) -> StreamplotSet: ... # TODO: does this type exist? - - # TODO: resolve list vs sequence - def table( - self, - cellText: Optional[Sequence[Sequence[str]]] = ..., - cellColours: Optional[Sequence[Sequence[_ColorLike]]] = ..., - cellLoc: Literal["left", "center", "right"] = ..., - colWidths: Optional[Sequence[float]] = ..., - rowLabels: Literal["left", "center", "right"] = ..., - rowColours: Literal["left", "center", "right"] = ..., - rowLoc: Literal["left", "center", "right"] = ..., - colLabels: Literal["left", "center", "right"] = ..., - colColours: Literal["left", "center", "right"] = ..., - colLoc: Literal["left", "center", "right"] = ..., - loc: str = ..., - bbox: Optional[Bbox] = ..., - edges: str = ..., # TODO: be more exact - **kwargs: Any - ) -> Table: ... - - def text(self, x: Scalar, y: Scalar, s: str, fontdict: Dict[Any, Any] = ..., withdash: Any = ..., **kwargs: Any) -> Text: ... - - def tick_params(self, axis: Literal["x", "y", "both"] = ..., **kwargs: Any) -> None: ... - - def ticklabel_format( - self, - *, - axis: Literal["x", "y", "both"] = ..., - style: str = ..., - scilimits: Optional[Tuple[int, int]] = ..., - useOffset: Optional[Union[bool, int]] = ..., - useLocale: Optional[bool] = ..., - useMathText: Optional[bool] = ..., - ) -> None: ... - - # TODO: write overloads for various forms - def tricontour(self, *args: Any, **kwargs: Any) -> None: ... - - # TODO: write overloads for various forms - def tricontourf(self, *args: Any, **kwargs: Any) -> None: ... - - # TODO: write overloads for various forms - def tripcolor( - self, - *args: Any, - alpha: Optional[Scalar] = ..., - norm: Optional[Normalize] = ..., - cmap: Optional[Union[str, Colormap]] = ..., - vmin: Optional[Scalar] = ..., - vmax: Optional[Scalar] = ..., - shading: Literal["flat", "gouraud"] = ..., - facecolors: Optional[_ColorLike] = ..., # TODO: not sure if this is correct, the option is undocumented - **kwargs: Any - ) -> None: ... - - # TODO: write overloads for various forms - def triplot(self, *args: Any, **kwargs: Any) -> List[Line2D]: ... - - def twinx(self, ax: Optional[Axes] = ...) -> Axes: ... - def twiny(self, ax: Optional[Axes] = ...) -> Axes: ... - - update: Any # TODO - update_datalim: Any # TODO - update_datalim_bounds: Any # TODO - update_from: Any # TODO - use_sticky_edges: Any # TODO - viewLim: Any # TODO - violin: Any # TODO - - def violinplot( - self, - dataset: ArrayLike, - positions: Optional[ArrayLike] = ..., - vert: bool = ..., - widths: ArrayLike = ..., # Default is 0.5, which is "array-like" even though it's a scalar. - showmeans: bool = ..., - showextrema: bool = ..., - showmedians: bool = ..., - points: Scalar = ..., - bw_method: Optional[Union[Literal["scott", "silverman"], Scalar, Callable]] = ..., - *, - data: Optional[Any] = ..., - ) -> Dict[str, Any]: ... # TODO: TypedDict for this - - def vlines( - self, - x: Union[Scalar, ArrayLike], - ymin: Union[Scalar, ArrayLike], - ymax: Union[Scalar, ArrayLike], - colors: Optional[Union[_ColorLike, Sequence[_ColorLike]]] = ..., # TODO: This may not be the right type for colors - linestyles: Optional[Literal["solid", "dashed", "dashdot", "dotted"]] = ..., - label: str = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> LineCollection: ... - - xaxis_date: Any # TODO - xaxis_inverted: Any # TODO - - def xcorr( - self, - x: ArrayLike, - y: ArrayLike, - normed: bool = ..., - detrend: _DetrendCallable = ..., - usevlines: bool = ..., - maxlags: int = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any - ) -> Tuple[ndarray, ndarray, Union[LineCollection, Line2D], Optional[Line2D]]: ... - - yaxis_date: Any # TODO - yaxis_inverted: Any # TODO - zorder: Any # TODO - - def __getattr__(self, name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/_base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/_base.pyi deleted file mode 100644 index 38538630..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/_base.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Any - - -class _AxesBase: - def __getattr__(self, name: str) -> Any: ... # incomplete - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/_secondary_axes.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/_secondary_axes.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/_secondary_axes.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/_subplots.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/_subplots.pyi deleted file mode 100644 index ef575b59..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axes/_subplots.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Any -from matplotlib.figure import Figure - -class SubplotBase: - # TODO: write overloads for various forms - def __init__(self, fig: Figure, *args: Any, **kwargs: Any) -> None: ... - - def __getattr__(self, name: str) -> Any: ... # incomplete - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axis.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axis.pyi deleted file mode 100644 index d39f5aa2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/axis.pyi +++ /dev/null @@ -1,133 +0,0 @@ -from datetime import tzinfo -from typing import Any, Dict, Iterable, List, Literal, Optional, Union - -from matplotlib._typing import ndarray -from matplotlib.artist import Artist -from matplotlib.axes import Axes -from matplotlib.cbook import CallbackRegistry -from matplotlib.lines import Line2D -from matplotlib.text import Text -from matplotlib.ticker import Formatter, Locator -from matplotlib.transforms import Transform - - -class Axis(Artist): - isDefault_label: bool - axes: Axes - major: Ticker - minor: Ticker - callbacks: CallbackRegistry - label: Text - labelpad: float - offsetText: Text - pickradius: float - majorTicks: List[Tick] - minorTicks: List[Tick] - - def __init__(self, axes: Axes, pickradius: float = ...) -> None: ... - - def get_remove_overlapping_locs(self) -> bool: ... - def set_remove_overlapping_locs(self, val: Any) -> None: ... - - @property - def remove_overlapping_locs(self) -> bool: ... - @remove_overlapping_locs.setter - def remove_overlapping_locs(self, val: Any) -> None: ... - - def set_label_coords(self, x: float, y: float, transform: Optional[Transform] = ...) -> None: ... - def get_transform(self) -> Transform: ... - def get_scale(self) -> str: ... - def limit_range_for_scale(self, vmin, vmax): ... - def get_children(self) -> List[Artist]: ... - def clear(self) -> None: ... - def cla(self) -> None: ... - def reset_ticks(self) -> None: ... - def set_tick_params(self, which='major', reset=..., **kw: Any): ... - def set_clip_path(self, clippath, transform=...): ... - def get_view_interval(self): ... - def set_view_interval(self, vmin, vmax, ignore=...): ... - def get_data_interval(self): ... - def set_data_interval(self, vmin, vmax, ignore=...): ... - def get_inverted(self): ... - def set_inverted(self, inverted): ... - def set_default_intervals(self): ... - def get_ticklabel_extents(self, renderer): ... - def get_tightbbox(self, renderer, *, for_layout_only=...): ... - def get_tick_padding(self): ... - def draw(self, renderer, *args: Any, **kwargs: Any): ... - def get_gridlines(self): ... - def get_label(self) -> Text: ... - def get_offset_text(self) -> Text: ... - def get_pickradius(self) -> float: ... - def get_majorticklabels(self) -> List[Text]: ... - def get_minorticklabels(self) -> List[Text]: ... - def get_ticklabels(self, minor: bool = ..., which: Optional[Literal['minor', 'major', 'both']] = ...) -> List[Text]: ... - def get_majorticklines(self) -> List[Line2D]: ... - def get_minorticklines(self) -> List[Line2D]: ... - def get_ticklines(self, minor: bool = ...) -> List[Line2D]: ... - def get_majorticklocs(self): ... - def get_minorticklocs(self): ... - def get_ticklocs(self, minor=...): ... - def get_ticks_direction(self, minor: bool = ...) -> ndarray: ... - def get_label_text(self): ... - def get_major_locator(self): ... - def get_minor_locator(self): ... - def get_major_formatter(self): ... - def get_minor_formatter(self): ... - def get_major_ticks(self, numticks=...): ... - def get_minor_ticks(self, numticks=...): ... - def grid(self, b=..., which=..., **kwargs: Any): ... - def update_units(self, data): ... - def have_units(self) -> bool: ... - def convert_units(self, x): ... - def set_units(self, u): ... - def get_units(self): ... - def set_label_text(self, label: str, fontdict: Optional[Dict[str, Any]], **kwargs: Any): ... - def set_major_formatter(self, formatter: Formatter) -> None: ... - def set_minor_formatter(self, formatter: Formatter) -> None: ... - def set_major_locator(self, locator: Locator) -> None: ... - def set_minor_locator(self, locator: Locator) -> None: ... - def set_pickradius(self, pickradius: float) -> None: ... - def set_ticklabels(self, ticklabels: Iterable[Union[str, Text]], *, minor: bool = ..., **kwargs: Any) -> None: ... - def set_ticks(self, ticks: Iterable[float], *, minor: bool = ...) -> None: ... - def pan(self, numsteps) -> None: ... - def zoom(self, direction) -> None: ... - def axis_date(self, tz: Optional[Union[str, tzinfo]]) -> None: ... - def get_tick_space(self): ... - def get_label_position(self): ... - def set_label_position(self, position: Literal['top', 'bottom']): ... - def get_minpos(self): ... - - def __getattr__(self, name: str) -> Any: ... # incomplete - - -class XAxis(Axis): - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def __getattr__(self, name: str) -> Any: ... # incomplete - -class YAxis(Axis): - def __init__(self, *args: Any, **kwargs: Any) -> None: ... - def __getattr__(self, name: str) -> Any: ... # incomplete - - -class Ticker: - def __init__(self) -> None: ... - - @property - def locator(self) -> Locator: ... - @locator.setter - def locator(self, locator: Locator) -> None: ... - - @property - def formatter(self) -> Formatter: ... - @formatter.setter - def formatter(self, formatter: Formatter) -> None: ... - -class Tick(Artist): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class XTick(Tick): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class YTick(Tick): - def __getattr__(self, name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/backend_bases.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/backend_bases.pyi deleted file mode 100644 index 78d2ed15..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/backend_bases.pyi +++ /dev/null @@ -1,19 +0,0 @@ -from typing import Any - - -class Event: - def __getattr__(self, name: str) -> Any: ... # incomplete - -class LocationEvent(Event): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class MouseEvent(LocationEvent): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class FigureManagerBase: - def __getattr__(self, name: str) -> Any: ... # incomplete - -class RendererBase: - def __getattr__(self, name: str) -> Any: ... # incomplete - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/backend_managers.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/backend_managers.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/backend_managers.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/backend_tools.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/backend_tools.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/backend_tools.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/backends/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/backends/__init__.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/backends/__init__.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/bezier.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/bezier.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/bezier.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/blocking_input.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/blocking_input.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/blocking_input.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/category.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/category.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/category.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/cbook/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/cbook/__init__.pyi deleted file mode 100644 index e3944601..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/cbook/__init__.pyi +++ /dev/null @@ -1,132 +0,0 @@ -# COMPLETE - -from os import PathLike -from typing import (IO, Any, Callable, ContextManager, Dict, Generator, - Generic, ItemsView, Iterable, Iterator, KeysView, List, - Literal, Mapping, Optional, Sequence, Tuple, Type, TypeVar, - Union, ValuesView, overload) - -from _typeshed import AnyPath, SupportsWrite -from matplotlib._typing import ArrayLike, ndarray -from matplotlib.artist import Artist - -_T = TypeVar("_T") -_KT = TypeVar("_KT") -_VT = TypeVar("_VT") -_KT_co = TypeVar("_KT_co", covariant=True) # Key type covariant containers. -_VT_co = TypeVar("_VT_co", covariant=True) # Value type covariant containers. - -class CallbackRegistry: - def __init__(self, exception_handler: Optional[Callable[[Exception], Any]] = ...) -> None: ... - - def connect(self, signal: Any, func: Callable[..., Any]) -> int: ... - def disconnect(self, cid: int) -> None: ... - def process(self, s: Any, *args: Any, **kwargs: Any) -> None: ... - - -class Grouper: - def __init__(self, init: Iterable[Any] = ...) -> None: ... - - def clean(self) -> None: ... - def get_siblings(self, a: Any) -> List[Any]: ... - def join(self, a: Any, *args: Any) -> None: ... - def joined(self, a: Any, b: Any) -> bool: ... - def remove(self, a: Any) -> None: ... - - def __contains__(self, item: Any) -> bool: ... - def __iter__(self) -> Iterator[Any]: ... - -class IgnoredKeyboardWarning(UserWarning): ... - -class Stack: - def __init__(self, default: Optional[Any] = ...) -> None: ... - - def back(self) -> Stack: ... - def bubble(self, o: Any) -> Any: ... - def clear(self) -> None: ... - def empty(self) -> bool: ... - def forward(self) -> Any: ... - def home(self) -> Any: ... - def push(self, o: Any) -> Any: ... - def remove(self, o: Any) -> None: ... - -def boxplot_stats( - x: ArrayLike, - whis: Union[float, Tuple[float, float]] = ..., - bootstrap: Optional[int] = ..., - labels: Optional[ArrayLike] = ..., - autorange: bool = ... -) -> List[Dict[str, Any]]: ... - -def contiguous_regions(mask: ArrayLike) -> List[Tuple[int, int]]: ... - -def delete_masked_points(*args: Any) -> Sequence[Any]: ... - -def file_requires_unicode(x: SupportsWrite[Any]) -> bool: ... - -def flatten(seq: Iterable[Any], scalarp: Callable[[Any], Any] = ...) -> Generator[Any, Any, Any]: ... - -def get_sample_data(fname: AnyPath, asfileobj: bool = ..., *, np_load: bool = ...) -> Any: ... # TODO: split into overloads - -def index_of(y: Union[float, ArrayLike]) -> Tuple[ndarray, ndarray]: ... - -def is_math_text(s: object) -> bool: ... - -def is_scalar_or_string(val: object) -> bool: ... - -def is_writable_file_like(val: object) -> bool: ... - -ls_mapper: Dict[str, str] -ls_mapper_r: Dict[str, str] - -class maxdict(Dict[_KT, _VT]): - def __init__(self, maxsize: int) -> None: ... - -def normalize_kwargs( - kw: Optional[Mapping[str, Any]], - alias_mapping: Optional[Union[Mapping[str, Iterable[Any]], Type[Artist]]] = ..., - require: Sequence[str] = ..., - forbidden: Sequence[str] = ..., - allowed: Optional[ Sequence[str]] = ... -) -> Dict[str, Any]: ... # TODO: mappings between what and what? - -def open_file_cm(path_or_file: Union[str, PathLike[Any], IO[Any]], mode: str = ..., encoding: Optional[str] = ...) -> ContextManager[IO[Any]]: ... - -def print_cycles(objects: Iterable[Any], outstream: SupportsWrite[str] = ..., show_progress: bool = ...) -> None: ... - -def pts_to_midstep(x: ArrayLike, *args: ArrayLike) -> ndarray: ... - -def pts_to_poststep(x: ArrayLike, *args: ArrayLike) -> ndarray: ... - -def pts_to_prestep(x: ArrayLike, *args: ArrayLike) -> ndarray: ... - -def report_memory(i: int = ...) -> int: ... - -def safe_first_element(obj: Union[Iterable[_T], Iterator[_T]]) -> _T: ... - -def safe_masked_invalid(x: ArrayLike, copy: bool = ...) -> ndarray: ... - -@overload -def sanitize_sequence(data: ItemsView[_KT_co, _VT_co]) -> List[Tuple[_KT_co, _VT_co]]: ... -@overload -def sanitize_sequence(data: KeysView[_KT_co]) -> List[_KT_co]: ... -@overload -def sanitize_sequence(data: ValuesView[_VT_co]) -> List[_VT_co]: ... -@overload -def sanitize_sequence(data: _T) -> _T: ... - -_type = type -class silent_list(list[_T], Generic[_T]): - type: _type - def __init__(self, type: _type, seq: Optional[Iterable[_T]] = ...) -> None: ... - -def simple_linear_interpolation(a: ndarray, steps: int) -> ndarray: ... - -def strip_math(s: str) -> str: ... - -@overload -def to_filehandle(fname: Union[str, PathLike[Any], IO[Any]], flag: str = ..., return_opened: Literal[False] = ..., encoding: Optional[str] = ...) -> IO[Any]: ... -@overload -def to_filehandle(fname: Union[str, PathLike[Any], IO[Any]], flag: str = ..., return_opened: Literal[True] = ..., encoding: Optional[str] = ...) -> Tuple[IO[Any], bool]: ... - -def violin_stats(X: ArrayLike, method: Callable[[Any, ndarray], Any], points: int = ..., quantiles: Optional[ArrayLike] = ...) -> List[Dict[str, Any]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/cm.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/cm.pyi deleted file mode 100644 index be782745..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/cm.pyi +++ /dev/null @@ -1,44 +0,0 @@ -# COMPLETE - -from typing import Any, Optional, Tuple, Union - -from matplotlib._typing import ArrayLike, ndarray -from matplotlib.colorbar import Colorbar -from matplotlib.colors import Colormap, Normalize - - -class ScalarMappable: - colorbar: Optional[Colorbar] - - def __init__(self, norm: Optional[Normalize] = ..., cmap: Optional[Union[str, Colormap]] = ...) -> None: ... - - def autoscale(self) -> None: ... - - def autoscale_None(self) -> None: ... - - def changed(self) -> None: ... - - def get_alpha(self) -> float: ... - - def get_array(self) -> ndarray: ... - def set_array(self, A: ndarray) -> None: ... - - def get_clim(self) -> Tuple[float, float]: ... - def set_clim(self, vmin: Optional[float] = ..., vmax: Optional[float] = ...) -> None: ... - - def get_cmap(self) -> Colormap: ... - def set_cmap(self, cmap: Optional[Union[str, Colormap]]) -> None: ... - - def set_norm(self, norm: Optional[Normalize]) -> None: ... - - def to_rgba(self, x: ArrayLike, alpha: Optional[float] = ..., bytes: bool = ..., norm: bool = ...) -> ndarray: ... - - def add_checkler(self, checker: Any) -> None: ... # deprecated - def check_update(self, checker: Any) -> None: ... # deprecated - - -def get_cmap(name: Optional[Union[Colormap, str]] = ..., lut: Optional[int] = ...) -> Colormap: ... - -def register_cmap(name: Optional[str] = ..., cmap: Optional[Colormap] = ..., data: Any = ..., lut: Optional[int] = ...) -> None: ... - -def revcmap(data: Any) -> Any: ... # deprecated diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/collections.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/collections.pyi deleted file mode 100644 index ff1fafbf..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/collections.pyi +++ /dev/null @@ -1,32 +0,0 @@ -from typing import Any - -from matplotlib.artist import Artist -from matplotlib.cm import ScalarMappable - - -class Collection(Artist, ScalarMappable): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class _CollectionWithSizes(Collection): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class LineCollection(Collection): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class PolyCollection(_CollectionWithSizes): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class BrokenBarHCollection(PolyCollection): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class EventCollection(LineCollection): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class QuadMesh(Collection): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class PathCollection(_CollectionWithSizes): - def __getattr__(self, name: str) -> Any: ... # incomplete - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/colorbar.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/colorbar.pyi deleted file mode 100644 index 77bec97f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/colorbar.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Any - - -class ColorbarBase: - def __getattr__(self, name: str) -> Any: ... # incomplete - -class Colorbar(ColorbarBase): - def __getattr__(self, name: str) -> Any: ... # incomplete - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/colors.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/colors.pyi deleted file mode 100644 index 9d3be5aa..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/colors.pyi +++ /dev/null @@ -1,196 +0,0 @@ -# COMPLETE - -from typing import Any, Callable, Dict, Literal, Mapping, NoReturn, Optional, Pattern, Protocol, Sequence, Tuple, TypeVar, Union, overload - -from numpy.ma import MaskedArray - -from matplotlib._typing import ArrayLike, Scalar, ndarray - -_ColorLike = Union[ - str, - Tuple[float, float, float], - Tuple[float, float, float, float], -] - - -_C = TypeVar("_C", bound=Colormap) - -class _ColorMapping(dict): - def __init__(self, mapping) -> None: ... - - def __setitem__(self, key, value) -> None: ... - - def __delitem__(self, key)-> None: ... - -class ColorConverter: - colors: _ColorMapping = ... - cache = ... - to_rgb = ... - to_rgba = ... - to_rgba_array = ... - -colorConverter: ColorConverter = ... - -class Colormap: - colorbar_extend: bool - - def __init__(self, name: str, N: int = ...) -> None: ... - - @overload - def __call__(self, X: Scalar, alpha: Optional[float] = ..., bytes: bool = ...) -> Tuple[int, ...]: ... # TOOD: int or float? - @overload - def __call__(self, X: ArrayLike, alpha: Optional[float] = ..., bytes: bool = ...) -> ndarray: ... - - def is_gray(self) -> bool: ... - - def reversed(self: _C, name: Optional[str] = ...) -> _C: ... - - def set_bad(self, color: _ColorLike = ..., alpha: Optional[float] = ...) -> None: ... - def set_over(self, color: _ColorLike = ..., alpha: Optional[float] = ...) -> None: ... - def set_under(self, color: _ColorLike = ..., alpha: Optional[float] = ...) -> None: ... - - -class LinearSegmentedColormap(Colormap): - def __init__(self, name: str, segmentdata: Mapping[str, Sequence[Tuple[float, float, float]]], N: int = ..., gamma: float = ...) -> None: ... - - @staticmethod - def from_list(name: str, colors: ArrayLike, N: int = ..., gamma: float = ...) -> LinearSegmentedColormap: ... - - def set_gamma(self, gamma: float) -> None: ... - - -class ListedColormap(Colormap): - # TODO: without N, colors must be len()-able - def __init__(self, colors: Union[Sequence[_ColorLike], ArrayLike], name: str = ..., N: Optional[int] = ...) -> None: ... - - -class Normalize: - def __init__(self, vmin: Optional[float] = ..., vmax: Optional[float] = ..., clip: bool = ...) -> None: ... - - @overload - def __call__(self, value: Scalar, clip: Optional[bool] = ...) -> Scalar: ... - @overload - def __call__(self, value: ArrayLike, clip: Optional[bool] = ...) -> ndarray: ... - - # See np.asanyarray input type - def autoscale(self, A: object) -> None: ... - def autoscale_None(self, A: object) -> None: ... - - def inverse(self, value: ArrayLike) -> ndarray: ... - - @staticmethod - def process_value(value: Union[Scalar, ArrayLike]) -> Tuple[MaskedArray, bool]: ... - - def scaled(self) -> bool: ... - - -class TwoSlopeNorm(Normalize): - def __init__(self, vcenter: float, vmin: Optional[float] = ..., vmax: Optional[float] = ...) -> None: ... - -class DivergingNorm(TwoSlopeNorm): ... - -class LogNorm(Normalize): ... - -class SymLogNorm(Normalize): - def __init__(self, linthresh: float, linscale: float = ..., vmin: Optional[float] = ..., vmax: Optional[float] = ..., clip: bool = ..., *, base: Optional[float] = ...) -> None: ... - -class PowerNorm(Normalize): - def __init__(self, gamma: float, vmin: Optional[float] = ..., vmax: Optional[float] = ..., clip: bool = ...) -> None: ... - -class BoundaryNorm(Normalize): - def __init__(self, boundaries: ArrayLike, ncolors: int, clip: bool = ..., *, extend: Literal['neither', 'both', 'min', 'max'] = ...) -> None: ... - - def inverse(self, value: Any) -> NoReturn: ... # Always raises. - -class NoNorm(Normalize): ... - - -class _BlendModeFunc(Protocol): - def __call__(self, rgb: ArrayLike, illum: ArrayLike, **kwargs: Any) -> ndarray: ... - -class LightSource: - def __init__( - self, - azdeg: float = ..., - altdeg: float = ..., - hsv_min_val: float = ..., - hsv_max_val: float = ..., - hsv_min_sat: float = ..., - hsv_max_sat: float = ... - ) -> None: ... - - @property - def direction(self) -> ndarray: ... - - def blend_hsv( - self, - rgb: ndarray, - intensity: ndarray, - hsv_max_sat: Optional[float] = ..., - hsv_max_val: Optional[float] = ..., - hsv_min_val: Optional[float] = ..., - hsv_min_sat: Optional[float] = ... - ) -> ndarray: ... - - def blend_overlay(self, rgb: ndarray, intensity: ndarray) -> ndarray: ... - def blend_soft_light(self, rgb: ndarray, intensity: ndarray) -> ndarray: ... - - def hillshade(self, elevation: ArrayLike, vert_exag: float = ..., dx: float = ..., dy: float = ..., fraction: float = ...) -> ndarray: ... - - def shade( - self, - data: ArrayLike, - cmap: Colormap, - norm: Optional[Normalize] = ..., - blend_mode: Union[Literal['hsv', 'overlay', 'soft'], _BlendModeFunc] = ..., - vmin: Optional[float] = ..., - vmax: Optional[float] = ..., - vert_exag: float = ..., - dx: float = ..., - dy: float = ..., - fraction: float = ..., - **kwargs: Any - ) -> ndarray: ... - - def shade_normals(self, normals: ndarray, fraction: float = ...) -> ndarray: ... - - def shade_rgb( - self, - rgb: ArrayLike, - elevation: ArrayLike, - fraction: float = ..., - blend_mode: Union[Literal['hsv', 'overlay', 'soft'], _BlendModeFunc] = ..., - vert_exag: float = ..., - dx: float = ..., - dy: float = ..., - **kwargs: Any - ) -> ndarray: ... - - -def from_levels_and_colors( - levels: ArrayLike, - colors: Sequence[_ColorLike], - extend: Literal['neither', 'min', 'max', 'both'] = ... -) -> Tuple[Colormap, Normalize]: ... - -def hsv_to_rgb(hsv: ArrayLike) -> ndarray: ... -def rgb_to_hsv(arr: ArrayLike) -> ndarray: ... - -def to_hex(c: Union[_ColorLike, MaskedArray], keep_alpha: bool = ...) -> str: ... -def to_rgb(c: Union[_ColorLike, MaskedArray]) -> Tuple[float, float, float]: ... -def to_rgba(c: Union[_ColorLike, MaskedArray], alpha: Optional[float] = ...) -> Tuple[float, float, float, float]: ... -def to_rgba_array(c: Any, alpha: Optional[float] = ...) -> ndarray: ... - -def is_color_like(c: Any) -> bool: ... -def same_color(c1: Any, c2: Any) -> bool: ... - -def makeMappingArray(N: int, data: Union[ArrayLike, Callable[[ndarray], ndarray]], gamma: float = ...) -> ndarray: ... -def get_named_colors_mapping() -> Dict[str, _ColorLike]: ... - - -# For backwards compatibility; not documented in the docs but explicitly written in the code. - -cnames: Dict[str, str] -hexColorPattern: Pattern -def rgb2hex(c: Union[_ColorLike, MaskedArray], keep_alpha: bool = ...) -> str: ... -def hex2color(c: Union[_ColorLike, MaskedArray]) -> Tuple[float, float, float]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/container.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/container.pyi deleted file mode 100644 index d7e57436..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/container.pyi +++ /dev/null @@ -1,44 +0,0 @@ -# COMPLETE - -from typing import Any, Callable, List, Optional, Tuple, TypeVar, Union - -from matplotlib.collections import LineCollection -from matplotlib.lines import Line2D -from matplotlib.patches import Rectangle - -_T = TypeVar("_T") - - -# These would be better represented as variadic types, which are not yet accepted. -class Container(Tuple[_T]): - eventson: bool - - def __init__(self, kl: Any, label: Optional[str] = ...) -> None: ... - - def get_children(self) -> List[_T]: ... - - # Copied from Artist. - def add_callback(self, func: Callable[[_T], Any]) -> int: ... - def remove_callback(self, oid: int) -> None: ... - def get_label(self) -> str: ... - def set_label(self, s: object) -> None: ... - def pchanged(self) -> None: ... - -class BarContainer(Container[Rectangle]): - patches: List[Rectangle] - errorbar: Optional[ErrorbarContainer] - - def __init__(self, patches: List[Rectangle], errorbar: Optional[ErrorbarContainer] = ..., **kwargs: Any) -> None: ... - -class ErrorbarContainer(Container[Union[LineCollection, Line2D]]): - has_xerr: bool - has_yerr: bool - - def __init__(self, lines: Tuple[Line2D, Tuple[Line2D, ...], List[LineCollection]], has_xerr: bool = ..., has_yerr: bool = ..., **kwargs: Any) -> None: ... - -class StemContainer(Container[Union[LineCollection, Line2D]]): - markerline: LineCollection - stemlines: LineCollection - baseline: Line2D - - def __init__(self, markerline_stemlines_baseline: Tuple[LineCollection, LineCollection, Line2D], **kwargs: Any) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/contour.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/contour.pyi deleted file mode 100644 index ee43d9ec..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/contour.pyi +++ /dev/null @@ -1,16 +0,0 @@ -from typing import Any - -from matplotlib.cm import ScalarMappable - - -class ContourLabeler: - def __getattr__(self, name: str) -> Any: ... # incomplete - -class ContourSet(ScalarMappable, ContourLabeler): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class QuadContourSet(ContourSet): - def __getattr__(self, name: str) -> Any: ... # incomplete - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/dates.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/dates.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/dates.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/docstring.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/docstring.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/docstring.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/dviread.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/dviread.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/dviread.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/figure.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/figure.pyi deleted file mode 100644 index ff925857..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/figure.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any - -from matplotlib.artist import Artist - - -class Figure(Artist): - def __getattr__(self, name: str) -> Any: ... # incomplete - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/font_manager.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/font_manager.pyi deleted file mode 100644 index 70e194df..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/font_manager.pyi +++ /dev/null @@ -1,166 +0,0 @@ -# COMPLETE - -import sys -from pathlib import Path -from typing import Any, Dict, Iterable, List, Literal, Optional, Tuple, Union - -from _typeshed import AnyPath - -from matplotlib.afm import AFM -from matplotlib.ft2font import FT2Font - -_Style = Literal['normal', 'italic', 'oblique'] - -_Variant = Literal['normal', 'small-caps'] - -_Weight = Literal[ - 'ultralight', - 'light', - 'normal', - 'regular', - 'book', - 'medium', - 'roman', - 'semibold', - 'demibold', - 'demi', - 'bold', - 'heavy', - 'extra bold', - 'black' -] - -_Stretch = Literal[ - 'ultra-condensed', - 'extra-condensed', - 'condensed', - 'semi-condensed', - 'normal', - 'semi-expanded', - 'expanded', - 'extra-expanded', - 'ultra-expanded' -] - -_Size = Literal[ - 'xx-small', - 'x-small', - 'small', - 'medium', - 'large', - 'x-large', - 'xx-large' -] - -class FontEntry: - fname: AnyPath - name: str - style: _Style - variant: _Variant - weight: Union[_Weight, int] - stretch: Union[_Stretch, int] - size: Union[_Size, float] - - def __init__( - self, - fname: AnyPath = ..., - name: str = ..., - style: _Style = ..., - variant: _Variant = ..., - weight: Union[_Weight, int] = ..., - stretch: Union[_Stretch, int] = ..., - size: Union[_Size, float] = ... - ) -> None: ... - - -class FontManager: - def __init__(self, size: Optional[int] = ..., weight: Literal["normal", "bold"] = ...) -> None: ... - - def addfont(self, path: Union[str, Path]) -> None: ... - def findfont( - self, - prop: Union[str, FontProperties], - fontext: Literal['ttf', 'afm'] = ..., - directory: Optional[str] = ..., - fallback_to_default: bool = ..., - rebuild_if_missing: bool = ... - ) -> str: ... - - @staticmethod - def get_default_size() -> int: ... - - def get_default_weight(self) -> Literal['normal', 'bold']: ... - def set_default_weight(self, weight: Literal['normal', 'bold']) -> None: ... - - def score_family(self, families: Union[List[str], Tuple[str], str], family2: str) -> float: ... - def score_size(self, size1: Any, size2: Any) -> float: ... - def score_stretch(self, stretch1: Any, stretch2: Any) -> float: ... - def score_style(self, style1: Any, style2: Any) -> float: ... - def score_variant(self, variant1: Any, variant2: Any) -> float: ... - def score_weight(self, weight1: _Weight, weight2: _Weight) -> float: ... - - @property - def defaultFont(self) -> Dict[str, str]: ... - - -class FontProperties: - def __init__( - self, - family: Optional[str] = ..., - style: Optional[_Style] = ..., - variant: Optional[_Variant] = ..., - weight: Optional[Union[_Weight, int]] = ..., - stretch: Optional[Union[_Stretch, int]] = ..., - size: Union[_Size, int] = ..., - fname: Optional[AnyPath] = ... - ) -> None: ... - - def copy(self) -> FontProperties: ... - - def get_family(self) -> List[str]: ... - def set_family(self, family: Union[str, List[str]]) -> None: ... - def get_file(self) -> Optional[AnyPath]: ... - def set_file(self, file: Optional[AnyPath]) -> None: ... - def get_fontconfig_pattern(self) -> Dict[str, List[str]]: ... - def set_fontconfig_pattern(self, pattern: str) -> None: ... - def get_name(self) -> str: ... - def set_name(self, family: Union[str, List[str]]) -> None: ... - def get_size(self) -> float: ... - def get_size_in_points(self)-> float: ... - def set_size(self, size: Optional[Union[float, _Size]]) -> None: ... - def get_slant(self) -> _Style: ... - def set_slant(self, style: _Style) -> None: ... - def get_stretch(self) -> Union[int, _Stretch]: ... - def set_stretch(self, stretch: Optional[Union[int, _Stretch]]) -> None: ... - def get_style(self) -> _Style: ... - def set_style(self, style: _Style) -> None: ... - def get_variant(self) -> _Variant: ... - def set_variant(self, variant: Optional[_Variant]) -> None: ... - def get_weight(self) -> Union[int, _Weight]: ... - def set_weight(self, weight: Optional[Union[int, _Weight]]) -> None: ... - -def afmFontProperty(fontpath: AnyPath, font: AFM) -> FontEntry: ... -def findSystemFonts(fontpaths: Optional[Union[str, Iterable[AnyPath]]] = ..., fontext: str = ...) -> List[str]: ... - - -# FontManager.findfont -def findfont( - prop: Union[str, FontProperties], - fontext: Literal['ttf', 'afm'] = ..., - directory: Optional[str] = ..., - fallback_to_default: bool = ..., - rebuild_if_missing: bool = ... -) -> str: ... - -def get_font(filename: AnyPath, hinting_factor: Optional[int] = ...) -> FT2Font: ... -def get_fontconfig_fonts(fontext: str = ...) -> List[str]: ... -def get_fontext_synonyms(fontext: str) -> str: ... -def is_opentype_cff_font(filename: str) -> bool: ... -def json_dump(data: FontManager, filename: AnyPath) -> None: ... -def json_load(filename: AnyPath) -> FontManager: ... -def list_fonts(directory: AnyPath, extensions: Iterable[str]) -> List[str]: ... -def ttfFontProperty(font: FT2Font) -> FontEntry: ... - -if sys.platform == 'win32': - def win32FontDirectory() -> str: ... - def win32InstalledFonts(directory: Optional[str] = ..., fontext: Literal['ttf', 'afm'] = ...) -> List[str]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/fontconfig_pattern.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/fontconfig_pattern.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/fontconfig_pattern.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/ft2font.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/ft2font.pyi deleted file mode 100644 index 6f89d0e5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/ft2font.pyi +++ /dev/null @@ -1,273 +0,0 @@ -# Python: 3.8.8 (tags/v3.8.8:024d805, Feb 19 2021, 13:18:16) [MSC v.1928 64 bit (AMD64)] -# Library: matplotlib, version: 3.4.0 -# Module: matplotlib.ft2font, version: unspecified -import typing -import builtins as _mod_builtins - -BOLD: int -EXTERNAL_STREAM: int -FAST_GLYPHS: int -FIXED_SIZES: int -FIXED_WIDTH: int -class FT2Font(_mod_builtins.object): - 'Create a new FT2Font object.\n\nAttributes\n----------\nnum_faces\n Number of faces in file.\nface_flags, style_flags : int\n Face and style flags; see the ft2font constants.\nnum_glyphs\n Number of glyphs in the face.\nfamily_name, style_name\n Face family and style name.\nnum_fixed_sizes\n Number of bitmap in the face.\nscalable\n Whether face is scalable; attributes after this one are only\n defined for scalable faces.\nbbox\n Face global bounding box (xmin, ymin, xmax, ymax).\nunits_per_EM\n Number of font units covered by the EM.\nascender, descender\n Ascender and descender in 26.6 units.\nheight\n Height in 26.6 units; used to compute a default line spacing\n (baseline-to-baseline distance).\nmax_advance_width, max_advance_height\n Maximum horizontal and vertical cursor advance for all glyphs.\nunderline_position, underline_thickness\n Vertical position and thickness of the underline bar.\npostscript_name\n PostScript name of the font.\n' - def __init__(self, *args, **kwargs) -> None: - 'Create a new FT2Font object.\n\nAttributes\n----------\nnum_faces\n Number of faces in file.\nface_flags, style_flags : int\n Face and style flags; see the ft2font constants.\nnum_glyphs\n Number of glyphs in the face.\nfamily_name, style_name\n Face family and style name.\nnum_fixed_sizes\n Number of bitmap in the face.\nscalable\n Whether face is scalable; attributes after this one are only\n defined for scalable faces.\nbbox\n Face global bounding box (xmin, ymin, xmax, ymax).\nunits_per_EM\n Number of font units covered by the EM.\nascender, descender\n Ascender and descender in 26.6 units.\nheight\n Height in 26.6 units; used to compute a default line spacing\n (baseline-to-baseline distance).\nmax_advance_width, max_advance_height\n Maximum horizontal and vertical cursor advance for all glyphs.\nunderline_position, underline_thickness\n Vertical position and thickness of the underline bar.\npostscript_name\n PostScript name of the font.\n' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def ascender(self) -> typing.Any: - ... - - @property - def bbox(self) -> typing.Any: - ... - - def clear(self) -> typing.Any: - 'Clear all the glyphs, reset for a new call to `.set_text`.\n' - ... - - @property - def descender(self) -> typing.Any: - ... - - def draw_glyph_to_bitmap(self, bitmap, x, y, glyph) -> typing.Any: - 'Draw a single glyph to the bitmap at pixel locations x, y\nNote it is your responsibility to set up the bitmap manually\nwith ``set_bitmap_size(w, h)`` before this call is made.\n\nIf you want automatic layout, use `.set_text` in combinations with\n`.draw_glyphs_to_bitmap`. This function is instead intended for people\nwho want to render individual glyphs (e.g., returned by `.load_char`)\nat precise locations.\n' - ... - - def draw_glyphs_to_bitmap(self) -> typing.Any: - 'Draw the glyphs that were loaded by `.set_text` to the bitmap.\nThe bitmap size will be automatically set to include the glyphs.\n' - ... - - @property - def face_flags(self) -> typing.Any: - ... - - @property - def family_name(self) -> typing.Any: - ... - - @property - def fname(self) -> typing.Any: - ... - - def get_bitmap_offset(self) -> typing.Any: - 'Get the (x, y) offset in 26.6 subpixels for the bitmap if ink hangs left or below (0, 0).\nSince Matplotlib only supports left-to-right text, y is always 0.\n' - ... - - def get_char_index(self, codepoint) -> typing.Any: - 'Return the glyph index corresponding to a character *codepoint*.\n' - ... - - def get_charmap(self) -> typing.Any: - 'Return a dict that maps the character codes of the selected charmap\n(Unicode by default) to their corresponding glyph indices.\n' - ... - - def get_descent(self) -> typing.Any: - 'Get the descent in 26.6 subpixels of the current string set by `.set_text`.\nThe rotation of the string is accounted for. To get the descent\nin pixels, divide this value by 64.\n' - ... - - def get_glyph_name(self, index) -> typing.Any: - "Retrieve the ASCII name of a given glyph *index* in a face.\n\nDue to Matplotlib's internal design, for fonts that do not contain glyph\nnames (per FT_FACE_FLAG_GLYPH_NAMES), this returns a made-up name which\ndoes *not* roundtrip through `.get_name_index`.\n" - ... - - def get_image(self) -> typing.Any: - 'Return the underlying image buffer for this font object.\n' - ... - - def get_kerning(self, left, right, mode) -> typing.Any: - 'Get the kerning between *left* and *right* glyph indices.\n*mode* is a kerning mode constant:\n KERNING_DEFAULT - Return scaled and grid-fitted kerning distances\n KERNING_UNFITTED - Return scaled but un-grid-fitted kerning distances\n KERNING_UNSCALED - Return the kerning vector in original font units\n' - ... - - def get_name_index(self, name) -> typing.Any: - "Return the glyph index of a given glyph *name*.\nThe glyph index 0 means 'undefined character code'.\n" - ... - - def get_num_glyphs(self) -> typing.Any: - 'Return the number of loaded glyphs.\n' - ... - - def get_path(self) -> typing.Any: - 'Get the path data from the currently loaded glyph as a tuple of vertices, codes.\n' - ... - - def get_ps_font_info(self) -> typing.Any: - 'Return the information in the PS Font Info structure.\n' - ... - - def get_sfnt(self) -> typing.Any: - 'Load the entire SFNT names table, as a dict whose keys are\n(platform-ID, ISO-encoding-scheme, language-code, and description)\ntuples.\n' - ... - - def get_sfnt_table(self, name) -> typing.Any: - 'Return one of the following SFNT tables: head, maxp, OS/2, hhea, vhea, post, or pclt.\n' - ... - - def get_width_height(self) -> typing.Any: - 'Get the width and height in 26.6 subpixels of the current string set by `.set_text`.\nThe rotation of the string is accounted for. To get width and height\nin pixels, divide these values by 64.\n' - ... - - def get_xys(self) -> typing.Any: - 'Get the xy locations of the current glyphs.\n' - ... - - @property - def height(self) -> typing.Any: - ... - - def load_char(self, charcode, flags) -> typing.Any: - 'Load character with *charcode* in current fontfile and set glyph.\n*flags* can be a bitwise-or of the LOAD_XXX constants;\nthe default value is LOAD_FORCE_AUTOHINT.\nReturn value is a Glyph object, with attributes\n width # glyph width\n height # glyph height\n bbox # the glyph bbox (xmin, ymin, xmax, ymax)\n horiBearingX # left side bearing in horizontal layouts\n horiBearingY # top side bearing in horizontal layouts\n horiAdvance # advance width for horizontal layout\n vertBearingX # left side bearing in vertical layouts\n vertBearingY # top side bearing in vertical layouts\n vertAdvance # advance height for vertical layout\n' - ... - - def load_glyph(self, glyphindex, flags) -> typing.Any: - 'Load character with *glyphindex* in current fontfile and set glyph.\n*flags* can be a bitwise-or of the LOAD_XXX constants;\nthe default value is LOAD_FORCE_AUTOHINT.\nReturn value is a Glyph object, with attributes\n width # glyph width\n height # glyph height\n bbox # the glyph bbox (xmin, ymin, xmax, ymax)\n horiBearingX # left side bearing in horizontal layouts\n horiBearingY # top side bearing in horizontal layouts\n horiAdvance # advance width for horizontal layout\n vertBearingX # left side bearing in vertical layouts\n vertBearingY # top side bearing in vertical layouts\n vertAdvance # advance height for vertical layout\n' - ... - - @property - def max_advance_height(self) -> typing.Any: - ... - - @property - def max_advance_width(self) -> typing.Any: - ... - - @property - def num_charmaps(self) -> typing.Any: - ... - - @property - def num_faces(self) -> typing.Any: - ... - - @property - def num_fixed_sizes(self) -> typing.Any: - ... - - @property - def num_glyphs(self) -> typing.Any: - ... - - @property - def postscript_name(self) -> typing.Any: - ... - - @property - def scalable(self) -> typing.Any: - ... - - def select_charmap(self, i) -> typing.Any: - 'Select a charmap by its FT_Encoding number.\n' - ... - - def set_charmap(self, i) -> typing.Any: - 'Make the i-th charmap current.\n' - ... - - def set_size(self, ptsize, dpi) -> typing.Any: - 'Set the point size and dpi of the text.\n' - ... - - def set_text(self, string, angle, flags) -> typing.Any: - 'Set the text *string* and *angle*.\n*flags* can be a bitwise-or of the LOAD_XXX constants;\nthe default value is LOAD_FORCE_AUTOHINT.\nYou must call this before `.draw_glyphs_to_bitmap`.\nA sequence of x,y positions is returned.\n' - ... - - @property - def style_flags(self) -> typing.Any: - ... - - @property - def style_name(self) -> typing.Any: - ... - - @property - def underline_position(self) -> typing.Any: - ... - - @property - def underline_thickness(self) -> typing.Any: - ... - - @property - def units_per_EM(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class FT2Image(_mod_builtins.object): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def draw_rect(self, x0, y0, x1, y1) -> typing.Any: - 'Draw an empty rectangle to the image.\n' - ... - - def draw_rect_filled(self, x0, y0, x1, y1) -> typing.Any: - 'Draw a filled rectangle to the image.\n' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -GLYPH_NAMES: int -HORIZONTAL: int -ITALIC: int -KERNING: int -KERNING_DEFAULT: int -KERNING_UNFITTED: int -KERNING_UNSCALED: int -LOAD_CROP_BITMAP: int -LOAD_DEFAULT: int -LOAD_FORCE_AUTOHINT: int -LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH: int -LOAD_IGNORE_TRANSFORM: int -LOAD_LINEAR_DESIGN: int -LOAD_MONOCHROME: int -LOAD_NO_AUTOHINT: int -LOAD_NO_BITMAP: int -LOAD_NO_HINTING: int -LOAD_NO_RECURSE: int -LOAD_NO_SCALE: int -LOAD_PEDANTIC: int -LOAD_RENDER: int -LOAD_TARGET_LCD: int -LOAD_TARGET_LCD_V: int -LOAD_TARGET_LIGHT: int -LOAD_TARGET_MONO: int -LOAD_TARGET_NORMAL: int -LOAD_VERTICAL_LAYOUT: int -MULTIPLE_MASTERS: int -SCALABLE: int -SFNT: int -VERTICAL: int -__doc__: typing.Any -__file__: str -__freetype_build_type__: str -__freetype_version__: str -__name__: str -__package__: str -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/gridspec.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/gridspec.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/gridspec.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/image.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/image.pyi deleted file mode 100644 index 7b92a20b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/image.pyi +++ /dev/null @@ -1,155 +0,0 @@ -# COMPLETE - -from pathlib import Path -from typing import Any, BinaryIO, Collection, Dict, Literal, Optional, Tuple, Union - -from PIL.Image import Image as PILImage - -from matplotlib._typing import ArrayLike, ndarray -from matplotlib.artist import Artist -from matplotlib.axes._axes import Axes -from matplotlib.backend_bases import LocationEvent, MouseEvent, RendererBase -from matplotlib.cm import Colormap, ScalarMappable -from matplotlib.colors import Normalize -from matplotlib.figure import Figure -from matplotlib.transforms import Affine2D, Bbox - -_PathOrIO = Union[str, Path, BinaryIO] - -class _ImageBase(Artist, ScalarMappable): - def __init__( - self, - ax: Axes, - cmap: Optional[Union[str, Colormap]] = ..., - norm: Optional[Normalize] = ..., - interpolation: Optional[str] = ..., - origin: Optional[Literal['upper', 'lower']] = ..., - filternorm: bool = ..., - filterrad: float = ..., - resample: bool = ..., - **kwargs: Any - ) -> None: ... - - def get_size(self) -> Tuple[int, int]: ... - def set_alpha(self, alpha: float) -> None: ... - def changed(self) -> None: ... - def make_image(self, renderer: RendererBase, magnification: float = ..., unsampled: bool = ...) -> Tuple[ndarray, Tuple[float, float], Affine2D]: ... - def draw(self, renderer: RendererBase, *args: Any, **kwargs: Any) -> None: ... - def contains(self, mouseevent: MouseEvent) -> Tuple[bool, Dict[Any, Any]]: ... - def write_png(self, fname: _PathOrIO) -> None: ... - def set_data(self, A: Union[ArrayLike, PILImage]) -> None: ... - def set_array(self, A: ArrayLike) -> None: ... - def get_interpolation(self) -> str: ... - def set_interpolation(self, s: str) -> None: ... - def can_composite(self) -> bool: ... - def set_resample(self, v: Optional[bool]) -> None: ... - def get_resample(self) -> bool: ... - def set_filternorm(self, filternorm: bool) -> None: ... - def get_filternorm(self) -> bool: ... - def set_filterrad(self, filterrad: float) -> None: ... - def get_filterrad(self) -> float: ... - - -class AxesImage(_ImageBase): - def __init__( - self, - ax: Axes, - cmap: Optional[Union[str, Colormap]] = ..., - norm: Optional[Normalize] = ..., - interpolation: Optional[str] = ..., - origin: Optional[Literal['upper', 'lower']] = ..., - extent: Optional[Tuple[float, float, float, float]] = ..., - filternorm: bool = ..., - filterrad: float = ..., - resample: bool = ..., - **kwargs: Any - ) -> None: ... - - def format_cursor_data(self, data: ArrayLike) -> str: ... - def get_cursor_data(self, event: LocationEvent) -> Optional[ndarray]: ... - - def set_extent(self, extent: Tuple[float, float, float, float]) -> None: ... - def get_extent(self) -> Tuple[float, float, float, float]: ... - def get_window_extent(self, renderer: Optional[RendererBase] = ...) -> Tuple[float, float, float, float]: ... - -class NonUniformImage(AxesImage): - def __init__(self, ax: Axes, *, interpolation: str = ..., **kwargs: Any) -> None: ... - - @property - def is_grayscale(self) -> bool: ... - - def set_cmap(self, cmap: Optional[Union[str, Colormap]]) -> None: ... - def set_data(self, x: ArrayLike, y: ArrayLike, A: ArrayLike) -> None: ... - def set_norm(self, norm: Optional[Normalize]) -> None: ... - -class PcolorImage(AxesImage): - def __init__( - self, - ax: Axes, - x: Optional[ArrayLike] = ..., - y: Optional[ArrayLike] = ..., - A: Optional[ArrayLike] = ..., - cmap: Optional[Union[str, Colormap]] = ..., - norm: Optional[Normalize] = ..., - **kwargs: Any - ) -> None: ... - - @property - def is_grayscale(self) -> bool: ... - - def set_data(self, x: ArrayLike, y: ArrayLike, A: ArrayLike) -> None: ... - -class BboxImage(_ImageBase): - def __init__( - self, - bbox: Bbox, - cmap: Optional[Union[str, Colormap]] = ..., - norm: Optional[Normalize] = ..., - interpolation: Optional[str] = ..., - origin: Optional[Literal['upper', 'lower']] = ..., - filternorm: bool = ..., - filterrad: float = ..., - resample: bool = ..., - **kwargs: Any - ) -> None: ... - - def get_window_extent(self, renderer: Optional[RendererBase] = ...) -> Tuple[float, float, float, float]: ... - -class FigureImage(_ImageBase): - def __init__( - self, - fig: Figure, - cmap: Optional[Union[str, Colormap]] = ..., - norm: Optional[Normalize] = ..., - interpolation: Optional[str] = ..., - origin: Optional[Literal['upper', 'lower']] = ..., - filternorm: bool = ..., - filterrad: float = ..., - resample: bool = ..., - **kwargs: Any - ) -> None: ... - - def get_extent(self) -> Tuple[float, float, float, float]: ... - - -def composite_images(images: Collection[_ImageBase], renderer: RendererBase, magnification: float = ...) -> Tuple[ndarray, float, float]: ... - -def imread(fname: _PathOrIO, format: Optional[str] = ...) -> ndarray: ... - -def imsave( - fname: _PathOrIO, - arr: ArrayLike, - vmin: Optional[float] = ..., - vmax: Optional[float] = ..., - cmap: Optional[Union[str, Colormap]] = ..., - format: Optional[str] = ..., - origin: Optional[Literal['upper', 'lower']] = ..., - dpi: float = ..., - *, - metadata: Optional[Dict[Any, Any]] = ..., - pil_kwargs: Optional[Dict[str, Any]] = ... -) -> None: ... - -def pil_to_array(pilImage: PILImage) -> ndarray: ... - -def thumbnail(infile: _PathOrIO, thumbfile: _PathOrIO, scale: float = ..., interpolation: str = ..., preview: bool = ...) -> Figure: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/legend.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/legend.pyi deleted file mode 100644 index 86df09ce..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/legend.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any - -from matplotlib.artist import Artist - - -class Legend(Artist): - def __getattr__(self, name: str) -> Any: ... # incomplete - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/legend_handler.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/legend_handler.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/legend_handler.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/lines.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/lines.pyi deleted file mode 100644 index 121bfda0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/lines.pyi +++ /dev/null @@ -1,42 +0,0 @@ -from typing import Any, List, Literal, Optional, Tuple, Union - -from matplotlib._typing import ArrayLike -from matplotlib.artist import Artist -from matplotlib.colors import _ColorLike -from matplotlib.markers import MarkerStyle - -_LineStyle = Union[ - Literal['-', 'solid', '--', 'dashed', '-.', 'dashdot', ':', 'dotted', 'None', ' ', ''], - Tuple[int, Tuple[int, ...]] -] - -class Line2D(Artist): - def __init__( - self, - xdata: ArrayLike, - ydata: ArrayLike, - linewidth: Optional[float] = ..., - linestyle: Optional[_LineStyle] = ..., - color: Optional[_ColorLike] = ..., - marker: Optional[MarkerStyle] = ..., - markersize: Optional[float] = ..., - markeredgewidth: Optional[float] = ..., - markeredgecolor: Optional[_ColorLike] = ..., - markerfacecolor: Optional[_ColorLike] = ..., - markerfacecoloralt: Optional[_ColorLike] = ..., - fillstyle: Optional[Literal['full', 'left', 'right', 'bottom', 'top', 'none']] = ..., - antialiased: Optional[bool] = ..., - dash_capstyle: Optional[Literal['butt', 'round', 'projecting']] = ..., - solid_capstyle: Optional[Literal['butt', 'round', 'projecting']] = ..., - dash_joinstyle: Optional[Literal['miter', 'round', 'bevel']] = ..., - solid_joinstyle: Optional[Literal['miter', 'round', 'bevel']] = ..., - pickradius: float = ..., - drawstyle: Optional[Literal['default', 'steps', 'steps-pre', 'steps-mid', 'steps-post']] = ..., - markevery: Optional[Union[int, Tuple[int, int], slice, List[int], float, Tuple[float, float], List[bool]]] = ..., - **kwargs: Any, - ) -> None: ... - - def __getattr__(self, name: str) -> Any: ... # incomplete - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/markers.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/markers.pyi deleted file mode 100644 index 8a267bb0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/markers.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Any - - -class MarkerStyle: - def __getattr__(self, name: str) -> Any: ... # incomplete - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/mathtext.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/mathtext.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/mathtext.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/mlab.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/mlab.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/mlab.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/offsetbox.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/offsetbox.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/offsetbox.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/patches.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/patches.pyi deleted file mode 100644 index 65e142f5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/patches.pyi +++ /dev/null @@ -1,22 +0,0 @@ -from typing import Any - -from matplotlib.artist import Artist - - -class Patch(Artist): - def __init__(self, *args, **kwargs) -> None: ... - def __getattr__(self, name: str) -> Any: ... # incomplete - -class Polygon(Patch): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class FancyArrow(Polygon): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class Wedge(Patch): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class Rectangle(Patch): - def __getattr__(self, name: str) -> Any: ... # incomplete - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/path.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/path.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/path.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/patheffects.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/patheffects.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/patheffects.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/projections/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/projections/__init__.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/projections/__init__.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/projections/plot_directive.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/projections/plot_directive.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/projections/plot_directive.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/pyplot.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/pyplot.pyi deleted file mode 100644 index 18ba5ded..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/pyplot.pyi +++ /dev/null @@ -1,924 +0,0 @@ -# https://matplotlib.org/api/_as_gen/matplotlib.pyplot.html#module-matplotlib.pyplot - -from datetime import tzinfo -from typing import ( - Any, - BinaryIO, - Callable, - ContextManager, - Dict, - List, - Literal, - Mapping, - Optional, - Sequence, - Tuple, - Type, - Union, - overload, -) - -import cycler as cycler # undocumented -from matplotlib import interactive as interactive, set_loglevel as set_loglevel # undocumented -from matplotlib._typing import ArrayLike, Scalar, _DetrendCallable, ndarray -from matplotlib.artist import Artist -from matplotlib.axes import Axes as Axes, SubplotBase # undocumented -from matplotlib.backend_bases import Event, FigureManagerBase -from matplotlib.cm import Colormap, ScalarMappable, get_cmap as get_cmap, register_cmap as register_cmap # undocumented -from matplotlib.collections import ( - BrokenBarHCollection, - Collection, - EventCollection, - LineCollection, - PathCollection, - PolyCollection, - QuadMesh, -) -from matplotlib.colorbar import Colorbar -from matplotlib.colors import Normalize as Normalize, _ColorLike # undocumented -from matplotlib.container import BarContainer, ErrorbarContainer, StemContainer -from matplotlib.contour import ContourSet, QuadContourSet -from matplotlib.figure import Figure -from matplotlib.image import AxesImage, FigureImage -from matplotlib.legend import Legend -from matplotlib.lines import Line2D as Line2D # undocumented -from matplotlib.markers import MarkerStyle -from matplotlib.patches import Circle as Circle, FancyArrow, Polygon, Rectangle as Rectangle, Wedge # undocumented -from matplotlib.quiver import Barbs, Quiver, QuiverKey -from matplotlib.scale import get_scale_names as get_scale_names # undocumented -from matplotlib.streamploy import StreamplotSet -from matplotlib.table import Table -from matplotlib.text import Annotation, Text as Text # undocumented -from matplotlib.ticker import ( # undocumented - FixedFormatter as FixedFormatter, - FormatStrFormatter as FormatStrFormatter, - FuncFormatter as FuncFormatter, - LinearLocator as LinearLocator, - LogLocator as LogLocator, - MaxNLocator as MaxNLocator, - MultipleLocator as MultipleLocator, - NullLocator as NullLocator, -) -from matplotlib.transforms import Bbox -from matplotlib.widgets import Slider as Slider, SubplotTool # undocumented -from PIL.Image import Image - -from . import cbook as cbook, cm as cm, style as style # undocumented - -# TODO: data params need to be Dicts/mappings? -# TODO: Are some of these more reasonable in tooltips when split out as overloads? - -def acorr(x: ArrayLike, *, data: Optional[Any] = ..., **kwargs: Any) -> Tuple[ndarray, ndarray, Union[LineCollection, Line2D], Optional[Line2D]]: ... - -def angle_spectrum( - x: ArrayLike, - Fs: Optional[Scalar] = ..., - Fc: Optional[int] = ..., - window: Optional[Union[Callable[[Any], Any], ndarray]] = ..., - pad_to: Optional[int] = ..., - sides: Optional[Literal["default", "onesides", "twosided"]] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> Tuple[ArrayLike, ArrayLike, Line2D]: ... - -def annotate(s: str, xy: Tuple[float, float], *args: Any, **kwargs: Any) -> Annotation: ... - -def arrow(x: float, y: float, dx: float, dy: float, **kwargs: Any) -> FancyArrow: ... - -def autoscale(enable: Optional[bool] = ..., axis: Optional[Literal["both", "x", "y"]] = ..., tight: Optional[bool] = ...) -> None: ... - -def autumn() -> None: ... - -def axes(arg: Optional[Tuple[float, float, float, float]] = ..., **kwargs: Any) -> Axes: ... - -def axhline(y: Optional[Scalar] = ..., xmin: Optional[Scalar] = ..., xmax: Optional[Scalar] = ..., **kwargs: Any) -> Line2D: ... - -def axhspan(ymin: float, ymax: float, xmin: Optional[int] = ..., xmax: Optional[int] = ..., **kwargs: Any) -> Polygon: ... - -# TODO: write overloads for various forms -def axis(*args: Any, **kwargs: Any) -> Tuple[float, float, float, float]: ... - -def axline(xy1: Optional[Tuple[float, float]], xy2: Optional[Tuple[float, float]] = ..., *, slope: Optional[float] = ..., **kwargs: Any) -> Line2D: ... - -def axvline(x: Optional[Scalar] = ..., ymin: Optional[Scalar] = ..., ymax: Optional[Scalar] = ..., **kwargs: Any) -> Line2D: ... - -def axvspan(xmin: Scalar, xmax: Scalar, ymin: Optional[Scalar] = ..., ymax: Optional[Scalar] = ..., **kwargs: Any) -> Polygon: ... - -# Docs are misleading about this -def bar( - x: Union[Scalar, ArrayLike], - height: Union[Scalar, ArrayLike], - width: Optional[Union[Scalar, ArrayLike]] = ..., - bottom: Optional[Union[Scalar, ArrayLike]] = ..., - *, - align: Literal["center", "edge"] = ..., - data: Optional[Any] = ..., - **kwargs: Any -) -> BarContainer: ... - -def bar_label( - container: BarContainer, - labels: Optional[ArrayLike] = ..., - *, - fmt: str = ..., - label_type: Literal['edge', 'center'] = ..., - padding: float = ..., - **kwargs: Any -) -> List[Text]: ... - -# TODO: write overloads for various forms -def barbs(*args: Any, data: Optional[Any] = ..., **kwargs: Any) -> Barbs: ... - -# barh is just bar, but x=left and bottom=y -def barh( - y: Union[Scalar, ArrayLike], - width: Union[Scalar, ArrayLike], - height: Optional[Union[Scalar, ArrayLike]] = ..., - left: Optional[Union[Scalar, ArrayLike]] = ..., - *, - align: Literal["center", "edge"] = ..., - **kwargs: Any -) -> BarContainer: ... - -def bone() -> None: ... - -def box(On: Optional[bool] = ...) -> None: ... - -def boxplot( - x: Union[ArrayLike, Sequence[ArrayLike]], - notch: Optional[bool] = ..., - sym: Optional[str] = ..., - vert: Optional[bool] = ..., - whis: Optional[Union[float, ArrayLike, str]] = ..., - positions: Optional[ArrayLike] = ..., - widths: Optional[Union[Scalar, ArrayLike]] = ..., - patch_artist: Optional[bool] = ..., - bootstrap: Optional[int] = ..., - usermedians: Optional[ArrayLike] = ..., - conf_intervals: Optional[ArrayLike] = ..., - meanline: Optional[bool] = ..., - showmeans: Optional[bool] = ..., - showcaps: Optional[bool] = ..., - showbox: Optional[bool] = ..., - showfliers: Optional[bool] = ..., - boxprops: Optional[Dict[Any, Any]] = ..., - labels: Optional[Sequence[Any]] = ..., - flierprops: Optional[Any] = ..., - medianprops: Optional[Dict[Any, Any]] = ..., - meanprops: Optional[Dict[Any, Any]] = ..., - capprops: Optional[Dict[Any, Any]] = ..., - whiskerprops: Optional[Dict[Any, Any]] = ..., - manage_ticks: Optional[bool] = ..., - autorange: Optional[bool] = ..., - zorder: Optional[Scalar] = ..., - *, - data: Optional[Any] = ... -) -> Dict[str, Line2D]: ... - -def broken_barh(xranges: Sequence[Tuple[float, float]], yrange: Tuple[float, float], *, data: Optional[Any] = ..., **kwargs: Any) -> BrokenBarHCollection: ... - -def cla() -> None: ... - -def clabel(CS: ContourSet, *args: Any, **kwargs: Any) -> List[Text]: ... - -def clf() -> None: ... - -def clim(vmin: Optional[float] = ..., vmax: Optional[float] = ...) -> None: ... - -def close(fig: Optional[Union[int, str, Figure]] = ...) -> None: ... - -def cohere( - x: ArrayLike, y: ArrayLike, - NFFT: int = ..., - Fs: Scalar = ..., - Fc: int = ..., - detrend: Union[Literal["none", "mean", "linear"], _DetrendCallable] = ..., - window: Union[Callable, ndarray] = ..., - noverlap: int = ..., - pad_to: Optional[int] = ..., - sides: Literal["default", "onesided", "twosided"] = ..., - scale_by_freq: Optional[bool] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> Tuple[ndarray, ndarray]: ... # ArrayLike? - -def colorbar(mappable: Optional[ScalarMappable] = ..., cax: Optional[Axes] = ..., ax: Optional[Union[Axes, Sequence[Axes]]] = ..., **kwargs: Any) -> Colorbar: ... - -# Should be colormap? -def colormaps() -> Dict[str, Colormap]: ... - -def connect(s: str, func: Callable[[Event], None]) -> int: ... - -# TODO: write overloads for various forms -def contour(*args: Any, data: Optional[Any] = ..., **kwargs: Any) -> QuadContourSet: ... -def contourf(*args: Any, data: Optional[Any] = ..., **kwargs: Any) -> QuadContourSet: ... - -def cool() -> None: ... - -def copper() -> None: ... - -def csd( - x: ArrayLike, y: ArrayLike, - NFFT: int = ..., - Fs: Scalar = ..., - Fc: int = ..., - detrend: Union[Literal["none", "mean", "linear"], _DetrendCallable] = ..., - window: Union[Callable, ndarray] = ..., - noverlap: int = ..., - pad_to: Optional[int] = ..., - sides: Literal["default", "onesided", "twosided"] = ..., - scale_by_freq: Optional[bool] = ..., - return_line: Optional[bool] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> Tuple[ndarray, ndarray, Line2D]: ... # ArrayLike? - -def delaxes(ax: Optional[Axes]) -> None: ... - -def disconnect(cid: int) -> None: ... - -def draw() -> None: ... - -def draw_if_interactive() -> None: ... - -def errorbar( - x: ArrayLike, y: ArrayLike, - yerr: Optional[Union[Scalar, ArrayLike]] = ..., - xerr: Optional[Union[Scalar, ArrayLike]] = ..., - fmt: str = ..., - ecolor: Optional[_ColorLike] = ..., - elinewidth: Optional[Scalar] = ..., - capsize: Optional[Scalar] = ..., - barsabove: bool = ..., - lolims: bool = ..., - uplims: bool = ..., - xlolims: bool = ..., - xuplims: bool = ..., - errorevery: int = ..., - capthick: Optional[Scalar] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> ErrorbarContainer: ... - -def eventplot( - positions: ArrayLike, - orientation: Optional[Literal["horizontal", "vertical"]], - lineoffsets: Optional[Union[Scalar, ArrayLike]] = ..., - linelengths: Optional[Union[Scalar, ArrayLike]] = ..., - linewidths: Optional[Union[Scalar, ArrayLike]] = ..., - colors: Optional[Union[_ColorLike, Sequence[_ColorLike]]] = ..., - linestyles: Union[str, Tuple[str, ...], Sequence[Any]] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> List[EventCollection]: ... - -# TODO: write overloads for various forms -def figimage(*args: Any, **kwargs: Any) -> FigureImage: ... - -# TODO: write overloads for various forms -def figlegend(*args: Any, **kwargs: Any) -> Legend: ... - -def fignum_exists(num: Any) -> bool: ... - -def figtext(x: float, y: float, s: str, *args: Any, **kwargs: Any) -> Text: ... - -def figure( - num: Optional[Union[int, str]] = ..., - figsize: Optional[Tuple[float, float]] = ..., - dpi: Optional[int] = ..., - facecolor: Optional[_ColorLike] = ..., - edgecolor: Optional[_ColorLike] = ..., - frameon: bool = ..., - FigureClass: Type[Figure] = ..., - clear: bool = ..., - **kwargs: Any -) -> Figure: ... - -# TODO: write overloads for various forms -def fill(*args: Any, data: Optional[Mapping[Any, Any]] = ..., **kwargs: Any) -> List[Polygon]: ... - -def fill_between( - x: ArrayLike, y1: ArrayLike, - y2: Union[ArrayLike, Scalar] = ..., - where: Optional[ArrayLike] = ..., - interpolate: bool = ..., - step: Optional[Literal["pre", "post", "mid"]] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> PolyCollection: ... - -def fill_betweenx( - y: ArrayLike, x1: ArrayLike, - x2: Union[ArrayLike, Scalar] = ..., - where: Optional[ArrayLike] = ..., - interpolate: bool = ..., - step: Optional[Literal["pre", "post", "mid"]] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> PolyCollection: ... - -def findobj( - o: Optional[Any] = ..., - match: Optional[Union[ - Callable[[Artist], bool], - Line2D, - ]] = ..., - include_self: bool = ... -) -> List[Artist]: ... - -def flag() -> None: ... - -def gca(**kwargs: Any) -> Axes: ... - -def gcf() -> Figure: ... - -def gci() -> Optional[ScalarMappable]: ... - -def get(obj: Artist, *args: Any, **kwargs: Any) -> Any: ... - -def get_current_fig_manager() -> FigureManagerBase: ... - -def get_figlabels() -> List[Any]: ... - -def get_fignums() -> List[Any]: ... - -def get_plot_commands() -> List[str]: ... - -def getp(obj: Artist, *args: Any, **kwargs: Any) -> Any: ... - -# TODO: write overloads for various forms -def ginput(*args: Any, **kwargs: Any) -> List[Tuple[float, float]]: ... - -def gray() -> None: ... - -def grid(b: Optional[bool] = ..., which: Literal["major", "minor", "both"] = ..., axis: Literal["both", "x", "y"] = ..., **kwargs: Any) -> None: ... - -def hexbin( - x: ArrayLike, y: ArrayLike, - C: Optional[ArrayLike] = ..., - gridsize: Union[int, Tuple[int, int]] = ..., - bins: Optional[Union[Literal["log"], int, Sequence[Any]]] = ..., - xscale: Literal["linear", "log"] = ..., - yscale: Literal["linear", "log"] = ..., - extent: Optional[float] = ..., - cmap: Optional[Union[str, Colormap]] = ..., - norm: Optional[Normalize] = ..., - vmin: Optional[float] = ..., - vmax: Optional[float] = ..., - alpha: Optional[float] = ..., - linewidths: Optional[float] = ..., - edgecolors: Optional[Union[Literal["face", "none"], _ColorLike]] = ..., - reduce_C_function: Callable[[ArrayLike], float] = ..., - mincnt: Optional[int] = ..., - marginals: bool = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> PolyCollection: ... - -def hist( - x: Union[ArrayLike, Sequence[ArrayLike]], - bins: Optional[Union[int, str, Sequence[Any]]], - range: Optional[Tuple] = ..., - density: Optional[bool] = ..., - weights: Optional[ArrayLike] = ..., - cumulative: bool = ..., - bottom: Optional[Union[ArrayLike, Scalar]] = ..., - histtype: Literal["bar", "barstacked", "step", "stepfilled"] = ..., - align: Literal["left", "mid", "right"] = ..., - orientation: Literal["vertical", "horizontal"] = ..., - rwidth: Optional[Scalar] = ..., - log: bool = ..., - color: Optional[Union[_ColorLike, Sequence[_ColorLike]]] = ..., - label: Optional[str] = ..., - stacked: bool = ..., - normed: Optional[bool] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> Tuple[Union[ArrayLike, List[ArrayLike]], ArrayLike, Union[List[Any], List[List[Any]]]]: ... - -def hist2d( - x: ArrayLike, y: ArrayLike, - bins: Optional[Union[ - int, - Tuple[int, int], - ArrayLike, - Tuple[ArrayLike, ArrayLike], - ]] = ..., - range: Optional[ArrayLike] = ..., - density: bool = ..., - weights: Optional[ArrayLike] = ..., - cmin: Optional[Scalar] = ..., - cmax: Optional[Scalar] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> Tuple[ArrayLike, ArrayLike, ArrayLike, QuadMesh]: ... - -def hlines( - y: Union[Scalar, ArrayLike], - xmin: Union[Scalar, ArrayLike], - xmax: Union[Scalar, ArrayLike], - colors: _ColorLike = ..., - linestyles: Literal['solid', 'dashed', 'dashdot', 'dotted'] = ..., - label: str = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> LineCollection: ... - -def hot() -> None: ... - -def hsv() -> None: ... - -def imread(fname: Union[str, BinaryIO], format: Optional[str] = ...) -> ndarray: ... - -def imsave(fname: Union[str, BinaryIO], arr: ArrayLike, **kwargs: Any) -> None: ... - -def imshow( - X: Union[ArrayLike, Image], - cmap: Optional[Union[str, Colormap]] = ..., - norm: Optional[Normalize] = ..., - aspect: Optional[Union[Literal["equal", "auto"], float]] = ..., - interpolation: Optional[str] = ..., - alpha: Optional[Scalar] = ..., - vmin: Optional[Scalar] = ..., - vmax: Optional[Scalar] = ..., - origin: Optional[Literal["upper", "lower"]] = ..., - extent: Optional[Tuple[Scalar, Scalar, Scalar, Scalar]] = ..., - shape: Any = ..., # deprecated - filternorm: bool = ..., - filterrad: float = ..., - imlim: Any = ..., # deprecated - resample: Optional[bool] = ..., - url: Optional[str] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> AxesImage: ... - -def inferno() -> None: ... - -def install_repl_displayhook() -> None: ... - -def ioff() -> None: ... - -def ion() -> None: ... - -def isinteractive() -> None: ... - -def jet() -> None: ... - -# TODO: write overloads for various forms -def legend(*args: Any, **kwargs: Any) -> Legend: ... - -def locator_params(axis: Optional[Literal["both", "x", "y"]] = ..., tight: Optional[bool] = ..., **kwargs: Any) -> None: ... - -# TODO: write overloads for various forms -def loglog(*args: Any, **kwargs: Any) -> List[Line2D]: ... - -def magma() -> None: ... - -def magnitude_spectrum( - x: ArrayLike, - Fs: Optional[Scalar] = ..., - Fc: Optional[int] = ..., - window: Optional[Union[Callable[[Any], Any], ndarray]] = ..., - pad_to: Optional[int] = ..., - sides: Optional[Literal["default", "onesides", "twosided"]] = ..., - scale: Optional[Literal["default", "linear", "dB"]] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> Tuple[ArrayLike, ArrayLike, Line2D]: ... - -def margins(*margins: float, x: Optional[float] = ..., y: Optional[float] = ..., tight: Optional[bool] = ...) -> Tuple[float, float]: ... - -def matshow(A: ArrayLike, fignum: Optional[Union[int, Literal[False]]] = None, **kwargs: Any) -> AxesImage: ... - -def minorticks_off() -> None: ... - -def minorticks_on() -> None: ... - -def new_figure_manager(num: Union[int, str], *args: Any, **kwargs: Any) -> FigureManagerBase: ... - -def nipy_spectral() -> None: ... - -def pause(interval: int) -> None: ... - -# TODO: write overloads for various forms -def pcolor( - *args: Any, - alpha: Optional[Scalar] = ..., - norm: Optional[Normalize] = ..., - cmap: Optional[Union[str, Colormap]] = ..., - vmin: Optional[Scalar] = ..., - vmax: Optional[Scalar] = ..., - data: Optional[Any] = ..., - **kwargs: Any -) -> Collection: ... - -# TODO: write overloads for various forms -def pcolormesh( - *args: Any, - alpha: Optional[Scalar] = ..., - norm: Optional[Normalize] = ..., - cmap: Optional[Union[str, Colormap]] = ..., - vmin: Optional[Scalar] = ..., - vmax: Optional[Scalar] = ..., - shading: Literal["flat", "gouraud"] = ..., - antialiased: Union[bool, Sequence[bool]] = ..., - data: Optional[Any] = ..., - **kwargs: Any -) -> QuadMesh: ... - -def phase_spectrum( - x: ArrayLike, - Fs: Optional[Scalar] = ..., - Fc: Optional[int] = ..., - window: Optional[Union[Callable[[Any], Any], ndarray]] = ..., - pad_to: Optional[int] = ..., - sides: Optional[Literal["default", "onesides", "twosided"]] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> Tuple[ArrayLike, ArrayLike, Line2D]: ... - -def pie( - x: ArrayLike, - explode: Optional[ArrayLike]= ..., - labels: Optional[Sequence[str]] = ..., - colors: Optional[Sequence[_ColorLike]] = ..., - autopct: Optional[Union[str, Callable[..., str]]] = ..., - pctdistance: float = ..., - shadow: bool = ..., - labeldistance: Optional[float] = ..., - startangle: Optional[float] = ..., - radius: Optional[float] = ..., - counterclock: bool = ..., - wedgeprops: Optional[Dict[Any, Any]] = ..., - textprops: Optional[Dict[Any, Any]] = ..., - center: Sequence[float] = ..., - frame: bool = ..., - rotatelabels: bool = ..., - *, - data: Optional[Any] = ..., -) -> Tuple[List[Wedge], List[Text], List[Text]]: ... - -def pink() -> None: ... - -def plasma() -> None: ... - -# TODO: write overloads for various forms -def plot(*args: Any, scalex: bool = ..., scaley: bool = ..., data: Optional[Any] = ..., **kwargs: Any) -> List[Line2D]: ... - -def plot_date( - x: ArrayLike, - y: ArrayLike, - fmt: str = ..., - tz: Optional[Union[str, tzinfo]] = ..., - xdate: bool = ..., - ydate: bool = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> List[Line2D]: ... - -# TODO: write overloads for various forms -def polar(*args: Any, **kwargs: Any) -> None: ... - -def prism() -> None: ... - -def psd( - x: ArrayLike, - NFFT: int = ..., - Fs: Scalar = ..., - Fc: int = ..., - detrend: Union[Literal["none", "mean", "linear"], _DetrendCallable] = ..., - window: Union[Callable, ndarray] = ..., - noverlap: int = ..., - pad_to: Optional[int] = ..., - sides: Literal["default", "onesided", "twosided"] = ..., - scale_by_freq: Optional[bool] = ..., - return_line: Optional[bool] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> Tuple[ArrayLike, ArrayLike, Line2D]: ... - -# TODO: write overloads for various forms -def quiver(*args: Any, data: Optional[Any] = ..., **kw: Any) -> Quiver: ... - -def quiverkey(Q: Quiver, X: float, Y: float, U: float, label: str, **kw: Any) -> QuiverKey: ... - -# Same as matplotlib.rc. -def rc(group: Union[str, Sequence[str]], **kwargs: Any) -> None: ... - -# Same as matplotlib.rc_context. -def rc_context(rc: Optional[Mapping[Any, Any]] = ..., fname: Optional[str] = ...) -> ContextManager: ... - -# Same as matplotlib.rcdefaults. -def rcdefaults() -> None: ... - -# TODO: write overloads for various forms (below is a try at it) -@overload -def rgrids() -> Tuple[List[Line2D], List[Text]]: ... -@overload -def rgrids(radii: Tuple[float, ...], labels: Optional[Tuple[str, ...]] = ..., angle: float = ..., fmt: Optional[str] = ..., **kwargs: Any) -> Tuple[List[Line2D], List[Text]]: ... - -# TODO: Need this when the above are present? -def rgrids(*args: Any, **kwargs: Any) -> Tuple[List[Line2D], List[Text]]: ... - -# TODO: write overloads for various forms -def savefig(*args: Any, **kwargs: Any) -> None: ... - -def sca(ax: Axes) -> None: ... - -def scatter( - x: ArrayLike, - y: ArrayLike, - s: Optional[Union[Scalar, ArrayLike]] = ..., - c: Optional[Union[_ColorLike, Sequence[float], Sequence[_ColorLike]]] = ..., - marker: Optional[MarkerStyle] = ..., - cmap: Optional[Colormap] = ..., - norm: Optional[Normalize] = ..., - vmin: Optional[Scalar] = ..., - vmax: Optional[Scalar] = ..., - alpha: Optional[Scalar] = ..., - linewidths: Optional[Union[Scalar, ArrayLike]] = ..., - verts: Optional[Any] = ..., # not documented? - edgecolors: Optional[Union[Literal["face", "none"], _ColorLike, Sequence[_ColorLike]]] = ..., - *, - plotnonfinite: bool = ..., - data: Optional[Any] = ..., - **kwargs: Any -) -> PathCollection: ... - -# TODO: What is im supposed to be? -def sci(im: Any) -> None: ... - -# TODO: write overloads for various forms (below is a try at it) -def semilogx(*args: Any, **kwargs: Any) -> List[Line2D]: ... - -# TODO: write overloads for various forms (below is a try at it) -def semilogy(*args: Any, **kwargs: Any) -> List[Line2D]: ... - -def set_cmap(cmap: Union[str, Colormap]) -> None: ... - -def setp(obj: Artist, *args: Any, **kwargs: Any) -> None: ... - -def show(*args: Any, **kw: Any) -> None: ... - -def specgram( - x: ArrayLike, - NFFT: int = ..., - Fs: Scalar = ..., - Fc: int = ..., - detrend: Union[Literal["none", "mean", "linear"], _DetrendCallable] = ..., - window: Union[Callable, ndarray] = ..., - noverlap: int = ..., - cmap: Optional[Colormap] = ..., - xextent: Optional[Tuple[float, float]] = ..., - pad_to: Optional[int] = ..., - sides: Literal["default", "onesided", "twosided"] = ..., - scale_by_freq: Optional[bool] = ..., - mode: Optional[Literal["default", "psd", "magnitude", "angle", "phase"]] = ..., - scale: Optional[Literal["default", "linear", "dB"]] = ..., - vmin: Optional[Scalar] = ..., - vmax: Optional[Scalar] = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> Tuple[ndarray, ndarray, ndarray, AxesImage]: ... - -def spring() -> None: ... - -def spy( - Z: ArrayLike, - precision: Union[float, Literal["present"]] = ..., - marker: Optional[Any] = ..., # TODO - markersize: Optional[float] = ..., - aspect: Optional[Union[Literal["equal", "auto"], float]] = ..., - origin: Literal["upper", "lower"] = ..., - **kwargs: Any -) -> Union[AxesImage, Line2D]: ... - -def stackplot( - x: ArrayLike, - *args: ArrayLike, - labels: Sequence[str] = ..., - colors: Optional[Sequence[_ColorLike]] = ..., - baseline: Literal["zero", "sym", "wiggle", "weighted_wiggle"] = ..., - data: Optional[Any] = ..., - **kwargs: Any -) -> List[PolyCollection]: ... - -# TODO: write overloads for various forms -def stem( - *args: ArrayLike, - linefmt: Optional[str] = ..., - markerfmt: Optional[str] = ..., - basefmt: Optional[str] = ..., - bottom: float = ..., - label: Optional[str] = ..., - use_line_collection: bool = ..., - data: Optional[Any] = ... -) -> StemContainer: ... - -# TODO: write overloads for various forms -def step( - x: ArrayLike, - y: ArrayLike, - *args: Any, - where: Literal["pre", "post", "mid"] = ..., - data: Optional[Any] = ..., - **kwargs: Any -) -> List[Line2D]: ... - -def streamplot( - x: ArrayLike, - y: ArrayLike, - u: ArrayLike, - v: ArrayLike, - density: Union[float, Tuple[float, float]] = ..., - linewidth: Optional[Union[float, ArrayLike]] = ..., - color: Optional[Union[_ColorLike, ArrayLike]] = ..., - cmap: Optional[Colormap] = ..., - norm: Optional[Normalize] = ..., - arrowsize: float = ..., - arrowstyle: str = ..., - minlength: float = ..., - transform: Optional[Any] = ..., # TODO: what is this? - zorder: Optional[int] = ..., - start_points: Optional[ArrayLike] = ..., - maxlength: float = ..., - integration_direction: Literal["forward", "backward", "both"] = ..., - *, - data: Optional[Any] = ..., -) -> StreamplotSet: ... # TODO: does this type exist? - -# TODO: write overloads for various forms -def subplot(*args: Any, **kwargs: Any) -> SubplotBase: ... - -def subplot2grid(shape: Sequence[int], loc: Sequence[int], rowspan: int = ..., colspan: int = ..., fig: Optional[Figure] = ..., **kwargs: Any) -> None: ... - -def subplot_mosaic(layout: Union[ArrayLike, str], *, subplot_kw: Optional[Dict[str, Any]] = ..., gridspec_kw: Optional[Dict[str, Any]] = ..., empty_sentinel: Any = ..., **fig_kw: Any) -> Tuple[Figure, Dict[str, Axes]]: ... - -def subplot_tool(targetfig: Optional[Figure]) -> SubplotTool: ... - -def subplots( - nrows: int = ..., - ncols: int = ..., - sharex: Union[bool, Literal["none", "all", "row", "col"]] = ..., - sharey: Union[bool, Literal["none", "all", "row", "col"]] = ..., - squeeze: bool = ..., - subplot_kw: Optional[Dict[Any, Any]] = ..., - gridspec_kw: Optional[Dict[Any, Any]] = ..., - **fig_kw: Any -) -> Tuple[Figure, Axes]: ... - -def subplots_adjust(left: Optional[float] = ..., bottom: Optional[float] = ..., right: Optional[float] = ..., top: Optional[float] = ..., wspace: Optional[float] = ..., hspace: Optional[float] = ...) -> None: ... - -def summer() -> None: ... - -def suptitle(t: str, **kwargs: Any) -> Text: ... - -def switch_backend(newbackend: str) -> None: ... - -# TODO: resolve list vs sequence -def table( - cellText: Optional[Sequence[Sequence[str]]] = ..., - cellColours: Optional[Sequence[Sequence[_ColorLike]]] = ..., - cellLoc: Literal["left", "center", "right"] = ..., - colWidths: Optional[Sequence[float]] = ..., - rowLabels: Literal["left", "center", "right"] = ..., - rowColours: Literal["left", "center", "right"] = ..., - rowLoc: Literal["left", "center", "right"] = ..., - colLabels: Literal["left", "center", "right"] = ..., - colColours: Literal["left", "center", "right"] = ..., - colLoc: Literal["left", "center", "right"] = ..., - loc: str = ..., - bbox: Optional[Bbox] = ..., - edges: str = ..., # TODO: be more exact - **kwargs: Any -) -> Table: ... - -def text(x: Scalar, y: Scalar, s: str, fontdict: Dict[Any, Any] = ..., withdash: Any = ..., **kwargs: Any) -> Text: ... - -# TODO: write overloads for various forms -def thetagrids(*args: Any, **kwargs: Any) -> Tuple[List[Line2D], List[Text]]: ... - -def tick_params(axis: Literal["x", "y", "both"] = ..., **kwargs: Any) -> None: ... - -def ticklabel_format( - *, - axis: Literal["x", "y", "both"] = ..., - style: str = ..., - scilimits: Optional[Tuple[int, int]] = ..., - useOffset: Optional[Union[bool, int]] = ..., - useLocale: Optional[bool] = ..., - useMathText: Optional[bool] = ..., -) -> None: ... - -def tight_layout(pad: float = ..., h_pad: Optional[float] = ..., w_pad: Optional[float] = ..., rect: Optional[Tuple[float, float, float, float]] = ...) -> None: ... - -def title(label: str, fontdict: Optional[Dict[Any, Any]] = ..., loc: Literal["center", "left", "right"] = ..., pad: Optional[float] = ..., **kwargs: Any) -> Text: ... - -# TODO: write overloads for various forms -def tricontour(*args: Any, **kwargs: Any) -> None: ... - -# TODO: write overloads for various forms -def tricontourf(*args: Any, **kwargs: Any) -> None: ... - -# TODO: write overloads for various forms -def tripcolor( - *args: Any, - alpha: Optional[Scalar] = ..., - norm: Optional[Normalize] = ..., - cmap: Optional[Union[str, Colormap]] = ..., - vmin: Optional[Scalar] = ..., - vmax: Optional[Scalar] = ..., - shading: Literal["flat", "gouraud"] = ..., - facecolors: Optional[_ColorLike] = ..., # TODO: not sure if this is correct, the option is undocumented - **kwargs: Any -) -> None: ... - -# TODO: write overloads for various forms -def triplot(*args: Any, **kwargs: Any) -> List[Line2D]: ... - -def twinx(ax: Optional[Axes] = ...) -> Axes: ... -def twiny(ax: Optional[Axes] = ...) -> Axes: ... - -def uninstall_repl_displayhook() -> None: ... - -def violinplot( - dataset: ArrayLike, - positions: Optional[ArrayLike] = ..., - vert: bool = ..., - widths: ArrayLike = ..., # Default is 0.5, which is "array-like" even though it's a scalar. - showmeans: bool = ..., - showextrema: bool = ..., - showmedians: bool = ..., - points: Scalar = ..., - bw_method: Optional[Union[Literal["scott", "silverman"], Scalar, Callable]] = ..., - *, - data: Optional[Any] = ..., -) -> Dict[str, Any]: ... # TODO: TypedDict for this - -def viridis() -> None: ... - -def vlines( - x: Union[Scalar, ArrayLike], - ymin: Union[Scalar, ArrayLike], - ymax: Union[Scalar, ArrayLike], - colors: Optional[Union[_ColorLike, Sequence[_ColorLike]]] = ..., # TODO: This may not be the right type for colors - linestyles: Optional[Literal["solid", "dashed", "dashdot", "dotted"]] = ..., - label: str = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> LineCollection: ... - -def waitforbuttonpress(*args: Any, **kwargs: Any) -> None: ... - -def winter() -> None: ... - -def xcorr( - x: ArrayLike, - y: ArrayLike, - normed: bool = ..., - detrend: _DetrendCallable = ..., - usevlines: bool = ..., - maxlags: int = ..., - *, - data: Optional[Any] = ..., - **kwargs: Any -) -> Tuple[ndarray, ndarray, Union[LineCollection, Line2D], Optional[Line2D]]: ... - -def xkcd(scale: float = ..., length: float = ..., randomness: float = ...) -> None: ... - -def xlabel(xlabel: str, fontdict: Optional[Dict[Any, Any]] = ..., labelpad: Optional[Scalar] = ..., **kwargs: Any) -> None: ... - -# TODO: write overloads for various forms -def xlim(*args: Any, **kwargs: Any) -> Tuple[float, float]: ... - -def xscale(value: str, **kwargs: Any) -> None: ... - -def xticks(ticks: Optional[ArrayLike] = ..., labels: Optional[ArrayLike] = ..., **kwargs: Any) -> Tuple[ArrayLike, List[Text]]: ... # TODO: What is "an array of label locations? - -def ylabel(ylabel: str, fontdict: Optional[Dict[Any, Any]] = ..., labelpad: Optional[Scalar] = ..., **kwargs: Any) -> None: ... - -# TODO: write overloads for various forms -def ylim(*args: Any, **kwargs: Any) -> Tuple[float, float]: ... - -def yscale(value: str, **kwargs: Any) -> None: ... - -def yticks(ticks: Optional[ArrayLike] = ..., labels: Optional[ArrayLike] = ..., **kwargs: Any) -> Tuple[ArrayLike, List[Text]]: ... # TODO: What is "an array of label locations? diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/quiver.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/quiver.pyi deleted file mode 100644 index 3346fed0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/quiver.pyi +++ /dev/null @@ -1,17 +0,0 @@ -from typing import Any - -from matplotlib.artist import Artist -from matplotlib.collections import PolyCollection - - -class Barbs(PolyCollection): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class Quiver(PolyCollection): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class QuiverKey(Artist): - def __getattr__(self, name: str) -> Any: ... # incomplete - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/rcsetup.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/rcsetup.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/rcsetup.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/sankey.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/sankey.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/sankey.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/scale.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/scale.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/scale.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/spines.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/spines.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/spines.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/stackplot.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/stackplot.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/stackplot.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/streamplot.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/streamplot.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/streamplot.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/streamploy.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/streamploy.pyi deleted file mode 100644 index 61d2b1a7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/streamploy.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from typing import Any - - -class StreamplotSet: - def __getattr__(self, name: str) -> Any: ... # incomplete - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/style/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/style/__init__.pyi deleted file mode 100644 index a4620e9e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/style/__init__.pyi +++ /dev/null @@ -1,16 +0,0 @@ -# COMPLETE - -from pathlib import Path -from typing import Any, Dict, List, Mapping, Union - -_Style = Union[str, Path, Mapping[str, Any]] -_StyleOrList = Union[_Style, List[_Style]] - -def context(style: _StyleOrList, after_reset: bool = ...) -> None: ... - -def reload_library() -> None: ... - -def use(style: _StyleOrList) -> None: ... - -library: Dict[str, Any] -available: List[str] diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/table.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/table.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/table.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/testing/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/testing/__init__.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/testing/__init__.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/text.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/text.pyi deleted file mode 100644 index 1000d21d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/text.pyi +++ /dev/null @@ -1,53 +0,0 @@ -from pathlib import Path -from typing import Any, Callable, Literal, Optional, Tuple, Union - -from matplotlib.artist import Artist -from matplotlib.backend_bases import RendererBase -from matplotlib.colors import _ColorLike -from matplotlib.font_manager import FontProperties -from matplotlib.transforms import Bbox, Transform - - -class Text(Artist): - def __init__( - self, - x: float = ..., - y: float = ..., - text: str = ..., - color: Optional[_ColorLike] = ..., - verticalalignment: Literal['center', 'top', 'bottom', 'baseline', 'center_baseline'] = ..., - horizontalalignment: Literal['center', 'right', 'left'] = ..., - multialignment: Literal['center', 'right', 'left'] = ..., - fontproperties: Optional[Union[str, Path, FontProperties]] = ..., - rotation: Optional[Union[float, Literal['vertical', 'horizontal']]] = ..., - linespacing: Optional[float] = ..., - rotation_mode: Optional[Literal['default', 'anchor']] = ..., - usetex: Optional[bool] = ..., - wrap: bool = ..., - **kwargs: Any - ) -> None: ... - - def __getattr__(self, name: str) -> Any: ... # incomplete - - -class _AnnotationBase: - def __getattr__(self, name: str) -> Any: ... # incomplete - - -class Annotation(Text, _AnnotationBase): - def __init__( - self, - text: str, - xy: Tuple[float, float], - xytext: Optional[str] = ..., - xycoords: Union[str, Artist, Transform, Callable[[RendererBase], Union[Bbox, Transform]], Tuple[float, float]] = ..., - **kwargs: Any - ) -> None: ... - - def __getattr__(self, name: str) -> Any: ... # incomplete - -class OffsetFrom: - def __getattr__(self, name: str) -> Any: ... # incomplete - - -def get_rotation(rotation: Optional[Union[float, Literal['horizontal', 'vertical']]]) -> float: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/textmanager.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/textmanager.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/textmanager.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/textpath.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/textpath.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/textpath.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/ticker.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/ticker.pyi deleted file mode 100644 index 6210cc23..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/ticker.pyi +++ /dev/null @@ -1,12 +0,0 @@ -from typing import Any - -class TickHelper: - def __getattr__(self, name: str) -> Any: ... # incomplete - -class Formatter(TickHelper): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class Locator(TickHelper): - def __getattr__(self, name: str) -> Any: ... # incomplete - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/tight_layout.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/tight_layout.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/tight_layout.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/transforms.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/transforms.pyi deleted file mode 100644 index ce6d2784..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/transforms.pyi +++ /dev/null @@ -1,27 +0,0 @@ -from typing import Any - -from matplotlib._typing import ArrayLike - - -class TransformNode: - def __getattr__(self, name: str) -> Any: ... # incomplete - -class BboxBase(TransformNode): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class Bbox(BboxBase): - def __init__(self, points: ArrayLike, **kwargs: Any) -> None: ... - - @staticmethod - def from_bounds(x0: int, y0: int, width: int, height: int) -> Bbox: ... - - def __getattr__(self, name: str) -> Any: ... # incomplete - -class Transform(TransformNode): - def __getattr__(self, name: str) -> Any: ... # incomplete - -class Affine2D: - def __getattr__(self, name: str) -> Any: ... # incomplete - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/tri/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/tri/__init__.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/tri/__init__.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/type1font.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/type1font.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/type1font.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/units.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/units.pyi deleted file mode 100644 index 8f81d08d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/units.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from typing import Any - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/widgets.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/widgets.pyi deleted file mode 100644 index e9fe3b6b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/matplotlib/widgets.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Any - - -class Widget: - def __getattr__(self, name: str) -> Any: ... # incomplete - -class SubplotTool(Widget): - def __getattr__(self, name: str) -> Any: ... # incomplete - - -def __getattr__(name: str) -> Any: ... # incomplete diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/LICENSE b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/LICENSE deleted file mode 100644 index 73807038..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2020 Martin Thoma - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/__init__.pyi deleted file mode 100644 index a225173e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/__init__.pyi +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (c) 2010-2020 openpyxl - -from openpyxl.compat.numbers import NUMPY as NUMPY -from openpyxl.xml import DEFUSEDXML as DEFUSEDXML, LXML as LXML -from openpyxl.workbook import Workbook as Workbook -from openpyxl.reader.excel import load_workbook as open -from openpyxl.reader.excel import load_workbook as load_workbook -import openpyxl._constants as constants - -# Expose constants especially the version number - -__author__ = constants.__author__ -__author_email__ = constants.__author_email__ -__license__ = constants.__license__ -__maintainer_email__ = constants.__maintainer_email__ -__url__ = constants.__url__ -__version__ = constants.__version__ diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/cell/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/cell/__init__.pyi deleted file mode 100644 index f64f1d35..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/cell/__init__.pyi +++ /dev/null @@ -1,2 +0,0 @@ -from .cell import Cell as Cell, WriteOnlyCell as WriteOnlyCell, MergedCell as MergedCell -from .read_only import ReadOnlyCell as ReadOnlyCell diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/cell/_writer.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/cell/_writer.pyi deleted file mode 100644 index d17a3d41..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/cell/_writer.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from openpyxl.cell.cell import Cell -from typing import ( - Any, - Optional, -) - -def _set_attributes(cell: Cell, styled: Optional[bool] = ...) -> Any: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/cell/cell.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/cell/cell.pyi deleted file mode 100644 index 19df24d1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/cell/cell.pyi +++ /dev/null @@ -1,112 +0,0 @@ -import datetime -import re -from openpyxl.styles.cell_style import StyleArray -from openpyxl.worksheet._write_only import WriteOnlyWorksheet -from openpyxl.worksheet.worksheet import Worksheet -from openpyxl.styles import numbers -from openpyxl.styles.styleable import StyleableObject -from typing import Any, Optional, Union, Callable, Tuple, Dict -from openpyxl.compat import NUMERIC_TYPES - -TIME_TYPES = (datetime.datetime, datetime.date, datetime.time, datetime.timedelta) -TIME_FORMATS = { - datetime.datetime: numbers.FORMAT_DATE_DATETIME, - datetime.date: numbers.FORMAT_DATE_YYYYMMDD2, - datetime.time: numbers.FORMAT_DATE_TIME6, - datetime.timedelta: numbers.FORMAT_DATE_TIMEDELTA, -} - -STRING_TYPES = (str, bytes) -KNOWN_TYPES = NUMERIC_TYPES + TIME_TYPES + STRING_TYPES + (bool, type(None)) - -ILLEGAL_CHARACTERS_RE = re.compile(r"[\000-\010]|[\013-\014]|[\016-\037]") -ERROR_CODES = ("#NULL!", "#DIV/0!", "#VALUE!", "#REF!", "#NAME?", "#NUM!", "#N/A") - -ERROR_CODES = ERROR_CODES - -TYPE_STRING: str = "s" -TYPE_FORMULA: str = "f" -TYPE_NUMERIC: str = "n" -TYPE_BOOL: str = "b" -TYPE_NULL: str = "n" -TYPE_INLINE: str = "inlineStr" -TYPE_ERROR: str = "e" -TYPE_FORMULA_CACHE_STRING: str = "str" - -VALID_TYPES: Tuple[str, ...] = ( - TYPE_STRING, - TYPE_FORMULA, - TYPE_NUMERIC, - TYPE_BOOL, - TYPE_NULL, - TYPE_INLINE, - TYPE_ERROR, - TYPE_FORMULA_CACHE_STRING, -) - -_TYPES: Dict[Callable, str] = {int: "n", float: "n", str: "s", bool: "b"} - -def WriteOnlyCell( - ws: Optional[WriteOnlyWorksheet] = ..., value: Optional[Union[str, int]] = ... -) -> Cell: - return Cell(worksheet=ws, column=1, row=1, value=value) - -def get_time_format(t: Any) -> Optional[str]: ... -def get_type(t: Any, value: Any) -> Optional[str]: ... - -class Cell(StyleableObject): - def __init__( - self, - worksheet: Optional[Union[Worksheet, WriteOnlyWorksheet]], - row: Optional[Union[str, int]] = ..., - column: Optional[int] = ..., - value: Optional[Union[datetime.date, str, int]] = ..., - style_array: Optional[StyleArray] = ..., - ) -> None: - super(Cell, self).__init__(worksheet, style_array) - self.row = row - """Row number of this cell (1-based)""" - self.column = column - """Column number of this cell (1-based)""" - # _value is the stored value, while value is the displayed value - self._value = None - self._hyperlink = None - self.data_type = "n" - if value is not None: - self.value = value - self._comment = None - def __repr__(self) -> str: ... - def _bind_value(self, value: Any) -> None: ... - def check_string(self, value: Union[str, bytes]) -> str: ... - @property - def col_idx(self) -> int: ... - @property - def column_letter(self) -> str: ... - @property - def coordinate(self) -> str: ... - @property - def encoding(self) -> str: ... - @property - def is_date(self) -> bool: ... - def offset(self, row: int = ..., column: int = ...) -> Cell: ... - -class MergedCell(StyleableObject): - __slots__ = ("row", "column") - - _value = None - data_type = "n" - comment = None - hyperlink = None - def __init__( - self, - worksheet: Worksheet, - row: Optional[int] = ..., - column: Optional[int] = ..., - ) -> None: - super(MergedCell, self).__init__(worksheet) - self.row = row - self.column = column - def __repr__(self) -> str: ... - coordinate = Cell.coordinate - _comment = comment - value = _value diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/cell/text.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/cell/text.pyi deleted file mode 100644 index d6a1fb88..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/cell/text.pyi +++ /dev/null @@ -1,59 +0,0 @@ -from openpyxl.styles.colors import Color -from typing import ( - List, - Optional, - Tuple, - Union, -) - -class InlineFont: - def __init__( - self, - rFont: Optional[str] = ..., - charset: Optional[str] = ..., - family: Optional[str] = ..., - b: Optional[bool] = ..., - i: None = ..., - strike: None = ..., - outline: None = ..., - shadow: None = ..., - condense: None = ..., - extend: None = ..., - color: Optional[Color] = ..., - sz: Optional[str] = ..., - u: Optional[str] = ..., - vertAlign: None = ..., - scheme: Optional[str] = ..., - ) -> None: ... - -class PhoneticProperties: - def __init__( - self, - fontId: Optional[Union[str, int]] = ..., - type: Optional[str] = ..., - alignment: None = ..., - ) -> None: ... - -class PhoneticText: - def __init__( - self, - sb: Optional[Union[str, int]] = ..., - eb: Optional[Union[str, int]] = ..., - t: Optional[str] = ..., - ) -> None: ... - -class RichText: - def __init__( - self, rPr: Optional[InlineFont] = ..., t: Optional[str] = ... - ) -> None: ... - -class Text: - def __init__( - self, - t: Optional[str] = ..., - r: Union[Tuple, List[RichText]] = ..., - rPh: Tuple = ..., - phoneticPr: None = ..., - ) -> None: ... - @property - def content(self) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/chart/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/chart/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/chart/axis.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/chart/axis.pyi deleted file mode 100644 index 1d49481d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/chart/axis.pyi +++ /dev/null @@ -1,106 +0,0 @@ -from lxml.etree import _Element -from openpyxl.chart.data_source import NumFmt -from openpyxl.chart.shapes import GraphicalProperties -from openpyxl.chart.text import RichText -from openpyxl.chart.title import Title -from typing import ( - Optional, - Union, -) - -class ChartLines: - def __init__(self, spPr: Optional[GraphicalProperties] = ...) -> None: ... - -class DateAxis: - def __init__( - self, - auto: Optional[Union[str, bool]] = ..., - lblOffset: Optional[Union[str, int]] = ..., - baseTimeUnit: Optional[str] = ..., - majorUnit: Optional[str] = ..., - majorTimeUnit: Optional[str] = ..., - minorUnit: None = ..., - minorTimeUnit: None = ..., - extLst: None = ..., - **kw - ) -> None: ... - -class DisplayUnitsLabel: - def __init__( - self, layout: None = ..., tx: None = ..., spPr: None = ..., txPr: None = ... - ) -> None: ... - -class DisplayUnitsLabelList: - def __init__( - self, - custUnit: None = ..., - builtInUnit: Optional[str] = ..., - dispUnitsLbl: None = ..., - extLst: None = ..., - ) -> None: ... - -class NumericAxis: - def __init__( - self, - crossBetween: Optional[str] = ..., - majorUnit: Optional[str] = ..., - minorUnit: Optional[str] = ..., - dispUnits: Optional[DisplayUnitsLabelList] = ..., - extLst: None = ..., - **kw - ) -> None: ... - @classmethod - def from_tree(cls, node: _Element) -> NumericAxis: ... - -class Scaling: - def __init__( - self, - logBase: Optional[Union[str, int]] = ..., - orientation: str = ..., - max: Optional[str] = ..., - min: Optional[str] = ..., - extLst: None = ..., - ) -> None: ... - -class SeriesAxis: - def __init__( - self, - tickLblSkip: None = ..., - tickMarkSkip: None = ..., - extLst: None = ..., - **kw - ) -> None: ... - -class TextAxis: - def __init__( - self, - auto: Optional[str] = ..., - lblAlgn: Optional[str] = ..., - lblOffset: Optional[Union[str, int]] = ..., - tickLblSkip: None = ..., - tickMarkSkip: None = ..., - noMultiLvlLbl: Optional[str] = ..., - extLst: None = ..., - **kw - ) -> None: ... - -class _BaseAxis: - def __init__( - self, - axId: Optional[Union[str, int]] = ..., - scaling: Optional[Scaling] = ..., - delete: Optional[Union[str, bool]] = ..., - axPos: str = ..., - majorGridlines: Optional[ChartLines] = ..., - minorGridlines: None = ..., - title: Optional[Title] = ..., - numFmt: Optional[NumFmt] = ..., - majorTickMark: Optional[str] = ..., - minorTickMark: Optional[str] = ..., - tickLblPos: Optional[str] = ..., - spPr: Optional[GraphicalProperties] = ..., - txPr: Optional[RichText] = ..., - crossAx: Optional[Union[str, int]] = ..., - crosses: Optional[str] = ..., - crossesAt: Optional[str] = ..., - ) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/commit.txt b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/commit.txt deleted file mode 100644 index 0cf8030d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/commit.txt +++ /dev/null @@ -1 +0,0 @@ -70fe4929c0a19457fb9125a740867181f3d4c0fb diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/drawings.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/drawings.pyi deleted file mode 100644 index 208045c8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/drawings.pyi +++ /dev/null @@ -1,19 +0,0 @@ -from openpyxl.chart.line_chart import LineChart -from openpyxl.chart.scatter_chart import ScatterChart -from openpyxl.drawing.image import Image -from typing import ( - Any, - List, - Tuple, - Union, -) -from zipfile import ZipFile - -def find_images( - archive: ZipFile, path: str -) -> Union[ - Tuple[List[ScatterChart], List[Any]], - Tuple[List[Any], List[Any]], - Tuple[List[Any], List[Image]], - Tuple[List[LineChart], List[Any]], -]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/excel.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/excel.pyi deleted file mode 100644 index e06c9893..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/excel.pyi +++ /dev/null @@ -1,41 +0,0 @@ -from io import ( - BufferedReader, - BytesIO, -) -from openpyxl.packaging.manifest import ( - Manifest, - Override, -) -from openpyxl.packaging.relationship import Relationship -from openpyxl.packaging.workbook import ChildSheet -from openpyxl.workbook.workbook import Workbook -from typing import Union -from zipfile import ZipFile - -def _find_workbook_part(package: Manifest) -> Override: ... -def _validate_archive(filename: Union[str, BufferedReader, BytesIO]) -> ZipFile: ... -def load_workbook( - filename: Union[str, BufferedReader, BytesIO], - read_only: bool = ..., - keep_vba: bool = ..., - data_only: bool = ..., - keep_links: bool = ..., -) -> Workbook: ... - -class ExcelReader: - def __init__( - self, - fn: Union[str, BufferedReader, BytesIO], - read_only: bool = ..., - keep_vba: bool = ..., - data_only: bool = ..., - keep_links: bool = ..., - ) -> None: ... - def read(self) -> None: ... - def read_chartsheet(self, sheet: ChildSheet, rel: Relationship) -> None: ... - def read_manifest(self) -> None: ... - def read_properties(self) -> None: ... - def read_strings(self) -> None: ... - def read_theme(self) -> None: ... - def read_workbook(self) -> None: ... - def read_worksheets(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/strings.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/strings.pyi deleted file mode 100644 index f49902d9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/strings.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from io import BufferedReader -from typing import ( - List, - Union, -) -from zipfile import ZipExtFile - -def read_string_table(xml_source: Union[ZipExtFile, BufferedReader]) -> List[str]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/workbook.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/workbook.pyi deleted file mode 100644 index 6d88d4de..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/reader/workbook.pyi +++ /dev/null @@ -1,24 +0,0 @@ -from openpyxl.packaging.relationship import ( - Relationship, - RelationshipList, -) -from openpyxl.packaging.workbook import ChildSheet -from openpyxl.pivot.cache import CacheDefinition -from typing import ( - Dict, - Iterator, - Tuple, -) -from zipfile import ZipFile - -class WorkbookParser: - def __init__( - self, archive: ZipFile, workbook_part_name: str, keep_links: bool = ... - ) -> None: ... - def assign_names(self) -> None: ... - def find_sheets(self) -> Iterator[Tuple[ChildSheet, Relationship]]: ... - def parse(self) -> None: ... - @property - def pivot_caches(self) -> Dict[int, CacheDefinition]: ... - @property - def rels(self) -> RelationshipList: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/__init__.pyi deleted file mode 100644 index 5b801a1c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/__init__.pyi +++ /dev/null @@ -1,16 +0,0 @@ -from .alignment import Alignment as Alignment -from .borders import Border as Border, Side as Side -from .colors import Color as Color -from .fills import ( - PatternFill as PatternFill, - GradientFill as GradientFill, - Fill as Fill, -) -from .fonts import Font as Font, DEFAULT_FONT as DEFAULT_FONT -from .numbers import ( - NumberFormatDescriptor as NumberFormatDescriptor, - is_date_format as is_date_format, - is_builtin as is_builtin, -) -from .protection import Protection as Protection -from .named_styles import NamedStyle as NamedStyle diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/alignment.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/alignment.pyi deleted file mode 100644 index 7cac86b6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/alignment.pyi +++ /dev/null @@ -1,25 +0,0 @@ -from typing import ( - Iterator, - Optional, - Tuple, - Union, -) - -class Alignment: - def __init__( - self, - horizontal: Optional[str] = ..., - vertical: Optional[str] = ..., - textRotation: Union[str, int] = ..., - wrapText: Optional[Union[str, bool]] = ..., - shrinkToFit: Optional[str] = ..., - indent: Union[str, int] = ..., - relativeIndent: int = ..., - justifyLastLine: None = ..., - readingOrder: int = ..., - text_rotation: Optional[int] = ..., - wrap_text: Optional[bool] = ..., - shrink_to_fit: Optional[bool] = ..., - mergeCell: None = ..., - ) -> None: ... - def __iter__(self) -> Iterator[Tuple[str, str]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/borders.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/borders.pyi deleted file mode 100644 index 48aa76c2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/borders.pyi +++ /dev/null @@ -1,49 +0,0 @@ -from openpyxl.styles.colors import Color -from typing import ( - Iterator, - Optional, - Tuple, - Union, -) - -BORDER_NONE = None -BORDER_DASHDOT = 'dashDot' -BORDER_DASHDOTDOT = 'dashDotDot' -BORDER_DASHED = 'dashed' -BORDER_DOTTED = 'dotted' -BORDER_DOUBLE = 'double' -BORDER_HAIR = 'hair' -BORDER_MEDIUM = 'medium' -BORDER_MEDIUMDASHDOT = 'mediumDashDot' -BORDER_MEDIUMDASHDOTDOT = 'mediumDashDotDot' -BORDER_MEDIUMDASHED = 'mediumDashed' -BORDER_SLANTDASHDOT = 'slantDashDot' -BORDER_THICK = 'thick' -BORDER_THIN = 'thin' - -class Border: - def __init__( - self, - left: Side = ..., - right: Side = ..., - top: Side = ..., - bottom: Side = ..., - diagonal: Side = ..., - diagonal_direction: None = ..., - vertical: None = ..., - horizontal: None = ..., - diagonalUp: Union[str, bool] = ..., - diagonalDown: Union[str, bool] = ..., - outline: bool = ..., - start: None = ..., - end: None = ..., - ) -> None: ... - def __iter__(self) -> Iterator[Tuple[str, str]]: ... - -class Side: - def __init__( - self, - style: Optional[str] = ..., - color: Optional[Union[Color, str]] = ..., - border_style: Optional[str] = ..., - ) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/colors.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/colors.pyi deleted file mode 100644 index a8a8e05a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/colors.pyi +++ /dev/null @@ -1,196 +0,0 @@ -from openpyxl.descriptors.serialisable import Serialisable -from openpyxl.drawing.colors import SystemColor -from typing import ( - Iterator, - List, - Optional, - Tuple, - Union, -) -import re - -# Default Color Index as per 18.8.27 of ECMA Part 4 -COLOR_INDEX = ( - "00000000", - "00FFFFFF", - "00FF0000", - "0000FF00", - "000000FF", # 0-4 - "00FFFF00", - "00FF00FF", - "0000FFFF", - "00000000", - "00FFFFFF", # 5-9 - "00FF0000", - "0000FF00", - "000000FF", - "00FFFF00", - "00FF00FF", # 10-14 - "0000FFFF", - "00800000", - "00008000", - "00000080", - "00808000", # 15-19 - "00800080", - "00008080", - "00C0C0C0", - "00808080", - "009999FF", # 20-24 - "00993366", - "00FFFFCC", - "00CCFFFF", - "00660066", - "00FF8080", # 25-29 - "000066CC", - "00CCCCFF", - "00000080", - "00FF00FF", - "00FFFF00", # 30-34 - "0000FFFF", - "00800080", - "00800000", - "00008080", - "000000FF", # 35-39 - "0000CCFF", - "00CCFFFF", - "00CCFFCC", - "00FFFF99", - "0099CCFF", # 40-44 - "00FF99CC", - "00CC99FF", - "00FFCC99", - "003366FF", - "0033CCCC", # 45-49 - "0099CC00", - "00FFCC00", - "00FF9900", - "00FF6600", - "00666699", # 50-54 - "00969696", - "00003366", - "00339966", - "00003300", - "00333300", # 55-59 - "00993300", - "00993366", - "00333399", - "00333333", # 60-63 -) - -BLACK = COLOR_INDEX[0] -WHITE = COLOR_INDEX[1] -BLUE = COLOR_INDEX[4] - -aRGB_REGEX = re.compile("^([A-Fa-f0-9]{8}|[A-Fa-f0-9]{6})$") - -class Color: - def __add__(self, other: Union[Color, int]) -> Color: ... - def __init__( - self, - rgb: str = ..., - indexed: Union[None, str, int] = ..., - auto: Union[None, str, bool, int] = ..., - theme: Union[None, str, int] = ..., - tint: Union[float, str] = ..., - index: None = ..., - type: str = ..., - ) -> None: ... - def __iter__(self) -> Iterator[Tuple[str, str]]: ... - @property - def index(self) -> int: ... - -class ColorDescriptor: - def __set__( - self, instance: Serialisable, value: Union[None, str, Color] - ) -> None: ... - -class ColorList: - def __bool__(self) -> bool: ... - def __init__( - self, - indexedColors: Union[ - Tuple[str, str], - List[str], - Tuple, - List[RgbColor], - Tuple[ - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - str, - ], - ] = ..., - mruColors: Union[List[Color], Tuple] = ..., - ) -> None: ... - @property - def index(self) -> List[str]: ... - -class RGB: - def __set__( - self, - instance: Union[Color, SystemColor, RgbColor], - value: Optional[Union[str, int]], - ) -> None: ... - -class RgbColor: - def __init__(self, rgb: Optional[str] = ...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/differential.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/differential.pyi deleted file mode 100644 index c121353c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/differential.pyi +++ /dev/null @@ -1,25 +0,0 @@ -from openpyxl.styles.borders import Border -from openpyxl.styles.fills import PatternFill -from openpyxl.styles.fonts import Font -from typing import ( - Optional, - Tuple, -) - -class DifferentialStyle: - def __init__( - self, - font: Optional[Font] = ..., - numFmt: None = ..., - fill: Optional[PatternFill] = ..., - alignment: None = ..., - border: Optional[Border] = ..., - protection: None = ..., - extLst: None = ..., - ) -> None: ... - -class DifferentialStyleList: - def __getitem__(self, idx: int) -> DifferentialStyle: ... - def __init__(self, dxf: Tuple = ...) -> None: ... - def add(self, dxf: DifferentialStyle) -> int: ... - def append(self, dxf: DifferentialStyle) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/fills.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/fills.pyi deleted file mode 100644 index 2db92173..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/fills.pyi +++ /dev/null @@ -1,124 +0,0 @@ -from lxml.etree import _Element -from openpyxl.styles.colors import ColorDescriptor, Color -from typing import ( - Iterator, - List, - Optional, - Tuple, - Union, -) -from openpyxl.descriptors import ( - Float, - Set, - Alias, - NoneSet, - Sequence, - Integer, - MinMax, -) - -FILL_NONE = "none" -FILL_SOLID = "solid" -FILL_PATTERN_DARKDOWN = "darkDown" -FILL_PATTERN_DARKGRAY = "darkGray" -FILL_PATTERN_DARKGRID = "darkGrid" -FILL_PATTERN_DARKHORIZONTAL = "darkHorizontal" -FILL_PATTERN_DARKTRELLIS = "darkTrellis" -FILL_PATTERN_DARKUP = "darkUp" -FILL_PATTERN_DARKVERTICAL = "darkVertical" -FILL_PATTERN_GRAY0625 = "gray0625" -FILL_PATTERN_GRAY125 = "gray125" -FILL_PATTERN_LIGHTDOWN = "lightDown" -FILL_PATTERN_LIGHTGRAY = "lightGray" -FILL_PATTERN_LIGHTGRID = "lightGrid" -FILL_PATTERN_LIGHTHORIZONTAL = "lightHorizontal" -FILL_PATTERN_LIGHTTRELLIS = "lightTrellis" -FILL_PATTERN_LIGHTUP = "lightUp" -FILL_PATTERN_LIGHTVERTICAL = "lightVertical" -FILL_PATTERN_MEDIUMGRAY = "mediumGray" - -fills = ( - FILL_SOLID, - FILL_PATTERN_DARKDOWN, - FILL_PATTERN_DARKGRAY, - FILL_PATTERN_DARKGRID, - FILL_PATTERN_DARKHORIZONTAL, - FILL_PATTERN_DARKTRELLIS, - FILL_PATTERN_DARKUP, - FILL_PATTERN_DARKVERTICAL, - FILL_PATTERN_GRAY0625, - FILL_PATTERN_GRAY125, - FILL_PATTERN_LIGHTDOWN, - FILL_PATTERN_LIGHTGRAY, - FILL_PATTERN_LIGHTGRID, - FILL_PATTERN_LIGHTHORIZONTAL, - FILL_PATTERN_LIGHTTRELLIS, - FILL_PATTERN_LIGHTUP, - FILL_PATTERN_LIGHTVERTICAL, - FILL_PATTERN_MEDIUMGRAY, -) - -def _assign_position( - values: Union[List[Color], List[Stop], Tuple, List[Union[Stop, str]], List[str]] -) -> List[Stop]: ... - -class Fill: - @classmethod - def from_tree(cls, el: _Element) -> Optional[Union[GradientFill, PatternFill]]: ... - -class GradientFill: - def __init__( - self, - type: str = ..., - degree: Union[str, int] = ..., - left: Union[str, int] = ..., - right: Union[str, int] = ..., - top: Union[str, int] = ..., - bottom: Union[str, int] = ..., - stop: Union[List[Stop], Tuple] = ..., - ) -> None: ... - def __iter__(self) -> Iterator[Tuple[str, str]]: ... - def to_tree( - self, tagname: None = ..., namespace: None = ..., idx: None = ... - ) -> _Element: ... - -class PatternFill: - tagname = "patternFill" - - __elements__ = ("fgColor", "bgColor") - - patternType = NoneSet(values=fills) - fill_type = Alias("patternType") - fgColor = ColorDescriptor() - start_color = Alias("fgColor") - bgColor = ColorDescriptor() - end_color = Alias("bgColor") - def __init__( - self, - patternType: Optional[str] = ..., - fgColor: Union[str, Color] = ..., - bgColor: Union[str, Color] = ..., - fill_type: Optional[str] = ..., - start_color: Optional[Union[str, Color]] = ..., - end_color: Optional[Union[str, Color]] = ..., - ) -> None: - if fill_type is not None: - patternType = fill_type - self.patternType = patternType - if start_color is not None: - fgColor = start_color - self.fgColor = fgColor - if end_color is not None: - bgColor = end_color - self.bgColor = bgColor - @classmethod - def _from_tree(cls, el: _Element) -> PatternFill: ... - def to_tree(self, tagname: Optional[str] = ..., idx: None = ...) -> _Element: ... - -class Stop: - def __init__( - self, color: Union[str, Color], position: Optional[Union[float, str, int]] - ) -> None: ... - -class StopList: - def __set__(self, obj: GradientFill, values: Union[List[Stop], Tuple]) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/fonts.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/fonts.pyi deleted file mode 100644 index 46456e6a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/fonts.pyi +++ /dev/null @@ -1,49 +0,0 @@ -from lxml.etree import _Element -from openpyxl.cell.text import InlineFont -from openpyxl.styles.colors import Color -from typing import ( - Optional, - Union, -) -from xml.etree.ElementTree import Element - -def _no_value( - tagname: str, value: bool, namespace: None = ... -) -> Optional[_Element]: ... - -class Font: - def __init__( - self, - name: Optional[str] = ..., - sz: Optional[Union[str, int]] = ..., - b: Optional[Union[str, bool]] = ..., - i: Optional[Union[str, bool]] = ..., - charset: Optional[Union[str, int]] = ..., - u: Optional[str] = ..., - strike: Optional[bool] = ..., - color: Optional[Union[Color, str]] = ..., - scheme: Optional[str] = ..., - family: Optional[Union[str, int]] = ..., - size: Optional[int] = ..., - bold: Optional[bool] = ..., - italic: Optional[bool] = ..., - strikethrough: Optional[bool] = ..., - underline: Optional[str] = ..., - vertAlign: Optional[str] = ..., - outline: None = ..., - shadow: None = ..., - condense: Optional[str] = ..., - extend: Optional[str] = ..., - ) -> None: ... - @classmethod - def from_tree(cls, node: Union[_Element, Element]) -> Union[InlineFont, Font]: ... - -DEFAULT_FONT = Font( - name="Calibri", - sz=11, - family=2, - b=False, - i=False, - color=Color(theme=1), - scheme="minor", -) diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/named_styles.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/named_styles.pyi deleted file mode 100644 index 1b940a6c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/named_styles.pyi +++ /dev/null @@ -1,72 +0,0 @@ -from openpyxl.styles.alignment import Alignment -from openpyxl.styles.borders import Border -from openpyxl.styles.cell_style import ( - CellStyle, - StyleArray, -) -from openpyxl.styles.fills import PatternFill -from openpyxl.styles.fonts import Font -from openpyxl.styles.protection import Protection -from openpyxl.workbook.workbook import Workbook -from typing import ( - Any, - Iterator, - List, - Optional, - Tuple, - Union, -) - -class NamedStyle: - def __init__( - self, - name: str = ..., - font: Font = ..., - fill: PatternFill = ..., - border: Border = ..., - alignment: Alignment = ..., - number_format: Optional[str] = ..., - protection: Protection = ..., - builtinId: Optional[Union[str, int]] = ..., - hidden: Optional[Union[str, bool]] = ..., - xfId: Optional[Union[str, int]] = ..., - ) -> None: ... - def __iter__(self) -> Iterator[Tuple[str, str]]: ... - def __setattr__(self, attr: str, value: Any) -> None: ... - def _recalculate(self) -> None: ... - def _set_index(self, idx: int) -> None: ... - def as_name(self) -> _NamedCellStyle: ... - def as_tuple(self) -> StyleArray: ... - def as_xf(self) -> CellStyle: ... - def bind(self, wb: Workbook) -> None: ... - @property - def xfId(self) -> int: ... - -class NamedStyleList: - def __getitem__(self, key: Union[str, int]) -> NamedStyle: ... - def append(self, style: Union[NamedStyle, int]) -> None: ... - @property - def names(self) -> List[str]: ... - -class _NamedCellStyle: - def __init__( - self, - name: Optional[str] = ..., - xfId: Optional[Union[str, int]] = ..., - builtinId: Optional[Union[str, int]] = ..., - iLevel: None = ..., - hidden: Optional[Union[str, bool]] = ..., - customBuiltin: Optional[str] = ..., - extLst: None = ..., - ) -> None: ... - -class _NamedCellStyleList: - def __init__( - self, - count: Optional[str] = ..., - cellStyle: Union[List[_NamedCellStyle], Tuple] = ..., - ) -> None: ... - @property - def count(self) -> int: ... - @property - def names(self) -> NamedStyleList: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/numbers.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/numbers.pyi deleted file mode 100644 index f79f570b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/numbers.pyi +++ /dev/null @@ -1,112 +0,0 @@ -import re -from openpyxl.styles.named_styles import NamedStyle -from typing import ( - List, - Optional, - Tuple, - Union, -) - -BUILTIN_FORMATS = { - 0: "General", - 1: "0", - 2: "0.00", - 3: "#,##0", - 4: "#,##0.00", - 5: '"$"#,##0_);("$"#,##0)', - 6: '"$"#,##0_);[Red]("$"#,##0)', - 7: '"$"#,##0.00_);("$"#,##0.00)', - 8: '"$"#,##0.00_);[Red]("$"#,##0.00)', - 9: "0%", - 10: "0.00%", - 11: "0.00E+00", - 12: "# ?/?", - 13: "# ??/??", - 14: "mm-dd-yy", - 15: "d-mmm-yy", - 16: "d-mmm", - 17: "mmm-yy", - 18: "h:mm AM/PM", - 19: "h:mm:ss AM/PM", - 20: "h:mm", - 21: "h:mm:ss", - 22: "m/d/yy h:mm", - 37: "#,##0_);(#,##0)", - 38: "#,##0_);[Red](#,##0)", - 39: "#,##0.00_);(#,##0.00)", - 40: "#,##0.00_);[Red](#,##0.00)", - 41: r'_(* #,##0_);_(* \(#,##0\);_(* "-"_);_(@_)', - 42: r'_("$"* #,##0_);_("$"* \(#,##0\);_("$"* "-"_);_(@_)', - 43: r'_(* #,##0.00_);_(* \(#,##0.00\);_(* "-"??_);_(@_)', - 44: r'_("$"* #,##0.00_)_("$"* \(#,##0.00\)_("$"* "-"??_)_(@_)', - 45: "mm:ss", - 46: "[h]:mm:ss", - 47: "mmss.0", - 48: "##0.0E+0", - 49: "@", -} - -BUILTIN_FORMATS_MAX_SIZE = 164 -BUILTIN_FORMATS_REVERSE = dict([(value, key) for key, value in BUILTIN_FORMATS.items()]) - -FORMAT_GENERAL = BUILTIN_FORMATS[0] -FORMAT_TEXT = BUILTIN_FORMATS[49] -FORMAT_NUMBER = BUILTIN_FORMATS[1] -FORMAT_NUMBER_00 = BUILTIN_FORMATS[2] -FORMAT_NUMBER_COMMA_SEPARATED1 = BUILTIN_FORMATS[4] -FORMAT_NUMBER_COMMA_SEPARATED2 = "#,##0.00_-" -FORMAT_PERCENTAGE = BUILTIN_FORMATS[9] -FORMAT_PERCENTAGE_00 = BUILTIN_FORMATS[10] -FORMAT_DATE_YYYYMMDD2 = "yyyy-mm-dd" -FORMAT_DATE_YYMMDD = "yy-mm-dd" -FORMAT_DATE_DDMMYY = "dd/mm/yy" -FORMAT_DATE_DMYSLASH = "d/m/y" -FORMAT_DATE_DMYMINUS = "d-m-y" -FORMAT_DATE_DMMINUS = "d-m" -FORMAT_DATE_MYMINUS = "m-y" -FORMAT_DATE_XLSX14 = BUILTIN_FORMATS[14] -FORMAT_DATE_XLSX15 = BUILTIN_FORMATS[15] -FORMAT_DATE_XLSX16 = BUILTIN_FORMATS[16] -FORMAT_DATE_XLSX17 = BUILTIN_FORMATS[17] -FORMAT_DATE_XLSX22 = BUILTIN_FORMATS[22] -FORMAT_DATE_DATETIME = "yyyy-mm-dd h:mm:ss" -FORMAT_DATE_TIME1 = BUILTIN_FORMATS[18] -FORMAT_DATE_TIME2 = BUILTIN_FORMATS[19] -FORMAT_DATE_TIME3 = BUILTIN_FORMATS[20] -FORMAT_DATE_TIME4 = BUILTIN_FORMATS[21] -FORMAT_DATE_TIME5 = BUILTIN_FORMATS[45] -FORMAT_DATE_TIME6 = BUILTIN_FORMATS[21] -FORMAT_DATE_TIME7 = "i:s.S" -FORMAT_DATE_TIME8 = "h:mm:ss@" -FORMAT_DATE_TIMEDELTA = "[hh]:mm:ss" -FORMAT_DATE_YYMMDDSLASH = "yy/mm/dd@" -FORMAT_CURRENCY_USD_SIMPLE = '"$"#,##0.00_-' -FORMAT_CURRENCY_USD = "$#,##0_-" -FORMAT_CURRENCY_EUR_SIMPLE = "[$EUR ]#,##0.00_-" - -COLORS = r"\[(BLACK|BLUE|CYAN|GREEN|MAGENTA|RED|WHITE|YELLOW)\]" -LITERAL_GROUP = r'".*?"' # anything in quotes -LOCALE_GROUP = r"\[.+\]" # anything in square brackets, including colours -STRIP_RE = re.compile(f"{LITERAL_GROUP}|{LOCALE_GROUP}") - -def builtin_format_code(index: int) -> str: ... -def is_date_format(fmt: str) -> bool: ... -def is_datetime(fmt: str) -> str: ... - -class NumberFormat: - def __init__( - self, numFmtId: Optional[Union[str, int]] = ..., formatCode: Optional[str] = ... - ) -> None: ... - -class NumberFormatDescriptor: - def __set__(self, instance: NamedStyle, value: Optional[str]) -> None: ... - -class NumberFormatList: - def __init__( - self, count: Optional[str] = ..., numFmt: Union[List[NumberFormat], Tuple] = ... - ) -> None: ... - @property - def count(self) -> int: ... - -def is_builtin(fmt): - return fmt in BUILTIN_FORMATS.values() diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/protection.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/protection.pyi deleted file mode 100644 index f646d46d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/protection.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Union - -class Protection: - def __init__( - self, locked: Union[str, bool] = ..., hidden: Union[str, bool] = ... - ) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/styleable.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/styleable.pyi deleted file mode 100644 index cc17c1df..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/styles/styleable.pyi +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright (c) 2010-2020 openpyxl - -from copy import copy -from warnings import warn - -from .numbers import ( - BUILTIN_FORMATS, - BUILTIN_FORMATS_MAX_SIZE, - BUILTIN_FORMATS_REVERSE, -) -from .proxy import StyleProxy -from .cell_style import StyleArray -from .named_styles import NamedStyle -from .builtins import styles - -class StyleDescriptor(object): - def __init__(self, collection, key): - self.collection = collection - self.key = key - def __set__(self, instance, value): - coll = getattr(instance.parent.parent, self.collection) - if not getattr(instance, "_style"): - instance._style = StyleArray() - setattr(instance._style, self.key, coll.add(value)) - def __get__(self, instance, cls): - coll = getattr(instance.parent.parent, self.collection) - if not getattr(instance, "_style"): - instance._style = StyleArray() - idx = getattr(instance._style, self.key) - return StyleProxy(coll[idx]) - -class NumberFormatDescriptor(object): - - key = "numFmtId" - collection = "_number_formats" - def __set__(self, instance, value): - coll = getattr(instance.parent.parent, self.collection) - if value in BUILTIN_FORMATS_REVERSE: - idx = BUILTIN_FORMATS_REVERSE[value] - else: - idx = coll.add(value) + BUILTIN_FORMATS_MAX_SIZE - - if not getattr(instance, "_style"): - instance._style = StyleArray() - setattr(instance._style, self.key, idx) - def __get__(self, instance, cls): - if not getattr(instance, "_style"): - instance._style = StyleArray() - idx = getattr(instance._style, self.key) - if idx < BUILTIN_FORMATS_MAX_SIZE: - return BUILTIN_FORMATS.get(idx, "General") - coll = getattr(instance.parent.parent, self.collection) - return coll[idx - BUILTIN_FORMATS_MAX_SIZE] - -class NamedStyleDescriptor(object): - - key = "xfId" - collection = "_named_styles" - def __set__(self, instance, value): - if not getattr(instance, "_style"): - instance._style = StyleArray() - coll = getattr(instance.parent.parent, self.collection) - if isinstance(value, NamedStyle): - style = value - if style not in coll: - instance.parent.parent.add_named_style(style) - elif value not in coll.names: - if value in styles: # is it builtin? - style = styles[value] - if style not in coll: - instance.parent.parent.add_named_style(style) - else: - raise ValueError("{0} is not a known style".format(value)) - else: - style = coll[value] - instance._style = copy(style.as_tuple()) - def __get__(self, instance, cls): - if not getattr(instance, "_style"): - instance._style = StyleArray() - idx = getattr(instance._style, self.key) - coll = getattr(instance.parent.parent, self.collection) - return coll.names[idx] - -class StyleArrayDescriptor(object): - def __init__(self, key): - self.key = key - def __set__(self, instance, value): - if instance._style is None: - instance._style = StyleArray() - setattr(instance._style, self.key, value) - def __get__(self, instance, cls): - if instance._style is None: - return False - return bool(getattr(instance._style, self.key)) - -class StyleableObject(object): - """ - Base class for styleble objects implementing proxy and lookup functions - """ - - font = StyleDescriptor("_fonts", "fontId") - fill = StyleDescriptor("_fills", "fillId") - border = StyleDescriptor("_borders", "borderId") - number_format = NumberFormatDescriptor() - protection = StyleDescriptor("_protections", "protectionId") - alignment = StyleDescriptor("_alignments", "alignmentId") - style = NamedStyleDescriptor() - quotePrefix = StyleArrayDescriptor("quotePrefix") - pivotButton = StyleArrayDescriptor("pivotButton") - - __slots__ = ("parent", "_style") - def __init__(self, sheet, style_array=None): - self.parent = sheet - if style_array is not None: - style_array = StyleArray(style_array) - self._style = style_array - @property - def style_id(self): - if self._style is None: - self._style = StyleArray() - return self.parent.parent._cell_styles.add(self._style) - @property - def has_style(self): - if self._style is None: - return False - return any(self._style) diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/__init__.pyi deleted file mode 100644 index b9dc4895..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/__init__.pyi +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright (c) 2010-2020 openpyxl - -from .cell import ( - absolute_coordinate as absolute_coordinate, - cols_from_range as cols_from_range, - column_index_from_string as column_index_from_string, - coordinate_to_tuple as coordinate_to_tuple, - get_column_letter as get_column_letter, - get_column_interval as get_column_interval, - quote_sheetname as quote_sheetname, - range_boundaries as range_boundaries, - range_to_tuple as range_to_tuple, - rows_from_range as rows_from_range, -) - -from .formulas import FORMULAE as FORMULAE - -from .escape import ( - escape as escape, - unescape as unescape, -) diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/cell.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/cell.pyi deleted file mode 100644 index 1333413e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/cell.pyi +++ /dev/null @@ -1,25 +0,0 @@ -from typing import ( - Iterator, - List, - Tuple, - Union, -) - -def _get_column_letter(col_idx: int) -> str: ... # col_idx >= 1! -def absolute_coordinate(coord_string: str) -> str: ... -def cols_from_range(range_string: str) -> Iterator[Tuple[str, str, str, str]]: ... -def column_index_from_string(str_col: str) -> int: ... -def coordinate_from_string(coord_string: str) -> Tuple[str, int]: ... -def coordinate_to_tuple(coordinate: str) -> Tuple[int, int]: ... -def get_column_interval(start: str, end: Union[str, int]) -> List[str]: ... -def get_column_letter(idx: int) -> str: ... -def quote_sheetname(sheetname: str) -> str: ... -def range_boundaries( - range_string: str, -) -> Union[ - Tuple[None, int, None, int], Tuple[int, int, int, int], Tuple[int, None, int, None] -]: ... -def range_to_tuple(range_string: str) -> Tuple[str, Tuple[int, int, int, int]]: ... -def rows_from_range( - range_string: str, -) -> Iterator[Union[Tuple[str], Tuple[str, str, str, str]]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/escape.py b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/escape.py deleted file mode 100644 index 3b3ce072..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/escape.py +++ /dev/null @@ -1,6 +0,0 @@ -def escape(value: str) -> str: - ... - - -def unescape(value: str) -> str: - ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/escape.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/escape.pyi deleted file mode 100644 index 0ad3a100..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/escape.pyi +++ /dev/null @@ -1,2 +0,0 @@ -def escape(value: str) -> str: ... -def unescape(value: str) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/formulas.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/formulas.pyi deleted file mode 100644 index 4cc90771..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/utils/formulas.pyi +++ /dev/null @@ -1,356 +0,0 @@ -FORMULAE_dict = ( - "CUBEKPIMEMBER", - "CUBEMEMBER", - "CUBEMEMBERPROPERTY", - "CUBERANKEDMEMBER", - "CUBESET", - "CUBESETCOUNT", - "CUBEVALUE", - "DAVERAGE", - "DCOUNT", - "DCOUNTA", - "DGET", - "DMAX", - "DMIN", - "DPRODUCT", - "DSTDEV", - "DSTDEVP", - "DSUM", - "DVAR", - "DVARP", - "DATE", - "DATEDIF", - "DATEVALUE", - "DAY", - "DAYS360", - "EDATE", - "EOMONTH", - "HOUR", - "MINUTE", - "MONTH", - "NETWORKDAYS", - "NETWORKDAYS.INTL", - "NOW", - "SECOND", - "TIME", - "TIMEVALUE", - "TODAY", - "WEEKDAY", - "WEEKNUM", - "WORKDAY ", - "WORKDAY.INTL", - "YEAR", - "YEARFRAC", - "BESSELI", - "BESSELJ", - "BESSELK", - "BESSELY", - "BIN2DEC", - "BIN2HEX", - "BIN2OCT", - "COMPLEX", - "CONVERT", - "DEC2BIN", - "DEC2HEX", - "DEC2OCT", - "DELTA", - "ERF", - "ERFC", - "GESTEP", - "HEX2BIN", - "HEX2DEC", - "HEX2OCT", - "IMABS", - "IMAGINARY", - "IMARGUMENT", - "IMCONJUGATE", - "IMCOS", - "IMDIV", - "IMEXP", - "IMLN", - "IMLOG10", - "IMLOG2", - "IMPOWER", - "IMPRODUCT", - "IMREAL", - "IMSIN", - "IMSQRT", - "IMSUB", - "IMSUM", - "OCT2BIN", - "OCT2DEC", - "OCT2HEX", - "ACCRINT", - "ACCRINTM", - "AMORDEGRC", - "AMORLINC", - "COUPDAYBS", - "COUPDAYS", - "COUPDAYSNC", - "COUPNCD", - "COUPNUM", - "COUPPCD", - "CUMIPMT", - "CUMPRINC", - "DB", - "DDB", - "DISC", - "DOLLARDE", - "DOLLARFR", - "DURATION", - "EFFECT", - "FV", - "FVSCHEDULE", - "INTRATE", - "IPMT", - "IRR", - "ISPMT", - "MDURATION", - "MIRR", - "NOMINAL", - "NPER", - "NPV", - "ODDFPRICE", - "ODDFYIELD", - "ODDLPRICE", - "ODDLYIELD", - "PMT", - "PPMT", - "PRICE", - "PRICEDISC", - "PRICEMAT", - "PV", - "RATE", - "RECEIVED", - "SLN", - "SYD", - "TBILLEQ", - "TBILLPRICE", - "TBILLYIELD", - "VDB", - "XIRR", - "XNPV", - "YIELD", - "YIELDDISC", - "YIELDMAT", - "CELL", - "ERROR.TYPE", - "INFO", - "ISBLANK", - "ISERR", - "ISERROR", - "ISEVEN", - "ISLOGICAL", - "ISNA", - "ISNONTEXT", - "ISNUMBER", - "ISODD", - "ISREF", - "ISTEXT", - "N", - "NA", - "TYPE", - "AND", - "FALSE", - "IF", - "IFERROR", - "NOT", - "OR", - "TRUE ADDRESS", - "AREAS", - "CHOOSE", - "COLUMN", - "COLUMNS", - "GETPIVOTDATA", - "HLOOKUP", - "HYPERLINK", - "INDEX", - "INDIRECT", - "LOOKUP", - "MATCH", - "OFFSET", - "ROW", - "ROWS", - "RTD", - "TRANSPOSE", - "VLOOKUP", - "ABS", - "ACOS", - "ACOSH", - "ASIN", - "ASINH", - "ATAN", - "ATAN2", - "ATANH", - "CEILING", - "COMBIN", - "COS", - "COSH", - "DEGREES", - "ECMA.CEILING", - "EVEN", - "EXP", - "FACT", - "FACTDOUBLE", - "FLOOR", - "GCD", - "INT", - "ISO.CEILING", - "LCM", - "LN", - "LOG", - "LOG10", - "MDETERM", - "MINVERSE", - "MMULT", - "MOD", - "MROUND", - "MULTINOMIAL", - "ODD", - "PI", - "POWER", - "PRODUCT", - "QUOTIENT", - "RADIANS", - "RAND", - "RANDBETWEEN", - "ROMAN", - "ROUND", - "ROUNDDOWN", - "ROUNDUP", - "SERIESSUM", - "SIGN", - "SIN", - "SINH", - "SQRT", - "SQRTPI", - "SUBTOTAL", - "SUM", - "SUMIF", - "SUMIFS", - "SUMPRODUCT", - "SUMSQ", - "SUMX2MY2", - "SUMX2PY2", - "SUMXMY2", - "TAN", - "TANH", - "TRUNC", - "AVEDEV", - "AVERAGE", - "AVERAGEA", - "AVERAGEIF", - "AVERAGEIFS", - "BETADIST", - "BETAINV", - "BINOMDIST", - "CHIDIST", - "CHIINV", - "CHITEST", - "CONFIDENCE", - "CORREL", - "COUNT", - "COUNTA", - "COUNTBLANK", - "COUNTIF", - "COUNTIFS", - "COVAR", - "CRITBINOM", - "DEVSQ", - "EXPONDIST", - "FDIST", - "FINV", - "FISHER", - "FISHERINV", - "FORECAST", - "FREQUENCY", - "FTEST", - "GAMMADIST", - "GAMMAINV", - "GAMMALN", - "GEOMEAN", - "GROWTH", - "HARMEAN", - "HYPGEOMDIST", - "INTERCEPT", - "KURT", - "LARGE", - "LINEST", - "LOGEST", - "LOGINV", - "LOGNORMDIST", - "MAX", - "MAXA", - "MEDIAN", - "MIN", - "MINA", - "MODE", - "NEGBINOMDIST", - "NORMDIST", - "NORMINV", - "NORMSDIST", - "NORMSINV", - "PEARSON", - "PERCENTILE", - "PERCENTRANK", - "PERMUT", - "POISSON", - "PROB", - "QUARTILE", - "RANK", - "RSQ", - "SKEW", - "SLOPE", - "SMALL", - "STANDARDIZE", - "STDEV STDEVA", - "STDEVP", - "STDEVPA STEYX", - "TDIST", - "TINV", - "TREND", - "TRIMMEAN", - "TTEST", - "VAR", - "VARA", - "VARP", - "VARPA", - "WEIBULL", - "ZTEST", - "ASC", - "BAHTTEXT", - "CHAR", - "CLEAN", - "CODE", - "CONCATENATE", - "DOLLAR", - "EXACT", - "FIND", - "FINDB", - "FIXED", - "JIS", - "LEFT", - "LEFTB", - "LEN", - "LENB", - "LOWER", - "MID", - "MIDB", - "PHONETIC", - "PROPER", - "REPLACE", - "REPLACEB", - "REPT", - "RIGHT", - "RIGHTB", - "SEARCH", - "SEARCHB", - "SUBSTITUTE", - "T", - "TEXT", - "TRIM", - "UPPER", - "VALUE", -) - -FORMULAE = frozenset(FORMULAE_dict) diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/workbook/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/workbook/__init__.pyi deleted file mode 100644 index af0aa0b8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/workbook/__init__.pyi +++ /dev/null @@ -1 +0,0 @@ -from .workbook import Workbook as Workbook diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/workbook/child.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/workbook/child.pyi deleted file mode 100644 index 12de5faf..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/workbook/child.pyi +++ /dev/null @@ -1,30 +0,0 @@ -from typing import ( - Any, - List, - Optional, - Union, -) -from openpyxl.worksheet.header_footer import HeaderFooter - -def avoid_duplicate_name(names: List[str], value: str) -> str: ... - -class _WorkbookChild: - - __title = "" - _id = None - _path = "{0}" - _parent = None - _default_title = "Sheet" - def __init__( - self, parent: Optional[Any] = ..., title: Optional[Union[bytes, str, int]] = ... - ) -> None: - self._parent = parent - self.title = title or self._default_title - self.HeaderFooter = HeaderFooter() - def __repr__(self) -> str: ... - @property - def encoding(self) -> str: ... - @property - def parent(self) -> Any: ... - @property - def path(self) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/workbook/workbook.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/workbook/workbook.pyi deleted file mode 100644 index 30154653..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/workbook/workbook.pyi +++ /dev/null @@ -1,71 +0,0 @@ -from openpyxl.chartsheet.chartsheet import Chartsheet -from openpyxl.styles.named_styles import NamedStyle -from openpyxl.workbook.defined_name import DefinedName -from openpyxl.worksheet._read_only import ReadOnlyWorksheet -from openpyxl.worksheet._write_only import WriteOnlyWorksheet -from openpyxl.worksheet.worksheet import Worksheet -from typing import ( - List, - Optional, - Union, - IO, -) - -class Workbook: - def __contains__(self, key: str) -> bool: ... - def __delitem__(self, key: str) -> None: ... - def __getitem__( - self, key: str - ) -> Union[Chartsheet, Worksheet, ReadOnlyWorksheet]: ... - def __init__(self, write_only: bool = ..., iso_dates: bool = ...) -> None: ... - def _add_sheet( - self, - sheet: Union[Chartsheet, str, WriteOnlyWorksheet, Worksheet], - index: None = ..., - ) -> None: ... - def _duplicate_name(self, name: str) -> Optional[bool]: ... - def _setup_styles(self) -> None: ... - def add_named_range(self, named_range: DefinedName) -> None: ... - def add_named_style(self, style: NamedStyle) -> None: ... - @property - def chartsheets(self) -> List[Chartsheet]: ... - def close(self) -> None: ... - def copy_worksheet( - self, from_worksheet: Union[WriteOnlyWorksheet, Worksheet] - ) -> Worksheet: ... - def create_chartsheet(self, title: None = ..., index: None = ...) -> Chartsheet: ... - def create_named_range( - self, - name: str, - worksheet: Optional[Worksheet] = ..., - value: Optional[str] = ..., - scope: Optional[int] = ..., - ) -> None: ... - def create_sheet( - self, title: Optional[Union[str, int]] = ..., index: None = ... - ) -> Union[WriteOnlyWorksheet, Worksheet]: ... - @property - def data_only(self) -> bool: ... - @property - def excel_base_date(self) -> float: ... - def get_named_ranges(self) -> List[DefinedName]: ... - def index(self, worksheet: Worksheet) -> int: ... - @property - def mime_type(self) -> str: ... - def move_sheet(self, sheet: str, offset: int = ...) -> None: ... - @property - def named_styles(self) -> List[str]: ... - @property - def read_only(self) -> bool: ... - def remove(self, worksheet: Union[Chartsheet, Worksheet]) -> None: ... - def save(self, filename: Union[str, IO[bytes]]) -> None: ... - @property - def sheetnames(self) -> List[str]: ... - @property - def worksheets(self) -> Union[List[Worksheet], List[ReadOnlyWorksheet]]: ... - @property - def write_only(self) -> bool: ... - @property - def active(self) -> Worksheet: ... - @active.setter - def active(self, value: Worksheet) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/_reader.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/_reader.pyi deleted file mode 100644 index c08a9c39..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/_reader.pyi +++ /dev/null @@ -1,62 +0,0 @@ -from datetime import date -from lxml.etree import _Element -from openpyxl.cell.cell import Cell -from openpyxl.worksheet.worksheet import Worksheet -from typing import ( - Any, - Dict, - Iterator, - List, - Optional, - Set, - Tuple, - Union, -) -from xml.etree.ElementTree import Element -from zipfile import ZipExtFile - -def _cast_number(value: str) -> Union[float, int]: ... - -class WorkSheetParser: - def __init__( - self, - src: Optional[Union[ZipExtFile, str]], - shared_strings: Optional[Union[Dict[int, str], List[str]]], - data_only: Optional[bool] = ..., - epoch: Optional[Union[date, float]] = ..., - date_formats: Set[int] = ..., - ) -> None: ... - def parse(self) -> Iterator[Any]: ... - def parse_cell(self, element: Union[_Element, Element]) -> Dict[str, Any]: ... - def parse_col_breaks(self, element: _Element) -> None: ... - def parse_column_dimensions(self, col: Union[_Element, Element]) -> None: ... - def parse_custom_views(self, element: Element) -> None: ... - def parse_dimensions( - self, - ) -> Optional[Union[Tuple[int, int, int, int], Tuple[None, int, None, int]]]: ... - def parse_extensions(self, element: Union[_Element, Element]) -> None: ... - def parse_formatting(self, element: Union[_Element, Element]) -> None: ... - def parse_formula(self, element: Union[_Element, Element]) -> str: ... - def parse_legacy(self, element: Union[_Element, Element]) -> None: ... - def parse_row(self, row: Union[_Element, Element]) -> Any: ... - def parse_row_breaks(self, element: Union[_Element, Element]) -> None: ... - def parse_sheet_protection(self, element: Union[_Element, Element]) -> None: ... - -class WorksheetReader: - def __init__( - self, - ws: Worksheet, - xml_source: Union[ZipExtFile, str], - shared_strings: Optional[List[str]], - data_only: Optional[bool], - ) -> None: ... - def bind_all(self) -> None: ... - def bind_cells(self) -> None: ... - def bind_col_dimensions(self) -> None: ... - def bind_formatting(self) -> None: ... - def bind_hyperlinks(self) -> None: ... - def bind_merged_cells(self) -> None: ... - def bind_properties(self) -> None: ... - def bind_row_dimensions(self) -> None: ... - def bind_tables(self) -> None: ... - def normalize_merged_cell_link(self, coord: str) -> Optional[Cell]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/_writer.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/_writer.pyi deleted file mode 100644 index fddba33f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/_writer.pyi +++ /dev/null @@ -1,53 +0,0 @@ -from openpyxl.cell.cell import Cell -from openpyxl.worksheet._write_only import WriteOnlyWorksheet -from openpyxl.worksheet.worksheet import Worksheet -from typing import ( - Any, - Iterator, - List, - Optional, - Tuple, - Union, -) - -def create_temporary_file(suffix: str = ...) -> str: ... - -class WorksheetWriter: - def __init__( - self, ws: Union[Worksheet, WriteOnlyWorksheet], out: None = ... - ) -> None: ... - def cleanup(self) -> None: ... - def close(self) -> None: ... - def get_stream(self) -> Iterator[None]: ... - def read(self) -> bytes: ... - def rows( - self, - ) -> Union[ - List[Union[Tuple[int, List[Any]], Tuple[int, List[Cell]]]], - List[Tuple[int, List[Cell]]], - ]: ... - def write(self) -> None: ... - def write_breaks(self) -> None: ... - def write_cols(self) -> None: ... - def write_dimensions(self) -> None: ... - def write_drawings(self) -> None: ... - def write_filter(self) -> None: ... - def write_format(self) -> None: ... - def write_formatting(self) -> None: ... - def write_header(self) -> None: ... - def write_hyperlinks(self) -> None: ... - def write_legacy(self) -> None: ... - def write_margins(self) -> None: ... - def write_merged_cells(self) -> None: ... - def write_page(self) -> None: ... - def write_print(self) -> None: ... - def write_properties(self) -> None: ... - def write_protection(self) -> None: ... - def write_rows(self) -> None: ... - def write_scenarios(self) -> None: ... - def write_sort(self) -> None: ... - def write_tables(self) -> None: ... - def write_tail(self) -> None: ... - def write_top(self) -> None: ... - def write_validations(self) -> None: ... - def write_views(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/copier.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/copier.pyi deleted file mode 100644 index 2289f930..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/copier.pyi +++ /dev/null @@ -1,16 +0,0 @@ -from openpyxl.worksheet.worksheet import Worksheet -from typing import ( - Optional, - Union, -) - -class WorksheetCopy: - def __init__( - self, - source_worksheet: Union[str, Worksheet], - target_worksheet: Optional[Worksheet], - ) -> None: ... - def _copy_cells(self) -> None: ... - def _copy_dimensions(self) -> None: ... - def _verify_resources(self) -> None: ... - def copy_worksheet(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/worksheet.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/worksheet.pyi deleted file mode 100644 index dc4908f3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/worksheet/worksheet.pyi +++ /dev/null @@ -1,219 +0,0 @@ -# Core Library modules -import datetime -from decimal import Decimal -from typing import Any, Iterator, Optional, Tuple, Union - -# Third party modules -from openpyxl.cell.cell import Cell, MergedCell -from openpyxl.cell.read_only import ReadOnlyCell -from openpyxl.chart.bar_chart import BarChart -from openpyxl.descriptors import String -from openpyxl.drawing.image import Image -from openpyxl.workbook.child import _WorkbookChild -from openpyxl.workbook.workbook import Workbook -from openpyxl.worksheet.cell_range import CellRange -from openpyxl.worksheet.dimensions import ColumnDimension, RowDimension -from openpyxl.worksheet.merge import MergedCellRange -from openpyxl.worksheet.table import Table, TableList -from openpyxl.worksheet.tests.test_dimensions import DummyWorkbook -from openpyxl.worksheet.tests.test_worksheet import DummyWorkbook -from openpyxl.worksheet.views import SheetView - -def _gutter(idx: int, offset: int, max_val: int) -> range: ... - -class Worksheet(_WorkbookChild): - def __delitem__(self, key: str) -> None: ... - def __getitem__(self, key: Union[str, slice, int]) -> Any: ... - def __init__( - self, - parent: Union[DummyWorkbook, DummyWorkbook, Workbook], - title: Optional[Union[str, int]] = ..., - ) -> None: - _WorkbookChild.__init__(self, parent, title) - self._setup() - def _setup(self): - self.row_dimensions = DimensionHolder( - worksheet=self, default_factory=self._add_row - ) - self.column_dimensions = DimensionHolder( - worksheet=self, default_factory=self._add_column - ) - self.row_breaks = RowBreak() - self.col_breaks = ColBreak() - self._cells = {} - self._charts = [] - self._images = [] - self._rels = RelationshipList() - self._drawing = None - self._comments = [] - self.merged_cells = MultiCellRange() - self._tables = TableList() - self._pivots = [] - self.data_validations = DataValidationList() - self._hyperlinks = [] - self.sheet_state = "visible" - self.page_setup = PrintPageSetup(worksheet=self) - self.print_options = PrintOptions() - self._print_rows = None - self._print_cols = None - self._print_area = None - self.page_margins = PageMargins() - self.views = SheetViewList() - self.protection = SheetProtection() - - self._current_row = 0 - self.auto_filter = AutoFilter() - self.paper_size = None - self.formula_attributes = {} - self.orientation = None - self.conditional_formatting = ConditionalFormattingList() - self.legacy_drawing = None - self.sheet_properties = WorksheetProperties() - self.sheet_format = SheetFormatProperties() - self.scenarios = ScenarioList() - def __iter__(self) -> Iterator[Any]: ... - def __setitem__(self, key: str, value: Union[str, int]) -> None: ... - def _add_cell(self, cell: Cell) -> None: ... - def _add_column(self) -> ColumnDimension: ... - def _add_row(self) -> RowDimension: ... - def _cells_by_col( - self, - min_col: int, - min_row: int, - max_col: int, - max_row: int, - values_only: bool = ..., - ) -> Iterator[Tuple[Cell, ...]]: ... - def _cells_by_row( - self, - min_col: int, - min_row: int, - max_col: int, - max_row: int, - values_only: bool = ..., - ) -> Iterator[Any]: ... - def _clean_merge_range(self, mcr: MergedCellRange) -> None: ... - def _get_cell(self, row: int, column: int) -> Union[MergedCell, Cell]: ... - def _invalid_row(self, iterable: str): ... - def _move_cell( - self, - row: int, - column: int, - row_offset: int, - col_offset: int, - translate: bool = ..., - ) -> None: ... - def _move_cells( - self, - min_row: Optional[int] = ..., - min_col: Optional[int] = ..., - offset: int = ..., - row_or_col: str = ..., - ) -> None: ... - @property - def active_cell(self) -> str: ... - def add_chart(self, chart: BarChart, anchor: Optional[str] = ...) -> None: ... - def add_image(self, img: Image, anchor: Optional[str] = ...) -> None: ... - def add_table(self, table: Table) -> None: ... - def append(self, iterable: Any) -> None: ... - def calculate_dimension(self) -> str: ... - def cell( - self, - row: int, - column: int, - value: Optional[ - Union[ - int, - float, - Decimal, - str, - bytes, - datetime.datetime, - datetime.date, - datetime.time, - datetime.timedelta, - ] - ] = ..., - ) -> Union[MergedCell, ReadOnlyCell, Cell]: ... - @property - def columns(self) -> Iterator[Any]: ... - def delete_cols(self, idx: int, amount: int = ...) -> None: ... - def delete_rows(self, idx: int, amount: int = ...) -> None: ... - def insert_cols(self, idx: int, amount: int = ...) -> None: ... - def insert_rows(self, idx: int, amount: int = ...) -> None: ... - def iter_cols( - self, - min_col: Optional[int] = ..., - max_col: Optional[int] = ..., - min_row: None = ..., - max_row: None = ..., - values_only: bool = ..., - ) -> Iterator[Any]: ... - def iter_rows( - self, - min_row: Optional[int] = ..., - max_row: Optional[int] = ..., - min_col: Optional[int] = ..., - max_col: Optional[int] = ..., - values_only: bool = ..., - ) -> Iterator[Any]: ... - @property - def max_column(self) -> int: ... - @property - def max_row(self) -> int: ... - def merge_cells( - self, - range_string: Optional[str] = ..., - start_row: Optional[int] = ..., - start_column: Optional[int] = ..., - end_row: Optional[int] = ..., - end_column: Optional[int] = ..., - ) -> None: ... - @property - def min_column(self) -> int: ... - @property - def min_row(self) -> int: ... - def move_range( - self, - cell_range: Union[CellRange, str], - rows: int = ..., - cols: int = ..., - translate: bool = ..., - ) -> None: ... - @property - def print_titles(self) -> Optional[str]: ... - @property - def rows(self) -> Iterator[Any]: ... - @property - def selected_cell(self) -> str: ... - @property - def sheet_view(self) -> SheetView: ... - @property - def show_gridlines(self) -> None: ... - @property - def tables(self) -> TableList: ... - def unmerge_cells( - self, - range_string: Optional[str] = ..., - start_row: Optional[int] = ..., - start_column: Optional[int] = ..., - end_row: Optional[int] = ..., - end_column: Optional[int] = ..., - ) -> None: ... - @property - def values( - self, - ) -> Iterator[ - Union[ - Tuple[str, None, None, None, None, None, None], - Tuple[None, None, None, None, None, None, None], - Tuple[None, None, None, None, None, None, str], - ] - ]: ... - @property - def freeze_panes(self) -> Optional[String]: - if self.sheet_view.pane is not None: - return self.sheet_view.pane.topLeftCell - return None - @freeze_panes.setter - def freeze_panes(self, topLeftCell=None) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/xml/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/xml/__init__.pyi deleted file mode 100644 index e9517ee0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/openpyxl/xml/__init__.pyi +++ /dev/null @@ -1,3 +0,0 @@ -def defusedxml_available() -> bool: ... -def lxml_available() -> bool: ... -def lxml_env_set() -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/__init__.pyi deleted file mode 100644 index abf92396..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/__init__.pyi +++ /dev/null @@ -1,116 +0,0 @@ -from ._config import ( - describe_option as describe_option, - get_option as get_option, - option_context as option_context, - options as options, - reset_option as reset_option, - set_option as set_option) -from .core.api import ( - BooleanDtype as BooleanDtype, - Categorical as Categorical, - CategoricalDtype as CategoricalDtype, - CategoricalIndex as CategoricalIndex, - DataFrame as DataFrame, - DateOffset as DateOffset, - DatetimeIndex as DatetimeIndex, - DatetimeTZDtype as DatetimeTZDtype, - Float64Index as Float64Index, - Grouper as Grouper, - Index as Index, - IndexSlice as IndexSlice, - Int16Dtype as Int16Dtype, - Int32Dtype as Int32Dtype, - Int64Dtype as Int64Dtype, - Int64Index as Int64Index, - Int8Dtype as Int8Dtype, - Interval as Interval, - IntervalDtype as IntervalDtype, - IntervalIndex as IntervalIndex, - MultiIndex as MultiIndex, - NA as NA, - NaT as NaT, - NamedAgg as NamedAgg, - Period as Period, - PeriodDtype as PeriodDtype, - PeriodIndex as PeriodIndex, - RangeIndex as RangeIndex, - Series as Series, - StringDtype as StringDtype, - Timedelta as Timedelta, - TimedeltaIndex as TimedeltaIndex, - Timestamp as Timestamp, - UInt16Dtype as UInt16Dtype, - UInt32Dtype as UInt32Dtype, - UInt64Dtype as UInt64Dtype, - UInt64Index as UInt64Index, - UInt8Dtype as UInt8Dtype, - array as array, - bdate_range as bdate_range, - date_range as date_range, - factorize as factorize, - interval_range as interval_range, - isna as isna, - isnull as isnull, - notna as notna, - notnull as notnull, - period_range as period_range, - set_eng_float_format as set_eng_float_format, - timedelta_range as timedelta_range, - to_numeric as to_numeric, - unique as unique, - value_counts as value_counts) -from .core.tools import ( - to_datetime as to_datetime, - to_timedelta as to_timedelta -) -from .core.arrays.sparse import SparseDtype as SparseDtype -from .tseries import offsets as offsets -from .tseries.api import infer_freq as infer_freq -from .core.computation.api import eval as eval -from .core.reshape.api import ( - concat as concat, - crosstab as crosstab, - cut as cut, - get_dummies as get_dummies, - lreshape as lreshape, - melt as melt, - merge as merge, - merge_asof as merge_asof, - merge_ordered as merge_ordered, - pivot as pivot, - pivot_table as pivot_table, - qcut as qcut, - wide_to_long as wide_to_long) -from .util._print_versions import show_versions as show_versions -from .io.json import json_normalize as json_normalize -from .io.api import ( - ExcelFile as ExcelFile, - ExcelWriter as ExcelWriter, - HDFStore as HDFStore, - read_clipboard as read_clipboard, - read_csv as read_csv, - read_excel as read_excel, - read_feather as read_feather, - read_fwf as read_fwf, - read_gbq as read_gbq, - read_hdf as read_hdf, - read_html as read_html, - read_json as read_json, - read_orc as read_orc, - read_parquet as read_parquet, - read_pickle as read_pickle, - read_sas as read_sas, - read_spss as read_spss, - read_sql as read_sql, - read_sql_query as read_sql_query, - read_sql_table as read_sql_table, - read_stata as read_stata, - read_table as read_table, - to_pickle as to_pickle) - - -from .util._tester import test as test - -import pandas.testing as testing - -__version__ : str diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_config/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_config/__init__.pyi deleted file mode 100644 index 64cb0dc6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_config/__init__.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from .config import ( - describe_option as describe_option, - get_option as get_option, - option_context as option_context, - options as options, - reset_option as reset_option, - set_option as set_option) - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_config/config.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_config/config.pyi deleted file mode 100644 index b38b4123..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_config/config.pyi +++ /dev/null @@ -1,20 +0,0 @@ -import sys -from typing import Any, ContextManager, Union, overload -if sys.version_info >= (3, 8): - from typing import Literal -else: - from typing_extensions import Literal - -def get_option(pat: str) -> Any: ... -def set_option(pat: str, val: object) -> None: ... -def reset_option(pat: str) -> None: ... -@overload -def describe_option(pat: str, _print_desc: Literal[False]) -> str: ... -@overload -def describe_option(pat: str, _print_desc: Union[bool, Literal[True]] = ...) -> None: ... - -options: Any = ... - -class option_context(ContextManager): ... - - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/__init__.pyi deleted file mode 100644 index cdea8462..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/__init__.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from .tslibs import NaT as NaT, NaTType as NaTType, OutOfBoundsDatetime as OutOfBoundsDatetime, Period as Period, Timedelta as Timedelta, Timestamp as Timestamp, iNaT as iNaT -from .interval import Interval as Interval - - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/indexing.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/indexing.pyi deleted file mode 100644 index e75a824e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/indexing.pyi +++ /dev/null @@ -1,6 +0,0 @@ -class _NDFrameIndexerBase: - - def __init__(self, name: str, obj: object) -> None: ... - - @property - def ndim(self) -> int: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/interval.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/interval.pyi deleted file mode 100644 index 87738c84..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/interval.pyi +++ /dev/null @@ -1,153 +0,0 @@ -from __future__ import annotations - -from typing import ( - Any, - Generic, - TypeVar, - Union, - overload, -) - -import numpy as np - -from pandas._typing import npt - -from pandas._typing import ( - IntervalClosedType, - Timedelta, - Timestamp, -) - -VALID_CLOSED: frozenset[str] - -_OrderableScalarT = TypeVar("_OrderableScalarT", int, float) -_OrderableTimesT = TypeVar("_OrderableTimesT", Timestamp, Timedelta) -_OrderableT = TypeVar("_OrderableT", int, float, Timestamp, Timedelta) - -class _LengthDescriptor: - @overload - def __get__(self, instance: Interval[_OrderableScalarT], owner: Any) -> _OrderableScalarT: ... - @overload - def __get__(self, instance: Interval[_OrderableTimesT], owner: Any) -> Timedelta: ... - @overload - def __get__(self, instance: IntervalTree, owner: Any) -> np.ndarray: ... - -class _MidDescriptor: - @overload - def __get__(self, instance: Interval[_OrderableScalarT], owner: Any) -> float: ... - @overload - def __get__(self, instance: Interval[_OrderableTimesT], owner: Any) -> _OrderableTimesT: ... - @overload - def __get__(self, instance: IntervalTree, owner: Any) -> np.ndarray: ... - -class IntervalMixin: - @property - def closed_left(self) -> bool: ... - @property - def closed_right(self) -> bool: ... - @property - def open_left(self) -> bool: ... - @property - def open_right(self) -> bool: ... - @property - def is_empty(self) -> bool: ... - def _check_closed_matches(self, other: IntervalMixin, name: str = ...) -> None: ... - -class Interval(IntervalMixin, Generic[_OrderableT]): - @property - def left(self: Interval[_OrderableT]) -> _OrderableT: ... - @property - def right(self: Interval[_OrderableT]) -> _OrderableT: ... - @property - def closed(self) -> IntervalClosedType: ... - mid: _MidDescriptor - length: _LengthDescriptor - def __init__( - self, - left: _OrderableT, - right: _OrderableT, - closed: IntervalClosedType = ..., - ): ... - def __hash__(self) -> int: ... - @overload - def __contains__(self: Interval[_OrderableTimesT], _OrderableTimesT) -> bool: ... - @overload - def __contains__(self: Interval[_OrderableScalarT], key: Union[int, float]) -> bool: ... - def __repr__(self) -> str: ... - def __str__(self) -> str: ... - @overload - def __add__(self: Interval[_OrderableTimesT], y: Timedelta) -> Interval[_OrderableTimesT]: ... - @overload - def __add__(self: Interval[int], y: int) -> Interval[int]: ... - @overload - def __add__(self: Interval[int], y: float) -> Interval[float]: ... - @overload - def __add__(self: Interval[float], y: Union[int, float]) -> Interval[float]: ... - @overload - def __radd__(self: Interval[_OrderableTimesT], y: Timedelta) -> Interval[_OrderableTimesT]: ... - @overload - def __radd__(self: Interval[int], y: int) -> Interval[int]: ... - @overload - def __radd__(self: Interval[int], y: float) -> Interval[float]: ... - @overload - def __radd__(self: Interval[float], y: Union[int, float]) -> Interval[float]: ... - @overload - def __sub__(self: Interval[_OrderableTimesT], y: Timedelta) -> Interval[_OrderableTimesT]: ... - @overload - def __sub__(self: Interval[int], y: int) -> Interval[int]: ... - @overload - def __sub__(self: Interval[int], y: float) -> Interval[float]: ... - @overload - def __sub__(self: Interval[float], y: Union[int, float]) -> Interval[float]: ... - @overload - def __rsub__(self: Interval[_OrderableTimesT], y: Timedelta) -> Interval[_OrderableTimesT]: ... - @overload - def __rsub__(self: Interval[int], y: int) -> Interval[int]: ... - @overload - def __rsub__(self: Interval[int], y: float) -> Interval[float]: ... - @overload - def __rsub__(self: Interval[float], y: Union[int, float]) -> Interval[float]: ... - @overload - def __mul__(self: Interval[int], y: int) -> Interval[int]: ... - @overload - def __mul__(self: Interval[int], y: float) -> Interval[float]: ... - @overload - def __mul__(self: Interval[float], y: Union[int, float]) -> Interval[float]: ... - @overload - def __rmul__(self: Interval[int], y: int) -> Interval[int]: ... - @overload - def __rmul__(self: Interval[int], y: float) -> Interval[float]: ... - @overload - def __rmul__(self: Interval[float], y: Union[int, float]) -> Interval[float]: ... - @overload - def __truediv__(self: Interval[int], y: int) -> Interval[int]: ... - @overload - def __truediv__(self: Interval[int], y: float) -> Interval[float]: ... - @overload - def __truediv__(self: Interval[float], y: Union[int, float]) -> Interval[float]: ... - @overload - def __floordiv__(self: Interval[int], y: int) -> Interval[int]: ... - @overload - def __floordiv__(self: Interval[int], y: float) -> Interval[float]: ... - @overload - def __floordiv__(self: Interval[float], y: Union[int, float]) -> Interval[float]: ... - def overlaps(self: Interval[_OrderableT], other: Interval[_OrderableT]) -> bool: ... - -def intervals_to_interval_bounds(intervals: np.ndarray, validate_closed: bool = ...) -> tuple[np.ndarray, np.ndarray, str]: ... - -class IntervalTree(IntervalMixin): - def __init__( - self, - left: np.ndarray, - right: np.ndarray, - closed: IntervalClosedType = ..., - leaf_size: int = ..., - ): ... - def get_indexer(self, target) -> npt.NDArray[np.intp]: ... - def get_indexer_non_unique(self, target) -> tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]]: ... - _na_count: int - @property - def is_overlapping(self) -> bool: ... - @property - def is_monotonic_increasing(self) -> bool: ... - def clear_mapping(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/json.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/json.pyi deleted file mode 100644 index 59086a44..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/json.pyi +++ /dev/null @@ -1,4 +0,0 @@ -def decode(*args, **kwargs): ... -def dumps(*args, **kwargs): ... -def encode(*args, **kwargs): ... -def loads(*args, **kwargs): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/lib.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/lib.pyi deleted file mode 100644 index ddfb45b7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/lib.pyi +++ /dev/null @@ -1,2 +0,0 @@ -no_default = None -def infer_dtype(value: object, skipna: bool = ...) -> str:... \ No newline at end of file diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/missing.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/missing.pyi deleted file mode 100644 index 2f5cae4c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/missing.pyi +++ /dev/null @@ -1,48 +0,0 @@ -from __future__ import annotations -from typing import Union - -class NAType: - def __new__(cls, *args, **kwargs) -> NAType: ... - def __repr__(self) -> str: ... - def __format__(self, format_spec: str) -> str: ... - def __bool__(self) -> None: ... - def __hash__(self) -> int: ... - def __reduce__(self) -> str: ... - def __add__(self, other) -> NAType: ... - def __radd__(self, other) -> NAType: ... - def __sub__(self, other) -> NAType: ... - def __rsub__(self, other) -> NAType: ... - def __mul__(self, other) -> NAType: ... - def __rmul__(self, other) -> NAType: ... - def __matmul__(self, other) -> NAType: ... - def __rmatmul__(self, other) -> NAType: ... - def __truediv__(self, other) -> NAType: ... - def __rtruediv__(self, other) -> NAType: ... - def __floordiv__(self, other) -> NAType: ... - def __rfloordiv__(self, other) -> NAType: ... - def __mod__(self, other) -> NAType: ... - def __rmod__(self, other) -> NAType: ... - def __divmod__(self, other) -> NAType: ... - def __rdivmod__(self, other) -> NAType: ... - def __eq__(self, other) -> bool: ... - def __ne__(self, other) -> bool: ... - def __le__(self, other) -> bool: ... - def __lt__(self, other) -> bool: ... - def __gt__(self, other) -> bool: ... - def __ge__(self, other) -> bool: ... - def __neg__(self, other) -> NAType: ... - def __pos__(self, other) -> NAType: ... - def __abs__(self, other) -> NAType: ... - def __invert__(self, other) -> NAType: ... - def __pow__(self, other) -> NAType: ... - def __rpow__(self, other) -> NAType: ... - def __and__(self, other) -> Union[None, NAType]: ... - __rand__ = __and__ - def __or__(self, other) -> Union[bool, NAType]: ... - __ror__ = __or__ - def __xor__(self, other) -> NAType: ... - __rxor__ = __xor__ - __array_priority__: int - def __array_ufunc__(self, ufunc, method, *inputs, **kwargs): ... - -NA: NAType = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/ops_dispatch.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/ops_dispatch.pyi deleted file mode 100644 index 3f932dcb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/ops_dispatch.pyi +++ /dev/null @@ -1,5 +0,0 @@ -DISPATCHED_UFUNCS = ... -REVERSED_NAMES= ... -UFUNC_ALIASES = ... - -def maybe_dispatch_ufunc_to_dunder_op(*args, **kwargs): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/properties.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/properties.pyi deleted file mode 100644 index 78eabdcc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/properties.pyi +++ /dev/null @@ -1,13 +0,0 @@ -from typing import Callable - -class CachedProperty: - def __init__(self, func: Callable) -> None: ... - def __get__(self, obj, typ): ... - def __set__(self, obj, value) -> None: ... - -cache_readonly: CachedProperty = ... - -class AxisProperty: - def __init__(self, axis: int = ..., doc: str = ...) -> None: ... - def __get__(self, obj, typ): ... - def __set__(self, obj, value) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/sparse.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/sparse.pyi deleted file mode 100644 index 9f5787f5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/sparse.pyi +++ /dev/null @@ -1,3 +0,0 @@ -class SparseIndex(object): ... -class BlockIndex(SparseIndex): ... -class IntIndex(SparseIndex): ... \ No newline at end of file diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/__init__.pyi deleted file mode 100644 index 06694f5e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/__init__.pyi +++ /dev/null @@ -1,24 +0,0 @@ -__all__ = [ - "Period", - "Timestamp", - "Timedelta", - "NaT", - "NaTType", - "iNaT", - "nat_strings", - "BaseOffset", - "Tick", - "OutofBoundsDatetime", -] - -from .period import Period -from .timestamps import Timestamp -from .timedeltas import Timedelta -from .nattype import ( - NaT, - NaTType, - iNaT, - nat_strings, -) -from .offsets import BaseOffset, Tick -from np_datetime import OutOfBoundsDatetime as OutOfBoundsDatetime diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/base.pyi deleted file mode 100644 index d6f88c91..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/base.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from datetime import datetime - -class ABCTimestamp(datetime): ... \ No newline at end of file diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/ccalendar.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/ccalendar.pyi deleted file mode 100644 index c6b81d9f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/ccalendar.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from typing import Sequence - -def dayofweek(y: int, m: int, d: int) -> int: ... -def is_leapyear(year: int) -> bool: ... -def get_days_in_month(year: int, month: int) -> int: ... -def get_week_of_year(year: int, month: int, day: int) -> int: ... -#cpdef iso_calendar_t get_iso_calendar(int year, int month, int day) nogil -def get_day_of_year(year: int, month: int, day: int) -> int: ... -def get_lastbday(year: int, month: int) -> int: ... -def get_firstbday(year: int, month: int) -> int: ... - -DAY_NANOS: int = ... -HOUR_NANOS: int = ... -month_offset: Sequence[int] = ... \ No newline at end of file diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/conversion.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/conversion.pyi deleted file mode 100644 index 4b38f62b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/conversion.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from datetime import datetime - -def localize_pydatetime(dt: datetime, tz: object) -> datetime: ... - -class OutOfBoundsTimedelta(ValueError): ... \ No newline at end of file diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/dtypes.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/dtypes.pyi deleted file mode 100644 index 9fc4ce2b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/dtypes.pyi +++ /dev/null @@ -1,59 +0,0 @@ -from enum import Enum -from .offsets import BaseOffset -from typing import Dict - - -class PeriodDtypeBase: - def __init__(self, code: int) -> None: ... - def __eq__(self, other) -> bool: ... - @property - def freq_group(self) -> int: ... - @property - def date_offset(self) -> BaseOffset: ... - @classmethod - def from_date_offset(cls, offset: BaseOffset) -> 'PeriodDtypeBase': ... - -attrname_to_abbrevs: Dict[str, str] - -class FreqGroup: - FR_ANN: int - FR_QTR: int - FR_MTH: int - FR_WK: int - FR_BUS: int - FR_DAY: int - FR_HR: int - FR_MIN: int - FR_SEC: int - FR_MS: int - FR_US: int - FR_NS: int - FR_UND: int - - @staticmethod - def get_freq_group(code: int) -> int: ... - -class Resolution(Enum): - RESO_NS: int - RESO_US: int - RESO_MS: int - RESO_SEC: int - RESO_MIN: int - RESO_HR: int - RESO_DAY: int - RESO_MTH: int - RESO_QTR: int - RESO_YR: int - - def __lt__(self, other) -> bool: ... - def __ge__(self, other) -> bool: ... - - @property - def freq_group(self) -> int: ... - @property - def attrname(self) -> str: ... - @classmethod - def from_attrname(cls, attrname: str) -> 'Resolution': ... - @classmethod - def get_reso_from_freq(cls, freq: str) -> 'Resolution': ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/nattype.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/nattype.pyi deleted file mode 100644 index 18b9bc20..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/nattype.pyi +++ /dev/null @@ -1,123 +0,0 @@ -from datetime import ( - datetime, - timedelta, - tzinfo as _tzinfo, -) -from typing import ( - Any, - Union, -) - -import numpy as np - -from pandas._libs.tslibs.period import Period - -NaT: NaTType -iNaT: int -nat_strings: set[str] - -def is_null_datetimelike(val: object, inat_is_null: bool = ...) -> bool: ... - -_NaTComparisonTypes = Union[datetime, timedelta, Period, np.datetime64, np.timedelta64] - -class _NatComparison: - def __call__(self, other: _NaTComparisonTypes) -> bool: ... - -class NaTType: - value: np.int64 - def asm8(self) -> np.datetime64: ... - def to_datetime64(self) -> np.datetime64: ... - def to_numpy(self, dtype: np.dtype | str | None = ..., copy: bool = ...) -> np.datetime64 | np.timedelta64: ... - @property - def is_leap_year(self) -> bool: ... - @property - def is_month_start(self) -> bool: ... - @property - def is_quarter_start(self) -> bool: ... - @property - def is_year_start(self) -> bool: ... - @property - def is_month_end(self) -> bool: ... - @property - def is_quarter_end(self) -> bool: ... - @property - def is_year_end(self) -> bool: ... - @property - def day_of_year(self) -> float: ... - @property - def dayofyear(self) -> float: ... - @property - def days_in_month(self) -> float: ... - @property - def daysinmonth(self) -> float: ... - @property - def day_of_week(self) -> float: ... - @property - def dayofweek(self) -> float: ... - @property - def week(self) -> float: ... - @property - def weekofyear(self) -> float: ... - def day_name(self) -> float: ... - def month_name(self) -> float: ... - def weekday(self) -> float: ... - def isoweekday(self) -> float: ... - def total_seconds(self) -> float: ... - def today(self, *args, **kwargs) -> NaTType: ... - def now(self, *args, **kwargs) -> NaTType: ... - def to_pydatetime(self) -> NaTType: ... - def date(self) -> NaTType: ... - def round(self) -> NaTType: ... - def floor(self) -> NaTType: ... - def ceil(self) -> NaTType: ... - def tz_convert(self) -> NaTType: ... - def tz_localize(self) -> NaTType: ... - def replace( - self, - year: int | None = ..., - month: int | None = ..., - day: int | None = ..., - hour: int | None = ..., - minute: int | None = ..., - second: int | None = ..., - microsecond: int | None = ..., - nanosecond: int | None = ..., - tzinfo: _tzinfo | None = ..., - fold: int | None = ..., - ) -> NaTType: ... - @property - def year(self) -> float: ... - @property - def quarter(self) -> float: ... - @property - def month(self) -> float: ... - @property - def day(self) -> float: ... - @property - def hour(self) -> float: ... - @property - def minute(self) -> float: ... - @property - def second(self) -> float: ... - @property - def millisecond(self) -> float: ... - @property - def microsecond(self) -> float: ... - @property - def nanosecond(self) -> float: ... - # inject Timedelta properties - @property - def days(self) -> float: ... - @property - def microseconds(self) -> float: ... - @property - def nanoseconds(self) -> float: ... - # inject Period properties - @property - def qyear(self) -> float: ... - def __eq__(self, other: Any) -> bool: ... - def __ne__(self, other: Any) -> bool: ... - __lt__: _NatComparison - __le__: _NatComparison - __gt__: _NatComparison - __ge__: _NatComparison diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/np_datetime.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/np_datetime.pyi deleted file mode 100644 index db0c277b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/np_datetime.pyi +++ /dev/null @@ -1 +0,0 @@ -class OutOfBoundsDatetime(ValueError): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/offsets.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/offsets.pyi deleted file mode 100644 index dec81afc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/offsets.pyi +++ /dev/null @@ -1,241 +0,0 @@ -from __future__ import annotations - -from datetime import ( - datetime, - timedelta, -) -from typing import ( - TYPE_CHECKING, - Any, - Collection, - Literal, - Tuple, - TypeVar, - Union, - overload, -) - -import numpy as np -from pandas._typing import npt - -from .timedeltas import Timedelta - -if TYPE_CHECKING: - from pandas.core.indexes.datetimes import DatetimeIndex -_BaseOffsetT = TypeVar("_BaseOffsetT", bound="BaseOffset") -_DatetimeT = TypeVar("_DatetimeT", bound=datetime) -_TimedeltaT = TypeVar("_TimedeltaT", bound=timedelta) - -_relativedelta_kwds: set[str] -prefix_mapping: dict[str, type] - -class ApplyTypeError(TypeError): ... - -class BaseOffset: - n: int - def __init__(self, n: int = ..., normalize: bool = ...) -> None: ... - def __eq__(self, other) -> bool: ... - def __ne__(self, other) -> bool: ... - def __hash__(self) -> int: ... - @property - def kwds(self) -> dict: ... - @property - def base(self) -> BaseOffset: ... - @overload - def __add__(self, other: npt.NDArray[np.object_]) -> npt.NDArray[np.object_]: ... - @overload - def __add__(self: _BaseOffsetT, other: BaseOffset) -> _BaseOffsetT: ... - @overload - def __add__(self, other: _DatetimeT) -> _DatetimeT: ... - @overload - def __add__(self, other: _TimedeltaT) -> _TimedeltaT: ... - @overload - def __radd__(self, other: npt.NDArray[np.object_]) -> npt.NDArray[np.object_]: ... - @overload - def __radd__(self: _BaseOffsetT, other: BaseOffset) -> _BaseOffsetT: ... - @overload - def __radd__(self, other: _DatetimeT) -> _DatetimeT: ... - @overload - def __radd__(self, other: _TimedeltaT) -> _TimedeltaT: ... - def __sub__(self: _BaseOffsetT, other: BaseOffset) -> _BaseOffsetT: ... - @overload - def __rsub__(self, other: npt.NDArray[np.object_]) -> npt.NDArray[np.object_]: ... - @overload - def __rsub__(self: _BaseOffsetT, other: BaseOffset) -> _BaseOffsetT: ... - @overload - def __rsub__(self, other: _DatetimeT) -> _DatetimeT: ... - @overload - def __rsub__(self, other: _TimedeltaT) -> _TimedeltaT: ... - def __call__(self, other): ... - @overload - def __mul__(self, other: np.ndarray) -> np.ndarray: ... - @overload - def __mul__(self: _BaseOffsetT, other: int) -> _BaseOffsetT: ... - @overload - def __rmul__(self, other: np.ndarray) -> np.ndarray: ... - @overload - def __rmul__(self: _BaseOffsetT, other: int) -> _BaseOffsetT: ... - def __neg__(self: _BaseOffsetT) -> _BaseOffsetT: ... - def copy(self: _BaseOffsetT) -> _BaseOffsetT: ... - def __repr__(self) -> str: ... - @property - def name(self) -> str: ... - @property - def rule_code(self) -> str: ... - def freqstr(self) -> str: ... - def apply_index(self, dtindex: "DatetimeIndex") -> "DatetimeIndex": ... - def _apply_array(self, dtarr) -> None: ... - def rollback(self, dt: datetime) -> datetime: ... - def rollforward(self, dt: datetime) -> datetime: ... - def is_on_offset(self, dt: datetime) -> bool: ... - def __setstate__(self, state) -> None: ... - def __getstate__(self): ... - @property - def nanos(self) -> int: ... - def onOffset(self, dt: datetime) -> bool: ... - def isAnchored(self) -> bool: ... - def is_anchored(self) -> bool: ... - -def _get_offset(name: str) -> BaseOffset: ... - -class SingleConstructorOffset(BaseOffset): - @classmethod - def _from_name(cls, suffix=...): ... - def __reduce__(self): ... - -@overload -def to_offset(freq: None) -> None: ... -@overload -def to_offset(freq: timedelta | BaseOffset | str) -> BaseOffset: ... - -class Tick(SingleConstructorOffset): - def __init__(self, n: int = ..., normalize: bool = ...) -> None: ... - @property - def delta(self) -> Timedelta: ... - @property - def nanos(self) -> int: ... - -def delta_to_tick(delta: timedelta) -> Tick: ... - -class Day(Tick): ... -class Hour(Tick): ... -class Minute(Tick): ... -class Second(Tick): ... -class Milli(Tick): ... -class Micro(Tick): ... -class Nano(Tick): ... - -class RelativeDeltaOffset(BaseOffset): - def __init__(self, n: int = ..., normalize: bool = ..., **kwds: Any) -> None: ... - -class BusinessMixin(SingleConstructorOffset): - def __init__(self, n: int = ..., normalize: bool = ..., offset: timedelta = ...): ... - -class BusinessDay(BusinessMixin): ... - -class BusinessHour(BusinessMixin): - def __init__( - self, - n: int = ..., - normalize: bool = ..., - start: str | Collection[str] = ..., - end: str | Collection[str] = ..., - offset: timedelta = ..., - ): ... - -class WeekOfMonthMixin(SingleConstructorOffset): ... - -class YearOffset(SingleConstructorOffset): - def __init__(self, n: int = ..., normalize: bool = ..., month: int | None = ...): ... - -class BYearEnd(YearOffset): ... -class BYearBegin(YearOffset): ... -class YearEnd(YearOffset): ... -class YearBegin(YearOffset): ... - -class QuarterOffset(SingleConstructorOffset): - def __init__(self, n: int = ..., normalize: bool = ..., startingMonth: int | None = ...) -> None: ... - -class BQuarterEnd(QuarterOffset): ... -class BQuarterBegin(QuarterOffset): ... -class QuarterEnd(QuarterOffset): ... -class QuarterBegin(QuarterOffset): ... -class MonthOffset(SingleConstructorOffset): ... -class MonthEnd(MonthOffset): ... -class MonthBegin(MonthOffset): ... -class BusinessMonthEnd(MonthOffset): ... -class BusinessMonthBegin(MonthOffset): ... - -class SemiMonthOffset(SingleConstructorOffset): - def __init__(self, n: int = ..., normalize: bool = ..., day_of_month: int | None = ...) -> None: ... - -class SemiMonthEnd(SemiMonthOffset): ... -class SemiMonthBegin(SemiMonthOffset): ... - -class Week(SingleConstructorOffset): - def __init__(self, n: int = ..., normalize: bool = ..., weekday: int | None = ...) -> None: ... - -class WeekOfMonth(WeekOfMonthMixin): ... -class LastWeekOfMonth(WeekOfMonthMixin): ... - -class FY5253Mixin(SingleConstructorOffset): - def __init__( - self, - n: int = ..., - normalize: bool = ..., - weekday: int = ..., - startingMonth: int = ..., - variation: str = ..., - ) -> None: ... - -class FY5253(FY5253Mixin): ... -class FY5253Quarter(FY5253Mixin): ... -class Easter(SingleConstructorOffset): ... - -class _CustomBusinessMonth(BusinessMixin): - def __init__( - self, - n: int = ..., - normalize: bool = ..., - offset: timedelta = ..., - holidays: None | list = ..., - ): ... - -class CustomBusinessDay(BusinessDay): - def __init__( - self, - n: int = ..., - normalize: bool = ..., - offset: timedelta = ..., - weekmask: str = ..., - ): ... - -class CustomBusinessHour(BusinessHour): - def __init__( - self, - n: int = ..., - normalize: bool = ..., - start: str = ..., - end: str = ..., - offset: timedelta = ..., - holidays: None | list = ..., - ): ... - -class CustomBusinessMonthEnd(_CustomBusinessMonth): ... -class CustomBusinessMonthBegin(_CustomBusinessMonth): ... -class DateOffset(RelativeDeltaOffset): ... - -BDay = BusinessDay -BMonthEnd = BusinessMonthEnd -BMonthBegin = BusinessMonthBegin -CBMonthEnd = CustomBusinessMonthEnd -CBMonthBegin = CustomBusinessMonthBegin -CDay = CustomBusinessDay - -def roll_qtrday(other: datetime, n: int, month: int, day_opt: str, modby: int) -> int: ... - -INVALID_FREQ_ERR_MSG: Literal["Invalid frequency: {0}"] - -def shift_months(dtindex: npt.NDArray[np.int64], months: int, day_opt: str | None = ...) -> npt.NDArray[np.int64]: ... - -_offset_map: dict[str, BaseOffset] diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/parsing.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/parsing.pyi deleted file mode 100644 index 8c8d6786..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/parsing.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Any - -def parse_time_string(*args, **kwargs) -> Any: ... - -class DateParseError(ValueError): - def __init__(self, *args, **kwargs) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/period.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/period.pyi deleted file mode 100644 index 8a303099..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/period.pyi +++ /dev/null @@ -1,89 +0,0 @@ -from __future__ import annotations -from datetime import datetime -from typing import Any - -def is_period_object(obj: object) -> bool: ... -def get_period_ordinal(dts: datetime, freq: int) -> int: ... - -class IncompatibleFrequency(ValueError): ... - -class Period: - def __init__( - self, - value: Any = ..., - freqstr: Any = ..., - ordinal: Any = ..., - year: Any = ..., - month: int = ..., - quarter: Any = ..., - day: int = ..., - hour: int = ..., - minute: int = ..., - second: int = ..., - ) -> None: ... - def __add__(self, other) -> Period: ... - def __eq__(self, other) -> bool: ... - def __ge__(self, other) -> bool: ... - def __gt__(self, other) -> bool: ... - def __hash__(self) -> int: ... - def __le__(self, other) -> bool: ... - def __lt__(self, other) -> bool: ... - def __new__(cls, *args, **kwargs) -> Period: ... - def __ne__(self, other) -> bool: ... - def __radd__(self, other) -> Period: ... - def __reduce__(self, *args, **kwargs) -> Any: ... # what should this be? - def __repr__(self) -> str: ... - def __rsub__(self, other) -> Period: ... - def __setstate__(self, *args, **kwargs) -> Any: ... # what should this be? - def __str__(self) -> str: ... - @property - def day(self) -> int: ... - @property - def dayofweek(self) -> int: ... - @property - def dayofyear(self) -> int: ... - @property - def daysinmonth(self) -> int: ... - @property - def days_in_month(self) -> int: ... - @property - def end_time(self) -> Timestamp: ... - @property - def freq(self) -> Any: ... - @property - def freqstr(self) -> str: ... - @property - def hour(self) -> int: ... - @property - def minute(self) -> int: ... - @property - def month(self) -> int: ... - @property - def quarter(self) -> int: ... - @property - def qyear(self) -> int: ... - @property - def second(self) -> int: ... - @property - def ordinal(self) -> int: ... - @property - def is_leap_year(self) -> bool: ... - @property - def start_time(self) -> Timestamp: ... - @property - def week(self) -> int: ... - @property - def weekday(self) -> int: ... - @property - def weekofyear(self) -> int: ... - @property - def year(self) -> int: ... - # Static methods - @classmethod - def now(cls) -> Period: ... - # Methods - def asfreq(self, freq: str, how: str = ...) -> Period: ... - def strftime(self, fmt: str) -> str: ... - def to_timestamp(self, freq: str, how: str = ...) -> Timestamp: ... - -from .timestamps import Timestamp diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/strptime.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/strptime.pyi deleted file mode 100644 index 2e2c77e9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/strptime.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from typing import Any - -def array_strptime(*args, **kwargs) -> Any: ... \ No newline at end of file diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/timedeltas.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/timedeltas.pyi deleted file mode 100644 index 28c2f7db..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/timedeltas.pyi +++ /dev/null @@ -1,148 +0,0 @@ -from datetime import timedelta -from typing import ( - ClassVar, - Literal, - Type, - TypeVar, - overload, -) - -import numpy as np - -from pandas._libs.tslibs import ( - NaTType, - Tick, -) -from pandas._typing import npt - -# This should be kept consistent with the keys in the dict timedelta_abbrevs -# in pandas/_libs/tslibs/timedeltas.pyx -UnitChoices = Literal[ - "Y", - "y", - "M", - "W", - "w", - "D", - "d", - "days", - "day", - "hours", - "hour", - "hr", - "h", - "m", - "minute", - "min", - "minutes", - "t", - "s", - "seconds", - "sec", - "second", - "ms", - "milliseconds", - "millisecond", - "milli", - "millis", - "l", - "us", - "microseconds", - "microsecond", - "µs", - "micro", - "micros", - "u", - "ns", - "nanoseconds", - "nano", - "nanos", - "nanosecond", - "n", -] -_S = TypeVar("_S", bound=timedelta) - -def ints_to_pytimedelta( - arr: npt.NDArray[np.int64], # const int64_t[:] - box: bool = ..., -) -> npt.NDArray[np.object_]: ... -def array_to_timedelta64( - values: npt.NDArray[np.object_], - unit: str | None = ..., - errors: str = ..., -) -> np.ndarray: ... # np.ndarray[m8ns] -def parse_timedelta_unit(unit: str | None) -> UnitChoices: ... -def delta_to_nanoseconds(delta: np.timedelta64 | timedelta | Tick) -> int: ... - -class Timedelta(timedelta): - min: ClassVar[Timedelta] - max: ClassVar[Timedelta] - resolution: ClassVar[Timedelta] - value: int # np.int64 - def __new__( - cls: Type[_S], - value=..., - unit: str = ..., - **kwargs: int | float | np.integer | np.floating, - ) -> _S: ... - # GH 46171 - # While Timedelta can return pd.NaT, having the constructor return - # a Union with NaTType makes things awkward for users of pandas - @property - def days(self) -> int: ... - @property - def seconds(self) -> int: ... - @property - def microseconds(self) -> int: ... - def total_seconds(self) -> float: ... - def to_pytimedelta(self) -> timedelta: ... - def to_timedelta64(self) -> np.timedelta64: ... - @property - def asm8(self) -> np.timedelta64: ... - # TODO: round/floor/ceil could return NaT? - def round(self: _S, freq: str) -> _S: ... - def floor(self: _S, freq: str) -> _S: ... - def ceil(self: _S, freq: str) -> _S: ... - @property - def resolution_string(self) -> str: ... - def __add__(self, other: timedelta) -> Timedelta: ... - def __radd__(self, other: timedelta) -> Timedelta: ... - def __sub__(self, other: timedelta) -> Timedelta: ... - def __rsub__(self, other: timedelta) -> Timedelta: ... - def __neg__(self) -> Timedelta: ... - def __pos__(self) -> Timedelta: ... - def __abs__(self) -> Timedelta: ... - def __mul__(self, other: float) -> Timedelta: ... - def __rmul__(self, other: float) -> Timedelta: ... - # error: Signature of "__floordiv__" incompatible with supertype "timedelta" - @overload # type: ignore[override] - def __floordiv__(self, other: timedelta) -> int: ... - @overload - def __floordiv__(self, other: int | float) -> Timedelta: ... - @overload - def __floordiv__( - self, other: npt.NDArray[np.timedelta64] - ) -> npt.NDArray[np.intp]: ... - @overload - def __floordiv__( - self, other: npt.NDArray[np.number] - ) -> npt.NDArray[np.timedelta64] | Timedelta: ... - @overload - def __rfloordiv__(self, other: timedelta | str) -> int: ... - @overload - def __rfloordiv__(self, other: None | NaTType) -> NaTType: ... - @overload - def __rfloordiv__(self, other: np.ndarray) -> npt.NDArray[np.timedelta64]: ... - @overload - def __truediv__(self, other: timedelta) -> float: ... - @overload - def __truediv__(self, other: float) -> Timedelta: ... - def __mod__(self, other: timedelta) -> Timedelta: ... - def __divmod__(self, other: timedelta) -> tuple[int, Timedelta]: ... - def __le__(self, other: timedelta) -> bool: ... - def __lt__(self, other: timedelta) -> bool: ... - def __ge__(self, other: timedelta) -> bool: ... - def __gt__(self, other: timedelta) -> bool: ... - def __hash__(self) -> int: ... - def isoformat(self) -> str: ... - def to_numpy(self) -> np.timedelta64: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/timestamps.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/timestamps.pyi deleted file mode 100644 index 7e51a1cc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/timestamps.pyi +++ /dev/null @@ -1,193 +0,0 @@ -from datetime import ( - date as _date, - datetime, - time as _time, - timedelta, - tzinfo as _tzinfo, -) -from time import struct_time -from typing import ( - ClassVar, - TypeVar, - overload, -) - -import numpy as np - -from pandas._libs.tslibs import ( - BaseOffset, - NaTType, - Period, - Tick, - Timedelta, -) - -_DatetimeT = TypeVar("_DatetimeT", bound=datetime) - -def integer_op_not_supported(obj: object) -> TypeError: ... - -class Timestamp(datetime): - min: ClassVar[Timestamp] - max: ClassVar[Timestamp] - - resolution: ClassVar[Timedelta] - value: int # np.int64 - def __new__( - cls: type[_DatetimeT], - ts_input: int | np.integer | float | str | _date | datetime | np.datetime64 = ..., - freq: int | None | str | BaseOffset = ..., - tz: str | _tzinfo | None | int = ..., - unit: str | int | None = ..., - year: int | None = ..., - month: int | None = ..., - day: int | None = ..., - hour: int | None = ..., - minute: int | None = ..., - second: int | None = ..., - microsecond: int | None = ..., - nanosecond: int | None = ..., - tzinfo: _tzinfo | None = ..., - *, - fold: int | None = ..., - ) -> _DatetimeT: ... - # GH 46171 - # While Timestamp can return pd.NaT, having the constructor return - # a Union with NaTType makes things awkward for users of pandas - def _set_freq(self, freq: BaseOffset | None) -> None: ... - @property - def year(self) -> int: ... - @property - def month(self) -> int: ... - @property - def day(self) -> int: ... - @property - def hour(self) -> int: ... - @property - def minute(self) -> int: ... - @property - def second(self) -> int: ... - @property - def microsecond(self) -> int: ... - @property - def tzinfo(self) -> _tzinfo | None: ... - @property - def tz(self) -> _tzinfo | None: ... - @property - def fold(self) -> int: ... - @classmethod - def fromtimestamp(cls: type[_DatetimeT], t: float, tz: _tzinfo | None = ...) -> _DatetimeT: ... - @classmethod - def utcfromtimestamp(cls: type[_DatetimeT], t: float) -> _DatetimeT: ... - @classmethod - def today(cls: type[_DatetimeT], tz: _tzinfo | str | None = ...) -> _DatetimeT: ... - @classmethod - def fromordinal( - cls: type[_DatetimeT], - ordinal: int, - freq: str | BaseOffset | None = ..., - tz: _tzinfo | str | None = ..., - ) -> _DatetimeT: ... - @classmethod - def now(cls: type[_DatetimeT], tz: _tzinfo | str | None = ...) -> _DatetimeT: ... - @classmethod - def utcnow(cls: type[_DatetimeT]) -> _DatetimeT: ... - # error: Signature of "combine" incompatible with supertype "datetime" - @classmethod - def combine(cls, date: _date, time: _time) -> datetime: ... # type: ignore[override] - @classmethod - def fromisoformat(cls: type[_DatetimeT], date_string: str) -> _DatetimeT: ... - def strftime(self, format: str) -> str: ... - def __format__(self, fmt: str) -> str: ... - def toordinal(self) -> int: ... - def timetuple(self) -> struct_time: ... - def timestamp(self) -> float: ... - def utctimetuple(self) -> struct_time: ... - def date(self) -> _date: ... - def time(self) -> _time: ... - def timetz(self) -> _time: ... - def replace( - self, - year: int = ..., - month: int = ..., - day: int = ..., - hour: int = ..., - minute: int = ..., - second: int = ..., - microsecond: int = ..., - tzinfo: _tzinfo | None = ..., - fold: int = ..., - ) -> datetime: ... - def astimezone(self: _DatetimeT, tz: _tzinfo | None = ...) -> _DatetimeT: ... - def ctime(self) -> str: ... - def isoformat(self, sep: str = ..., timespec: str = ...) -> str: ... - @classmethod - def strptime(cls, date_string: str, format: str) -> datetime: ... - def utcoffset(self) -> timedelta | None: ... - def tzname(self) -> str | None: ... - def dst(self) -> timedelta | None: ... - def __le__(self, other: datetime) -> bool: ... # type: ignore - def __lt__(self, other: datetime) -> bool: ... # type: ignore - def __ge__(self, other: datetime) -> bool: ... # type: ignore - def __gt__(self, other: datetime) -> bool: ... # type: ignore - # error: Signature of "__add__" incompatible with supertype "date"/"datetime" - @overload # type: ignore[override] - def __add__(self, other: np.ndarray) -> np.ndarray: ... - @overload - def __add__(self: _DatetimeT, other: timedelta | np.timedelta64 | Tick) -> _DatetimeT: ... - def __radd__(self: _DatetimeT, other: timedelta) -> _DatetimeT: ... - @overload # type: ignore - def __sub__(self, other: datetime) -> Timedelta: ... - @overload - def __sub__(self: _DatetimeT, other: timedelta | np.timedelta64 | Tick) -> _DatetimeT: ... - def __hash__(self) -> int: ... - def weekday(self) -> int: ... - def isoweekday(self) -> int: ... - def isocalendar(self) -> tuple[int, int, int]: ... - @property - def is_leap_year(self) -> bool: ... - @property - def is_month_start(self) -> bool: ... - @property - def is_quarter_start(self) -> bool: ... - @property - def is_year_start(self) -> bool: ... - @property - def is_month_end(self) -> bool: ... - @property - def is_quarter_end(self) -> bool: ... - @property - def is_year_end(self) -> bool: ... - def to_pydatetime(self, warn: bool = ...) -> datetime: ... - def to_datetime64(self) -> np.datetime64: ... - def to_period(self, freq: BaseOffset | str | None = ...) -> Period: ... - def to_julian_date(self) -> np.float64: ... - @property - def asm8(self) -> np.datetime64: ... - def tz_convert(self: _DatetimeT, tz: _tzinfo | str | None) -> _DatetimeT: ... - # TODO: could return NaT? - def tz_localize( - self: _DatetimeT, - tz: _tzinfo | str | None, - ambiguous: str = ..., - nonexistent: str = ..., - ) -> _DatetimeT: ... - def normalize(self: _DatetimeT) -> _DatetimeT: ... - # TODO: round/floor/ceil could return NaT? - def round(self: _DatetimeT, freq: str, ambiguous: bool | str = ..., nonexistent: str = ...) -> _DatetimeT: ... - def floor(self: _DatetimeT, freq: str, ambiguous: bool | str = ..., nonexistent: str = ...) -> _DatetimeT: ... - def ceil(self: _DatetimeT, freq: str, ambiguous: bool | str = ..., nonexistent: str = ...) -> _DatetimeT: ... - def day_name(self, locale: str | None = ...) -> str: ... - def month_name(self, locale: str | None = ...) -> str: ... - @property - def day_of_week(self) -> int: ... - @property - def day_of_month(self) -> int: ... - @property - def day_of_year(self) -> int: ... - @property - def quarter(self) -> int: ... - @property - def week(self) -> int: ... - def to_numpy(self, dtype: np.dtype | None = ..., copy: bool = ...) -> np.datetime64: ... - @property - def _date_repr(self) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/tzconversion.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/tzconversion.pyi deleted file mode 100644 index 62deed99..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/tzconversion.pyi +++ /dev/null @@ -1,2 +0,0 @@ -def tz_convert_from_utc_single(val: int, tz: str) -> int: ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/vectorized.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/vectorized.pyi deleted file mode 100644 index e9956713..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/tslibs/vectorized.pyi +++ /dev/null @@ -1,18 +0,0 @@ -import numpy as np -from typing import List, Optional, Sequence -from .dtypes import Resolution - -def normalize_i8_timestamps(stamps: Sequence[int], tz: Optional[str] = ...) -> List[int]: ... -def is_date_array_normalized(stamps: Sequence[int], tz: Optional[str] = ...) -> bool: ... -def dt64arr_to_periodarr(stamps: Sequence[int], freq: int, tz: Optional[str] = ...) -> List[int]: ... - -def ints_to_pydatetime( - arr: Sequence[int], - tz: str = ..., - freq: str = ..., - fold: bool = ..., - box: str = ... -) -> np.ndarray: ... - -def get_resolution(stamps: Sequence[int], tz: Optional[str] = ...) -> Resolution: ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/window/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_libs/window/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_testing.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_testing.pyi deleted file mode 100644 index 57f463a3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_testing.pyi +++ /dev/null @@ -1,121 +0,0 @@ -from pandas.core.frame import DataFrame -from pandas.core.indexes.base import Index -from pandas.core.series import Series -from pandas._typing import FilePathOrBuffer as FilePathOrBuffer, FrameOrSeries as FrameOrSeries -from typing import Any, List, Optional, Union - -lzma = ... -N: int = ... -K: int = ... - -def set_testing_mode() -> None: ... -def reset_testing_mode() -> None: ... -def reset_display_options() -> None: ... -def round_trip_pickle(obj, path: Optional[FilePathOrBuffer]=...) -> FrameOrSeries: ... -def round_trip_pathlib(writer, reader, path: Optional[str]=...) : ... -def round_trip_localpath(writer, reader, path: Optional[str]=...) : ... -def decompress_file(path, compression) -> None: ... -def write_to_compressed(compression, path, data, dest: str = ...) -> None: ... -def assert_almost_equal(left, right, check_dtype: Union[bool, str]=..., check_less_precise: Union[bool, int]=..., **kwargs) : ... -def assert_dict_equal(left, right, compare_keys: bool=...) : ... -def randbool(size=..., p: float=...) : ... - -RANDS_CHARS = ... -RANDU_CHARS = ... - -def rands_array(nchars, size, dtype: str = ...): ... -def randu_array(nchars, size, dtype: str = ...): ... -def rands(nchars): ... -def randu(nchars): ... -def close(fignum = ...) -> None: ... -def ensure_clean(filename = ..., return_filelike: bool = ...) -> None: ... -def ensure_clean_dir() -> None: ... -def ensure_safe_environment_variables() -> None: ... -def equalContents(arr1, arr2) -> bool: ... -def assert_index_equal(left: Index[Any], right: Index[Any]) -> None: ... -def assert_class_equal(left, right, exact: Union[bool, str]=..., obj=...) : ... -def assert_attr_equal(attr, left, right, obj: str = ...): ... -def assert_is_valid_plot_return_object(objs) -> None: ... -def isiterable(obj) -> bool: ... -def assert_is_sorted(seq) -> None: ... -def assert_categorical_equal(left, right, check_dtype: bool = ..., check_category_order: bool = ..., obj: str = ...) -> None: ... -def assert_interval_array_equal(left, right, exact: str = ..., obj: str = ...) -> None: ... -def assert_period_array_equal(left, right, obj: str = ...) -> None: ... -def assert_datetime_array_equal(left, right, obj: str = ...) -> None: ... -def assert_timedelta_array_equal(left, right, obj: str = ...) -> None: ... -def raise_assert_detail(obj, message, left, right, diff = ...) -> None: ... -def assert_numpy_array_equal(left, right, strict_nan: bool = ..., check_dtype: bool = ..., err_msg = ..., check_same = ..., obj: str = ...): ... -def assert_extension_array_equal( - left, right, check_dtype: bool = ..., check_less_precise: bool = ..., check_exact: bool = ..., -) -> None: ... -def assert_series_equal(left: Series, right: Series, - check_dtype: bool = ..., - check_index_type: bool|str = ..., - check_series_type: bool = ..., - check_less_precise: bool|int = ..., - check_names : bool = ..., - check_exact: bool = ..., - check_datetimelike_compat: bool = ..., - check_categorical: bool = ..., - check_category_order: bool = ..., - check_freq: bool = ..., - check_flags: bool = ..., - rtol: float = ..., - atol: float = ..., - obj: str = ..., - *, - check_index: bool = ...) -> None: ... -def assert_frame_equal(left: DataFrame, right: DataFrame, check_like: Optional[bool] = ...) -> None: ... -def assert_equal(left, right, **kwargs) -> None: ... -def box_expected(expected, box_cls, transpose: bool = ...): ... -def to_array(obj): ... -def assert_sp_array_equal(left, right, check_dtype: bool = ..., check_kind: bool = ..., check_fill_value: bool = ..., consolidate_block_indices: bool = ...) -> None: ... -def assert_contains_all(iterable, dic) -> None: ... -def assert_copy(iter1, iter2, **eql_kwargs) -> None: ... -def getCols(k): ... -def makeStringIndex(k: int = ..., name = ...): ... -def makeUnicodeIndex(k: int = ..., name = ...): ... -def makeCategoricalIndex(k: int = ..., n: int = ..., name = ..., **kwargs): ... -def makeIntervalIndex(k: int = ..., name = ..., **kwargs): ... -def makeBoolIndex(k: int = ..., name = ...): ... -def makeIntIndex(k: int = ..., name = ...): ... -def makeUIntIndex(k: int = ..., name = ...): ... -def makeRangeIndex(k: int = ..., name = ..., **kwargs): ... -def makeFloatIndex(k: int = ..., name = ...): ... -def makeDateIndex(k: int = ..., freq: str = ..., name = ..., **kwargs): ... -def makeTimedeltaIndex(k: int = ..., freq: str = ..., name = ..., **kwargs): ... -def makePeriodIndex(k: int = ..., name = ..., **kwargs): ... -def makeMultiIndex(k: int = ..., names = ..., **kwargs): ... -def all_index_generator(k: int = ...) -> None: ... -def index_subclass_makers_generator() -> None: ... -def all_timeseries_index_generator(k: int = ...) -> None: ... -def makeFloatSeries(name = ...): ... -def makeStringSeries(name = ...): ... -def makeObjectSeries(name = ...): ... -def getSeriesData(): ... -def makeTimeSeries(nper = ..., freq: str = ..., name = ...): ... -def makePeriodSeries(nper = ..., name = ...): ... -def getTimeSeriesData(nper = ..., freq: str = ...): ... -def getPeriodData(nper = ...): ... -def makeTimeDataFrame(nper = ..., freq: str = ...): ... -def makeDataFrame(): ... -def getMixedTypeDict(): ... -def makeMixedDataFrame(): ... -def makePeriodFrame(nper = ...): ... -def makeCustomIndex(nentries, nlevels, prefix: str = ..., names: bool = ..., ndupe_l = ..., idx_type = ...): ... -def makeCustomDataframe(nrows, ncols, c_idx_names: bool = ..., r_idx_names: bool = ..., c_idx_nlevels: int = ..., r_idx_nlevels: int = ..., data_gen_f = ..., c_ndupe_l = ..., r_ndupe_l = ..., dtype = ..., c_idx_type = ..., r_idx_type = ...): ... -def makeMissingCustomDataframe(nrows, ncols, density: float = ..., random_state = ..., c_idx_names: bool = ..., r_idx_names: bool = ..., c_idx_nlevels: int = ..., r_idx_nlevels: int = ..., data_gen_f = ..., c_ndupe_l = ..., r_ndupe_l = ..., dtype = ..., c_idx_type = ..., r_idx_type = ...): ... -def makeMissingDataframe(density: float = ..., random_state = ...): ... -def optional_args(decorator): ... -def can_connect(url, error_classes = ...): ... -def network(t, url: str = ..., raise_on_error = ..., check_before_test: bool = ..., error_classes = ..., skip_errnos = ..., _skip_on_messages = ...): ... -with_connectivity_check = network - -def assert_produces_warning(expected_warning = ..., filter_level: str = ..., clear = ..., check_stacklevel: bool = ..., raise_on_extra_warnings: bool = ...) -> None: ... - -def with_csv_dialect(name, **kwargs) -> None: ... -def use_numexpr(use, min_elements = ...) -> None: ... -def test_parallel(num_threads: int = ..., kwargs_list = ...): ... - -def set_timezone(tz: str) : ... -def convert_rows_list_to_csv_str(rows_list: List[str]) : ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_typing.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_typing.pyi deleted file mode 100644 index d95170a2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_typing.pyi +++ /dev/null @@ -1,141 +0,0 @@ -import datetime -from io import BufferedIOBase, RawIOBase, TextIOBase, TextIOWrapper -from mmap import mmap -import numpy as np -from numpy import typing as npt -import sys -from os import PathLike -from pathlib import Path -from typing import ( - Any, - AnyStr, - Callable, - Collection, - Dict, - Hashable, - IO, - List, - Mapping, - NewType, - Optional, - Protocol, - Sequence, - Tuple, - Type, - TypeVar, - Union, -) - -from pandas.core.generic import NDFrame -from pandas._libs.tslibs import Period, Timedelta as Timedelta, Timestamp as Timestamp -from pandas.core.arrays import ExtensionArray as ExtensionArray -from pandas.core.series import Series as Series -from pandas.core.frame import DataFrame as DataFrame -from pandas.core.indexes.base import Index as Index -from pandas.core.dtypes.dtypes import ExtensionDtype - -if sys.version_info >= (3, 8): - from typing import Literal -else: - from typing_extensions import Literal - -ArrayLike = Union[ExtensionArray, np.ndarray] -AnyArrayLike = Union[Index, Series] -PythonScalar = Union[str, int, float, bool, complex] -DatetimeLikeScalar = TypeVar("DatetimeLikeScalar", Period, Timestamp, Timedelta) -PandasScalar = Union[bytes, datetime.date, datetime.datetime, datetime.timedelta] -# Scalar = Union[PythonScalar, PandasScalar] - -# dtypes -NpDtype = Union[str, np.dtype[np.generic], Type[Union[str, float, int, complex, bool, object]]] -Dtype = Union[ExtensionDtype, NpDtype] -AstypeArg = Union[ExtensionDtype, npt.DTypeLike] -# DtypeArg specifies all allowable dtypes in a functions its dtype argument -DtypeArg = Union[Dtype, Dict[Any, Dtype]] -DtypeObj = Union[np.dtype[np.generic], "ExtensionDtype"] - -# filenames and file-like-objects -AnyStr_cov = TypeVar("AnyStr_cov", str, bytes, covariant=True) -AnyStr_con = TypeVar("AnyStr_con", str, bytes, contravariant=True) - -class BaseBuffer(Protocol): ... -class ReadBuffer(BaseBuffer, Protocol[AnyStr_cov]): ... -class WriteBuffer(BaseBuffer, Protocol[AnyStr_cov]): ... - -FilePath = Union[str, PathLike[str]] - -Buffer = Union[IO[AnyStr], RawIOBase, BufferedIOBase, TextIOBase, TextIOWrapper, mmap] -FileOrBuffer = Union[str, Buffer[AnyStr]] -FilePathOrBuffer = Union["PathLike[str]", FileOrBuffer[AnyStr]] -FilePathOrBytesBuffer = Union[PathLike[str], WriteBuffer[bytes]] - -FrameOrSeries = TypeVar("FrameOrSeries", bound=NDFrame) -FrameOrSeriesUnion = Union[DataFrame, Series] -Axis = Union[str, int] -IndexLevel = Union[Hashable, Sequence[Hashable]] -Label = Optional[Hashable] -Level = Union[Hashable, int] -Ordered = Optional[bool] -JSONSerializable = Union[PythonScalar, List, Dict] -Axes = Collection -Renamer = Union[Mapping[Any, Label], Callable[[Any], Label]] -T = TypeVar("T") -FuncType = Callable[..., Any] -F = TypeVar("F", bound=FuncType) - -AggFuncTypeBase = Union[Callable, str] -AggFuncTypeDict = Dict[Hashable, Union[AggFuncTypeBase, List[AggFuncTypeBase]]] -AggFuncType = Union[ - AggFuncTypeBase, - List[AggFuncTypeBase], - AggFuncTypeDict, -] - -num = Union[int, float] -SeriesAxisType = Literal["index", 0] # Restricted subset of _AxisType for series -AxisType = Literal["columns", "index", 0, 1] -DtypeNp = TypeVar("DtypeNp", bound=np.dtype[np.generic]) -KeysArgType = Any -ListLike = TypeVar("ListLike", Sequence, np.ndarray, "Series") -StrLike = Union[str, np.str_] -Scalar = Union[str, bytes, datetime.date, datetime.datetime, datetime.timedelta, bool, int, float, complex, Timestamp, Timedelta] -# Refine the next 3 in 3.9 to use the specialized type. -np_ndarray_int64 = npt.NDArray[np.int64] -np_ndarray_bool = npt.NDArray[np.bool_] -np_ndarray_str = npt.NDArray[np.str_] -IndexType = Union[slice, np_ndarray_int64, Index, List[int], Series[int]] -MaskType = Union[Series[bool], np_ndarray_bool, Sequence[bool]] -# Scratch types for generics -S1 = TypeVar( - "S1", - str, - bytes, - datetime.date, - datetime.datetime, - datetime.timedelta, - bool, - int, - float, - complex, - Timestamp, - Timedelta, - np.datetime64, -) -T1 = TypeVar("T1", str, int, np.int64, np.uint64, np.float64, float, np.dtype[np.generic]) -T2 = TypeVar("T2", str, int) - -# Interval closed type - -IntervalClosedType = Literal["left", "right", "both", "neither"] - -DateTimeErrorChoices = Literal["ignore", "raise", "coerce"] - -# Shared by functions such as drop and astype -IgnoreRaise = Literal["ignore", "raise"] - -# for arbitrary kwargs passed during reading/writing files -StorageOptions = Optional[Dict[str, Any]] - -# compression keywords and compression -CompressionDict = Dict[str, Any] -CompressionOptions = Optional[Union[Literal["infer", "gzip", "bz2", "zip", "xz", "zstd"], CompressionDict]] diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_version.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_version.pyi deleted file mode 100644 index 7a5e4dea..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/_version.pyi +++ /dev/null @@ -1,3 +0,0 @@ -version_json: str = ... - -def get_versions(): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/api/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/api/__init__.pyi deleted file mode 100644 index 5cf1d78f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/api/__init__.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from . import ( - extensions as extensions, - indexers as indexers, - types as types) diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/api/extensions/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/api/extensions/__init__.pyi deleted file mode 100644 index 6ebc2ac6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/api/extensions/__init__.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from pandas._libs.lib import no_default as no_default -from pandas.core.accessor import register_dataframe_accessor as register_dataframe_accessor, register_index_accessor as register_index_accessor, register_series_accessor as register_series_accessor -from pandas.core.algorithms import take as take -from pandas.core.arrays import ExtensionArray as ExtensionArray, ExtensionScalarOpsMixin as ExtensionScalarOpsMixin -from pandas.core.dtypes.dtypes import ExtensionDtype as ExtensionDtype, register_extension_dtype as register_extension_dtype - - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/api/indexers/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/api/indexers/__init__.pyi deleted file mode 100644 index 65d13fb7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/api/indexers/__init__.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from pandas.core.indexers import check_array_indexer as check_array_indexer -from pandas.core.window.indexers import ( - BaseIndexer as BaseIndexer, - FixedForwardWindowIndexer as FixedForwardWindowIndexer, - VariableOffsetWindowIndexer as VariableOffsetWindowIndexer) - - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/api/types/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/api/types/__init__.pyi deleted file mode 100644 index 10bf3162..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/api/types/__init__.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from pandas.core.dtypes.api import * -from pandas._libs.lib import infer_dtype as infer_dtype -from pandas.core.dtypes.concat import union_categoricals as union_categoricals -from pandas.core.dtypes.dtypes import CategoricalDtype as CategoricalDtype, DatetimeTZDtype as DatetimeTZDtype, IntervalDtype as IntervalDtype, PeriodDtype as PeriodDtype - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/arrays/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/arrays/__init__.pyi deleted file mode 100644 index 2b08adcb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/arrays/__init__.pyi +++ /dev/null @@ -1,13 +0,0 @@ -from pandas.core.arrays import ( - BooleanArray as BooleanArray, - Categorical as Categorical, - DatetimeArray as DatetimeArray, - IntegerArray as IntegerArray, - IntervalArray as IntervalArray, - PandasArray as PandasArray, - PeriodArray as PeriodArray, - SparseArray as SparseArray, - StringArray as StringArray, - TimedeltaArray as TimedeltaArray -) - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/compat/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/compat/__init__.pyi deleted file mode 100644 index c6439946..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/compat/__init__.pyi +++ /dev/null @@ -1,10 +0,0 @@ -PY37 = ... -PY38 = ... -PYPY = ... - -def set_function_name(f, name, cls): ... -def is_platform_little_endian() -> bool: ... -def is_platform_windows() -> bool: ... -def is_platform_linux() -> bool: ... -def is_platform_mac() -> bool: ... -def is_platform_32bit() -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/compat/_optional.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/compat/_optional.pyi deleted file mode 100644 index a11e81bb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/compat/_optional.pyi +++ /dev/null @@ -1,3 +0,0 @@ -VERSIONS = ... - -def import_optional_dependency(name: str, extra: str=..., raise_on_missing: bool=..., on_version: str=...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/compat/numpy/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/compat/numpy/__init__.pyi deleted file mode 100644 index 4a365200..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/compat/numpy/__init__.pyi +++ /dev/null @@ -1,6 +0,0 @@ -import numpy as np - -_np_version: str = ... -_np_version_under1p16: bool = ... -_np_version_under1p17: bool = ... -_is_numpy_dev: bool = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/compat/pickle_compat.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/compat/pickle_compat.pyi deleted file mode 100644 index c96ec9bb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/compat/pickle_compat.pyi +++ /dev/null @@ -1,8 +0,0 @@ -import pickle as pkl -from pandas import DataFrame as DataFrame, Index as Index, Series as Series -from typing import Optional - -def load_reduce(self) -> None: ... -def load_newobj(self) -> None: ... -def load_newobj_ex(self) -> None: ... -def load(fh, encoding: Optional[str] = ..., is_verbose: bool = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/accessor.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/accessor.pyi deleted file mode 100644 index 4a323fdb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/accessor.pyi +++ /dev/null @@ -1,16 +0,0 @@ -from typing import Any - -class DirNamesMixin: - def __dir__(self): ... - -class PandasDelegate: ... - -def delegate_names(delegate: Any, accessors: Any, typ: str, overwrite: bool=...) -> Any: ... - -class CachedAccessor: - def __init__(self, name: str, accessor: Any) -> None: ... - def __get__(self, obj: Any, cls: Any): ... - -def register_dataframe_accessor(name: Any): ... -def register_series_accessor(name: Any): ... -def register_index_accessor(name: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/algorithms.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/algorithms.pyi deleted file mode 100644 index 16231a5f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/algorithms.pyi +++ /dev/null @@ -1,170 +0,0 @@ -from __future__ import annotations -import numpy as np -from pandas.core.dtypes.generic import ABCIndex as ABCIndex -from pandas.core.indexes.base import Index -from typing import Any, Tuple, Union - -def unique(values): ... -unique1d = unique - -def isin(comps, values) -> np.ndarray: ... -def factorize( - values: Any, sort: bool = ..., na_sentinel: int = ..., size_hint: Union[int, None] = None, -) -> Tuple[np.ndarray, Union[np.ndarray, Index]]: - """ -Encode the object as an enumerated type or categorical variable. - -This method is useful for obtaining a numeric representation of an -array when all that matters is identifying distinct values. `factorize` -is available as both a top-level function :func:`pandas.factorize`, -and as a method :meth:`Series.factorize` and :meth:`Index.factorize`. - -Parameters ----------- -values : sequence - A 1-D sequence. Sequences that aren't pandas objects are - coerced to ndarrays before factorization. -sort : bool, default False - Sort `uniques` and shuffle `codes` to maintain the - relationship. - -na_sentinel : int or None, default -1 - Value to mark "not found". If None, will not drop the NaN - from the uniques of the values. - - .. versionchanged:: 1.1.2 -size_hint : int, optional - Hint to the hashtable sizer. - -Returns -------- -codes : ndarray - An integer ndarray that's an indexer into `uniques`. - ``uniques.take(codes)`` will have the same values as `values`. -uniques : ndarray, Index, or Categorical - The unique valid values. When `values` is Categorical, `uniques` - is a Categorical. When `values` is some other pandas object, an - `Index` is returned. Otherwise, a 1-D ndarray is returned. - - .. note:: - - Even if there's a missing value in `values`, `uniques` will - *not* contain an entry for it. - -See Also --------- -cut : Discretize continuous-valued array. -unique : Find the unique value in an array. - -Notes ------ -Reference :ref:`the user guide ` for more examples. - -Examples --------- -These examples all show factorize as a top-level method like -``pd.factorize(values)``. The results are identical for methods like -:meth:`Series.factorize`. - ->>> codes, uniques = pd.factorize(['b', 'b', 'a', 'c', 'b']) ->>> codes -array([0, 0, 1, 2, 0]...) ->>> uniques -array(['b', 'a', 'c'], dtype=object) - -With ``sort=True``, the `uniques` will be sorted, and `codes` will be -shuffled so that the relationship is the maintained. - ->>> codes, uniques = pd.factorize(['b', 'b', 'a', 'c', 'b'], sort=True) ->>> codes -array([1, 1, 0, 2, 1]...) ->>> uniques -array(['a', 'b', 'c'], dtype=object) - -Missing values are indicated in `codes` with `na_sentinel` -(``-1`` by default). Note that missing values are never -included in `uniques`. - ->>> codes, uniques = pd.factorize(['b', None, 'a', 'c', 'b']) ->>> codes -array([ 0, -1, 1, 2, 0]...) ->>> uniques -array(['b', 'a', 'c'], dtype=object) - -Thus far, we've only factorized lists (which are internally coerced to -NumPy arrays). When factorizing pandas objects, the type of `uniques` -will differ. For Categoricals, a `Categorical` is returned. - ->>> cat = pd.Categorical(['a', 'a', 'c'], categories=['a', 'b', 'c']) ->>> codes, uniques = pd.factorize(cat) ->>> codes -array([0, 0, 1]...) ->>> uniques -['a', 'c'] -Categories (3, object): ['a', 'b', 'c'] - -Notice that ``'b'`` is in ``uniques.categories``, despite not being -present in ``cat.values``. - -For all other pandas objects, an Index of the appropriate type is -returned. - ->>> cat = pd.Series(['a', 'a', 'c']) ->>> codes, uniques = pd.factorize(cat) ->>> codes -array([0, 0, 1]...) ->>> uniques -Index(['a', 'c'], dtype='object') - -If NaN is in the values, and we want to include NaN in the uniques of the -values, it can be achieved by setting ``na_sentinel=None``. - ->>> values = np.array([1, 2, 1, np.nan]) ->>> codes, uniques = pd.factorize(values) # default: na_sentinel=-1 ->>> codes -array([ 0, 1, 0, -1]) ->>> uniques -array([1., 2.]) - ->>> codes, uniques = pd.factorize(values, na_sentinel=None) ->>> codes -array([0, 1, 0, 2]) ->>> uniques -array([ 1., 2., nan]) - """ - pass -def value_counts(values, sort: bool=..., ascending: bool=..., normalize: bool=..., bins=..., dropna: bool=...) -> Series: ... -def duplicated(values, keep=...) -> np.ndarray: ... -def mode(values, dropna: bool=...) -> Series: ... -def rank(values, axis: int=..., method: str=..., na_option: str=..., ascending: bool=..., pct: bool=...) : ... -def checked_add_with_arr(arr, b, arr_mask = ..., b_mask = ...): ... -def quantile(x, q, interpolation_method: str = ...): ... - -class SelectN: - obj = ... - n = ... - keep = ... - def __init__(self, obj, n: int, keep: str) -> None: ... - def nlargest(self): ... - def nsmallest(self): ... - @staticmethod - def is_valid_dtype_n_method(dtype) -> bool: ... - -class SelectNSeries(SelectN): - def compute(self, method): ... - -class SelectNFrame(SelectN): - columns = ... - def __init__(self, obj, n: int, keep: str, columns) -> None: ... - def compute(self, method): ... - -def take(arr, indices, axis: int=..., allow_fill: bool=..., fill_value=...) : ... -def take_nd(arr, indexer, axis: int=..., out=..., fill_value=..., allow_fill: bool=...) : ... -take_1d = take_nd - -def take_2d_multi(arr, indexer, fill_value = ...): ... -def searchsorted(arr, value, side: str = ..., sorter = ...): ... -def diff(arr, n: int, axis: int=..., stacklevel=...) : ... -def safe_sort(values, codes=..., na_sentinel: int=..., assume_unique: bool=..., verify: bool=...) -> Union[np.ndarray, Tuple[np.ndarray, np.ndarray]]: ... - -from pandas import Series as Series diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/api.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/api.pyi deleted file mode 100644 index 4501329a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/api.pyi +++ /dev/null @@ -1,52 +0,0 @@ -from pandas._libs import NaT as NaT, Period as Period, Timedelta as Timedelta -from pandas._libs.tslibs import Timestamp as Timestamp -from pandas._libs.missing import NA as NA -from pandas.core.arrays.boolean import BooleanDtype as BooleanDtype -from pandas.core.arrays.integer import ( - Int16Dtype as Int16Dtype, - Int32Dtype as Int32Dtype, - Int64Dtype as Int64Dtype, - Int8Dtype as Int8Dtype, - UInt16Dtype as UInt16Dtype, - UInt32Dtype as UInt32Dtype, - UInt64Dtype as UInt64Dtype, - UInt8Dtype as UInt8Dtype, -) -from pandas.core.arrays.string_ import StringDtype as StringDtype -from pandas.core.construction import array as array -from pandas.core.dtypes.dtypes import ( - CategoricalDtype as CategoricalDtype, - DatetimeTZDtype as DatetimeTZDtype, - IntervalDtype as IntervalDtype, - PeriodDtype as PeriodDtype, -) -from pandas.core.dtypes.missing import isna as isna, isnull as isnull, notna as notna, notnull as notnull -from pandas.core.indexes.datetimes import bdate_range as bdate_range, date_range as date_range -from pandas.core.tools import to_datetime as to_datetime -from pandas.core.tools.numeric import to_numeric as to_numeric -from pandas.core.tools.timedeltas import to_timedelta as to_timedelta -from pandas.io.formats.format import set_eng_float_format as set_eng_float_format -from pandas.core.indexes.interval import Interval as Interval, interval_range as interval_range -from pandas.core.indexes.period import period_range as period_range -from pandas.core.indexes.timedeltas import timedelta_range as timedelta_range -from pandas.core.arrays import Categorical as Categorical - -from pandas.core.groupby import Grouper as Grouper, NamedAgg as NamedAgg -from pandas.core.indexes.api import ( - CategoricalIndex as CategoricalIndex, - DatetimeIndex as DatetimeIndex, - Float64Index as Float64Index, - Index as Index, - Int64Index as Int64Index, - IntervalIndex as IntervalIndex, - MultiIndex as MultiIndex, - PeriodIndex as PeriodIndex, - RangeIndex as RangeIndex, - TimedeltaIndex as TimedeltaIndex, - UInt64Index as UInt64Index, -) -from pandas.core.indexing import IndexSlice as IndexSlice -from pandas.core.series import Series as Series -from pandas.core.frame import DataFrame as DataFrame -from pandas.tseries.offsets import DateOffset as DateOffset -from pandas.core.algorithms import factorize as factorize, unique as unique, value_counts as value_counts diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/apply.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/apply.pyi deleted file mode 100644 index 1b210e1b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/apply.pyi +++ /dev/null @@ -1,74 +0,0 @@ -from __future__ import annotations -import abc -from typing import Any, Dict, Iterator, Tuple, Union - -ResType = Dict[int, Any] - -def frame_apply(obj: DataFrame, func, axis=..., raw: bool=..., result_type=..., ignore_failures: bool=..., args=..., kwds=...) : ... - -class FrameApply(metaclass=abc.ABCMeta): - axis: int - @property - @abc.abstractmethod - def result_index(self) -> Index: ... - @property - @abc.abstractmethod - def result_columns(self) -> Index: ... - @property - @abc.abstractmethod - def series_generator(self) -> Iterator[Series]: ... - @abc.abstractmethod - def wrap_results_for_axis(self, results: ResType, res_index: Index) -> Union[Series, DataFrame]: ... - obj = ... - raw = ... - ignore_failures = ... - args = ... - kwds = ... - result_type = ... - f = ... - def __init__(self, obj: DataFrame, func, raw: bool, result_type, ignore_failures: bool, args, kwds): ... - @property - def res_columns(self) -> Index: ... - @property - def columns(self) -> Index: ... - @property - def index(self) -> Index: ... - def values(self): ... - def dtypes(self) -> Series: ... - @property - def agg_axis(self) -> Index: ... - def get_result(self): ... - def apply_empty_result(self): ... - def apply_raw(self): ... - def apply_broadcast(self, target: DataFrame) -> DataFrame: ... - def apply_standard(self): ... - def apply_series_generator(self) -> Tuple[ResType, Index]: ... - def wrap_results(self, results: ResType, res_index: Index) -> Union[Series, DataFrame]: ... - -class FrameRowApply(FrameApply): - axis: int = ... - def apply_broadcast(self, target: DataFrame) -> DataFrame: ... - @property - def series_generator(self): ... - @property - def result_index(self) -> Index: ... - @property - def result_columns(self) -> Index: ... - def wrap_results_for_axis(self, results: ResType, res_index: Index) -> DataFrame: ... - -class FrameColumnApply(FrameApply): - axis: int = ... - def apply_broadcast(self, target: DataFrame) -> DataFrame: ... - @property - def series_generator(self): ... - @property - def result_index(self) -> Index: ... - @property - def result_columns(self) -> Index: ... - def wrap_results_for_axis(self, results: ResType, res_index: Index) -> Union[Series, DataFrame]: ... - def infer_to_same_shape(self, results: ResType, res_index: Index) -> DataFrame: ... - - -from pandas.core.frame import DataFrame as DataFrame -from pandas.core.indexes.base import Index as Index -from pandas.core.series import Series as Series \ No newline at end of file diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arraylike.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arraylike.pyi deleted file mode 100644 index 2e30e442..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arraylike.pyi +++ /dev/null @@ -1,38 +0,0 @@ -from typing import Any, Protocol, Tuple -from pandas._typing import FrameOrSeries, DataFrame - -class OpsMixinProtocol(Protocol): ... - -class OpsMixin: - def __eq__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... # type: ignore - def __ne__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... # type: ignore - def __lt__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __le__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __gt__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __ge__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - # ------------------------------------------------------------- - # Logical Methods - def __and__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __rand__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __or__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __ror__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __xor__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __rxor__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - # ------------------------------------------------------------- - # Arithmetic Methods - def __add__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __radd__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __sub__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __rsub__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __mul__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __rmul__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __truediv__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __rtruediv__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __floordiv__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __rfloordiv__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __mod__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __rmod__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __divmod__(self: OpsMixinProtocol, other: DataFrame) -> Tuple[DataFrame, DataFrame]: ... - def __rdivmod__(self: OpsMixinProtocol, other: DataFrame) -> Tuple[DataFrame, DataFrame]: ... - def __pow__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... - def __rpow__(self: OpsMixinProtocol, other: Any) -> DataFrame: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/__init__.pyi deleted file mode 100644 index d5c0cab6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/__init__.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from .base import ( - ExtensionArray as ExtensionArray, - ExtensionOpsMixin as ExtensionOpsMixin, - ExtensionScalarOpsMixin as ExtensionScalarOpsMixin) -from .boolean import BooleanArray as BooleanArray -from .categorical import Categorical as Categorical -from .datetimes import DatetimeArray as DatetimeArray -from .integer import IntegerArray as IntegerArray, integer_array as integer_array -from .interval import IntervalArray as IntervalArray -from .numpy_ import PandasArray as PandasArray, PandasDtype as PandasDtype -from .period import PeriodArray as PeriodArray, period_array as period_array -from .sparse import SparseArray as SparseArray -from .string_ import StringArray as StringArray -from .timedeltas import TimedeltaArray as TimedeltaArray diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/_arrow_utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/_arrow_utils.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/_ranges.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/_ranges.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/base.pyi deleted file mode 100644 index 0631d2f4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/base.pyi +++ /dev/null @@ -1,39 +0,0 @@ -import numpy as np -from pandas._typing import ArrayLike as ArrayLike -from pandas.core.dtypes.dtypes import ExtensionDtype as ExtensionDtype -from pandas.core.dtypes.generic import ABCExtensionArray as ABCExtensionArray -from typing import Sequence, Tuple, Union - -def try_cast_to_ea(cls_or_instance, obj, dtype=...): ... - -class ExtensionArray: - def __getitem__(self, item) -> None: ... - def __setitem__(self, key: Union[int, slice, np.ndarray], value) -> None: ... - def __len__(self) -> int: ... - def __iter__(self): ... - def to_numpy(self, dtype=..., copy: bool = ..., na_value=...): ... - @property - def dtype(self) -> ExtensionDtype: ... - @property - def shape(self) -> Tuple[int, ...]: ... - @property - def ndim(self) -> int: ... - @property - def nbytes(self) -> int: ... - def astype(self, dtype, copy: bool = ...): ... - def isna(self) -> ArrayLike: ... - def argsort(self, ascending: bool = ..., kind: str = ..., *args, **kwargs) -> np.ndarray: ... - def fillna(self, value=..., method=..., limit=...): ... - def dropna(self): ... - def shift(self, periods: int = ..., fill_value: object = ...) -> ABCExtensionArray: ... - def unique(self): ... - def searchsorted(self, value, side: str = ..., sorter=...): ... - def factorize(self, na_sentinel: int = ...) -> Tuple[np.ndarray, ABCExtensionArray]: ... - def repeat(self, repeats, axis=...): ... - def take(self, indices: Sequence[int], allow_fill: bool = ..., fill_value=...) -> ABCExtensionArray: ... - def copy(self) -> ABCExtensionArray: ... - def view(self, dtype=...) -> Union[ABCExtensionArray, np.ndarray]: ... - def ravel(self, order=...) -> ABCExtensionArray: ... - -class ExtensionOpsMixin: ... -class ExtensionScalarOpsMixin(ExtensionOpsMixin): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/boolean.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/boolean.pyi deleted file mode 100644 index 5605f444..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/boolean.pyi +++ /dev/null @@ -1,30 +0,0 @@ -from __future__ import annotations -import numpy as np -from .masked import BaseMaskedArray as BaseMaskedArray -from pandas._typing import Scalar as Scalar -from pandas.core.dtypes.base import ExtensionDtype as ExtensionDtype -from typing import Type - -class BooleanDtype(ExtensionDtype): - name: str = ... - @property - def na_value(self) -> Scalar: ... - @property - def type(self) -> Type: ... - @property - def kind(self) -> str: ... - @classmethod - def construct_array_type(cls) -> Type[BooleanArray]: ... - def __from_arrow__(self, array): ... - -def coerce_to_array(values, mask=..., copy: bool=...) : ... - -class BooleanArray(BaseMaskedArray): - def __init__(self, values: np.ndarray, mask: np.ndarray, copy: bool=...) -> None: ... - @property - def dtype(self): ... - def __array_ufunc__(self, ufunc, method, *inputs, **kwargs): ... - def __setitem__(self, key, value) -> None: ... - def astype(self, dtype, copy: bool = ...): ... - def any(self, skipna: bool=..., **kwargs) : ... - def all(self, skipna: bool=..., **kwargs) : ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/categorical.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/categorical.pyi deleted file mode 100644 index f389db11..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/categorical.pyi +++ /dev/null @@ -1,162 +0,0 @@ -import numpy as np -from pandas._typing import ArrayLike as ArrayLike, Dtype as Dtype, Ordered as Ordered, Scalar as Scalar, np_ndarray_bool -from pandas.core.accessor import PandasDelegate as PandasDelegate -from pandas.core.arrays.base import ExtensionArray as ExtensionArray -from pandas.core.base import NoNewAttributesMixin as NoNewAttributesMixin -from pandas.core.base import PandasObject as PandasObject -from pandas.core.dtypes.dtypes import CategoricalDtype as CategoricalDtype -from pandas.core.indexes.base import Index -from typing import List, Literal, Optional, Sequence, Union, overload - -def contains(cat, key, container): ... - -class Categorical(ExtensionArray, PandasObject): - __array_priority__: int = ... - def __init__( - self, - values: Sequence, - categories=..., - ordered: Optional[bool] = ..., - dtype: Optional[CategoricalDtype] = ..., - fastpath: bool = ..., - ) -> None: ... - @property - def categories(self): ... - @categories.setter - def categories(self, categories) -> None: ... - @property - def ordered(self) -> Ordered: ... - @property - def dtype(self) -> CategoricalDtype: ... - def copy(self) -> Categorical: ... - def astype(self, dtype: Dtype, copy: bool = ...) -> ArrayLike: ... - def size(self) -> int: ... - def itemsize(self) -> int: ... - def tolist(self) -> List[Scalar]: ... - to_list = ... - @classmethod - def from_codes( - cls, - codes: Sequence[int], - categories: Optional[Index] = ..., - ordered: Optional[bool] = ..., - dtype: Optional[CategoricalDtype] = ..., - fastpath: bool = ..., - ) -> Categorical: ... - @property - def codes(self) -> List[int]: ... - @overload - def set_ordered(self, value, inplace: Literal[True]) -> None: ... - @overload - def set_ordered(self, value, inplace: Literal[False]) -> Categorical: ... - @overload - def set_ordered(self, value, inplace: bool) -> Union[None, Categorical]: ... - @overload - def as_ordered(self, inplace: Literal[True]) -> None: ... - @overload - def as_ordered(self, inplace: Literal[False]) -> Categorical: ... - @overload - def as_ordered(self, inplace: bool) -> Union[None, Categorical]: ... - @overload - def as_unordered(self, inplace: Literal[True]) -> None: ... - @overload - def as_unordered(self, inplace: Literal[False] = ...) -> Categorical: ... - @overload - def set_categories(self, new_categories, ordered=..., rename: bool = ..., *, inplace: Literal[True]) -> None: ... - @overload - def set_categories(self, new_categories, ordered=..., rename: bool = ..., inplace: Literal[False] = ...) -> Categorical: ... - @overload - def set_categories( - self, new_categories, ordered=..., rename: bool = ..., inplace: bool = ... - ) -> Union[None, Categorical]: ... - @overload - def rename_categories(self, new_categories, inplace: Literal[True]) -> None: ... - @overload - def rename_categories(self, new_categories, inplace: Literal[False] = ...) -> Categorical: ... - @overload - def rename_categories(self, new_categories, inplace: bool = ...) -> Union[None, Categorical]: ... - @overload - def reorder_categories(self, new_categories, ordered=..., *, inplace: Literal[True]) -> None: ... - @overload - def reorder_categories(self, new_categories, ordered=..., inplace: Literal[False] = ...) -> Categorical: ... - @overload - def reorder_categories(self, new_categories, ordered=..., inplace: bool = ...) -> Union[None, Categorical]: ... - @overload - def add_categories(self, new_categories, inplace: Literal[True]) -> None: ... - @overload - def add_categories(self, new_categories, inplace: Literal[False] = ...) -> Categorical: ... - @overload - def add_categories(self, new_categories, inplace: bool = ...) -> Union[None, Categorical]: ... - @overload - def remove_categories(self, removals, inplace: Literal[True]) -> None: ... - @overload - def remove_categories(self, removals, inplace: Literal[False] = ...) -> Categorical: ... - @overload - def remove_categories(self, removals, inplace: bool = ...) -> Union[None, Categorical]: ... - @overload - def remove_unused_categories(self, inplace: Literal[True]) -> None: ... - @overload - def remove_unused_categories(self, inplace: Literal[False] = ...) -> Categorical: ... - @overload - def remove_unused_categories(self, inplace: bool = ...) -> Union[None, Categorical]: ... - def map(self, mapper): ... - def __eq__(self, other) -> bool: ... - def __ne__(self, other) -> bool: ... - def __lt__(self, other) -> bool: ... - def __gt__(self, other) -> bool: ... - def __le__(self, other) -> bool: ... - def __ge__(self, other) -> bool: ... - @property - def shape(self): ... - def shift(self, periods, fill_value=...): ... - def __array__(self, dtype=...) -> np.ndarray: ... - def __array_ufunc__(self, ufunc, method, *inputs, **kwargs): ... - @property - def T(self): ... - @property - def nbytes(self) -> int: ... - def memory_usage(self, deep: bool = ...): ... - def searchsorted(self, value, side: str = ..., sorter=...): ... - def isna(self) -> np_ndarray_bool: ... - def isnull(self) -> np_ndarray_bool: ... - def notna(self) -> np_ndarray_bool: ... - def notnull(self) -> np_ndarray_bool: ... - def put(self, *args, **kwargs) -> None: ... - def dropna(self): ... - def value_counts(self, dropna: bool = ...): ... - def check_for_ordered(self, op) -> None: ... - def argsort(self, ascending: bool = ..., kind: str = ..., *args, **kwargs): ... - def sort_values(self, inplace: bool = ..., ascending: bool = ..., na_position: str = ...): ... - def view(self, dtype=...): ... - def to_dense(self): ... - def fillna(self, value=..., method=..., limit=...): ... - def take(self, indexer, allow_fill: bool = ..., fill_value=...): ... - def take_nd(self, indexer, allow_fill: bool = ..., fill_value=...): ... - def __len__(self) -> int: ... - def __iter__(self): ... - def __contains__(self, key) -> bool: ... - def __getitem__(self, key): ... - def __setitem__(self, key, value) -> None: ... - def min(self, skipna: bool = ...): ... - def max(self, skipna: bool = ...): ... - def mode(self, dropna: bool = ...): ... - def unique(self): ... - def equals(self, other): ... - def is_dtype_equal(self, other): ... - def describe(self): ... - def repeat(self, repeats, axis=...): ... - def isin(self, values): ... - @overload - def replace(self, to_replace, value, inplace: Literal[True]) -> None: ... - @overload - def replace(self, to_replace, value, inplace: Literal[False]) -> Categorical: ... - @overload - def replace(self, to_replace, value, inplace: bool = ...) -> Union[None, Categorical]: ... - -class CategoricalAccessor(PandasDelegate, PandasObject, NoNewAttributesMixin): - def __init__(self, data) -> None: ... - @property - def codes(self) -> Sequence[int]: ... - -def factorize_from_iterable(values): ... -def factorize_from_iterables(iterables): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/datetimelike.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/datetimelike.pyi deleted file mode 100644 index 54195673..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/datetimelike.pyi +++ /dev/null @@ -1,81 +0,0 @@ -import numpy as np -from pandas._libs import NaT as NaT, NaTType as NaTType, Timestamp as Timestamp -from pandas.core.arrays.base import ExtensionArray as ExtensionArray, ExtensionOpsMixin as ExtensionOpsMixin -from typing import Sequence, Union - -class AttributesMixin: ... - -class DatelikeOps: - def strftime(self, date_format): ... - -class TimelikeOps: - def round(self, freq, ambiguous: str = ..., nonexistent: str = ...): ... - def floor(self, freq, ambiguous: str = ..., nonexistent: str = ...): ... - def ceil(self, freq, ambiguous: str = ..., nonexistent: str = ...): ... - -class DatetimeLikeArrayMixin(ExtensionOpsMixin, AttributesMixin, ExtensionArray): - @property - def ndim(self) -> int: ... - @property - def shape(self): ... - def reshape(self, *args, **kwargs): ... - def ravel(self, *args, **kwargs): ... - def __iter__(self): ... - @property - def asi8(self) -> np.ndarray: ... - @property - def nbytes(self): ... - def __array__(self, dtype=...) -> np.ndarray: ... - @property - def size(self) -> int: ... - def __len__(self) -> int: ... - def __getitem__(self, key): ... - def __setitem__(self, key: Union[int, Sequence[int], Sequence[bool], slice], value) -> None: ... # type: ignore[override] - def astype(self, dtype, copy: bool = ...): ... - def view(self, dtype=...): ... - def unique(self): ... - def take(self, indices, allow_fill: bool = ..., fill_value=...): ... - def copy(self): ... - def shift(self, periods: int = ..., fill_value=..., axis: int = ...): ... - def searchsorted(self, value, side: str = ..., sorter=...): ... - def repeat(self, repeats, *args, **kwargs): ... - def value_counts(self, dropna: bool = ...): ... - def map(self, mapper): ... - def isna(self): ... - def fillna(self, value=..., method=..., limit=...): ... - @property - def freq(self): ... - @freq.setter - def freq(self, value) -> None: ... - @property - def freqstr(self): ... - @property - def inferred_freq(self): ... - @property - def resolution(self): ... - __pow__ = ... - __rpow__ = ... - __mul__ = ... - __rmul__ = ... - __truediv__ = ... - __rtruediv__ = ... - __floordiv__ = ... - __rfloordiv__ = ... - __mod__ = ... - __rmod__ = ... - __divmod__ = ... - __rdivmod__ = ... - def __add__(self, other): ... - def __radd__(self, other): ... - def __sub__(self, other): ... - def __rsub__(self, other): ... - def __iadd__(self, other): ... - def __isub__(self, other): ... - def min(self, axis=..., skipna: bool = ..., *args, **kwargs): ... - def max(self, axis=..., skipna: bool = ..., *args, **kwargs): ... - def mean(self, skipna: bool = ...): ... - -def validate_periods(periods): ... -def validate_endpoints(closed): ... -def validate_inferred_freq(freq, inferred_freq, freq_infer): ... -def maybe_infer_freq(freq): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/datetimes.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/datetimes.pyi deleted file mode 100644 index 68d061f7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/datetimes.pyi +++ /dev/null @@ -1,67 +0,0 @@ -import numpy as np -from pandas.core.arrays import datetimelike as dtl -from pandas.core.dtypes.dtypes import DatetimeTZDtype as DatetimeTZDtype -from typing import Union - -def tz_to_dtype(tz): ... - -class DatetimeArray(dtl.DatetimeLikeArrayMixin, dtl.TimelikeOps, dtl.DatelikeOps): - __array_priority__: int = ... - def __init__(self, values, dtype = ..., freq = ..., copy: bool = ...) -> None: ... - @property - def dtype(self) -> Union[np.dtype, DatetimeTZDtype]: ... - @property - def tz(self): ... - @tz.setter - def tz(self, value) -> None: ... - @property - def tzinfo(self): ... - @property - def is_normalized(self): ... - def __array__(self, dtype=...) -> np.ndarray: ... - def __iter__(self) : ... - def astype(self, dtype, copy: bool = ...): ... - def tz_convert(self, tz): ... - def tz_localize(self, tz, ambiguous: str = ..., nonexistent: str = ...): ... - def to_pydatetime(self): ... - def normalize(self): ... - def to_period(self, freq = ...): ... - def to_perioddelta(self, freq): ... - def month_name(self, locale = ...): ... - def day_name(self, locale = ...): ... - @property - def time(self): ... - @property - def timetz(self): ... - @property - def date(self): ... - year = ... - month = ... - day = ... - hour = ... - minute = ... - second = ... - microsecond = ... - nanosecond = ... - weekofyear = ... - week = ... - dayofweek = ... - weekday = ... - dayofyear = ... - quarter = ... - days_in_month = ... - daysinmonth = ... - is_month_start = ... - is_month_end = ... - is_quarter_start = ... - is_quarter_end = ... - is_year_start = ... - is_year_end = ... - is_leap_year = ... - def to_julian_date(self): ... - -def sequence_to_dt64ns(data, dtype = ..., copy: bool = ..., tz = ..., dayfirst: bool = ..., yearfirst: bool = ..., ambiguous: str = ...): ... -def objects_to_datetime64ns(data, dayfirst, yearfirst, utc: bool = ..., errors: str = ..., require_iso8601: bool = ..., allow_object: bool = ...): ... -def maybe_convert_dtype(data, copy): ... -def maybe_infer_tz(tz, inferred_tz): ... -def validate_tz_from_dtype(dtype, tz): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/integer.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/integer.pyi deleted file mode 100644 index bac9f6a8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/integer.pyi +++ /dev/null @@ -1,52 +0,0 @@ -from .masked import BaseMaskedArray as BaseMaskedArray -from pandas.core.dtypes.base import ExtensionDtype as ExtensionDtype -from typing import Type - -class _IntegerDtype(ExtensionDtype): - name: str - base = ... - type: Type - na_value = ... - def is_signed_integer(self): ... - def is_unsigned_integer(self): ... - def numpy_dtype(self): ... - def kind(self): ... - def itemsize(self): ... - @classmethod - def construct_array_type(cls): ... - def __from_arrow__(self, array): ... - -def integer_array(values, dtype = ..., copy: bool = ...): ... -def safe_cast(values, dtype, copy): ... -def coerce_to_array(values, dtype, mask = ..., copy: bool = ...): ... - -class IntegerArray(BaseMaskedArray): - def dtype(self): ... - def __init__(self, values, mask, copy: bool = ...) -> None: ... - def __array_ufunc__(self, ufunc, method, *inputs, **kwargs): ... - def __setitem__(self, key, value) -> None: ... - def astype(self, dtype, copy: bool = ...): ... - -class Int8Dtype: - ... - -class Int16Dtype: - ... - -class Int32Dtype: - ... - -class Int64Dtype: - ... - -class UInt8Dtype: - ... - -class UInt16Dtype: - ... - -class UInt32Dtype: - ... - -class UInt64Dtype: - ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/interval.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/interval.pyi deleted file mode 100644 index 7e27ef40..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/interval.pyi +++ /dev/null @@ -1,61 +0,0 @@ -from __future__ import annotations -import numpy as np -from pandas._libs.interval import ( - Interval as Interval, - IntervalMixin as IntervalMixin, -) -from pandas.core.arrays.base import ExtensionArray as ExtensionArray -from pandas.core.dtypes.generic import ABCExtensionArray as ABCExtensionArray -from pandas._typing import Axis, Scalar, Index as Index -from typing import Optional - -class IntervalArray(IntervalMixin, ExtensionArray): - ndim: int = ... - can_hold_na: bool = ... - def __new__(cls, data, closed=..., dtype=..., copy: bool = ..., verify_integrity: bool = ...): ... - @classmethod - def from_breaks(cls, breaks, closed: str = ..., copy: bool = ..., dtype=...): ... - @classmethod - def from_arrays(cls, left, right, closed: str = ..., copy: bool = ..., dtype=...): ... - @classmethod - def from_tuples(cls, data, closed: str = ..., copy: bool = ..., dtype=...): ... - def __iter__(self): ... - def __len__(self) -> int: ... - def __getitem__(self, value): ... - def __setitem__(self, key, value) -> None: ... - def __eq__(self, other): ... - def __ne__(self, other): ... - def fillna(self, value=..., method=..., limit=...): ... - @property - def dtype(self): ... - def astype(self, dtype, copy: bool = ...): ... - def copy(self): ... - def isna(self): ... - @property - def nbytes(self) -> int: ... - @property - def size(self) -> int: ... - def shift(self, periods: int = ..., fill_value: object = ...) -> ABCExtensionArray: ... - def take(self, indices, allow_fill: bool = ..., fill_value=..., axis=..., **kwargs): ... - def value_counts(self, dropna: bool = ...): ... - @property - def left(self) -> Index: ... - @property - def right(self) -> Index: ... - @property - def closed(self) -> bool: ... - def set_closed(self, closed): ... - @property - def length(self) -> Index: ... - @property - def mid(self) -> Index: ... - @property - def is_non_overlapping_monotonic(self) -> bool: ... - def __array__(self, dtype=...) -> np.ndarray: ... - def __arrow_array__(self, type=...): ... - def to_tuples(self, na_tuple: bool = ...): ... - def repeat(self, repeats, axis: Optional[Axis] = ...): ... - def contains(self, other): ... - def overlaps(self, other: Interval) -> bool: ... - -def maybe_convert_platform_interval(values): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/masked.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/masked.pyi deleted file mode 100644 index 114eef7b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/masked.pyi +++ /dev/null @@ -1,19 +0,0 @@ -import numpy as np -from pandas._typing import Scalar as Scalar -from pandas.core.arrays import ExtensionArray as ExtensionArray, ExtensionOpsMixin as ExtensionOpsMixin - -class BaseMaskedArray(ExtensionArray, ExtensionOpsMixin): - def __getitem__(self, item): ... - def __iter__(self) : ... - def __len__(self) -> int: ... - def __invert__(self): ... - def to_numpy(self, dtype=..., copy=..., na_value: Scalar=...) : ... - __array_priority__: int = ... - def __array__(self, dtype=...) -> np.ndarray: ... - def __arrow_array__(self, type = ...): ... - def isna(self): ... - @property - def nbytes(self) -> int: ... - def take(self, indexer, allow_fill: bool = ..., fill_value = ...): ... - def copy(self): ... - def value_counts(self, dropna: bool = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/numpy_.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/numpy_.pyi deleted file mode 100644 index 2f1653af..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/numpy_.pyi +++ /dev/null @@ -1,56 +0,0 @@ -import numpy as np -from numpy.lib.mixins import NDArrayOperatorsMixin -from pandas.core.arrays.base import ExtensionArray as ExtensionArray, ExtensionOpsMixin as ExtensionOpsMixin -from pandas.core.dtypes.dtypes import ExtensionDtype as ExtensionDtype -from typing import Union - -class PandasDtype(ExtensionDtype): - def __init__(self, dtype) -> None: ... - @property - def numpy_dtype(self): ... - @property - def name(self): ... - @property - def type(self): ... - @classmethod - def construct_from_string(cls, string): ... - @classmethod - def construct_array_type(cls): ... - @property - def kind(self): ... - @property - def itemsize(self): ... - -class PandasArray(ExtensionArray, ExtensionOpsMixin, NDArrayOperatorsMixin): - __array_priority__: int = ... - def __init__(self, values: Union[np.ndarray, PandasArray], copy: bool=...) -> None: ... - @property - def dtype(self): ... - def __array__(self, dtype=...) -> np.ndarray: ... - def __array_ufunc__(self, ufunc, method, *inputs, **kwargs): ... - def __getitem__(self, item): ... - def __setitem__(self, key, value) -> None: ... - def __len__(self) -> int: ... - @property - def nbytes(self) -> int: ... - def isna(self): ... - def fillna(self, value = ..., method = ..., limit = ...): ... - def take(self, indices, allow_fill: bool = ..., fill_value = ...): ... - def copy(self): ... - def unique(self): ... - def any(self, axis = ..., out = ..., keepdims: bool = ..., skipna: bool = ...): ... - def all(self, axis = ..., out = ..., keepdims: bool = ..., skipna: bool = ...): ... - def min(self, axis = ..., out = ..., keepdims: bool = ..., skipna: bool = ...): ... - def max(self, axis = ..., out = ..., keepdims: bool = ..., skipna: bool = ...): ... - def sum(self, axis = ..., dtype = ..., out = ..., keepdims: bool = ..., initial = ..., skipna: bool = ..., min_count: int = ...): ... - def prod(self, axis = ..., dtype = ..., out = ..., keepdims: bool = ..., initial = ..., skipna: bool = ..., min_count: int = ...): ... - def mean(self, axis = ..., dtype = ..., out = ..., keepdims: bool = ..., skipna: bool = ...): ... - def median(self, axis = ..., out = ..., overwrite_input: bool = ..., keepdims: bool = ..., skipna: bool = ...): ... - def std(self, axis = ..., dtype = ..., out = ..., ddof: int = ..., keepdims: bool = ..., skipna: bool = ...): ... - def var(self, axis = ..., dtype = ..., out = ..., ddof: int = ..., keepdims: bool = ..., skipna: bool = ...): ... - def sem(self, axis = ..., dtype = ..., out = ..., ddof: int = ..., keepdims: bool = ..., skipna: bool = ...): ... - def kurt(self, axis = ..., dtype = ..., out = ..., keepdims: bool = ..., skipna: bool = ...): ... - def skew(self, axis = ..., dtype = ..., out = ..., keepdims: bool = ..., skipna: bool = ...): ... - def to_numpy(self, dtype = ..., copy: bool = ..., na_value = ...): ... - def searchsorted(self, value, side: str = ..., sorter = ...): ... - def __invert__(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/period.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/period.pyi deleted file mode 100644 index c30b0f59..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/period.pyi +++ /dev/null @@ -1,43 +0,0 @@ -import numpy as np -from pandas._libs.tslibs import Timestamp -from pandas._libs.tslibs.period import Period as Period -from pandas.core.arrays import datetimelike as dtl -from pandas.tseries.offsets import Tick as Tick -from typing import Optional, Sequence, Union - -class PeriodArray(dtl.DatetimeLikeArrayMixin, dtl.DatelikeOps): - __array_priority__: int = ... - def __init__(self, values, freq = ..., dtype = ..., copy: bool = ...) -> None: ... - def dtype(self): ... - def __array__(self, dtype=...) -> np.ndarray: ... - def __arrow_array__(self, type = ...): ... - year: int = ... - month: int = ... - day: int = ... - hour: int = ... - minute: int = ... - second: int = ... - weekofyear: int = ... - week: int = ... - dayofweek: int = ... - weekday: int = ... - dayofyear: int = ... - day_of_year = ... - quarter: int = ... - qyear: int = ... - days_in_month: int = ... - daysinmonth: int = ... - @property - def is_leap_year(self) -> bool: ... - @property - def start_time(self) -> Timestamp: ... - @property - def end_time(self) -> Timestamp: ... - def to_timestamp(self, freq: Optional[str] = ..., how: str = ...) -> Timestamp: ... - def asfreq(self, freq: Optional[str] = ..., how: str = ...) -> Period: ... - def astype(self, dtype, copy: bool = ...): ... - -def raise_on_incompatible(left, right): ... -def period_array(data: Sequence[Optional[Period]], freq: Optional[Union[str, Tick]]=..., copy: bool=...) -> PeriodArray: ... -def validate_dtype_freq(dtype, freq): ... -def dt64arr_to_periodarr(data, freq, tz = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/__init__.pyi deleted file mode 100644 index 1195daaf..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/__init__.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from .accessor import SparseAccessor as SparseAccessor, SparseFrameAccessor as SparseFrameAccessor -from .array import BlockIndex as BlockIndex, IntIndex as IntIndex, SparseArray as SparseArray -from .dtype import SparseDtype as SparseDtype diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/accessor.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/accessor.pyi deleted file mode 100644 index bad4cbfe..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/accessor.pyi +++ /dev/null @@ -1,22 +0,0 @@ -from pandas.compat._optional import import_optional_dependency as import_optional_dependency -from pandas.core.accessor import PandasDelegate as PandasDelegate, delegate_names as delegate_names -from pandas.core.arrays.sparse.array import SparseArray as SparseArray -from pandas.core.arrays.sparse.dtype import SparseDtype as SparseDtype -from pandas.core.dtypes.cast import find_common_type as find_common_type - -class BaseAccessor: - def __init__(self, data = ...) -> None: ... - -class SparseAccessor(BaseAccessor, PandasDelegate): - @classmethod - def from_coo(cls, A, dense_index: bool = ...): ... - def to_coo(self, row_levels = ..., column_levels = ..., sort_labels: bool = ...): ... - def to_dense(self): ... - -class SparseFrameAccessor(BaseAccessor, PandasDelegate): - @classmethod - def from_spmatrix(cls, data, index = ..., columns = ...): ... - def to_dense(self): ... - def to_coo(self): ... - @property - def density(self) -> float: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/array.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/array.pyi deleted file mode 100644 index fe52eb49..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/array.pyi +++ /dev/null @@ -1,84 +0,0 @@ -import numpy as np -from pandas._libs.sparse import BlockIndex as BlockIndex, IntIndex as IntIndex, SparseIndex as SparseIndex -from pandas._libs.tslibs import NaT as NaT -from pandas.core.arrays import ExtensionArray as ExtensionArray, ExtensionOpsMixin as ExtensionOpsMixin -from pandas.core.arrays.sparse.dtype import SparseDtype as SparseDtype -from pandas.core.base import PandasObject as PandasObject -from pandas.core.construction import sanitize_array as sanitize_array -from pandas.core.dtypes.cast import ( - astype_nansafe as astype_nansafe, - construct_1d_arraylike_from_scalar as construct_1d_arraylike_from_scalar, - find_common_type as find_common_type, - infer_dtype_from_scalar as infer_dtype_from_scalar, -) -from pandas.core.dtypes.common import ( - is_array_like as is_array_like, - is_bool_dtype as is_bool_dtype, - is_datetime64_any_dtype as is_datetime64_any_dtype, - is_dtype_equal as is_dtype_equal, - is_integer as is_integer, - is_object_dtype as is_object_dtype, - is_scalar as is_scalar, - is_string_dtype as is_string_dtype, - pandas_dtype as pandas_dtype, -) -from pandas.core.dtypes.generic import ABCIndexClass as ABCIndexClass, ABCSeries as ABCSeries, ABCSparseArray as ABCSparseArray -from pandas.core.dtypes.missing import isna as isna, na_value_for_dtype as na_value_for_dtype, notna as notna -from pandas.core.indexers import check_array_indexer as check_array_indexer -from pandas.core.missing import interpolate_2d as interpolate_2d -from pandas.core.ops.common import unpack_zerodim_and_defer as unpack_zerodim_and_defer -from pandas.errors import PerformanceWarning as PerformanceWarning - -class SparseArray(PandasObject, ExtensionArray, ExtensionOpsMixin): - def __init__( - self, data, sparse_index=..., index=..., fill_value=..., kind: str = ..., dtype=..., copy: bool = ... - ) -> None: ... - @classmethod - def from_spmatrix(cls, data): ... - def __array__(self, dtype=..., copy=...) -> np.ndarray: ... - def __setitem__(self, key, value) -> None: ... - @property - def sp_index(self): ... - @property - def sp_values(self): ... - @property - def dtype(self): ... - @property - def fill_value(self): ... - @fill_value.setter - def fill_value(self, value) -> None: ... - @property - def kind(self) -> str: ... - def __len__(self) -> int: ... - @property - def nbytes(self) -> int: ... - @property - def density(self): ... - @property - def npoints(self) -> int: ... - def isna(self): ... - def fillna(self, value=..., method=..., limit=...): ... - def shift(self, periods: int = ..., fill_value=...): ... - def unique(self): ... - def factorize(self, na_sentinel: int = ...): ... - def value_counts(self, dropna: bool = ...): ... - def __getitem__(self, key): ... - def take(self, indices, allow_fill: bool = ..., fill_value=...): ... - def searchsorted(self, v, side: str = ..., sorter=...): ... - def copy(self): ... - def astype(self, dtype=..., copy: bool = ...): ... - def map(self, mapper): ... - def to_dense(self): ... - def nonzero(self): ... - def all(self, axis=..., *args, **kwargs): ... - def any(self, axis: int = ..., *args, **kwargs): ... - def sum(self, axis: int = ..., *args, **kwargs): ... - def cumsum(self, axis: int = ..., *args, **kwargs): ... - def mean(self, axis: int = ..., *args, **kwargs): ... - def transpose(self, *axes): ... - @property - def T(self): ... - def __array_ufunc__(self, ufunc, method, *inputs, **kwargs): ... - def __abs__(self): ... - -def make_sparse(arr, kind: str = ..., fill_value=..., dtype=..., copy: bool = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/dtype.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/dtype.pyi deleted file mode 100644 index 674ea098..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/dtype.pyi +++ /dev/null @@ -1,31 +0,0 @@ -# merged types from pylance - -from pandas._typing import Dtype as Dtype, Scalar -from pandas.core.dtypes.base import ExtensionDtype as ExtensionDtype -from pandas.core.dtypes.cast import astype_nansafe as astype_nansafe -from pandas.core.dtypes.common import is_bool_dtype as is_bool_dtype, is_object_dtype as is_object_dtype, is_scalar as is_scalar, is_string_dtype as is_string_dtype, pandas_dtype as pandas_dtype -from pandas.core.dtypes.dtypes import register_extension_dtype as register_extension_dtype -from pandas.core.dtypes.missing import isna as isna, na_value_for_dtype as na_value_for_dtype -from typing import Optional - -class SparseDtype(ExtensionDtype): - def __init__(self, dtype: Dtype=..., fill_value: Optional[Scalar]=...) -> None: ... - def __hash__(self) : ... - def __eq__(self, other) -> bool: ... - @property - def fill_value(self): ... - @property - def kind(self): ... - @property - def type(self): ... - @property - def subtype(self): ... - @property - def name(self): ... - @classmethod - def construct_array_type(cls): ... - @classmethod - def construct_from_string(cls, string): ... - @classmethod - def is_dtype(cls, dtype): ... - def update_dtype(self, dtype): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/scipy_sparse.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/scipy_sparse.pyi deleted file mode 100644 index c6fc6b14..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/sparse/scipy_sparse.pyi +++ /dev/null @@ -1,2 +0,0 @@ -from pandas.core.indexes.api import Index as Index, MultiIndex as MultiIndex -from pandas.core.series import Series as Series diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/string_.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/string_.pyi deleted file mode 100644 index a6b0b4d1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/string_.pyi +++ /dev/null @@ -1,20 +0,0 @@ -from pandas.core.arrays import PandasArray as PandasArray -from pandas.core.dtypes.base import ExtensionDtype as ExtensionDtype -from typing import Type - -class StringDtype(ExtensionDtype): - name: str = ... - na_value = ... - @property - def type(self) -> Type: ... - @classmethod - def construct_array_type(cls) -> Type[StringArray]: ... - def __from_arrow__(self, array): ... - -class StringArray(PandasArray): - def __init__(self, values, copy: bool = ...) -> None: ... - def __arrow_array__(self, type = ...): ... - def __setitem__(self, key, value) -> None: ... - def fillna(self, value = ..., method = ..., limit = ...): ... - def astype(self, dtype, copy: bool = ...): ... - def value_counts(self, dropna: bool = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/timedeltas.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/timedeltas.pyi deleted file mode 100644 index 822e3b91..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/arrays/timedeltas.pyi +++ /dev/null @@ -1,38 +0,0 @@ -from datetime import timedelta -from pandas.core.arrays import datetimelike as dtl -from typing import Sequence - -class TimedeltaArray(dtl.DatetimeLikeArrayMixin, dtl.TimelikeOps): - __array_priority__: int = ... - @property - def dtype(self): ... - def __init__(self, values, dtype = ..., freq = ..., copy: bool = ...) -> None: ... - def astype(self, dtype, copy: bool = ...): ... - def sum(self, axis=..., dtype=..., out=..., keepdims: bool=..., initial=..., skipna: bool=..., min_count: int=...) : ... - def std(self, axis=..., dtype=..., out=..., ddof: int=..., keepdims: bool=..., skipna: bool=...) : ... - def median(self, axis=..., out=..., overwrite_input: bool=..., keepdims: bool=..., skipna: bool=...) : ... - def __mul__(self, other): ... - __rmul__ = ... - def __truediv__(self, other): ... - def __rtruediv__(self, other): ... - def __floordiv__(self, other): ... - def __rfloordiv__(self, other): ... - def __mod__(self, other): ... - def __rmod__(self, other): ... - def __divmod__(self, other): ... - def __rdivmod__(self, other): ... - def __neg__(self): ... - def __pos__(self): ... - def __abs__(self): ... - def total_seconds(self) -> int: ... - def to_pytimedelta(self) -> Sequence[timedelta]: ... - days: int = ... - seconds: int = ... - microseconds: int = ... - nanoseconds: int = ... - @property - def components(self) -> int: ... - -def sequence_to_td64ns(data, copy: bool = ..., unit: str = ..., errors: str = ...): ... -def ints_to_td64ns(data, unit: str = ...): ... -def objects_to_td64ns(data, unit: str = ..., errors: str = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/base.pyi deleted file mode 100644 index 42295ed8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/base.pyi +++ /dev/null @@ -1,77 +0,0 @@ -from __future__ import annotations -import numpy as np - -from pandas.core.arrays.categorical import Categorical -from pandas._typing import ( - Scalar, - SeriesAxisType, - T1 as T1, - np_ndarray_int64, - np_ndarray_str, - Index as Index, - Series as Series, - DataFrame as DataFrame, -) - -from pandas.core.accessor import DirNamesMixin as DirNamesMixin -from pandas.core.arrays import ExtensionArray as ExtensionArray -from typing import Callable, Generic, List, Literal, Optional, Tuple, Union, overload - -class PandasObject(DirNamesMixin): - def __sizeof__(self) -> int: ... - -class NoNewAttributesMixin: - def __setattr__(self, key, value) -> None: ... - -class GroupByError(Exception): ... -class DataError(GroupByError): ... -class SpecificationError(GroupByError): ... - -class SelectionMixin: - def ndim(self) -> int: ... - def __getitem__(self, key): ... - def aggregate(self, func: Optional[Callable] = ..., *args, **kwargs) -> Union[Scalar, Series, DataFrame]: ... - agg = aggregate - -class ShallowMixin: ... - -class IndexOpsMixin: - __array_priority__: int = ... - def transpose(self, *args, **kwargs) -> IndexOpsMixin: ... - @property - def T(self) -> IndexOpsMixin: ... - @property - def shape(self) -> tuple: ... - @property - def ndim(self) -> int: ... - def item(self): ... - @property - def nbytes(self) -> int: ... - @property - def size(self) -> int: ... - @property - def array(self) -> ExtensionArray: ... - def to_numpy(self) -> np.ndarray: ... - @property - def empty(self) -> bool: ... - def max(self, axis=..., skipna: bool = ..., **kwargs): ... - def min(self, axis=..., skipna: bool = ..., **kwargs): ... - def argmax(self, axis: Optional[SeriesAxisType] = ..., skipna: bool = ..., *args, **kwargs) -> np.ndarray: ... - def argmin(self, axis: Optional[SeriesAxisType] = ..., skipna: bool = ..., *args, **kwargs) -> np.ndarray: ... - def tolist(self) -> List: ... - def to_list(self) -> List: ... - def __iter__(self): ... - def hasnans(self) -> bool: ... - def value_counts(self, normalize: bool = ..., sort: bool = ..., ascending: bool = ..., bins=..., dropna: bool = ...): ... - def nunique(self, dropna: bool = ...) -> int: ... - @property - def is_unique(self) -> bool: ... - @property - def is_monotonic(self) -> bool: ... - @property - def is_monotonic_decreasing(self) -> bool: ... - @property - def is_monotonic_increasing(self) -> bool: ... - def factorize(self, sort: bool = ..., na_sentinel: int = ...) -> Tuple[np.ndarray, Union[np.ndarray, Index, Categorical]]: ... - def searchsorted(self, value, side: str = ..., sorter=...) -> Union[int, List[int]]: ... - def drop_duplicates(self, keep: Literal["first", "last", False] = ...) -> IndexOpsMixin: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/common.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/common.pyi deleted file mode 100644 index 740a188a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/common.pyi +++ /dev/null @@ -1,36 +0,0 @@ -from pandas._typing import T as T -from typing import Collection, Iterable, Union - -class SettingWithCopyError(ValueError): ... -class SettingWithCopyWarning(Warning): ... - -def flatten(l) -> None: ... -def consensus_name_attr(objs): ... -def maybe_box(indexer, values, obj, key): ... -def maybe_box_datetimelike(value): ... - -values_from_object = ... - -def is_bool_indexer(key) -> bool: ... -def cast_scalar_indexer(val): ... -def not_none(*args): ... -def any_none(*args): ... -def all_none(*args): ... -def any_not_none(*args): ... -def all_not_none(*args): ... -def count_not_none(*args): ... -def try_sort(iterable): ... -def asarray_tuplesafe(values, dtype = ...): ... -def index_labels_to_array(labels, dtype = ...): ... -def maybe_make_list(obj): ... -def maybe_iterable_to_list(obj: Union[Iterable[T], T]) -> Union[Collection[T], T]: ... -def is_null_slice(obj): ... -def is_true_slices(l): ... -def is_full_slice(obj, l): ... -def get_callable_name(obj): ... -def apply_if_callable(maybe_callable, obj, **kwargs): ... -def dict_compat(d): ... -def standardize_mapping(into): ... -def random_state(state = ...): ... -def pipe(obj, func, *args, **kwargs): ... -def get_rename_function(mapper): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/align.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/align.pyi deleted file mode 100644 index 47830caf..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/align.pyi +++ /dev/null @@ -1,2 +0,0 @@ -def align_terms(terms): ... -def reconstruct_object(typ, obj, axes, dtype): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/api.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/api.pyi deleted file mode 100644 index 68356a25..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/api.pyi +++ /dev/null @@ -1 +0,0 @@ -from pandas.core.computation.eval import eval as eval diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/check.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/check.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/common.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/common.pyi deleted file mode 100644 index 1b9ef7e2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/common.pyi +++ /dev/null @@ -1,3 +0,0 @@ -def result_type_many(*arrays_and_dtypes): ... - -class NameResolutionError(NameError): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/engines.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/engines.pyi deleted file mode 100644 index 9df58766..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/engines.pyi +++ /dev/null @@ -1,19 +0,0 @@ -import abc - -class NumExprClobberingError(NameError): ... - -class AbstractEngine(metaclass=abc.ABCMeta): - has_neg_frac: bool = ... - expr = ... - aligned_axes = ... - result_type = ... - def __init__(self, expr) -> None: ... - def convert(self) -> str: ... - def evaluate(self) -> object: ... - -class NumExprEngine(AbstractEngine): - has_neg_frac: bool = ... - -class PythonEngine(AbstractEngine): - has_neg_frac: bool = ... - def evaluate(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/eval.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/eval.pyi deleted file mode 100644 index 3c838ef7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/eval.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from typing import Optional - -def eval(expr, parser=..., engine: Optional[str]=..., truediv=..., local_dict=..., global_dict=..., resolvers=..., level=..., target=..., inplace=...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/expr.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/expr.pyi deleted file mode 100644 index 777346da..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/expr.pyi +++ /dev/null @@ -1,68 +0,0 @@ -import ast -from pandas.core.computation.ops import Term as Term -from pandas.core.computation.scope import Scope as Scope -from typing import Optional - -intersection = ... - -def disallow(nodes): ... -def add_ops(op_classes): ... - -class BaseExprVisitor(ast.NodeVisitor): - const_type = ... - term_type = ... - binary_ops = ... - binary_op_nodes = ... - binary_op_nodes_map = ... - unary_ops = ... - unary_op_nodes = ... - unary_op_nodes_map = ... - rewrite_map = ... - env = ... - engine = ... - parser = ... - preparser = ... - assigner = ... - def __init__(self, env, engine, parser, preparser = ...) -> None: ... - def visit(self, node, **kwargs): ... - def visit_Module(self, node, **kwargs): ... - def visit_Expr(self, node, **kwargs): ... - def visit_BinOp(self, node, **kwargs): ... - def visit_Div(self, node, **kwargs): ... - def visit_UnaryOp(self, node, **kwargs): ... - def visit_Name(self, node, **kwargs): ... - def visit_NameConstant(self, node, **kwargs): ... - def visit_Num(self, node, **kwargs): ... - def visit_Constant(self, node, **kwargs): ... - def visit_Str(self, node, **kwargs): ... - def visit_List(self, node, **kwargs): ... - def visit_Index(self, node, **kwargs): ... - def visit_Subscript(self, node, **kwargs): ... - def visit_Slice(self, node, **kwargs): ... - def visit_Assign(self, node, **kwargs): ... - def visit_Attribute(self, node, **kwargs): ... - def visit_Call(self, node, side = ..., **kwargs): ... - def translate_In(self, op): ... - def visit_Compare(self, node, **kwargs): ... - def visit_BoolOp(self, node, **kwargs): ... - -class PandasExprVisitor(BaseExprVisitor): - def __init__(self, env, engine, parser, preparser = ...) -> None: ... - -class PythonExprVisitor(BaseExprVisitor): - def __init__(self, env, engine, parser, preparser = ...): ... - -class Expr: - env: Scope - engine: str - parser: str - expr = ... - terms = ... - def __init__(self, expr, engine: str=..., parser: str=..., env: Optional[Scope]=..., level: int=...) -> None: ... - @property - def assigner(self): ... - def __call__(self): ... - def __len__(self) -> int: ... - def parse(self): ... - @property - def names(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/expressions.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/expressions.pyi deleted file mode 100644 index 90d1243a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/expressions.pyi +++ /dev/null @@ -1,6 +0,0 @@ -def set_use_numexpr(v: bool = ...) -> None: ... -def set_numexpr_threads(n=...) -> None: ... -def evaluate(op, op_str, a, b, use_numexpr: bool = ...): ... -def where(cond, a, b, use_numexpr: bool = ...): ... -def set_test_mode(v: bool = ...) -> None: ... -def get_test_result(): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/ops.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/ops.pyi deleted file mode 100644 index 4a5aec41..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/ops.pyi +++ /dev/null @@ -1,91 +0,0 @@ -import numpy as np - -class UndefinedVariableError(NameError): - def __init__(self, name, is_local: bool) -> None: ... - -class Term: - def __new__(cls, name, env, side = ..., encoding = ...): ... - is_local: bool - env = ... - side = ... - encoding = ... - def __init__(self, name, env, side = ..., encoding = ...) -> None: ... - @property - def local_name(self) -> str: ... - def __call__(self, *args, **kwargs): ... - def evaluate(self, *args, **kwargs): ... - def update(self, value) -> None: ... - @property - def is_scalar(self) -> bool: ... - @property - def type(self): ... - return_type = ... - @property - def raw(self) -> str: ... - @property - def is_datetime(self) -> bool: ... - @property - def value(self): ... - @value.setter - def value(self, new_value) -> None: ... - @property - def name(self): ... - @property - def ndim(self) -> int: ... - -class Constant(Term): - def __init__(self, value, env, side = ..., encoding = ...) -> None: ... - @property - def name(self): ... - -class Op: - op: str - operands = ... - encoding = ... - def __init__(self, op: str, operands, *args, **kwargs) -> None: ... - def __iter__(self) : ... - @property - def return_type(self): ... - @property - def has_invalid_return_type(self) -> bool: ... - @property - def operand_types(self): ... - @property - def is_scalar(self) -> bool: ... - @property - def is_datetime(self) -> bool: ... - -def is_term(obj) -> bool: ... - -class BinOp(Op): - lhs = ... - rhs = ... - func = ... - def __init__(self, op: str, lhs, rhs, **kwargs) -> None: ... - def __call__(self, env): ... - def evaluate(self, env, engine: str, parser, term_type, eval_in_python) : ... - def convert_values(self): ... - -def isnumeric(dtype) -> bool: ... - -class Div(BinOp): - def __init__(self, lhs, rhs, **kwargs) -> None: ... - -class UnaryOp(Op): - operand = ... - func = ... - def __init__(self, op: str, operand) -> None: ... - def __call__(self, env): ... - @property - def return_type(self) -> np.dtype: ... - -class MathCall(Op): - func = ... - def __init__(self, func, args) -> None: ... - def __call__(self, env): ... - -class FuncNode: - name = ... - func = ... - def __init__(self, name: str) -> None: ... - def __call__(self, *args): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/parsing.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/parsing.pyi deleted file mode 100644 index 1020ba49..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/parsing.pyi +++ /dev/null @@ -1,12 +0,0 @@ -import tokenize -from typing import Iterator, Tuple - -BACKTICK_QUOTED_STRING: int - -def create_valid_python_identifier(name: str) -> str: ... -def clean_backtick_quoted_toks(tok: Tuple[int, str]) -> Tuple[int, str]: ... -def clean_column_name(name: str) -> str: ... -def tokenize_backtick_quoted_string( - token_generator: Iterator[tokenize.TokenInfo], source: str, string_start: int -) -> Tuple[int, str]: ... -def tokenize_string(source: str) -> Iterator[Tuple[int, str]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/pytables.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/pytables.pyi deleted file mode 100644 index aa3f46ff..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/pytables.pyi +++ /dev/null @@ -1,97 +0,0 @@ -from pandas.core.computation import expr as expr, ops as ops, scope as _scope -from pandas.core.computation.expr import BaseExprVisitor as BaseExprVisitor -from pandas.core.indexes.base import Index -from .expr import BaseExprVisitor -from typing import Any, Dict, Optional, Tuple - -class PyTablesScope(_scope.Scope): - queryables: Dict[str, Any] - def __init__(self, level: int, global_dict=..., local_dict=..., queryables: Optional[Dict[str, Any]]=...) -> None: ... - -class Term(ops.Term): - env = ... - def __new__(cls, name, env, side = ..., encoding = ...): ... - def __init__(self, name, env: PyTablesScope, side=..., encoding=...) -> None: ... - @property - def value(self): ... - @value.setter - def value(self, new_value) -> None: ... - -class Constant(Term): - def __init__(self, value, env: PyTablesScope, side=..., encoding=...) -> None: ... - -class BinOp(ops.BinOp): - op: str - queryables: Dict[str, Any] - encoding = ... - condition = ... - def __init__(self, op: str, lhs, rhs, queryables: Dict[str, Any], encoding) -> None: ... - def prune(self, klass): ... - def conform(self, rhs): ... - @property - def is_valid(self) -> bool: ... - @property - def is_in_table(self) -> bool: ... - @property - def kind(self): ... - @property - def meta(self): ... - @property - def metadata(self): ... - def generate(self, v) -> str: ... - def convert_value(self, v) -> TermValue: ... - def convert_values(self) -> None: ... - -class FilterBinOp(BinOp): - filter: Optional[Tuple[Any, Any, Index]] = ... - def invert(self): ... - def format(self): ... - def evaluate(self): ... - def generate_filter_op(self, invert: bool=...) : ... - -class JointFilterBinOp(FilterBinOp): - def format(self) -> None: ... - def evaluate(self): ... - -class ConditionBinOp(BinOp): - def invert(self) -> None: ... - def format(self): ... - condition = ... - def evaluate(self): ... - -class JointConditionBinOp(ConditionBinOp): - condition = ... - def evaluate(self): ... - -class UnaryOp(ops.UnaryOp): - def prune(self, klass): ... - -class PyTablesExprVisitor(BaseExprVisitor): - const_type = ... - term_type = ... - def __init__(self, env, engine, parser, **kwargs): ... - def visit_UnaryOp(self, node, **kwargs): ... - def visit_Index(self, node, **kwargs): ... - def visit_Assign(self, node, **kwargs): ... - def visit_Subscript(self, node, **kwargs): ... - def visit_Attribute(self, node, **kwargs): ... - def translate_In(self, op): ... - -class PyTablesExpr(expr.Expr): - env = ... - encoding = ... - condition = ... - filter = ... - terms = ... - expr = ... - def __init__(self, where, queryables: Optional[Dict[str, Any]]=..., encoding=..., scope_level: int=...) -> None: ... - def evaluate(self): ... - -class TermValue: - value = ... - converted = ... - kind = ... - def __init__(self, value, converted, kind: str) -> None: ... - def tostring(self, encoding) -> str: ... - -def maybe_expression(s) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/scope.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/scope.pyi deleted file mode 100644 index eb100e39..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/computation/scope.pyi +++ /dev/null @@ -1,18 +0,0 @@ -def ensure_scope(level: int, global_dict=..., local_dict=..., resolvers=..., target=..., **kwargs) -> Scope: ... - -class Scope: - level = ... - scope = ... - target = ... - resolvers = ... - temps = ... - def __init__(self, level, global_dict = ..., local_dict = ..., resolvers = ..., target = ...) -> None: ... - @property - def has_resolvers(self) -> bool: ... - def resolve(self, key: str, is_local: bool) : ... - def swapkey(self, old_key: str, new_key: str, new_value=...) : ... - def add_tmp(self, value) -> str: ... - @property - def ntemps(self) -> int: ... - @property - def full_scope(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/config_init.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/config_init.pyi deleted file mode 100644 index 773f3f64..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/config_init.pyi +++ /dev/null @@ -1,62 +0,0 @@ -use_bottleneck_doc: str = ... - -def use_bottleneck_cb(key) -> None: ... - -use_numexpr_doc: str = ... - -def use_numexpr_cb(key) -> None: ... - -pc_precision_doc: str = ... -pc_colspace_doc: str = ... -pc_max_rows_doc: str = ... -pc_min_rows_doc: str = ... -pc_max_cols_doc: str = ... -pc_max_categories_doc: str = ... -pc_max_info_cols_doc: str = ... -pc_nb_repr_h_doc: str = ... -pc_pprint_nest_depth: str = ... -pc_multi_sparse_doc: str = ... -float_format_doc: str = ... -max_colwidth_doc: str = ... -colheader_justify_doc: str = ... -pc_expand_repr_doc: str = ... -pc_show_dimensions_doc: str = ... -pc_east_asian_width_doc: str = ... -pc_ambiguous_as_wide_doc: str = ... -pc_latex_repr_doc: str = ... -pc_table_schema_doc: str = ... -pc_html_border_doc: str = ... -pc_html_use_mathjax_doc: str = ... -pc_width_doc: str = ... -pc_chop_threshold_doc: str = ... -pc_max_seq_items: str = ... -pc_max_info_rows_doc: str = ... -pc_large_repr_doc: str = ... -pc_memory_usage_doc: str = ... -pc_latex_escape: str = ... -pc_latex_longtable: str = ... -pc_latex_multicolumn: str = ... -pc_latex_multicolumn_format: str = ... -pc_latex_multirow: str = ... - -def table_schema_cb(key) -> None: ... -def is_terminal() -> bool: ... - -max_cols: int = ... -tc_sim_interactive_doc: str = ... -use_inf_as_null_doc: str = ... -use_inf_as_na_doc: str = ... - -def use_inf_as_na_cb(key) -> None: ... - -chained_assignment: str = ... -reader_engine_doc: str = ... -writer_engine_doc: str = ... -parquet_engine_doc: str = ... -plotting_backend_doc: str = ... - -def register_plotting_backend_cb(key) -> None: ... - -register_converter_doc: str = ... - -def register_converter_cb(key) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/construction.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/construction.pyi deleted file mode 100644 index e646f874..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/construction.pyi +++ /dev/null @@ -1,13 +0,0 @@ -import numpy as np -from pandas._typing import ArrayLike as ArrayLike, Dtype as Dtype -from pandas.core.dtypes.dtypes import ExtensionDtype as ExtensionDtype -from pandas.core.dtypes.generic import ABCExtensionArray as ABCExtensionArray -from pandas.core.indexes.api import Index as Index -from pandas.core.series import Series as Series -from typing import Optional, Sequence, Union - -def array(data: Sequence[object], dtype: Optional[Union[str, np.dtype, ExtensionDtype]]=..., copy: bool=...) -> ABCExtensionArray: ... -def extract_array(obj, extract_numpy: bool = ...): ... -def sanitize_array(data, index, dtype=..., copy: bool=..., raise_cast_failure: bool=...) : ... -def is_empty_data(data) -> bool: ... -def create_series_with_explicit_dtype(data=..., index: Optional[Union[ArrayLike, Index]]=..., dtype: Optional[Dtype]=..., name: Optional[str]=..., copy: bool=..., fastpath: bool=..., dtype_if_empty: Dtype=...) -> Series: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/api.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/api.pyi deleted file mode 100644 index 01e826e5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/api.pyi +++ /dev/null @@ -1,42 +0,0 @@ -from pandas.core.dtypes.common import ( - is_array_like as is_array_like, - is_bool as is_bool, - is_bool_dtype as is_bool_dtype, - is_categorical as is_categorical, - is_categorical_dtype as is_categorical_dtype, - is_complex as is_complex, - is_complex_dtype as is_complex_dtype, - is_datetime64_any_dtype as is_datetime64_any_dtype, - is_datetime64_dtype as is_datetime64_dtype, - is_datetime64_ns_dtype as is_datetime64_ns_dtype, - is_datetime64tz_dtype as is_datetime64tz_dtype, - is_dict_like as is_dict_like, - is_dtype_equal as is_dtype_equal, - is_extension_array_dtype as is_extension_array_dtype, - is_extension_type as is_extension_type, - is_file_like as is_file_like, - is_float as is_float, - is_float_dtype as is_float_dtype, - is_hashable as is_hashable, - is_int64_dtype as is_int64_dtype, - is_integer as is_integer, - is_integer_dtype as is_integer_dtype, - is_interval as is_interval, - is_interval_dtype as is_interval_dtype, - is_iterator as is_iterator, - is_list_like as is_list_like, - is_named_tuple as is_named_tuple, - is_number as is_number, - is_numeric_dtype as is_numeric_dtype, - is_object_dtype as is_object_dtype, - is_period_dtype as is_period_dtype, - is_re as is_re, - is_re_compilable as is_re_compilable, - is_scalar as is_scalar, - is_signed_integer_dtype as is_signed_integer_dtype, - is_sparse as is_sparse, - is_string_dtype as is_string_dtype, - is_timedelta64_dtype as is_timedelta64_dtype, - is_timedelta64_ns_dtype as is_timedelta64_ns_dtype, - is_unsigned_integer_dtype as is_unsigned_integer_dtype, - pandas_dtype as pandas_dtype) diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/base.pyi deleted file mode 100644 index 6d6d0062..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/base.pyi +++ /dev/null @@ -1,22 +0,0 @@ -from typing import List, Optional, Type - -class ExtensionDtype: - def __eq__(self, other) -> bool: ... - def __hash__(self) -> int: ... - def __ne__(self, other) -> bool: ... - @property - def na_value(self): ... - @property - def type(self) -> Type: ... - @property - def kind(self) -> str: ... - @property - def name(self) -> str: ... - @property - def names(self) -> Optional[List[str]]: ... - @classmethod - def construct_array_type(cls) -> None: ... - @classmethod - def construct_from_string(cls, string: str): ... - @classmethod - def is_dtype(cls, dtype) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/cast.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/cast.pyi deleted file mode 100644 index 1a299208..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/cast.pyi +++ /dev/null @@ -1,30 +0,0 @@ -import numpy as np -from pandas._typing import Dtype as Dtype - -def maybe_convert_platform(values): ... -def is_nested_object(obj) -> bool: ... -def maybe_downcast_to_dtype(result, dtype): ... -def maybe_downcast_numeric(result, dtype, do_round: bool=...) : ... -def maybe_upcast_putmask(result: np.ndarray, mask: np.ndarray, other) : ... -def maybe_promote(dtype, fill_value = ...): ... -def infer_dtype_from(val, pandas_dtype: bool=...) : ... -def infer_dtype_from_scalar(val, pandas_dtype: bool=...) : ... -def infer_dtype_from_array(arr, pandas_dtype: bool=...) : ... -def maybe_infer_dtype_type(element): ... -def maybe_upcast(values, fill_value=..., dtype=..., copy: bool=...) : ... -def invalidate_string_dtypes(dtype_set) -> None: ... -def coerce_indexer_dtype(indexer, categories): ... -def coerce_to_dtypes(result, dtypes): ... -def astype_nansafe(arr, dtype, copy: bool=..., skipna: bool=...) : ... -def maybe_convert_objects(values: np.ndarray, convert_numeric: bool=...) : ... -def soft_convert_objects(values: np.ndarray, datetime: bool=..., numeric: bool=..., timedelta: bool=..., coerce: bool=..., copy: bool=...) : ... -def convert_dtypes(input_array, convert_string: bool=..., convert_integer: bool=..., convert_boolean: bool=...) -> Dtype: ... -def maybe_castable(arr) -> bool: ... -def maybe_infer_to_datetimelike(value, convert_dates: bool=...) : ... -def maybe_cast_to_datetime(value, dtype, errors: str=...) : ... -def find_common_type(types): ... -def cast_scalar_to_array(shape, value, dtype = ...): ... -def construct_1d_arraylike_from_scalar(value, length: int, dtype) : ... -def construct_1d_object_array_from_listlike(values): ... -def construct_1d_ndarray_preserving_na(values, dtype=..., copy: bool=...) : ... -def maybe_cast_to_integer_array(arr, dtype, copy: bool=...) : ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/common.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/common.pyi deleted file mode 100644 index 15de2c63..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/common.pyi +++ /dev/null @@ -1,75 +0,0 @@ -import numpy as np -from pandas._typing import ArrayLike as ArrayLike -from pandas.core.dtypes.inference import ( - is_array_like as is_array_like, - is_bool as is_bool, - is_complex as is_complex, - is_dict_like as is_dict_like, - is_file_like as is_file_like, - is_float as is_float, - is_hashable as is_hashable, - is_integer as is_integer, - is_interval as is_interval, - is_iterator as is_iterator, - is_list_like as is_list_like, - is_named_tuple as is_named_tuple, - is_number as is_number, - is_re as is_re, - is_re_compilable as is_re_compilable, - is_scalar as is_scalar) -from typing import Callable, Union - -ensure_float64 = ... -ensure_float32 = ... - -def ensure_float(arr): ... - -ensure_uint64 = ... -ensure_int64 = ... -ensure_int32 = ... -ensure_int16 = ... -ensure_int8 = ... -ensure_platform_int = ... -ensure_object = ... - -def ensure_str(value) -> str: ... -def ensure_categorical(arr): ... -def ensure_int_or_float(arr: ArrayLike, copy: bool=...) -> np.array: ... -def ensure_python_int(value: Union[int, np.integer]) -> int: ... -def classes(*klasses) -> Callable: ... -def classes_and_not_datetimelike(*klasses) -> Callable: ... -def is_object_dtype(arr_or_dtype) -> bool: ... -def is_sparse(arr) -> bool: ... -def is_scipy_sparse(arr) -> bool: ... -def is_categorical(arr) -> bool: ... -def is_datetime64_dtype(arr_or_dtype) -> bool: ... -def is_datetime64tz_dtype(arr_or_dtype) -> bool: ... -def is_timedelta64_dtype(arr_or_dtype) -> bool: ... -def is_period_dtype(arr_or_dtype) -> bool: ... -def is_interval_dtype(arr_or_dtype) -> bool: ... -def is_categorical_dtype(arr_or_dtype) -> bool: ... -def is_string_dtype(arr_or_dtype) -> bool: ... -def is_period_arraylike(arr) -> bool: ... -def is_datetime_arraylike(arr) -> bool: ... -def is_dtype_equal(source, target) -> bool: ... -def is_any_int_dtype(arr_or_dtype) -> bool: ... -def is_integer_dtype(arr_or_dtype) -> bool: ... -def is_signed_integer_dtype(arr_or_dtype) -> bool: ... -def is_unsigned_integer_dtype(arr_or_dtype) -> bool: ... -def is_int64_dtype(arr_or_dtype) -> bool: ... -def is_datetime64_any_dtype(arr_or_dtype) -> bool: ... -def is_datetime64_ns_dtype(arr_or_dtype) -> bool: ... -def is_timedelta64_ns_dtype(arr_or_dtype) -> bool: ... -def is_datetime_or_timedelta_dtype(arr_or_dtype) -> bool: ... -def is_numeric_v_string_like(a, b): ... -def is_datetimelike_v_numeric(a, b): ... -def needs_i8_conversion(arr_or_dtype) -> bool: ... -def is_numeric_dtype(arr_or_dtype) -> bool: ... -def is_string_like_dtype(arr_or_dtype) -> bool: ... -def is_float_dtype(arr_or_dtype) -> bool: ... -def is_bool_dtype(arr_or_dtype) -> bool: ... -def is_extension_type(arr) -> bool: ... -def is_extension_array_dtype(arr_or_dtype) -> bool: ... -def is_complex_dtype(arr_or_dtype) -> bool: ... -def infer_dtype_from_object(dtype): ... -def pandas_dtype(dtype): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/concat.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/concat.pyi deleted file mode 100644 index e6f1bf4a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/concat.pyi +++ /dev/null @@ -1,5 +0,0 @@ -def get_dtype_kinds(l): ... -def concat_compat(to_concat, axis: int=...) : ... -def concat_categorical(to_concat, axis: int=...) : ... -def union_categoricals(to_union, sort_categories: bool=..., ignore_order: bool=...) : ... -def concat_datetime(to_concat, axis: int = ..., typs = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/dtypes.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/dtypes.pyi deleted file mode 100644 index 7d31c88b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/dtypes.pyi +++ /dev/null @@ -1,123 +0,0 @@ -from pandas._typing import Ordered as Ordered -from .base import ExtensionDtype as ExtensionDtype -from pandas._libs.tslibs import NaT as NaT, Period as Period, Timestamp as Timestamp #, timezones as timezones -from pandas.core.indexes.base import Index -from typing import Any, Optional, Sequence, Tuple, Type, Union - -_str = str - -def register_extension_dtype(cls: Type[ExtensionDtype]) -> Type[ExtensionDtype]: ... - -class Registry: - dtypes = ... - def __init__(self) -> None: ... - def register(self, dtype: Type[ExtensionDtype]) -> None: ... - def find(self, dtype: Union[Type[ExtensionDtype], str]) -> Optional[Type[ExtensionDtype]]: ... - -registry = ... - -class PandasExtensionDtype(ExtensionDtype): - type = ... - kind = ... - subdtype = ... - str: Optional[_str] = ... - num: int = ... - shape: Tuple[int, ...] = ... - itemsize: int = ... - base = ... - isbuiltin: int = ... - isnative: int = ... - def __hash__(self) -> int: ... - @classmethod - def reset_cache(cls) -> None: ... - -class CategoricalDtypeType(type): ... - -class CategoricalDtype(PandasExtensionDtype, ExtensionDtype): - name: _str = ... - type: Type[CategoricalDtypeType] = ... - kind: _str = ... - str: _str = ... - base = ... - def __init__(self, categories: Optional[Sequence[Any]]=..., ordered: Ordered=...) -> None: ... - @classmethod - def construct_from_string(cls, string: _str) -> CategoricalDtype: ... - def __hash__(self) -> int: ... - def __eq__(self, other) -> bool: ... - @classmethod - def construct_array_type(cls): ... - @staticmethod - def validate_ordered(ordered: Ordered) -> None: ... - @staticmethod - def validate_categories(categories, fastpath: bool=...) : ... - def update_dtype(self, dtype: Union[_str, CategoricalDtype]) -> CategoricalDtype: ... - @property - def categories(self) -> Index: ... - @property - def ordered(self) -> Ordered: ... - -class DatetimeTZDtype(PandasExtensionDtype): - type: Type[Timestamp] = ... - kind: _str = ... - str: _str = ... - num: int = ... - base = ... - na_value = ... - def __init__(self, unit: _str = ..., tz = ...) -> None: ... - @property - def unit(self): ... - @property - def tz(self): ... - @classmethod - def construct_array_type(cls): ... - @classmethod - def construct_from_string(cls, string: _str) : ... - @property - def name(self) -> _str: ... - def __hash__(self) -> int: ... - def __eq__(self, other) -> bool: ... - -class PeriodDtype(PandasExtensionDtype): - type: Type[Period] = ... - kind: _str = ... - str: _str = ... - base = ... - num: int = ... - def __new__(cls, freq = ...): ... - @property - def freq(self): ... - @classmethod - def construct_from_string(cls, string: _str): ... - @property - def name(self) -> _str: ... - @property - def na_value(self): ... - def __hash__(self) -> int: ... - def __eq__(self, other) -> bool: ... - @classmethod - def is_dtype(cls, dtype) -> bool: ... - @classmethod - def construct_array_type(cls): ... - def __from_arrow__(self, array): ... - -class IntervalDtype(PandasExtensionDtype): - name: _str = ... - kind: _str = ... - str: _str = ... - base = ... - num: int = ... - def __new__(cls, subtype = ...): ... - @property - def subtype(self): ... - @classmethod - def construct_array_type(cls): ... - @classmethod - def construct_from_string(cls, string: _str): ... - @property - def type(self): ... - def __hash__(self) -> int: ... - def __eq__(self, other) -> bool: ... - @classmethod - def is_dtype(cls, dtype) -> bool: ... - def __from_arrow__(self, array): ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/generic.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/generic.pyi deleted file mode 100644 index b719b2e7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/generic.pyi +++ /dev/null @@ -1,76 +0,0 @@ -def create_pandas_abc_type(name, attr, comp): ... - -class ABCIndex: ... - -class ABCInt64Index: ... - -class ABCUInt64Index: ... - -class ABCRangeIndex: ... - -class ABCFloat64Index: - ... - -class ABCMultiIndex: - ... - -class ABCDatetimeIndex: - ... - -class ABCTimedeltaIndex: - ... - -class ABCPeriodIndex: - ... - -class ABCCategoricalIndex: - ... - -class ABCIntervalIndex: - ... - -class ABCIndexClass: - ... - -class ABCSeries: - ... - -class ABCDataFrame: - ... - -class ABCSparseArray: - ... - -class ABCCategorical: - ... - -class ABCDatetimeArray: - ... - -class ABCTimedeltaArray: - ... - -class ABCPeriodArray: - ... - -class ABCPeriod: - ... - -class ABCDateOffset: - ... - -class ABCInterval: - ... - -class ABCExtensionArray: - ... - -class ABCPandasArray: - ... - -class _ABCGeneric(type): - def __instancecheck__(cls, inst) -> bool: ... - -class ABCGeneric: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/inference.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/inference.pyi deleted file mode 100644 index c20e63af..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/inference.pyi +++ /dev/null @@ -1,19 +0,0 @@ -def is_bool(obj) -> bool: ... -def is_integer(obj) -> bool: ... -def is_float(obj) -> bool: ... -def is_complex(obj) -> bool: ... -def is_scalar(obj) -> bool: ... -def is_decimal(obj) -> bool: ... -def is_interval(obj) -> bool: ... -def is_list_like(obj) -> bool: ... -def is_number(obj) -> bool: ... -def is_iterator(obj) -> bool: ... -def is_file_like(obj) -> bool: ... -def is_re(obj) -> bool: ... -def is_re_compilable(obj) -> bool: ... -def is_array_like(obj) -> bool: ... -def is_nested_list_like(obj) -> bool: ... -def is_dict_like(obj) -> bool: ... -def is_named_tuple(obj) -> bool: ... -def is_hashable(obj) -> bool: ... -def is_sequence(obj) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/missing.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/missing.pyi deleted file mode 100644 index 6b092187..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/dtypes/missing.pyi +++ /dev/null @@ -1,25 +0,0 @@ -import numpy as np -from typing import Any, Union, overload -from pandas._typing import Series, Index, ArrayLike -from pandas.core.frame import DataFrame -isposinf_scalar = ... -isneginf_scalar = ... - -@overload -def isna(obj: DataFrame) -> DataFrame: ... -@overload -def isna(obj: Series) -> Series[bool]: ... -@overload -def isna(obj: Union[Index, ArrayLike]) -> np.ndarray: ... -@overload -def isna(obj: Any) -> bool: ... - -isnull = isna - -def notna(obj): ... -notnull = notna - -def array_equivalent(left, right, strict_nan: bool=...) -> bool: ... -def na_value_for_dtype(dtype, compat: bool=...): ... -def remove_na_arraylike(arr): ... -def is_valid_nat_for_dtype(obj, dtype) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/frame.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/frame.pyi deleted file mode 100644 index ce509d67..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/frame.pyi +++ /dev/null @@ -1,3765 +0,0 @@ -from __future__ import annotations -import datetime -import numpy as np -import sys - -from pandas.core.indexing import _iLocIndexer, _LocIndexer -from matplotlib.axes import Axes as PlotAxes -from pandas._typing import ( - Axes as Axes, - Axis as Axis, - FilePathOrBuffer as FilePathOrBuffer, - FilePathOrBytesBuffer as FilePathOrBytesBuffer, - Level as Level, - Renamer as Renamer, -) -from pandas._typing import ( - num, - SeriesAxisType, - AxisType, - Dtype, - DtypeNp, - Label, - StrLike, - Scalar as Scalar, - IndexType, - MaskType, - S1, - T as TType, -) -from pandas._typing import ArrayLike as ArrayLike, np_ndarray_str, Timestamp as Timestamp, Timedelta as Timedelta -from pandas._typing import IndexLevel as IndexLevel, IgnoreRaise as IgnoreRaise -from pandas.core.arraylike import OpsMixin -from pandas.core.generic import NDFrame as NDFrame -from pandas.core.groupby.generic import DataFrameGroupBy as DataFrameGroupBy -from pandas.core.groupby.grouper import Grouper -from pandas.core.indexes.base import Index as Index -from pandas.core.indexes.multi import MultiIndex as MultiIndex -from pandas.core.resample import Resampler -from pandas.core.window.rolling import Rolling, Window -from pandas.core.series import Series as Series -from pandas.io.formats import console as console, format as fmt -from pandas.io.formats.style import Styler as Styler -from pandas.plotting import PlotAccessor -from typing import ( - Any, - Callable, - Dict, - Hashable, - Iterable, - Iterator, - List, - Mapping, - Optional, - Sequence, - Set, - Tuple, - Type, - Union, - overload, - Pattern, -) - -if sys.version_info >= (3, 8): - from typing import Literal -else: - from typing_extensions import Literal - -import numpy as _np -import datetime as _dt - -_str = str -_bool = bool - -class _iLocIndexerFrame(_iLocIndexer): - @overload - def __getitem__(self, idx: Tuple[int, int]) -> Scalar: ... - @overload - def __getitem__(self, idx: int) -> Series: ... - @overload - def __getitem__(self, idx: Tuple[Union[IndexType, MaskType], int]) -> Series: ... - @overload - def __getitem__(self, idx: Tuple[int, Union[IndexType, MaskType]]) -> Series: ... - @overload - def __getitem__(self, idx: Tuple[Union[IndexType, MaskType], Union[IndexType, MaskType]]) -> DataFrame: ... - def __setitem__( - self, - idx: Union[ - int, - IndexType, - Tuple[int, int], - Tuple[IndexType, int], - Tuple[IndexType, IndexType], - Tuple[int, IndexType], - ], - value: Union[float, Series, DataFrame], - ) -> None: ... - -class _LocIndexerFrame(_LocIndexer): - @overload - def __getitem__( - self, - idx: Union[ - Union[IndexType, MaskType], - List[StrLike], - Tuple[ - Union[IndexType, MaskType, slice, List[StrLike], Tuple[Union[str, int, slice], ...]], - Union[List[StrLike], slice, Series[bool], Callable], - ], - ], - ) -> DataFrame: ... - @overload - def __getitem__( - self, - idx: Tuple[Union[StrLike, Tuple[StrLike, ...]], StrLike], - ) -> Scalar: ... - @overload - def __getitem__( - self, - idx: Union[int, StrLike], - ) -> Series: ... - @overload - def __getitem__( - self, - idx: Tuple[Union[IndexType, MaskType], StrLike], - ) -> Series: ... - @overload - def __getitem__( - self, - idx: Tuple[Tuple[slice, ...], StrLike], - ) -> Series: ... - @overload - def __setitem__( - self, - idx: Union[ - MaskType, - StrLike, - Tuple[Union[MaskType, Index, Sequence[Scalar], Scalar, slice], ...], - ], - value: Union[S1, ArrayLike, Series, DataFrame], - ) -> None: ... - @overload - def __setitem__( - self, idx: Tuple[Tuple[Union[StrLike, Scalar, slice], ...], StrLike], value: Union[S1, ArrayLike, Series[S1], List] - ) -> None: ... - @overload - def __setitem__( - self, idx: Tuple[Tuple[Union[StrLike, Scalar, slice], ...], StrLike], value: Union[S1, ArrayLike, Series[S1], List] - ) -> None: ... - -class DataFrame(NDFrame, OpsMixin): - _ListLike = Union[ - np.ndarray, - List[Dtype], - Dict[_str, _np.ndarray], - Sequence, - Index, - Series, - ] - def __new__( - cls, - data: Optional[Union[_ListLike, DataFrame, Dict[Any, Any]]] = ..., - index: Optional[Union[Index, _ListLike]] = ..., - columns: Optional[_ListLike] = ..., - dtype=..., - copy: _bool = ..., - ) -> DataFrame: ... - @property - def axes(self) -> List[Index]: ... - @property - def shape(self) -> Tuple[int, int]: ... - @property - def style(self) -> Styler: ... - def items(self) -> Iterable[Tuple[Hashable, Series]]: - """ -Iterate over (column name, Series) pairs. - -Iterates over the DataFrame columns, returning a tuple with -the column name and the content as a Series. - -Yields ------- -label : object - The column names for the DataFrame being iterated over. -content : Series - The column entries belonging to each label, as a Series. - -See Also --------- -DataFrame.iterrows : Iterate over DataFrame rows as - (index, Series) pairs. -DataFrame.itertuples : Iterate over DataFrame rows as namedtuples - of the values. - -Examples --------- ->>> df = pd.DataFrame({'species': ['bear', 'bear', 'marsupial'], -... 'population': [1864, 22000, 80000]}, -... index=['panda', 'polar', 'koala']) ->>> df - species population -panda bear 1864 -polar bear 22000 -koala marsupial 80000 ->>> for label, content in df.items(): -... print(f'label: {label}') -... print(f'content: {content}', sep='\n') -... -label: species -content: -panda bear -polar bear -koala marsupial -Name: species, dtype: object -label: population -content: -panda 1864 -polar 22000 -koala 80000 -Name: population, dtype: int64 - """ - pass - def iteritems(self) -> Iterable[Tuple[Label, Series]]: - """ -Iterate over (column name, Series) pairs. - -Iterates over the DataFrame columns, returning a tuple with -the column name and the content as a Series. - -Yields ------- -label : object - The column names for the DataFrame being iterated over. -content : Series - The column entries belonging to each label, as a Series. - -See Also --------- -DataFrame.iterrows : Iterate over DataFrame rows as - (index, Series) pairs. -DataFrame.itertuples : Iterate over DataFrame rows as namedtuples - of the values. - -Examples --------- ->>> df = pd.DataFrame({'species': ['bear', 'bear', 'marsupial'], -... 'population': [1864, 22000, 80000]}, -... index=['panda', 'polar', 'koala']) ->>> df - species population -panda bear 1864 -polar bear 22000 -koala marsupial 80000 ->>> for label, content in df.items(): -... print(f'label: {label}') -... print(f'content: {content}', sep='\n') -... -label: species -content: -panda bear -polar bear -koala marsupial -Name: species, dtype: object -label: population -content: -panda 1864 -polar 22000 -koala 80000 -Name: population, dtype: int64 - """ - pass - def iterrows(self) -> Iterable[Tuple[Label, Series]]: ... - def itertuples(self, index: _bool = ..., name: Optional[str] = ...): ... - def __len__(self) -> int: ... - @overload - def dot(self, other: Union[DataFrame, ArrayLike]) -> DataFrame: ... - @overload - def dot(self, other: Series) -> Series: ... - def __matmul__(self, other): ... - def __rmatmul__(self, other): ... - @classmethod - def from_dict(cls, data, orient=..., dtype=..., columns=...) -> DataFrame: ... - def to_numpy( - self, dtype: Optional[Union[Type[DtypeNp], Dtype]] = ..., copy: _bool = ..., na_value: Optional[Any] = ... - ) -> _np.ndarray: ... - @overload - def to_dict( - self, - orient: Literal["records"], - into: Hashable = ..., - ) -> List[Dict[_str, Any]]: ... - @overload - def to_dict( - self, - orient: Literal["dict", "list", "series", "split", "index"] = ..., - into: Hashable = ..., - ) -> Dict[_str, Any]: ... - def to_gbq( - self, - destination_table, - project_id=..., - chunksize=..., - reauth=..., - if_exists=..., - auth_local_webserver=..., - table_schema=..., - location=..., - progress_bar=..., - credentials=..., - ) -> None: ... - @classmethod - def from_records(cls, data, index=..., exclude=..., columns=..., coerce_float=..., nrows=...) -> DataFrame: ... - def to_records( - self, - index: _bool = ..., - columnDTypes: Optional[Union[_str, Dict]] = ..., - indexDTypes: Optional[Union[_str, Dict]] = ..., - ) -> np.recarray: ... - def to_stata( - self, - path: FilePathOrBuffer, - convert_dates: Optional[Dict] = ..., - write_index: _bool = ..., - byteorder: Optional[Union[_str, Literal["<", ">", "little", "big"]]] = ..., - time_stamp=..., - data_label: Optional[_str] = ..., - variable_labels: Optional[Dict] = ..., - version: int = ..., - convert_strl: Optional[List[_str]] = ..., - ) -> None: ... - def to_feather(self, path: FilePathOrBuffer, **kwargs) -> None: ... - @overload - def to_markdown(self, buf: Optional[FilePathOrBuffer], mode: Optional[_str] = ..., **kwargs) -> None: - """ -Print DataFrame in Markdown-friendly format. - -.. versionadded:: 1.0.0 - -Parameters ----------- -buf : str, Path or StringIO-like, optional, default None - Buffer to write to. If None, the output is returned as a string. -mode : str, optional - Mode in which file is opened, "wt" by default. -index : bool, optional, default True - Add index (row) labels. - - .. versionadded:: 1.1.0 -storage_options : dict, optional - Extra options that make sense for a particular storage connection, e.g. - host, port, username, password, etc. For HTTP(S) URLs the key-value pairs - are forwarded to ``urllib`` as header options. For other URLs (e.g. - starting with "s3://", and "gcs://") the key-value pairs are forwarded to - ``fsspec``. Please see ``fsspec`` and ``urllib`` for more details. - - .. versionadded:: 1.2.0 - -**kwargs - These parameters will be passed to `tabulate `_. - -Returns -------- -str - DataFrame in Markdown-friendly format. - -Notes ------ -Requires the `tabulate `_ package. - -Examples - -------- - >>> df = pd.DataFrame( - ... data={"animal_1": ["elk", "pig"], "animal_2": ["dog", "quetzal"]} - ... ) - >>> print(df.to_markdown()) - | | animal_1 | animal_2 | - |---:|:-----------|:-----------| - | 0 | elk | dog | - | 1 | pig | quetzal | - - Output markdown with a tabulate option. - - >>> print(df.to_markdown(tablefmt="grid")) - +----+------------+------------+ - | | animal_1 | animal_2 | - +====+============+============+ - | 0 | elk | dog | - +----+------------+------------+ - | 1 | pig | quetzal | - +----+------------+------------+ - """ - pass - @overload - def to_markdown(self, mode: Optional[_str] = ..., **kwargs) -> _str: ... - @overload - def to_parquet( - self, - path: FilePathOrBytesBuffer, - *, - engine: Union[_str, Literal["auto", "pyarrow", "fastparquet"]] = ..., - compression: Union[_str, Literal["snappy", "gzip", "brotli"]] = ..., - index: Optional[_bool] = ..., - partition_cols: Optional[List] = ..., - **kwargs, - ) -> None: ... - @overload - def to_parquet( - self, - *, - path: None = ..., - engine: Union[_str, Literal["auto", "pyarrow", "fastparquet"]] = ..., - compression: Union[_str, Literal["snappy", "gzip", "brotli"]] = ..., - index: Optional[_bool] = ..., - partition_cols: Optional[List] = ..., - **kwargs, - ) -> bytes: ... - @overload - def to_html( - self, - buf: Optional[FilePathOrBuffer], - columns: Optional[Sequence[_str]] = ..., - col_space: Optional[Union[int, List[int], Dict[Union[_str, int], int]]] = ..., - header: _bool = ..., - index: _bool = ..., - na_rep: _str = ..., - formatters=..., - float_format=..., - sparsify: Optional[_bool] = ..., - index_names: _bool = ..., - justify: Optional[_str] = ..., - max_rows: Optional[int] = ..., - max_cols: Optional[int] = ..., - show_dimensions: _bool = ..., - decimal: _str = ..., - bold_rows: _bool = ..., - classes: Optional[Union[_str, List, Tuple]] = ..., - escape: _bool = ..., - notebook: _bool = ..., - border: Optional[int] = ..., - table_id: Optional[_str] = ..., - render_links: _bool = ..., - encoding: Optional[_str] = ..., - ) -> None: ... - @overload - def to_html( - self, - columns: Optional[Sequence[_str]] = ..., - col_space: Optional[Union[int, List[int], Dict[Union[_str, int], int]]] = ..., - header: _bool = ..., - index: _bool = ..., - na_rep: _str = ..., - formatters=..., - float_format=..., - sparsify: Optional[_bool] = ..., - index_names: _bool = ..., - justify: Optional[_str] = ..., - max_rows: Optional[int] = ..., - max_cols: Optional[int] = ..., - show_dimensions: _bool = ..., - decimal: _str = ..., - bold_rows: _bool = ..., - classes: Optional[Union[_str, List, Tuple]] = ..., - escape: _bool = ..., - notebook: _bool = ..., - border: Optional[int] = ..., - table_id: Optional[_str] = ..., - render_links: _bool = ..., - encoding: Optional[_str] = ..., - ) -> _str: ... - def info(self, verbose=..., buf=..., max_cols=..., memory_usage=..., null_counts=...) -> None: ... - def memory_usage(self, index: _bool = ..., deep: _bool = ...) -> Series: ... - def transpose(self, *args, copy: _bool = ...) -> DataFrame: ... - @property - def T(self) -> DataFrame: ... - @overload - def __getitem__(self, idx: Scalar) -> Series: ... - @overload - def __getitem__(self, rows: slice) -> DataFrame: ... - @overload - def __getitem__( - self, - idx: Union[ - Tuple, - Series[_bool], - DataFrame, - List[_str], - List[Hashable], - Index, - np_ndarray_str, - Sequence[Tuple[Scalar, ...]], - ], - ) -> DataFrame: ... - def __setitem__(self, key, value): ... - @overload - def query(self, expr: _str, *, inplace: Literal[True], **kwargs) -> None: ... - @overload - def query(self, expr: _str, *, inplace: Literal[False] = ..., **kwargs) -> DataFrame: ... - def eval(self, expr: _str, inplace: _bool = ..., **kwargs): ... - def select_dtypes( - self, - include: Optional[Union[_str, List[_str]]] = ..., - exclude: Optional[Union[_str, List[_str]]] = ..., - ) -> DataFrame: ... - def insert( - self, - loc: int, - column, - value: Union[int, _ListLike], - allow_duplicates: _bool = ..., - ) -> None: ... - def assign(self, **kwargs) -> DataFrame: ... - def lookup(self, row_labels: Sequence, col_labels: Sequence) -> np.ndarray: ... - def align( - self, - other: Union[DataFrame, Series], - join: Union[_str, Literal["inner", "outer", "left", "right"]] = ..., - axis: Optional[AxisType] = ..., - level: Optional[Level] = ..., - copy: _bool = ..., - fill_value=..., - method: Optional[Union[_str, Literal["backfill", "bfill", "pad", "ffill"]]] = ..., - limit: Optional[int] = ..., - fill_axis: AxisType = ..., - broadcast_axis: Optional[AxisType] = ..., - ) -> DataFrame: - """ -Align two objects on their axes with the specified join method. - -Join method is specified for each axis Index. - -Parameters ----------- -other : DataFrame or Series -join : {'outer', 'inner', 'left', 'right'}, default 'outer' -axis : allowed axis of the other object, default None - Align on index (0), columns (1), or both (None). -level : int or level name, default None - Broadcast across a level, matching Index values on the - passed MultiIndex level. -copy : bool, default True - Always returns new objects. If copy=False and no reindexing is - required then original objects are returned. -fill_value : scalar, default np.NaN - Value to use for missing values. Defaults to NaN, but can be any - "compatible" value. -method : {'backfill', 'bfill', 'pad', 'ffill', None}, default None - Method to use for filling holes in reindexed Series: - - - pad / ffill: propagate last valid observation forward to next valid. - - backfill / bfill: use NEXT valid observation to fill gap. - -limit : int, default None - If method is specified, this is the maximum number of consecutive - NaN values to forward/backward fill. In other words, if there is - a gap with more than this number of consecutive NaNs, it will only - be partially filled. If method is not specified, this is the - maximum number of entries along the entire axis where NaNs will be - filled. Must be greater than 0 if not None. -fill_axis : {0 or 'index', 1 or 'columns'}, default 0 - Filling axis, method and limit. -broadcast_axis : {0 or 'index', 1 or 'columns'}, default None - Broadcast values along this axis, if aligning two objects of - different dimensions. - -Returns -------- -(left, right) : (DataFrame, type of other) - Aligned objects. - -Examples --------- ->>> df = pd.DataFrame( -... [[1, 2, 3, 4], [6, 7, 8, 9]], columns=["D", "B", "E", "A"], index=[1, 2] -... ) ->>> other = pd.DataFrame( -... [[10, 20, 30, 40], [60, 70, 80, 90], [600, 700, 800, 900]], -... columns=["A", "B", "C", "D"], -... index=[2, 3, 4], -... ) ->>> df - D B E A -1 1 2 3 4 -2 6 7 8 9 ->>> other - A B C D -2 10 20 30 40 -3 60 70 80 90 -4 600 700 800 900 - -Align on columns: - ->>> left, right = df.align(other, join="outer", axis=1) ->>> left - A B C D E -1 4 2 NaN 1 3 -2 9 7 NaN 6 8 ->>> right - A B C D E -2 10 20 30 40 NaN -3 60 70 80 90 NaN -4 600 700 800 900 NaN - -We can also align on the index: - ->>> left, right = df.align(other, join="outer", axis=0) ->>> left - D B E A -1 1.0 2.0 3.0 4.0 -2 6.0 7.0 8.0 9.0 -3 NaN NaN NaN NaN -4 NaN NaN NaN NaN ->>> right - A B C D -1 NaN NaN NaN NaN -2 10.0 20.0 30.0 40.0 -3 60.0 70.0 80.0 90.0 -4 600.0 700.0 800.0 900.0 - -Finally, the default `axis=None` will align on both index and columns: - ->>> left, right = df.align(other, join="outer", axis=None) ->>> left - A B C D E -1 4.0 2.0 NaN 1.0 3.0 -2 9.0 7.0 NaN 6.0 8.0 -3 NaN NaN NaN NaN NaN -4 NaN NaN NaN NaN NaN ->>> right - A B C D E -1 NaN NaN NaN NaN NaN -2 10.0 20.0 30.0 40.0 NaN -3 60.0 70.0 80.0 90.0 NaN -4 600.0 700.0 800.0 900.0 NaN - """ - pass - def reindex(**kwargs) -> DataFrame: - """ -Conform Series/DataFrame to new index with optional filling logic. - -Places NA/NaN in locations having no value in the previous index. A new object -is produced unless the new index is equivalent to the current one and -``copy=False``. - -Parameters ----------- - -keywords for axes : array-like, optional - New labels / index to conform to, should be specified using - keywords. Preferably an Index object to avoid duplicating data. - -method : {None, 'backfill'/'bfill', 'pad'/'ffill', 'nearest'} - Method to use for filling holes in reindexed DataFrame. - Please note: this is only applicable to DataFrames/Series with a - monotonically increasing/decreasing index. - - * None (default): don't fill gaps - * pad / ffill: Propagate last valid observation forward to next - valid. - * backfill / bfill: Use next valid observation to fill gap. - * nearest: Use nearest valid observations to fill gap. - -copy : bool, default True - Return a new object, even if the passed indexes are the same. -level : int or name - Broadcast across a level, matching Index values on the - passed MultiIndex level. -fill_value : scalar, default np.NaN - Value to use for missing values. Defaults to NaN, but can be any - "compatible" value. -limit : int, default None - Maximum number of consecutive elements to forward or backward fill. -tolerance : optional - Maximum distance between original and new labels for inexact - matches. The values of the index at the matching locations most - satisfy the equation ``abs(index[indexer] - target) <= tolerance``. - - Tolerance may be a scalar value, which applies the same tolerance - to all values, or list-like, which applies variable tolerance per - element. List-like includes list, tuple, array, Series, and must be - the same size as the index and its dtype must exactly match the - index's type. - -Returns -------- -Series/DataFrame with changed index. - -See Also --------- -DataFrame.set_index : Set row labels. -DataFrame.reset_index : Remove row labels or move them to new columns. -DataFrame.reindex_like : Change to same indices as other DataFrame. - -Examples --------- -``DataFrame.reindex`` supports two calling conventions - -* ``(index=index_labels, columns=column_labels, ...)`` -* ``(labels, axis={'index', 'columns'}, ...)`` - -We *highly* recommend using keyword arguments to clarify your -intent. - -Create a dataframe with some fictional data. - ->>> index = ['Firefox', 'Chrome', 'Safari', 'IE10', 'Konqueror'] ->>> df = pd.DataFrame({'http_status': [200, 200, 404, 404, 301], -... 'response_time': [0.04, 0.02, 0.07, 0.08, 1.0]}, -... index=index) ->>> df - http_status response_time -Firefox 200 0.04 -Chrome 200 0.02 -Safari 404 0.07 -IE10 404 0.08 -Konqueror 301 1.00 - -Create a new index and reindex the dataframe. By default -values in the new index that do not have corresponding -records in the dataframe are assigned ``NaN``. - ->>> new_index = ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10', -... 'Chrome'] ->>> df.reindex(new_index) - http_status response_time -Safari 404.0 0.07 -Iceweasel NaN NaN -Comodo Dragon NaN NaN -IE10 404.0 0.08 -Chrome 200.0 0.02 - -We can fill in the missing values by passing a value to -the keyword ``fill_value``. Because the index is not monotonically -increasing or decreasing, we cannot use arguments to the keyword -``method`` to fill the ``NaN`` values. - ->>> df.reindex(new_index, fill_value=0) - http_status response_time -Safari 404 0.07 -Iceweasel 0 0.00 -Comodo Dragon 0 0.00 -IE10 404 0.08 -Chrome 200 0.02 - ->>> df.reindex(new_index, fill_value='missing') - http_status response_time -Safari 404 0.07 -Iceweasel missing missing -Comodo Dragon missing missing -IE10 404 0.08 -Chrome 200 0.02 - -We can also reindex the columns. - ->>> df.reindex(columns=['http_status', 'user_agent']) - http_status user_agent -Firefox 200 NaN -Chrome 200 NaN -Safari 404 NaN -IE10 404 NaN -Konqueror 301 NaN - -Or we can use "axis-style" keyword arguments - ->>> df.reindex(['http_status', 'user_agent'], axis="columns") - http_status user_agent -Firefox 200 NaN -Chrome 200 NaN -Safari 404 NaN -IE10 404 NaN -Konqueror 301 NaN - -To further illustrate the filling functionality in -``reindex``, we will create a dataframe with a -monotonically increasing index (for example, a sequence -of dates). - ->>> date_index = pd.date_range('1/1/2010', periods=6, freq='D') ->>> df2 = pd.DataFrame({"prices": [100, 101, np.nan, 100, 89, 88]}, -... index=date_index) ->>> df2 - prices -2010-01-01 100.0 -2010-01-02 101.0 -2010-01-03 NaN -2010-01-04 100.0 -2010-01-05 89.0 -2010-01-06 88.0 - -Suppose we decide to expand the dataframe to cover a wider -date range. - ->>> date_index2 = pd.date_range('12/29/2009', periods=10, freq='D') ->>> df2.reindex(date_index2) - prices -2009-12-29 NaN -2009-12-30 NaN -2009-12-31 NaN -2010-01-01 100.0 -2010-01-02 101.0 -2010-01-03 NaN -2010-01-04 100.0 -2010-01-05 89.0 -2010-01-06 88.0 -2010-01-07 NaN - -The index entries that did not have a value in the original data frame -(for example, '2009-12-29') are by default filled with ``NaN``. -If desired, we can fill in the missing values using one of several -options. - -For example, to back-propagate the last valid value to fill the ``NaN`` -values, pass ``bfill`` as an argument to the ``method`` keyword. - ->>> df2.reindex(date_index2, method='bfill') - prices -2009-12-29 100.0 -2009-12-30 100.0 -2009-12-31 100.0 -2010-01-01 100.0 -2010-01-02 101.0 -2010-01-03 NaN -2010-01-04 100.0 -2010-01-05 89.0 -2010-01-06 88.0 -2010-01-07 NaN - -Please note that the ``NaN`` value present in the original dataframe -(at index value 2010-01-03) will not be filled by any of the -value propagation schemes. This is because filling while reindexing -does not look at dataframe values, but only compares the original and -desired indexes. If you do want to fill in the ``NaN`` values present -in the original dataframe, use the ``fillna()`` method. - -See the :ref:`user guide ` for more. - """ - pass - @overload - def drop( - self, - labels: Hashable | list[Hashable] = ..., - *, - axis: Axis = ..., - index: Hashable | list[Hashable] = ..., - columns: Hashable | list[Hashable] = ..., - level: Optional[Level] = ..., - inplace: Literal[True], - errors: IgnoreRaise = ..., - ) -> None: ... - @overload - def drop( - self, - labels: Hashable | list[Hashable] = ..., - *, - axis: Axis = ..., - index: Hashable | list[Hashable] = ..., - columns: Hashable | list[Hashable] = ..., - level: Optional[Level] = ..., - inplace: Literal[False] = ..., - errors: IgnoreRaise = ..., - ) -> DataFrame: ... - @overload - def drop( - self, - labels: Hashable | list[Hashable] = ..., - *, - axis: Axis = ..., - index: Hashable | list[Hashable] = ..., - columns: Hashable | list[Hashable] = ..., - level: Optional[Level] = ..., - inplace: bool = ..., - errors: IgnoreRaise = ..., - ) -> DataFrame | None: ... - @overload - def rename( - self, - mapper: Optional[Renamer] = ..., - *, - index: Optional[Renamer] = ..., - columns: Optional[Renamer] = ..., - axis: Optional[Axis] = ..., - copy: bool = ..., - inplace: Literal[True], - level: Optional[Level] = ..., - errors: IgnoreRaise = ..., - ) -> None: ... - @overload - def rename( - self, - mapper: Optional[Renamer] = ..., - *, - index: Optional[Renamer] = ..., - columns: Optional[Renamer] = ..., - axis: Optional[Axis] = ..., - copy: bool = ..., - inplace: Literal[False] = ..., - level: Optional[Level] = ..., - errors: IgnoreRaise = ..., - ) -> DataFrame: ... - @overload - def rename( - self, - mapper: Optional[Renamer] = ..., - *, - index: Optional[Renamer] = ..., - columns: Optional[Renamer] = ..., - axis: Optional[Axis] = ..., - copy: bool = ..., - inplace: bool = ..., - level: Optional[Level] = ..., - errors: IgnoreRaise = ..., - ) -> Optional[DataFrame]: ... - @overload - def fillna( - self, - value: Optional[Union[Scalar, Dict, Series, DataFrame]] = ..., - method: Optional[Literal["backfill", "bfill", "ffill", "pad"]] = ..., - axis: Optional[AxisType] = ..., - limit: int = ..., - downcast: Optional[Dict] = ..., - *, - inplace: Literal[True], - ) -> None: - """ -Fill NA/NaN values using the specified method. - -Parameters ----------- -value : scalar, dict, Series, or DataFrame - Value to use to fill holes (e.g. 0), alternately a - dict/Series/DataFrame of values specifying which value to use for - each index (for a Series) or column (for a DataFrame). Values not - in the dict/Series/DataFrame will not be filled. This value cannot - be a list. -method : {'backfill', 'bfill', 'pad', 'ffill', None}, default None - Method to use for filling holes in reindexed Series - pad / ffill: propagate last valid observation forward to next valid - backfill / bfill: use next valid observation to fill gap. -axis : {0 or 'index', 1 or 'columns'} - Axis along which to fill missing values. -inplace : bool, default False - If True, fill in-place. Note: this will modify any - other views on this object (e.g., a no-copy slice for a column in a - DataFrame). -limit : int, default None - If method is specified, this is the maximum number of consecutive - NaN values to forward/backward fill. In other words, if there is - a gap with more than this number of consecutive NaNs, it will only - be partially filled. If method is not specified, this is the - maximum number of entries along the entire axis where NaNs will be - filled. Must be greater than 0 if not None. -downcast : dict, default is None - A dict of item->dtype of what to downcast if possible, - or the string 'infer' which will try to downcast to an appropriate - equal type (e.g. float64 to int64 if possible). - -Returns -------- -DataFrame or None - Object with missing values filled or None if ``inplace=True``. - -See Also --------- -interpolate : Fill NaN values using interpolation. -reindex : Conform object to new index. -asfreq : Convert TimeSeries to specified frequency. - -Examples --------- ->>> df = pd.DataFrame([[np.nan, 2, np.nan, 0], -... [3, 4, np.nan, 1], -... [np.nan, np.nan, np.nan, np.nan], -... [np.nan, 3, np.nan, 4]], -... columns=list("ABCD")) ->>> df - A B C D -0 NaN 2.0 NaN 0.0 -1 3.0 4.0 NaN 1.0 -2 NaN NaN NaN NaN -3 NaN 3.0 NaN 4.0 - -Replace all NaN elements with 0s. - ->>> df.fillna(0) - A B C D -0 0.0 2.0 0.0 0.0 -1 3.0 4.0 0.0 1.0 -2 0.0 0.0 0.0 0.0 -3 0.0 3.0 0.0 4.0 - -We can also propagate non-null values forward or backward. - ->>> df.fillna(method="ffill") - A B C D -0 NaN 2.0 NaN 0.0 -1 3.0 4.0 NaN 1.0 -2 3.0 4.0 NaN 1.0 -3 3.0 3.0 NaN 4.0 - -Replace all NaN elements in column 'A', 'B', 'C', and 'D', with 0, 1, -2, and 3 respectively. - ->>> values = {"A": 0, "B": 1, "C": 2, "D": 3} ->>> df.fillna(value=values) - A B C D -0 0.0 2.0 2.0 0.0 -1 3.0 4.0 2.0 1.0 -2 0.0 1.0 2.0 3.0 -3 0.0 3.0 2.0 4.0 - -Only replace the first NaN element. - ->>> df.fillna(value=values, limit=1) - A B C D -0 0.0 2.0 2.0 0.0 -1 3.0 4.0 NaN 1.0 -2 NaN 1.0 NaN 3.0 -3 NaN 3.0 NaN 4.0 - -When filling using a DataFrame, replacement happens along -the same column names and same indices - ->>> df2 = pd.DataFrame(np.zeros((4, 4)), columns=list("ABCE")) ->>> df.fillna(df2) - A B C D -0 0.0 2.0 0.0 0.0 -1 3.0 4.0 0.0 1.0 -2 0.0 0.0 0.0 NaN -3 0.0 3.0 0.0 4.0 - -Note that column D is not affected since it is not present in df2. - """ - pass - @overload - def fillna( - self, - value: Optional[Union[Scalar, Dict, Series, DataFrame]] = ..., - method: Optional[Literal["backfill", "bfill", "ffill", "pad"]] = ..., - axis: Optional[AxisType] = ..., - limit: int = ..., - downcast: Optional[Dict] = ..., - *, - inplace: Literal[False] = ..., - ) -> DataFrame: ... - @overload - def fillna( - self, - value: Optional[Union[Scalar, Dict, Series, DataFrame]] = ..., - method: Optional[Union[_str, Literal["backfill", "bfill", "ffill", "pad"]]] = ..., - axis: Optional[AxisType] = ..., - *, - limit: int = ..., - downcast: Optional[Dict] = ..., - ) -> Union[None, DataFrame]: ... - @overload - def fillna( - self, - value: Optional[Union[Scalar, Dict, Series, DataFrame]] = ..., - method: Optional[Union[_str, Literal["backfill", "bfill", "ffill", "pad"]]] = ..., - axis: Optional[AxisType] = ..., - inplace: Optional[_bool] = ..., - limit: int = ..., - downcast: Optional[Dict] = ..., - ) -> Union[None, DataFrame]: ... - @overload - def replace( - self, - to_replace=..., - value: Optional[Union[Scalar, Sequence, Mapping, Pattern]] = ..., - limit: Optional[int] = ..., - regex=..., - method: Optional[_str] = ..., - *, - inplace: Literal[True], - ) -> None: - """ -Replace values given in `to_replace` with `value`. - -Values of the DataFrame are replaced with other values dynamically. - -This differs from updating with ``.loc`` or ``.iloc``, which require -you to specify a location to update with some value. - -Parameters ----------- -to_replace : str, regex, list, dict, Series, int, float, or None - How to find the values that will be replaced. - - * numeric, str or regex: - - - numeric: numeric values equal to `to_replace` will be - replaced with `value` - - str: string exactly matching `to_replace` will be replaced - with `value` - - regex: regexs matching `to_replace` will be replaced with - `value` - - * list of str, regex, or numeric: - - - First, if `to_replace` and `value` are both lists, they - **must** be the same length. - - Second, if ``regex=True`` then all of the strings in **both** - lists will be interpreted as regexs otherwise they will match - directly. This doesn't matter much for `value` since there - are only a few possible substitution regexes you can use. - - str, regex and numeric rules apply as above. - - * dict: - - - Dicts can be used to specify different replacement values - for different existing values. For example, - ``{'a': 'b', 'y': 'z'}`` replaces the value 'a' with 'b' and - 'y' with 'z'. To use a dict in this way the `value` - parameter should be `None`. - - For a DataFrame a dict can specify that different values - should be replaced in different columns. For example, - ``{'a': 1, 'b': 'z'}`` looks for the value 1 in column 'a' - and the value 'z' in column 'b' and replaces these values - with whatever is specified in `value`. The `value` parameter - should not be ``None`` in this case. You can treat this as a - special case of passing two lists except that you are - specifying the column to search in. - - For a DataFrame nested dictionaries, e.g., - ``{'a': {'b': np.nan}}``, are read as follows: look in column - 'a' for the value 'b' and replace it with NaN. The `value` - parameter should be ``None`` to use a nested dict in this - way. You can nest regular expressions as well. Note that - column names (the top-level dictionary keys in a nested - dictionary) **cannot** be regular expressions. - - * None: - - - This means that the `regex` argument must be a string, - compiled regular expression, or list, dict, ndarray or - Series of such elements. If `value` is also ``None`` then - this **must** be a nested dictionary or Series. - - See the examples section for examples of each of these. -value : scalar, dict, list, str, regex, default None - Value to replace any values matching `to_replace` with. - For a DataFrame a dict of values can be used to specify which - value to use for each column (columns not in the dict will not be - filled). Regular expressions, strings and lists or dicts of such - objects are also allowed. - -inplace : bool, default False - If True, performs operation inplace and returns None. -limit : int, default None - Maximum size gap to forward or backward fill. -regex : bool or same types as `to_replace`, default False - Whether to interpret `to_replace` and/or `value` as regular - expressions. If this is ``True`` then `to_replace` *must* be a - string. Alternatively, this could be a regular expression or a - list, dict, or array of regular expressions in which case - `to_replace` must be ``None``. -method : {'pad', 'ffill', 'bfill', `None`} - The method to use when for replacement, when `to_replace` is a - scalar, list or tuple and `value` is ``None``. - - .. versionchanged:: 0.23.0 - Added to DataFrame. - -Returns -------- -DataFrame - Object after replacement. - -Raises ------- -AssertionError - * If `regex` is not a ``bool`` and `to_replace` is not - ``None``. - -TypeError - * If `to_replace` is not a scalar, array-like, ``dict``, or ``None`` - * If `to_replace` is a ``dict`` and `value` is not a ``list``, - ``dict``, ``ndarray``, or ``Series`` - * If `to_replace` is ``None`` and `regex` is not compilable - into a regular expression or is a list, dict, ndarray, or - Series. - * When replacing multiple ``bool`` or ``datetime64`` objects and - the arguments to `to_replace` does not match the type of the - value being replaced - -ValueError - * If a ``list`` or an ``ndarray`` is passed to `to_replace` and - `value` but they are not the same length. - -See Also --------- -DataFrame.fillna : Fill NA values. -DataFrame.where : Replace values based on boolean condition. -Series.str.replace : Simple string replacement. - -Notes ------ -* Regex substitution is performed under the hood with ``re.sub``. The - rules for substitution for ``re.sub`` are the same. -* Regular expressions will only substitute on strings, meaning you - cannot provide, for example, a regular expression matching floating - point numbers and expect the columns in your frame that have a - numeric dtype to be matched. However, if those floating point - numbers *are* strings, then you can do this. -* This method has *a lot* of options. You are encouraged to experiment - and play with this method to gain intuition about how it works. -* When dict is used as the `to_replace` value, it is like - key(s) in the dict are the to_replace part and - value(s) in the dict are the value parameter. - -Examples --------- - -**Scalar `to_replace` and `value`** - ->>> s = pd.Series([1, 2, 3, 4, 5]) ->>> s.replace(1, 5) -0 5 -1 2 -2 3 -3 4 -4 5 -dtype: int64 - ->>> df = pd.DataFrame({'A': [0, 1, 2, 3, 4], -... 'B': [5, 6, 7, 8, 9], -... 'C': ['a', 'b', 'c', 'd', 'e']}) ->>> df.replace(0, 5) - A B C -0 5 5 a -1 1 6 b -2 2 7 c -3 3 8 d -4 4 9 e - -**List-like `to_replace`** - ->>> df.replace([0, 1, 2, 3], 4) - A B C -0 4 5 a -1 4 6 b -2 4 7 c -3 4 8 d -4 4 9 e - ->>> df.replace([0, 1, 2, 3], [4, 3, 2, 1]) - A B C -0 4 5 a -1 3 6 b -2 2 7 c -3 1 8 d -4 4 9 e - ->>> s.replace([1, 2], method='bfill') -0 3 -1 3 -2 3 -3 4 -4 5 -dtype: int64 - -**dict-like `to_replace`** - ->>> df.replace({0: 10, 1: 100}) - A B C -0 10 5 a -1 100 6 b -2 2 7 c -3 3 8 d -4 4 9 e - ->>> df.replace({'A': 0, 'B': 5}, 100) - A B C -0 100 100 a -1 1 6 b -2 2 7 c -3 3 8 d -4 4 9 e - ->>> df.replace({'A': {0: 100, 4: 400}}) - A B C -0 100 5 a -1 1 6 b -2 2 7 c -3 3 8 d -4 400 9 e - -**Regular expression `to_replace`** - ->>> df = pd.DataFrame({'A': ['bat', 'foo', 'bait'], -... 'B': ['abc', 'bar', 'xyz']}) ->>> df.replace(to_replace=r'^ba.$', value='new', regex=True) - A B -0 new abc -1 foo new -2 bait xyz - ->>> df.replace({'A': r'^ba.$'}, {'A': 'new'}, regex=True) - A B -0 new abc -1 foo bar -2 bait xyz - ->>> df.replace(regex=r'^ba.$', value='new') - A B -0 new abc -1 foo new -2 bait xyz - ->>> df.replace(regex={r'^ba.$': 'new', 'foo': 'xyz'}) - A B -0 new abc -1 xyz new -2 bait xyz - ->>> df.replace(regex=[r'^ba.$', 'foo'], value='new') - A B -0 new abc -1 new new -2 bait xyz - -Compare the behavior of ``s.replace({'a': None})`` and -``s.replace('a', None)`` to understand the peculiarities -of the `to_replace` parameter: - ->>> s = pd.Series([10, 'a', 'a', 'b', 'a']) - -When one uses a dict as the `to_replace` value, it is like the -value(s) in the dict are equal to the `value` parameter. -``s.replace({'a': None})`` is equivalent to -``s.replace(to_replace={'a': None}, value=None, method=None)``: - ->>> s.replace({'a': None}) -0 10 -1 None -2 None -3 b -4 None -dtype: object - -When ``value`` is not explicitly passed and `to_replace` is a scalar, list -or tuple, `replace` uses the method parameter (default 'pad') to do the -replacement. So this is why the 'a' values are being replaced by 10 -in rows 1 and 2 and 'b' in row 4 in this case. - ->>> s.replace('a') -0 10 -1 10 -2 10 -3 b -4 b -dtype: object - -On the other hand, if ``None`` is explicitly passed for ``value``, it will -be respected: - ->>> s.replace('a', None) -0 10 -1 None -2 None -3 b -4 None -dtype: object - - .. versionchanged:: 1.4.0 - Previously the explicit ``None`` was silently ignored. - """ - pass - @overload - def replace( - self, - to_replace=..., - value: Optional[Union[Scalar, Sequence, Mapping, Pattern]] = ..., - limit: Optional[int] = ..., - regex=..., - method: Optional[_str] = ..., - *, - inplace: Literal[False], - ) -> DataFrame: ... - @overload - def replace( - self, - to_replace=..., - value: Optional[Union[Scalar, Sequence, Mapping, Pattern]] = ..., - *, - limit: Optional[int] = ..., - regex=..., - method: Optional[_str] = ..., - ) -> DataFrame: ... - @overload - def replace( - self, - to_replace=..., - value: Optional[Union[Scalar, Sequence, Mapping, Pattern]] = ..., - inplace: Optional[_bool] = ..., - limit: Optional[int] = ..., - regex=..., - method: Optional[_str] = ..., - ) -> Union[None, DataFrame]: ... - def shift( - self, - periods: int = ..., - freq=..., - axis: AxisType = ..., - fill_value: Optional[Hashable] = ..., - ) -> DataFrame: - """ -Shift index by desired number of periods with an optional time `freq`. - -When `freq` is not passed, shift the index without realigning the data. -If `freq` is passed (in this case, the index must be date or datetime, -or it will raise a `NotImplementedError`), the index will be -increased using the periods and the `freq`. `freq` can be inferred -when specified as "infer" as long as either freq or inferred_freq -attribute is set in the index. - -Parameters ----------- -periods : int - Number of periods to shift. Can be positive or negative. -freq : DateOffset, tseries.offsets, timedelta, or str, optional - Offset to use from the tseries module or time rule (e.g. 'EOM'). - If `freq` is specified then the index values are shifted but the - data is not realigned. That is, use `freq` if you would like to - extend the index when shifting and preserve the original data. - If `freq` is specified as "infer" then it will be inferred from - the freq or inferred_freq attributes of the index. If neither of - those attributes exist, a ValueError is thrown. -axis : {0 or 'index', 1 or 'columns', None}, default None - Shift direction. -fill_value : object, optional - The scalar value to use for newly introduced missing values. - the default depends on the dtype of `self`. - For numeric data, ``np.nan`` is used. - For datetime, timedelta, or period data, etc. :attr:`NaT` is used. - For extension dtypes, ``self.dtype.na_value`` is used. - - .. versionchanged:: 1.1.0 - -Returns -------- -DataFrame - Copy of input object, shifted. - -See Also --------- -Index.shift : Shift values of Index. -DatetimeIndex.shift : Shift values of DatetimeIndex. -PeriodIndex.shift : Shift values of PeriodIndex. -tshift : Shift the time index, using the index's frequency if - available. - -Examples --------- ->>> df = pd.DataFrame({"Col1": [10, 20, 15, 30, 45], -... "Col2": [13, 23, 18, 33, 48], -... "Col3": [17, 27, 22, 37, 52]}, -... index=pd.date_range("2020-01-01", "2020-01-05")) ->>> df - Col1 Col2 Col3 -2020-01-01 10 13 17 -2020-01-02 20 23 27 -2020-01-03 15 18 22 -2020-01-04 30 33 37 -2020-01-05 45 48 52 - ->>> df.shift(periods=3) - Col1 Col2 Col3 -2020-01-01 NaN NaN NaN -2020-01-02 NaN NaN NaN -2020-01-03 NaN NaN NaN -2020-01-04 10.0 13.0 17.0 -2020-01-05 20.0 23.0 27.0 - ->>> df.shift(periods=1, axis="columns") - Col1 Col2 Col3 -2020-01-01 NaN 10 13 -2020-01-02 NaN 20 23 -2020-01-03 NaN 15 18 -2020-01-04 NaN 30 33 -2020-01-05 NaN 45 48 - ->>> df.shift(periods=3, fill_value=0) - Col1 Col2 Col3 -2020-01-01 0 0 0 -2020-01-02 0 0 0 -2020-01-03 0 0 0 -2020-01-04 10 13 17 -2020-01-05 20 23 27 - ->>> df.shift(periods=3, freq="D") - Col1 Col2 Col3 -2020-01-04 10 13 17 -2020-01-05 20 23 27 -2020-01-06 15 18 22 -2020-01-07 30 33 37 -2020-01-08 45 48 52 - ->>> df.shift(periods=3, freq="infer") - Col1 Col2 Col3 -2020-01-04 10 13 17 -2020-01-05 20 23 27 -2020-01-06 15 18 22 -2020-01-07 30 33 37 -2020-01-08 45 48 52 - """ - pass - @overload - def set_index( - self, - keys: Union[Label, Sequence], - drop: _bool = ..., - append: _bool = ..., - verify_integrity: _bool = ..., - *, - inplace: Literal[True], - ) -> None: ... - @overload - def set_index( - self, - keys: Union[Label, Sequence], - drop: _bool = ..., - append: _bool = ..., - verify_integrity: _bool = ..., - *, - inplace: Literal[False], - ) -> DataFrame: ... - @overload - def set_index( - self, - keys: Union[Label, Sequence], - drop: _bool = ..., - append: _bool = ..., - *, - verify_integrity: _bool = ..., - ) -> DataFrame: ... - @overload - def set_index( - self, - keys: Union[Label, Sequence], - drop: _bool = ..., - append: _bool = ..., - inplace: Optional[_bool] = ..., - verify_integrity: _bool = ..., - ) -> Union[None, DataFrame]: ... - @overload - def reset_index( - self, - level: Union[Level, Sequence[Level]] = ..., - drop: _bool = ..., - col_level: Union[int, _str] = ..., - col_fill: Hashable = ..., - *, - inplace: Literal[True], - ) -> None: ... - @overload - def reset_index( - self, - level: Union[Level, Sequence[Level]] = ..., - drop: _bool = ..., - col_level: Union[int, _str] = ..., - col_fill: Hashable = ..., - *, - inplace: Literal[False], - ) -> DataFrame: ... - @overload - def reset_index( - self, - level: Union[Level, Sequence[Level]] = ..., - drop: _bool = ..., - *, - col_level: Union[int, _str] = ..., - col_fill: Hashable = ..., - ) -> DataFrame: ... - @overload - def reset_index( - self, - level: Union[Level, Sequence[Level]] = ..., - drop: _bool = ..., - inplace: Optional[_bool] = ..., - col_level: Union[int, _str] = ..., - col_fill: Hashable = ..., - ) -> Union[None, DataFrame]: ... - def isna(self) -> DataFrame: - """ -Detect missing values. - -Return a boolean same-sized object indicating if the values are NA. -NA values, such as None or :attr:`numpy.NaN`, gets mapped to True -values. -Everything else gets mapped to False values. Characters such as empty -strings ``''`` or :attr:`numpy.inf` are not considered NA values -(unless you set ``pandas.options.mode.use_inf_as_na = True``). - -Returns -------- -DataFrame - Mask of bool values for each element in DataFrame that - indicates whether an element is an NA value. - -See Also --------- -DataFrame.isnull : Alias of isna. -DataFrame.notna : Boolean inverse of isna. -DataFrame.dropna : Omit axes labels with missing values. -isna : Top-level isna. - -Examples --------- -Show which entries in a DataFrame are NA. - ->>> df = pd.DataFrame(dict(age=[5, 6, np.NaN], -... born=[pd.NaT, pd.Timestamp('1939-05-27'), -... pd.Timestamp('1940-04-25')], -... name=['Alfred', 'Batman', ''], -... toy=[None, 'Batmobile', 'Joker'])) ->>> df - age born name toy -0 5.0 NaT Alfred None -1 6.0 1939-05-27 Batman Batmobile -2 NaN 1940-04-25 Joker - ->>> df.isna() - age born name toy -0 False True False True -1 False False False False -2 True False False False - -Show which entries in a Series are NA. - ->>> ser = pd.Series([5, 6, np.NaN]) ->>> ser -0 5.0 -1 6.0 -2 NaN -dtype: float64 - ->>> ser.isna() -0 False -1 False -2 True -dtype: bool - """ - pass - def isnull(self) -> DataFrame: - """ -DataFrame.isnull is an alias for DataFrame.isna. - -Detect missing values. - -Return a boolean same-sized object indicating if the values are NA. -NA values, such as None or :attr:`numpy.NaN`, gets mapped to True -values. -Everything else gets mapped to False values. Characters such as empty -strings ``''`` or :attr:`numpy.inf` are not considered NA values -(unless you set ``pandas.options.mode.use_inf_as_na = True``). - -Returns -------- -DataFrame - Mask of bool values for each element in DataFrame that - indicates whether an element is an NA value. - -See Also --------- -DataFrame.isnull : Alias of isna. -DataFrame.notna : Boolean inverse of isna. -DataFrame.dropna : Omit axes labels with missing values. -isna : Top-level isna. - -Examples --------- -Show which entries in a DataFrame are NA. - ->>> df = pd.DataFrame(dict(age=[5, 6, np.NaN], -... born=[pd.NaT, pd.Timestamp('1939-05-27'), -... pd.Timestamp('1940-04-25')], -... name=['Alfred', 'Batman', ''], -... toy=[None, 'Batmobile', 'Joker'])) ->>> df - age born name toy -0 5.0 NaT Alfred None -1 6.0 1939-05-27 Batman Batmobile -2 NaN 1940-04-25 Joker - ->>> df.isna() - age born name toy -0 False True False True -1 False False False False -2 True False False False - -Show which entries in a Series are NA. - ->>> ser = pd.Series([5, 6, np.NaN]) ->>> ser -0 5.0 -1 6.0 -2 NaN -dtype: float64 - ->>> ser.isna() -0 False -1 False -2 True -dtype: bool - """ - pass - def notna(self) -> DataFrame: - """ -Detect existing (non-missing) values. - -Return a boolean same-sized object indicating if the values are not NA. -Non-missing values get mapped to True. Characters such as empty -strings ``''`` or :attr:`numpy.inf` are not considered NA values -(unless you set ``pandas.options.mode.use_inf_as_na = True``). -NA values, such as None or :attr:`numpy.NaN`, get mapped to False -values. - -Returns -------- -DataFrame - Mask of bool values for each element in DataFrame that - indicates whether an element is not an NA value. - -See Also --------- -DataFrame.notnull : Alias of notna. -DataFrame.isna : Boolean inverse of notna. -DataFrame.dropna : Omit axes labels with missing values. -notna : Top-level notna. - -Examples --------- -Show which entries in a DataFrame are not NA. - ->>> df = pd.DataFrame(dict(age=[5, 6, np.NaN], -... born=[pd.NaT, pd.Timestamp('1939-05-27'), -... pd.Timestamp('1940-04-25')], -... name=['Alfred', 'Batman', ''], -... toy=[None, 'Batmobile', 'Joker'])) ->>> df - age born name toy -0 5.0 NaT Alfred None -1 6.0 1939-05-27 Batman Batmobile -2 NaN 1940-04-25 Joker - ->>> df.notna() - age born name toy -0 True False True False -1 True True True True -2 False True True True - -Show which entries in a Series are not NA. - ->>> ser = pd.Series([5, 6, np.NaN]) ->>> ser -0 5.0 -1 6.0 -2 NaN -dtype: float64 - ->>> ser.notna() -0 True -1 True -2 False -dtype: bool - """ - pass - def notnull(self) -> DataFrame: - """ -DataFrame.notnull is an alias for DataFrame.notna. - -Detect existing (non-missing) values. - -Return a boolean same-sized object indicating if the values are not NA. -Non-missing values get mapped to True. Characters such as empty -strings ``''`` or :attr:`numpy.inf` are not considered NA values -(unless you set ``pandas.options.mode.use_inf_as_na = True``). -NA values, such as None or :attr:`numpy.NaN`, get mapped to False -values. - -Returns -------- -DataFrame - Mask of bool values for each element in DataFrame that - indicates whether an element is not an NA value. - -See Also --------- -DataFrame.notnull : Alias of notna. -DataFrame.isna : Boolean inverse of notna. -DataFrame.dropna : Omit axes labels with missing values. -notna : Top-level notna. - -Examples --------- -Show which entries in a DataFrame are not NA. - ->>> df = pd.DataFrame(dict(age=[5, 6, np.NaN], -... born=[pd.NaT, pd.Timestamp('1939-05-27'), -... pd.Timestamp('1940-04-25')], -... name=['Alfred', 'Batman', ''], -... toy=[None, 'Batmobile', 'Joker'])) ->>> df - age born name toy -0 5.0 NaT Alfred None -1 6.0 1939-05-27 Batman Batmobile -2 NaN 1940-04-25 Joker - ->>> df.notna() - age born name toy -0 True False True False -1 True True True True -2 False True True True - -Show which entries in a Series are not NA. - ->>> ser = pd.Series([5, 6, np.NaN]) ->>> ser -0 5.0 -1 6.0 -2 NaN -dtype: float64 - ->>> ser.notna() -0 True -1 True -2 False -dtype: bool - """ - pass - @overload - def dropna( - self, - axis: AxisType = ..., - how: Union[_str, Literal["any", "all"]] = ..., - thresh: Optional[int] = ..., - subset: Optional[List] = ..., - *, - inplace: Literal[True], - ) -> None: ... - @overload - def dropna( - self, - axis: AxisType = ..., - how: Union[_str, Literal["any", "all"]] = ..., - thresh: Optional[int] = ..., - subset: Optional[List] = ..., - *, - inplace: Literal[False], - ) -> DataFrame: ... - @overload - def dropna( - self, - axis: AxisType = ..., - how: Union[_str, Literal["any", "all"]] = ..., - thresh: Optional[int] = ..., - subset: Optional[List] = ..., - ) -> DataFrame: ... - @overload - def dropna( - self, - axis: AxisType = ..., - how: Union[_str, Literal["any", "all"]] = ..., - thresh: Optional[int] = ..., - subset: Optional[List] = ..., - inplace: Optional[_bool] = ..., - ) -> Union[None, DataFrame]: ... - def drop_duplicates( - self, - subset=..., - keep: Union[_str, Literal["first", "last"], _bool] = ..., - inplace: _bool = ..., - ignore_index: _bool = ..., - ) -> DataFrame: ... - def duplicated( - self, - subset: Optional[Union[Hashable, Sequence[Hashable]]] = ..., - keep: Union[_str, Literal["first", "last"], _bool] = ..., - ) -> Series: ... - @overload - def sort_values( - self, - by: Union[_str, Sequence[_str]], - axis: AxisType = ..., - ascending: Union[_bool, Sequence[_bool]] = ..., - kind: Union[_str, Literal["quicksort", "mergesort", "heapsort"]] = ..., - na_position: Union[_str, Literal["first", "last"]] = ..., - ignore_index: _bool = ..., - *, - inplace: Literal[True], - key: Optional[Callable] = ..., - ) -> None: - """ -Sort by the values along either axis. - -Parameters ----------- - by : str or list of str - Name or list of names to sort by. - - - if `axis` is 0 or `'index'` then `by` may contain index - levels and/or column labels. - - if `axis` is 1 or `'columns'` then `by` may contain column - levels and/or index labels. -axis : {0 or 'index', 1 or 'columns'}, default 0 - Axis to be sorted. -ascending : bool or list of bool, default True - Sort ascending vs. descending. Specify list for multiple sort - orders. If this is a list of bools, must match the length of - the by. -inplace : bool, default False - If True, perform operation in-place. -kind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort' - Choice of sorting algorithm. See also :func:`numpy.sort` for more - information. `mergesort` and `stable` are the only stable algorithms. For - DataFrames, this option is only applied when sorting on a single - column or label. -na_position : {'first', 'last'}, default 'last' - Puts NaNs at the beginning if `first`; `last` puts NaNs at the - end. -ignore_index : bool, default False - If True, the resulting axis will be labeled 0, 1, …, n - 1. - - .. versionadded:: 1.0.0 - -key : callable, optional - Apply the key function to the values - before sorting. This is similar to the `key` argument in the - builtin :meth:`sorted` function, with the notable difference that - this `key` function should be *vectorized*. It should expect a - ``Series`` and return a Series with the same shape as the input. - It will be applied to each column in `by` independently. - - .. versionadded:: 1.1.0 - -Returns -------- -DataFrame or None - DataFrame with sorted values or None if ``inplace=True``. - -See Also --------- -DataFrame.sort_index : Sort a DataFrame by the index. -Series.sort_values : Similar method for a Series. - -Examples --------- ->>> df = pd.DataFrame({ -... 'col1': ['A', 'A', 'B', np.nan, 'D', 'C'], -... 'col2': [2, 1, 9, 8, 7, 4], -... 'col3': [0, 1, 9, 4, 2, 3], -... 'col4': ['a', 'B', 'c', 'D', 'e', 'F'] -... }) ->>> df - col1 col2 col3 col4 -0 A 2 0 a -1 A 1 1 B -2 B 9 9 c -3 NaN 8 4 D -4 D 7 2 e -5 C 4 3 F - -Sort by col1 - ->>> df.sort_values(by=['col1']) - col1 col2 col3 col4 -0 A 2 0 a -1 A 1 1 B -2 B 9 9 c -5 C 4 3 F -4 D 7 2 e -3 NaN 8 4 D - -Sort by multiple columns - ->>> df.sort_values(by=['col1', 'col2']) - col1 col2 col3 col4 -1 A 1 1 B -0 A 2 0 a -2 B 9 9 c -5 C 4 3 F -4 D 7 2 e -3 NaN 8 4 D - -Sort Descending - ->>> df.sort_values(by='col1', ascending=False) - col1 col2 col3 col4 -4 D 7 2 e -5 C 4 3 F -2 B 9 9 c -0 A 2 0 a -1 A 1 1 B -3 NaN 8 4 D - -Putting NAs first - ->>> df.sort_values(by='col1', ascending=False, na_position='first') - col1 col2 col3 col4 -3 NaN 8 4 D -4 D 7 2 e -5 C 4 3 F -2 B 9 9 c -0 A 2 0 a -1 A 1 1 B - -Sorting with a key function - ->>> df.sort_values(by='col4', key=lambda col: col.str.lower()) - col1 col2 col3 col4 -0 A 2 0 a -1 A 1 1 B -2 B 9 9 c -3 NaN 8 4 D -4 D 7 2 e -5 C 4 3 F - -Natural sort with the key argument, -using the `natsort ` package. - ->>> df = pd.DataFrame({ -... "time": ['0hr', '128hr', '72hr', '48hr', '96hr'], -... "value": [10, 20, 30, 40, 50] -... }) ->>> df - time value -0 0hr 10 -1 128hr 20 -2 72hr 30 -3 48hr 40 -4 96hr 50 ->>> from natsort import index_natsorted ->>> df.sort_values( -... by="time", -... key=lambda x: np.argsort(index_natsorted(df["time"])) -... ) - time value -0 0hr 10 -3 48hr 40 -2 72hr 30 -4 96hr 50 -1 128hr 20 - """ - pass - @overload - def sort_values( - self, - by: Union[_str, Sequence[_str]], - axis: AxisType = ..., - ascending: Union[_bool, Sequence[_bool]] = ..., - kind: Union[_str, Literal["quicksort", "mergesort", "heapsort"]] = ..., - na_position: Union[_str, Literal["first", "last"]] = ..., - ignore_index: _bool = ..., - *, - inplace: Literal[False], - key: Optional[Callable] = ..., - ) -> DataFrame: ... - @overload - def sort_values( - self, - by: Union[_str, Sequence[_str]], - axis: AxisType = ..., - ascending: Union[_bool, Sequence[_bool]] = ..., - *, - kind: Union[_str, Literal["quicksort", "mergesort", "heapsort"]] = ..., - na_position: Union[_str, Literal["first", "last"]] = ..., - ignore_index: _bool = ..., - key: Optional[Callable] = ..., - ) -> DataFrame: ... - @overload - def sort_values( - self, - by: Union[_str, Sequence[_str]], - axis: AxisType = ..., - ascending: Union[_bool, Sequence[_bool]] = ..., - inplace: Optional[_bool] = ..., - kind: Union[_str, Literal["quicksort", "mergesort", "heapsort"]] = ..., - na_position: Union[_str, Literal["first", "last"]] = ..., - ignore_index: _bool = ..., - key: Optional[Callable] = ..., - ) -> Union[None, DataFrame]: ... - @overload - def sort_index( - self, - axis: AxisType = ..., - level: Optional[Level] = ..., - ascending: Union[_bool, Sequence[_bool]] = ..., - kind: Union[_str, Literal["quicksort", "mergesort", "heapsort"]] = ..., - na_position: Union[_str, Literal["first", "last"]] = ..., - sort_remaining: _bool = ..., - ignore_index: _bool = ..., - *, - inplace: Literal[True], - key: Optional[Callable] = ..., - ) -> None: - """ -Sort object by labels (along an axis). - -Returns a new DataFrame sorted by label if `inplace` argument is -``False``, otherwise updates the original DataFrame and returns None. - -Parameters ----------- -axis : {0 or 'index', 1 or 'columns'}, default 0 - The axis along which to sort. The value 0 identifies the rows, - and 1 identifies the columns. -level : int or level name or list of ints or list of level names - If not None, sort on values in specified index level(s). -ascending : bool or list-like of bools, default True - Sort ascending vs. descending. When the index is a MultiIndex the - sort direction can be controlled for each level individually. -inplace : bool, default False - If True, perform operation in-place. -kind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort' - Choice of sorting algorithm. See also :func:`numpy.sort` for more - information. `mergesort` and `stable` are the only stable algorithms. For - DataFrames, this option is only applied when sorting on a single - column or label. -na_position : {'first', 'last'}, default 'last' - Puts NaNs at the beginning if `first`; `last` puts NaNs at the end. - Not implemented for MultiIndex. -sort_remaining : bool, default True - If True and sorting by level and index is multilevel, sort by other - levels too (in order) after sorting by specified level. -ignore_index : bool, default False - If True, the resulting axis will be labeled 0, 1, …, n - 1. - - .. versionadded:: 1.0.0 - -key : callable, optional - If not None, apply the key function to the index values - before sorting. This is similar to the `key` argument in the - builtin :meth:`sorted` function, with the notable difference that - this `key` function should be *vectorized*. It should expect an - ``Index`` and return an ``Index`` of the same shape. For MultiIndex - inputs, the key is applied *per level*. - - .. versionadded:: 1.1.0 - -Returns -------- -DataFrame or None - The original DataFrame sorted by the labels or None if ``inplace=True``. - -See Also --------- -Series.sort_index : Sort Series by the index. -DataFrame.sort_values : Sort DataFrame by the value. -Series.sort_values : Sort Series by the value. - -Examples --------- ->>> df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], -... columns=['A']) ->>> df.sort_index() - A -1 4 -29 2 -100 1 -150 5 -234 3 - -By default, it sorts in ascending order, to sort in descending order, -use ``ascending=False`` - ->>> df.sort_index(ascending=False) - A -234 3 -150 5 -100 1 -29 2 -1 4 - -A key function can be specified which is applied to the index before -sorting. For a ``MultiIndex`` this is applied to each level separately. - ->>> df = pd.DataFrame({"a": [1, 2, 3, 4]}, index=['A', 'b', 'C', 'd']) ->>> df.sort_index(key=lambda x: x.str.lower()) - a -A 1 -b 2 -C 3 -d 4 - """ - pass - @overload - def sort_index( - self, - axis: AxisType = ..., - level: Optional[Union[Level, List[int], List[_str]]] = ..., - ascending: Union[_bool, Sequence[_bool]] = ..., - kind: Union[_str, Literal["quicksort", "mergesort", "heapsort"]] = ..., - na_position: Union[_str, Literal["first", "last"]] = ..., - sort_remaining: _bool = ..., - ignore_index: _bool = ..., - *, - inplace: Literal[False], - key: Optional[Callable] = ..., - ) -> DataFrame: ... - @overload - def sort_index( - self, - axis: AxisType = ..., - level: Optional[Union[Level, List[int], List[_str]]] = ..., - ascending: Union[_bool, Sequence[_bool]] = ..., - *, - kind: Union[_str, Literal["quicksort", "mergesort", "heapsort"]] = ..., - na_position: Union[_str, Literal["first", "last"]] = ..., - sort_remaining: _bool = ..., - ignore_index: _bool = ..., - key: Optional[Callable] = ..., - ) -> DataFrame: ... - @overload - def sort_index( - self, - axis: AxisType = ..., - level: Optional[Union[Level, List[int], List[_str]]] = ..., - ascending: Union[_bool, Sequence[_bool]] = ..., - inplace: Optional[_bool] = ..., - kind: Union[_str, Literal["quicksort", "mergesort", "heapsort"]] = ..., - na_position: Union[_str, Literal["first", "last"]] = ..., - sort_remaining: _bool = ..., - ignore_index: _bool = ..., - key: Optional[Callable] = ..., - ) -> Union[None, DataFrame]: ... - def value_counts( - self, - subset: Optional[Sequence[Hashable]] = ..., - normalize: _bool = ..., - sort: _bool = ..., - ascending: _bool = ..., - dropna: _bool = ..., - ) -> Series[int]: ... - def nlargest( - self, - n: int, - columns: Union[_str, List[_str]], - keep: Union[_str, Literal["first", "last", "all"]] = ..., - ) -> DataFrame: ... - def nsmallest( - self, - n: int, - columns: Union[_str, List[_str]], - keep: Union[_str, Literal["first", "last", "all"]] = ..., - ) -> DataFrame: ... - def swaplevel(self, i: Level = ..., j: Level = ..., axis: AxisType = ...) -> DataFrame: ... - def reorder_levels(self, order: List, axis: AxisType = ...) -> DataFrame: ... - def compare( - self, - other: DataFrame, - align_axis: Axis = ..., - keep_shape: bool = ..., - keep_equal: bool = ..., - ) -> DataFrame: ... - def combine( - self, - other: DataFrame, - func: Callable, - fill_value=..., - overwrite: _bool = ..., - ) -> DataFrame: ... - def combine_first(self, other: DataFrame) -> DataFrame: ... - def update( - self, - other: Union[DataFrame, Series], - join: _str = ..., - overwrite: _bool = ..., - filter_func: Optional[Callable] = ..., - errors: Union[_str, Literal["raise", "ignore"]] = ..., - ) -> None: ... - def groupby( - self, - by: Optional[Union[List[_str], _str]] = ..., - axis: AxisType = ..., - level: Optional[Level] = ..., - as_index: _bool = ..., - sort: _bool = ..., - group_keys: _bool = ..., - squeeze: _bool = ..., - observed: _bool = ..., - dropna: _bool = ..., - ) -> DataFrameGroupBy: - """ -Group DataFrame using a mapper or by a Series of columns. - -A groupby operation involves some combination of splitting the -object, applying a function, and combining the results. This can be -used to group large amounts of data and compute operations on these -groups. - -Parameters ----------- -by : mapping, function, label, or list of labels - Used to determine the groups for the groupby. - If ``by`` is a function, it's called on each value of the object's - index. If a dict or Series is passed, the Series or dict VALUES - will be used to determine the groups (the Series' values are first - aligned; see ``.align()`` method). If a list or ndarray of length - equal to the selected axis is passed (see the `groupby user guide - `_), - the values are used as-is to determine the groups. A label or list - of labels may be passed to group by the columns in ``self``. - Notice that a tuple is interpreted as a (single) key. -axis : {0 or 'index', 1 or 'columns'}, default 0 - Split along rows (0) or columns (1). -level : int, level name, or sequence of such, default None - If the axis is a MultiIndex (hierarchical), group by a particular - level or levels. -as_index : bool, default True - For aggregated output, return object with group labels as the - index. Only relevant for DataFrame input. as_index=False is - effectively "SQL-style" grouped output. -sort : bool, default True - Sort group keys. Get better performance by turning this off. - Note this does not influence the order of observations within each - group. Groupby preserves the order of rows within each group. -group_keys : bool, default True - When calling apply, add group keys to index to identify pieces. -squeeze : bool, default False - Reduce the dimensionality of the return type if possible, - otherwise return a consistent type. - - .. deprecated:: 1.1.0 - -observed : bool, default False - This only applies if any of the groupers are Categoricals. - If True: only show observed values for categorical groupers. - If False: show all values for categorical groupers. -dropna : bool, default True - If True, and if group keys contain NA values, NA values together - with row/column will be dropped. - If False, NA values will also be treated as the key in groups. - - .. versionadded:: 1.1.0 - -Returns -------- -DataFrameGroupBy - Returns a groupby object that contains information about the groups. - -See Also --------- -resample : Convenience method for frequency conversion and resampling - of time series. - -Notes ------ -See the `user guide -`__ for more -detailed usage and examples, including splitting an object into groups, -iterating through groups, selecting a group, aggregation, and more. - -Examples --------- ->>> df = pd.DataFrame({'Animal': ['Falcon', 'Falcon', -... 'Parrot', 'Parrot'], -... 'Max Speed': [380., 370., 24., 26.]}) ->>> df - Animal Max Speed -0 Falcon 380.0 -1 Falcon 370.0 -2 Parrot 24.0 -3 Parrot 26.0 ->>> df.groupby(['Animal']).mean() - Max Speed -Animal -Falcon 375.0 -Parrot 25.0 - -**Hierarchical Indexes** - -We can groupby different levels of a hierarchical index -using the `level` parameter: - ->>> arrays = [['Falcon', 'Falcon', 'Parrot', 'Parrot'], -... ['Captive', 'Wild', 'Captive', 'Wild']] ->>> index = pd.MultiIndex.from_arrays(arrays, names=('Animal', 'Type')) ->>> df = pd.DataFrame({'Max Speed': [390., 350., 30., 20.]}, -... index=index) ->>> df - Max Speed -Animal Type -Falcon Captive 390.0 - Wild 350.0 -Parrot Captive 30.0 - Wild 20.0 ->>> df.groupby(level=0).mean() - Max Speed -Animal -Falcon 370.0 -Parrot 25.0 ->>> df.groupby(level="Type").mean() - Max Speed -Type -Captive 210.0 -Wild 185.0 - -We can also choose to include NA in group keys or not by setting -`dropna` parameter, the default setting is `True`. - ->>> l = [[1, 2, 3], [1, None, 4], [2, 1, 3], [1, 2, 2]] ->>> df = pd.DataFrame(l, columns=["a", "b", "c"]) - ->>> df.groupby(by=["b"]).sum() - a c -b -1.0 2 3 -2.0 2 5 - ->>> df.groupby(by=["b"], dropna=False).sum() - a c -b -1.0 2 3 -2.0 2 5 -NaN 1 4 - ->>> l = [["a", 12, 12], [None, 12.3, 33.], ["b", 12.3, 123], ["a", 1, 1]] ->>> df = pd.DataFrame(l, columns=["a", "b", "c"]) - ->>> df.groupby(by="a").sum() - b c -a -a 13.0 13.0 -b 12.3 123.0 - ->>> df.groupby(by="a", dropna=False).sum() - b c -a -a 13.0 13.0 -b 12.3 123.0 -NaN 12.3 33.0 - """ - pass - def pivot( - self, - index=..., - columns=..., - values=..., - ) -> DataFrame: - """ -Return reshaped DataFrame organized by given index / column values. - -Reshape data (produce a "pivot" table) based on column values. Uses -unique values from specified `index` / `columns` to form axes of the -resulting DataFrame. This function does not support data -aggregation, multiple values will result in a MultiIndex in the -columns. See the :ref:`User Guide ` for more on reshaping. - -Parameters ----------- -index : str or object or a list of str, optional - Column to use to make new frame's index. If None, uses - existing index. - - .. versionchanged:: 1.1.0 - Also accept list of index names. - -columns : str or object or a list of str - Column to use to make new frame's columns. - - .. versionchanged:: 1.1.0 - Also accept list of columns names. - -values : str, object or a list of the previous, optional - Column(s) to use for populating new frame's values. If not - specified, all remaining columns will be used and the result will - have hierarchically indexed columns. - -Returns -------- -DataFrame - Returns reshaped DataFrame. - -Raises ------- -ValueError: - When there are any `index`, `columns` combinations with multiple - values. `DataFrame.pivot_table` when you need to aggregate. - -See Also --------- -DataFrame.pivot_table : Generalization of pivot that can handle - duplicate values for one index/column pair. -DataFrame.unstack : Pivot based on the index values instead of a - column. -wide_to_long : Wide panel to long format. Less flexible but more - user-friendly than melt. - -Notes ------ -For finer-tuned control, see hierarchical indexing documentation along -with the related stack/unstack methods. - -Reference :ref:`the user guide ` for more examples. - -Examples --------- ->>> df = pd.DataFrame({'foo': ['one', 'one', 'one', 'two', 'two', -... 'two'], -... 'bar': ['A', 'B', 'C', 'A', 'B', 'C'], -... 'baz': [1, 2, 3, 4, 5, 6], -... 'zoo': ['x', 'y', 'z', 'q', 'w', 't']}) ->>> df - foo bar baz zoo -0 one A 1 x -1 one B 2 y -2 one C 3 z -3 two A 4 q -4 two B 5 w -5 two C 6 t - ->>> df.pivot(index='foo', columns='bar', values='baz') -bar A B C -foo -one 1 2 3 -two 4 5 6 - ->>> df.pivot(index='foo', columns='bar')['baz'] -bar A B C -foo -one 1 2 3 -two 4 5 6 - ->>> df.pivot(index='foo', columns='bar', values=['baz', 'zoo']) - baz zoo -bar A B C A B C -foo -one 1 2 3 x y z -two 4 5 6 q w t - -You could also assign a list of column names or a list of index names. - ->>> df = pd.DataFrame({ -... "lev1": [1, 1, 1, 2, 2, 2], -... "lev2": [1, 1, 2, 1, 1, 2], -... "lev3": [1, 2, 1, 2, 1, 2], -... "lev4": [1, 2, 3, 4, 5, 6], -... "values": [0, 1, 2, 3, 4, 5]}) ->>> df - lev1 lev2 lev3 lev4 values -0 1 1 1 1 0 -1 1 1 2 2 1 -2 1 2 1 3 2 -3 2 1 2 4 3 -4 2 1 1 5 4 -5 2 2 2 6 5 - ->>> df.pivot(index="lev1", columns=["lev2", "lev3"],values="values") -lev2 1 2 -lev3 1 2 1 2 -lev1 -1 0.0 1.0 2.0 NaN -2 4.0 3.0 NaN 5.0 - ->>> df.pivot(index=["lev1", "lev2"], columns=["lev3"],values="values") - lev3 1 2 -lev1 lev2 - 1 1 0.0 1.0 - 2 2.0 NaN - 2 1 4.0 3.0 - 2 NaN 5.0 - -A ValueError is raised if there are any duplicates. - ->>> df = pd.DataFrame({"foo": ['one', 'one', 'two', 'two'], -... "bar": ['A', 'A', 'B', 'C'], -... "baz": [1, 2, 3, 4]}) ->>> df - foo bar baz -0 one A 1 -1 one A 2 -2 two B 3 -3 two C 4 - -Notice that the first two rows are the same for our `index` -and `columns` arguments. - ->>> df.pivot(index='foo', columns='bar', values='baz') -Traceback (most recent call last): - ... -ValueError: Index contains duplicate entries, cannot reshape - """ - pass - def pivot_table( - self, - values: Optional[_str] = ..., - index: Optional[Union[_str, Grouper, Sequence]] = ..., - columns: Optional[Union[_str, Grouper, Sequence]] = ..., - aggfunc=..., - fill_value: Optional[Scalar] = ..., - margins: _bool = ..., - dropna: _bool = ..., - margins_name: _str = ..., - observed: _bool = ..., - ) -> DataFrame: ... - def stack(self, level: Level = ..., dropna: _bool = ...) -> Union[DataFrame, Series]: ... - def explode(self, column: Union[_str, Tuple], ignore_index: _bool = ...) -> DataFrame: ... - def unstack( - self, - level: Level = ..., - fill_value: Optional[Union[int, _str, Dict]] = ..., - ) -> Union[DataFrame, Series]: ... - def melt( - self, - id_vars: Optional[Union[Tuple, Sequence, np.ndarray]] = ..., - value_vars: Optional[Union[Tuple, Sequence, np.ndarray]] = ..., - var_name: Optional[Scalar] = ..., - value_name: Scalar = ..., - col_level: Optional[Union[int, _str]] = ..., - ignore_index: _bool = ..., - ) -> DataFrame: ... - def diff(self, periods: int = ..., axis: AxisType = ...) -> DataFrame: ... - @overload - def agg(self, func: Union[Callable, _str], axis: AxisType = ..., **kwargs) -> Series: ... - @overload - def agg(self, func: Union[List[Callable], Dict[_str, Callable]] = ..., axis: AxisType = ..., **kwargs) -> DataFrame: ... - @overload - def aggregate(self, func: Union[Callable, _str], axis: AxisType = ..., **kwargs) -> Series: ... - @overload - def aggregate(self, func: Union[List[Callable], Dict[_str, Callable]], axis: AxisType = ..., **kwargs) -> DataFrame: ... - def transform( - self, func: Union[List[Callable], Dict[_str, Callable]], axis: AxisType = ..., *args, **kwargs - ) -> DataFrame: ... - @overload - def apply(self, f: Callable) -> Series: ... - @overload - def apply( - self, f: Callable, axis: AxisType, raw: _bool = ..., result_type: Optional[_str] = ..., args=..., **kwargs - ) -> DataFrame: ... - def applymap(self, func: Callable, na_action: Optional[Literal["ignore"]] = None, **kwargs) -> DataFrame: ... - def append( - self, - other: Union[DataFrame, Series, Dict[Any, Any], Sequence[Scalar], Sequence[_ListLike]], - ignore_index: _bool = ..., - verify_integrity: _bool = ..., - sort: _bool = ..., - ) -> DataFrame: ... - def join( - self, - other: Union[DataFrame, Series, List[DataFrame]], - on: Optional[Union[_str, List[_str]]] = ..., - how: Union[_str, Literal["left", "right", "outer", "inner"]] = ..., - lsuffix: _str = ..., - rsuffix: _str = ..., - sort: _bool = ..., - ) -> DataFrame: ... - def merge( - self, - right: Union[DataFrame, Series], - how: Union[_str, Literal["left", "right", "inner", "outer"]] = ..., - on: Optional[IndexLevel] = ..., - left_on: Optional[Union[Level, Sequence[Level]]] = ..., - right_on: Optional[Union[Level, Sequence[Level]]] = ..., - left_index: _bool = ..., - right_index: _bool = ..., - sort: _bool = ..., - suffixes: Tuple[Optional[_str], Optional[_str]] = ..., - copy: _bool = ..., - indicator: Union[_bool, _str] = ..., - validate: Optional[_str] = ..., - ) -> DataFrame: ... - def round(self, decimals: Union[int, Dict, Series] = ..., *args, **kwargs) -> DataFrame: ... - def corr( - self, - method: Union[_str, Literal["pearson", "kendall", "spearman"]] = ..., - min_periods: int = ..., - ) -> DataFrame: ... - def cov(self, min_periods: Optional[int] = ..., ddof: int = 1) -> DataFrame: ... - def corrwith( - self, - other: Union[DataFrame, Series], - axis: Optional[AxisType] = ..., - drop: _bool = ..., - method: Union[_str, Literal["pearson", "kendall", "spearman"]] = ..., - ) -> Series: ... - @overload - def count(self, axis: AxisType = ..., numeric_only: _bool = ..., *, level: Level) -> DataFrame: ... - @overload - def count(self, axis: AxisType = ..., level: None = ..., numeric_only: _bool = ...) -> Series: ... - def nunique(self, axis: AxisType = ..., dropna=True) -> Series: ... - def idxmax(self, axis: AxisType = ..., skipna: _bool = ...) -> Series: ... - def idxmin(self, axis: AxisType = ..., skipna: _bool = ...) -> Series: ... - @overload - def mode( - self, axis: AxisType = ..., skipna: _bool = ..., numeric_only: _bool = ..., *, level: Level, **kwargs - ) -> DataFrame: ... - @overload - def mode( - self, axis: AxisType = ..., skipna: _bool = ..., level: None = ..., numeric_only: _bool = ..., **kwargs - ) -> Series: ... - @overload - def quantile( - self, - q: float = ..., - axis: AxisType = ..., - numeric_only: _bool = ..., - interpolation: Union[_str, Literal["linear", "lower", "higher", "midpoint", "nearest"]] = ..., - ) -> Series: ... - @overload - def quantile( - self, - q: List[float], - axis: AxisType = ..., - numeric_only: _bool = ..., - interpolation: Union[_str, Literal["linear", "lower", "higher", "midpoint", "nearest"]] = ..., - ) -> DataFrame: ... - def to_timestamp( - self, - freq=..., - how: Union[_str, Literal["start", "end", "s", "e"]] = ..., - axis: AxisType = ..., - copy: _bool = ..., - ) -> DataFrame: ... - def to_period(self, freq: Optional[_str] = ..., axis: AxisType = ..., copy: _bool = ...) -> DataFrame: ... - def isin(self, values: Union[Iterable, Series, DataFrame, Dict]) -> DataFrame: ... - def plot(self, *args, **kwargs) -> PlotAccessor: ... - def hist( - self, - column: Optional[Union[_str, List[_str]]] = ..., - by: Optional[Union[_str, _ListLike]] = ..., - grid: _bool = ..., - xlabelsize: Optional[int] = ..., - xrot: Optional[float] = ..., - ylabelsize: Optional[int] = ..., - yrot: Optional[float] = ..., - ax: Optional[PlotAxes] = ..., - sharex: _bool = ..., - sharey: _bool = ..., - figsize: Optional[Tuple[float, float]] = ..., - layout: Optional[Tuple[int, int]] = ..., - bins: Union[int, List] = ..., - backend: Optional[_str] = ..., - **kwargs, - ): ... - def boxplot( - self, - column: Optional[Union[_str, List[_str]]] = ..., - by: Optional[Union[_str, _ListLike]] = ..., - ax: Optional[PlotAxes] = ..., - fontsize: Optional[Union[float, _str]] = ..., - rot: int = ..., - grid: _bool = ..., - figsize: Optional[Tuple[float, float]] = ..., - layout: Optional[Tuple[int, int]] = ..., - return_type: Optional[Union[_str, Literal["axes", "dict", "both"]]] = ..., - backend: Optional[_str] = ..., - **kwargs, - ): ... - sparse = ... - - # The rest of these are remnants from the - # stubs shipped at preview. They may belong in - # base classes, or stubgen just failed to generate - # these. - - Name: _str - # - # dunder methods - def __exp__( - self, - other: Union[num, _ListLike, DataFrame], - axis: AxisType = ..., - level: Level = ..., - fill_value: Union[None, float] = ..., - ) -> DataFrame: ... - def __iter__(self) -> Iterator: ... - # properties - @property - def at(self): ... # Not sure what to do with this yet; look at source - @property - def bool(self) -> _bool: ... - @property - def columns(self) -> Index: ... - @columns.setter # setter needs to be right next to getter; otherwise mypy complains - def columns(self, cols: Union[List[_str], Index[_str]]) -> None: ... # type:ignore - @property - def dtypes(self) -> Series: ... - @property - def empty(self) -> _bool: ... - @property - def iat(self): ... # Not sure what to do with this yet; look at source - @property - def iloc(self) -> _iLocIndexerFrame: ... - @property - def index(self) -> Index: ... - @index.setter - def index(self, idx: Index) -> None: ... - @property - def loc(self) -> _LocIndexerFrame: ... - @property - def ndim(self) -> int: ... - @property - def size(self) -> int: ... - @property - def values(self) -> _np.ndarray: ... - # methods - def abs(self) -> DataFrame: ... - def add( - self, - other: Union[num, _ListLike, DataFrame], - axis: Optional[AxisType] = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - def add_prefix(self, prefix: _str) -> DataFrame: ... - def add_suffix(self, suffix: _str) -> DataFrame: ... - @overload - def all( - self, axis: AxisType = ..., bool_only: Optional[_bool] = ..., skipna: _bool = ..., level: None = ..., **kwargs - ) -> Series: ... - @overload - def all( - self, axis: AxisType = ..., bool_only: Optional[_bool] = ..., skipna: _bool = ..., *, level: Level, **kwargs - ) -> DataFrame: ... - @overload - def any( - self, axis: AxisType = ..., bool_only: Optional[_bool] = ..., skipna: _bool = ..., level: None = ..., **kwargs - ) -> Series: ... - @overload - def any(self, axis: AxisType = ..., bool_only: _bool = ..., skipna: _bool = ..., *, level: Level, **kwargs) -> DataFrame: ... - def asof(self, where, subset: Optional[Union[_str, List[_str]]] = ...) -> DataFrame: ... - def asfreq( - self, - freq, - method: Optional[Union[_str, Literal["backfill", "bfill", "pad", "ffill"]]] = ..., - how: Optional[Union[_str, Literal["start", "end"]]] = ..., - normalize: _bool = ..., - fill_value: Optional[Scalar] = ..., - ) -> DataFrame: ... - def astype( - self, - dtype: Union[_str, Dtype, Dict[_str, Union[_str, Dtype]]], - copy: _bool = ..., - errors: _str = ..., - ) -> DataFrame: ... - def at_time( - self, - time: Union[_str, datetime.time], - asof: _bool = ..., - axis: Optional[AxisType] = ..., - ) -> DataFrame: ... - def between_time( - self, - start_time: Union[_str, datetime.time], - end_time: Union[_str, datetime.time], - include_start: _bool = ..., - include_end: _bool = ..., - axis: Optional[AxisType] = ..., - ) -> DataFrame: ... - @overload - def bfill( - self, - axis: Optional[AxisType] = ..., - *, - inplace: Literal[True], - limit: Optional[int] = ..., - downcast: Optional[Dict] = ..., - ) -> None: ... - @overload - def bfill( - self, - axis: Optional[AxisType] = ..., - *, - inplace: Literal[False], - limit: Optional[int] = ..., - downcast: Optional[Dict] = ..., - ) -> DataFrame: ... - def clip( - self, - lower: Optional[float] = ..., - upper: Optional[float] = ..., - axis: Optional[AxisType] = ..., - inplace: _bool = ..., - *args, - **kwargs, - ) -> DataFrame: ... - def copy(self, deep: _bool = ...) -> DataFrame: ... - def cummax(self, axis: Optional[AxisType] = ..., skipna: _bool = ..., *args, **kwargs) -> DataFrame: ... - def cummin(self, axis: Optional[AxisType] = ..., skipna: _bool = ..., *args, **kwargs) -> DataFrame: ... - def cumprod(self, axis: Optional[AxisType] = ..., skipna: _bool = ..., *args, **kwargs) -> DataFrame: ... - def cumsum(self, axis: Optional[AxisType] = ..., skipna: _bool = ..., *args, **kwargs) -> DataFrame: ... - def describe( - self, - percentiles: Optional[List[float]] = ..., - include: Optional[Union[_str, Literal["all"], List[Dtype]]] = ..., - exclude: Optional[List[Dtype]] = ..., - datetime_is_numeric: Optional[_bool] = ..., - ) -> DataFrame: ... - def div( - self, - other: Union[num, _ListLike, DataFrame], - axis: Optional[AxisType] = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - def divide( - self, - other: Union[num, _ListLike, DataFrame], - axis: Optional[AxisType] = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - def droplevel(self, level: Union[Level, List[Level]] = ..., axis: AxisType = ...) -> DataFrame: ... - def eq(self, other, axis: AxisType = ..., level: Optional[Level] = ...) -> DataFrame: ... - def equals(self, other: Union[Series, DataFrame]) -> _bool: ... - def ewm( - self, - com: Optional[float] = ..., - span: Optional[float] = ..., - halflife: Optional[float] = ..., - alpha: Optional[float] = ..., - min_periods: int = ..., - adjust: _bool = ..., - ignore_na: _bool = ..., - axis: AxisType = ..., - ) -> DataFrame: ... - def exp( - self, - other: Union[num, _ListLike, DataFrame], - axis: Optional[AxisType] = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - def expanding(self, min_periods: int = ..., center: _bool = ..., axis: AxisType = ...): ... # for now - @overload - def ffill( - self, - axis: Optional[AxisType] = ..., - *, - inplace: Literal[True], - limit: Optional[int] = ..., - downcast: Optional[Dict] = ..., - ) -> None: ... - @overload - def ffill( - self, - axis: Optional[AxisType] = ..., - *, - inplace: Literal[False], - limit: Optional[int] = ..., - downcast: Optional[Dict] = ..., - ) -> DataFrame: ... - def filter( - self, - items: Optional[List] = ..., - like: Optional[_str] = ..., - regex: Optional[_str] = ..., - axis: Optional[AxisType] = ..., - ) -> DataFrame: ... - def first(self, offset) -> DataFrame: ... - def first_valid_index(self) -> Scalar: ... - def floordiv( - self, - other: Union[num, _ListLike, DataFrame], - axis: Optional[AxisType] = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - # def from_dict - # def from_records - def fulldiv( - self, - other: Union[num, _ListLike, DataFrame], - axis: Optional[AxisType] = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - def ge(self, other, axis: AxisType = ..., level: Optional[Level] = ...) -> DataFrame: ... - # def get - def gt(self, other, axis: AxisType = ..., level: Optional[Level] = ...) -> DataFrame: ... - def head(self, n: int = ...) -> DataFrame: ... - def infer_objects(self) -> DataFrame: ... - # def info - @overload - def interpolate( - self, - method: _str = ..., - axis: AxisType = ..., - limit: Optional[int] = ..., - limit_direction: Union[_str, Literal["forward", "backward", "both"]] = ..., - limit_area: Union[_str, Optional[Literal["inside", "outside"]]] = ..., - downcast: Optional[Union[_str, Literal["infer"]]] = ..., - *, - inplace: Literal[True], - **kwargs, - ) -> None: ... - @overload - def interpolate( - self, - method: _str = ..., - axis: AxisType = ..., - limit: Optional[int] = ..., - limit_direction: Union[_str, Literal["forward", "backward", "both"]] = ..., - limit_area: Union[_str, Optional[Literal["inside", "outside"]]] = ..., - downcast: Optional[Union[_str, Literal["infer"]]] = ..., - *, - inplace: Literal[False], - **kwargs, - ) -> DataFrame: ... - @overload - def interpolate( - self, - method: _str = ..., - axis: AxisType = ..., - limit: Optional[int] = ..., - limit_direction: Union[_str, Literal["forward", "backward", "both"]] = ..., - limit_area: Union[_str, Optional[Literal["inside", "outside"]]] = ..., - downcast: Optional[Union[_str, Literal["infer"]]] = ..., - ) -> DataFrame: ... - @overload - def interpolate( - self, - method: _str = ..., - axis: AxisType = ..., - limit: Optional[int] = ..., - inplace: Optional[_bool] = ..., - limit_direction: Union[_str, Literal["forward", "backward", "both"]] = ..., - limit_area: Optional[Union[_str, Literal["inside", "outside"]]] = ..., - downcast: Optional[Union[_str, Literal["infer"]]] = ..., - **kwargs, - ) -> DataFrame: ... - def keys(self) -> Index: ... - @overload - def kurt( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - numeric_only: Optional[_bool] = ..., - *, - level: Level, - **kwargs, - ) -> DataFrame: ... - @overload - def kurt( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - level: None = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> Series: ... - @overload - def kurtosis( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - numeric_only: Optional[_bool] = ..., - *, - level: Level, - **kwargs, - ) -> DataFrame: ... - @overload - def kurtosis( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - level: None = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> Series: ... - def last(self, offset) -> DataFrame: ... - def last_valid_index(self) -> Scalar: ... - def le(self, other, axis: AxisType = ..., level: Optional[Level] = ...) -> DataFrame: ... - def lt(self, other, axis: AxisType = ..., level: Optional[Level] = ...) -> DataFrame: ... - @overload - def mad( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - level: None = ..., - ) -> Series: ... - @overload - def mad(self, axis: Optional[AxisType] = ..., skipna: Optional[_bool] = ..., *, level: Level, **kwargs) -> DataFrame: ... - def mask( - self, - cond: Union[Series, DataFrame, _np.ndarray], - other=..., - inplace: _bool = ..., - axis: Optional[AxisType] = ..., - level: Optional[Level] = ..., - errors: _str = ..., - try_cast: _bool = ..., - ) -> DataFrame: ... - @overload - def max( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - numeric_only: Optional[_bool] = ..., - *, - level: Level, - **kwargs, - ) -> DataFrame: ... - @overload - def max( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - level: None = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> Series: ... - @overload - def mean( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - numeric_only: Optional[_bool] = ..., - *, - level: Level, - **kwargs, - ) -> DataFrame: ... - @overload - def mean( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - level: None = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> Series: ... - @overload - def median( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - numeric_only: Optional[_bool] = ..., - *, - level: Level, - **kwargs, - ) -> DataFrame: ... - @overload - def median( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - level: None = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> Series: ... - @overload - def min( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - numeric_only: Optional[_bool] = ..., - *, - level: Level, - **kwargs, - ) -> DataFrame: ... - @overload - def min( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - level: None = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> Series: ... - def mod( - self, - other: Union[num, _ListLike, DataFrame], - axis: Optional[AxisType] = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - def mul( - self, - other: Union[num, _ListLike, DataFrame], - axis: Optional[AxisType] = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - def multiply( - self, - other: Union[num, _ListLike, DataFrame], - axis: Optional[AxisType] = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - def ne(self, other, axis: AxisType = ..., level: Optional[Level] = ...) -> DataFrame: ... - def pct_change( - self, periods: int = ..., fill_method: _str = ..., limit: Optional[int] = ..., freq=..., **kwargs - ) -> DataFrame: ... - def pipe(self, func: Callable[..., TType] | tuple[Callable[..., TType], str], *args, **kwargs) -> TType: ... - def pop(self, item: _str) -> Series: ... - def pow( - self, - other: Union[num, _ListLike, DataFrame], - axis: Optional[AxisType] = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - @overload - def prod( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - numeric_only: Optional[_bool] = ..., - min_count: int = ..., - *, - level: Level, - **kwargs, - ) -> DataFrame: ... - @overload - def prod( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - level: None = ..., - numeric_only: Optional[_bool] = ..., - min_count: int = ..., - **kwargs, - ) -> Series: ... - def product( - self, - axis: Optional[AxisType] = ..., - skipna: _bool = ..., - level: Optional[Level] = ..., - numeric_only: Optional[_bool] = ..., - min_count: int = ..., - **kwargs, - ) -> DataFrame: ... - def radd( - self, - other, - axis: AxisType = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - def rank( - self, - axis: AxisType = ..., - method: Union[_str, Literal["average", "min", "max", "first", "dense"]] = ..., - numeric_only: Optional[_bool] = ..., - na_option: Union[_str, Literal["keep", "top", "bottom"]] = ..., - ascending: _bool = ..., - pct: _bool = ..., - ) -> DataFrame: ... - def rdiv( - self, - other, - axis: AxisType = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - def reindex_like( - self, - other: DataFrame, - method: Optional[Union[_str, Literal["backfill", "bfill", "pad", "ffill", "nearest"]]] = ..., - copy: _bool = ..., - limit: Optional[int] = ..., - tolerance=..., - ) -> DataFrame: ... - @overload - def rename_axis(self, mapper=..., *, inplace: Literal[True], axis: Optional[AxisType] = ..., copy: _bool = ...) -> None: ... - @overload - def rename_axis( - self, mapper=..., *, inplace: Literal[False] = ..., axis: Optional[AxisType] = ..., copy: _bool = ... - ) -> DataFrame: ... - @overload - def rename_axis( - self, - *, - inplace: Literal[True], - index: Optional[Union[_str, Sequence[_str], Dict[Union[_str, int], _str], Callable]] = ..., - columns: Optional[Union[_str, Sequence[_str], Dict[Union[_str, int], _str], Callable]] = ..., - copy: _bool = ..., - ) -> None: ... - @overload - def rename_axis( - self, - *, - inplace: Literal[False] = ..., - index: Optional[Union[_str, Sequence[_str], Dict[Union[_str, int], _str], Callable]] = ..., - columns: Optional[Union[_str, Sequence[_str], Dict[Union[_str, int], _str], Callable]] = ..., - copy: _bool = ..., - ) -> DataFrame: ... - def resample( - self, - rule, - axis: AxisType = ..., - closed: Optional[_str] = ..., - label: Optional[_str] = ..., - convention: Union[_str, Literal["start", "end", "s", "e"]] = ..., - kind: Union[_str, Optional[Literal["timestamp", "period"]]] = ..., - loffset=..., - base: int = ..., - on: Optional[_str] = ..., - level: Optional[Level] = ..., - origin: Union[Timestamp, Literal["epoch", "start", "start_day", "end", "end_day"]] = ..., - offset: Optional[Union[Timedelta, _str]] = None, - ) -> Resampler: ... - def rfloordiv( - self, - other, - axis: AxisType = ..., - level: Optional[Level] = ..., - fill_value: Optional[Union[float, None]] = ..., - ) -> DataFrame: ... - def rmod( - self, - other, - axis: AxisType = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - def rmul( - self, - other, - axis: AxisType = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - @overload - def rolling( - self, - window, - min_periods: Optional[int] = ..., - center: _bool = ..., - *, - win_type: _str, - on: Optional[_str] = ..., - axis: AxisType = ..., - closed: Optional[_str] = ..., - ) -> Window: ... - @overload - def rolling( - self, - window, - min_periods: Optional[int] = ..., - center: _bool = ..., - *, - on: Optional[_str] = ..., - axis: AxisType = ..., - closed: Optional[_str] = ..., - ) -> Rolling: ... - def rpow( - self, - other, - axis: AxisType = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - def rsub( - self, - other, - axis: AxisType = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - def rtruediv( - self, - other, - axis: AxisType = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - # sample is missing a weights arg - def sample( - self, - n: Optional[int] = ..., - frac: Optional[float] = ..., - replace: _bool = ..., - weights: Optional[Union[_str, _ListLike, np.ndarray]] = ..., - random_state: Optional[int] = ..., - axis: Optional[SeriesAxisType] = ..., - ignore_index: _bool = ..., - ) -> Series[S1]: ... - @overload - def sem( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - ddof: int = ..., - numeric_only: Optional[_bool] = ..., - *, - level: Level, - **kwargs, - ) -> DataFrame: ... - @overload - def sem( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - level: None = ..., - ddof: int = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> Series: ... - @overload - def set_axis(self, labels, inplace: Literal[True], axis: AxisType = ...) -> None: ... - @overload - def set_axis(self, labels, inplace: Literal[False], axis: AxisType = ...) -> DataFrame: ... - @overload - def set_axis(self, labels, *, axis: AxisType = ...) -> DataFrame: ... - @overload - def set_axis( - self, - labels, - axis: AxisType = ..., - inplace: Optional[_bool] = ..., - ) -> Union[None, DataFrame]: ... - @overload - def skew( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - numeric_only: Optional[_bool] = ..., - *, - level: Level, - **kwargs, - ) -> DataFrame: ... - @overload - def skew( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - level: None = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> Series: ... - def slice_shift(self, periods: int = ..., axis: AxisType = ...) -> DataFrame: ... - def squeeze(self, axis: Optional[AxisType] = ...): ... - @overload - def std( - self, axis: AxisType = ..., skipna: _bool = ..., ddof: int = ..., numeric_only: _bool = ..., *, level: Level, **kwargs - ) -> DataFrame: ... - @overload - def std( - self, axis: AxisType = ..., skipna: _bool = ..., level: None = ..., ddof: int = ..., numeric_only: _bool = ..., **kwargs - ) -> Series: ... - def sub( - self, - other: Union[num, _ListLike, DataFrame], - axis: Optional[AxisType] = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - def subtract( - self, - other: Union[num, _ListLike, DataFrame], - axis: Optional[AxisType] = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - @overload - def sum( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - numeric_only: Optional[_bool] = ..., - min_count: int = ..., - *, - level: Level, - **kwargs, - ) -> DataFrame: ... - @overload - def sum( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - level: None = ..., - numeric_only: Optional[_bool] = ..., - min_count: int = ..., - **kwargs, - ) -> Series: ... - def swapaxes(self, axis1: AxisType, axis2: AxisType, copy: _bool = ...) -> DataFrame: ... - def tail(self, n: int = ...) -> DataFrame: ... - def take(self, indices: List, axis: AxisType = ..., is_copy: Optional[_bool] = ..., **kwargs) -> DataFrame: ... - def tshift(self, periods: int = ..., freq=..., axis: AxisType = ...) -> DataFrame: ... - def to_clipboard(self, excel: _bool = ..., sep: Optional[_str] = ..., **kwargs) -> None: ... - @overload - def to_csv( - self, - path_or_buf: Optional[FilePathOrBuffer], - sep: _str = ..., - na_rep: _str = ..., - float_format: Optional[_str] = ..., - columns: Optional[Sequence[Hashable]] = ..., - header: Union[_bool, List[_str]] = ..., - index: _bool = ..., - index_label: Optional[Union[_bool, _str, Sequence[Hashable]]] = ..., - mode: _str = ..., - encoding: Optional[_str] = ..., - compression: Union[_str, Mapping[_str, _str]] = ..., - quoting: Optional[int] = ..., - quotechar: _str = ..., - line_terminator: Optional[_str] = ..., - chunksize: Optional[int] = ..., - date_format: Optional[_str] = ..., - doublequote: _bool = ..., - escapechar: Optional[_str] = ..., - decimal: _str = ..., - errors: _str = ..., - storage_options: Optional[Dict[_str, Any]] = ..., - ) -> None: ... - @overload - def to_csv( - self, - sep: _str = ..., - na_rep: _str = ..., - float_format: Optional[_str] = ..., - columns: Optional[Sequence[Hashable]] = ..., - header: Union[_bool, List[_str]] = ..., - index: _bool = ..., - index_label: Optional[Union[_bool, _str, Sequence[Hashable]]] = ..., - mode: _str = ..., - encoding: Optional[_str] = ..., - compression: Union[_str, Mapping[_str, _str]] = ..., - quoting: Optional[int] = ..., - quotechar: _str = ..., - line_terminator: Optional[_str] = ..., - chunksize: Optional[int] = ..., - date_format: Optional[_str] = ..., - doublequote: _bool = ..., - escapechar: Optional[_str] = ..., - decimal: _str = ..., - errors: _str = ..., - storage_options: Optional[Dict[_str, Any]] = ..., - ) -> _str: ... - def to_excel( - self, - excel_writer, - sheet_name: _str = ..., - na_rep: _str = ..., - float_format: Optional[_str] = ..., - columns: Optional[Union[_str, Sequence[_str]]] = ..., - header: _bool = ..., - index: _bool = ..., - index_label: Optional[Union[_str, Sequence[_str]]] = ..., - startrow: int = ..., - startcol: int = ..., - engine: Optional[_str] = ..., - merge_cells: _bool = ..., - encoding: Optional[_str] = ..., - inf_rep: _str = ..., - verbose: _bool = ..., - freeze_panes: Optional[Tuple[int, int]] = ..., - ) -> None: ... - def to_hdf( - self, - path_or_buf: FilePathOrBuffer, - key: _str, - mode: _str = ..., - complevel: Optional[int] = ..., - complib: Optional[_str] = ..., - append: _bool = ..., - format: Optional[_str] = ..., - index: _bool = ..., - min_itemsize: Optional[Union[int, Dict[_str, int]]] = ..., - nan_rep=..., - dropna: Optional[_bool] = ..., - data_columns: Optional[List[_str]] = ..., - errors: _str = ..., - encoding: _str = ..., - ) -> None: ... - @overload - def to_json( - self, - path_or_buf: Optional[FilePathOrBuffer], - orient: Optional[Union[_str, Literal["split", "records", "index", "columns", "values", "table"]]] = ..., - date_format: Optional[Union[_str, Literal["epoch", "iso"]]] = ..., - double_precision: int = ..., - force_ascii: _bool = ..., - date_unit: Union[_str, Literal["s", "ms", "us", "ns"]] = ..., - default_handler: Optional[Callable[[Any], Union[_str, int, float, _bool, List, Dict]]] = ..., - lines: _bool = ..., - compression: Union[_str, None, Literal["infer", "gzip", "bz2", "zip", "xz"]] = ..., - index: _bool = ..., - indent: Optional[int] = ..., - ) -> None: ... - @overload - def to_json( - self, - orient: Optional[Union[_str, Literal["split", "records", "index", "columns", "values", "table"]]] = ..., - date_format: Optional[Union[_str, Literal["epoch", "iso"]]] = ..., - double_precision: int = ..., - force_ascii: _bool = ..., - date_unit: Union[_str, Literal["s", "ms", "us", "ns"]] = ..., - default_handler: Optional[Callable[[Any], Union[_str, int, float, _bool, List, Dict]]] = ..., - lines: _bool = ..., - compression: Union[_str, None, Literal["infer", "gzip", "bz2", "zip", "xz"]] = ..., - index: _bool = ..., - indent: Optional[int] = ..., - ) -> _str: ... - @overload - def to_latex( - self, - buf: Optional[FilePathOrBuffer], - columns: Optional[List[_str]] = ..., - col_space: Optional[int] = ..., - header: _bool = ..., - index: _bool = ..., - na_rep: _str = ..., - formatters=..., - float_format=..., - sparsify: Optional[_bool] = ..., - index_names: _bool = ..., - bold_rows: _bool = ..., - column_format: Optional[_str] = ..., - longtable: Optional[_bool] = ..., - escape: Optional[_bool] = ..., - encoding: Optional[_str] = ..., - decimal: _str = ..., - multicolumn: Optional[_bool] = ..., - multicolumn_format: Optional[_str] = ..., - multirow: Optional[_bool] = ..., - caption: Optional[Union[_str, Tuple[_str, _str]]] = ..., - label: Optional[_str] = ..., - position: Optional[str] = ..., - ) -> None: ... - @overload - def to_latex( - self, - columns: Optional[List[_str]] = ..., - col_space: Optional[int] = ..., - header: _bool = ..., - index: _bool = ..., - na_rep: _str = ..., - formatters=..., - float_format=..., - sparsify: Optional[_bool] = ..., - index_names: _bool = ..., - bold_rows: _bool = ..., - column_format: Optional[_str] = ..., - longtable: Optional[_bool] = ..., - escape: Optional[_bool] = ..., - encoding: Optional[_str] = ..., - decimal: _str = ..., - multicolumn: Optional[_bool] = ..., - multicolumn_format: Optional[_str] = ..., - multirow: Optional[_bool] = ..., - caption: Optional[Union[_str, Tuple[_str, _str]]] = ..., - label: Optional[_str] = ..., - position: Optional[str] = ..., - ) -> _str: ... - def to_pickle( - self, - path: _str, - compression: Union[_str, Literal["infer", "gzip", "bz2", "zip", "xz"]] = ..., - protocol: int = ..., - ) -> None: ... - def to_sql( - self, - name: _str, - con, - schema: Optional[_str] = ..., - if_exists: _str = ..., - index: _bool = ..., - index_label: Optional[Union[_str, Sequence[_str]]] = ..., - chunksize: Optional[int] = ..., - dtype: Optional[Union[Dict, Scalar]] = ..., - method: Optional[Union[_str, Callable]] = ..., - ) -> None: ... - @overload - def to_string( - self, - buf: Optional[FilePathOrBuffer], - columns: Optional[Sequence[_str]] = ..., - col_space: Optional[Union[int, List[int], Dict[Union[_str, int], int]]] = ..., - header: Union[_bool, Sequence[_str]] = ..., - index: _bool = ..., - na_rep: _str = ..., - formatters=..., - float_format=..., - sparsify: Optional[_bool] = ..., - index_names: _bool = ..., - justify: Optional[_str] = ..., - max_rows: Optional[int] = ..., - min_rows: Optional[int] = ..., - max_cols: Optional[int] = ..., - show_dimensions: _bool = ..., - decimal: _str = ..., - line_width: Optional[int] = ..., - max_colwidth: Optional[int] = ..., - encoding: Optional[_str] = ..., - ) -> None: ... - @overload - def to_string( - self, - columns: Optional[Sequence[_str]] = ..., - col_space: Optional[Union[int, List[int], Dict[Union[_str, int], int]]] = ..., - header: Union[_bool, Sequence[_str]] = ..., - index: _bool = ..., - na_rep: _str = ..., - formatters=..., - float_format=..., - sparsify: Optional[_bool] = ..., - index_names: _bool = ..., - justify: Optional[_str] = ..., - max_rows: Optional[int] = ..., - min_rows: Optional[int] = ..., - max_cols: Optional[int] = ..., - show_dimensions: _bool = ..., - decimal: _str = ..., - line_width: Optional[int] = ..., - max_colwidth: Optional[int] = ..., - encoding: Optional[_str] = ..., - ) -> _str: ... - def to_xarray(self): ... - def truediv( - self, - other: Union[num, _ListLike, DataFrame], - axis: Optional[AxisType] = ..., - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - ) -> DataFrame: ... - def truncate( - self, - before: Optional[Union[datetime.date, _str, int]] = ..., - after: Optional[Union[datetime.date, _str, int]] = ..., - axis: Optional[AxisType] = ..., - copy: _bool = ..., - ) -> DataFrame: ... - # def tshift - def tz_convert( - self, - tz, - axis: AxisType = ..., - level: Optional[Level] = ..., - copy: _bool = ..., - ) -> DataFrame: ... - def tz_localize( - self, - tz, - axis: AxisType = ..., - level: Optional[Level] = ..., - copy: _bool = ..., - ambiguous=..., - nonexistent: _str = ..., - ) -> DataFrame: ... - def unique(self) -> DataFrame: ... - @overload - def var( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - ddof: int = ..., - numeric_only: Optional[_bool] = ..., - *, - level: Level, - **kwargs, - ) -> DataFrame: ... - @overload - def var( - self, - axis: Optional[AxisType] = ..., - skipna: Optional[_bool] = ..., - level: None = ..., - ddof: int = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> Series: ... - def where( - self, - cond: Union[Series, DataFrame, _np.ndarray], - other=..., - inplace: _bool = ..., - axis: Optional[AxisType] = ..., - level: Optional[Level] = ..., - errors: _str = ..., - try_cast: _bool = ..., - ) -> DataFrame: ... - # Move from generic because Series is Generic and it returns Series[bool] there - def __invert__(self) -> DataFrame: ... - \ No newline at end of file diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/generic.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/generic.pyi deleted file mode 100644 index f5f1a07f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/generic.pyi +++ /dev/null @@ -1,383 +0,0 @@ -import numpy as np -import sys -import pandas.core.indexing as indexing -from pandas._typing import ( - ArrayLike as ArrayLike, - Axis as Axis, - AxisType as AxisType, - Dtype as Dtype, - FilePathOrBuffer as FilePathOrBuffer, - FrameOrSeriesUnion as FrameOrSeriesUnion, - IgnoreRaise as IgnoreRaise, - JSONSerializable as JSONSerializable, - Level as Level, - Renamer as Renamer, - ListLike as ListLike, - Scalar as Scalar, - SeriesAxisType as SeriesAxisType, - FrameOrSeries as FrameOrSeries, - S1 as S1, - Timestamp as Timestamp, - Timedelta as Timedelta, - T, -) -from pandas.core.base import PandasObject as PandasObject -from pandas.core.indexes.base import Index as Index -from pandas.core.internals import BlockManager as BlockManager -from pandas.core.resample import Resampler -from typing import Any, Callable, Dict, Hashable, Iterator, List, Mapping, Optional, Sequence, Tuple, TypeVar, Union, overload - -if sys.version_info >= (3, 8): - from typing import Literal -else: - from typing_extensions import Literal - -_bool = bool -_str = str - -class NDFrame(PandasObject, indexing.IndexingMixin): - def __new__( - cls, - data: BlockManager, - axes: Optional[List[Index]] = ..., - copy: _bool = ..., - dtype: Optional[Dtype] = ..., - attrs: Optional[Mapping[Optional[Hashable], Any]] = ..., - fastpath: _bool = ..., - ) -> NDFrame: ... - def set_flags(self: FrameOrSeries, *, copy: bool = ..., allows_duplicate_labels: Optional[bool] = ...) -> FrameOrSeries: ... - @property - def attrs(self) -> Dict[Optional[Hashable], Any]: ... - @attrs.setter - def attrs(self, value: Mapping[Optional[Hashable], Any]) -> None: ... - @property - def shape(self) -> Tuple[int, ...]: ... - @property - def axes(self) -> List[Index]: ... - @property - def ndim(self) -> int: ... - @property - def size(self) -> int: ... - def swapaxes(self, axis1: SeriesAxisType, axis2: SeriesAxisType, copy: _bool = ...) -> NDFrame: ... - def droplevel(self, level: Level, axis: SeriesAxisType = ...) -> NDFrame: ... - def pop(self, item: _str) -> NDFrame: ... - def squeeze(self, axis=...): ... - def swaplevel(self, i=..., j=..., axis=...) -> NDFrame: ... - def equals(self, other: Series[S1]) -> _bool: ... - def __neg__(self) -> None: ... - def __pos__(self) -> None: ... - def __nonzero__(self) -> None: ... - def bool(self) -> _bool: ... - def __abs__(self) -> NDFrame: ... - def __round__(self, decimals: int = ...) -> NDFrame: ... - def __hash__(self): ... - def __iter__(self) -> Iterator: ... - def keys(self): ... - def iteritems(self): ... - def __len__(self) -> int: ... - def __contains__(self, key) -> _bool: ... - @property - def empty(self) -> _bool: ... - __array_priority__: int = ... - def __array__(self, dtype=...) -> np.ndarray: ... - def __array_wrap__(self, result, context=...): ... - def to_excel( - self, - excel_writer, - sheet_name: _str = ..., - na_rep: _str = ..., - float_format: Optional[_str] = ..., - columns: Optional[Union[_str, Sequence[_str]]] = ..., - header: _bool = ..., - index: _bool = ..., - index_label: Optional[Union[_str, Sequence[_str]]] = ..., - startrow: int = ..., - startcol: int = ..., - engine: Optional[_str] = ..., - merge_cells: _bool = ..., - encoding: Optional[_str] = ..., - inf_rep: _str = ..., - verbose: _bool = ..., - freeze_panes: Optional[Tuple[int, int]] = ..., - ) -> None: ... - @overload - def to_json( - self, - path_or_buf: Optional[FilePathOrBuffer], - orient: Optional[Union[_str, Literal["split", "records", "index", "columns", "values", "table"]]] = ..., - date_format: Optional[Union[_str, Literal["epoch", "iso"]]] = ..., - double_precision: int = ..., - force_ascii: _bool = ..., - date_unit: Union[_str, Literal["s", "ms", "us", "ns"]] = ..., - default_handler: Optional[Callable[[Any], Union[_str, int, float, _bool, List, Dict]]] = ..., - lines: _bool = ..., - compression: Union[_str, Literal["infer", "gzip", "bz2", "zip", "xz"]] = ..., - index: _bool = ..., - indent: Optional[int] = ..., - ) -> None: ... - @overload - def to_json( - self, - orient: Optional[Union[_str, Literal["split", "records", "index", "columns", "values", "table"]]] = ..., - date_format: Optional[Union[_str, Literal["epoch", "iso"]]] = ..., - double_precision: int = ..., - force_ascii: _bool = ..., - date_unit: Union[_str, Literal["s", "ms", "us", "ns"]] = ..., - default_handler: Optional[Callable[[Any], Union[_str, int, float, _bool, List, Dict]]] = ..., - lines: _bool = ..., - compression: Optional[Union[_str, Literal["infer", "gzip", "bz2", "zip", "xz"]]] = ..., - index: _bool = ..., - indent: Optional[int] = ..., - ) -> _str: ... - def to_hdf( - self, - path_or_buf: FilePathOrBuffer, - key: _str, - mode: _str = ..., - complevel: Optional[int] = ..., - complib: Optional[_str] = ..., - append: _bool = ..., - format: Optional[_str] = ..., - index: _bool = ..., - min_itemsize: Optional[Union[int, Dict[_str, int]]] = ..., - nan_rep=..., - dropna: Optional[_bool] = ..., - data_columns: Optional[List[_str]] = ..., - errors: _str = ..., - encoding: _str = ..., - ) -> None: ... - def to_sql( - self, - name: _str, - con, - schema: Optional[_str] = ..., - if_exists: _str = ..., - index: _bool = ..., - index_label: Optional[Union[_str, Sequence[_str]]] = ..., - chunksize: Optional[int] = ..., - dtype: Optional[Union[Dict, Scalar]] = ..., - method: Optional[Union[_str, Callable]] = ..., - ) -> None: ... - def to_pickle( - self, - path: _str, - compression: Union[_str, Literal["infer", "gzip", "bz2", "zip", "xz"]] = ..., - protocol: int = ..., - ) -> None: ... - def to_clipboard(self, excel: _bool = ..., sep: Optional[_str] = ..., **kwargs) -> None: ... - def to_xarray(self): ... - @overload - def to_latex( - self, - buf: Optional[FilePathOrBuffer], - columns: Optional[List[_str]] = ..., - col_space: Optional[int] = ..., - header: _bool = ..., - index: _bool = ..., - na_rep: _str = ..., - formatters=..., - float_format=..., - sparsify: Optional[_bool] = ..., - index_names: _bool = ..., - bold_rows: _bool = ..., - column_format: Optional[_str] = ..., - longtable: Optional[_bool] = ..., - escape: Optional[_bool] = ..., - encoding: Optional[_str] = ..., - decimal: _str = ..., - multicolumn: Optional[_bool] = ..., - multicolumn_format: Optional[_str] = ..., - multirow: Optional[_bool] = ..., - caption: Optional[Union[_str, Tuple[_str, _str]]] = ..., - label: Optional[_str] = ..., - position: Optional[_str] = ..., - ) -> None: ... - @overload - def to_latex( - self, - columns: Optional[List[_str]] = ..., - col_space: Optional[int] = ..., - header: _bool = ..., - index: _bool = ..., - na_rep: _str = ..., - formatters=..., - float_format=..., - sparsify: Optional[_bool] = ..., - index_names: _bool = ..., - bold_rows: _bool = ..., - column_format: Optional[_str] = ..., - longtable: Optional[_bool] = ..., - escape: Optional[_bool] = ..., - encoding: Optional[_str] = ..., - decimal: _str = ..., - multicolumn: Optional[_bool] = ..., - multicolumn_format: Optional[_str] = ..., - multirow: Optional[_bool] = ..., - caption: Optional[Union[_str, Tuple[_str, _str]]] = ..., - label: Optional[_str] = ..., - position: Optional[_str] = ..., - ) -> _str: ... - @overload - def to_csv( - self, - path_or_buf: Optional[FilePathOrBuffer], - sep: _str = ..., - na_rep: _str = ..., - float_format: Optional[_str] = ..., - columns: Optional[Sequence[Hashable]] = ..., - header: Union[_bool, List[_str]] = ..., - index: _bool = ..., - index_label: Optional[Union[_bool, _str, Sequence[Hashable]]] = ..., - mode: _str = ..., - encoding: Optional[_str] = ..., - compression: Union[_str, Mapping[_str, _str]] = ..., - quoting: Optional[int] = ..., - quotechar: _str = ..., - line_terminator: Optional[_str] = ..., - chunksize: Optional[int] = ..., - date_format: Optional[_str] = ..., - doublequote: _bool = ..., - escapechar: Optional[_str] = ..., - decimal: _str = ..., - errors: _str = ..., - storage_options: Optional[Dict[_str, Any]] = ..., - ) -> None: ... - @overload - def to_csv( - self, - sep: _str = ..., - na_rep: _str = ..., - float_format: Optional[_str] = ..., - columns: Optional[Sequence[Hashable]] = ..., - header: Union[_bool, List[_str]] = ..., - index: _bool = ..., - index_label: Optional[Union[_bool, _str, Sequence[Hashable]]] = ..., - mode: _str = ..., - encoding: Optional[_str] = ..., - compression: Union[_str, Mapping[_str, _str]] = ..., - quoting: Optional[int] = ..., - quotechar: _str = ..., - line_terminator: Optional[_str] = ..., - chunksize: Optional[int] = ..., - date_format: Optional[_str] = ..., - doublequote: _bool = ..., - escapechar: Optional[_str] = ..., - decimal: _str = ..., - errors: _str = ..., - storage_options: Optional[Dict[_str, Any]] = ..., - ) -> _str: ... - def take(self, indices, axis=..., is_copy: Optional[_bool] = ..., **kwargs) -> NDFrame: ... - def xs( - self, - key: Union[_str, Tuple[_str]], - axis: SeriesAxisType = ..., - level: Optional[Level] = ..., - drop_level: _bool = ..., - ) -> FrameOrSeriesUnion: ... - def __delitem__(self, idx: Hashable): ... - def get(self, key: object, default: Optional[Dtype] = ...) -> Dtype: ... - def reindex_like(self, other, method: Optional[_str] = ..., copy: _bool = ..., limit=..., tolerance=...) -> NDFrame: ... - @overload - def drop( - self, - labels: Hashable | list[Hashable] = ..., - *, - axis: Axis = ..., - index: Hashable | list[Hashable] = ..., - columns: Hashable | list[Hashable] = ..., - level: Level | None = ..., - inplace: Literal[True], - errors: IgnoreRaise = ..., - ) -> None: ... - @overload - def drop( - self: NDFrame, - labels: Hashable | list[Hashable] = ..., - *, - axis: Axis = ..., - index: Hashable | list[Hashable] = ..., - columns: Hashable | list[Hashable] = ..., - level: Level | None = ..., - inplace: Literal[False] = ..., - errors: IgnoreRaise = ..., - ) -> NDFrame: ... - @overload - def drop( - self: NDFrame, - labels: Hashable | list[Hashable] = ..., - *, - axis: Axis = ..., - index: Hashable | list[Hashable] = ..., - columns: Hashable | list[Hashable] = ..., - level: Level | None = ..., - inplace: _bool = ..., - errors: IgnoreRaise = ..., - ) -> NDFrame | None: ... - def add_prefix(self, prefix: _str) -> NDFrame: ... - def add_suffix(self, suffix: _str) -> NDFrame: ... - def sort_index( - self, - axis=..., - level=..., - ascending: _bool = ..., - inplace: _bool = ..., - kind: _str = ..., - na_position: _str = ..., - sort_remaining: _bool = ..., - ignore_index: _bool = ..., - ): ... - def filter(self, items=..., like: Optional[_str] = ..., regex: Optional[_str] = ..., axis=...) -> NDFrame: ... - def head(self: FrameOrSeries, n: int = ...) -> FrameOrSeries: ... - def tail(self: FrameOrSeries, n: int = ...) -> FrameOrSeries: ... - def pipe(self, func: Callable[..., T] | tuple[Callable[..., T], str], *args, **kwargs) -> T: ... - def __finalize__(self, other, method=..., **kwargs) -> NDFrame: ... - def __getattr__(self, name: _str): ... - def __setattr__(self, name: _str, value) -> None: ... - @property - def values(self) -> ArrayLike: ... - @property - def dtypes(self): ... - def astype(self: FrameOrSeries, dtype, copy: _bool = ..., errors: str = ...) -> FrameOrSeries: ... - def copy(self: FrameOrSeries, deep: _bool = ...) -> FrameOrSeries: ... - def __copy__(self, deep: _bool = ...) -> NDFrame: ... - def __deepcopy__(self, memo=...) -> NDFrame: ... - def infer_objects(self) -> NDFrame: ... - def convert_dtypes(self:FrameOrSeries, infer_objects: _bool = ..., convert_string: _bool = ..., convert_integer: _bool = ..., convert_boolean: _bool = ..., convert_floating: _bool = ... ) -> FrameOrSeries: ... - def fillna(self, value=..., method=..., axis=..., inplace: _bool = ..., limit=..., downcast=...) -> Optional[NDFrame]: ... - def replace(self, to_replace=..., value=..., inplace: _bool = ..., limit=..., regex: _bool = ..., method: _str = ...): ... - def asof(self, where, subset=...): ... - def isna(self) -> NDFrame: ... - def isnull(self) -> NDFrame: ... - def notna(self) -> NDFrame: ... - def notnull(self) -> NDFrame: ... - def clip(self, lower=..., upper=..., axis=..., inplace: _bool = ..., *args, **kwargs) -> NDFrame: ... - def asfreq(self, freq, method=..., how: Optional[_str] = ..., normalize: _bool = ..., fill_value=...) -> NDFrame: ... - def at_time(self, time, asof: _bool = ..., axis=...) -> NDFrame: ... - def between_time(self, start_time, end_time, include_start: _bool = ..., include_end: _bool = ..., axis=...) -> NDFrame: ... - def first(self, offset) -> NDFrame: ... - def last(self, offset) -> NDFrame: ... - def rank( - self, - axis=..., - method: _str = ..., - numeric_only: Optional[_bool] = ..., - na_option: _str = ..., - ascending: _bool = ..., - pct: _bool = ..., - ) -> NDFrame: ... - def where(self, cond, other=..., inplace: _bool = ..., axis=..., level=..., errors: _str = ..., try_cast: _bool = ...): ... - def mask(self, cond, other=..., inplace: _bool = ..., axis=..., level=..., errors: _str = ..., try_cast: _bool = ...): ... - def shift(self, periods=..., freq=..., axis=..., fill_value=...) -> NDFrame: ... - def slice_shift(self, periods: int = ..., axis=...) -> NDFrame: ... - def tshift(self, periods: int = ..., freq=..., axis=...) -> NDFrame: ... - def truncate(self, before=..., after=..., axis=..., copy: _bool = ...) -> NDFrame: ... - def tz_convert(self, tz, axis=..., level=..., copy: _bool = ...) -> NDFrame: ... - def tz_localize(self, tz, axis=..., level=..., copy: _bool = ..., ambiguous=..., nonexistent: str = ...) -> NDFrame: ... - def abs(self) -> NDFrame: ... - def describe(self, percentiles=..., include=..., exclude=..., datetime_is_numeric: Optional[_bool] = ...) -> NDFrame: ... - def pct_change(self, periods=..., fill_method=..., limit=..., freq=..., **kwargs) -> NDFrame: ... - def transform(self, func, *args, **kwargs): ... - def first_valid_index(self): ... - def last_valid_index(self): ... - -from pandas.core.series import Series as Series diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/__init__.pyi deleted file mode 100644 index 178542b2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/__init__.pyi +++ /dev/null @@ -1,2 +0,0 @@ -from pandas.core.groupby.generic import NamedAgg as NamedAgg -from pandas.core.groupby.grouper import Grouper as Grouper diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/base.pyi deleted file mode 100644 index 775a6c6b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/base.pyi +++ /dev/null @@ -1,19 +0,0 @@ -#from pandas.core.dtypes.common import is_list_like as is_list_like, is_scalar as is_scalar -from typing import NamedTuple - -class OutputKey(NamedTuple): - label: str - position: int - -class GroupByMixin: ... - -plotting_methods = ... -common_apply_whitelist = ... -series_apply_whitelist = ... -dataframe_apply_whitelist = ... -cythonized_kernels = ... -cython_cast_blacklist = ... -reduction_kernels = ... -transformation_kernels = ... -groupby_other_methods = ... -transform_kernel_whitelist = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/categorical.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/categorical.pyi deleted file mode 100644 index ed968b19..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/categorical.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from pandas.core.arrays.categorical import Categorical as Categorical # , CategoricalDtype as CategoricalDtype - -def recode_for_groupby(c: Categorical, sort: bool, observed: bool): ... -def recode_from_groupby(c: Categorical, sort: bool, ci): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/generic.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/generic.pyi deleted file mode 100644 index 738b55b3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/generic.pyi +++ /dev/null @@ -1,901 +0,0 @@ -from matplotlib.axes import Axes as PlotAxes, SubplotBase as AxesSubplot -import numpy as np -import sys -from pandas._typing import FrameOrSeries as FrameOrSeries, AxisType, Dtype, Level, F, AggFuncType, S1 -from pandas.core.frame import DataFrame as DataFrame -from pandas.core.groupby.groupby import GroupBy as GroupBy # , get_groupby as get_groupby -from pandas.core.groupby.grouper import Grouper as Grouper -from pandas.core.series import Series as Series -from typing import Any, Callable, Dict, FrozenSet, List, NamedTuple, Optional, Sequence, Tuple, Type, Union, overload - -if sys.version_info >= (3, 8): - from typing import Literal -else: - from typing_extensions import Literal - -AggScalar = Union[str, Callable[..., Any]] -ScalarResult = ... - -class NamedAgg(NamedTuple): - column: str = ... - aggfunc: AggScalar = ... - -def generate_property(name: str, klass: Type[FrameOrSeries]): ... -def pin_whitelisted_properties(klass: Type[FrameOrSeries], whitelist: FrozenSet[str]): ... - -class SeriesGroupBy(GroupBy): - def any(self, skipna: bool = ...) -> Series[bool]: ... - def all(self, skipna: bool = ...) -> Series[bool]: ... - def apply(self, func, *args, **kwargs) -> Series: ... - def aggregate(self, func=..., *args, **kwargs) -> Series: ... - agg = aggregate - def transform(self, func, *args, **kwargs): ... - def filter(self, func, dropna: bool = ..., *args, **kwargs): ... - def nunique(self, dropna: bool = ...) -> Series: ... - def describe(self, **kwargs) -> DataFrame: ... - def value_counts( - self, - normalize: bool = ..., - sort: bool = ..., - ascending: bool = ..., - bins=..., - dropna: bool = ..., - ) -> DataFrame: ... - def count(self) -> Series[int]: ... - def pct_change( - self, - periods: int = ..., - fill_method: str = ..., - limit=..., - freq=..., - axis: AxisType = ..., - ) -> Series[float]: ... - # Overrides and others from original pylance stubs - @property - def is_monotonic_increasing(self) -> bool: ... - @property - def is_monotonic_decreasing(self) -> bool: ... - def bfill(self, limit: Optional[int] = ...) -> Series[S1]: ... - def cummax(self, axis: AxisType = ..., **kwargs) -> Series[S1]: ... - def cummin(self, axis: AxisType = ..., **kwargs) -> Series[S1]: ... - def cumprod(self, axis: AxisType = ..., **kwargs) -> Series[S1]: ... - def cumsum(self, axis: AxisType = ..., **kwargs) -> Series[S1]: ... - def ffill(self, limit: Optional[int] = ...) -> Series[S1]: ... - def first(self, **kwargs) -> Series[S1]: ... - def head(self, n: int = ...) -> Series[S1]: ... - def last(self, **kwargs) -> Series[S1]: ... - def max(self, **kwargs) -> Series[S1]: ... - def mean(self, **kwargs) -> Series[S1]: ... - def median(self, **kwargs) -> Series[S1]: ... - def min(self, **kwargs) -> Series[S1]: ... - def nlargest(self, n: int = ..., keep: str = ...) -> Series[S1]: ... - def nsmallest(self, n: int = ..., keep: str = ...) -> Series[S1]: ... - def nth(self, n: Union[int, Sequence[int]], dropna: Optional[str] = ...) -> Series[S1]: ... - -class DataFrameGroupBy(GroupBy): - def any(self, skipna: bool = ...) -> DataFrame: ... - def all(self, skipna: bool = ...) -> DataFrame: ... - def apply(self, func, *args, **kwargs) -> DataFrame: ... - @overload - def aggregate(self, arg: str, *args, **kwargs) -> DataFrame: - """ -Aggregate using one or more operations over the specified axis. - -Parameters ----------- -func : function, str, list or dict - Function to use for aggregating the data. If a function, must either - work when passed a DataFrame or when passed to DataFrame.apply. - - Accepted combinations are: - - - function - - string function name - - list of functions and/or function names, e.g. ``[np.sum, 'mean']`` - - dict of axis labels -> functions, function names or list of such. - - Can also accept a Numba JIT function with - ``engine='numba'`` specified. Only passing a single function is supported - with this engine. - - If the ``'numba'`` engine is chosen, the function must be - a user defined function with ``values`` and ``index`` as the - first and second arguments respectively in the function signature. - Each group's index will be passed to the user defined function - and optionally available for use. - - .. versionchanged:: 1.1.0 -*args - Positional arguments to pass to func. -engine : str, default None - * ``'cython'`` : Runs the function through C-extensions from cython. - * ``'numba'`` : Runs the function through JIT compiled code from numba. - * ``None`` : Defaults to ``'cython'`` or globally setting ``compute.use_numba`` - - .. versionadded:: 1.1.0 -engine_kwargs : dict, default None - * For ``'cython'`` engine, there are no accepted ``engine_kwargs`` - * For ``'numba'`` engine, the engine can accept ``nopython``, ``nogil`` - and ``parallel`` dictionary keys. The values must either be ``True`` or - ``False``. The default ``engine_kwargs`` for the ``'numba'`` engine is - ``{'nopython': True, 'nogil': False, 'parallel': False}`` and will be - applied to the function - - .. versionadded:: 1.1.0 -**kwargs - Keyword arguments to be passed into func. - -Returns -------- -DataFrame - -See Also --------- -DataFrame.groupby.apply : Apply function func group-wise - and combine the results together. -DataFrame.groupby.transform : Aggregate using one or more - operations over the specified axis. -DataFrame.aggregate : Transforms the Series on each group - based on the given function. - -Notes ------ -When using ``engine='numba'``, there will be no "fall back" behavior internally. -The group data and group index will be passed as numpy arrays to the JITed -user defined function, and no alternative execution attempts will be tried. - -Functions that mutate the passed object can produce unexpected -behavior or errors and are not supported. See :ref:`gotchas.udf-mutation` -for more details. - -.. versionchanged:: 1.3.0 - - The resulting dtype will reflect the return value of the passed ``func``, - see the examples below. - -Examples --------- ->>> df = pd.DataFrame( -... { -... "A": [1, 1, 2, 2], -... "B": [1, 2, 3, 4], -... "C": [0.362838, 0.227877, 1.267767, -0.562860], -... } -... ) - ->>> df - A B C -0 1 1 0.362838 -1 1 2 0.227877 -2 2 3 1.267767 -3 2 4 -0.562860 - -The aggregation is for each column. - ->>> df.groupby('A').agg('min') - B C -A -1 1 0.227877 -2 3 -0.562860 - -Multiple aggregations - ->>> df.groupby('A').agg(['min', 'max']) - B C - min max min max -A -1 1 2 0.227877 0.362838 -2 3 4 -0.562860 1.267767 - -Select a column for aggregation - ->>> df.groupby('A').B.agg(['min', 'max']) - min max -A -1 1 2 -2 3 4 - -Different aggregations per column - ->>> df.groupby('A').agg({'B': ['min', 'max'], 'C': 'sum'}) - B C - min max sum -A -1 1 2 0.590715 -2 3 4 0.704907 - -To control the output names with different aggregations per column, -pandas supports "named aggregation" - ->>> df.groupby("A").agg( -... b_min=pd.NamedAgg(column="B", aggfunc="min"), -... c_sum=pd.NamedAgg(column="C", aggfunc="sum")) - b_min c_sum -A -1 1 0.590715 -2 3 0.704907 - -- The keywords are the *output* column names -- The values are tuples whose first element is the column to select - and the second element is the aggregation to apply to that column. - Pandas provides the ``pandas.NamedAgg`` namedtuple with the fields - ``['column', 'aggfunc']`` to make it clearer what the arguments are. - As usual, the aggregation can be a callable or a string alias. - -See :ref:`groupby.aggregate.named` for more. - -.. versionchanged:: 1.3.0 - - The resulting dtype will reflect the return value of the aggregating function. - ->>> df.groupby("A")[["B"]].agg(lambda x: x.astype(float).min()) - B -A -1 1.0 -2 3.0 - """ - pass - @overload - def aggregate(self, arg: Dict, *args, **kwargs) -> DataFrame: ... - @overload - def aggregate(self, arg: Callable[[], Any], *args, **kwargs) -> DataFrame: ... - @overload - def agg(self, arg: str, *args, **kwargs) -> DataFrame: ... - @overload - def agg(self, arg: Dict, *args, **kwargs) -> DataFrame: ... - @overload - def agg(self, arg: F, *args, **kwargs) -> DataFrame: ... - def transform(self, func, *args, **kwargs): ... - def filter(self, func: Callable, dropna: bool = ..., *args, **kwargs) -> DataFrame: ... - def nunique(self, dropna: bool = ...) -> DataFrame: ... - @overload - def __getitem__(self, item: str) -> SeriesGroupBy: ... - @overload - def __getitem__(self, item: List[str]) -> DataFrameGroupBy: ... - def count(self) -> DataFrame: ... - def boxplot( - self, - grouped: DataFrame, - subplots: bool = ..., - column: Optional[Union[str, Sequence]] = ..., - fontsize: Union[int, str] = ..., - rot: float = ..., - grid: bool = ..., - ax: Optional[PlotAxes] = ..., - figsize: Optional[Tuple[float, float]] = ..., - layout: Optional[Tuple[int, int]] = ..., - sharex: bool = ..., - sharey: bool = ..., - bins: Union[int, Sequence] = ..., - backend: Optional[str] = ..., - **kwargs, - ) -> Union[AxesSubplot, Sequence[AxesSubplot]]: - """ -Make box plots from DataFrameGroupBy data. - -Parameters ----------- -grouped : Grouped DataFrame -subplots : bool - * ``False`` - no subplots will be used - * ``True`` - create a subplot for each group. - -column : column name or list of names, or vector - Can be any valid input to groupby. -fontsize : int or str -rot : label rotation angle -grid : Setting this to True will show the grid -ax : Matplotlib axis object, default None -figsize : A tuple (width, height) in inches -layout : tuple (optional) - The layout of the plot: (rows, columns). -sharex : bool, default False - Whether x-axes will be shared among subplots. -sharey : bool, default True - Whether y-axes will be shared among subplots. -backend : str, default None - Backend to use instead of the backend specified in the option - ``plotting.backend``. For instance, 'matplotlib'. Alternatively, to - specify the ``plotting.backend`` for the whole session, set - ``pd.options.plotting.backend``. - - .. versionadded:: 1.0.0 - -**kwargs - All other plotting keyword arguments to be passed to - matplotlib's boxplot function. - -Returns -------- -dict of key/value = group key/DataFrame.boxplot return value -or DataFrame.boxplot return value in case subplots=figures=False - -Examples --------- -You can create boxplots for grouped data and show them as separate subplots: - -.. plot:: - :context: close-figs - - >>> import itertools - >>> tuples = [t for t in itertools.product(range(1000), range(4))] - >>> index = pd.MultiIndex.from_tuples(tuples, names=['lvl0', 'lvl1']) - >>> data = np.random.randn(len(index),4) - >>> df = pd.DataFrame(data, columns=list('ABCD'), index=index) - >>> grouped = df.groupby(level='lvl1') - >>> grouped.boxplot(rot=45, fontsize=12, figsize=(8,10)) # doctest: +SKIP - -The ``subplots=False`` option shows the boxplots in a single figure. - -.. plot:: - :context: close-figs - - >>> grouped.boxplot(subplots=False, rot=45, fontsize=12) # doctest: +SKIP - """ - pass - # Overrides and others from original pylance stubs - ## These are "properties" but properties can't have all these arguments?! - def corr(self, method: Union[str, Callable], min_periods: int = ...) -> DataFrame: ... - def cov(self, min_periods: int = ...) -> DataFrame: ... - def diff(self, periods: int = ..., axis: AxisType = ...) -> DataFrame: ... - def bfill(self, limit: Optional[int] = ...) -> DataFrame: ... - def corrwith( - self, - other: DataFrame, - axis: AxisType = ..., - drop: bool = ..., - method: str = ..., - ) -> Series: ... - def cummax(self, axis: AxisType = ..., **kwargs) -> DataFrame: ... - def cummin(self, axis: AxisType = ..., **kwargs) -> DataFrame: ... - def cumprod(self, axis: AxisType = ..., **kwargs) -> DataFrame: ... - def cumsum(self, axis: AxisType = ..., **kwargs) -> DataFrame: ... - def describe(self, **kwargs) -> DataFrame: ... - def ffill(self, limit: Optional[int] = ...) -> DataFrame: ... - @overload - def fillna( - self, - value, - method: Optional[str] = ..., - axis: AxisType = ..., - limit: Optional[int] = ..., - downcast: Optional[Dict] = ..., - *, - inplace: Literal[True], - ) -> None: - """ -Fill NA/NaN values using the specified method. - -Parameters ----------- -value : scalar, dict, Series, or DataFrame - Value to use to fill holes (e.g. 0), alternately a - dict/Series/DataFrame of values specifying which value to use for - each index (for a Series) or column (for a DataFrame). Values not - in the dict/Series/DataFrame will not be filled. This value cannot - be a list. -method : {'backfill', 'bfill', 'pad', 'ffill', None}, default None - Method to use for filling holes in reindexed Series - pad / ffill: propagate last valid observation forward to next valid - backfill / bfill: use next valid observation to fill gap. -axis : {0 or 'index', 1 or 'columns'} - Axis along which to fill missing values. -inplace : bool, default False - If True, fill in-place. Note: this will modify any - other views on this object (e.g., a no-copy slice for a column in a - DataFrame). -limit : int, default None - If method is specified, this is the maximum number of consecutive - NaN values to forward/backward fill. In other words, if there is - a gap with more than this number of consecutive NaNs, it will only - be partially filled. If method is not specified, this is the - maximum number of entries along the entire axis where NaNs will be - filled. Must be greater than 0 if not None. -downcast : dict, default is None - A dict of item->dtype of what to downcast if possible, - or the string 'infer' which will try to downcast to an appropriate - equal type (e.g. float64 to int64 if possible). - -Returns -------- -DataFrame or None - Object with missing values filled or None if ``inplace=True``. - -See Also --------- -interpolate : Fill NaN values using interpolation. -reindex : Conform object to new index. -asfreq : Convert TimeSeries to specified frequency. - -Examples --------- ->>> df = pd.DataFrame([[np.nan, 2, np.nan, 0], -... [3, 4, np.nan, 1], -... [np.nan, np.nan, np.nan, np.nan], -... [np.nan, 3, np.nan, 4]], -... columns=list("ABCD")) ->>> df - A B C D -0 NaN 2.0 NaN 0.0 -1 3.0 4.0 NaN 1.0 -2 NaN NaN NaN NaN -3 NaN 3.0 NaN 4.0 - -Replace all NaN elements with 0s. - ->>> df.fillna(0) - A B C D -0 0.0 2.0 0.0 0.0 -1 3.0 4.0 0.0 1.0 -2 0.0 0.0 0.0 0.0 -3 0.0 3.0 0.0 4.0 - -We can also propagate non-null values forward or backward. - ->>> df.fillna(method="ffill") - A B C D -0 NaN 2.0 NaN 0.0 -1 3.0 4.0 NaN 1.0 -2 3.0 4.0 NaN 1.0 -3 3.0 3.0 NaN 4.0 - -Replace all NaN elements in column 'A', 'B', 'C', and 'D', with 0, 1, -2, and 3 respectively. - ->>> values = {"A": 0, "B": 1, "C": 2, "D": 3} ->>> df.fillna(value=values) - A B C D -0 0.0 2.0 2.0 0.0 -1 3.0 4.0 2.0 1.0 -2 0.0 1.0 2.0 3.0 -3 0.0 3.0 2.0 4.0 - -Only replace the first NaN element. - ->>> df.fillna(value=values, limit=1) - A B C D -0 0.0 2.0 2.0 0.0 -1 3.0 4.0 NaN 1.0 -2 NaN 1.0 NaN 3.0 -3 NaN 3.0 NaN 4.0 - -When filling using a DataFrame, replacement happens along -the same column names and same indices - ->>> df2 = pd.DataFrame(np.zeros((4, 4)), columns=list("ABCE")) ->>> df.fillna(df2) - A B C D -0 0.0 2.0 0.0 0.0 -1 3.0 4.0 0.0 1.0 -2 0.0 0.0 0.0 NaN -3 0.0 3.0 0.0 4.0 - -Note that column D is not affected since it is not present in df2. - """ - pass - @overload - def fillna( - self, - value, - method: Optional[str] = ..., - axis: AxisType = ..., - limit: Optional[int] = ..., - downcast: Optional[Dict] = ..., - *, - inplace: Literal[False], - ) -> DataFrame: ... - @overload - def fillna( - self, - value, - method: Optional[str] = ..., - axis: AxisType = ..., - inplace: bool = ..., - limit: Optional[int] = ..., - downcast: Optional[Dict] = ..., - ) -> Union[None, DataFrame]: ... - def first(self, **kwargs) -> DataFrame: ... - def head(self, n: int = ...) -> DataFrame: ... - def hist( - self, - data: DataFrame, - column: Optional[Union[str, Sequence]] = ..., - by=..., - grid: bool = ..., - xlabelsize: Optional[int] = ..., - xrot: Optional[float] = ..., - ylabelsize: Optional[int] = ..., - yrot: Optional[float] = ..., - ax: Optional[PlotAxes] = ..., - sharex: bool = ..., - sharey: bool = ..., - figsize: Optional[Tuple[float, float]] = ..., - layout: Optional[Tuple[int, int]] = ..., - bins: Union[int, Sequence] = ..., - backend: Optional[str] = ..., - **kwargs, - ) -> Union[AxesSubplot, Sequence[AxesSubplot]]: - """ -Make a histogram of the DataFrame's columns. - -A `histogram`_ is a representation of the distribution of data. -This function calls :meth:`matplotlib.pyplot.hist`, on each series in -the DataFrame, resulting in one histogram per column. - -.. _histogram: https://en.wikipedia.org/wiki/Histogram - -Parameters ----------- -data : DataFrame - The pandas object holding the data. -column : str or sequence, optional - If passed, will be used to limit data to a subset of columns. -by : object, optional - If passed, then used to form histograms for separate groups. -grid : bool, default True - Whether to show axis grid lines. -xlabelsize : int, default None - If specified changes the x-axis label size. -xrot : float, default None - Rotation of x axis labels. For example, a value of 90 displays the - x labels rotated 90 degrees clockwise. -ylabelsize : int, default None - If specified changes the y-axis label size. -yrot : float, default None - Rotation of y axis labels. For example, a value of 90 displays the - y labels rotated 90 degrees clockwise. -ax : Matplotlib axes object, default None - The axes to plot the histogram on. -sharex : bool, default True if ax is None else False - In case subplots=True, share x axis and set some x axis labels to - invisible; defaults to True if ax is None otherwise False if an ax - is passed in. - Note that passing in both an ax and sharex=True will alter all x axis - labels for all subplots in a figure. -sharey : bool, default False - In case subplots=True, share y axis and set some y axis labels to - invisible. -figsize : tuple, optional - The size in inches of the figure to create. Uses the value in - `matplotlib.rcParams` by default. -layout : tuple, optional - Tuple of (rows, columns) for the layout of the histograms. -bins : int or sequence, default 10 - Number of histogram bins to be used. If an integer is given, bins + 1 - bin edges are calculated and returned. If bins is a sequence, gives - bin edges, including left edge of first bin and right edge of last - bin. In this case, bins is returned unmodified. - -backend : str, default None - Backend to use instead of the backend specified in the option - ``plotting.backend``. For instance, 'matplotlib'. Alternatively, to - specify the ``plotting.backend`` for the whole session, set - ``pd.options.plotting.backend``. - - .. versionadded:: 1.0.0 - -legend : bool, default False - Whether to show the legend. - - .. versionadded:: 1.1.0 - -**kwargs - All other plotting keyword arguments to be passed to - :meth:`matplotlib.pyplot.hist`. - -Returns -------- -matplotlib.AxesSubplot or numpy.ndarray of them - -See Also --------- -matplotlib.pyplot.hist : Plot a histogram using matplotlib. - -Examples --------- -This example draws a histogram based on the length and width of -some animals, displayed in three bins - -.. plot:: - :context: close-figs - - >>> df = pd.DataFrame({ - ... 'length': [1.5, 0.5, 1.2, 0.9, 3], - ... 'width': [0.7, 0.2, 0.15, 0.2, 1.1] - ... }, index=['pig', 'rabbit', 'duck', 'chicken', 'horse']) - >>> hist = df.hist(bins=3) - """ - pass - def idxmax(self, axis: AxisType = ..., skipna: bool = ...) -> Series: - """ -Return index of first occurrence of maximum over requested axis. - -NA/null values are excluded. - -Parameters ----------- -axis : {0 or 'index', 1 or 'columns'}, default 0 - The axis to use. 0 or 'index' for row-wise, 1 or 'columns' for column-wise. -skipna : bool, default True - Exclude NA/null values. If an entire row/column is NA, the result - will be NA. - -Returns -------- -Series - Indexes of maxima along the specified axis. - -Raises ------- -ValueError - * If the row/column is empty - -See Also --------- -Series.idxmax : Return index of the maximum element. - -Notes ------ -This method is the DataFrame version of ``ndarray.argmax``. - -Examples --------- -Consider a dataset containing food consumption in Argentina. - ->>> df = pd.DataFrame({'consumption': [10.51, 103.11, 55.48], -... 'co2_emissions': [37.2, 19.66, 1712]}, -... index=['Pork', 'Wheat Products', 'Beef']) - ->>> df - consumption co2_emissions -Pork 10.51 37.20 -Wheat Products 103.11 19.66 -Beef 55.48 1712.00 - -By default, it returns the index for the maximum value in each column. - ->>> df.idxmax() -consumption Wheat Products -co2_emissions Beef -dtype: object - -To return the index for the maximum value in each row, use ``axis="columns"``. - ->>> df.idxmax(axis="columns") -Pork co2_emissions -Wheat Products consumption -Beef co2_emissions -dtype: object - """ - pass - def idxmin(self, axis: AxisType = ..., skipna: bool = ...) -> Series: - """ -Return index of first occurrence of minimum over requested axis. - -NA/null values are excluded. - -Parameters ----------- -axis : {0 or 'index', 1 or 'columns'}, default 0 - The axis to use. 0 or 'index' for row-wise, 1 or 'columns' for column-wise. -skipna : bool, default True - Exclude NA/null values. If an entire row/column is NA, the result - will be NA. - -Returns -------- -Series - Indexes of minima along the specified axis. - -Raises ------- -ValueError - * If the row/column is empty - -See Also --------- -Series.idxmin : Return index of the minimum element. - -Notes ------ -This method is the DataFrame version of ``ndarray.argmin``. - -Examples --------- -Consider a dataset containing food consumption in Argentina. - ->>> df = pd.DataFrame({'consumption': [10.51, 103.11, 55.48], -... 'co2_emissions': [37.2, 19.66, 1712]}, -... index=['Pork', 'Wheat Products', 'Beef']) - ->>> df - consumption co2_emissions -Pork 10.51 37.20 -Wheat Products 103.11 19.66 -Beef 55.48 1712.00 - -By default, it returns the index for the minimum value in each column. - ->>> df.idxmin() -consumption Pork -co2_emissions Wheat Products -dtype: object - -To return the index for the minimum value in each row, use ``axis="columns"``. - ->>> df.idxmin(axis="columns") -Pork consumption -Wheat Products co2_emissions -Beef consumption -dtype: object - """ - pass - def last(self, **kwargs) -> DataFrame: ... - @overload - def mad( - self, axis: AxisType = ..., skipna: bool = ..., numeric_only: Optional[bool] = ..., *, level: Level, **kwargs - ) -> DataFrame: - """ -Return the mean absolute deviation of the values over the requested axis. - -Parameters ----------- -axis : {index (0), columns (1)} - Axis for the function to be applied on. -skipna : bool, default True - Exclude NA/null values when computing the result. -level : int or level name, default None - If the axis is a MultiIndex (hierarchical), count along a - particular level, collapsing into a Series. - -Returns -------- -Series or DataFrame (if level specified) - """ - pass - @overload - def mad( - self, axis: AxisType = ..., skipna: bool = ..., level: None = ..., numeric_only: Optional[bool] = ..., **kwargs - ) -> Series: ... - def max(self, **kwargs) -> DataFrame: ... - def mean(self, **kwargs) -> DataFrame: ... - def median(self, **kwargs) -> DataFrame: ... - def min(self, **kwargs) -> DataFrame: ... - def nth(self, n: Union[int, Sequence[int]], dropna: Optional[str] = ...) -> DataFrame: ... - def pct_change( - self, - periods: int = ..., - fill_method: str = ..., - limit=..., - freq=..., - axis: AxisType = ..., - ) -> DataFrame: ... - def prod(self, **kwargs) -> DataFrame: ... - def quantile(self, q: float = ..., interpolation: str = ...) -> DataFrame: ... - def resample(self, rule, *args, **kwargs) -> Grouper: ... - def sem(self, ddof: int = ...) -> DataFrame: ... - def shift( - self, - periods: int = ..., - freq: str = ..., - axis: AxisType = ..., - fill_value=..., - ) -> DataFrame: ... - def size(self) -> Series[int]: ... - @overload - def skew( - self, axis: AxisType = ..., skipna: bool = ..., numeric_only: bool = ..., *, level: Level, **kwargs - ) -> DataFrame: - """ -Return unbiased skew over requested axis. - -Normalized by N-1. - -Parameters ----------- -axis : {index (0), columns (1)} - Axis for the function to be applied on. -skipna : bool, default True - Exclude NA/null values when computing the result. -level : int or level name, default None - If the axis is a MultiIndex (hierarchical), count along a - particular level, collapsing into a Series. -numeric_only : bool, default None - Include only float, int, boolean columns. If None, will attempt to use - everything, then use only numeric data. Not implemented for Series. -**kwargs - Additional keyword arguments to be passed to the function. - -Returns -------- -Series or DataFrame (if level specified) - """ - pass - @overload - def skew(self, axis: AxisType = ..., skipna: bool = ..., level: None = ..., numeric_only: bool = ..., **kwargs) -> Series: ... - def std(self, ddof: int = ...) -> DataFrame: ... - def sum(self, **kwargs) -> DataFrame: ... - def tail(self, n: int = ...) -> DataFrame: ... - def take(self, indices: Sequence, axis: AxisType = ..., **kwargs) -> DataFrame: - """ -Return the elements in the given *positional* indices along an axis. - -This means that we are not indexing according to actual values in -the index attribute of the object. We are indexing according to the -actual position of the element in the object. - -Parameters ----------- -indices : array-like - An array of ints indicating which positions to take. -axis : {0 or 'index', 1 or 'columns', None}, default 0 - The axis on which to select elements. ``0`` means that we are - selecting rows, ``1`` means that we are selecting columns. -is_copy : bool - Before pandas 1.0, ``is_copy=False`` can be specified to ensure - that the return value is an actual copy. Starting with pandas 1.0, - ``take`` always returns a copy, and the keyword is therefore - deprecated. - - .. deprecated:: 1.0.0 -**kwargs - For compatibility with :meth:`numpy.take`. Has no effect on the - output. - -Returns -------- -taken : same type as caller - An array-like containing the elements taken from the object. - -See Also --------- -DataFrame.loc : Select a subset of a DataFrame by labels. -DataFrame.iloc : Select a subset of a DataFrame by positions. -numpy.take : Take elements from an array along an axis. - -Examples --------- ->>> df = pd.DataFrame([('falcon', 'bird', 389.0), -... ('parrot', 'bird', 24.0), -... ('lion', 'mammal', 80.5), -... ('monkey', 'mammal', np.nan)], -... columns=['name', 'class', 'max_speed'], -... index=[0, 2, 3, 1]) ->>> df - name class max_speed -0 falcon bird 389.0 -2 parrot bird 24.0 -3 lion mammal 80.5 -1 monkey mammal NaN - -Take elements at positions 0 and 3 along the axis 0 (default). - -Note how the actual indices selected (0 and 1) do not correspond to -our selected indices 0 and 3. That's because we are selecting the 0th -and 3rd rows, not rows whose indices equal 0 and 3. - ->>> df.take([0, 3]) - name class max_speed -0 falcon bird 389.0 -1 monkey mammal NaN - -Take elements at indices 1 and 2 along the axis 1 (column selection). - ->>> df.take([1, 2], axis=1) - class max_speed -0 bird 389.0 -2 bird 24.0 -3 mammal 80.5 -1 mammal NaN - -We may take elements using negative integers for positive indices, -starting from the end of the object, just like with Python lists. - ->>> df.take([-1, -2]) - name class max_speed -1 monkey mammal NaN -3 lion mammal 80.5 - """ - pass - def tshift(self, periods: int, freq=..., axis: AxisType = ...) -> DataFrame: ... - def var(self, ddof: int = ...) -> DataFrame: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/groupby.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/groupby.pyi deleted file mode 100644 index d3b6d32e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/groupby.pyi +++ /dev/null @@ -1,131 +0,0 @@ -from pandas._typing import ( - FrameOrSeries as FrameOrSeries, - FrameOrSeriesUnion as FrameOrSeriesUnion, - Scalar as Scalar, - AxisType as AxisType, - KeysArgType, -) -from pandas.core.base import PandasObject as PandasObject, SelectionMixin as SelectionMixin -from pandas.core.frame import DataFrame as DataFrame -from pandas.core.generic import NDFrame as NDFrame - -from pandas.core.groupby import ops as ops -from pandas.core.indexes.api import Index as Index -from pandas.core.series import Series as Series -from typing import Any, Callable, Dict, Generator, List, Optional, Tuple, Union - -class GroupByPlot(PandasObject): - def __init__(self, groupby) -> None: ... - def __call__(self, *args, **kwargs): ... - def __getattr__(self, name: str): ... - -class _GroupBy(PandasObject): - level = ... - as_index = ... - keys = ... - sort = ... - group_keys = ... - squeeze = ... - observed = ... - mutated = ... - obj = ... - axis = ... - grouper = ... - exclusions = ... - def __init__( - self, - obj: NDFrame, - keys: Optional[KeysArgType] = ..., - axis: int = ..., - level=..., - grouper: Optional[ops.BaseGrouper] = ..., - exclusions=..., - selection=..., - as_index: bool = ..., - sort: bool = ..., - group_keys: bool = ..., - squeeze: bool = ..., - observed: bool = ..., - mutated: bool = ..., - ) -> None: ... - def __len__(self) -> int: ... - @property - def groups(self) -> Dict[str, str]: ... - @property - def ngroups(self): ... - @property - def indices(self) -> Dict[str, Index]: ... - def __getattr__(self, attr: str): ... - def pipe(self, func: Callable, *args, **kwargs): ... - plot = ... - def get_group(self, name, obj: Optional[DataFrame] = ...) -> DataFrame: ... - def __iter__(self) -> Generator[Tuple[str, Any], None, None]: ... - def apply(self, func: Callable, *args, **kwargs) -> FrameOrSeriesUnion: ... - -class GroupBy(_GroupBy): - def count(self) -> FrameOrSeriesUnion: ... - def mean(self, **kwargs) -> FrameOrSeriesUnion: ... - def median(self, **kwargs) -> FrameOrSeriesUnion: ... - def std(self, ddof: int = ...) -> FrameOrSeriesUnion: ... - def var(self, ddof: int = ...) -> FrameOrSeriesUnion: ... - def sem(self, ddof: int = ...) -> FrameOrSeriesUnion: ... - def size(self) -> Series: ... - def ohlc(self) -> DataFrame: ... - def describe(self, **kwargs) -> FrameOrSeriesUnion: ... - def resample(self, rule, *args, **kwargs): ... - def rolling(self, *args, **kwargs): ... - def expanding(self, *args, **kwargs): ... - def pad(self, limit: Optional[int] = ...): ... - def ffill(self, limit: Optional[int] = ...) -> FrameOrSeriesUnion: ... - def backfill(self, limit: Optional[int] = ...) -> FrameOrSeriesUnion: ... - def bfill(self, limit: Optional[int] = ...) -> FrameOrSeriesUnion: ... - def nth(self, n: Union[int, List[int]], dropna: Optional[str] = ...) -> FrameOrSeriesUnion: ... - def quantile(self, q=..., interpolation: str = ...): ... - def ngroup(self, ascending: bool = ...) -> Series: ... - def cumcount(self, ascending: bool = ...) -> Series: ... - def rank( - self, - method: str = ..., - ascending: bool = ..., - na_option: str = ..., - pct: bool = ..., - axis: int = ..., - ) -> DataFrame: ... - def cummax(self, axis: AxisType = ..., **kwargs) -> FrameOrSeriesUnion: ... - def cummin(self, axis: AxisType = ..., **kwargs) -> FrameOrSeriesUnion: ... - def cumprod(self, axis: AxisType = ..., **kwargs) -> FrameOrSeriesUnion: ... - def cumsum(self, axis: AxisType = ..., **kwargs) -> FrameOrSeriesUnion: ... - def shift(self, periods: int = ..., freq=..., axis: AxisType = ..., fill_value=...): ... - def pct_change( - self, - periods: int = ..., - fill_method: str = ..., - limit=..., - freq=..., - axis: AxisType = ..., - ) -> FrameOrSeriesUnion: ... - def head(self, n: int = ...) -> FrameOrSeriesUnion: ... - def tail(self, n: int = ...) -> FrameOrSeriesUnion: ... - # Surplus methodss from original pylance stubs; should they go away? - def first(self, **kwargs) -> FrameOrSeriesUnion: ... - def last(self, **kwargs) -> FrameOrSeriesUnion: ... - def max(self, **kwargs) -> FrameOrSeriesUnion: ... - def min(self, **kwargs) -> FrameOrSeriesUnion: ... - def prod(self, **kwargs) -> FrameOrSeriesUnion: ... - def sum(self, **kwargs) -> FrameOrSeriesUnion: ... - -def get_groupby( - obj: NDFrame, - by: Optional[KeysArgType] = ..., - axis: int = ..., - level=..., - grouper: Optional[ops.BaseGrouper] = ..., - exclusions=..., - selection=..., - as_index: bool = ..., - sort: bool = ..., - group_keys: bool = ..., - squeeze: bool = ..., - observed: bool = ..., - mutated: bool = ..., -) -> GroupBy: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/grouper.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/grouper.pyi deleted file mode 100644 index 4f27952d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/grouper.pyi +++ /dev/null @@ -1,46 +0,0 @@ -import numpy as np -from pandas._typing import FrameOrSeries as FrameOrSeries -from pandas.core.groupby import ops as ops -from pandas.core.indexes.api import Index as Index -from typing import Dict, Hashable, List, Optional, Tuple - -class Grouper: - def __new__(cls, *args, **kwargs): ... - key = ... - level = ... - freq = ... - axis = ... - sort = ... - grouper = ... - obj = ... - indexer = ... - binner = ... - def __init__(self, key = ..., level = ..., freq = ..., axis: int = ..., sort: bool = ...) -> None: ... - @property - def ax(self): ... - @property - def groups(self): ... - -class Grouping: - name = ... - level = ... - grouper = ... - all_grouper = ... - index = ... - sort = ... - obj = ... - observed = ... - in_axis = ... - def __init__(self, index: Index, grouper=..., obj: Optional[FrameOrSeries]=..., name=..., level=..., sort: bool=..., observed: bool=..., in_axis: bool=...) -> None: ... - def __iter__(self) : ... - @property - def ngroups(self) -> int: ... - def indices(self): ... - @property - def codes(self) -> np.ndarray: ... - def result_index(self) -> Index: ... - @property - def group_index(self) -> Index: ... - def groups(self) -> Dict[Hashable, np.ndarray]: ... - -def get_grouper(obj: FrameOrSeries, key=..., axis: int=..., level=..., sort: bool=..., observed: bool=..., mutated: bool=..., validate: bool=...) -> Tuple[ops.BaseGrouper, List[Hashable], FrameOrSeries]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/ops.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/ops.pyi deleted file mode 100644 index 58a34d0c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/groupby/ops.pyi +++ /dev/null @@ -1,82 +0,0 @@ -import numpy as np -from pandas._typing import FrameOrSeries as FrameOrSeries -from pandas.core.groupby import grouper as grouper -from pandas.core.indexes.api import Index as Index -from pandas.core.series import Series as Series -from typing import List, Optional, Sequence, Tuple - -class BaseGrouper: - axis = ... - sort = ... - group_keys = ... - mutated = ... - indexer = ... - def __init__(self, axis: Index, groupings: Sequence[grouper.Grouping], sort: bool=..., group_keys: bool=..., mutated: bool=..., indexer: Optional[np.ndarray]=...) -> None: ... - @property - def groupings(self) -> List[grouper.Grouping]: ... - @property - def shape(self): ... - def __iter__(self) : ... - @property - def nkeys(self) -> int: ... - def get_iterator(self, data: FrameOrSeries, axis: int=...) : ... - def apply(self, f, data: FrameOrSeries, axis: int=...) : ... - def indices(self): ... - @property - def codes(self) -> List[np.ndarray]: ... - @property - def levels(self) -> List[Index]: ... - @property - def names(self): ... - def size(self) -> Series: ... - def groups(self): ... - def is_monotonic(self) -> bool: ... - def group_info(self): ... - def codes_info(self) -> np.ndarray: ... - def ngroups(self) -> int: ... - @property - def reconstructed_codes(self) -> List[np.ndarray]: ... - def result_index(self) -> Index: ... - def get_group_levels(self): ... - def aggregate(self, values, how: str, axis: int=..., min_count: int=...) -> Tuple[np.ndarray, Optional[List[str]]]: ... - def transform(self, values, how: str, axis: int=..., **kwargs) : ... - def agg_series(self, obj: Series, func) : ... - -class BinGrouper(BaseGrouper): - bins = ... - binlabels = ... - mutated = ... - indexer = ... - def __init__(self, bins, binlabels, filter_empty: bool=..., mutated: bool=..., indexer=...) -> None: ... - def groups(self): ... - @property - def nkeys(self) -> int: ... - def get_iterator(self, data: FrameOrSeries, axis: int=...) : ... - def indices(self): ... - def group_info(self): ... - def reconstructed_codes(self) -> List[np.ndarray]: ... - def result_index(self): ... - @property - def levels(self): ... - @property - def names(self): ... - @property - def groupings(self) -> List[grouper.Grouping]: ... - def agg_series(self, obj: Series, func) : ... - -class DataSplitter: - data = ... - labels = ... - ngroups = ... - axis = ... - def __init__(self, data: FrameOrSeries, labels, ngroups: int, axis: int=...) -> None: ... - def slabels(self): ... - def sort_idx(self): ... - def __iter__(self) : ... - -class SeriesSplitter(DataSplitter): ... - -class FrameSplitter(DataSplitter): - def fast_apply(self, f, names): ... - -def get_splitter(data: FrameOrSeries, *args, **kwargs) -> DataSplitter: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/index.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/index.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexers.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexers.pyi deleted file mode 100644 index 9a91e281..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexers.pyi +++ /dev/null @@ -1,78 +0,0 @@ -import numpy as np -from typing import Optional, Tuple -from pandas._typing import AnyArrayLike as AnyArrayLike - -def is_list_like_indexer(key) -> bool: ... -def is_scalar_indexer(indexer, arr_value) -> bool: ... -def is_empty_indexer(indexer, arr_value: np.ndarray) -> bool: ... -def check_setitem_lengths(indexer, value, values) -> None: ... -def validate_indices(indices: np.ndarray, n: int) -> None: ... -def maybe_convert_indices(indices, n: int) : ... -def length_of_indexer(indexer, target=...) -> int: ... -def deprecate_ndim_indexing(result) -> None: ... -def check_array_indexer(arrayArrayLike, indexer) : ... - -class BaseIndexer: - def __init__( - self, index_array: Optional[np.ndarray] = ..., window_size: int = ..., **kwargs, - ): ... - def get_window_bounds( - self, - num_values: int = ..., - min_periods: Optional[int] = ..., - center: Optional[bool] = ..., - closed: Optional[str] = ..., - ) -> Tuple[np.ndarray, np.ndarray]: ... - -class FixedWindowIndexer(BaseIndexer): - def get_window_bounds( - self, - num_values: int = ..., - min_periods: Optional[int] = ..., - center: Optional[bool] = ..., - closed: Optional[str] = ..., - ) -> Tuple[np.ndarray, np.ndarray]: ... - -class VariableWindowIndexer(BaseIndexer): - def get_window_bounds( - self, - num_values: int = ..., - min_periods: Optional[int] = ..., - center: Optional[bool] = ..., - closed: Optional[str] = ..., - ) -> Tuple[np.ndarray, np.ndarray]: ... - -class VariableOffsetWindowIndexer(BaseIndexer): - def __init__( - self, - index_array: Optional[np.ndarray] = ..., - window_size: int = ..., - index=..., - offset=..., - **kwargs, - ): ... - def get_window_bounds( - self, - num_values: int = ..., - min_periods: Optional[int] = ..., - center: Optional[bool] = ..., - closed: Optional[str] = ..., - ) -> Tuple[np.ndarray, np.ndarray]: ... - -class ExpandingIndexer(BaseIndexer): - def get_window_bounds( - self, - num_values: int = ..., - min_periods: Optional[int] = ..., - center: Optional[bool] = ..., - closed: Optional[str] = ..., - ) -> Tuple[np.ndarray, np.ndarray]: ... - -class FixedForwardWindowIndexer(BaseIndexer): - def get_window_bounds( - self, - num_values: int = ..., - min_periods: Optional[int] = ..., - center: Optional[bool] = ..., - closed: Optional[str] = ..., - ) -> Tuple[np.ndarray, np.ndarray]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/accessors.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/accessors.pyi deleted file mode 100644 index 3a72aa18..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/accessors.pyi +++ /dev/null @@ -1,25 +0,0 @@ -from pandas.core.accessor import PandasDelegate as PandasDelegate -from pandas.core.base import NoNewAttributesMixin as NoNewAttributesMixin, PandasObject as PandasObject -from pandas.core.series import Series - -class Properties(PandasDelegate, PandasObject, NoNewAttributesMixin): - orig = ... - name = ... - def __init__(self, data: Series, orig) -> None: ... - -class DatetimeProperties(Properties): - def to_pydatetime(self): ... - @property - def freq(self): ... - -class TimedeltaProperties(Properties): - def to_pytimedelta(self): ... - @property - def components(self): ... - @property - def freq(self): ... - -class PeriodProperties(Properties): ... - -class CombinedDatetimelikeProperties(DatetimeProperties, TimedeltaProperties, PeriodProperties): - def __new__(cls, data: Series): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/api.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/api.pyi deleted file mode 100644 index a373dbcb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/api.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from pandas.core.indexes.base import Index as Index -from pandas.core.indexes.category import CategoricalIndex as CategoricalIndex -from pandas.core.indexes.datetimes import DatetimeIndex as DatetimeIndex -from pandas.core.indexes.interval import IntervalIndex as IntervalIndex -from pandas.core.indexes.multi import MultiIndex as MultiIndex -from pandas.core.indexes.numeric import Float64Index as Float64Index, Int64Index as Int64Index, NumericIndex as NumericIndex, UInt64Index as UInt64Index -from pandas.core.indexes.period import PeriodIndex as PeriodIndex -from pandas.core.indexes.range import RangeIndex as RangeIndex -from pandas.core.indexes.timedeltas import TimedeltaIndex as TimedeltaIndex - -def get_objs_combined_axis(objs, intersect: bool=..., axis=..., sort: bool=...) -> Index: ... -def union_indexes(indexes, sort=...) -> Index: ... -def get_consensus_names(indexes): ... -def all_indexes_same(indexes): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/base.pyi deleted file mode 100644 index fcc0949e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/base.pyi +++ /dev/null @@ -1,228 +0,0 @@ -import numpy as np -from pandas._typing import ( - Dtype as Dtype, - DtypeArg as DtypeArg, - Label as Label, - Level as Level, - Scalar as Scalar, - T1 as T1, - np_ndarray_str, - np_ndarray_int64, - np_ndarray_bool, -) - -from pandas._typing import Series as Series, DataFrame as DataFrame, DtypeObj as DtypeObj - -from pandas.core.arrays import ExtensionArray - -from pandas.core.base import IndexOpsMixin, PandasObject - -from pandas.core.strings import StringMethods - -from typing import ( - Callable, - Dict, - Generic, - Hashable, - Iterable, - Iterator, - List, - Literal, - Optional, - Sequence, - Tuple, - Union, - overload, -) - -class InvalidIndexError(Exception): ... - -_str = str - -class Index(IndexOpsMixin, PandasObject): - def __new__( - cls, data: Iterable = ..., dtype=..., copy: bool = ..., name=..., tupleize_cols: bool = ..., **kwargs - ) -> Index: ... - def __init__( - self, - data: Iterable, - dtype=..., - copy: bool = ..., - name=..., - tupleize_cols: bool = ..., - ): ... - @property - def str(self) -> StringMethods[Index]: ... - @property - def asi8(self) -> np_ndarray_int64: ... - def is_(self, other) -> bool: ... - def __len__(self) -> int: ... - def __array__(self, dtype=...) -> np.ndarray: ... - def __array_wrap__(self, result, context=...): ... - @property - def dtype(self) -> DtypeObj: ... - def ravel(self, order: _str = ...): ... - def view(self, cls=...): ... - @overload - def astype(self, dtype: DtypeArg) -> Index: - """ -Create an Index with values cast to dtypes. - -The class of a new Index is determined by dtype. When conversion is -impossible, a TypeError exception is raised. - -Parameters ----------- -dtype : numpy dtype or pandas type - Note that any signed integer `dtype` is treated as ``'int64'``, - and any unsigned integer `dtype` is treated as ``'uint64'``, - regardless of the size. -copy : bool, default True - By default, astype always returns a newly allocated object. - If copy is set to False and internal requirements on dtype are - satisfied, the original data is used to create a new Index - or the original Index is returned. - -Returns -------- -Index - Index with values cast to specified dtype. - """ - pass - @overload - def astype(self, dtype: T1) -> Index: ... - def take(self, indices, axis: int = ..., allow_fill: bool = ..., fill_value=..., **kwargs): ... - def repeat(self, repeats, axis=...): ... - def copy(self, name=..., deep: bool = ...) -> Index: ... - def __copy__(self, **kwargs): ... - def __deepcopy__(self, memo=...): ... - def format(self, name: bool = ..., formatter: Optional[Callable] = ..., na_rep: _str = ...) -> List[_str]: ... - def to_native_types(self, slicer=..., **kwargs): ... - def to_flat_index(self): ... - def to_series(self, index=..., name=...): ... - def to_frame(self, index: bool = ..., name=...) -> DataFrame: ... - @property - def name(self): ... - @name.setter - def name(self, value) -> None: ... - @property - def names(self) -> List[_str]: ... - @names.setter - def names(self, names: List[_str]): ... - def set_names(self, names, level=..., inplace: bool = ...): ... - def rename(self, name, inplace: bool = ...): ... - @property - def nlevels(self) -> int: ... - def sortlevel(self, level=..., ascending: bool = ..., sort_remaining=...): ... - def get_level_values(self, level: Union[int, _str]) -> Index: ... - def droplevel(self, level: Union[Level, List[Level]] = ...): ... - @property - def is_monotonic(self) -> bool: ... - @property - def is_monotonic_increasing(self) -> bool: - """ -Return if the index is monotonic increasing (only equal or -increasing) values. - -Examples --------- ->>> Index([1, 2, 3]).is_monotonic_increasing -True ->>> Index([1, 2, 2]).is_monotonic_increasing -True ->>> Index([1, 3, 2]).is_monotonic_increasing -False - """ - pass - @property - def is_monotonic_decreasing(self) -> bool: ... - def is_unique(self) -> bool: ... - @property - def has_duplicates(self) -> bool: ... - def is_boolean(self) -> bool: ... - def is_integer(self) -> bool: ... - def is_floating(self) -> bool: ... - def is_numeric(self) -> bool: ... - def is_object(self) -> bool: ... - def is_categorical(self) -> bool: ... - def is_interval(self) -> bool: ... - def is_mixed(self) -> bool: ... - def holds_integer(self): ... - def inferred_type(self): ... - def is_all_dates(self) -> bool: ... - def __reduce__(self): ... - def hasnans(self) -> bool: ... - def isna(self): ... - isnull = ... - def notna(self): ... - notnull = ... - def fillna(self, value=..., downcast=...): ... - def dropna(self, how: _str = ...): ... - def unique(self, level=...) -> Index: ... - def drop_duplicates(self, keep: Literal["first", "last", False] = ...) -> IndexOpsMixin: ... - def duplicated(self, keep: _str = ...): ... - def __add__(self, other) -> Index: ... - def __radd__(self, other) -> Index: ... - def __iadd__(self, other) -> Index: ... - def __sub__(self, other) -> Index: ... - def __rsub__(self, other) -> Index: ... - def __and__(self, other) -> Index: ... - def __or__(self, other) -> Index: ... - def __xor__(self, other) -> Index: ... - def __nonzero__(self) -> None: ... - __bool__ = ... - def union(self, other: Union[List[T1], Index], sort=...) -> Index: ... - def intersection(self, other: Union[List[T1], Index], sort: bool = ...) -> Index: ... - def difference(self, other: Union[List[T1], Index]) -> Index: ... - def symmetric_difference(self, other: Union[List[T1], Index], result_name=..., sort=...) -> Index: ... - def get_loc(self, key, method=..., tolerance=...): ... - def get_indexer(self, target, method=..., limit=..., tolerance=...): ... - def reindex(self, target, method=..., level=..., limit=..., tolerance=...): ... - def join(self, other, how: _str = ..., level=..., return_indexers: bool = ..., sort: bool = ...): ... - @property - def values(self) -> np.ndarray: ... - def array(self) -> ExtensionArray: ... - def memory_usage(self, deep: bool = ...): ... - def where(self, cond, other=...): ... - def is_type_compatible(self, kind) -> bool: ... - def __contains__(self, key) -> bool: ... - def __hash__(self) -> int: ... - def __setitem__(self, key, value) -> None: ... - @overload - def __getitem__(self, idx: Union[slice, np_ndarray_int64, Index]) -> Index: ... - @overload - def __getitem__(self, idx: Union[int, Tuple[np_ndarray_int64, ...]]) -> Hashable: ... - def append(self, other): ... - def putmask(self, mask, value): ... - def equals(self, other) -> bool: ... - def identical(self, other) -> bool: ... - def asof(self, label): ... - def asof_locs(self, where, mask): ... - def sort_values(self, return_indexer: bool = ..., ascending: bool = ...): ... - def sort(self, *args, **kwargs) -> None: ... - def shift(self, periods: int = ..., freq=...) -> None: ... - def argsort(self, *args, **kwargs): ... - def get_value(self, series, key): ... - def set_value(self, arr, key, value) -> None: ... - def get_indexer_non_unique(self, target): ... - def get_indexer_for(self, target, **kwargs): ... - def groupby(self, values) -> Dict[Hashable, np.ndarray]: ... - def map(self, mapper, na_action=...) -> Index: ... - def isin(self, values, level=...) -> np_ndarray_bool: ... - def slice_indexer(self, start=..., end=..., step=..., kind=...): ... - def get_slice_bound(self, label, side, kind): ... - def slice_locs(self, start=..., end=..., step=..., kind=...): ... - def delete(self, loc): ... - def insert(self, loc, item): ... - def drop(self, labels, *, errors: _str = ...) -> Index: ... - @property - def shape(self) -> Tuple[int, ...]: ... - # Extra methods from old stubs - def __eq__(self, other: object) -> bool: ... # Series: ... # type: ignore - def __iter__(self) -> Iterator: ... - def __ne__(self, other: _str) -> Index: ... # type: ignore - def to_numpy(self) -> np.ndarray: ... - -def ensure_index_from_sequences(sequences: Sequence[Sequence[Dtype]], names: Sequence[str] = ...) -> Index: ... -def ensure_index(index_like: Union[Sequence, Index], copy: bool = ...) -> Index: ... -def maybe_extract_name(name, obj, cls) -> Label: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/category.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/category.pyi deleted file mode 100644 index ee326992..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/category.pyi +++ /dev/null @@ -1,41 +0,0 @@ -import numpy as np -from pandas._typing import AnyArrayLike as AnyArrayLike, T2 -from pandas.core import accessor as accessor -from pandas.core.indexes.base import Index as Index #, maybe_extract_name as maybe_extract_name -from pandas.core.indexes.extension import ExtensionIndex as ExtensionIndex -from typing import Type, overload - - -class CategoricalIndex(ExtensionIndex, accessor.PandasDelegate): - codes: np.ndarray = ... - categories: Index = ... - def __new__(cls, data = ..., categories = ..., ordered = ..., dtype = ..., copy: bool = ..., name = ...) -> CategoricalIndex: ... - def equals(self, other): ... - @property - def inferred_type(self) -> str: ... - @property - def values(self): ... - def __contains__(self, key) -> bool: ... - def __array__(self, dtype=...) -> np.ndarray: ... - @overload - def astype(self, dtype: Type[T2]) -> Index[T2]: ... - @overload - def astype(self, dtype: str) -> Index: ... - def fillna(self, value, downcast = ...): ... - def is_unique(self) -> bool: ... - @property - def is_monotonic_increasing(self) -> bool: ... - @property - def is_monotonic_decreasing(self) -> bool: ... - def unique(self, level = ...): ... - def duplicated(self, keep: str = ...): ... - def get_loc(self, key, method = ...): ... - def get_value(self, seriesArrayLike, key) : ... - def where(self, cond, other = ...): ... - def reindex(self, target, method = ..., level = ..., limit = ..., tolerance = ...): ... - def get_indexer(self, target, method = ..., limit = ..., tolerance = ...): ... - def get_indexer_non_unique(self, target): ... - def take_nd(self, *args, **kwargs): ... - def map(self, mapper): ... - def delete(self, loc): ... - def insert(self, loc, item): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/datetimelike.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/datetimelike.pyi deleted file mode 100644 index fcec02d4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/datetimelike.pyi +++ /dev/null @@ -1,34 +0,0 @@ -from pandas.core.accessor import PandasDelegate as PandasDelegate -from pandas.core.indexes.extension import ExtensionIndex as ExtensionIndex -from pandas.core.indexes.numeric import Int64Index as Int64Index -from pandas.tseries.frequencies import DateOffset as DateOffset -from typing import List, Optional - -class DatetimeIndexOpsMixin(ExtensionIndex): - freq: Optional[DateOffset] - freqstr: Optional[str] - @property - def is_all_dates(self) -> bool: ... - @property - def values(self): ... - def __array_wrap__(self, result, context=...): ... - def equals(self, other) -> bool: ... - def __contains__(self, key): ... - def sort_values(self, return_indexer: bool = ..., ascending: bool = ...): ... - def take(self, indices, axis: int = ..., allow_fill: bool = ..., fill_value=..., **kwargs): ... - def tolist(self) -> List: ... - def min(self, axis=..., skipna: bool = ..., *args, **kwargs): ... - def argmin(self, axis=..., skipna: bool = ..., *args, **kwargs): ... - def max(self, axis=..., skipna: bool = ..., *args, **kwargs): ... - def argmax(self, axis=..., skipna: bool = ..., *args, **kwargs): ... - def isin(self, values, level=...): ... - def where(self, cond, other=...): ... - def shift(self, periods: int = ..., freq=...): ... - def delete(self, loc): ... - -class DatetimeTimedeltaMixin(DatetimeIndexOpsMixin, Int64Index): - def difference(self, other, sort=...): ... - def intersection(self, other, sort: bool = ...): ... - def join(self, other, how: str = ..., level=..., return_indexers=..., sort=...): ... - -class DatetimelikeDelegateMixin(PandasDelegate): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/datetimes.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/datetimes.pyi deleted file mode 100644 index 11e02557..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/datetimes.pyi +++ /dev/null @@ -1,66 +0,0 @@ -import numpy as np -from datetime import tzinfo as tzinfo -from pandas.core.indexes.datetimelike import ( - DatetimeTimedeltaMixin as DatetimeTimedeltaMixin, - DatetimelikeDelegateMixin as DatetimelikeDelegateMixin, -) -from pandas.core.indexes.timedeltas import TimedeltaIndex as TimedeltaIndex -from pandas.core.series import Series as Series -from pandas._typing import Timestamp as Timestamp, Timedelta as Timedelta -from typing import Optional, Union, overload - -class DatetimeDelegateMixin(DatetimelikeDelegateMixin): ... - -class DatetimeIndex(DatetimeTimedeltaMixin, DatetimeDelegateMixin): - tz: Optional[tzinfo] - def __init__( - self, - data=..., - freq=..., - tz=..., - normalize: bool = ..., - closed=..., - ambiguous: str = ..., - dayfirst: bool = ..., - yearfirst: bool = ..., - dtype=..., - copy: bool = ..., - name=..., - ): ... - def __array__(self, dtype=...) -> np.ndarray: ... - def __reduce__(self): ... - @overload - def __add__(self, other: Series[Timedelta]) -> Series[Timestamp]: ... - @overload - def __add__(self, other: Union[Timedelta, TimedeltaIndex]) -> DatetimeIndex: ... - def union_many(self, others): ... - def to_series(self, keep_tz=..., index=..., name=...): ... - def snap(self, freq: str = ...): ... - def get_value(self, series, key): ... - def get_value_maybe_box(self, series, key): ... - def get_loc(self, key, method=..., tolerance=...): ... - def slice_indexer(self, start=..., end=..., step=..., kind=...): ... - def searchsorted(self, value, side: str = ..., sorter=...): ... - def is_type_compatible(self, typ) -> bool: ... - @property - def inferred_type(self) -> str: ... - def insert(self, loc, item): ... - def indexer_at_time(self, time, asof: bool = ...): ... - def indexer_between_time(self, start_time, end_time, include_start: bool = ..., include_end: bool = ...): ... - def strftime(self, date_format: str = ...) -> np.ndarray: ... - -def date_range( - start=..., end=..., periods=..., freq=..., tz=..., normalize=..., name=..., closed=..., **kwargs -) -> DatetimeIndex: ... -def bdate_range( - start=..., - end=..., - periods=..., - freq: str = ..., - tz=..., - normalize: bool = ..., - name=..., - weekmask=..., - holidays=..., - closed=..., -) -> DatetimeIndex: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/extension.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/extension.pyi deleted file mode 100644 index ceed6bef..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/extension.pyi +++ /dev/null @@ -1,16 +0,0 @@ -from pandas.core.indexes.base import Index as Index -from typing import List - -def inherit_from_data(name: str, delegate, cache: bool = ..., wrap: bool = ...): ... -def inherit_names(names: List[str], delegate, cache: bool = ..., wrap: bool = ...): ... -def make_wrapped_arith_op(opname): ... - -class ExtensionIndex(Index): - def __getitem__(self, key): ... - def __iter__(self): ... - def dropna(self, how: str = ...): ... - def repeat(self, repeats, axis=...): ... - def take(self, indices, axis: int = ..., allow_fill: bool = ..., fill_value=..., **kwargs): ... - def unique(self, level=...): ... - def map(self, mapper, na_action=...): ... - def astype(self, dtype, copy: bool = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/frozen.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/frozen.pyi deleted file mode 100644 index 93d9d510..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/frozen.pyi +++ /dev/null @@ -1,25 +0,0 @@ -from pandas.core.base import PandasObject as PandasObject - -class FrozenList(PandasObject, list): - def union(self, other) -> FrozenList: ... - def difference(self, other) -> FrozenList: ... - __add__ = ... - __iadd__ = ... - def __getitem__(self, n): ... - def __radd__(self, other): ... - def __eq__(self, other) -> bool: ... - __req__ = ... - def __mul__(self, other): ... - __imul__ = ... - def __reduce__(self): ... - def __hash__(self): ... - __setitem__ = ... - __setslice__ = ... - __delitem__ = ... - __delslice__ = ... - pop = ... - append = ... - extend = ... - remove = ... - sort = ... - insert = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/interval.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/interval.pyi deleted file mode 100644 index d16121ba..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/interval.pyi +++ /dev/null @@ -1,59 +0,0 @@ -import numpy as np -from pandas._libs.interval import IntervalMixin as IntervalMixin, Interval as Interval -from pandas._typing import AnyArrayLike as AnyArrayLike, T2 -from pandas.core.dtypes.generic import ABCSeries as ABCSeries -from pandas.core.indexes.base import Index as Index -from pandas.core.indexes.extension import ExtensionIndex as ExtensionIndex -from typing import Optional, Tuple, Union - -class SetopCheck: - op_name = ... - def __init__(self, op_name) -> None: ... - def __call__(self, setop): ... - -class IntervalIndex(IntervalMixin, ExtensionIndex): - def __new__(cls, data, closed=..., dtype=..., copy: bool=..., name=..., verify_integrity: bool=...) : ... - @classmethod - def from_breaks(cls, breaks, closed: str=..., name=..., copy: bool=..., dtype=...) : ... - @classmethod - def from_arrays(cls, left, right, closed: str=..., name=..., copy: bool=..., dtype=...) : ... - @classmethod - def from_tuples(cls, data, closed: str=..., name=..., copy: bool=..., dtype=...) : ... - def __contains__(self, key) -> bool: ... - def values(self): ... - def __array_wrap__(self, result, context = ...): ... - def __reduce__(self): ... - def astype(self, dtype: T2, copy: bool = ...) -> Index[T2]: ... - @property - def inferred_type(self) -> str: ... - def memory_usage(self, deep: bool=...) -> int: ... - def is_monotonic(self) -> bool: ... - def is_monotonic_increasing(self) -> bool: ... - def is_monotonic_decreasing(self) -> bool: ... - def is_unique(self): ... - @property - def is_overlapping(self): ... - def get_loc(self, key, method: Optional[str]=..., tolerance=...) -> Union[int, slice, np.ndarray]: ... - def get_indexer(self, targetArrayLike, method: Optional[str]=..., limit: Optional[int]=..., tolerance=...) -> np.ndarray: ... - def get_indexer_non_unique(self, targetArrayLike) -> Tuple[np.ndarray, np.ndarray]: ... - def get_indexer_for(self, targetArrayLike, **kwargs) -> np.ndarray: ... - def get_value(self, series: ABCSeries, key) : ... - def where(self, cond, other = ...): ... - def delete(self, loc): ... - def insert(self, loc, item): ... - def take(self, indices, axis: int = ..., allow_fill: bool = ..., fill_value = ..., **kwargs): ... - def __getitem__(self, value): ... - def argsort(self, *args, **kwargs): ... - def equals(self, other) -> bool: ... - def intersection(self, other: IntervalIndex, sort: bool=...) -> IntervalIndex: ... - @property - def is_all_dates(self) -> bool: ... - union = ... - difference = ... - symmetric_difference = ... - def __lt__(self, other) : ... - def __le__(self, other) : ... - def __gt__(self, other) : ... - def __ge__(self, other) : ... - -def interval_range(start = ..., end = ..., periods = ..., freq = ..., name = ..., closed: str = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/multi.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/multi.pyi deleted file mode 100644 index 16c9f2bc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/multi.pyi +++ /dev/null @@ -1,117 +0,0 @@ -import numpy as np -from pandas.core.indexes.base import Index as Index -from typing import Callable, Hashable, List, Optional, Sequence, Union -from pandas._typing import np_ndarray_bool, Dtype - -class MultiIndex(Index): - def __new__( - cls, - levels=..., - codes=..., - sortorder=..., - names=..., - dtype=..., - copy=..., - name=..., - verify_integrity: bool = ..., - _set_identity: bool = ..., - ) -> MultiIndex: ... - def __init__( - self, - levels=..., - codes=..., - sortorder=..., - names=..., - dtype=..., - copy=..., - name=..., - verify_integrity: bool = ..., - _set_identity: bool = ..., - ) -> None: ... - @classmethod - def from_arrays(cls, arrays, sortorder=..., names=...) -> MultiIndex: ... - @classmethod - def from_tuples(cls, tuples, sortorder=..., names=...) -> MultiIndex: ... - @classmethod - def from_product(cls, iterables, sortorder=..., names=...) -> MultiIndex: ... - @classmethod - def from_frame(cls, df, sortorder=..., names=...) -> MultiIndex: ... - @property - def shape(self): ... - @property # Should be read-only - def levels(self) -> List[Index]: ... - def set_levels(self, levels, level=..., inplace: bool = ..., verify_integrity: bool = ...): ... - @property - def codes(self): ... - def set_codes(self, codes, level=..., inplace: bool = ..., verify_integrity: bool = ...): ... - def copy(self, names=..., deep: bool = ...) -> MultiIndex: ... - def __array__(self, dtype=...) -> np.ndarray: ... - def view(self, cls=...): ... - def __contains__(self, key) -> bool: ... - def dtype(self) -> np.dtype: ... - def memory_usage(self, deep: bool = ...) -> int: ... - def nbytes(self) -> int: ... - def format( - self, - name: Optional[bool] = ..., - formatter: Optional[Callable] = ..., - na_rep: Optional[str] = ..., - names: bool = ..., - space: int = ..., - sparsify: Optional[bool] = ..., - adjoin: bool = ..., - ) -> List: ... - def __len__(self) -> int: ... - def inferred_type(self) -> str: ... - @property - def values(self): ... - def is_monotonic_increasing(self) -> bool: ... - def is_monotonic_decreasing(self) -> bool: ... - def duplicated(self, keep: str = ...): ... - def fillna(self, value=..., downcast=...) -> None: ... - def dropna(self, how: str = ...): ... - def get_value(self, series, key): ... - def get_level_values(self, level: Union[str, int]) -> Index: ... - def unique(self, level=...): ... - def to_frame(self, index: bool = ..., name=...): ... - def to_flat_index(self): ... - @property - def is_all_dates(self) -> bool: ... - def is_lexsorted(self) -> bool: ... - def lexsort_depth(self): ... - def remove_unused_levels(self): ... - @property - def nlevels(self) -> int: ... - @property - def levshape(self): ... - def __reduce__(self): ... - def __getitem__(self, key): ... - def take(self, indices, axis: int = ..., allow_fill: bool = ..., fill_value=..., **kwargs): ... - def append(self, other): ... - def argsort(self, *args, **kwargs): ... - def repeat(self, repeats, axis=...): ... - def where(self, cond, other=...) -> None: ... - def drop(self, codes, *, level=..., errors: str = ...) -> MultiIndex: ... - def swaplevel(self, i: int = ..., j: int = ...): ... - def reorder_levels(self, order): ... - def sortlevel(self, level: int = ..., ascending: bool = ..., sort_remaining: bool = ...): ... - def get_indexer(self, target, method=..., limit=..., tolerance=...): ... - def get_indexer_non_unique(self, target): ... - def reindex(self, target, method=..., level=..., limit=..., tolerance=...): ... - def get_slice_bound(self, label: Union[Hashable, Sequence[Hashable]], side: str, kind: str) -> int: ... - def slice_locs(self, start=..., end=..., step=..., kind=...): ... - def get_loc(self, key, method=...): ... - def get_loc_level(self, key, level=..., drop_level: bool = ...): ... - def get_locs(self, seq): ... - def truncate(self, before=..., after=...): ... - def equals(self, other) -> bool: ... - def equal_levels(self, other): ... - def union(self, other, sort=...): ... - def intersection(self, other, sort: bool = ...): ... - def difference(self, other, sort=...): ... - def astype(self, dtype: Dtype, copy: bool = ...) -> MultiIndex: ... - def insert(self, loc, item): ... - def delete(self, loc): ... - def isin(self, values, level=...) -> np_ndarray_bool: ... - -def maybe_droplevels(index, key): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/numeric.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/numeric.pyi deleted file mode 100644 index d777c08c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/numeric.pyi +++ /dev/null @@ -1,36 +0,0 @@ -import numpy as np -from pandas.core.indexes.base import Index as Index -from typing import Iterable, TypeVar -from pandas._typing import T1 as T1, np_ndarray_int64 - -class NumericIndex(Index): - def __init__(self, data: Iterable = ..., dtype=..., copy: bool = ..., name=...): ... - @property - def is_all_dates(self) -> bool: ... - def insert(self, loc, item): ... - -class IntegerIndex(NumericIndex): - def __contains__(self, key) -> bool: ... - -class Int64Index(IntegerIndex): - @property - def inferredT1ype(self) -> str: ... - @property - def asi8(self) -> np_ndarray_int64: ... - -class UInt64Index(IntegerIndex): - @property - def inferredT1ype(self) -> str: ... - @property - def asi8(self) -> np_ndarray_int64: ... - -class Float64Index(NumericIndex): - @property - def inferredT1ype(self) -> str: ... - def astype(self, dtype, copy: bool = ...): ... - def get_value(self, series, key): ... - def equals(self, other) -> bool: ... - def __contains__(self, other) -> bool: ... - def get_loc(self, key, method=..., tolerance=...): ... - def is_unique(self) -> bool: ... - def isin(self, values, level=...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/period.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/period.pyi deleted file mode 100644 index bf051286..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/period.pyi +++ /dev/null @@ -1,31 +0,0 @@ -import numpy as np -from pandas.core.indexes.datetimelike import DatetimeIndexOpsMixin as DatetimeIndexOpsMixin, DatetimelikeDelegateMixin as DatetimelikeDelegateMixin -from pandas.core.indexes.numeric import Int64Index as Int64Index - -class PeriodDelegateMixin(DatetimelikeDelegateMixin): ... - -class PeriodIndex(DatetimeIndexOpsMixin, Int64Index, PeriodDelegateMixin): - def __new__(cls, data = ..., ordinal = ..., freq = ..., tz = ..., dtype = ..., copy: bool = ..., name = ..., **fields): ... - @property - def values(self): ... - def __contains__(self, key) -> bool: ... - def __array__(self, dtype=...) -> np.ndarray: ... - def __array_wrap__(self, result, context = ...): ... - def asof_locs(self, where, mask): ... - def astype(self, dtype, copy: bool = ..., how: str = ...): ... - def searchsorted(self, value, side: str = ..., sorter = ...): ... - @property - def is_full(self) -> bool: ... - @property - def inferred_type(self) -> str: ... - def get_value(self, series, key): ... - def get_indexer(self, target, method = ..., limit = ..., tolerance = ...): ... - def get_indexer_non_unique(self, target): ... - def get_loc(self, key, method = ..., tolerance = ...): ... - def insert(self, loc, item): ... - def join(self, other, how: str = ..., level = ..., return_indexers: bool = ..., sort: bool = ...): ... - def intersection(self, other, sort: bool = ...): ... - def difference(self, other, sort = ...): ... - def memory_usage(self, deep: bool = ...): ... - -def period_range(start=..., end=..., periods=..., freq=..., name=...) -> PeriodIndex: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/range.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/range.pyi deleted file mode 100644 index c965a140..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/range.pyi +++ /dev/null @@ -1,41 +0,0 @@ -import numpy as np -from pandas.core.indexes.numeric import Int64Index as Int64Index -from typing import Union - -class RangeIndex(Int64Index): - def __new__(cls, start: Union[int, RangeIndex] = ..., stop: int = ..., step: int = ..., dtype = ..., copy: bool = ..., name = ...): ... - def __init__(self, start: Union[int, RangeIndex] = ..., stop: int = ..., step: int = ..., dtype = ..., copy: bool = ..., name = ...): ... - @classmethod - def from_range(cls, data, name = ..., dtype = ...): ... - def __reduce__(self): ... - def start(self): ... - def stop(self): ... - def step(self): ... - def nbytes(self) -> int: ... - def memory_usage(self, deep: bool=...) -> int: ... - @property - def dtype(self) -> np.dtype: ... - @property - def is_unique(self) -> bool: ... - def is_monotonic_increasing(self) -> bool: ... - def is_monotonic_decreasing(self) -> bool: ... - @property - def has_duplicates(self) -> bool: ... - def __contains__(self, key: Union[int, np.integer]) -> bool: ... - def get_loc(self, key, method = ..., tolerance = ...): ... - def get_indexer(self, target, method = ..., limit = ..., tolerance = ...): ... - def tolist(self): ... - def copy(self, name = ..., deep: bool = ..., dtype = ..., **kwargs): ... - def min(self, axis = ..., skipna: bool = ..., *args, **kwargs): ... - def max(self, axis = ..., skipna: bool = ..., *args, **kwargs): ... - def argsort(self, *args, **kwargs): ... - def equals(self, other): ... - def intersection(self, other, sort: bool = ...): ... - def join(self, other, how: str = ..., level = ..., return_indexers: bool = ..., sort: bool = ...): ... - def __len__(self) -> int: ... - @property - def size(self) -> int: ... - def __getitem__(self, key): ... - def __floordiv__(self, other): ... - def all(self) -> bool: ... - def any(self) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/timedeltas.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/timedeltas.pyi deleted file mode 100644 index 161394ec..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexes/timedeltas.pyi +++ /dev/null @@ -1,33 +0,0 @@ -from typing import Union, overload -from pandas._libs import Timedelta as Timedelta -from pandas.core.arrays import datetimelike as dtl -from pandas.core.indexes.datetimelike import ( - DatetimeIndexOpsMixin as DatetimeIndexOpsMixin, - DatetimeTimedeltaMixin as DatetimeTimedeltaMixin, - DatetimelikeDelegateMixin as DatetimelikeDelegateMixin, -) -from pandas.core.indexes.datetimes import DatetimeIndex as DatetimeIndex -from pandas._typing import num - -class TimedeltaDelegateMixin(DatetimelikeDelegateMixin): ... - -class TimedeltaIndex(DatetimeTimedeltaMixin, dtl.TimelikeOps, TimedeltaDelegateMixin): - def __new__(cls, data=..., unit=..., freq=..., closed=..., dtype=..., copy: bool = ..., name=...): ... - @overload - def __add__(self, other: DatetimeIndex) -> DatetimeIndex: ... - @overload - def __add__(self, other: Union[Timedelta, TimedeltaIndex]) -> TimedeltaIndex: ... - def __sub__(self, other: Union[Timedelta, TimedeltaIndex]) -> TimedeltaIndex: ... - def __mul__(self, other: num) -> TimedeltaIndex: ... - def __truediv__(self, other: num) -> TimedeltaIndex: ... - def astype(self, dtype, copy: bool = ...): ... - def get_value(self, series, key): ... - def get_value_maybe_box(self, series, key: Timedelta): ... - def get_loc(self, key, method=..., tolerance=...): ... - def searchsorted(self, value, side: str = ..., sorter=...): ... - def is_type_compatible(self, typ) -> bool: ... - @property - def inferred_type(self) -> str: ... - def insert(self, loc, item): ... - -def timedelta_range(start=..., end=..., periods=..., freq=..., name=..., closed=...) -> TimedeltaIndex: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexing.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexing.pyi deleted file mode 100644 index c5762e3c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/indexing.pyi +++ /dev/null @@ -1,50 +0,0 @@ -import numpy as np -from pandas._libs.indexing import _NDFrameIndexerBase -from pandas.core.indexes.api import Index as Index -from pandas._typing import StrLike, Scalar -from typing import Tuple, Union - -class _IndexSlice: - def __getitem__(self, arg) -> Tuple[Union[StrLike, Scalar, slice], ...]: ... - -IndexSlice: _IndexSlice - -class IndexingError(Exception): ... - -class IndexingMixin: - @property - def iloc(self) -> _iLocIndexer: ... - @property - def loc(self) -> _LocIndexer: ... - @property - def at(self) -> _AtIndexer: ... - @property - def iat(self) -> _iAtIndexer: ... - -class _NDFrameIndexer(_NDFrameIndexerBase): - axis = ... - def __call__(self, axis=...): ... - def __getitem__(self, key): ... - def __setitem__(self, key, value) -> None: ... - -class _LocationIndexer(_NDFrameIndexer): - def __getitem__(self, key): ... - -class _LocIndexer(_LocationIndexer): ... -class _iLocIndexer(_LocationIndexer): ... - -class _ScalarAccessIndexer(_NDFrameIndexerBase): - def __getitem__(self, key): ... - def __setitem__(self, key, value) -> None: ... - -class _AtIndexer(_ScalarAccessIndexer): ... -class _iAtIndexer(_ScalarAccessIndexer): ... - -def convert_to_index_sliceable(obj, key): ... -def check_bool_indexer(index: Index, key) -> np.ndarray: ... -def convert_missing_indexer(indexer): ... -def convert_from_missing_indexer_tuple(indexer, axes): ... -def maybe_convert_ix(*args): ... -def is_nested_tuple(tup, labels) -> bool: ... -def is_label_like(key) -> bool: ... -def need_slice(obj) -> bool: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/__init__.pyi deleted file mode 100644 index 296698cc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/__init__.pyi +++ /dev/null @@ -1,17 +0,0 @@ -from .blocks import ( - Block as Block, - BoolBlock as BoolBlock, - CategoricalBlock as CategoricalBlock, - DatetimeBlock as DatetimeBlock, - DatetimeTZBlock as DatetimeTZBlock, - ExtensionBlock as ExtensionBlock, - ObjectBlock as ObjectBlock, - make_block as make_block, -) -from .managers import ( - BlockManager as BlockManager, - SingleBlockManager as SingleBlockManager, - concatenate_block_managers as concatenate_block_managers, - create_block_manager_from_arrays as create_block_manager_from_arrays, - create_block_manager_from_blocks as create_block_manager_from_blocks, -) diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/blocks.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/blocks.pyi deleted file mode 100644 index ac5d950f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/blocks.pyi +++ /dev/null @@ -1,182 +0,0 @@ -from pandas.core.arrays import ExtensionArray as ExtensionArray -from pandas.core.base import PandasObject as PandasObject -from typing import List - -class Block(PandasObject): - is_numeric: bool = ... - is_float: bool = ... - is_integer: bool = ... - is_complex: bool = ... - is_datetime: bool = ... - is_datetimetz: bool = ... - is_timedelta: bool = ... - is_bool: bool = ... - is_object: bool = ... - is_categorical: bool = ... - is_extension: bool = ... - ndim = ... - values = ... - def __init__(self, values, placement, ndim=...) -> None: ... - @property - def is_view(self): ... - @property - def is_datelike(self): ... - def is_categorical_astype(self, dtype): ... - def external_values(self, dtype=...): ... - def internal_values(self, dtype=...): ... - def array_values(self) -> ExtensionArray: ... - def get_values(self, dtype=...): ... - def get_block_values(self, dtype=...): ... - def to_dense(self): ... - @property - def fill_value(self): ... - @property - def mgr_locs(self): ... - @mgr_locs.setter - def mgr_locs(self, new_mgr_locs) -> None: ... - @property - def array_dtype(self): ... - def make_block(self, values, placement=...) -> Block: ... - def make_block_same_class(self, values, placement=..., ndim=...): ... - def __len__(self) -> int: ... - def getitem_block(self, slicer, new_mgr_locs=...): ... - @property - def shape(self): ... - @property - def dtype(self): ... - @property - def ftype(self): ... - def merge(self, other): ... - def concat_same_type(self, to_concat, placement=...): ... - def iget(self, i): ... - def set(self, locs, values) -> None: ... - def delete(self, loc) -> None: ... - def apply(self, func, **kwargs): ... - def fillna(self, value, limit=..., inplace: bool = ..., downcast=...): ... - def split_and_operate(self, mask, f, inplace: bool): ... - def downcast(self, dtypes=...): ... - def astype(self, dtype, copy: bool = ..., errors: str = ...): ... - def convert(self, copy: bool = ..., datetime: bool = ..., numeric: bool = ..., timedelta: bool = ..., coerce: bool = ...): ... - def to_native_types(self, slicer=..., na_rep: str = ..., quoting=..., **kwargs): ... - def copy(self, deep: bool = ...): ... - def replace(self, to_replace, value, inplace: bool = ..., filter=..., regex: bool = ..., convert: bool = ...): ... - def setitem(self, indexer, value): ... - def putmask(self, mask, new, align: bool = ..., inplace: bool = ..., axis: int = ..., transpose: bool = ...): ... - def coerce_to_target_dtype(self, other): ... - def interpolate( - self, - *, - method: str = ..., - axis: int = ..., - index=..., - inplace: bool = ..., - limit=..., - limit_direction: str = ..., - limit_area=..., - fill_value=..., - downcast=..., - **kwargs, - ): ... - def take_nd(self, indexer, axis, new_mgr_locs=..., fill_tuple=...): ... - def diff(self, n: int, axis: int = ...) -> List[Block]: ... - def shift(self, periods, axis: int = ..., fill_value=...): ... - def where(self, other, cond, align=..., errors=..., try_cast: bool = ..., axis: int = ...) -> List[Block]: ... - def equals(self, other) -> bool: ... - def quantile(self, qs, interpolation: str = ..., axis: int = ...): ... - -class NonConsolidatableMixIn: - def __init__(self, values, placement, ndim=...) -> None: ... - @property - def shape(self): ... - def iget(self, col): ... - def should_store(self, value): ... - values = ... - def set(self, locs, values, check: bool = ...) -> None: ... - def putmask(self, mask, new, align: bool = ..., inplace: bool = ..., axis: int = ..., transpose: bool = ...): ... - -class ExtensionBlock(NonConsolidatableMixIn, Block): - is_extension: bool = ... - def __init__(self, values, placement, ndim=...) -> None: ... - @property - def fill_value(self): ... - @property - def is_view(self): ... - @property - def is_numeric(self): ... - def setitem(self, indexer, value): ... - def get_values(self, dtype=...): ... - def array_values(self) -> ExtensionArray: ... - def to_dense(self): ... - def to_native_types(self, slicer=..., na_rep: str = ..., quoting=..., **kwargs): ... - def take_nd(self, indexer, axis: int = ..., new_mgr_locs=..., fill_tuple=...): ... - def concat_same_type(self, to_concat, placement=...): ... - def fillna(self, value, limit=..., inplace: bool = ..., downcast=...): ... - def interpolate(self, *, method: str = ..., axis: int = ..., inplace: bool = ..., limit=..., fill_value=..., **kwargs): ... - def diff(self, n: int, axis: int = ...) -> List[Block]: ... - def shift(self, periods: int, axis: int = ..., fill_value=...) -> List[ExtensionBlock]: ... - def where(self, other, cond, align=..., errors=..., try_cast: bool = ..., axis: int = ...) -> List[Block]: ... - -class ObjectValuesExtensionBlock(ExtensionBlock): - def external_values(self, dtype=...): ... - -class NumericBlock(Block): - is_numeric: bool = ... - -class DatetimeLikeBlockMixin: - @property - def fill_value(self): ... - def get_values(self, dtype=...): ... - def iget(self, key): ... - def shift(self, periods, axis: int = ..., fill_value=...): ... - -class DatetimeBlock(DatetimeLikeBlockMixin, Block): - is_datetime: bool = ... - def __init__(self, values, placement, ndim=...) -> None: ... - def astype(self, dtype, copy: bool = ..., errors: str = ...): ... - def to_native_types(self, slicer=..., na_rep=..., date_format=..., quoting=..., **kwargs): ... - def should_store(self, value): ... - def set(self, locs, values) -> None: ... - def external_values(self): ... - def array_values(self) -> ExtensionArray: ... - -class DatetimeTZBlock(DatetimeBlock): - is_datetimetz: bool = ... - is_extension: bool = ... - fill_value = ... - @property - def is_view(self): ... - def get_values(self, dtype=...): ... - def to_dense(self): ... - def diff(self, n: int, axis: int = ...) -> List[Block]: ... - def concat_same_type(self, to_concat, placement=...): ... - def fillna(self, value, limit=..., inplace: bool = ..., downcast=...): ... - def setitem(self, indexer, value): ... - def equals(self, other) -> bool: ... - def quantile(self, qs, interpolation: str = ..., axis: int = ...): ... - -class BoolBlock(NumericBlock): - is_bool: bool = ... - def should_store(self, value): ... - def replace(self, to_replace, value, inplace: bool = ..., filter=..., regex: bool = ..., convert: bool = ...): ... - -class ObjectBlock(Block): - is_object: bool = ... - def __init__(self, values, placement=..., ndim: int = ...) -> None: ... - @property - def is_bool(self): ... - def convert(self, copy: bool = ..., datetime: bool = ..., numeric: bool = ..., timedelta: bool = ..., coerce: bool = ...): ... - def should_store(self, value): ... - def replace(self, to_replace, value, inplace: bool = ..., filter=..., regex: bool = ..., convert: bool = ...): ... - -class CategoricalBlock(ExtensionBlock): - is_categorical: bool = ... - def __init__(self, values, placement, ndim=...) -> None: ... - @property - def array_dtype(self): ... - def to_dense(self): ... - def to_native_types(self, slicer=..., na_rep: str = ..., quoting=..., **kwargs): ... - def concat_same_type(self, to_concat, placement=...): ... - def replace(self, to_replace, value, inplace: bool = ..., filter=..., regex: bool = ..., convert: bool = ...): ... - -def get_block_type(values, dtype=...): ... -def make_block(values, placement, klass=..., ndim=..., dtype=...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/concat.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/concat.pyi deleted file mode 100644 index ccdc47d4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/concat.pyi +++ /dev/null @@ -1,15 +0,0 @@ -def get_mgr_concatenation_plan(mgr, indexers): ... - -class JoinUnit: - block = ... - indexers = ... - shape = ... - def __init__(self, block, shape, indexers=...) -> None: ... - def needs_filling(self): ... - def dtype(self): ... - def is_na(self): ... - def get_reindexed_values(self, empty_dtype, upcasted_na): ... - -def concatenate_join_units(join_units, concat_axis, copy): ... -def is_uniform_join_units(join_units): ... -def combine_concat_plans(plans, concat_axis): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/construction.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/construction.pyi deleted file mode 100644 index 2bb94f87..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/construction.pyi +++ /dev/null @@ -1,12 +0,0 @@ -import numpy as np - -def arrays_to_mgr(arrays, arr_names, index, columns, dtype=...): ... -def masked_rec_array_to_mgr(data, index, columns, dtype, copy): ... -def init_ndarray(values, index, columns, dtype=..., copy: bool = ...): ... -def init_dict(data, index, columns, dtype=...): ... -def prep_ndarray(values, copy=...) -> np.ndarray: ... -def extract_index(data): ... -def reorder_arrays(arrays, arr_columns, columns): ... -def get_names_from_index(data): ... -def to_arrays(data, columns, coerce_float: bool = ..., dtype=...): ... -def sanitize_index(data, index, copy: bool = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/managers.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/managers.pyi deleted file mode 100644 index 86ceb96e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/internals/managers.pyi +++ /dev/null @@ -1,100 +0,0 @@ -from pandas.core.base import PandasObject as PandasObject -from pandas.core.indexes.api import Index as Index -from pandas.core.internals.blocks import Block as Block -from typing import List, Sequence, Union - -class BlockManager(PandasObject): - axes = ... - blocks = ... - def __init__(self, blocks: Sequence[Block], axes: Sequence[Index], do_integrity_check: bool=...) -> None: ... - def make_empty(self, axes = ...): ... - def __nonzero__(self): ... - __bool__ = ... - @property - def shape(self): ... - @property - def ndim(self) -> int: ... - def set_axis(self, axis, new_labels) -> None: ... - def rename_axis(self, mapper, axis, copy: bool = ..., level = ...): ... - @property - def items(self): ... - def get_dtype_counts(self): ... - def get_dtypes(self): ... - def __len__(self) -> int: ... - def reduce(self, func, *args, **kwargs): ... - def apply(self, f, filter = ..., **kwargs): ... - def quantile(self, axis: int = ..., consolidate: bool = ..., transposed: bool = ..., interpolation: str = ..., qs = ..., numeric_only = ...): ... - def isna(self, func): ... - def where(self, **kwargs): ... - def setitem(self, **kwargs): ... - def putmask(self, **kwargs): ... - def diff(self, **kwargs): ... - def interpolate(self, **kwargs): ... - def shift(self, **kwargs): ... - def fillna(self, **kwargs): ... - def downcast(self, **kwargs): ... - def astype(self, dtype, copy: bool=..., errors: str=...) : ... - def convert(self, **kwargs): ... - def replace(self, value, **kwargs): ... - def replace_list(self, src_list, dest_list, inplace: bool = ..., regex: bool = ...): ... - def is_consolidated(self): ... - @property - def is_mixed_type(self): ... - @property - def is_numeric_mixed_type(self): ... - @property - def is_datelike_mixed_type(self): ... - @property - def any_extension_types(self): ... - @property - def is_view(self): ... - def get_bool_data(self, copy: bool = ...): ... - def get_numeric_data(self, copy: bool = ...): ... - def combine(self, blocks, copy: bool = ...): ... - def get_slice(self, slobj: slice, axis: int=...) : ... - def __contains__(self, item) -> bool: ... - @property - def nblocks(self) -> int: ... - def copy(self, deep: bool = ...): ... - def as_array(self, transpose: bool = ..., items = ...): ... - def to_dict(self, copy: bool = ...): ... - def fast_xs(self, loc): ... - def consolidate(self): ... - def get(self, item): ... - def iget(self, i): ... - def delete(self, item) -> None: ... - def set(self, item, value): ... - def insert(self, loc: int, item, value, allow_duplicates: bool=...) : ... - def reindex_axis(self, new_index, axis, method = ..., limit = ..., fill_value = ..., copy: bool = ...): ... - def reindex_indexer(self, new_axis, indexer, axis, fill_value = ..., allow_dups: bool = ..., copy: bool = ...): ... - def take(self, indexer, axis: int = ..., verify: bool = ..., convert: bool = ...): ... - def equals(self, other): ... - def unstack(self, unstacker_func, fill_value): ... - -class SingleBlockManager(BlockManager): - ndim: int = ... - axes = ... - blocks = ... - def __init__(self, block: Block, axis: Union[Index, List[Index]], do_integrity_check: bool=..., fastpath: bool=...) -> None: ... - def get_slice(self, slobj, axis: int = ...): ... - @property - def index(self): ... - @property - def dtype(self): ... - @property - def array_dtype(self): ... - def get_dtype_counts(self): ... - def get_dtypes(self): ... - def external_values(self): ... - def internal_values(self): ... - def get_values(self): ... - def is_consolidated(self): ... - def delete(self, item) -> None: ... - def fast_xs(self, loc): ... - def concat(self, to_concat, new_axis): ... - -def create_block_manager_from_blocks(blocks, axes): ... -def create_block_manager_from_arrays(arrays, names, axes): ... -def construction_error(tot_items, block_shape, axes, e = ...) -> None: ... -def form_blocks(arrays, names, axes): ... -def concatenate_block_managers(mgrs_indexers, axes, concat_axis, copy): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/missing.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/missing.pyi deleted file mode 100644 index f6335813..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/missing.pyi +++ /dev/null @@ -1,12 +0,0 @@ -def mask_missing(arr, values_to_mask): ... -def clean_fill_method(method, allow_nearest: bool = ...): ... -def clean_interp_method(method, **kwargs): ... -def find_valid_index(values, how: str) : ... -def interpolate_1d(xvalues, yvalues, method: str = ..., limit = ..., limit_direction: str = ..., limit_area = ..., fill_value = ..., bounds_error: bool = ..., order = ..., **kwargs): ... -def interpolate_2d(values, method: str = ..., axis: int = ..., limit = ..., fill_value = ..., dtype = ...): ... -def pad_1d(values, limit = ..., mask = ..., dtype = ...): ... -def backfill_1d(values, limit = ..., mask = ..., dtype = ...): ... -def pad_2d(values, limit = ..., mask = ..., dtype = ...): ... -def backfill_2d(values, limit = ..., mask = ..., dtype = ...): ... -def get_fill_func(method): ... -def clean_reindex_fill_method(method): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/nanops.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/nanops.pyi deleted file mode 100644 index 87465ba4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/nanops.pyi +++ /dev/null @@ -1,46 +0,0 @@ -bn = ... - -def set_use_bottleneck(v: bool = ...) -> None: ... - -class disallow: - dtypes = ... - def __init__(self, *dtypes) -> None: ... - def check(self, obj) -> bool: ... - def __call__(self, f): ... - -class bottleneck_switch: - name = ... - kwargs = ... - def __init__(self, name = ..., **kwargs) -> None: ... - def __call__(self, alt): ... - -def nanany(values, axis=..., skipna: bool=..., mask=...) : ... -def nanall(values, axis=..., skipna: bool=..., mask=...) : ... -def nansum(values, axis = ..., skipna: bool = ..., min_count: int = ..., mask = ...): ... -def nanmean(values, axis = ..., skipna: bool = ..., mask = ...): ... -def nanmedian(values, axis = ..., skipna: bool = ..., mask = ...): ... -def nanstd(values, axis = ..., skipna: bool = ..., ddof: int = ..., mask = ...): ... -def nanvar(values, axis = ..., skipna: bool = ..., ddof: int = ..., mask = ...): ... -def nansem(values, axis = ..., skipna: bool = ..., ddof: int = ..., mask = ...): ... - -nanmin = ... -nanmax = ... - -def nanargmax(values, axis = ..., skipna: bool = ..., mask = ...): ... -def nanargmin(values, axis = ..., skipna: bool = ..., mask = ...): ... -def nanskew(values, axis = ..., skipna: bool = ..., mask = ...): ... -def nankurt(values, axis = ..., skipna: bool = ..., mask = ...): ... -def nanprod(values, axis = ..., skipna: bool = ..., min_count: int = ..., mask = ...): ... -def nancorr(a, b, method: str = ..., min_periods = ...): ... -def get_corr_func(method): ... -def nancov(a, b, min_periods = ...): ... -def make_nancomp(op): ... - -nangt = ... -nange = ... -nanlt = ... -nanle = ... -naneq = ... -nanne = ... - -def nanpercentile(values, q, axis, na_value, mask, ndim, interpolation): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/__init__.pyi deleted file mode 100644 index fc2d79a7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/__init__.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from typing import Any, Optional, Set, Tuple - -ARITHMETIC_BINOPS: Set[str] = ... -COMPARISON_BINOPS: Set[str] = ... - -def get_op_result_name(left: Any, right: Any): ... -def maybe_upcast_for_op(obj: Any, shape: Tuple[int, ...]) -> Any: ... -def fill_binop(left: Any, right: Any, fill_value: Any): ... -def dispatch_to_series(left: Any, right: Any, func: Any, str_rep: Optional[Any] = ..., axis: Optional[Any] = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/array_ops.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/array_ops.pyi deleted file mode 100644 index 30994f80..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/array_ops.pyi +++ /dev/null @@ -1,13 +0,0 @@ -import numpy as np -from pandas.core.dtypes.generic import ABCExtensionArray as ABCExtensionArray -from typing import Optional, Union - -def comp_method_OBJECT_ARRAY(op, x, y): ... -def masked_arith_op(x, y, op): ... -def define_na_arithmetic_op(op, str_rep: str): ... -def na_arithmetic_op(left, right, op, str_rep: str): ... -def arithmetic_op(left: Union[np.ndarray, ABCExtensionArray], right, op, str_rep: str): ... -def comparison_op(left: Union[np.ndarray, ABCExtensionArray], right, op) -> Union[np.ndarray, ABCExtensionArray]: ... -def na_logical_op(x: np.ndarray, y, op): ... -def logical_op(left: Union[np.ndarray, ABCExtensionArray], right, op) -> Union[np.ndarray, ABCExtensionArray]: ... -def get_array_op(op, str_rep: Optional[str] = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/common.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/common.pyi deleted file mode 100644 index 740e564e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/common.pyi +++ /dev/null @@ -1 +0,0 @@ -def unpack_zerodim_and_defer(name: str): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/dispatch.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/dispatch.pyi deleted file mode 100644 index a6def642..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/dispatch.pyi +++ /dev/null @@ -1,7 +0,0 @@ -import numpy as np -from pandas.core.dtypes.generic import ABCExtensionArray as ABCExtensionArray, ABCSeries as ABCSeries -from typing import Union - -def should_extension_dispatch(left: ABCSeries, right) -> bool: ... -def should_series_dispatch(left, right, op): ... -def dispatch_to_extension_op(op, left: Union[ABCExtensionArray, np.ndarray], right): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/docstrings.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/docstrings.pyi deleted file mode 100644 index af4811e9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/docstrings.pyi +++ /dev/null @@ -1 +0,0 @@ -reverse_op = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/invalid.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/invalid.pyi deleted file mode 100644 index 9c40d55c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/invalid.pyi +++ /dev/null @@ -1,2 +0,0 @@ -def invalid_comparison(left, right, op): ... -def make_invalid_op(name: str): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/mask_ops.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/mask_ops.pyi deleted file mode 100644 index 2c861167..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/mask_ops.pyi +++ /dev/null @@ -1,23 +0,0 @@ -import numpy as np -from pandas._libs import lib as lib, missing as libmissing -from typing import Optional, Union - -def kleene_or( - left: Union[bool, np.ndarray], - right: Union[bool, np.ndarray], - left_mask: Optional[np.ndarray], - right_mask: Optional[np.ndarray], -): ... -def kleene_xor( - left: Union[bool, np.ndarray], - right: Union[bool, np.ndarray], - left_mask: Optional[np.ndarray], - right_mask: Optional[np.ndarray], -): ... -def kleene_and( - left: Union[bool, libmissing.NAType, np.ndarray], - right: Union[bool, libmissing.NAType, np.ndarray], - left_mask: Optional[np.ndarray], - right_mask: Optional[np.ndarray], -): ... -def raise_for_nan(value, method) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/methods.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/methods.pyi deleted file mode 100644 index 2ffac10c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/methods.pyi +++ /dev/null @@ -1,2 +0,0 @@ -def add_special_arithmetic_methods(cls): ... -def add_flex_arithmetic_methods(cls) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/missing.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/missing.pyi deleted file mode 100644 index 9810e741..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/missing.pyi +++ /dev/null @@ -1,3 +0,0 @@ -def fill_zeros(result, x, y): ... -def mask_zero_div_zero(x, y, result): ... -def dispatch_fill_zeros(op, left, right, result): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/roperator.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/roperator.pyi deleted file mode 100644 index ec889046..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/ops/roperator.pyi +++ /dev/null @@ -1,12 +0,0 @@ -def radd(left, right): ... -def rsub(left, right): ... -def rmul(left, right): ... -def rdiv(left, right): ... -def rtruediv(left, right): ... -def rfloordiv(left, right): ... -def rmod(left, right): ... -def rdivmod(left, right): ... -def rpow(left, right): ... -def rand_(left, right): ... -def ror_(left, right): ... -def rxor(left, right): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/resample.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/resample.pyi deleted file mode 100644 index 98581ee6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/resample.pyi +++ /dev/null @@ -1,58 +0,0 @@ -from pandas.core.base import ShallowMixin as ShallowMixin -from pandas.core.groupby.base import GroupByMixin as GroupByMixin -from pandas.core.groupby.groupby import _GroupBy -from pandas.core.groupby.grouper import Grouper as Grouper -from pandas._typing import FrameOrSeriesUnion - -class Resampler(_GroupBy, ShallowMixin): - def __init__(self, obj, groupby=..., axis: int = ..., kind=..., **kwargs) -> None: ... - def __getattr__(self, attr: str): ... - def __iter__(self): ... - @property - def obj(self): ... - @property - def ax(self): ... - def pipe(self, func, *args, **kwargs): ... - def aggregate(self, func, *args, **kwargs): ... - agg = aggregate - def transform(self, arg, *args, **kwargs): ... - def pad(self, limit=...): ... - def nearest(self, limit=...): ... - def backfill(self, limit=...): ... - bfill = backfill - def fillna(self, method, limit=...): ... - def interpolate( - self, - method: str = ..., - axis: int = ..., - limit=..., - inplace: bool = ..., - limit_direction: str = ..., - limit_area=..., - downcast=..., - **kwargs, - ): ... - def asfreq(self, fill_value=...): ... - def std(self, ddof: int = ..., *args, **kwargs): ... - def var(self, ddof: int = ..., *args, **kwargs): ... - def size(self): ... - def count(self): ... - def quantile(self, q: float = ..., **kwargs): ... - def sum(self, _method=..., min_count: int = ..., *args, **kwargs) -> FrameOrSeriesUnion: ... - def prod(self, _method=..., min_count: int = ..., *args, **kwargs) -> FrameOrSeriesUnion: ... - def min(self, _method=..., min_count: int = ..., *args, **kwargs) -> FrameOrSeriesUnion: ... - def max(self, _method=..., min_count: int = ..., *args, **kwargs) -> FrameOrSeriesUnion: ... - def first(self, _method=..., min_count: int = ..., *args, **kwargs) -> FrameOrSeriesUnion: ... - def last(self, _method=..., min_count: int = ..., *args, **kwargs) -> FrameOrSeriesUnion: ... - def mean(self, _method=..., *args, **kwargs) -> FrameOrSeriesUnion: ... - def sem(self, _method=..., *args, **kwargs) -> FrameOrSeriesUnion: ... - def median(self, _method=..., *args, **kwargs) -> FrameOrSeriesUnion: ... - def ohlc(self, _method=..., *args, **kwargs) -> FrameOrSeriesUnion: ... - -class _GroupByMixin(GroupByMixin): - groupby = ... - def __init__(self, obj, *args, **kwargs) -> None: ... - -def resample(obj, kind=..., **kwds): ... -def get_resampler_for_grouping(groupby, rule, how=..., fill_method=..., limit=..., kind=..., **kwargs): ... -def asfreq(obj, freq, method=..., how=..., normalize: bool = ..., fill_value=...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/api.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/api.pyi deleted file mode 100644 index 3ddc732d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/api.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from pandas.core.reshape.concat import concat as concat -from pandas.core.reshape.melt import lreshape as lreshape, melt as melt, wide_to_long as wide_to_long -from pandas.core.reshape.merge import merge as merge, merge_asof as merge_asof, merge_ordered as merge_ordered -from pandas.core.reshape.pivot import crosstab as crosstab, pivot as pivot, pivot_table as pivot_table -from pandas.core.reshape.reshape import get_dummies as get_dummies -from pandas.core.reshape.tile import cut as cut, qcut as qcut diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/concat.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/concat.pyi deleted file mode 100644 index 63280ade..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/concat.pyi +++ /dev/null @@ -1,44 +0,0 @@ -from pandas import DataFrame as DataFrame, Series as Series -from typing import Hashable, Iterable, Mapping, Optional, Union, overload, Literal, TypeVar - -HashableT = TypeVar("HashableT", bound=Hashable) - -@overload -def concat( - objs: Union[Iterable[Optional[Series]], Mapping[HashableT, Optional[Series]]], - join: str = ..., - ignore_index: bool = ..., - keys=..., - levels=..., - names=..., - verify_integrity: bool = ..., - sort: bool = ..., - copy: bool = ..., - axis: Literal[0, "index"] = ..., -) -> Series: ... -@overload -def concat( - objs: Union[Iterable[Optional[Series]], Mapping[HashableT, Optional[Series]]], - axis: Literal[1, "columns"], - join: str = ..., - ignore_index: bool = ..., - keys=..., - levels=..., - names=..., - verify_integrity: bool = ..., - sort: bool = ..., - copy: bool = ..., -) -> DataFrame: ... -@overload -def concat( - objs: Union[Iterable[Optional[Union[DataFrame, Series]]], Mapping[HashableT, Optional[Union[DataFrame, Series]]]], - axis: Literal[0, "index", 1, "columns"] = ..., - join: str = ..., - ignore_index: bool = ..., - keys=..., - levels=..., - names=..., - verify_integrity: bool = ..., - sort: bool = ..., - copy: bool = ..., -) -> DataFrame: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/melt.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/melt.pyi deleted file mode 100644 index d1bdd499..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/melt.pyi +++ /dev/null @@ -1,131 +0,0 @@ -import numpy as np -from pandas.core.frame import DataFrame as DataFrame -from typing import List, Optional, Tuple, Union - -def melt( - frame: DataFrame, - id_vars: Optional[Union[Tuple, List, np.ndarray]] = ..., - value_vars: Optional[Union[Tuple, List, np.ndarray]] = ..., - var_name: Optional[str] = ..., - value_name: str = ..., - col_level: Optional[Union[int, str]] = ..., - ignore_index: bool = ... -) -> DataFrame: - """ -Unpivot a DataFrame from wide to long format, optionally leaving identifiers set. - -This function is useful to massage a DataFrame into a format where one -or more columns are identifier variables (`id_vars`), while all other -columns, considered measured variables (`value_vars`), are "unpivoted" to -the row axis, leaving just two non-identifier columns, 'variable' and -'value'. - -Parameters ----------- -id_vars : tuple, list, or ndarray, optional - Column(s) to use as identifier variables. -value_vars : tuple, list, or ndarray, optional - Column(s) to unpivot. If not specified, uses all columns that - are not set as `id_vars`. -var_name : scalar - Name to use for the 'variable' column. If None it uses - ``frame.columns.name`` or 'variable'. -value_name : scalar, default 'value' - Name to use for the 'value' column. -col_level : int or str, optional - If columns are a MultiIndex then use this level to melt. -ignore_index : bool, default True - If True, original index is ignored. If False, the original index is retained. - Index labels will be repeated as necessary. - - .. versionadded:: 1.1.0 - -Returns -------- -DataFrame - Unpivoted DataFrame. - -See Also --------- -DataFrame.melt : Identical method. -pivot_table : Create a spreadsheet-style pivot table as a DataFrame. -DataFrame.pivot : Return reshaped DataFrame organized - by given index / column values. -DataFrame.explode : Explode a DataFrame from list-like - columns to long format. - -Notes ------ -Reference :ref:`the user guide ` for more examples. - -Examples --------- ->>> df = pd.DataFrame({'A': {0: 'a', 1: 'b', 2: 'c'}, -... 'B': {0: 1, 1: 3, 2: 5}, -... 'C': {0: 2, 1: 4, 2: 6}}) ->>> df - A B C -0 a 1 2 -1 b 3 4 -2 c 5 6 - ->>> pd.melt(df, id_vars=['A'], value_vars=['B']) - A variable value -0 a B 1 -1 b B 3 -2 c B 5 - ->>> pd.melt(df, id_vars=['A'], value_vars=['B', 'C']) - A variable value -0 a B 1 -1 b B 3 -2 c B 5 -3 a C 2 -4 b C 4 -5 c C 6 - -The names of 'variable' and 'value' columns can be customized: - ->>> pd.melt(df, id_vars=['A'], value_vars=['B'], -... var_name='myVarname', value_name='myValname') - A myVarname myValname -0 a B 1 -1 b B 3 -2 c B 5 - -Original index values can be kept around: - ->>> pd.melt(df, id_vars=['A'], value_vars=['B', 'C'], ignore_index=False) - A variable value -0 a B 1 -1 b B 3 -2 c B 5 -0 a C 2 -1 b C 4 -2 c C 6 - -If you have multi-index columns: - ->>> df.columns = [list('ABC'), list('DEF')] ->>> df - A B C - D E F -0 a 1 2 -1 b 3 4 -2 c 5 6 - ->>> pd.melt(df, col_level=0, id_vars=['A'], value_vars=['B']) - A variable value -0 a B 1 -1 b B 3 -2 c B 5 - ->>> pd.melt(df, id_vars=[('A', 'D')], value_vars=[('B', 'E')]) - (A, D) variable_0 variable_1 value -0 a B E 1 -1 b B E 3 -2 c B E 5 - """ - pass -def lreshape(data: DataFrame, groups, dropna: bool=..., label=...) -> DataFrame: ... -def wide_to_long(df: DataFrame, stubnames, i, j, sep: str=..., suffix: str=...) -> DataFrame: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/merge.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/merge.pyi deleted file mode 100644 index d1254d37..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/merge.pyi +++ /dev/null @@ -1,328 +0,0 @@ -from pandas._libs.tslibs import Timedelta -from pandas import DataFrame as DataFrame, Series as Series -from pandas._typing import Label -from typing import Optional, Sequence, Union - -def merge( - left: Union[DataFrame, Series], - right: Union[DataFrame, Series], - how: str = ..., - on: Optional[Union[Label, Sequence]] = ..., - left_on: Optional[Union[Label, Sequence]] = ..., - right_on: Optional[Union[Label, Sequence]] = ..., - left_index: bool = ..., - right_index: bool = ..., - sort: bool = ..., - suffixes: Sequence[Union[str, None]] = ..., - copy: bool = ..., - indicator: Union[bool, str] = ..., - validate: str = ..., -) -> DataFrame: - """ -Merge DataFrame or named Series objects with a database-style join. - -A named Series object is treated as a DataFrame with a single named column. - -The join is done on columns or indexes. If joining columns on -columns, the DataFrame indexes *will be ignored*. Otherwise if joining indexes -on indexes or indexes on a column or columns, the index will be passed on. -When performing a cross merge, no column specifications to merge on are -allowed. - -.. warning:: - - If both key columns contain rows where the key is a null value, those - rows will be matched against each other. This is different from usual SQL - join behaviour and can lead to unexpected results. - -Parameters ----------- -left : DataFrame -right : DataFrame or named Series - Object to merge with. -how : {'left', 'right', 'outer', 'inner', 'cross'}, default 'inner' - Type of merge to be performed. - - * left: use only keys from left frame, similar to a SQL left outer join; - preserve key order. - * right: use only keys from right frame, similar to a SQL right outer join; - preserve key order. - * outer: use union of keys from both frames, similar to a SQL full outer - join; sort keys lexicographically. - * inner: use intersection of keys from both frames, similar to a SQL inner - join; preserve the order of the left keys. - * cross: creates the cartesian product from both frames, preserves the order - of the left keys. - - .. versionadded:: 1.2.0 - -on : label or list - Column or index level names to join on. These must be found in both - DataFrames. If `on` is None and not merging on indexes then this defaults - to the intersection of the columns in both DataFrames. -left_on : label or list, or array-like - Column or index level names to join on in the left DataFrame. Can also - be an array or list of arrays of the length of the left DataFrame. - These arrays are treated as if they are columns. -right_on : label or list, or array-like - Column or index level names to join on in the right DataFrame. Can also - be an array or list of arrays of the length of the right DataFrame. - These arrays are treated as if they are columns. -left_index : bool, default False - Use the index from the left DataFrame as the join key(s). If it is a - MultiIndex, the number of keys in the other DataFrame (either the index - or a number of columns) must match the number of levels. -right_index : bool, default False - Use the index from the right DataFrame as the join key. Same caveats as - left_index. -sort : bool, default False - Sort the join keys lexicographically in the result DataFrame. If False, - the order of the join keys depends on the join type (how keyword). -suffixes : list-like, default is ("_x", "_y") - A length-2 sequence where each element is optionally a string - indicating the suffix to add to overlapping column names in - `left` and `right` respectively. Pass a value of `None` instead - of a string to indicate that the column name from `left` or - `right` should be left as-is, with no suffix. At least one of the - values must not be None. -copy : bool, default True - If False, avoid copy if possible. -indicator : bool or str, default False - If True, adds a column to the output DataFrame called "_merge" with - information on the source of each row. The column can be given a different - name by providing a string argument. The column will have a Categorical - type with the value of "left_only" for observations whose merge key only - appears in the left DataFrame, "right_only" for observations - whose merge key only appears in the right DataFrame, and "both" - if the observation's merge key is found in both DataFrames. - -validate : str, optional - If specified, checks if merge is of specified type. - - * "one_to_one" or "1:1": check if merge keys are unique in both - left and right datasets. - * "one_to_many" or "1:m": check if merge keys are unique in left - dataset. - * "many_to_one" or "m:1": check if merge keys are unique in right - dataset. - * "many_to_many" or "m:m": allowed, but does not result in checks. - -Returns -------- -DataFrame - A DataFrame of the two merged objects. - -See Also --------- -merge_ordered : Merge with optional filling/interpolation. -merge_asof : Merge on nearest keys. -DataFrame.join : Similar method using indices. - -Notes ------ -Support for specifying index levels as the `on`, `left_on`, and -`right_on` parameters was added in version 0.23.0 -Support for merging named Series objects was added in version 0.24.0 - -Examples --------- ->>> df1 = pd.DataFrame({'lkey': ['foo', 'bar', 'baz', 'foo'], -... 'value': [1, 2, 3, 5]}) ->>> df2 = pd.DataFrame({'rkey': ['foo', 'bar', 'baz', 'foo'], -... 'value': [5, 6, 7, 8]}) ->>> df1 - lkey value -0 foo 1 -1 bar 2 -2 baz 3 -3 foo 5 ->>> df2 - rkey value -0 foo 5 -1 bar 6 -2 baz 7 -3 foo 8 - -Merge df1 and df2 on the lkey and rkey columns. The value columns have -the default suffixes, _x and _y, appended. - ->>> df1.merge(df2, left_on='lkey', right_on='rkey') - lkey value_x rkey value_y -0 foo 1 foo 5 -1 foo 1 foo 8 -2 foo 5 foo 5 -3 foo 5 foo 8 -4 bar 2 bar 6 -5 baz 3 baz 7 - -Merge DataFrames df1 and df2 with specified left and right suffixes -appended to any overlapping columns. - ->>> df1.merge(df2, left_on='lkey', right_on='rkey', -... suffixes=('_left', '_right')) - lkey value_left rkey value_right -0 foo 1 foo 5 -1 foo 1 foo 8 -2 foo 5 foo 5 -3 foo 5 foo 8 -4 bar 2 bar 6 -5 baz 3 baz 7 - -Merge DataFrames df1 and df2, but raise an exception if the DataFrames have -any overlapping columns. - ->>> df1.merge(df2, left_on='lkey', right_on='rkey', suffixes=(False, False)) -Traceback (most recent call last): -... -ValueError: columns overlap but no suffix specified: - Index(['value'], dtype='object') - ->>> df1 = pd.DataFrame({'a': ['foo', 'bar'], 'b': [1, 2]}) ->>> df2 = pd.DataFrame({'a': ['foo', 'baz'], 'c': [3, 4]}) ->>> df1 - a b -0 foo 1 -1 bar 2 ->>> df2 - a c -0 foo 3 -1 baz 4 - ->>> df1.merge(df2, how='inner', on='a') - a b c -0 foo 1 3 - ->>> df1.merge(df2, how='left', on='a') - a b c -0 foo 1 3.0 -1 bar 2 NaN - ->>> df1 = pd.DataFrame({'left': ['foo', 'bar']}) ->>> df2 = pd.DataFrame({'right': [7, 8]}) ->>> df1 - left -0 foo -1 bar ->>> df2 - right -0 7 -1 8 - ->>> df1.merge(df2, how='cross') - left right -0 foo 7 -1 foo 8 -2 bar 7 -3 bar 8 - """ - pass -def merge_ordered( - left: Union[DataFrame, Series], - right: Union[DataFrame, Series], - on: Optional[Union[Label, Sequence]] = ..., - left_on: Optional[Union[Label, Sequence]] = ..., - right_on: Optional[Union[Label, Sequence]] = ..., - left_by: Optional[Union[str, Sequence[str]]] = ..., - right_by: Optional[Union[str, Sequence[str]]] = ..., - fill_method: Optional[str] = ..., - suffixes: Sequence[Union[str, None]] = ..., - how: str = ..., -) -> DataFrame: ... -def merge_asof( - left: Union[DataFrame, Series], - right: Union[DataFrame, Series], - on: Optional[Label] = ..., - left_on: Optional[Label] = ..., - right_on: Optional[Label] = ..., - left_index: bool = ..., - right_index: bool = ..., - by: Optional[Union[str, Sequence[str]]] = ..., - left_by: Optional[str] = ..., - right_by: Optional[str] = ..., - suffixes: Sequence[Union[str, None]] = ..., - tolerance: Optional[Union[int, Timedelta]] = ..., - allow_exact_matches: bool = ..., - direction: str = ..., -) -> DataFrame: ... - -class _MergeOperation: - left = ... - right = ... - how = ... - axis = ... - on = ... - left_on = ... - right_on = ... - copy = ... - suffixes = ... - sort = ... - left_index = ... - right_index = ... - indicator = ... - indicator_name = ... - def __init__( - self, - left: Union[Series, DataFrame], - right: Union[Series, DataFrame], - how: str = ..., - on=..., - left_on=..., - right_on=..., - axis=..., - left_index: bool = ..., - right_index: bool = ..., - sort: bool = ..., - suffixes=..., - copy: bool = ..., - indicator: bool = ..., - validate=..., - ) -> None: ... - def get_result(self): ... - -class _OrderedMerge(_MergeOperation): - fill_method = ... - def __init__( - self, - left, - right, - on=..., - left_on=..., - right_on=..., - left_index: bool = ..., - right_index: bool = ..., - axis=..., - suffixes=..., - copy: bool = ..., - fill_method=..., - how: str = ..., - ) -> None: ... - def get_result(self): ... - -class _AsOfMerge(_OrderedMerge): - by = ... - left_by = ... - right_by = ... - tolerance = ... - allow_exact_matches = ... - direction = ... - def __init__( - self, - left, - right, - on=..., - left_on=..., - right_on=..., - left_index: bool = ..., - right_index: bool = ..., - by=..., - left_by=..., - right_by=..., - axis=..., - suffixes=..., - copy: bool = ..., - fill_method=..., - how: str = ..., - tolerance=..., - allow_exact_matches: bool = ..., - direction: str = ..., - ) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/pivot.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/pivot.pyi deleted file mode 100644 index d557f4b8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/pivot.pyi +++ /dev/null @@ -1,181 +0,0 @@ -from pandas.core.series import Series -from pandas.core.frame import DataFrame -from pandas.core.groupby.grouper import Grouper -from pandas._typing import Scalar -from typing import Callable, Optional, Sequence, Union - -def pivot_table( - data: DataFrame, - values: Optional[str] = ..., - index: Optional[Union[str, Sequence, Grouper]] = ..., - columns: Optional[Union[str, Sequence, Grouper]] = ..., - aggfunc = ..., - fill_value: Optional[Scalar] = ..., - margins: bool = ..., - dropna: bool = ..., - margins_name: str = ..., - observed: bool = ...) -> DataFrame: ... - -def pivot( - data: DataFrame, - index: Optional[str] = ..., - columns: Optional[str] = ..., - values: Optional[Union[str, Sequence[str]]] = ..., -) -> DataFrame: - """ -Return reshaped DataFrame organized by given index / column values. - -Reshape data (produce a "pivot" table) based on column values. Uses -unique values from specified `index` / `columns` to form axes of the -resulting DataFrame. This function does not support data -aggregation, multiple values will result in a MultiIndex in the -columns. See the :ref:`User Guide ` for more on reshaping. - -Parameters ----------- -data : DataFrame -index : str or object or a list of str, optional - Column to use to make new frame's index. If None, uses - existing index. - - .. versionchanged:: 1.1.0 - Also accept list of index names. - -columns : str or object or a list of str - Column to use to make new frame's columns. - - .. versionchanged:: 1.1.0 - Also accept list of columns names. - -values : str, object or a list of the previous, optional - Column(s) to use for populating new frame's values. If not - specified, all remaining columns will be used and the result will - have hierarchically indexed columns. - -Returns -------- -DataFrame - Returns reshaped DataFrame. - -Raises ------- -ValueError: - When there are any `index`, `columns` combinations with multiple - values. `DataFrame.pivot_table` when you need to aggregate. - -See Also --------- -DataFrame.pivot_table : Generalization of pivot that can handle - duplicate values for one index/column pair. -DataFrame.unstack : Pivot based on the index values instead of a - column. -wide_to_long : Wide panel to long format. Less flexible but more - user-friendly than melt. - -Notes ------ -For finer-tuned control, see hierarchical indexing documentation along -with the related stack/unstack methods. - -Reference :ref:`the user guide ` for more examples. - -Examples --------- ->>> df = pd.DataFrame({'foo': ['one', 'one', 'one', 'two', 'two', -... 'two'], -... 'bar': ['A', 'B', 'C', 'A', 'B', 'C'], -... 'baz': [1, 2, 3, 4, 5, 6], -... 'zoo': ['x', 'y', 'z', 'q', 'w', 't']}) ->>> df - foo bar baz zoo -0 one A 1 x -1 one B 2 y -2 one C 3 z -3 two A 4 q -4 two B 5 w -5 two C 6 t - ->>> df.pivot(index='foo', columns='bar', values='baz') -bar A B C -foo -one 1 2 3 -two 4 5 6 - ->>> df.pivot(index='foo', columns='bar')['baz'] -bar A B C -foo -one 1 2 3 -two 4 5 6 - ->>> df.pivot(index='foo', columns='bar', values=['baz', 'zoo']) - baz zoo -bar A B C A B C -foo -one 1 2 3 x y z -two 4 5 6 q w t - -You could also assign a list of column names or a list of index names. - ->>> df = pd.DataFrame({ -... "lev1": [1, 1, 1, 2, 2, 2], -... "lev2": [1, 1, 2, 1, 1, 2], -... "lev3": [1, 2, 1, 2, 1, 2], -... "lev4": [1, 2, 3, 4, 5, 6], -... "values": [0, 1, 2, 3, 4, 5]}) ->>> df - lev1 lev2 lev3 lev4 values -0 1 1 1 1 0 -1 1 1 2 2 1 -2 1 2 1 3 2 -3 2 1 2 4 3 -4 2 1 1 5 4 -5 2 2 2 6 5 - ->>> df.pivot(index="lev1", columns=["lev2", "lev3"],values="values") -lev2 1 2 -lev3 1 2 1 2 -lev1 -1 0.0 1.0 2.0 NaN -2 4.0 3.0 NaN 5.0 - ->>> df.pivot(index=["lev1", "lev2"], columns=["lev3"],values="values") - lev3 1 2 -lev1 lev2 - 1 1 0.0 1.0 - 2 2.0 NaN - 2 1 4.0 3.0 - 2 NaN 5.0 - -A ValueError is raised if there are any duplicates. - ->>> df = pd.DataFrame({"foo": ['one', 'one', 'two', 'two'], -... "bar": ['A', 'A', 'B', 'C'], -... "baz": [1, 2, 3, 4]}) ->>> df - foo bar baz -0 one A 1 -1 one A 2 -2 two B 3 -3 two C 4 - -Notice that the first two rows are the same for our `index` -and `columns` arguments. - ->>> df.pivot(index='foo', columns='bar', values='baz') -Traceback (most recent call last): - ... -ValueError: Index contains duplicate entries, cannot reshape - """ - pass - -def crosstab( - index: Union[Sequence, Series], - columns: Union[Sequence, Series], - values: Optional[Sequence] = ..., - rownames: Optional[Sequence] = ..., - colnames: Optional[Sequence] = ..., - aggfunc: Optional[Callable] = ..., - margins: bool = ..., - margins_name: str = ..., - dropna: bool = ..., - normalize: bool = ...) -> DataFrame: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/reshape.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/reshape.pyi deleted file mode 100644 index e83ad6e2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/reshape.pyi +++ /dev/null @@ -1,26 +0,0 @@ -import numpy as np -from pandas.core.frame import DataFrame as DataFrame - -class _Unstacker: - values = ... - value_columns = ... - fill_value = ... - constructor = ... - index = ... - level = ... - lift = ... - new_index_levels = ... - new_index_names = ... - removed_name = ... - removed_level = ... - removed_level_full = ... - def __init__(self, values: np.ndarray, index, level=..., value_columns=..., fill_value=..., constructor=...) -> None: ... - def get_result(self): ... - def get_new_values(self): ... - def get_new_columns(self): ... - def get_new_index(self): ... - -def unstack(obj, level, fill_value = ...): ... -def stack(frame, level: int = ..., dropna: bool = ...): ... -def stack_multiple(frame, level, dropna: bool = ...): ... -def get_dummies(data, prefix=..., prefix_sep=..., dummy_na=..., columns=..., sparse=..., drop_first=..., dtype=...) -> DataFrame: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/tile.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/tile.pyi deleted file mode 100644 index 20d16f8e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/tile.pyi +++ /dev/null @@ -1,2 +0,0 @@ -def cut(x, bins, right: bool=..., labels=..., retbins: bool=..., precision: int=..., include_lowest: bool=..., duplicates: str=...) : ... -def qcut(x, q, labels=..., retbins: bool=..., precision: int=..., duplicates: str=...) : ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/util.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/util.pyi deleted file mode 100644 index 4ce58442..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/reshape/util.pyi +++ /dev/null @@ -1 +0,0 @@ -def cartesian_product(X): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/series.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/series.pyi deleted file mode 100644 index c903d7f9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/series.pyi +++ /dev/null @@ -1,3252 +0,0 @@ -import numpy as np -from datetime import time, date - -from matplotlib.axes import Axes as PlotAxes, SubplotBase as SubplotBase -import sys -from .base import IndexOpsMixin -from .generic import NDFrame -from .indexes.multi import MultiIndex -from .indexing import _iLocIndexer, _LocIndexer -from .frame import DataFrame -from pandas.core.arrays.base import ExtensionArray -from pandas.core.groupby.generic import SeriesGroupBy -from pandas.core.indexes.base import Index -from pandas.core.indexes.datetimes import DatetimeIndex -from pandas.core.resample import Resampler -from pandas.core.strings import StringMethods -from pandas.core.window.rolling import Rolling, Window -from pandas.core.window import ExponentialMovingWindow -from pandas._typing import ( - ArrayLike as ArrayLike, - Axis as Axis, - AxisType as AxisType, - Dtype as Dtype, - DtypeNp as DtypeNp, - FilePathOrBuffer as FilePathOrBuffer, - IgnoreRaise as IgnoreRaise, - Level as Level, - ListLike as ListLike, - MaskType as MaskType, - Renamer as Renamer, - S1 as S1, - Scalar as Scalar, - SeriesAxisType as SeriesAxisType, - Timestamp as Timestamp, - Timedelta as Timedelta, - num as num, - Label as Label, -) -from typing import ( - Any, - Callable, - Dict, - Generic, - Hashable, - Iterable, - List, - Mapping, - Optional, - Sequence, - Tuple, - Type, - Union, - overload, -) - -if sys.version_info >= (3, 8): - from typing import Literal -else: - from typing_extensions import Literal - -_bool = bool -_str = str - -class _iLocIndexerSeries(_iLocIndexer, Generic[S1]): - # get item - @overload - def __getitem__(self, idx: int) -> S1: ... - @overload - def __getitem__(self, idx: Union[Index, slice]) -> Series[S1]: ... - # set item - @overload - def __setitem__(self, idx: int, value: S1) -> None: ... - @overload - def __setitem__(self, idx: Index, value: Union[S1, Series[S1]]) -> None: ... - -class _LocIndexerSeries(_LocIndexer, Generic[S1]): - @overload - def __getitem__( - self, - idx: Union[ - MaskType, - Index, - Sequence[Union[int, float]], - List[_str], - slice, - Tuple[Union[int, str, float, slice, Index], ...], - ], - ) -> Series[S1]: ... - @overload - def __getitem__( - self, - idx: Union[int, _str, float], - ) -> S1: ... - @overload - def __setitem__( - self, - idx: Union[Index, MaskType], - value: Union[S1, ArrayLike, Series[S1]], - ) -> None: ... - @overload - def __setitem__( - self, - idx: str, - value: S1, - ) -> None: ... - @overload - def __setitem__( - self, - idx: Union[List[int], List[str], List[Union[str, int]]], - value: Union[S1, ArrayLike, Series[S1]], - ) -> None: ... - -class Series(IndexOpsMixin, NDFrame, Generic[S1]): - - _ListLike = Union[ArrayLike, Dict[_str, np.ndarray], List, Tuple, Index] - def __new__( - cls, - data: Optional[Union[object, _ListLike, Series[S1], Dict[int, S1], Dict[_str, S1]]] = ..., - index: Union[_str, int, Series, List, Index] = ..., - dtype=..., - name: Optional[Hashable] = ..., - copy: bool = ..., - fastpath: bool = ..., - ) -> Series: ... - @property - def hasnans(self) -> bool: ... - def div( - self, - other: Union[num, _ListLike, Series[S1]], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: SeriesAxisType = ..., - ) -> Series[float]: ... - def rdiv( - self, - other: Union[Series[S1], Scalar], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: SeriesAxisType = ..., - ) -> Series[S1]: ... - @property - def dtype(self) -> Dtype: ... - @property - def dtypes(self) -> Dtype: ... - @property - def name(self) -> Optional[Hashable]: ... - @name.setter - def name(self, value: Optional[Hashable]) -> None: ... - @property - def values(self) -> ArrayLike: ... - @property - def array(self) -> ExtensionArray: ... - def ravel(self, order: _str = ...) -> np.ndarray: ... - def __len__(self) -> int: ... - def view(self, dtype=...) -> Series[S1]: ... - def __array_ufunc__(self, ufunc: Callable, method: _str, *inputs, **kwargs): ... - def __array__(self, dtype=...) -> np.ndarray: ... - @property - def axes(self) -> List: ... - def take(self, indices: Sequence, axis: SeriesAxisType = ..., is_copy: Optional[_bool] = ..., **kwargs) -> Series[S1]: - """ -Return the elements in the given *positional* indices along an axis. - -This means that we are not indexing according to actual values in -the index attribute of the object. We are indexing according to the -actual position of the element in the object. - -Parameters ----------- -indices : array-like - An array of ints indicating which positions to take. -axis : {0 or 'index', 1 or 'columns', None}, default 0 - The axis on which to select elements. ``0`` means that we are - selecting rows, ``1`` means that we are selecting columns. -is_copy : bool - Before pandas 1.0, ``is_copy=False`` can be specified to ensure - that the return value is an actual copy. Starting with pandas 1.0, - ``take`` always returns a copy, and the keyword is therefore - deprecated. - - .. deprecated:: 1.0.0 -**kwargs - For compatibility with :meth:`numpy.take`. Has no effect on the - output. - -Returns -------- -taken : same type as caller - An array-like containing the elements taken from the object. - -See Also --------- -DataFrame.loc : Select a subset of a DataFrame by labels. -DataFrame.iloc : Select a subset of a DataFrame by positions. -numpy.take : Take elements from an array along an axis. - -Examples --------- ->>> df = pd.DataFrame([('falcon', 'bird', 389.0), -... ('parrot', 'bird', 24.0), -... ('lion', 'mammal', 80.5), -... ('monkey', 'mammal', np.nan)], -... columns=['name', 'class', 'max_speed'], -... index=[0, 2, 3, 1]) ->>> df - name class max_speed -0 falcon bird 389.0 -2 parrot bird 24.0 -3 lion mammal 80.5 -1 monkey mammal NaN - -Take elements at positions 0 and 3 along the axis 0 (default). - -Note how the actual indices selected (0 and 1) do not correspond to -our selected indices 0 and 3. That's because we are selecting the 0th -and 3rd rows, not rows whose indices equal 0 and 3. - ->>> df.take([0, 3]) - name class max_speed -0 falcon bird 389.0 -1 monkey mammal NaN - -Take elements at indices 1 and 2 along the axis 1 (column selection). - ->>> df.take([1, 2], axis=1) - class max_speed -0 bird 389.0 -2 bird 24.0 -3 mammal 80.5 -1 mammal NaN - -We may take elements using negative integers for positive indices, -starting from the end of the object, just like with Python lists. - ->>> df.take([-1, -2]) - name class max_speed -1 monkey mammal NaN -3 lion mammal 80.5 - """ - pass - @overload - def __getitem__(self, idx: Union[List[_str], Index, Series[S1], slice, MaskType, Tuple[Union[S1, slice], ...]]) -> Series: ... - @overload - def __getitem__(self, idx: Union[int, _str]) -> S1: ... - def __setitem__(self, key, value) -> None: ... - def repeat(self, repeats: Union[int, List[int]], axis: Optional[SeriesAxisType] = ...) -> Series[S1]: ... - @property - def index(self) -> Union[Index, MultiIndex]: ... - @index.setter - def index(self, idx: Index) -> None: ... - @overload - def reset_index( - self, - level: Optional[Sequence[Level]], - drop: Literal[True], - *, - name: Optional[object] = ..., - inplace: _bool = ..., - ) -> Series[S1]: ... - @overload - def reset_index( - self, - level: Optional[Level], - drop: Literal[True], - *, - name: Optional[object] = ..., - inplace: _bool = ..., - ) -> Series[S1]: ... - @overload - def reset_index( - self, - /, - drop: Literal[True], - level: Optional[Sequence[Level]] = ..., - name: Optional[object] = ..., - inplace: _bool = ..., - ) -> Series[S1]: ... - @overload - def reset_index( - self, - /, - drop: Literal[True], - level: Optional[Level] = ..., - name: Optional[object] = ..., - inplace: _bool = ..., - ) -> Series[S1]: ... - @overload - def reset_index( - self, - level: Optional[Sequence[Level]] = ..., - drop: Literal[False] = ..., - name: Optional[object] = ..., - inplace: _bool = ..., - ) -> DataFrame: ... - @overload - def reset_index( - self, - level: Optional[Level] = ..., - drop: Literal[False] = ..., - name: Optional[object] = ..., - inplace: _bool = ..., - ) -> DataFrame: ... - @overload - def to_string( - self, - buf: Optional[FilePathOrBuffer], - na_rep: _str = ..., - formatters=..., - float_format=..., - sparsify: Optional[_bool] = ..., - index_names: _bool = ..., - justify: Optional[_str] = ..., - max_rows: Optional[int] = ..., - min_rows: Optional[int] = ..., - max_cols: Optional[int] = ..., - show_dimensions: _bool = ..., - decimal: _str = ..., - line_width: Optional[int] = ..., - max_colwidth: Optional[int] = ..., - encoding: Optional[_str] = ..., - ) -> None: ... - @overload - def to_string( - self, - na_rep: _str = ..., - formatters=..., - float_format=..., - sparsify: Optional[_bool] = ..., - index_names: _bool = ..., - justify: Optional[_str] = ..., - max_rows: Optional[int] = ..., - min_rows: Optional[int] = ..., - max_cols: Optional[int] = ..., - show_dimensions: _bool = ..., - decimal: _str = ..., - line_width: Optional[int] = ..., - max_colwidth: Optional[int] = ..., - encoding: Optional[_str] = ..., - ) -> _str: ... - @overload - def to_markdown( - self, - buf: Optional[FilePathOrBuffer], - mode: Optional[_str] = ..., - index: _bool = ..., - storage_options: Optional[dict] = ..., - **kwargs, - ) -> None: - """ -Print Series in Markdown-friendly format. - -.. versionadded:: 1.0.0 - -Parameters ----------- -buf : str, Path or StringIO-like, optional, default None - Buffer to write to. If None, the output is returned as a string. -mode : str, optional - Mode in which file is opened, "wt" by default. -index : bool, optional, default True - Add index (row) labels. - - .. versionadded:: 1.1.0 -storage_options : dict, optional - Extra options that make sense for a particular storage connection, e.g. - host, port, username, password, etc. For HTTP(S) URLs the key-value pairs - are forwarded to ``urllib`` as header options. For other URLs (e.g. - starting with "s3://", and "gcs://") the key-value pairs are forwarded to - ``fsspec``. Please see ``fsspec`` and ``urllib`` for more details. - - .. versionadded:: 1.2.0 - -**kwargs - These parameters will be passed to `tabulate `_. - -Returns -------- -str - Series in Markdown-friendly format. - -Notes ------ -Requires the `tabulate `_ package. - -Examples - -------- - >>> s = pd.Series(["elk", "pig", "dog", "quetzal"], name="animal") - >>> print(s.to_markdown()) - | | animal | - |---:|:---------| - | 0 | elk | - | 1 | pig | - | 2 | dog | - | 3 | quetzal | - - Output markdown with a tabulate option. - - >>> print(s.to_markdown(tablefmt="grid")) - +----+----------+ - | | animal | - +====+==========+ - | 0 | elk | - +----+----------+ - | 1 | pig | - +----+----------+ - | 2 | dog | - +----+----------+ - | 3 | quetzal | - +----+----------+ - """ - pass - @overload - def to_markdown(self, mode: Optional[_str] = ..., index: _bool = ..., storage_options: Optional[dict] = ...) -> _str: ... - def items(self) -> Iterable[Tuple[Hashable, S1]]: ... - def iteritems(self) -> Iterable[Tuple[Label, S1]]: - """ -Lazily iterate over (index, value) tuples. - -This method returns an iterable tuple (index, value). This is -convenient if you want to create a lazy iterator. - -Returns -------- -iterable - Iterable of tuples containing the (index, value) pairs from a - Series. - -See Also --------- -DataFrame.items : Iterate over (column name, Series) pairs. -DataFrame.iterrows : Iterate over DataFrame rows as (index, Series) pairs. - -Examples --------- ->>> s = pd.Series(['A', 'B', 'C']) ->>> for index, value in s.items(): -... print(f"Index : {index}, Value : {value}") -Index : 0, Value : A -Index : 1, Value : B -Index : 2, Value : C - """ - pass - def keys(self) -> List: ... - def to_dict(self, into: Hashable = ...) -> Dict[Any, Any]: ... - def to_frame(self, name: Optional[object] = ...) -> DataFrame: ... - def groupby( - self, - by=..., - axis: SeriesAxisType = ..., - level: Optional[Level] = ..., - as_index: _bool = ..., - sort: _bool = ..., - group_keys: _bool = ..., - squeeze: _bool = ..., - observed: _bool = ..., - dropna: _bool = ..., - ) -> SeriesGroupBy: - """ -Group Series using a mapper or by a Series of columns. - -A groupby operation involves some combination of splitting the -object, applying a function, and combining the results. This can be -used to group large amounts of data and compute operations on these -groups. - -Parameters ----------- -by : mapping, function, label, or list of labels - Used to determine the groups for the groupby. - If ``by`` is a function, it's called on each value of the object's - index. If a dict or Series is passed, the Series or dict VALUES - will be used to determine the groups (the Series' values are first - aligned; see ``.align()`` method). If a list or ndarray of length - equal to the selected axis is passed (see the `groupby user guide - `_), - the values are used as-is to determine the groups. A label or list - of labels may be passed to group by the columns in ``self``. - Notice that a tuple is interpreted as a (single) key. -axis : {0 or 'index', 1 or 'columns'}, default 0 - Split along rows (0) or columns (1). -level : int, level name, or sequence of such, default None - If the axis is a MultiIndex (hierarchical), group by a particular - level or levels. -as_index : bool, default True - For aggregated output, return object with group labels as the - index. Only relevant for DataFrame input. as_index=False is - effectively "SQL-style" grouped output. -sort : bool, default True - Sort group keys. Get better performance by turning this off. - Note this does not influence the order of observations within each - group. Groupby preserves the order of rows within each group. -group_keys : bool, default True - When calling apply, add group keys to index to identify pieces. -squeeze : bool, default False - Reduce the dimensionality of the return type if possible, - otherwise return a consistent type. - - .. deprecated:: 1.1.0 - -observed : bool, default False - This only applies if any of the groupers are Categoricals. - If True: only show observed values for categorical groupers. - If False: show all values for categorical groupers. -dropna : bool, default True - If True, and if group keys contain NA values, NA values together - with row/column will be dropped. - If False, NA values will also be treated as the key in groups. - - .. versionadded:: 1.1.0 - -Returns -------- -SeriesGroupBy - Returns a groupby object that contains information about the groups. - -See Also --------- -resample : Convenience method for frequency conversion and resampling - of time series. - -Notes ------ -See the `user guide -`__ for more -detailed usage and examples, including splitting an object into groups, -iterating through groups, selecting a group, aggregation, and more. - -Examples --------- ->>> ser = pd.Series([390., 350., 30., 20.], -... index=['Falcon', 'Falcon', 'Parrot', 'Parrot'], name="Max Speed") ->>> ser -Falcon 390.0 -Falcon 350.0 -Parrot 30.0 -Parrot 20.0 -Name: Max Speed, dtype: float64 ->>> ser.groupby(["a", "b", "a", "b"]).mean() -a 210.0 -b 185.0 -Name: Max Speed, dtype: float64 ->>> ser.groupby(level=0).mean() -Falcon 370.0 -Parrot 25.0 -Name: Max Speed, dtype: float64 ->>> ser.groupby(ser > 100).mean() -Max Speed -False 25.0 -True 370.0 -Name: Max Speed, dtype: float64 - -**Grouping by Indexes** - -We can groupby different levels of a hierarchical index -using the `level` parameter: - ->>> arrays = [['Falcon', 'Falcon', 'Parrot', 'Parrot'], -... ['Captive', 'Wild', 'Captive', 'Wild']] ->>> index = pd.MultiIndex.from_arrays(arrays, names=('Animal', 'Type')) ->>> ser = pd.Series([390., 350., 30., 20.], index=index, name="Max Speed") ->>> ser -Animal Type -Falcon Captive 390.0 - Wild 350.0 -Parrot Captive 30.0 - Wild 20.0 -Name: Max Speed, dtype: float64 ->>> ser.groupby(level=0).mean() -Animal -Falcon 370.0 -Parrot 25.0 -Name: Max Speed, dtype: float64 ->>> ser.groupby(level="Type").mean() -Type -Captive 210.0 -Wild 185.0 -Name: Max Speed, dtype: float64 - -We can also choose to include `NA` in group keys or not by defining -`dropna` parameter, the default setting is `True`. - ->>> ser = pd.Series([1, 2, 3, 3], index=["a", 'a', 'b', np.nan]) ->>> ser.groupby(level=0).sum() -a 3 -b 3 -dtype: int64 - ->>> ser.groupby(level=0, dropna=False).sum() -a 3 -b 3 -NaN 3 -dtype: int64 - ->>> arrays = ['Falcon', 'Falcon', 'Parrot', 'Parrot'] ->>> ser = pd.Series([390., 350., 30., 20.], index=arrays, name="Max Speed") ->>> ser.groupby(["a", "b", "a", np.nan]).mean() -a 210.0 -b 350.0 -Name: Max Speed, dtype: float64 - ->>> ser.groupby(["a", "b", "a", np.nan], dropna=False).mean() -a 210.0 -b 350.0 -NaN 20.0 -Name: Max Speed, dtype: float64 - """ - pass - @overload - def count(self, level: None = ...) -> int: ... - @overload - def count(self, level: Hashable) -> Series[S1]: ... - def mode(self, dropna) -> Series[S1]: ... - def unique(self) -> np.ndarray: ... - @overload - def drop_duplicates(self, keep: Literal["first", "last", False] = ..., inplace: Literal[False] = ...) -> Series[S1]: ... - @overload - def drop_duplicates(self, keep: Literal["first", "last", False], inplace: Literal[True]) -> None: ... - @overload - def drop_duplicates(self, *, inplace: Literal[True]) -> None: ... - @overload - def drop_duplicates(self, keep: Literal["first", "last", False] = ..., inplace: bool = ...) -> Optional[Series[S1]]: ... - def duplicated(self, keep: Literal["first", "last", False] = ...) -> Series[_bool]: ... - def idxmax(self, axis: SeriesAxisType = ..., skipna: _bool = ..., *args, **kwargs) -> Union[int, _str]: ... - def idxmin(self, axis: SeriesAxisType = ..., skipna: _bool = ..., *args, **kwargs) -> Union[int, _str]: ... - def round(self, decimals: int = ..., *args, **kwargs) -> Series[S1]: ... - @overload - def quantile( - self, - q: float = ..., - interpolation: Union[_str, Literal["linear", "lower", "higher", "midpoint", "nearest"]] = ..., - ) -> float: ... - @overload - def quantile( - self, - q: _ListLike, - interpolation: Union[_str, Literal["linear", "lower", "higher", "midpoint", "nearest"]] = ..., - ) -> Series[S1]: ... - def corr( - self, - other: Series[S1], - method: Literal["pearson", "kendall", "spearman"] = ..., - min_periods: int = ..., - ) -> float: ... - def cov(self, other: Series[S1], min_periods: Optional[int] = ..., ddof: int = ...) -> float: ... - def diff(self, periods: int = ...) -> Series[S1]: ... - def autocorr(self, lag: int = ...) -> float: ... - @overload - def dot(self, other: Series[S1]) -> Scalar: ... - @overload - def dot(self, other: DataFrame) -> Series[S1]: ... - @overload - def dot(self, other: _ListLike) -> np.ndarray: ... - def __matmul__(self, other): ... - def __rmatmul__(self, other): ... - @overload - def searchsorted( - self, - value: _ListLike, - side: Union[_str, Literal["left", "right"]] = ..., - sorter: Optional[_ListLike] = ..., - ) -> List[int]: - """ -Find indices where elements should be inserted to maintain order. - -Find the indices into a sorted Series `self` such that, if the -corresponding elements in `value` were inserted before the indices, -the order of `self` would be preserved. - -.. note:: - - The Series *must* be monotonically sorted, otherwise - wrong locations will likely be returned. Pandas does *not* - check this for you. - -Parameters ----------- -value : array-like or scalar - Values to insert into `self`. -side : {'left', 'right'}, optional - If 'left', the index of the first suitable location found is given. - If 'right', return the last such index. If there is no suitable - index, return either 0 or N (where N is the length of `self`). -sorter : 1-D array-like, optional - Optional array of integer indices that sort `self` into ascending - order. They are typically the result of ``np.argsort``. - -Returns -------- -int or array of int - A scalar or array of insertion points with the - same shape as `value`. - -See Also --------- -sort_values : Sort by the values along either axis. -numpy.searchsorted : Similar method from NumPy. - -Notes ------ -Binary search is used to find the required insertion points. - -Examples --------- ->>> ser = pd.Series([1, 2, 3]) ->>> ser -0 1 -1 2 -2 3 -dtype: int64 - ->>> ser.searchsorted(4) -3 - ->>> ser.searchsorted([0, 4]) -array([0, 3]) - ->>> ser.searchsorted([1, 3], side='left') -array([0, 2]) - ->>> ser.searchsorted([1, 3], side='right') -array([1, 3]) - ->>> ser = pd.Series(pd.to_datetime(['3/11/2000', '3/12/2000', '3/13/2000'])) ->>> ser -0 2000-03-11 -1 2000-03-12 -2 2000-03-13 -dtype: datetime64[ns] - ->>> ser.searchsorted('3/14/2000') -3 - ->>> ser = pd.Categorical( -... ['apple', 'bread', 'bread', 'cheese', 'milk'], ordered=True -... ) ->>> ser -['apple', 'bread', 'bread', 'cheese', 'milk'] -Categories (4, object): ['apple' < 'bread' < 'cheese' < 'milk'] - ->>> ser.searchsorted('bread') -1 - ->>> ser.searchsorted(['bread'], side='right') -array([3]) - -If the values are not monotonically sorted, wrong locations -may be returned: - ->>> ser = pd.Series([2, 1, 3]) ->>> ser -0 2 -1 1 -2 3 -dtype: int64 - ->>> ser.searchsorted(1) # doctest: +SKIP -0 # wrong result, correct would be 1 - """ - pass - @overload - def searchsorted( - self, - value: Scalar, - side: Union[_str, Literal["left", "right"]] = ..., - sorter: Optional[_ListLike] = ..., - ) -> int: ... - def append( - self, - to_append: Union[Series, Sequence[Series]], - ignore_index: _bool = ..., - verify_integrity: _bool = ..., - ) -> Series[S1]: ... - @overload - def compare( - self, - other: Series, - align_axis: SeriesAxisType, - keep_shape: bool = ..., - keep_equal: bool = ..., - ) -> Series: ... - @overload - def compare( - self, - other: Series, - align_axis: Literal["columns", 1] = ..., - keep_shape: bool = ..., - keep_equal: bool = ..., - ) -> DataFrame: ... - def combine(self, other: Series[S1], func: Callable, fill_value: Optional[Scalar] = ...) -> Series[S1]: ... - def combine_first(self, other: Series[S1]) -> Series[S1]: ... - def update(self, other: Union[Series[S1], Sequence[S1], Mapping[int, S1]]) -> None: ... - @overload - def sort_values( - self, - axis: AxisType = ..., - ascending: Union[_bool, Sequence[_bool]] = ..., - kind: Union[_str, Literal["quicksort", "mergesort", "heapsort"]] = ..., - na_position: Union[_str, Literal["first", "last"]] = ..., - ignore_index: _bool = ..., - *, - inplace: Literal[True], - key: Optional[Callable] = ..., - ) -> None: ... - @overload - def sort_values( - self, - axis: AxisType = ..., - ascending: Union[_bool, Sequence[_bool]] = ..., - kind: Union[_str, Literal["quicksort", "mergesort", "heapsort"]] = ..., - na_position: Union[_str, Literal["first", "last"]] = ..., - ignore_index: _bool = ..., - *, - inplace: Literal[False], - key: Optional[Callable] = ..., - ) -> Series[S1]: ... - @overload - def sort_values( - self, - axis: AxisType = ..., - ascending: Union[_bool, Sequence[_bool]] = ..., - *, - kind: Union[_str, Literal["quicksort", "mergesort", "heapsort"]] = ..., - na_position: Union[_str, Literal["first", "last"]] = ..., - ignore_index: _bool = ..., - key: Optional[Callable] = ..., - ) -> Series[S1]: ... - @overload - def sort_values( - self, - axis: AxisType = ..., - ascending: Union[_bool, Sequence[_bool]] = ..., - inplace: Optional[_bool] = ..., - kind: Union[_str, Literal["quicksort", "mergesort", "heapsort"]] = ..., - na_position: Union[_str, Literal["first", "last"]] = ..., - ignore_index: _bool = ..., - key: Optional[Callable] = ..., - ) -> Union[None, Series[S1]]: ... - @overload - def sort_index( - self, - axis: AxisType = ..., - level: Optional[Level] = ..., - ascending: Union[_bool, Sequence[_bool]] = ..., - kind: Union[_str, Literal["quicksort", "mergesort", "heapsort"]] = ..., - na_position: Union[_str, Literal["first", "last"]] = ..., - sort_remaining: _bool = ..., - ignore_index: _bool = ..., - *, - inplace: Literal[True], - key: Optional[Callable] = ..., - ) -> None: ... - @overload - def sort_index( - self, - axis: AxisType = ..., - level: Optional[Union[Level, List[int], List[_str]]] = ..., - ascending: Union[_bool, Sequence[_bool]] = ..., - kind: Union[_str, Literal["quicksort", "mergesort", "heapsort"]] = ..., - na_position: Union[_str, Literal["first", "last"]] = ..., - sort_remaining: _bool = ..., - ignore_index: _bool = ..., - *, - inplace: Literal[False], - key: Optional[Callable] = ..., - ) -> Series: ... - @overload - def sort_index( - self, - axis: AxisType = ..., - level: Optional[Union[Level, List[int], List[_str]]] = ..., - ascending: Union[_bool, Sequence[_bool]] = ..., - *, - kind: Union[_str, Literal["quicksort", "mergesort", "heapsort"]] = ..., - na_position: Union[_str, Literal["first", "last"]] = ..., - sort_remaining: _bool = ..., - ignore_index: _bool = ..., - key: Optional[Callable] = ..., - ) -> Series: ... - @overload - def sort_index( - self, - axis: AxisType = ..., - level: Optional[Union[Level, List[int], List[_str]]] = ..., - ascending: Union[_bool, Sequence[_bool]] = ..., - inplace: Optional[_bool] = ..., - kind: Union[_str, Literal["quicksort", "mergesort", "heapsort"]] = ..., - na_position: Union[_str, Literal["first", "last"]] = ..., - sort_remaining: _bool = ..., - ignore_index: _bool = ..., - key: Optional[Callable] = ..., - ) -> Union[None, Series]: ... - def argsort( - self, - axis: SeriesAxisType = ..., - kind: Union[_str, Literal["mergesort", "quicksort", "heapsort"]] = ..., - order: None = ..., - ) -> Series[int]: ... - def nlargest(self, n: int = ..., keep: Union[_str, Literal["first", "last", "all"]] = ...) -> Series[S1]: ... - def nsmallest(self, n: int = ..., keep: Union[_str, Literal["first", "last", "all"]] = ...) -> Series[S1]: ... - def swaplevel(self, i: Level = ..., j: Level = ..., copy: _bool = ...) -> Series[S1]: ... - def reorder_levels(self, order: List) -> Series[S1]: ... - def explode(self) -> Series[S1]: ... - def unstack( - self, - level: Level = ..., - fill_value: Optional[Union[int, _str, Dict]] = ..., - ) -> DataFrame: ... - def map(self, arg, na_action: Optional[Union[_str, Literal["ignore"]]] = ...) -> Series[S1]: ... - def aggregate( - self, - func: Union[ - Callable, - _str, - List[Union[Callable, _str]], - Dict[SeriesAxisType, Union[Callable, _str]], - ], - axis: SeriesAxisType = ..., - *args, - **kwargs, - ) -> None: - """ -Aggregate using one or more operations over the specified axis. - -Parameters ----------- -func : function, str, list or dict - Function to use for aggregating the data. If a function, must either - work when passed a Series or when passed to Series.apply. - - Accepted combinations are: - - - function - - string function name - - list of functions and/or function names, e.g. ``[np.sum, 'mean']`` - - dict of axis labels -> functions, function names or list of such. -axis : {0 or 'index'} - Parameter needed for compatibility with DataFrame. -*args - Positional arguments to pass to `func`. -**kwargs - Keyword arguments to pass to `func`. - -Returns -------- -scalar, Series or DataFrame - - The return can be: - - * scalar : when Series.agg is called with single function - * Series : when DataFrame.agg is called with a single function - * DataFrame : when DataFrame.agg is called with several functions - - Return scalar, Series or DataFrame. - -See Also --------- -Series.apply : Invoke function on a Series. -Series.transform : Transform function producing a Series with like indexes. - -Notes ------ -`agg` is an alias for `aggregate`. Use the alias. - -Functions that mutate the passed object can produce unexpected -behavior or errors and are not supported. See :ref:`gotchas.udf-mutation` -for more details. - -A passed user-defined-function will be passed a Series for evaluation. - -Examples --------- ->>> s = pd.Series([1, 2, 3, 4]) ->>> s -0 1 -1 2 -2 3 -3 4 -dtype: int64 - ->>> s.agg('min') -1 - ->>> s.agg(['min', 'max']) -min 1 -max 4 -dtype: int64 - """ - pass - def agg( - self, - func: Union[ - Callable, - _str, - List[Union[Callable, _str]], - Dict[SeriesAxisType, Union[Callable, _str]], - ] = ..., - axis: SeriesAxisType = ..., - *args, - **kwargs, - ) -> None: ... - def transform( - self, func: Union[List[Callable], Dict[_str, Callable]], axis: SeriesAxisType = ..., *args, **kwargs - ) -> Series[S1]: - """ -Call ``func`` on self producing a Series with the same axis shape as self. - -Parameters ----------- -func : function, str, list-like or dict-like - Function to use for transforming the data. If a function, must either - work when passed a Series or when passed to Series.apply. If func - is both list-like and dict-like, dict-like behavior takes precedence. - - Accepted combinations are: - - - function - - string function name - - list-like of functions and/or function names, e.g. ``[np.exp, 'sqrt']`` - - dict-like of axis labels -> functions, function names or list-like of such. -axis : {0 or 'index'} - Parameter needed for compatibility with DataFrame. -*args - Positional arguments to pass to `func`. -**kwargs - Keyword arguments to pass to `func`. - -Returns -------- -Series - A Series that must have the same length as self. - -Raises ------- -ValueError : If the returned Series has a different length than self. - -See Also --------- -Series.agg : Only perform aggregating type operations. -Series.apply : Invoke function on a Series. - -Notes ------ -Functions that mutate the passed object can produce unexpected -behavior or errors and are not supported. See :ref:`gotchas.udf-mutation` -for more details. - -Examples --------- ->>> df = pd.DataFrame({'A': range(3), 'B': range(1, 4)}) ->>> df - A B -0 0 1 -1 1 2 -2 2 3 ->>> df.transform(lambda x: x + 1) - A B -0 1 2 -1 2 3 -2 3 4 - -Even though the resulting Series must have the same length as the -input Series, it is possible to provide several input functions: - ->>> s = pd.Series(range(3)) ->>> s -0 0 -1 1 -2 2 -dtype: int64 ->>> s.transform([np.sqrt, np.exp]) - sqrt exp -0 0.000000 1.000000 -1 1.000000 2.718282 -2 1.414214 7.389056 - -You can call transform on a GroupBy object: - ->>> df = pd.DataFrame({ -... "Date": [ -... "2015-05-08", "2015-05-07", "2015-05-06", "2015-05-05", -... "2015-05-08", "2015-05-07", "2015-05-06", "2015-05-05"], -... "Data": [5, 8, 6, 1, 50, 100, 60, 120], -... }) ->>> df - Date Data -0 2015-05-08 5 -1 2015-05-07 8 -2 2015-05-06 6 -3 2015-05-05 1 -4 2015-05-08 50 -5 2015-05-07 100 -6 2015-05-06 60 -7 2015-05-05 120 ->>> df.groupby('Date')['Data'].transform('sum') -0 55 -1 108 -2 66 -3 121 -4 55 -5 108 -6 66 -7 121 -Name: Data, dtype: int64 - ->>> df = pd.DataFrame({ -... "c": [1, 1, 1, 2, 2, 2, 2], -... "type": ["m", "n", "o", "m", "m", "n", "n"] -... }) ->>> df - c type -0 1 m -1 1 n -2 1 o -3 2 m -4 2 m -5 2 n -6 2 n ->>> df['size'] = df.groupby('c')['type'].transform(len) ->>> df - c type size -0 1 m 3 -1 1 n 3 -2 1 o 3 -3 2 m 4 -4 2 m 4 -5 2 n 4 -6 2 n 4 - """ - pass - def apply(self, func: Callable, convertDType: _bool = ..., args: Tuple = ..., **kwds) -> Union[Series, DataFrame]: ... - def align( - self, - other: Union[DataFrame, Series], - join: Union[_str, Literal["inner", "outer", "left", "right"]] = ..., - axis: Optional[AxisType] = ..., - level: Optional[Level] = ..., - copy: _bool = ..., - fill_value=..., - method: Optional[Union[_str, Literal["backfill", "bfill", "pad", "ffill"]]] = ..., - limit: Optional[int] = ..., - fill_axis: SeriesAxisType = ..., - broadcast_axis: Optional[SeriesAxisType] = ..., - ) -> Tuple[Series, Series]: - """ -Align two objects on their axes with the specified join method. - -Join method is specified for each axis Index. - -Parameters ----------- -other : DataFrame or Series -join : {'outer', 'inner', 'left', 'right'}, default 'outer' -axis : allowed axis of the other object, default None - Align on index (0), columns (1), or both (None). -level : int or level name, default None - Broadcast across a level, matching Index values on the - passed MultiIndex level. -copy : bool, default True - Always returns new objects. If copy=False and no reindexing is - required then original objects are returned. -fill_value : scalar, default np.NaN - Value to use for missing values. Defaults to NaN, but can be any - "compatible" value. -method : {'backfill', 'bfill', 'pad', 'ffill', None}, default None - Method to use for filling holes in reindexed Series: - - - pad / ffill: propagate last valid observation forward to next valid. - - backfill / bfill: use NEXT valid observation to fill gap. - -limit : int, default None - If method is specified, this is the maximum number of consecutive - NaN values to forward/backward fill. In other words, if there is - a gap with more than this number of consecutive NaNs, it will only - be partially filled. If method is not specified, this is the - maximum number of entries along the entire axis where NaNs will be - filled. Must be greater than 0 if not None. -fill_axis : {0 or 'index'}, default 0 - Filling axis, method and limit. -broadcast_axis : {0 or 'index'}, default None - Broadcast values along this axis, if aligning two objects of - different dimensions. - -Returns -------- -(left, right) : (Series, type of other) - Aligned objects. - -Examples --------- ->>> df = pd.DataFrame( -... [[1, 2, 3, 4], [6, 7, 8, 9]], columns=["D", "B", "E", "A"], index=[1, 2] -... ) ->>> other = pd.DataFrame( -... [[10, 20, 30, 40], [60, 70, 80, 90], [600, 700, 800, 900]], -... columns=["A", "B", "C", "D"], -... index=[2, 3, 4], -... ) ->>> df - D B E A -1 1 2 3 4 -2 6 7 8 9 ->>> other - A B C D -2 10 20 30 40 -3 60 70 80 90 -4 600 700 800 900 - -Align on columns: - ->>> left, right = df.align(other, join="outer", axis=1) ->>> left - A B C D E -1 4 2 NaN 1 3 -2 9 7 NaN 6 8 ->>> right - A B C D E -2 10 20 30 40 NaN -3 60 70 80 90 NaN -4 600 700 800 900 NaN - -We can also align on the index: - ->>> left, right = df.align(other, join="outer", axis=0) ->>> left - D B E A -1 1.0 2.0 3.0 4.0 -2 6.0 7.0 8.0 9.0 -3 NaN NaN NaN NaN -4 NaN NaN NaN NaN ->>> right - A B C D -1 NaN NaN NaN NaN -2 10.0 20.0 30.0 40.0 -3 60.0 70.0 80.0 90.0 -4 600.0 700.0 800.0 900.0 - -Finally, the default `axis=None` will align on both index and columns: - ->>> left, right = df.align(other, join="outer", axis=None) ->>> left - A B C D E -1 4.0 2.0 NaN 1.0 3.0 -2 9.0 7.0 NaN 6.0 8.0 -3 NaN NaN NaN NaN NaN -4 NaN NaN NaN NaN NaN ->>> right - A B C D E -1 NaN NaN NaN NaN NaN -2 10.0 20.0 30.0 40.0 NaN -3 60.0 70.0 80.0 90.0 NaN -4 600.0 700.0 800.0 900.0 NaN - """ - pass - @overload - def rename( - self, - index: Optional[Union[Renamer, Hashable]] = ..., - *, - axis: Optional[Axis] = ..., - copy: bool = ..., - inplace: Literal[True], - level: Optional[Level] = ..., - errors: IgnoreRaise = ..., - ) -> None: ... - @overload - def rename( - self, - index: Optional[Renamer] = ..., - *, - axis: Optional[Axis] = ..., - copy: bool = ..., - inplace: Literal[False] = ..., - level: Optional[Level] = ..., - errors: IgnoreRaise = ..., - ) -> Series: ... - @overload - def rename( - self, - index: Optional[Hashable] = ..., - *, - axis: Optional[Axis] = ..., - copy: bool = ..., - inplace: Literal[False] = ..., - level: Optional[Level] = ..., - errors: IgnoreRaise = ..., - ) -> Series: ... - @overload - def rename( - self, - index: Optional[Union[Renamer, Hashable]] = ..., - *, - axis: Optional[Axis] = ..., - copy: bool = ..., - inplace: bool = ..., - level: Optional[Level] = ..., - errors: IgnoreRaise = ..., - ) -> Optional[Series]: ... - def reindex_like( - self, - other: Series[S1], - method: Optional[Union[_str, Literal["backfill", "bfill", "pad", "ffill", "nearest"]]] = ..., - copy: _bool = ..., - limit: Optional[int] = ..., - tolerance: Optional[float] = ..., - ) -> Series: ... - @overload - def drop( - self, - labels: Union[Hashable, List[Hashable]] = ..., - *, - axis: Axis = ..., - index: Union[Hashable, List[Hashable]] = ..., - columns: Union[Hashable, List[Hashable]] = ..., - level: Optional[Level] = ..., - inplace: Literal[True], - errors: IgnoreRaise = ..., - ) -> None: ... - @overload - def drop( - self, - labels: Union[Hashable, List[Hashable]] = ..., - *, - axis: Axis = ..., - index: Union[Hashable, List[Hashable]] = ..., - columns: Union[Hashable, List[Hashable]] = ..., - level: Optional[Level] = ..., - inplace: Literal[False] = ..., - errors: IgnoreRaise = ..., - ) -> Series: ... - @overload - def drop( - self, - labels: Union[Hashable, List[Hashable]] = ..., - *, - axis: Axis = ..., - index: Union[Hashable, List[Hashable]] = ..., - columns: Union[Hashable, List[Hashable]] = ..., - level: Optional[Level] = ..., - inplace: bool = ..., - errors: IgnoreRaise = ..., - ) -> Optional[Series]: ... - @overload - def fillna( - self, - value: Optional[Union[Scalar, Dict, Series[S1], DataFrame]] = ..., - method: Optional[Union[_str, Literal["backfill", "bfill", "pad", "ffill"]]] = ..., - axis: SeriesAxisType = ..., - limit: Optional[int] = ..., - downcast: Optional[Dict] = ..., - *, - inplace: Literal[True], - ) -> None: - """ -Fill NA/NaN values using the specified method. - -Parameters ----------- -value : scalar, dict, Series, or DataFrame - Value to use to fill holes (e.g. 0), alternately a - dict/Series/DataFrame of values specifying which value to use for - each index (for a Series) or column (for a DataFrame). Values not - in the dict/Series/DataFrame will not be filled. This value cannot - be a list. -method : {'backfill', 'bfill', 'pad', 'ffill', None}, default None - Method to use for filling holes in reindexed Series - pad / ffill: propagate last valid observation forward to next valid - backfill / bfill: use next valid observation to fill gap. -axis : {0 or 'index'} - Axis along which to fill missing values. -inplace : bool, default False - If True, fill in-place. Note: this will modify any - other views on this object (e.g., a no-copy slice for a column in a - DataFrame). -limit : int, default None - If method is specified, this is the maximum number of consecutive - NaN values to forward/backward fill. In other words, if there is - a gap with more than this number of consecutive NaNs, it will only - be partially filled. If method is not specified, this is the - maximum number of entries along the entire axis where NaNs will be - filled. Must be greater than 0 if not None. -downcast : dict, default is None - A dict of item->dtype of what to downcast if possible, - or the string 'infer' which will try to downcast to an appropriate - equal type (e.g. float64 to int64 if possible). - -Returns -------- -Series or None - Object with missing values filled or None if ``inplace=True``. - -See Also --------- -interpolate : Fill NaN values using interpolation. -reindex : Conform object to new index. -asfreq : Convert TimeSeries to specified frequency. - -Examples --------- ->>> df = pd.DataFrame([[np.nan, 2, np.nan, 0], -... [3, 4, np.nan, 1], -... [np.nan, np.nan, np.nan, np.nan], -... [np.nan, 3, np.nan, 4]], -... columns=list("ABCD")) ->>> df - A B C D -0 NaN 2.0 NaN 0.0 -1 3.0 4.0 NaN 1.0 -2 NaN NaN NaN NaN -3 NaN 3.0 NaN 4.0 - -Replace all NaN elements with 0s. - ->>> df.fillna(0) - A B C D -0 0.0 2.0 0.0 0.0 -1 3.0 4.0 0.0 1.0 -2 0.0 0.0 0.0 0.0 -3 0.0 3.0 0.0 4.0 - -We can also propagate non-null values forward or backward. - ->>> df.fillna(method="ffill") - A B C D -0 NaN 2.0 NaN 0.0 -1 3.0 4.0 NaN 1.0 -2 3.0 4.0 NaN 1.0 -3 3.0 3.0 NaN 4.0 - -Replace all NaN elements in column 'A', 'B', 'C', and 'D', with 0, 1, -2, and 3 respectively. - ->>> values = {"A": 0, "B": 1, "C": 2, "D": 3} ->>> df.fillna(value=values) - A B C D -0 0.0 2.0 2.0 0.0 -1 3.0 4.0 2.0 1.0 -2 0.0 1.0 2.0 3.0 -3 0.0 3.0 2.0 4.0 - -Only replace the first NaN element. - ->>> df.fillna(value=values, limit=1) - A B C D -0 0.0 2.0 2.0 0.0 -1 3.0 4.0 NaN 1.0 -2 NaN 1.0 NaN 3.0 -3 NaN 3.0 NaN 4.0 - -When filling using a DataFrame, replacement happens along -the same column names and same indices - ->>> df2 = pd.DataFrame(np.zeros((4, 4)), columns=list("ABCE")) ->>> df.fillna(df2) - A B C D -0 0.0 2.0 0.0 0.0 -1 3.0 4.0 0.0 1.0 -2 0.0 0.0 0.0 NaN -3 0.0 3.0 0.0 4.0 - -Note that column D is not affected since it is not present in df2. - """ - pass - @overload - def fillna( - self, - value: Optional[Union[Scalar, Dict, Series[S1], DataFrame]] = ..., - method: Optional[Union[_str, Literal["backfill", "bfill", "pad", "ffill"]]] = ..., - axis: SeriesAxisType = ..., - *, - limit: Optional[int] = ..., - downcast: Optional[Dict] = ..., - ) -> Series[S1]: ... - @overload - def fillna( - self, - value: Optional[Union[Scalar, Dict, Series[S1], DataFrame]] = ..., - method: Optional[Union[_str, Literal["backfill", "bfill", "pad", "ffill"]]] = ..., - axis: SeriesAxisType = ..., - inplace: _bool = ..., - limit: Optional[int] = ..., - downcast: Optional[Dict] = ..., - ) -> Union[Series[S1], None]: ... - def replace( - self, - to_replace: Optional[Union[_str, List, Dict, Series[S1], int, float]] = ..., - value: Optional[Union[Scalar, Dict, List, _str]] = ..., - inplace: _bool = ..., - limit: Optional[int] = ..., - regex=..., - method: Optional[Union[_str, Literal["pad", "ffill", "bfill"]]] = ..., - ) -> Series[S1]: - """ -Replace values given in `to_replace` with `value`. - -Values of the Series are replaced with other values dynamically. - -This differs from updating with ``.loc`` or ``.iloc``, which require -you to specify a location to update with some value. - -Parameters ----------- -to_replace : str, regex, list, dict, Series, int, float, or None - How to find the values that will be replaced. - - * numeric, str or regex: - - - numeric: numeric values equal to `to_replace` will be - replaced with `value` - - str: string exactly matching `to_replace` will be replaced - with `value` - - regex: regexs matching `to_replace` will be replaced with - `value` - - * list of str, regex, or numeric: - - - First, if `to_replace` and `value` are both lists, they - **must** be the same length. - - Second, if ``regex=True`` then all of the strings in **both** - lists will be interpreted as regexs otherwise they will match - directly. This doesn't matter much for `value` since there - are only a few possible substitution regexes you can use. - - str, regex and numeric rules apply as above. - - * dict: - - - Dicts can be used to specify different replacement values - for different existing values. For example, - ``{'a': 'b', 'y': 'z'}`` replaces the value 'a' with 'b' and - 'y' with 'z'. To use a dict in this way the `value` - parameter should be `None`. - - For a DataFrame a dict can specify that different values - should be replaced in different columns. For example, - ``{'a': 1, 'b': 'z'}`` looks for the value 1 in column 'a' - and the value 'z' in column 'b' and replaces these values - with whatever is specified in `value`. The `value` parameter - should not be ``None`` in this case. You can treat this as a - special case of passing two lists except that you are - specifying the column to search in. - - For a DataFrame nested dictionaries, e.g., - ``{'a': {'b': np.nan}}``, are read as follows: look in column - 'a' for the value 'b' and replace it with NaN. The `value` - parameter should be ``None`` to use a nested dict in this - way. You can nest regular expressions as well. Note that - column names (the top-level dictionary keys in a nested - dictionary) **cannot** be regular expressions. - - * None: - - - This means that the `regex` argument must be a string, - compiled regular expression, or list, dict, ndarray or - Series of such elements. If `value` is also ``None`` then - this **must** be a nested dictionary or Series. - - See the examples section for examples of each of these. -value : scalar, dict, list, str, regex, default None - Value to replace any values matching `to_replace` with. - For a DataFrame a dict of values can be used to specify which - value to use for each column (columns not in the dict will not be - filled). Regular expressions, strings and lists or dicts of such - objects are also allowed. -inplace : bool, default False - If True, performs operation inplace and returns None. -limit : int, default None - Maximum size gap to forward or backward fill. -regex : bool or same types as `to_replace`, default False - Whether to interpret `to_replace` and/or `value` as regular - expressions. If this is ``True`` then `to_replace` *must* be a - string. Alternatively, this could be a regular expression or a - list, dict, or array of regular expressions in which case - `to_replace` must be ``None``. -method : {'pad', 'ffill', 'bfill', `None`} - The method to use when for replacement, when `to_replace` is a - scalar, list or tuple and `value` is ``None``. - - .. versionchanged:: 0.23.0 - Added to DataFrame. - -Returns -------- -Series - Object after replacement. - -Raises ------- -AssertionError - * If `regex` is not a ``bool`` and `to_replace` is not - ``None``. - -TypeError - * If `to_replace` is not a scalar, array-like, ``dict``, or ``None`` - * If `to_replace` is a ``dict`` and `value` is not a ``list``, - ``dict``, ``ndarray``, or ``Series`` - * If `to_replace` is ``None`` and `regex` is not compilable - into a regular expression or is a list, dict, ndarray, or - Series. - * When replacing multiple ``bool`` or ``datetime64`` objects and - the arguments to `to_replace` does not match the type of the - value being replaced - -ValueError - * If a ``list`` or an ``ndarray`` is passed to `to_replace` and - `value` but they are not the same length. - -See Also --------- -Series.fillna : Fill NA values. -Series.where : Replace values based on boolean condition. -Series.str.replace : Simple string replacement. - -Notes ------ -* Regex substitution is performed under the hood with ``re.sub``. The - rules for substitution for ``re.sub`` are the same. -* Regular expressions will only substitute on strings, meaning you - cannot provide, for example, a regular expression matching floating - point numbers and expect the columns in your frame that have a - numeric dtype to be matched. However, if those floating point - numbers *are* strings, then you can do this. -* This method has *a lot* of options. You are encouraged to experiment - and play with this method to gain intuition about how it works. -* When dict is used as the `to_replace` value, it is like - key(s) in the dict are the to_replace part and - value(s) in the dict are the value parameter. - -Examples --------- - -**Scalar `to_replace` and `value`** - ->>> s = pd.Series([1, 2, 3, 4, 5]) ->>> s.replace(1, 5) -0 5 -1 2 -2 3 -3 4 -4 5 -dtype: int64 - ->>> df = pd.DataFrame({'A': [0, 1, 2, 3, 4], -... 'B': [5, 6, 7, 8, 9], -... 'C': ['a', 'b', 'c', 'd', 'e']}) ->>> df.replace(0, 5) - A B C -0 5 5 a -1 1 6 b -2 2 7 c -3 3 8 d -4 4 9 e - -**List-like `to_replace`** - ->>> df.replace([0, 1, 2, 3], 4) - A B C -0 4 5 a -1 4 6 b -2 4 7 c -3 4 8 d -4 4 9 e - ->>> df.replace([0, 1, 2, 3], [4, 3, 2, 1]) - A B C -0 4 5 a -1 3 6 b -2 2 7 c -3 1 8 d -4 4 9 e - ->>> s.replace([1, 2], method='bfill') -0 3 -1 3 -2 3 -3 4 -4 5 -dtype: int64 - -**dict-like `to_replace`** - ->>> df.replace({0: 10, 1: 100}) - A B C -0 10 5 a -1 100 6 b -2 2 7 c -3 3 8 d -4 4 9 e - ->>> df.replace({'A': 0, 'B': 5}, 100) - A B C -0 100 100 a -1 1 6 b -2 2 7 c -3 3 8 d -4 4 9 e - ->>> df.replace({'A': {0: 100, 4: 400}}) - A B C -0 100 5 a -1 1 6 b -2 2 7 c -3 3 8 d -4 400 9 e - -**Regular expression `to_replace`** - ->>> df = pd.DataFrame({'A': ['bat', 'foo', 'bait'], -... 'B': ['abc', 'bar', 'xyz']}) ->>> df.replace(to_replace=r'^ba.$', value='new', regex=True) - A B -0 new abc -1 foo new -2 bait xyz - ->>> df.replace({'A': r'^ba.$'}, {'A': 'new'}, regex=True) - A B -0 new abc -1 foo bar -2 bait xyz - ->>> df.replace(regex=r'^ba.$', value='new') - A B -0 new abc -1 foo new -2 bait xyz - ->>> df.replace(regex={r'^ba.$': 'new', 'foo': 'xyz'}) - A B -0 new abc -1 xyz new -2 bait xyz - ->>> df.replace(regex=[r'^ba.$', 'foo'], value='new') - A B -0 new abc -1 new new -2 bait xyz - -Compare the behavior of ``s.replace({'a': None})`` and -``s.replace('a', None)`` to understand the peculiarities -of the `to_replace` parameter: - ->>> s = pd.Series([10, 'a', 'a', 'b', 'a']) - -When one uses a dict as the `to_replace` value, it is like the -value(s) in the dict are equal to the `value` parameter. -``s.replace({'a': None})`` is equivalent to -``s.replace(to_replace={'a': None}, value=None, method=None)``: - ->>> s.replace({'a': None}) -0 10 -1 None -2 None -3 b -4 None -dtype: object - -When ``value`` is not explicitly passed and `to_replace` is a scalar, list -or tuple, `replace` uses the method parameter (default 'pad') to do the -replacement. So this is why the 'a' values are being replaced by 10 -in rows 1 and 2 and 'b' in row 4 in this case. - ->>> s.replace('a') -0 10 -1 10 -2 10 -3 b -4 b -dtype: object - -On the other hand, if ``None`` is explicitly passed for ``value``, it will -be respected: - ->>> s.replace('a', None) -0 10 -1 None -2 None -3 b -4 None -dtype: object - - .. versionchanged:: 1.4.0 - Previously the explicit ``None`` was silently ignored. - """ - pass - def shift( - self, - periods: int = ..., - freq=..., - axis: SeriesAxisType = ..., - fill_value: Optional[object] = ..., - ) -> Series[S1]: - """ -Shift index by desired number of periods with an optional time `freq`. - -When `freq` is not passed, shift the index without realigning the data. -If `freq` is passed (in this case, the index must be date or datetime, -or it will raise a `NotImplementedError`), the index will be -increased using the periods and the `freq`. `freq` can be inferred -when specified as "infer" as long as either freq or inferred_freq -attribute is set in the index. - -Parameters ----------- -periods : int - Number of periods to shift. Can be positive or negative. -freq : DateOffset, tseries.offsets, timedelta, or str, optional - Offset to use from the tseries module or time rule (e.g. 'EOM'). - If `freq` is specified then the index values are shifted but the - data is not realigned. That is, use `freq` if you would like to - extend the index when shifting and preserve the original data. - If `freq` is specified as "infer" then it will be inferred from - the freq or inferred_freq attributes of the index. If neither of - those attributes exist, a ValueError is thrown. -axis : {0 or 'index', 1 or 'columns', None}, default None - Shift direction. -fill_value : object, optional - The scalar value to use for newly introduced missing values. - the default depends on the dtype of `self`. - For numeric data, ``np.nan`` is used. - For datetime, timedelta, or period data, etc. :attr:`NaT` is used. - For extension dtypes, ``self.dtype.na_value`` is used. - - .. versionchanged:: 1.1.0 - -Returns -------- -Series - Copy of input object, shifted. - -See Also --------- -Index.shift : Shift values of Index. -DatetimeIndex.shift : Shift values of DatetimeIndex. -PeriodIndex.shift : Shift values of PeriodIndex. -tshift : Shift the time index, using the index's frequency if - available. - -Examples --------- ->>> df = pd.DataFrame({"Col1": [10, 20, 15, 30, 45], -... "Col2": [13, 23, 18, 33, 48], -... "Col3": [17, 27, 22, 37, 52]}, -... index=pd.date_range("2020-01-01", "2020-01-05")) ->>> df - Col1 Col2 Col3 -2020-01-01 10 13 17 -2020-01-02 20 23 27 -2020-01-03 15 18 22 -2020-01-04 30 33 37 -2020-01-05 45 48 52 - ->>> df.shift(periods=3) - Col1 Col2 Col3 -2020-01-01 NaN NaN NaN -2020-01-02 NaN NaN NaN -2020-01-03 NaN NaN NaN -2020-01-04 10.0 13.0 17.0 -2020-01-05 20.0 23.0 27.0 - ->>> df.shift(periods=1, axis="columns") - Col1 Col2 Col3 -2020-01-01 NaN 10 13 -2020-01-02 NaN 20 23 -2020-01-03 NaN 15 18 -2020-01-04 NaN 30 33 -2020-01-05 NaN 45 48 - ->>> df.shift(periods=3, fill_value=0) - Col1 Col2 Col3 -2020-01-01 0 0 0 -2020-01-02 0 0 0 -2020-01-03 0 0 0 -2020-01-04 10 13 17 -2020-01-05 20 23 27 - ->>> df.shift(periods=3, freq="D") - Col1 Col2 Col3 -2020-01-04 10 13 17 -2020-01-05 20 23 27 -2020-01-06 15 18 22 -2020-01-07 30 33 37 -2020-01-08 45 48 52 - ->>> df.shift(periods=3, freq="infer") - Col1 Col2 Col3 -2020-01-04 10 13 17 -2020-01-05 20 23 27 -2020-01-06 15 18 22 -2020-01-07 30 33 37 -2020-01-08 45 48 52 - """ - pass - def memory_usage(self, index: _bool = ..., deep: _bool = ...) -> int: ... - def isin(self, values: Union[Iterable, Series[S1], Dict]) -> Series[_bool]: ... - def between( - self, - left: Union[Scalar, Sequence], - right: Union[Scalar, Sequence], - inclusive: Literal["both", "neither", "left", "right"] = "both", - ) -> Series[_bool]: ... - def isna(self) -> Series[_bool]: - """ -Detect missing values. - -Return a boolean same-sized object indicating if the values are NA. -NA values, such as None or :attr:`numpy.NaN`, gets mapped to True -values. -Everything else gets mapped to False values. Characters such as empty -strings ``''`` or :attr:`numpy.inf` are not considered NA values -(unless you set ``pandas.options.mode.use_inf_as_na = True``). - -Returns -------- -Series - Mask of bool values for each element in Series that - indicates whether an element is an NA value. - -See Also --------- -Series.isnull : Alias of isna. -Series.notna : Boolean inverse of isna. -Series.dropna : Omit axes labels with missing values. -isna : Top-level isna. - -Examples --------- -Show which entries in a DataFrame are NA. - ->>> df = pd.DataFrame(dict(age=[5, 6, np.NaN], -... born=[pd.NaT, pd.Timestamp('1939-05-27'), -... pd.Timestamp('1940-04-25')], -... name=['Alfred', 'Batman', ''], -... toy=[None, 'Batmobile', 'Joker'])) ->>> df - age born name toy -0 5.0 NaT Alfred None -1 6.0 1939-05-27 Batman Batmobile -2 NaN 1940-04-25 Joker - ->>> df.isna() - age born name toy -0 False True False True -1 False False False False -2 True False False False - -Show which entries in a Series are NA. - ->>> ser = pd.Series([5, 6, np.NaN]) ->>> ser -0 5.0 -1 6.0 -2 NaN -dtype: float64 - ->>> ser.isna() -0 False -1 False -2 True -dtype: bool - """ - pass - def isnull(self) -> Series[_bool]: - """ -Series.isnull is an alias for Series.isna. - -Detect missing values. - -Return a boolean same-sized object indicating if the values are NA. -NA values, such as None or :attr:`numpy.NaN`, gets mapped to True -values. -Everything else gets mapped to False values. Characters such as empty -strings ``''`` or :attr:`numpy.inf` are not considered NA values -(unless you set ``pandas.options.mode.use_inf_as_na = True``). - -Returns -------- -Series - Mask of bool values for each element in Series that - indicates whether an element is an NA value. - -See Also --------- -Series.isnull : Alias of isna. -Series.notna : Boolean inverse of isna. -Series.dropna : Omit axes labels with missing values. -isna : Top-level isna. - -Examples --------- -Show which entries in a DataFrame are NA. - ->>> df = pd.DataFrame(dict(age=[5, 6, np.NaN], -... born=[pd.NaT, pd.Timestamp('1939-05-27'), -... pd.Timestamp('1940-04-25')], -... name=['Alfred', 'Batman', ''], -... toy=[None, 'Batmobile', 'Joker'])) ->>> df - age born name toy -0 5.0 NaT Alfred None -1 6.0 1939-05-27 Batman Batmobile -2 NaN 1940-04-25 Joker - ->>> df.isna() - age born name toy -0 False True False True -1 False False False False -2 True False False False - -Show which entries in a Series are NA. - ->>> ser = pd.Series([5, 6, np.NaN]) ->>> ser -0 5.0 -1 6.0 -2 NaN -dtype: float64 - ->>> ser.isna() -0 False -1 False -2 True -dtype: bool - """ - pass - def notna(self) -> Series[_bool]: - """ -Detect existing (non-missing) values. - -Return a boolean same-sized object indicating if the values are not NA. -Non-missing values get mapped to True. Characters such as empty -strings ``''`` or :attr:`numpy.inf` are not considered NA values -(unless you set ``pandas.options.mode.use_inf_as_na = True``). -NA values, such as None or :attr:`numpy.NaN`, get mapped to False -values. - -Returns -------- -Series - Mask of bool values for each element in Series that - indicates whether an element is not an NA value. - -See Also --------- -Series.notnull : Alias of notna. -Series.isna : Boolean inverse of notna. -Series.dropna : Omit axes labels with missing values. -notna : Top-level notna. - -Examples --------- -Show which entries in a DataFrame are not NA. - ->>> df = pd.DataFrame(dict(age=[5, 6, np.NaN], -... born=[pd.NaT, pd.Timestamp('1939-05-27'), -... pd.Timestamp('1940-04-25')], -... name=['Alfred', 'Batman', ''], -... toy=[None, 'Batmobile', 'Joker'])) ->>> df - age born name toy -0 5.0 NaT Alfred None -1 6.0 1939-05-27 Batman Batmobile -2 NaN 1940-04-25 Joker - ->>> df.notna() - age born name toy -0 True False True False -1 True True True True -2 False True True True - -Show which entries in a Series are not NA. - ->>> ser = pd.Series([5, 6, np.NaN]) ->>> ser -0 5.0 -1 6.0 -2 NaN -dtype: float64 - ->>> ser.notna() -0 True -1 True -2 False -dtype: bool - """ - pass - def notnull(self) -> Series[_bool]: - """ -Series.notnull is an alias for Series.notna. - -Detect existing (non-missing) values. - -Return a boolean same-sized object indicating if the values are not NA. -Non-missing values get mapped to True. Characters such as empty -strings ``''`` or :attr:`numpy.inf` are not considered NA values -(unless you set ``pandas.options.mode.use_inf_as_na = True``). -NA values, such as None or :attr:`numpy.NaN`, get mapped to False -values. - -Returns -------- -Series - Mask of bool values for each element in Series that - indicates whether an element is not an NA value. - -See Also --------- -Series.notnull : Alias of notna. -Series.isna : Boolean inverse of notna. -Series.dropna : Omit axes labels with missing values. -notna : Top-level notna. - -Examples --------- -Show which entries in a DataFrame are not NA. - ->>> df = pd.DataFrame(dict(age=[5, 6, np.NaN], -... born=[pd.NaT, pd.Timestamp('1939-05-27'), -... pd.Timestamp('1940-04-25')], -... name=['Alfred', 'Batman', ''], -... toy=[None, 'Batmobile', 'Joker'])) ->>> df - age born name toy -0 5.0 NaT Alfred None -1 6.0 1939-05-27 Batman Batmobile -2 NaN 1940-04-25 Joker - ->>> df.notna() - age born name toy -0 True False True False -1 True True True True -2 False True True True - -Show which entries in a Series are not NA. - ->>> ser = pd.Series([5, 6, np.NaN]) ->>> ser -0 5.0 -1 6.0 -2 NaN -dtype: float64 - ->>> ser.notna() -0 True -1 True -2 False -dtype: bool - """ - pass - @overload - def dropna(self, axis: SeriesAxisType = ..., how: Optional[_str] = ..., *, inplace: Literal[True]) -> None: ... - @overload - def dropna( - self, - axis: SeriesAxisType = ..., - inplace: _bool = ..., - how: Optional[_str] = ..., - ) -> Series[S1]: ... - def to_timestamp( - self, - freq=..., - how: Union[_str, Literal["start", "end", "s", "e"]] = ..., - copy: _bool = ..., - ) -> Series[S1]: ... - def to_period(self, freq: Optional[_str] = ..., copy: _bool = ...) -> DataFrame: ... - @property - def str(self) -> StringMethods[Series]: ... - @property - def dt(self) -> Series: ... - cat = ... - def plot(self, **kwargs) -> Union[PlotAxes, np.ndarray]: ... - sparse = ... - def hist( - self, - by: Optional[object] = ..., - ax: Optional[PlotAxes] = ..., - grid: _bool = ..., - xlabelsize: Optional[int] = ..., - xrot: Optional[float] = ..., - ylabelsize: Optional[int] = ..., - yrot: Optional[float] = ..., - figsize: Optional[Tuple[float, float]] = ..., - bins: Union[int, Sequence] = ..., - backend: Optional[_str] = ..., - **kwargs, - ) -> SubplotBase: ... - def swapaxes(self, axis1: SeriesAxisType, axis2: SeriesAxisType, copy: _bool = ...) -> Series[S1]: ... - def droplevel(self, level: Union[Level, List[Level]], axis: SeriesAxisType = ...) -> DataFrame: ... - def pop(self, item: _str) -> Series[S1]: ... - def squeeze(self, axis: Optional[SeriesAxisType] = ...) -> Scalar: ... - def __abs__(self) -> Series[S1]: ... - def add_prefix(self, prefix: _str) -> Series[S1]: ... - def add_suffix(self, suffix: _str) -> Series[S1]: ... - def reindex(self, index: Optional[_ListLike] = ..., **kwargs) -> Series[S1]: - """ -Conform Series to new index with optional filling logic. - -Places NA/NaN in locations having no value in the previous index. A new object -is produced unless the new index is equivalent to the current one and -``copy=False``. - -Parameters ----------- - -index : array-like, optional - New labels / index to conform to, should be specified using - keywords. Preferably an Index object to avoid duplicating data. - -method : {None, 'backfill'/'bfill', 'pad'/'ffill', 'nearest'} - Method to use for filling holes in reindexed DataFrame. - Please note: this is only applicable to DataFrames/Series with a - monotonically increasing/decreasing index. - - * None (default): don't fill gaps - * pad / ffill: Propagate last valid observation forward to next - valid. - * backfill / bfill: Use next valid observation to fill gap. - * nearest: Use nearest valid observations to fill gap. - -copy : bool, default True - Return a new object, even if the passed indexes are the same. -level : int or name - Broadcast across a level, matching Index values on the - passed MultiIndex level. -fill_value : scalar, default np.NaN - Value to use for missing values. Defaults to NaN, but can be any - "compatible" value. -limit : int, default None - Maximum number of consecutive elements to forward or backward fill. -tolerance : optional - Maximum distance between original and new labels for inexact - matches. The values of the index at the matching locations most - satisfy the equation ``abs(index[indexer] - target) <= tolerance``. - - Tolerance may be a scalar value, which applies the same tolerance - to all values, or list-like, which applies variable tolerance per - element. List-like includes list, tuple, array, Series, and must be - the same size as the index and its dtype must exactly match the - index's type. - -Returns -------- -Series with changed index. - -See Also --------- -DataFrame.set_index : Set row labels. -DataFrame.reset_index : Remove row labels or move them to new columns. -DataFrame.reindex_like : Change to same indices as other DataFrame. - -Examples --------- -``DataFrame.reindex`` supports two calling conventions - -* ``(index=index_labels, columns=column_labels, ...)`` -* ``(labels, axis={'index', 'columns'}, ...)`` - -We *highly* recommend using keyword arguments to clarify your -intent. - -Create a dataframe with some fictional data. - ->>> index = ['Firefox', 'Chrome', 'Safari', 'IE10', 'Konqueror'] ->>> df = pd.DataFrame({'http_status': [200, 200, 404, 404, 301], -... 'response_time': [0.04, 0.02, 0.07, 0.08, 1.0]}, -... index=index) ->>> df - http_status response_time -Firefox 200 0.04 -Chrome 200 0.02 -Safari 404 0.07 -IE10 404 0.08 -Konqueror 301 1.00 - -Create a new index and reindex the dataframe. By default -values in the new index that do not have corresponding -records in the dataframe are assigned ``NaN``. - ->>> new_index = ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10', -... 'Chrome'] ->>> df.reindex(new_index) - http_status response_time -Safari 404.0 0.07 -Iceweasel NaN NaN -Comodo Dragon NaN NaN -IE10 404.0 0.08 -Chrome 200.0 0.02 - -We can fill in the missing values by passing a value to -the keyword ``fill_value``. Because the index is not monotonically -increasing or decreasing, we cannot use arguments to the keyword -``method`` to fill the ``NaN`` values. - ->>> df.reindex(new_index, fill_value=0) - http_status response_time -Safari 404 0.07 -Iceweasel 0 0.00 -Comodo Dragon 0 0.00 -IE10 404 0.08 -Chrome 200 0.02 - ->>> df.reindex(new_index, fill_value='missing') - http_status response_time -Safari 404 0.07 -Iceweasel missing missing -Comodo Dragon missing missing -IE10 404 0.08 -Chrome 200 0.02 - -We can also reindex the columns. - ->>> df.reindex(columns=['http_status', 'user_agent']) - http_status user_agent -Firefox 200 NaN -Chrome 200 NaN -Safari 404 NaN -IE10 404 NaN -Konqueror 301 NaN - -Or we can use "axis-style" keyword arguments - ->>> df.reindex(['http_status', 'user_agent'], axis="columns") - http_status user_agent -Firefox 200 NaN -Chrome 200 NaN -Safari 404 NaN -IE10 404 NaN -Konqueror 301 NaN - -To further illustrate the filling functionality in -``reindex``, we will create a dataframe with a -monotonically increasing index (for example, a sequence -of dates). - ->>> date_index = pd.date_range('1/1/2010', periods=6, freq='D') ->>> df2 = pd.DataFrame({"prices": [100, 101, np.nan, 100, 89, 88]}, -... index=date_index) ->>> df2 - prices -2010-01-01 100.0 -2010-01-02 101.0 -2010-01-03 NaN -2010-01-04 100.0 -2010-01-05 89.0 -2010-01-06 88.0 - -Suppose we decide to expand the dataframe to cover a wider -date range. - ->>> date_index2 = pd.date_range('12/29/2009', periods=10, freq='D') ->>> df2.reindex(date_index2) - prices -2009-12-29 NaN -2009-12-30 NaN -2009-12-31 NaN -2010-01-01 100.0 -2010-01-02 101.0 -2010-01-03 NaN -2010-01-04 100.0 -2010-01-05 89.0 -2010-01-06 88.0 -2010-01-07 NaN - -The index entries that did not have a value in the original data frame -(for example, '2009-12-29') are by default filled with ``NaN``. -If desired, we can fill in the missing values using one of several -options. - -For example, to back-propagate the last valid value to fill the ``NaN`` -values, pass ``bfill`` as an argument to the ``method`` keyword. - ->>> df2.reindex(date_index2, method='bfill') - prices -2009-12-29 100.0 -2009-12-30 100.0 -2009-12-31 100.0 -2010-01-01 100.0 -2010-01-02 101.0 -2010-01-03 NaN -2010-01-04 100.0 -2010-01-05 89.0 -2010-01-06 88.0 -2010-01-07 NaN - -Please note that the ``NaN`` value present in the original dataframe -(at index value 2010-01-03) will not be filled by any of the -value propagation schemes. This is because filling while reindexing -does not look at dataframe values, but only compares the original and -desired indexes. If you do want to fill in the ``NaN`` values present -in the original dataframe, use the ``fillna()`` method. - -See the :ref:`user guide ` for more. - """ - pass - def filter( - self, - items: Optional[_ListLike] = ..., - like: Optional[_str] = ..., - regex: Optional[_str] = ..., - axis: Optional[SeriesAxisType] = ..., - ) -> Series[S1]: ... - def head(self, n: int = ...) -> Series[S1]: ... - def tail(self, n: int = ...) -> Series[S1]: ... - def sample( - self, - n: Optional[int] = ..., - frac: Optional[float] = ..., - replace: _bool = ..., - weights: Optional[Union[_str, _ListLike, np.ndarray]] = ..., - random_state: Optional[int] = ..., - axis: Optional[SeriesAxisType] = ..., - ignore_index: _bool = ..., - ) -> Series[S1]: ... - def astype( - self, - dtype: Union[S1, _str, Type[Scalar]], - copy: _bool = ..., - errors: Union[_str, Literal["raise", "ignore"]] = ..., - ) -> Series: ... - def copy(self, deep: _bool = ...) -> Series[S1]: ... - def infer_objects(self) -> Series[S1]: ... - def convert_dtypes( - self, - infer_objects: _bool = ..., - convert_string: _bool = ..., - convert_integer: _bool = ..., - convert_boolean: _bool = ..., - ) -> Series[S1]: ... - @overload - def ffill( - self, - axis: Optional[SeriesAxisType] = ..., - *, - inplace: Literal[True], - limit: Optional[int] = ..., - downcast: Optional[Dict] = ..., - ) -> None: ... - @overload - def ffill( - self, - axis: Optional[SeriesAxisType] = ..., - *, - inplace: Literal[False], - limit: Optional[int] = ..., - downcast: Optional[Dict] = ..., - ) -> Series[S1]: ... - @overload - def bfill( - self, - axis: Optional[SeriesAxisType] = ..., - *, - inplace: Literal[True], - limit: Optional[int] = ..., - downcast: Optional[Dict] = ..., - ) -> None: ... - @overload - def bfill( - self, - axis: Optional[SeriesAxisType] = ..., - *, - inplace: Literal[False], - limit: Optional[int] = ..., - downcast: Optional[Dict] = ..., - ) -> Series[S1]: ... - @overload - def bfill( - self, - value: Union[S1, Dict, Series[S1], DataFrame], - axis: SeriesAxisType = ..., - inplace: _bool = ..., - limit: Optional[int] = ..., - downcast: Optional[Dict] = ..., - ) -> Union[Series[S1], None]: ... - def interpolate( - self, - method: Union[ - _str, - Literal[ - "linear", - "time", - "index", - "values", - "pad", - "nearest", - "slinear", - "quadratic", - "cubic", - "spline", - "barycentric", - "polynomial", - "krogh", - "pecewise_polynomial", - "spline", - "pchip", - "akima", - "from_derivatives", - ], - ] = ..., - axis: Optional[SeriesAxisType] = ..., - limit: Optional[int] = ..., - inplace: _bool = ..., - limit_direction: Optional[Union[_str, Literal["forward", "backward", "both"]]] = ..., - limit_area: Optional[Union[_str, Literal["inside", "outside"]]] = ..., - downcast: Optional[Union[_str, Literal["infer"]]] = ..., - **kwargs, - ) -> Series[S1]: ... - def asof( - self, - where: Union[Scalar, Sequence[Scalar]], - subset: Optional[Union[_str, Sequence[_str]]] = ..., - ) -> Union[Scalar, Series[S1]]: ... - def clip( - self, - lower: Optional[float] = ..., - upper: Optional[float] = ..., - axis: Optional[SeriesAxisType] = ..., - inplace: _bool = ..., - *args, - **kwargs, - ) -> Series[S1]: ... - def asfreq( - self, - freq, - method: Optional[Union[_str, Literal["backfill", "bfill", "pad", "ffill"]]] = ..., - how: Optional[Union[_str, Literal["start", "end"]]] = ..., - normalize: _bool = ..., - fill_value: Optional[Scalar] = ..., - ) -> Series[S1]: ... - def at_time( - self, - time: Union[_str, time], - asof: _bool = ..., - axis: Optional[SeriesAxisType] = ..., - ) -> Series[S1]: ... - def between_time( - self, - start_time: Union[_str, time], - end_time: Union[_str, time], - include_start: _bool = ..., - include_end: _bool = ..., - axis: Optional[SeriesAxisType] = ..., - ) -> Series[S1]: ... - def resample( - self, - rule, - axis: SeriesAxisType = ..., - closed: Optional[_str] = ..., - label: Optional[_str] = ..., - convention: Union[_str, Literal["start", "end", "s", "e"]] = ..., - kind: Optional[Union[_str, Literal["timestamp", "period"]]] = ..., - loffset=..., - base: int = ..., - on: Optional[_str] = ..., - level: Optional[Level] = ..., - origin: Union[Timestamp, Literal["epoch", "start", "start_day", "end", "end_day"]] = ..., - offset: Optional[Union[Timedelta, _str]] = None, - ) -> Resampler: ... - def first(self, offset) -> Series[S1]: ... - def last(self, offset) -> Series[S1]: ... - def rank( - self, - axis: SeriesAxisType = ..., - method: Union[_str, Literal["average", "min", "max", "first", "dense"]] = ..., - numeric_only: Optional[_bool] = ..., - na_option: Union[_str, Literal["keep", "top", "bottom"]] = ..., - ascending: _bool = ..., - pct: _bool = ..., - ) -> Series: ... - def where( - self, - cond: Union[Series[S1], Series[_bool], np.ndarray], - other=..., - inplace: _bool = ..., - axis: Optional[SeriesAxisType] = ..., - level: Optional[Level] = ..., - errors: _str = ..., - try_cast: _bool = ..., - ) -> Series[S1]: ... - def mask( - self, - cond: MaskType, - other: Union[Scalar, Series[S1], DataFrame, Callable] = ..., - inplace: _bool = ..., - axis: Optional[SeriesAxisType] = ..., - level: Optional[Level] = ..., - errors: Union[_str, Literal["raise", "ignore"]] = ..., - try_cast: _bool = ..., - ) -> Series[S1]: ... - def slice_shift(self, periods: int = ..., axis: SeriesAxisType = ...) -> Series[S1]: ... - def tshift(self, periods: int = ..., freq=..., axis: SeriesAxisType = ...) -> Series[S1]: ... - def truncate( - self, - before: Optional[Union[date, _str, int]] = ..., - after: Optional[Union[date, _str, int]] = ..., - axis: Optional[SeriesAxisType] = ..., - copy: _bool = ..., - ) -> Series[S1]: ... - def tz_convert( - self, - tz, - axis: SeriesAxisType = ..., - level: Optional[Level] = ..., - copy: _bool = ..., - ) -> Series[S1]: ... - def tz_localize( - self, - tz, - axis: SeriesAxisType = ..., - level: Optional[Level] = ..., - copy: _bool = ..., - ambiguous=..., - nonexistent: _str = ..., - ) -> Series[S1]: ... - def abs(self) -> Series[S1]: ... - def describe( - self, - percentiles: Optional[List[float]] = ..., - include: Optional[Union[_str, Literal["all"], List[S1]]] = ..., - exclude: Optional[Union[S1, List[S1]]] = ..., - datetime_is_numeric: Optional[_bool] = ..., - ) -> Series[S1]: ... - def pct_change( - self, periods: int = ..., fill_method: _str = ..., limit: Optional[int] = ..., freq=..., **kwargs - ) -> Series[S1]: ... - def first_valid_index(self) -> Scalar: ... - def last_valid_index(self) -> Scalar: ... - def value_counts( - self, - normalize: _bool = ..., - sort: _bool = ..., - ascending: _bool = ..., - bins: Optional[int] = ..., - dropna: _bool = ..., - ) -> Series[S1]: ... - def transpose(self, *args, **kwargs) -> Series[S1]: ... - @property - def T(self) -> Series[S1]: ... - # The rest of these were left over from the old - # stubs we shipped in preview. They may belong in - # the base classes in some cases; I expect stubgen - # just failed to generate these so I couldn't match - # them up. - @overload - def __add__(self: Series[Timedelta], other: Series[Timestamp]) -> Series[Timestamp]: ... - @overload - def __add__(self: Series[Timedelta], other: DatetimeIndex) -> Series[Timestamp]: ... - @overload - def __add__(self: Series[Timedelta], other: Timestamp) -> Series[Timestamp]: ... - @overload - def __add__(self, other: Union[num, _str, Timedelta, _ListLike, Series[S1]]) -> Series: ... - def __and__(self, other: Union[_ListLike, Series[S1]]) -> Series[_bool]: ... - # def __array__(self, dtype: Optional[_bool] = ...) -> _np_ndarray - def __div__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[S1]: ... - def __eq__(self, other: object) -> Series[_bool]: ... # type: ignore - def __floordiv__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[int]: ... - def __ge__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[_bool]: ... - def __gt__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[_bool]: ... - # def __iadd__(self, other: S1) -> Series[S1]: ... - # def __iand__(self, other: S1) -> Series[_bool]: ... - # def __idiv__(self, other: S1) -> Series[S1]: ... - # def __ifloordiv__(self, other: S1) -> Series[S1]: ... - # def __imod__(self, other: S1) -> Series[S1]: ... - # def __imul__(self, other: S1) -> Series[S1]: ... - # def __ior__(self, other: S1) -> Series[_bool]: ... - # def __ipow__(self, other: S1) -> Series[S1]: ... - # def __isub__(self, other: S1) -> Series[S1]: ... - # def __itruediv__(self, other: S1) -> Series[S1]: ... - # def __itruediv__(self, other) -> None: ... - # def __ixor__(self, other: S1) -> Series[_bool]: ... - def __le__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[_bool]: ... - def __lt__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[_bool]: ... - @overload - def __mul__(self, other: Union[num, _ListLike, Series[S1]]) -> Series: ... - @overload - def __mul__(self, other: Union[Timedelta, Series[Timedelta]]) -> Series[Timedelta]: ... - @overload - def __mul__(self: Series[Timedelta], other: Union[num, Series[bool], Series[int], Series[float]]) -> Series[Timedelta]: ... - def __mod__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[S1]: ... - def __ne__(self, other: object) -> Series[_bool]: ... # type: ignore - def __pow__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[S1]: ... - def __or__(self, other: Union[_ListLike, Series[S1]]) -> Series[_bool]: ... - def __radd__(self, other: Union[num, _str, _ListLike, Series[S1]]) -> Series[S1]: ... - def __rand__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[_bool]: ... - def __rdiv__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[S1]: ... - def __rdivmod__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[S1]: ... - def __rfloordiv__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[S1]: ... - def __rmod__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[S1]: ... - @overload - def __rmul__(self, other: Union[num, _ListLike, Series[S1]]) -> Series: ... - @overload - def __rmul__(self, other: Union[Timedelta, Series[Timedelta]]) -> Series[Timedelta]: ... - @overload - def __rmul__(self: Series[Timedelta], other: Union[num, Series[bool], Series[int], Series[float]]) -> Series[Timedelta]: ... - def __rnatmul__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[S1]: ... - def __rpow__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[S1]: ... - def __ror__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[_bool]: ... - @overload - def __rsub__(self: Series[Timestamp], other: Union[Timestamp, Series[Timestamp]]) -> Series[Timedelta]: ... - @overload - def __rsub__(self: Series[Timestamp], other: Union[Timedelta, Series[Timedelta]]) -> Series[Timestamp]: ... - @overload - def __rsub__(self, other: Union[num, Timedelta, _ListLike, Series[S1]]) -> Series: ... - @overload - def __rtruediv__(self: Series[Timedelta], other: Union[Timedelta, Series[Timedelta]]) -> Series[float]: ... - @overload - def __rtruediv__(self, other: Union[num, _ListLike, Series[S1]]) -> Series: ... - def __rxor__(self, other: Union[num, _ListLike, Series[S1]]) -> Series[_bool]: ... - @overload - def __sub__(self: Series[Timestamp], other: Union[Timestamp, Series[Timestamp]]) -> Series[Timedelta]: ... - @overload - def __sub__(self: Series[Timestamp], other: Union[Timedelta, Series[Timedelta]]) -> Series[Timestamp]: ... - @overload - def __sub__(self, other: Union[num, Timedelta, _ListLike, Series[S1]]) -> Series: ... - @overload - def __truediv__(self: Series[Timedelta], other: Union[Timedelta, Series[Timedelta]]) -> Series[float]: ... - @overload - def __truediv__(self, other: Union[num, _ListLike, Series[S1]]) -> Series: ... - def __xor__(self, other: Union[_ListLike, Series[S1]]) -> Series: ... - def __invert__(self) -> Series[bool]: ... - # properties - # @property - # def array(self) -> _npndarray - @property - def at(self) -> _LocIndexerSeries[S1]: ... - # @property - # def cat(self) -> ? - @property - def iat(self) -> _iLocIndexerSeries[S1]: ... - @property - def iloc(self) -> _iLocIndexerSeries[S1]: ... - @property - def loc(self) -> _LocIndexerSeries[S1]: ... - # Methods - def add( - self, - other: Union[Series[S1], Scalar], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: int = ..., - ) -> Series[S1]: ... - def all( - self, - axis: SeriesAxisType = ..., - bool_only: Optional[_bool] = ..., - skipna: _bool = ..., - level: Optional[Level] = ..., - **kwargs, - ) -> _bool: ... - def any( - self, - axis: SeriesAxisType = ..., - bool_only: Optional[_bool] = ..., - skipna: _bool = ..., - level: Optional[Level] = ..., - **kwargs, - ) -> _bool: ... - def cummax(self, axis: Optional[SeriesAxisType] = ..., skipna: _bool = ..., *args, **kwargs) -> Series[S1]: ... - def cummin(self, axis: Optional[SeriesAxisType] = ..., skipna: _bool = ..., *args, **kwargs) -> Series[S1]: ... - def cumprod(self, axis: Optional[SeriesAxisType] = ..., skipna: _bool = ..., *args, **kwargs) -> Series[S1]: ... - def cumsum(self, axis: Optional[SeriesAxisType] = ..., skipna: _bool = ..., *args, **kwargs) -> Series[S1]: ... - def divide( - self, - other: Union[num, _ListLike, Series[S1]], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: SeriesAxisType = ..., - ) -> Series[float]: ... - def divmod( - self, - other: Union[num, _ListLike, Series[S1]], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: SeriesAxisType = ..., - ) -> Series[S1]: ... - def eq( - self, - other: Union[Scalar, Series[S1]], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: SeriesAxisType = ..., - ) -> Series[_bool]: ... - def ewm( - self, - com: Optional[float] = ..., - span: Optional[float] = ..., - halflife: Optional[float] = ..., - alpha: Optional[float] = ..., - min_periods: int = ..., - adjust: _bool = ..., - ignore_na: _bool = ..., - axis: SeriesAxisType = ..., - ) -> ExponentialMovingWindow: ... - def expanding(self, min_periods: int = ..., center: _bool = ..., axis: SeriesAxisType = ...) -> DataFrame: ... - def floordiv( - self, - other: Union[num, _ListLike, Series[S1]], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: Optional[SeriesAxisType] = ..., - ) -> Series[int]: ... - def ge( - self, - other: Union[Scalar, Series[S1]], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: SeriesAxisType = ..., - ) -> Series[_bool]: ... - def gt( - self, - other: Union[Scalar, Series[S1]], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: SeriesAxisType = ..., - ) -> Series[_bool]: ... - def item(self) -> S1: ... - @overload - def kurt( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: _bool = ..., - numeric_only: Optional[_bool] = ..., - *, - level: Level, - **kwargs, - ) -> Series[S1]: ... - @overload - def kurt( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: _bool = ..., - level: None = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> Scalar: ... - @overload - def kurtosis( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: _bool = ..., - numeric_only: Optional[_bool] = ..., - *, - level: Optional[Level], - **kwargs, - ) -> Series[S1]: ... - @overload - def kurtosis( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: _bool = ..., - level: None = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> Scalar: ... - def le( - self, - other: Union[Scalar, Series[S1]], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: SeriesAxisType = ..., - ) -> Series[_bool]: ... - def lt( - self, - other: Union[Scalar, Series[S1]], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: SeriesAxisType = ..., - ) -> Series[_bool]: ... - @overload - def mad(self, axis: Optional[SeriesAxisType] = ..., skipna: _bool = ..., *, level: Level, **kwargs) -> Series[S1]: ... - @overload - def mad(self, axis: Optional[SeriesAxisType] = ..., skipna: _bool = ..., level: None = ..., **kwargs) -> Scalar: ... - @overload - def max( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: _bool = ..., - *, - level: Level, - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> Series[S1]: ... - @overload - def max( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: _bool = ..., - *, - level: None = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> S1: ... - @overload - def mean( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: _bool = ..., - numeric_only: Optional[_bool] = ..., - *, - level: Level, - **kwargs, - ) -> Series[S1]: ... - @overload - def mean( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: _bool = ..., - level: None = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> float: ... - @overload - def median( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: _bool = ..., - numeric_only: Optional[_bool] = ..., - *, - level: Level, - **kwargs, - ) -> Series[S1]: ... - @overload - def median( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: _bool = ..., - level: None = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> float: ... - @overload - def min( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: _bool = ..., - numeric_only: Optional[_bool] = ..., - *, - level: Level, - **kwargs, - ) -> Series[S1]: ... - @overload - def min( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: _bool = ..., - level: None = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> S1: ... - def mod( - self, - other: Union[num, _ListLike, Series[S1]], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: Optional[SeriesAxisType] = ..., - ) -> Series[S1]: ... - def mul( - self, - other: Union[num, _ListLike, Series[S1]], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: Optional[SeriesAxisType] = ..., - ) -> Series[S1]: ... - def multiply( - self, - other: Union[num, _ListLike, Series[S1]], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: Optional[SeriesAxisType] = ..., - ) -> Series[S1]: ... - def ne( - self, - other: Union[Scalar, Series[S1]], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: SeriesAxisType = ..., - ) -> Series[_bool]: ... - def nunique(self, dropna: _bool = ...) -> int: ... - def pow( - self, - other: Union[num, _ListLike, Series[S1]], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: Optional[SeriesAxisType] = ..., - ) -> Series[S1]: ... - @overload - def prod( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: Optional[_bool] = ..., - numeric_only: Optional[_bool] = ..., - min_count: int = ..., - *, - level: Level, - **kwargs, - ) -> Series[S1]: ... - @overload - def prod( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: Optional[_bool] = ..., - level: None = ..., - numeric_only: Optional[_bool] = ..., - min_count: int = ..., - **kwargs, - ) -> Scalar: ... - @overload - def product( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: Optional[_bool] = ..., - numeric_only: Optional[_bool] = ..., - min_count: int = ..., - *, - level: Level, - **kwargs, - ) -> Series[S1]: ... - @overload - def product( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: Optional[_bool] = ..., - level: None = ..., - numeric_only: Optional[_bool] = ..., - min_count: int = ..., - **kwargs, - ) -> Scalar: ... - def radd( - self, - other: Union[Series[S1], Scalar], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: SeriesAxisType = ..., - ) -> Series[S1]: ... - def rdivmod( - self, - other: Union[Series[S1], Scalar], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: SeriesAxisType = ..., - ) -> Series[S1]: ... - def rfloordiv( - self, - other, - level: Optional[Level] = ..., - fill_value: Optional[Union[float, None]] = ..., - axis: SeriesAxisType = ..., - ) -> Series[S1]: ... - def rmod( - self, - other: Union[Series[S1], Scalar], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: SeriesAxisType = ..., - ) -> Series[S1]: ... - def rmul( - self, - other: Union[Series[S1], Scalar], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: SeriesAxisType = ..., - ) -> Series[S1]: ... - @overload - def rolling( - self, - window, - min_periods: Optional[int] = ..., - center: _bool = ..., - *, - win_type: _str, - on: Optional[_str] = ..., - axis: SeriesAxisType = ..., - closed: Optional[_str] = ..., - ) -> Window: ... - @overload - def rolling( - self, - window, - min_periods: Optional[int] = ..., - center: _bool = ..., - *, - on: Optional[_str] = ..., - axis: SeriesAxisType = ..., - closed: Optional[_str] = ..., - ) -> Rolling: ... - def rpow( - self, - other: Union[Series[S1], Scalar], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: SeriesAxisType = ..., - ) -> Series[S1]: ... - def rsub( - self, - other: Union[Series[S1], Scalar], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: SeriesAxisType = ..., - ) -> Series[S1]: ... - def rtruediv( - self, - other, - level: Optional[Level] = ..., - fill_value: Optional[Union[float, None]] = ..., - axis: SeriesAxisType = ..., - ) -> Series[S1]: ... - @overload - def sem( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: Optional[_bool] = ..., - ddof: int = ..., - numeric_only: Optional[_bool] = ..., - *, - level: Level, - **kwargs, - ) -> Series[S1]: ... - @overload - def sem( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: Optional[_bool] = ..., - level: None = ..., - ddof: int = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> Scalar: ... - @overload - def skew( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: Optional[_bool] = ..., - numeric_only: Optional[_bool] = ..., - *, - level: Level, - **kwargs, - ) -> Series[S1]: ... - @overload - def skew( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: Optional[_bool] = ..., - level: None = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> Scalar: ... - @overload - def std( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: Optional[_bool] = ..., - ddof: int = ..., - numeric_only: Optional[_bool] = ..., - *, - level: Level, - **kwargs, - ) -> Series[float]: ... - @overload - def std( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: Optional[_bool] = ..., - level: None = ..., - ddof: int = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> float: ... - def sub( - self, - other: Union[num, _ListLike, Series[S1]], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: Optional[SeriesAxisType] = ..., - ) -> Series[S1]: ... - def subtract( - self, - other: Union[num, _ListLike, Series[S1]], - level: Optional[Level] = ..., - fill_value: Optional[float] = ..., - axis: Optional[SeriesAxisType] = ..., - ) -> Series[S1]: ... - def sum( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: Optional[_bool] = ..., - level: Optional[Level] = ..., - numeric_only: Optional[_bool] = ..., - min_count: int = ..., - **kwargs, - ) -> float: ... - def to_list(self) -> List: ... - def to_numpy(self, dtype: Optional[Type[DtypeNp]] = ..., copy: _bool = ..., na_value=..., **kwargs) -> np.ndarray: ... - def to_records( - self, - index: _bool = ..., - columnDTypes: Optional[Union[_str, Dict]] = ..., - indexDTypes: Optional[Union[_str, Dict]] = ..., - ): ... - def tolist(self) -> List: ... - def truediv( - self, - other, - level: Optional[Level] = ..., - fill_value: Optional[Union[float, None]] = ..., - axis: SeriesAxisType = ..., - ) -> Series[float]: ... - @overload - def var( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: Optional[_bool] = ..., - ddof: int = ..., - numeric_only: Optional[_bool] = ..., - *, - level: Level, - **kwargs, - ) -> Series[S1]: ... - @overload - def var( - self, - axis: Optional[SeriesAxisType] = ..., - skipna: Optional[_bool] = ..., - level: None = ..., - ddof: int = ..., - numeric_only: Optional[_bool] = ..., - **kwargs, - ) -> Scalar: ... - @overload - def rename_axis( - self, - mapper: Union[Scalar, ListLike] = ..., - index: Optional[Union[Scalar, ListLike, Callable, Dict]] = ..., - columns: Optional[Union[Scalar, ListLike, Callable, Dict]] = ..., - axis: Optional[SeriesAxisType] = ..., - copy: _bool = ..., - *, - inplace: Literal[True], - ) -> None: ... - @overload - def rename_axis( - self, - mapper: Union[Scalar, ListLike] = ..., - index: Optional[Union[Scalar, ListLike, Callable, Dict]] = ..., - columns: Optional[Union[Scalar, ListLike, Callable, Dict]] = ..., - axis: Optional[SeriesAxisType] = ..., - copy: _bool = ..., - inplace: Literal[False] = ..., - ) -> Series: ... - @overload - def set_axis(self, labels, axis: Axis = ..., inplace: Literal[False] = ...) -> Series[S1]: ... - @overload - def set_axis(self, labels, axis: Axis, inplace: Literal[True]) -> None: ... - @overload - def set_axis(self, labels, *, inplace: Literal[True]) -> None: ... - @overload - def set_axis(self, labels, axis: Axis = ..., inplace: bool = ...) -> Optional[Series[S1]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/sorting.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/sorting.pyi deleted file mode 100644 index 1c8baf35..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/sorting.pyi +++ /dev/null @@ -1,24 +0,0 @@ -from typing import Any - -def get_group_index(labels: Any, shape: Any, sort: bool, xnull: bool) -> Any: ... -def get_compressed_ids(labels: Any, sizes: Any): ... -def is_int64_overflow_possible(shape: Any) -> bool: ... -def decons_group_index(comp_labels: Any, shape: Any): ... -def decons_obs_group_ids(comp_ids: Any, obs_ids: Any, shape: Any, labels: Any, xnull: bool) -> Any: ... -def indexer_from_factorized(labels: Any, shape: Any, compress: bool = ...) -> Any: ... -def lexsort_indexer(keys: Any, orders: Any = ..., na_position: str = ...) -> Any: ... -def nargsort(items: Any, kind: str = ..., ascending: bool = ..., na_position: str = ...) -> Any: ... - -class _KeyMapper: - levels: Any = ... - labels: Any = ... - comp_ids: Any = ... - k: Any = ... - tables: Any = ... - def __init__(self, comp_ids: Any, ngroups: int, levels: Any, labels: Any) -> None: ... - def get_key(self, comp_id: Any): ... - -def get_flattened_iterator(comp_ids: Any, ngroups: Any, levels: Any, labels: Any): ... -def get_indexer_dict(label_list: Any, keys: Any): ... -def get_group_index_sorter(group_index: Any, ngroups: int) -> Any: ... -def compress_group_index(group_index: Any, sort: bool = ...) -> Any: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/sparse/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/sparse/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/sparse/api.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/sparse/api.pyi deleted file mode 100644 index 8b137891..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/sparse/api.pyi +++ /dev/null @@ -1 +0,0 @@ - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/strings.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/strings.pyi deleted file mode 100644 index 35c66832..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/strings.pyi +++ /dev/null @@ -1,94 +0,0 @@ -from pandas.core.base import NoNewAttributesMixin as NoNewAttributesMixin -from pandas.core.series import Series -from typing import List, Generic, TypeVar - -def cat_core(list_of_columns: List, sep: str) : ... -def cat_safe(list_of_columns: List, sep: str) : ... -def str_count(arr, pat, flags: int = ...): ... -def str_contains(arr, pat, case: bool = ..., flags: int = ..., na = ..., regex: bool = ...): ... -def str_startswith(arr, pat, na = ...): ... -def str_endswith(arr, pat, na = ...): ... -def str_replace(arr, pat, repl, n: int = ..., case = ..., flags: int = ..., regex: bool = ...): ... -def str_repeat(arr, repeats): ... -def str_match(arr, pat, case: bool = ..., flags: int = ..., na = ...): ... -def str_extract(arr, pat, flags: int = ..., expand: bool = ...): ... -def str_extractall(arr, pat, flags: int = ...): ... -def str_get_dummies(arr, sep: str = ...): ... -def str_join(arr, sep): ... -def str_findall(arr, pat, flags: int = ...): ... -def str_find(arr, sub, start: int = ..., end = ..., side: str = ...): ... -def str_index(arr, sub, start: int = ..., end = ..., side: str = ...): ... -def str_pad(arr, width, side: str = ..., fillchar: str = ...): ... -def str_split(arr, pat = ..., n = ...): ... -def str_rsplit(arr, pat = ..., n = ...): ... -def str_slice(arr, start = ..., stop = ..., step = ...): ... -def str_slice_replace(arr, start = ..., stop = ..., repl = ...): ... -def str_strip(arr, to_strip = ..., side: str = ...): ... -def str_wrap(arr, width, **kwargs): ... -def str_translate(arr, table): ... -def str_get(arr, i): ... -def str_decode(arr, encoding, errors: str = ...): ... -def str_encode(arr, encoding, errors: str = ...): ... -def forbid_nonstring_types(forbidden, name = ...): ... -def copy(source): ... - -RT = TypeVar("RT") - -class StringMethods(NoNewAttributesMixin, Generic[RT]): - def __init__(self, data) -> None: ... - def __getitem__(self, key) -> RT: ... - def __iter__(self) : ... - def cat(self, others = ..., sep = ..., na_rep = ..., join: str = ...) -> RT: ... - def split(self, pat = ..., n: int = ..., expand: bool = ...) -> RT: ... - def rsplit(self, pat = ..., n: int = ..., expand: bool = ...) -> RT: ... - def partition(self, sep: str = ..., expand: bool = ...) -> RT: ... - def rpartition(self, sep: str = ..., expand: bool = ...) -> RT: ... - def get(self, i) -> RT: ... - def join(self, sep) -> RT: ... - def contains(self, pat, case: bool = ..., flags: int = ..., na = ..., regex: bool = ...) -> Series[bool]: ... - def match(self, pat, case: bool = ..., flags: int = ..., na = ...) -> RT: ... - def replace(self, pat, repl, n: int = ..., case = ..., flags: int = ..., regex: bool = ...) -> RT: ... - def repeat(self, repeats) -> RT: ... - def pad(self, width, side: str = ..., fillchar: str = ...) -> RT: ... - def center(self, width, fillchar: str = ...) -> RT: ... - def ljust(self, width, fillchar: str = ...) -> RT: ... - def rjust(self, width, fillchar: str = ...) -> RT: ... - def zfill(self, width) -> RT: ... - def slice(self, start = ..., stop = ..., step = ...) -> RT: ... - def slice_replace(self, start = ..., stop = ..., repl = ...) -> RT: ... - def decode(self, encoding, errors: str = ...) -> RT: ... - def encode(self, encoding, errors: str = ...) -> RT: ... - def strip(self, to_strip = ...) -> RT: ... - def lstrip(self, to_strip = ...) -> RT: ... - def rstrip(self, to_strip = ...) -> RT: ... - def wrap(self, width, **kwargs) -> RT: ... - def get_dummies(self, sep: str = ...) -> RT: ... - def translate(self, table) -> RT: ... - count = ... - startswith = ... - endswith = ... - findall = ... - def extract(self, pat, flags: int = ..., expand: bool = ...) -> RT: ... - def extractall(self, pat, flags: int = ...) -> RT: ... - def find(self, sub, start: int = ..., end = ...) -> RT: ... - def rfind(self, sub, start: int = ..., end = ...) -> RT: ... - def normalize(self, form) -> RT: ... - def index(self, sub, start: int = ..., end = ...) -> RT: ... - def rindex(self, sub, start: int = ..., end = ...) -> RT: ... - len = ... - lower = ... - upper = ... - title = ... - capitalize = ... - swapcase = ... - casefold = ... - isalnum = ... - isalpha = ... - isdigit = ... - isspace = ... - islower = ... - isupper = ... - istitle = ... - isnumeric = ... - isdecimal = ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/tools/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/tools/__init__.pyi deleted file mode 100644 index 68f6a6d4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/tools/__init__.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from .datetimes import to_datetime as to_datetime -from .timedeltas import to_timedelta as to_timedelta - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/tools/datetimes.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/tools/datetimes.pyi deleted file mode 100644 index 7e69eff3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/tools/datetimes.pyi +++ /dev/null @@ -1,89 +0,0 @@ -from datetime import datetime as datetime -from numpy import datetime64 as datetime64 -import numpy as np - -from pandas._typing import ( - ArrayLike as ArrayLike, - Index as Index, - AnyArrayLike as AnyArrayLike, - DateTimeErrorChoices as DateTimeErrorChoices, - ExtensionArray as ExtensionArray, - Timestamp as Timestamp, -) -from pandas.core.dtypes.generic import ABCSeries as ABCSeries -from pandas.core.generic import NDFrame as NDFrame -from pandas.core.indexes.datetimes import DatetimeIndex as DatetimeIndex -from pandas.core.frame import DataFrame as DataFrame -from pandas.core.series import Series as Series -from typing import List, Optional, Tuple, TypedDict, Union, overload - -ArrayConvertible = Union[List, Tuple, AnyArrayLike] -Scalar = Union[int, float, str] -DatetimeScalar = Union[Scalar, datetime] - -DatetimeScalarOrArrayConvertible = Union[DatetimeScalar, ArrayConvertible] - -DatetimeDictArg = Union[List[Scalar], Tuple[Scalar, ...], AnyArrayLike] - -class YearMonthDayDict(TypedDict, total=True): - year: DatetimeDictArg - month: DatetimeDictArg - day: DatetimeDictArg - -class FulldatetimeDict(YearMonthDayDict, total=False): - hour: DatetimeDictArg - hours: DatetimeDictArg - minute: DatetimeDictArg - minutes: DatetimeDictArg - second: DatetimeDictArg - seconds: DatetimeDictArg - ms: DatetimeDictArg - us: DatetimeDictArg - ns: DatetimeDictArg - -DictConvertible = Union[FulldatetimeDict, "DataFrame"] - -def should_cache(arg: ArrayConvertible, unique_share: float = ..., check_count: Optional[int] = ...) -> bool: ... -@overload -def to_datetime( - arg: DatetimeScalar, - errors: DateTimeErrorChoices = ..., - dayfirst: bool = ..., - yearfirst: bool = ..., - utc: bool | None = ..., - format: str | None = ..., - exact: bool = ..., - unit: str | None = ..., - infer_datetime_format: bool = ..., - origin=..., - cache: bool = ..., -) -> Timestamp: ... -@overload -def to_datetime( - arg: Series | DictConvertible, - errors: DateTimeErrorChoices = ..., - dayfirst: bool = ..., - yearfirst: bool = ..., - utc: bool | None = ..., - format: str | None = ..., - exact: bool = ..., - unit: str | None = ..., - infer_datetime_format: bool = ..., - origin=..., - cache: bool = ..., -) -> Series[Timestamp]: ... -@overload -def to_datetime( - arg: list | tuple | np.ndarray | Index | ExtensionArray, - errors: DateTimeErrorChoices = ..., - dayfirst: bool = ..., - yearfirst: bool = ..., - utc: bool | None = ..., - format: str | None = ..., - exact: bool = ..., - unit: str | None = ..., - infer_datetime_format: bool = ..., - origin=..., - cache: bool = ..., -) -> DatetimeIndex: ... -def to_time(arg, format=..., infer_time_format: bool = ..., errors: str = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/tools/numeric.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/tools/numeric.pyi deleted file mode 100644 index 426071d7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/tools/numeric.pyi +++ /dev/null @@ -1 +0,0 @@ -def to_numeric(arg, errors: str = ..., downcast = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/tools/timedeltas.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/tools/timedeltas.pyi deleted file mode 100644 index 4054ada6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/tools/timedeltas.pyi +++ /dev/null @@ -1,29 +0,0 @@ -# def to_timedelta(arg, unit: str = ..., errors: str = ...): ... -from datetime import timedelta -from typing import Literal, Optional, Union, overload -from pandas._libs.tslibs import Timedelta -from pandas._libs.tslibs.timedeltas import UnitChoices -from pandas._typing import DateTimeErrorChoices, ArrayLike, Index as Index -from pandas.core.frame import Series as Series -from pandas.core.indexes.timedeltas import TimedeltaIndex - -# Copied from pandas/_libs/tslibs/timedeltas.pyx - -@overload -def to_timedelta( - arg: Union[str, int, float, timedelta], - unit: Optional[UnitChoices] = ..., - errors: DateTimeErrorChoices = ..., -) -> Timedelta: ... -@overload -def to_timedelta( - arg: Series, - unit: Optional[UnitChoices] = ..., - errors: DateTimeErrorChoices = ..., -) -> Series[Timedelta]: ... -@overload -def to_timedelta( - arg: Union[list, tuple, range, ArrayLike, Index], - unit: Optional[UnitChoices] = ..., - errors: DateTimeErrorChoices = ..., -) -> TimedeltaIndex: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/util/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/util/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/util/hashing.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/util/hashing.pyi deleted file mode 100644 index 1906586d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/util/hashing.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from typing import Optional - -def hash_pandas_object(obj, index: bool=..., encoding: str=..., hash_key: Optional[str]=..., categorize: bool=...) : ... -def hash_tuples(vals, encoding=..., hash_key: str=...) : ... -def hash_tuple(val, encoding: str=..., hash_key: str=...) : ... -def hash_array(vals, encoding: str=..., hash_key: str=..., categorize: bool=...) : ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/__init__.pyi deleted file mode 100644 index 7b4e23e5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/__init__.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from .ewm import ExponentialMovingWindow as ExponentialMovingWindow -from .expanding import Expanding as Expanding, ExpandingGroupby as ExpandingGroupby -from .rolling import Rolling as Rolling, RollingGroupby as RollingGroupby, Window as Window diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/common.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/common.pyi deleted file mode 100644 index 4df6cadd..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/common.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from pandas.core.groupby.base import GroupByMixin as GroupByMixin -from typing import Callable, Optional - -class WindowGroupByMixin(GroupByMixin): - def __init__(self, obj, *args, **kwargs) -> None: ... - count = ... - corr = ... - cov = ... - -def calculate_center_offset(window): ... -def calculate_min_periods(window: int, min_periods: Optional[int], num_values: int, required_min_periods: int, floor: int) -> int: ... -def zsqrt(x): ... -def prep_binary(arg1, arg2): ... -def get_weighted_roll_func(cfunc: Callable) -> Callable: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/ewm.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/ewm.pyi deleted file mode 100644 index 5f0c4497..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/ewm.pyi +++ /dev/null @@ -1,33 +0,0 @@ -from typing import Union, Optional, Callable -from pandas.core.window.rolling import _Rolling - -from pandas._typing import Scalar, Series, DataFrame - -class ExponentialMovingWindow(_Rolling): - obj = ... - com = ... - min_periods: int = ... - adjust = ... - ignore_na = ... - axis = ... - on = ... - def __init__( - self, - obj, - com=..., - span=..., - halflife=..., - alpha=..., - min_periods: int = ..., - adjust: bool = ..., - ignore_na: bool = ..., - axis: int = ..., - ) -> None: ... - def aggregate(self, func: Optional[Callable] = ..., *args, **kwargs) -> Union[Scalar, Series, DataFrame]: ... - agg = aggregate - def mean(self, *args, **kwargs): ... - def std(self, bias: bool = ..., *args, **kwargs): ... - vol = ... - def var(self, bias: bool = ..., *args, **kwargs): ... - def cov(self, other=..., pairwise=..., bias: bool = ..., **kwargs): ... - def corr(self, other=..., pairwise=..., **kwargs): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/expanding.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/expanding.pyi deleted file mode 100644 index 41af06c0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/expanding.pyi +++ /dev/null @@ -1,19 +0,0 @@ -from typing import Callable, Any, Dict, Tuple, Optional -from pandas._typing import FrameOrSeriesUnion as FrameOrSeries -from pandas.core.window.common import WindowGroupByMixin as WindowGroupByMixin -from pandas.core.window.rolling import _Rolling_and_Expanding - -class Expanding(_Rolling_and_Expanding): - def __init__(self, obj, min_periods: int = ..., center: bool = ..., axis: int = ..., **kwargs) -> None: ... - def count(self, **kwargs) -> FrameOrSeries: ... - def apply( - self, - func: Callable[..., Any], - raw: bool = ..., - engine: Optional[str] = ..., - engine_kwargs: Optional[Dict[str, bool]] = ..., - args: Optional[Tuple[Any, ...]] = ..., - kwargs: Optional[Dict[str, Any]] = ..., - ): ... - -class ExpandingGroupby(WindowGroupByMixin, Expanding): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/indexers.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/indexers.pyi deleted file mode 100644 index 86103a06..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/indexers.pyi +++ /dev/null @@ -1,69 +0,0 @@ -import numpy as np -from typing import Dict, Optional, Tuple, Type, Union - -get_window_bounds_doc: str - -class BaseIndexer: - index_array = ... - window_size = ... - def __init__(self, index_array: Optional[np.ndarray]=..., window_size: int=..., **kwargs) -> None: ... - def get_window_bounds(self, num_values: int=..., min_periods: Optional[int]=..., - center: Optional[bool]=..., closed: Optional[str]=...) -> Tuple[np.ndarray, np.ndarray]: ... - -class FixedWindowIndexer(BaseIndexer): - def get_window_bounds(self, num_values: int=..., min_periods: Optional[int]=..., - center: Optional[bool]=..., closed: Optional[str]=...) -> Tuple[np.ndarray, np.ndarray]: ... - -class VariableWindowIndexer(BaseIndexer): - def get_window_bounds(self, num_values: int=..., min_periods: Optional[int]=..., - center: Optional[bool]=..., closed: Optional[str]=...) -> Tuple[np.ndarray, np.ndarray]: ... - -class VariableOffsetWindowIndexer(BaseIndexer): - def __init__( - self, - index_array: Optional[np.ndarray] = ..., - window_size: int = ..., - index=..., - offset=..., - **kwargs, - ) -> None: ... - - def get_window_bounds( - self, - num_values: int = ..., - min_periods: Optional[int] = ..., - center: Optional[bool] = ..., - closed: Optional[str] = ..., - ) -> Tuple[np.ndarray, np.ndarray]: ... - -class ExpandingIndexer(BaseIndexer): - def get_window_bounds(self, num_values: int=..., min_periods: Optional[int]=..., - center: Optional[bool]=..., closed: Optional[str]=...) -> Tuple[np.ndarray, np.ndarray]: ... - - -class FixedForwardWindowIndexer(BaseIndexer): - def get_window_bounds( - self, - num_values: int = ..., - min_periods: Optional[int] = ..., - center: Optional[bool] = ..., - closed: Optional[str] = ..., - ) -> Tuple[np.ndarray, np.ndarray]: ... - -class GroupbyRollingIndexer(BaseIndexer): - def __init__( - self, - index_array: Optional[np.ndarray], - window_size: int, - groupby_indicies: Dict, - rolling_indexer: Union[Type[FixedWindowIndexer], Type[VariableWindowIndexer]], - **kwargs, - ) -> None: ... - - def get_window_bounds( - self, - num_values: int = ..., - min_periods: Optional[int] = ..., - center: Optional[bool] = ..., - closed: Optional[str] = ..., - ) -> Tuple[np.ndarray, np.ndarray]: ... \ No newline at end of file diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/numba_.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/numba_.pyi deleted file mode 100644 index c1eea17f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/numba_.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from pandas._typing import Scalar as Scalar -from typing import Any, Callable, Dict, Optional, Tuple - -def make_rolling_apply(func: Callable[..., Scalar], args: Tuple, nogil: bool, parallel: bool, nopython: bool): ... -def generate_numba_apply_func( - args: Tuple, kwargs: Dict[str, Any], func: Callable[..., Scalar], engine_kwargs: Optional[Dict[str, bool]] -): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/rolling.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/rolling.pyi deleted file mode 100644 index 84c16635..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/core/window/rolling.pyi +++ /dev/null @@ -1,88 +0,0 @@ -import numpy as np -from pandas._typing import Axis as Axis, FrameOrSeriesUnion as FrameOrSeries, Scalar as Scalar -from pandas.core.base import PandasObject as PandasObject, SelectionMixin as SelectionMixin, ShallowMixin as ShallowMixin -from pandas.core.indexes.api import Index as Index -from pandas.core.window.common import WindowGroupByMixin as WindowGroupByMixin -from typing import Callable, Dict, Mapping, Optional, Sequence, Set, Tuple, Union - -class _Window(PandasObject, ShallowMixin, SelectionMixin): - exclusions: Set[str] = ... - obj = ... - on = ... - closed = ... - window = ... - min_periods: int = ... - center = ... - win_type: str = ... - win_freq = ... - axis = ... - def __init__( - self, - obj, - window=..., - min_periods: Optional[int] = ..., - center: Optional[bool] = ..., - win_type: Optional[str] = ..., - axis: Axis = ..., - on: Optional[Union[str, Index]] = ..., - closed: Optional[str] = ..., - **kwargs, - ) -> None: ... - @property - def is_datetimelike(self) -> Optional[bool]: ... - @property - def is_freq_type(self) -> bool: ... - def validate(self) -> None: ... - def __getattr__(self, attr: str): ... - def __iter__(self): ... - def aggregate(self, func: Optional[Callable] = ..., *args, **kwargs) -> Union[Scalar, FrameOrSeries]: ... - agg = aggregate - -class Window(_Window): - def validate(self) -> None: ... - def sum(self, *args, **kwargs): ... - def mean(self, *args, **kwargs): ... - def var(self, ddof: int = ..., *args, **kwargs): ... - def std(self, ddof: int = ..., *args, **kwargs): ... - -class _Rolling(_Window): ... - -class _Rolling_and_Expanding(_Rolling): - def count(self) -> FrameOrSeries: ... - def apply( - self, - func, - raw: bool = ..., - engine: str = ..., - engine_kwargs: Optional[Dict] = ..., - args: Optional[Tuple] = ..., - kwargs: Optional[Dict] = ..., - ): ... - def sum(self, *args, **kwargs) -> FrameOrSeries: ... - def max(self, *args, **kwargs) -> FrameOrSeries: ... - def min(self, *args, **kwargs) -> FrameOrSeries: ... - def mean(self, *args, **kwargs) -> FrameOrSeries: ... - def median(self, **kwargs) -> FrameOrSeries: ... - def std(self, ddof: int = ..., *args, **kwargs) -> FrameOrSeries: ... - def var(self, ddof: int = ..., *args, **kwargs) -> FrameOrSeries: ... - def skew(self, **kwargs) -> FrameOrSeries: ... - def kurt(self, **kwargs) -> FrameOrSeries: ... - def quantile(self, quantile: float, interpolation: str = ..., **kwargs) -> FrameOrSeries: ... - def cov( - self, other: Optional[Union[FrameOrSeries, np.ndarray]] = ..., pairwise: Optional[bool] = ..., ddof: int = ..., **kwargs - ) -> FrameOrSeries: ... - def corr( - self, other: Optional[Union[FrameOrSeries, np.ndarray]] = ..., pairwise: Optional[bool] = ..., **kwargs - ) -> FrameOrSeries: ... - -class Rolling(_Rolling_and_Expanding): - def is_datetimelike(self) -> bool: ... - win_freq = ... - window = ... - win_type: str = ... - min_periods: int = ... - def validate(self) -> None: ... - def count(self) -> FrameOrSeries: ... - def apply(self, func, raw: bool = ..., engine: str = ..., engine_kwargs=..., args=..., kwargs=...): ... - -class RollingGroupby(WindowGroupByMixin, Rolling): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/errors/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/errors/__init__.pyi deleted file mode 100644 index 276675bf..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/errors/__init__.pyi +++ /dev/null @@ -1,16 +0,0 @@ -from pandas._libs.tslibs import OutOfBoundsDatetime as OutOfBoundsDatetime - -class PerformanceWarning(Warning): ... -class UnsupportedFunctionCall(ValueError): ... -class UnsortedIndexError(KeyError): ... -class ParserError(ValueError): ... -class DtypeWarning(Warning): ... -class EmptyDataError(ValueError): ... -class ParserWarning(Warning): ... -class MergeError(ValueError): ... -class AccessorRegistrationWarning(Warning): ... - -class AbstractMethodError(NotImplementedError): - methodtype = ... - class_instance = ... - def __init__(self, class_instance, methodtype: str = ...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/api.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/api.pyi deleted file mode 100644 index 78a69a38..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/api.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from pandas.io.clipboards import read_clipboard as read_clipboard -from pandas.io.excel import ExcelFile as ExcelFile, ExcelWriter as ExcelWriter, read_excel as read_excel -from pandas.io.feather_format import read_feather as read_feather -from pandas.io.gbq import read_gbq as read_gbq -from pandas.io.html import read_html as read_html -from pandas.io.json import read_json as read_json -from pandas.io.orc import read_orc as read_orc -from pandas.io.parquet import read_parquet as read_parquet -from pandas.io.parsers import read_csv as read_csv, read_fwf as read_fwf, read_table as read_table -from pandas.io.pickle import read_pickle as read_pickle, to_pickle as to_pickle -from pandas.io.pytables import HDFStore as HDFStore, read_hdf as read_hdf -from pandas.io.sas import read_sas as read_sas -from pandas.io.spss import read_spss as read_spss -from pandas.io.sql import read_sql as read_sql, read_sql_query as read_sql_query, read_sql_table as read_sql_table -from pandas.io.stata import read_stata as read_stata diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/clipboard/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/clipboard/__init__.pyi deleted file mode 100644 index eabb9b70..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/clipboard/__init__.pyi +++ /dev/null @@ -1,19 +0,0 @@ -class PyperclipException(RuntimeError): ... - -class PyperclipWindowsException(PyperclipException): - def __init__(self, message) -> None: ... - -class CheckedCall: - def __init__(self, f) -> None: ... - def __call__(self, *args): ... - def __setattr__(self, key, value) -> None: ... - -def determine_clipboard(): ... -def set_clipboard(clipboard) -> None: ... - -copy = ... -paste = ... -clipboard_get = paste -clipboard_set = copy - - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/clipboards.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/clipboards.pyi deleted file mode 100644 index 5e35449a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/clipboards.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from pandas.core.frame import DataFrame as DataFrame - -def read_clipboard(sep: str = ..., **kwargs) -> DataFrame: ... -def to_clipboard(obj, excel: bool = ..., sep = ..., **kwargs) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/common.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/common.pyi deleted file mode 100644 index 1d4b7240..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/common.pyi +++ /dev/null @@ -1,33 +0,0 @@ -import zipfile -from collections import abc -from io import BytesIO -from pandas._typing import FilePathOrBuffer as FilePathOrBuffer -from typing import Any, AnyStr, Dict, IO, Mapping, Optional, Tuple, Union - -lzma = ... - -def is_url(url) -> bool: ... -def validate_header_arg(header) -> None: ... -def stringify_path(filepath_or_buffer: FilePathOrBuffer[AnyStr]) -> FilePathOrBuffer[AnyStr]: ... -def is_s3_url(url) -> bool: ... -def is_gcs_url(url) -> bool: ... -def urlopen(*args, **kwargs) -> IO: ... -def get_filepath_or_buffer(filepath_or_buffer: FilePathOrBuffer, encoding: Optional[str]=..., compression: Optional[str]=..., mode: Optional[str]=...) : ... -def file_path_to_url(path: str) -> str: ... -def get_compression_method(compression: Optional[Union[str, Mapping[str, str]]]) -> Tuple[Optional[str], Dict[str, str]]: ... -def infer_compression(filepath_or_buffer: FilePathOrBuffer, compression: Optional[str]) -> Optional[str]: ... -def get_handle(path_or_buf, mode: str, encoding=..., compression: Optional[Union[str, Mapping[str, Any]]]=..., memory_map: bool=..., is_text: bool=...) : ... - -class _BytesZipFile(zipfile.ZipFile, BytesIO): - archive_name = ... - def __init__(self, file: FilePathOrBuffer, mode: str, archive_name: Optional[str]=..., **kwargs) -> None: ... - def write(self, data) -> None: ... - @property - def closed(self) -> bool: ... - -class _MMapWrapper(abc.Iterator): - mmap = ... - def __init__(self, f: IO) -> None: ... - def __getattr__(self, name: str) : ... - def __iter__(self) -> _MMapWrapper: ... - def __next__(self) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/date_converters.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/date_converters.pyi deleted file mode 100644 index 746b5a19..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/date_converters.pyi +++ /dev/null @@ -1,4 +0,0 @@ -def parse_date_time(date_col, time_col): ... -def parse_date_fields(year_col, month_col, day_col): ... -def parse_all_fields(year_col, month_col, day_col, hour_col, minute_col, second_col): ... -def generic_parser(parse_func, *cols): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/excel/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/excel/__init__.pyi deleted file mode 100644 index 8933fcb9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/excel/__init__.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from ._base import ExcelFile as ExcelFile, ExcelWriter as ExcelWriter, read_excel as read_excel - - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/excel/_base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/excel/_base.pyi deleted file mode 100644 index eb5421ca..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/excel/_base.pyi +++ /dev/null @@ -1,450 +0,0 @@ -import abc -from pandas._typing import Dtype, Scalar -from pandas.core.frame import DataFrame as DataFrame -from typing import Any, Callable, Dict, List, Literal, Optional, Sequence, Union, overload - -@overload -def read_excel( - filepath: str, - sheet_name: Optional[List[str]], - header: Optional[Union[int, Sequence[int]]] = ..., - names: Optional[Sequence[str]] = ..., - index_col: Optional[Union[int, Sequence[int]]] = ..., - usecols: Optional[Union[int, str, Sequence[Union[int, str, Callable]]]] = ..., - squeeze: bool = ..., - dtype: Union[str, Dict[str, Any], Dtype] = ..., - engine: Optional[str] = ..., - converters: Optional[Dict[Union[int, str], Callable]] = ..., - true_values: Optional[Sequence[Scalar]] = ..., - false_values: Optional[Sequence[Scalar]] = ..., - skiprows: Optional[Union[Sequence[int], int, Callable]] = ..., - nrows: Optional[int] = ..., - na_values = ..., - keep_default_na: bool = ..., - verbose: bool = ..., - parse_dates: Union[bool, Sequence, Dict[str, Sequence]] = ..., - date_parser: Optional[Callable] = ..., - thousands: Optional[str] = ..., - comment: Optional[str] = ..., - skipfooter: int = ..., - convert_float: bool = ..., - mangle_dupe_cols: bool = ..., -) -> Dict[str, DataFrame]: - """ -Read an Excel file into a pandas DataFrame. - -Supports `xls`, `xlsx`, `xlsm`, `xlsb`, `odf`, `ods` and `odt` file extensions -read from a local filesystem or URL. Supports an option to read -a single sheet or a list of sheets. - -Parameters ----------- -io : str, bytes, ExcelFile, xlrd.Book, path object, or file-like object - Any valid string path is acceptable. The string could be a URL. Valid - URL schemes include http, ftp, s3, and file. For file URLs, a host is - expected. A local file could be: ``file://localhost/path/to/table.xlsx``. - - If you want to pass in a path object, pandas accepts any ``os.PathLike``. - - By file-like object, we refer to objects with a ``read()`` method, - such as a file handle (e.g. via builtin ``open`` function) - or ``StringIO``. -sheet_name : str, int, list, or None, default 0 - Strings are used for sheet names. Integers are used in zero-indexed - sheet positions (chart sheets do not count as a sheet position). - Lists of strings/integers are used to request multiple sheets. - Specify None to get all worksheets. - - Available cases: - - * Defaults to ``0``: 1st sheet as a `DataFrame` - * ``1``: 2nd sheet as a `DataFrame` - * ``"Sheet1"``: Load sheet with name "Sheet1" - * ``[0, 1, "Sheet5"]``: Load first, second and sheet named "Sheet5" - as a dict of `DataFrame` - * None: All worksheets. - -header : int, list of int, default 0 - Row (0-indexed) to use for the column labels of the parsed - DataFrame. If a list of integers is passed those row positions will - be combined into a ``MultiIndex``. Use None if there is no header. -names : array-like, default None - List of column names to use. If file contains no header row, - then you should explicitly pass header=None. -index_col : int, list of int, default None - Column (0-indexed) to use as the row labels of the DataFrame. - Pass None if there is no such column. If a list is passed, - those columns will be combined into a ``MultiIndex``. If a - subset of data is selected with ``usecols``, index_col - is based on the subset. -usecols : int, str, list-like, or callable default None - * If None, then parse all columns. - * If str, then indicates comma separated list of Excel column letters - and column ranges (e.g. "A:E" or "A,C,E:F"). Ranges are inclusive of - both sides. - * If list of int, then indicates list of column numbers to be parsed. - * If list of string, then indicates list of column names to be parsed. - * If callable, then evaluate each column name against it and parse the - column if the callable returns ``True``. - - Returns a subset of the columns according to behavior above. -squeeze : bool, default False - If the parsed data only contains one column then return a Series. - - .. deprecated:: 1.4.0 - Append ``.squeeze("columns")`` to the call to ``read_excel`` to squeeze - the data. -dtype : Type name or dict of column -> type, default None - Data type for data or columns. E.g. {'a': np.float64, 'b': np.int32} - Use `object` to preserve data as stored in Excel and not interpret dtype. - If converters are specified, they will be applied INSTEAD - of dtype conversion. -engine : str, default None - If io is not a buffer or path, this must be set to identify io. - Supported engines: "xlrd", "openpyxl", "odf", "pyxlsb". - Engine compatibility : - - - "xlrd" supports old-style Excel files (.xls). - - "openpyxl" supports newer Excel file formats. - - "odf" supports OpenDocument file formats (.odf, .ods, .odt). - - "pyxlsb" supports Binary Excel files. - - .. versionchanged:: 1.2.0 - The engine `xlrd `_ - now only supports old-style ``.xls`` files. - When ``engine=None``, the following logic will be - used to determine the engine: - - - If ``path_or_buffer`` is an OpenDocument format (.odf, .ods, .odt), - then `odf `_ will be used. - - Otherwise if ``path_or_buffer`` is an xls format, - ``xlrd`` will be used. - - Otherwise if ``path_or_buffer`` is in xlsb format, - ``pyxlsb`` will be used. - - .. versionadded:: 1.3.0 - - Otherwise ``openpyxl`` will be used. - - .. versionchanged:: 1.3.0 - -converters : dict, default None - Dict of functions for converting values in certain columns. Keys can - either be integers or column labels, values are functions that take one - input argument, the Excel cell content, and return the transformed - content. -true_values : list, default None - Values to consider as True. -false_values : list, default None - Values to consider as False. -skiprows : list-like, int, or callable, optional - Line numbers to skip (0-indexed) or number of lines to skip (int) at the - start of the file. If callable, the callable function will be evaluated - against the row indices, returning True if the row should be skipped and - False otherwise. An example of a valid callable argument would be ``lambda - x: x in [0, 2]``. -nrows : int, default None - Number of rows to parse. -na_values : scalar, str, list-like, or dict, default None - Additional strings to recognize as NA/NaN. If dict passed, specific - per-column NA values. By default the following values are interpreted - as NaN: '', '#N/A', '#N/A N/A', '#NA', '-1.#IND', '-1.#QNAN', '-NaN', '-nan', - '1.#IND', '1.#QNAN', '', 'N/A', 'NA', 'NULL', 'NaN', 'n/a', - 'nan', 'null'. -keep_default_na : bool, default True - Whether or not to include the default NaN values when parsing the data. - Depending on whether `na_values` is passed in, the behavior is as follows: - - * If `keep_default_na` is True, and `na_values` are specified, `na_values` - is appended to the default NaN values used for parsing. - * If `keep_default_na` is True, and `na_values` are not specified, only - the default NaN values are used for parsing. - * If `keep_default_na` is False, and `na_values` are specified, only - the NaN values specified `na_values` are used for parsing. - * If `keep_default_na` is False, and `na_values` are not specified, no - strings will be parsed as NaN. - - Note that if `na_filter` is passed in as False, the `keep_default_na` and - `na_values` parameters will be ignored. -na_filter : bool, default True - Detect missing value markers (empty strings and the value of na_values). In - data without any NAs, passing na_filter=False can improve the performance - of reading a large file. -verbose : bool, default False - Indicate number of NA values placed in non-numeric columns. -parse_dates : bool, list-like, or dict, default False - The behavior is as follows: - - * bool. If True -> try parsing the index. - * list of int or names. e.g. If [1, 2, 3] -> try parsing columns 1, 2, 3 - each as a separate date column. - * list of lists. e.g. If [[1, 3]] -> combine columns 1 and 3 and parse as - a single date column. - * dict, e.g. {'foo' : [1, 3]} -> parse columns 1, 3 as date and call - result 'foo' - - If a column or index contains an unparsable date, the entire column or - index will be returned unaltered as an object data type. If you don`t want to - parse some cells as date just change their type in Excel to "Text". - For non-standard datetime parsing, use ``pd.to_datetime`` after ``pd.read_excel``. - - Note: A fast-path exists for iso8601-formatted dates. -date_parser : function, optional - Function to use for converting a sequence of string columns to an array of - datetime instances. The default uses ``dateutil.parser.parser`` to do the - conversion. Pandas will try to call `date_parser` in three different ways, - advancing to the next if an exception occurs: 1) Pass one or more arrays - (as defined by `parse_dates`) as arguments; 2) concatenate (row-wise) the - string values from the columns defined by `parse_dates` into a single array - and pass that; and 3) call `date_parser` once for each row using one or - more strings (corresponding to the columns defined by `parse_dates`) as - arguments. -thousands : str, default None - Thousands separator for parsing string columns to numeric. Note that - this parameter is only necessary for columns stored as TEXT in Excel, - any numeric columns will automatically be parsed, regardless of display - format. -decimal : str, default '.' - Character to recognize as decimal point for parsing string columns to numeric. - Note that this parameter is only necessary for columns stored as TEXT in Excel, - any numeric columns will automatically be parsed, regardless of display - format.(e.g. use ',' for European data). - - .. versionadded:: 1.4.0 - -comment : str, default None - Comments out remainder of line. Pass a character or characters to this - argument to indicate comments in the input file. Any data between the - comment string and the end of the current line is ignored. -skipfooter : int, default 0 - Rows at the end to skip (0-indexed). -convert_float : bool, default True - Convert integral floats to int (i.e., 1.0 --> 1). If False, all numeric - data will be read in as floats: Excel stores all numbers as floats - internally. - - .. deprecated:: 1.3.0 - convert_float will be removed in a future version - -mangle_dupe_cols : bool, default True - Duplicate columns will be specified as 'X', 'X.1', ...'X.N', rather than - 'X'...'X'. Passing in False will cause data to be overwritten if there - are duplicate names in the columns. -storage_options : dict, optional - Extra options that make sense for a particular storage connection, e.g. - host, port, username, password, etc., if using a URL that will - be parsed by ``fsspec``, e.g., starting "s3://", "gcs://". An error - will be raised if providing this argument with a local path or - a file-like buffer. See the fsspec and backend storage implementation - docs for the set of allowed keys and values. - - .. versionadded:: 1.2.0 - -Returns -------- -DataFrame or dict of DataFrames - DataFrame from the passed in Excel file. See notes in sheet_name - argument for more information on when a dict of DataFrames is returned. - -See Also --------- -DataFrame.to_excel : Write DataFrame to an Excel file. -DataFrame.to_csv : Write DataFrame to a comma-separated values (csv) file. -read_csv : Read a comma-separated values (csv) file into DataFrame. -read_fwf : Read a table of fixed-width formatted lines into DataFrame. - -Examples --------- -The file can be read using the file name as string or an open file object: - ->>> pd.read_excel('tmp.xlsx', index_col=0) # doctest: +SKIP - Name Value -0 string1 1 -1 string2 2 -2 #Comment 3 - ->>> pd.read_excel(open('tmp.xlsx', 'rb'), -... sheet_name='Sheet3') # doctest: +SKIP - Unnamed: 0 Name Value -0 0 string1 1 -1 1 string2 2 -2 2 #Comment 3 - -Index and header can be specified via the `index_col` and `header` arguments - ->>> pd.read_excel('tmp.xlsx', index_col=None, header=None) # doctest: +SKIP - 0 1 2 -0 NaN Name Value -1 0.0 string1 1 -2 1.0 string2 2 -3 2.0 #Comment 3 - -Column types are inferred but can be explicitly specified - ->>> pd.read_excel('tmp.xlsx', index_col=0, -... dtype={'Name': str, 'Value': float}) # doctest: +SKIP - Name Value -0 string1 1.0 -1 string2 2.0 -2 #Comment 3.0 - -True, False, and NA values, and thousands separators have defaults, -but can be explicitly specified, too. Supply the values you would like -as strings or lists of strings! - ->>> pd.read_excel('tmp.xlsx', index_col=0, -... na_values=['string1', 'string2']) # doctest: +SKIP - Name Value -0 NaN 1 -1 NaN 2 -2 #Comment 3 - -Comment lines in the excel input file can be skipped using the `comment` kwarg - ->>> pd.read_excel('tmp.xlsx', index_col=0, comment='#') # doctest: +SKIP - Name Value -0 string1 1.0 -1 string2 2.0 -2 None NaN - """ - pass - -@overload -def read_excel( - filepath: str, - sheet_name: List[int], - header: Optional[Union[int, Sequence[int]]] = ..., - names: Optional[Sequence[str]] = ..., - index_col: Optional[Union[int, Sequence[int]]] = ..., - usecols: Optional[Union[int, str, Sequence[Union[int, str, Callable]]]] = ..., - squeeze: bool = ..., - dtype: Union[str, Dict[str, Any], Dtype] = ..., - engine: Optional[str] = ..., - converters: Optional[Dict[Union[int, str], Callable]] = ..., - true_values: Optional[Sequence[Scalar]] = ..., - false_values: Optional[Sequence[Scalar]] = ..., - skiprows: Optional[Union[Sequence[int], int, Callable]] = ..., - nrows: Optional[int] = ..., - na_values = ..., - keep_default_na: bool = ..., - verbose: bool = ..., - parse_dates: Union[bool, Sequence, Dict[str, Sequence]] = ..., - date_parser: Optional[Callable] = ..., - thousands: Optional[str] = ..., - comment: Optional[str] = ..., - skipfooter: int = ..., - convert_float: bool = ..., - mangle_dupe_cols: bool = ..., -) -> Dict[int, DataFrame]: ... - -@overload -def read_excel( - filepath: str, - sheet_name: List[Union[int, str]], - header: Optional[Union[int, Sequence[int]]] = ..., - names: Optional[Sequence[str]] = ..., - index_col: Optional[Union[int, Sequence[int]]] = ..., - usecols: Optional[Union[int, str, Sequence[Union[int, str, Callable]]]] = ..., - squeeze: bool = ..., - dtype: Union[str, Dict[str, Any], Dtype] = ..., - engine: Optional[str] = ..., - converters: Optional[Dict[Union[int, str], Callable]] = ..., - true_values: Optional[Sequence[Scalar]] = ..., - false_values: Optional[Sequence[Scalar]] = ..., - skiprows: Optional[Union[Sequence[int], int, Callable]] = ..., - nrows: Optional[int] = ..., - na_values = ..., - keep_default_na: bool = ..., - verbose: bool = ..., - parse_dates: Union[bool, Sequence, Dict[str, Sequence]] = ..., - date_parser: Optional[Callable] = ..., - thousands: Optional[str] = ..., - comment: Optional[str] = ..., - skipfooter: int = ..., - convert_float: bool = ..., - mangle_dupe_cols: bool = ..., -) -> Dict[Union[int, str], DataFrame]: ... - -@overload -def read_excel( - filepath: str, - sheet_name: Union[int, str] = ..., - header: Optional[Union[int, Sequence[int]]] = ..., - names: Optional[Sequence[str]] = ..., - index_col: Optional[Union[int, Sequence[int]]] = ..., - usecols: Optional[Union[int, str, Sequence[Union[int, str, Callable]]]] = ..., - squeeze: bool = ..., - dtype: Union[str, Dict[str, Any], Dtype] = ..., - engine: Optional[str] = ..., - converters: Optional[Dict[Union[int, str], Callable]] = ..., - true_values: Optional[Sequence[Scalar]] = ..., - false_values: Optional[Sequence[Scalar]] = ..., - skiprows: Optional[Union[Sequence[int], int, Callable]] = ..., - nrows: Optional[int] = ..., - na_values = ..., - keep_default_na: bool = ..., - verbose: bool = ..., - parse_dates: Union[bool, Sequence, Dict[str, Sequence]] = ..., - date_parser: Optional[Callable] = ..., - thousands: Optional[str] = ..., - comment: Optional[str] = ..., - skipfooter: int = ..., - convert_float: bool = ..., - mangle_dupe_cols: bool = ..., - **kwargs -) -> DataFrame: ... - -class BaseExcelReader(metaclass=abc.ABCMeta): - book = ... - def __init__(self, filepath_or_buffer) -> None: ... - @abc.abstractmethod - def load_workbook(self, filepath_or_buffer): ... - def close(self) -> None: ... - @property - @abc.abstractmethod - def sheet_names(self): ... - @abc.abstractmethod - def get_sheet_by_name(self, name): ... - @abc.abstractmethod - def get_sheet_by_index(self, index): ... - @abc.abstractmethod - def get_sheet_data(self, sheet, convert_float): ... - def parse(self, sheet_name: int = ..., header: int = ..., names = ..., index_col = ..., usecols = ..., squeeze: bool = ..., dtype = ..., true_values = ..., false_values = ..., skiprows = ..., nrows = ..., na_values = ..., verbose: bool = ..., parse_dates: bool = ..., date_parser = ..., thousands = ..., comment = ..., skipfooter: int = ..., convert_float: bool = ..., mangle_dupe_cols: bool = ..., **kwds): ... - -class ExcelWriter(metaclass=abc.ABCMeta): - def __new__(cls, path, engine = ..., **kwargs): ... - book = ... - curr_sheet = ... - path = ... - @property - def supported_extensions(self): ... - @property - def engine(self): ... - def write_cells(self, cells, sheet_name = ..., startrow: int = ..., startcol: int = ..., freeze_panes = ...): ... - def save(self): ... - sheets = ... - cur_sheet = ... - date_format: str = ... - datetime_format: str = ... - mode = ... - def __init__(self, path, engine = ..., date_format = ..., datetime_format = ..., mode: str = ..., **engine_kwargs) -> None: ... - def __fspath__(self): ... - @classmethod - def check_extension(cls, ext): ... - def __enter__(self): ... - def __exit__(self, exc_type, exc_value, traceback) -> None: ... - def close(self): ... - -class ExcelFile: - engine = ... - io = ... - def __init__(self, io, engine = ...) -> None: ... - def __fspath__(self): ... - def parse(self, sheet_name: int = ..., header: int = ..., names = ..., index_col = ..., usecols = ..., squeeze: bool = ..., converters = ..., true_values = ..., false_values = ..., skiprows = ..., nrows = ..., na_values = ..., parse_dates: bool = ..., date_parser = ..., thousands = ..., comment = ..., skipfooter: int = ..., convert_float: bool = ..., mangle_dupe_cols: bool = ..., **kwds): ... - @property - def book(self): ... - @property - def sheet_names(self): ... - def close(self) -> None: ... - def __enter__(self): ... - def __exit__(self, exc_type, exc_value, traceback) -> None: ... - def __del__(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/excel/_util.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/excel/_util.pyi deleted file mode 100644 index ceee52a8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/excel/_util.pyi +++ /dev/null @@ -1,2 +0,0 @@ -def register_writer(klass) -> None: ... -def get_writer(engine_name): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/feather_format.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/feather_format.pyi deleted file mode 100644 index 2b21f4a7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/feather_format.pyi +++ /dev/null @@ -1,7 +0,0 @@ -#from pandas import DataFrame as DataFrame, Int64Index as Int64Index, RangeIndex as RangeIndex -from pandas.core.frame import DataFrame as DataFrame -from pandas._typing import FilePathOrBuffer -from typing import Optional, Sequence - -def to_feather(df: DataFrame, path) : ... -def read_feather(p: FilePathOrBuffer, columns: Optional[Sequence] = ..., use_threads: bool = ...) : ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/console.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/console.pyi deleted file mode 100644 index 5a0b56b6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/console.pyi +++ /dev/null @@ -1,3 +0,0 @@ -def get_console_size(): ... -def in_interactive_session(): ... -def in_ipython_frontend(): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/css.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/css.pyi deleted file mode 100644 index 15d9c56a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/css.pyi +++ /dev/null @@ -1,18 +0,0 @@ -class CSSWarning(UserWarning): ... - -class CSSResolver: - def __call__(self, declarations_str, inherited = ...): ... - UNIT_RATIOS = ... - FONT_SIZE_RATIOS = ... - MARGIN_RATIOS = ... - BORDER_WIDTH_RATIOS = ... - def size_to_pt(self, in_val, em_pt = ..., conversions = ...): ... - def atomize(self, declarations) -> None: ... - SIDE_SHORTHANDS = ... - SIDES = ... - expand_border_color = ... - expand_border_style = ... - expand_border_width = ... - expand_margin = ... - expand_padding = ... - def parse(self, declarations_str: str) : ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/csvs.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/csvs.pyi deleted file mode 100644 index 230a5805..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/csvs.pyi +++ /dev/null @@ -1,31 +0,0 @@ -from pandas._typing import FilePathOrBuffer as FilePathOrBuffer -from typing import Hashable, Mapping, Optional, Sequence, Union - -class CSVFormatter: - obj = ... - sep = ... - na_rep = ... - float_format = ... - decimal = ... - header = ... - index = ... - index_label = ... - mode = ... - encoding = ... - compression = ... - quoting = ... - quotechar = ... - doublequote = ... - escapechar = ... - line_terminator = ... - date_format = ... - has_mi_columns = ... - cols = ... - blocks = ... - data = ... - chunksize = ... - data_index = ... - nlevels = ... - def __init__(self, obj, path_or_buf: Optional[FilePathOrBuffer[str]]=..., sep: str=..., na_rep: str=..., float_format: Optional[str]=..., cols=..., header: Union[bool, Sequence[Hashable]]=..., index: bool=..., index_label: Optional[Union[bool, Hashable, Sequence[Hashable]]]=..., mode: str=..., encoding: Optional[str]=..., compression: Union[str, Mapping[str, str], None]=..., quoting: Optional[int]=..., line_terminator=..., chunksize: Optional[int]=..., quotechar=..., date_format: Optional[str]=..., doublequote: bool=..., escapechar: Optional[str]=..., decimal=...) -> None: ... - writer = ... - def save(self) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/excel.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/excel.pyi deleted file mode 100644 index fa87b840..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/excel.pyi +++ /dev/null @@ -1,49 +0,0 @@ -from typing import Callable, Dict, List, Optional, Sequence, Union - -class ExcelCell: - __fields__ = ... - row = ... - col = ... - val = ... - style = ... - mergestart = ... - mergeend = ... - def __init__(self, row: int, col: int, val, style=..., mergestart=..., mergeend=...) -> None: ... - -class CSSToExcelConverter: - inherited = ... - def __init__(self, inherited: Optional[str]=...) -> None: ... - compute_css = ... - def __call__(self, declarations_str: str) -> Dict[str, Dict[str, str]]: ... - def build_xlstyle(self, props: Dict[str, str]) -> Dict[str, Dict[str, str]]: ... - VERTICAL_MAP = ... - def build_alignment(self, props) -> Dict[str, Optional[Union[bool, str]]]: ... - def build_border(self, props: Dict) -> Dict[str, Dict[str, str]]: ... - def build_fill(self, props: Dict[str, str]) : ... - BOLD_MAP = ... - ITALIC_MAP = ... - def build_font(self, props) -> Dict[str, Optional[Union[bool, int, str]]]: ... - NAMED_COLORS = ... - def color_to_excel(self, val: Optional[str]) : ... - def build_number_format(self, props: Dict) -> Dict[str, Optional[str]]: ... - -class ExcelFormatter: - max_rows = ... - max_cols = ... - rowcounter: int = ... - na_rep = ... - styler = ... - style_converter = ... - df = ... - columns = ... - float_format = ... - index = ... - index_label = ... - header = ... - merge_cells = ... - inf_rep = ... - def __init__(self, df, na_rep: str=..., float_format: Optional[str]=..., cols: Optional[Sequence]=..., header: Union[bool, List[str]]=..., index: bool=..., index_label: Union[str, Sequence, None]=..., merge_cells: bool=..., inf_rep: str=..., style_converter: Optional[Callable]=...) -> None: ... - @property - def header_style(self): ... - def get_formatted_cells(self) -> None: ... - def write(self, writer, sheet_name: str = ..., startrow: int = ..., startcol: int = ..., freeze_panes = ..., engine = ...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/format.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/format.pyi deleted file mode 100644 index 4665db28..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/format.pyi +++ /dev/null @@ -1,157 +0,0 @@ -import numpy as np -from pandas.core.arrays.categorical import Categorical -from pandas.core.series import Series as Series -from pandas.core.frame import DataFrame as DataFrame -from pandas._typing import FilePathOrBuffer as FilePathOrBuffer -from pandas.core.arrays.datetimes import DatetimeArray as DatetimeArray -from pandas.core.indexes.api import Index as Index -from pandas.core.indexes.datetimes import DatetimeIndex as DatetimeIndex -from pandas.core.indexes.timedeltas import TimedeltaIndex as TimedeltaIndex -from typing import Callable, Dict, IO, Iterable, List, Mapping, Optional, Sequence, Tuple, Union - -formatters_type = Union[List[Callable], Tuple[Callable, ...], Mapping[Union[str, int], Callable]] -float_format_type = ... -common_docstring: str = ... -return_docstring: str = ... - -class CategoricalFormatter: - categorical = ... - buf = ... - na_rep = ... - length = ... - footer = ... - def __init__(self, categorical: Categorical, buf: Optional[IO[str]]=..., length: bool=..., na_rep: str=..., footer: bool=...) -> None: ... - def to_string(self) -> str: ... - -class SeriesFormatter: - series = ... - buf = ... - name = ... - na_rep = ... - header = ... - length = ... - index = ... - max_rows = ... - min_rows = ... - float_format = ... - dtype = ... - adj = ... - def __init__(self, series: Series, buf: Optional[IO[str]]=..., length: Union[bool, str]=..., header: bool=..., index: bool=..., na_rep: str=..., name: bool=..., float_format: Optional[str]=..., dtype: bool=..., max_rows: Optional[int]=..., min_rows: Optional[int]=...) -> None: ... - def to_string(self) -> str: ... - -class TextAdjustment: - encoding = ... - def __init__(self) -> None: ... - def len(self, text: str) -> int: ... - def justify(self, texts, max_len: int, mode: str=...) -> List[str]: ... - def adjoin(self, space: int, *lists, **kwargs) -> str: ... - -class EastAsianTextAdjustment(TextAdjustment): - ambiguous_width: int = ... - def __init__(self) -> None: ... - def len(self, text: str) -> int: ... - def justify(self, texts: Iterable[str], max_len: int, mode: str=...) -> List[str]: ... - -class TableFormatter: - show_dimensions: Union[bool, str] - is_truncated: bool - formatters: formatters_type - columns: Index - @property - def should_show_dimensions(self) -> bool: ... - def get_buffer(self, buf: Optional[FilePathOrBuffer[str]], encoding: Optional[str]=...) : ... - def write_result(self, buf: IO[str]) -> None: ... - def get_result(self, buf: Optional[FilePathOrBuffer[str]]=..., encoding: Optional[str]=...) -> Optional[str]: ... - -class DataFrameFormatter(TableFormatter): - __doc__ = ... - frame = ... - show_index_names = ... - sparsify = ... - float_format = ... - formatters = ... - na_rep = ... - decimal = ... - col_space = ... - header = ... - index = ... - line_width = ... - max_rows = ... - min_rows = ... - max_cols = ... - max_rows_displayed = ... - show_dimensions = ... - table_id = ... - render_links = ... - justify = ... - bold_rows = ... - escape = ... - columns = ... - adj = ... - def __init__(self, frame: DataFrame, columns: Optional[Sequence[str]]=..., col_space: Optional[Union[str, int]]=..., header: Union[bool, Sequence[str]]=..., index: bool=..., na_rep: str=..., formatters: Optional[formatters_type]=..., justify: Optional[str]=..., float_format: Optional[float_format_type]=..., sparsify: Optional[bool]=..., index_names: bool=..., line_width: Optional[int]=..., max_rows: Optional[int]=..., min_rows: Optional[int]=..., max_cols: Optional[int]=..., show_dimensions: Union[bool, str]=..., decimal: str=..., table_id: Optional[str]=..., render_links: bool=..., bold_rows: bool=..., escape: bool=...) -> None: ... - max_cols_adj = ... - def write_result(self, buf: IO[str]) -> None: ... - def to_string(self, buf: Optional[FilePathOrBuffer[str]]=..., encoding: Optional[str]=...) -> Optional[str]: ... - def to_latex(self, buf: Optional[FilePathOrBuffer[str]]=..., column_format: Optional[str]=..., longtable: bool=..., encoding: Optional[str]=..., multicolumn: bool=..., multicolumn_format: Optional[str]=..., multirow: bool=..., caption: Optional[str]=..., label: Optional[str]=...) -> Optional[str]: ... - def to_html(self, buf: Optional[FilePathOrBuffer[str]]=..., encoding: Optional[str]=..., classes: Optional[Union[str, List, Tuple]]=..., notebook: bool=..., border: Optional[int]=...) -> Optional[str]: ... - @property - def has_index_names(self) -> bool: ... - @property - def has_column_names(self) -> bool: ... - @property - def show_row_idx_names(self) -> bool: ... - @property - def show_col_idx_names(self) -> bool: ... - -def format_array(values, formatter: Optional[Callable], float_format: Optional[float_format_type]=..., na_rep: str=..., digits: Optional[int]=..., space: Optional[Union[str, int]]=..., justify: str=..., decimal: str=..., leading_space: Optional[bool]=...) -> List[str]: ... - -class GenericArrayFormatter: - values = ... - digits = ... - na_rep = ... - space = ... - formatter = ... - float_format = ... - justify = ... - decimal = ... - quoting = ... - fixed_width = ... - leading_space = ... - def __init__(self, values, digits: int=..., formatter: Optional[Callable]=..., na_rep: str=..., space: Union[str, int]=..., float_format: Optional[float_format_type]=..., justify: str=..., decimal: str=..., quoting: Optional[int]=..., fixed_width: bool=..., leading_space: Optional[bool]=...) -> None: ... - def get_result(self) -> List[str]: ... - -class FloatArrayFormatter(GenericArrayFormatter): - fixed_width: bool = ... - formatter = ... - float_format = ... - def __init__(self, *args, **kwargs) -> None: ... - def get_result_as_array(self) -> np.ndarray: ... - -class IntArrayFormatter(GenericArrayFormatter): ... - -class Datetime64Formatter(GenericArrayFormatter): - nat_rep = ... - date_format = ... - def __init__(self, values: Union[np.ndarray, Series, DatetimeIndex, DatetimeArray], nat_rep: str=..., date_format: None=..., **kwargs) -> None: ... - -class ExtensionArrayFormatter(GenericArrayFormatter): ... - -def format_percentiles(percentiles: Union[np.ndarray, List[Union[int, float]], List[float], List[Union[str, float]]]) -> List[str]: ... - -class Datetime64TZFormatter(Datetime64Formatter): ... - -class Timedelta64Formatter(GenericArrayFormatter): - nat_rep = ... - box = ... - def __init__(self, values: Union[np.ndarray, TimedeltaIndex], nat_rep: str=..., box: bool=..., **kwargs) -> None: ... - -class EngFormatter: - ENG_PREFIXES = ... - accuracy = ... - use_eng_prefix = ... - def __init__(self, accuracy: Optional[int]=..., use_eng_prefix: bool=...) -> None: ... - def __call__(self, num: Union[int, float]) -> str: ... - -def set_eng_float_format(accuracy: int=..., use_eng_prefix: bool=...) -> None: ... -def get_level_lengths(levels, sentinel: Union[bool, object, str]=...) -> List[Dict[int, int]]: ... -def buffer_put_lines(buf: IO[str], lines: List[str]) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/html.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/html.pyi deleted file mode 100644 index 8c2a049b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/html.pyi +++ /dev/null @@ -1,37 +0,0 @@ -from pandas.io.formats.format import DataFrameFormatter as DataFrameFormatter, TableFormatter as TableFormatter -from typing import Dict, IO, Iterable, List, Optional, Tuple, Union - -class HTMLFormatter(TableFormatter): - indent_delta: int = ... - fmt = ... - classes = ... - frame = ... - columns = ... - elements = ... - bold_rows = ... - escape = ... - show_dimensions = ... - border = ... - table_id = ... - render_links = ... - def __init__(self, formatter: DataFrameFormatter, classes: Optional[Union[str, List[str], Tuple[str, ...]]]=..., border: Optional[int]=...) -> None: ... - @property - def show_row_idx_names(self) -> bool: ... - @property - def show_col_idx_names(self) -> bool: ... - @property - def row_levels(self) -> int: ... - @property - def is_truncated(self) -> bool: ... - @property - def ncols(self) -> int: ... - def write(self, s, indent: int=...) -> None: ... - def write_th(self, s, header: bool=..., indent: int=..., tags: Optional[str]=...) -> None: ... - def write_td(self, s, indent: int=..., tags: Optional[str]=...) -> None: ... - def write_tr(self, line: Iterable, indent: int=..., indent_delta: int=..., header: bool=..., align: Optional[str]=..., tags: Optional[Dict[int, str]]=..., nindex_levels: int=...) -> None: ... - def render(self) -> List[str]: ... - def write_result(self, buf: IO[str]) -> None: ... - -class NotebookFormatter(HTMLFormatter): - def write_style(self) -> None: ... - def render(self) -> List[str]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/latex.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/latex.pyi deleted file mode 100644 index 3d452872..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/latex.pyi +++ /dev/null @@ -1,18 +0,0 @@ -from pandas.io.formats.format import DataFrameFormatter as DataFrameFormatter, TableFormatter as TableFormatter -from typing import IO, Optional - -class LatexFormatter(TableFormatter): - fmt = ... - frame = ... - bold_rows = ... - column_format = ... - longtable = ... - multicolumn = ... - multicolumn_format = ... - multirow = ... - caption = ... - label = ... - escape = ... - def __init__(self, formatter: DataFrameFormatter, column_format: Optional[str]=..., longtable: bool=..., multicolumn: bool=..., multicolumn_format: Optional[str]=..., multirow: bool=..., caption: Optional[str]=..., label: Optional[str]=...) -> None: ... - clinebuf = ... - def write_result(self, buf: IO[str]) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/printing.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/printing.pyi deleted file mode 100644 index 5f361b8c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/printing.pyi +++ /dev/null @@ -1,13 +0,0 @@ -from typing import Callable, Iterable, List, Mapping, Optional, Sequence, Tuple, Union - -EscapeChars = Union[Mapping[str, str], Iterable[str]] - -def adjoin(space: int, *lists: List[str], **kwargs) -> str: ... -def justify(texts: Iterable[str], max_len: int, mode: str=...) -> List[str]: ... -def pprint_thing(thing, _nest_lvl: int=..., escape_chars: Optional[EscapeChars]=..., default_escapes: bool=..., quote_strings: bool=..., max_seq_items: Optional[int]=...) -> str: ... -def pprint_thing_encoded(object, encoding: str=..., errors: str=...) -> bytes: ... - -default_pprint = ... - -def format_object_summary(obj, formatter: Callable, is_justify: bool=..., name: Optional[str]=..., indent_for_name: bool=..., line_break_each_value: bool=...) -> str: ... -def format_object_attrs(obj: Sequence, include_dtype: bool=...) -> List[Tuple[str, Union[str, int]]]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/style.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/style.pyi deleted file mode 100644 index 4affbcf3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/formats/style.pyi +++ /dev/null @@ -1,52 +0,0 @@ -from typing import Optional - -jinja2 = ... -has_mpl: bool = ... -no_mpl_message: str = ... - -class Styler: - loader = ... - env = ... - template = ... - ctx = ... - data = ... - index = ... - columns = ... - uuid = ... - table_styles = ... - caption = ... - precision = ... - table_attributes = ... - hidden_index: bool = ... - hidden_columns = ... - cell_ids = ... - na_rep = ... - def __init__(self, data, precision=..., table_styles=..., uuid=..., caption=..., table_attributes=..., cell_ids=..., na_rep: Optional[str]=...): ... - def to_excel(self, excel_writer, sheet_name: str = ..., na_rep: str = ..., float_format = ..., columns = ..., header: bool = ..., index: bool = ..., index_label = ..., startrow: int = ..., startcol: int = ..., engine = ..., merge_cells: bool = ..., encoding = ..., inf_rep: str = ..., verbose: bool = ..., freeze_panes = ...) -> None: ... - def format(self, formatter, subset=..., na_rep: Optional[str]=...) : ... - def render(self, **kwargs): ... - def __copy__(self): ... - def __deepcopy__(self, memo): ... - def clear(self) -> None: ... - def apply(self, func, axis: int = ..., subset = ..., **kwargs): ... - def applymap(self, func, subset = ..., **kwargs): ... - def where(self, cond, value, other = ..., subset = ..., **kwargs): ... - def set_precision(self, precision): ... - def set_table_attributes(self, attributes): ... - def export(self): ... - def use(self, styles): ... - def set_uuid(self, uuid): ... - def set_caption(self, caption): ... - def set_table_styles(self, table_styles): ... - def set_na_rep(self, na_rep: str) -> Styler: ... - def hide_index(self): ... - def hide_columns(self, subset): ... - def highlight_null(self, null_color: str = ...): ... - def background_gradient(self, cmap=..., low=..., high=..., axis=..., subset=..., text_color_threshold=..., vmin: Optional[float]=..., vmax: Optional[float]=...) : ... - def set_properties(self, subset = ..., **kwargs): ... - def bar(self, subset = ..., axis: int = ..., color: str = ..., width: int = ..., align: str = ..., vmin = ..., vmax = ...): ... - def highlight_max(self, subset = ..., color: str = ..., axis: int = ...): ... - def highlight_min(self, subset = ..., color: str = ..., axis: int = ...): ... - @classmethod - def from_custom_template(cls, searchpath, name): ... - def pipe(self, func, *args, **kwargs): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/gbq.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/gbq.pyi deleted file mode 100644 index f3ff9720..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/gbq.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from pandas.core.frame import DataFrame as DataFrame -from typing import Any, Dict, List, Optional - -def read_gbq(query: str, project_id: Optional[str]=..., index_col: Optional[str]=..., col_order: Optional[List[str]]=..., reauth: bool=..., auth_local_webserver: bool=..., dialect: Optional[str]=..., location: Optional[str]=..., configuration: Optional[Dict[str, Any]]=..., credentials=..., use_bqstorage_api: Optional[bool]=..., private_key=..., verbose=..., progress_bar_type: Optional[str]=...) -> DataFrame: ... -def to_gbq(dataframe: DataFrame, destination_table: str, project_id: Optional[str]=..., chunksize: Optional[int]=..., reauth: bool=..., if_exists: str=..., auth_local_webserver: bool=..., table_schema: Optional[List[Dict[str, str]]]=..., location: Optional[str]=..., progress_bar: bool=..., credentials=..., verbose=..., private_key=...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/gcs.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/gcs.pyi deleted file mode 100644 index 3edd1e45..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/gcs.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from pandas._typing import FilePathOrBuffer as FilePathOrBuffer - -gcsfs = ... - -def get_filepath_or_buffer(filepath_or_buffer: FilePathOrBuffer, encoding=..., compression=..., mode=...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/html.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/html.pyi deleted file mode 100644 index 38e2a40c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/html.pyi +++ /dev/null @@ -1,36 +0,0 @@ -from pandas._typing import FilePathOrBuffer as FilePathOrBuffer -from pandas.core.frame import DataFrame as DataFrame -from typing import Any, Callable, Dict, Iterable, List, Mapping, Optional, Sequence, Union - -class _HtmlFrameParser: - io = ... - match = ... - attrs = ... - encoding = ... - displayed_only = ... - def __init__(self, io, match, attrs, encoding, displayed_only) -> None: ... - def parse_tables(self) : ... - -class _BeautifulSoupHtml5LibFrameParser(_HtmlFrameParser): - def __init__(self, *args, **kwargs) -> None: ... - -class _LxmlFrameParser(_HtmlFrameParser): - def __init__(self, *args, **kwargs) -> None: ... - -def read_html( - io: FilePathOrBuffer, - match: str = ..., - flavor: Optional[str] = ..., - header: Optional[Union[int, Sequence[int]]] = ..., - index_col: Optional[Union[int, Sequence[Any]]] = ..., - skiprows: Optional[Union[int, Sequence[Any], slice]] = ..., - attrs: Optional[Mapping[str, str]] = ..., - parse_dates: Union[bool, Sequence[Union[int, str, Sequence[Union[int, str]]]], Dict[str, Sequence[Union[int, str]]]] = ..., - thousands: str = ..., - encoding: Optional[str] = ..., - decimal: str = ..., - converters: Optional[Mapping[Union[int, str], Callable]] = ..., - na_values: Optional[Iterable[Any]] = ..., - keep_default_na: bool = ..., - displayed_only: bool = ..., -) -> List[DataFrame]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/json/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/json/__init__.pyi deleted file mode 100644 index be001950..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/json/__init__.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from ._json import dumps as dumps, loads as loads, read_json as read_json, to_json as to_json -from ._normalize import json_normalize as json_normalize -from ._table_schema import build_table_schema as build_table_schema - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/json/_json.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/json/_json.pyi deleted file mode 100644 index 896b64f2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/json/_json.pyi +++ /dev/null @@ -1,200 +0,0 @@ -from collections import abc -import sys -from pandas.core.series import Series as Series -from pandas.core.frame import DataFrame -from pandas._typing import JSONSerializable as JSONSerializable, FilePathOrBuffer -from typing import Any, Callable, Optional, Union, overload - -if sys.version_info >= (3, 8): - from typing import Literal -else: - from typing_extensions import Literal - -loads = ... -dumps = ... -TABLE_SCHEMA_VERSION: str = ... - -def to_json( - path_or_buf, - obj, - orient: Optional[str] = ..., - date_format: str = ..., - double_precision: int = ..., - force_ascii: bool = ..., - date_unit: str = ..., - default_handler: Optional[Callable[[Any], JSONSerializable]] = ..., - lines: bool = ..., - compression: Optional[str] = ..., - index: bool = ..., - indent: int = ..., -): ... - -class Writer: - obj = ... - orient = ... - date_format = ... - double_precision = ... - ensure_ascii = ... - date_unit = ... - default_handler = ... - index = ... - indent = ... - is_copy = ... - def __init__( - self, - obj, - orient: Optional[str], - date_format: str, - double_precision: int, - ensure_ascii: bool, - date_unit: str, - index: bool, - default_handler: Optional[Callable[[Any], JSONSerializable]] = ..., - indent: int = ..., - ) -> None: ... - def write(self): ... - -class SeriesWriter(Writer): ... -class FrameWriter(Writer): ... - -class JSONTableWriter(FrameWriter): - schema = ... - obj = ... - date_format = ... - orient = ... - index = ... - def __init__( - self, - obj, - orient: Optional[str], - date_format: str, - double_precision: int, - ensure_ascii: bool, - date_unit: str, - index: bool, - default_handler: Optional[Callable[[Any], JSONSerializable]] = ..., - indent: int = ..., - ): ... - -@overload -def read_json( - path: FilePathOrBuffer, - orient: Optional[str] = ..., - dtype=..., - convert_axes=..., - convert_dates: bool = ..., - keep_default_dates: bool = ..., - numpy: bool = ..., - precise_float: bool = ..., - date_unit: Optional[str] = ..., - encoding: Optional[str] = ..., - lines: bool = ..., - chunksize: Optional[int] = ..., - compression: Optional[Union[str, Literal["infer", "gzip", "bz2", "zip", "xz"]]] = ..., - *, - typ: Literal["series"], -) -> Series: ... -@overload -def read_json( - path: FilePathOrBuffer, - orient: Optional[str] = ..., - dtype=..., - convert_axes=..., - convert_dates: bool = ..., - keep_default_dates: bool = ..., - numpy: bool = ..., - precise_float: bool = ..., - date_unit: Optional[str] = ..., - encoding: Optional[str] = ..., - lines: bool = ..., - chunksize: Optional[int] = ..., - compression: Optional[Union[str, Literal["infer", "gzip", "bz2", "zip", "xz"]]] = ..., - *, - typ: Literal["frame"], -) -> DataFrame: ... -@overload -def read_json( - path: FilePathOrBuffer, - orient: Optional[str] = ..., - typ: Optional[str] = ..., - dtype=..., - convert_axes=..., - convert_dates: bool = ..., - keep_default_dates: bool = ..., - numpy: bool = ..., - precise_float: bool = ..., - date_unit: Optional[str] = ..., - encoding: Optional[str] = ..., - lines: bool = ..., - chunksize: Optional[int] = ..., - compression: Optional[Union[str, Literal["infer", "gzip", "bz2", "zip", "xz"]]] = ..., -) -> Union[Series, DataFrame]: ... - -class JsonReader(abc.Iterator): - path_or_buf = ... - orient = ... - typ = ... - dtype = ... - convert_axes = ... - convert_dates = ... - keep_default_dates = ... - numpy = ... - precise_float = ... - date_unit = ... - encoding = ... - compression = ... - lines = ... - chunksize = ... - nrows_seen: int = ... - should_close: bool = ... - data = ... - def __init__( - self, - filepath_or_buffer, - orient, - typ, - dtype, - convert_axes, - convert_dates, - keep_default_dates, - numpy, - precise_float, - date_unit, - encoding, - lines, - chunksize, - compression, - ) -> None: ... - def read(self): ... - def close(self) -> None: ... - def __next__(self): ... - -class Parser: - json = ... - orient = ... - dtype = ... - min_stamp = ... - numpy = ... - precise_float = ... - convert_axes = ... - convert_dates = ... - date_unit = ... - keep_default_dates = ... - obj = ... - def __init__( - self, - json, - orient, - dtype=..., - convert_axes: bool = ..., - convert_dates: bool = ..., - keep_default_dates: bool = ..., - numpy: bool = ..., - precise_float: bool = ..., - date_unit=..., - ) -> None: ... - def check_keys_split(self, decoded) -> None: ... - def parse(self): ... - -class SeriesParser(Parser): ... -class FrameParser(Parser): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/json/_normalize.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/json/_normalize.pyi deleted file mode 100644 index 0ee573f8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/json/_normalize.pyi +++ /dev/null @@ -1,17 +0,0 @@ -from pandas.core.frame import DataFrame as DataFrame -from pandas._typing import Scalar as Scalar -from typing import Any, Dict, List, Optional, Union - -def convert_to_line_delimits(s: Any): ... -def nested_to_record(ds: Any, prefix: str=..., sep: str=..., level: int=..., max_level: Optional[int]=...) -> Any: ... - -def json_normalize( - data: Union[Dict, List[Dict]], - record_path: Optional[Union[str, List]] = None, - meta: Optional[Union[str, List[Union[str, List[str]]]]] = None, - meta_prefix: Optional[str] = None, - record_prefix: Optional[str] = None, - errors: str = "raise", - sep: str = ".", - max_level: Optional[int] = None, -) -> DataFrame: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/json/_table_schema.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/json/_table_schema.pyi deleted file mode 100644 index 257c6e8e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/json/_table_schema.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import Any, Optional - -loads: Any - -def as_json_table_type(x: Any): ... -def set_default_names(data: Any): ... -def convert_pandas_type_to_json_field(arr: Any, dtype: Optional[Any] = ...): ... -def convert_json_field_to_pandas_type(field: Any): ... -def build_table_schema(data: Any, index: bool = ..., primary_key: Optional[Any] = ..., version: bool = ...): ... -def parse_table_schema(json: Any, precise_float: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/orc.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/orc.pyi deleted file mode 100644 index 1207ed40..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/orc.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from pandas.core.frame import DataFrame as DataFrame -from pandas._typing import FilePathOrBuffer as FilePathOrBuffer -from typing import List, Optional - -def read_orc(path: FilePathOrBuffer, columns: Optional[List[str]] = ..., **kwargs) -> DataFrame: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/parquet.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/parquet.pyi deleted file mode 100644 index 6c6c7515..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/parquet.pyi +++ /dev/null @@ -1,28 +0,0 @@ -from pandas._typing import FilePathOrBuffer as FilePathOrBuffer -from pandas.core.frame import DataFrame as DataFrame -from typing import Optional, Sequence - -def get_engine(engine: str) -> BaseImpl: ... - -class BaseImpl: - @staticmethod - def validate_dataframe(df: DataFrame) : ... - def write(self, df: DataFrame, path, compression, **kwargs) : ... - def read(self, path, columns = ..., **kwargs) -> None: ... - -class PyArrowImpl(BaseImpl): - api = ... - def __init__(self) -> None: ... - def write(self, df: DataFrame, path, compression=..., coerce_timestamps=..., index: Optional[bool]=..., partition_cols=..., **kwargs) : ... - def read(self, path, columns = ..., **kwargs): ... - -class FastParquetImpl(BaseImpl): - api = ... - def __init__(self) -> None: ... - def write(self, df: DataFrame, path, compression=..., index=..., partition_cols=..., **kwargs) : ... - def read(self, path, columns = ..., **kwargs): ... - -def to_parquet(df: DataFrame, path, engine: str=..., compression=..., index: Optional[bool]=..., partition_cols=..., **kwargs) : ... -def read_parquet( - path: FilePathOrBuffer, engine: str = ..., columns: Optional[Sequence[str]] = ..., **kwargs -) -> DataFrame: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/parsers.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/parsers.pyi deleted file mode 100644 index fc66a4d9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/parsers.pyi +++ /dev/null @@ -1,1343 +0,0 @@ -from __future__ import annotations -from collections import abc -import sys -from pandas._typing import ( - FilePath as FilePath, - FilePathOrBuffer as FilePathOrBuffer, - Scalar as Scalar, - ReadBuffer as ReadBuffer, - AnyStr_cov as AnyStr_cov, - DtypeArg as DtypeArg, - CompressionOptions as CompressionOptions, - StorageOptions as StorageOptions, -) -from pandas.core.frame import DataFrame as DataFrame -from typing import Any, Callable, Dict, List, Mapping, Optional, Sequence, Union, overload, Protocol - -if sys.version_info >= (3, 8): - from typing import Literal -else: - from typing_extensions import Literal - -class ReadCsvBuffer(ReadBuffer[AnyStr_cov], Protocol): ... - -# read_csv engines -CSVEngine = Literal["c", "python", "pyarrow", "python-fwf"] - -# iterator=True -> TextFileReader -@overload -def read_csv( - filepath_or_buffer: Union[FilePath, ReadCsvBuffer[bytes], ReadCsvBuffer[str]], - *, - sep: Optional[str] = ..., - delimiter: Optional[str] = ..., - header: Optional[Union[int, Sequence[int], Literal["infer"]]] = ..., - names=..., - index_col=..., - usecols=..., - squeeze: Optional[bool] = ..., - prefix: Optional[str] = ..., - mangle_dupe_cols: bool = ..., - dtype: Optional[DtypeArg] = ..., - engine: Optional[CSVEngine] = ..., - converters=..., - true_values=..., - false_values=..., - skipinitialspace: bool = ..., - skiprows=..., - skipfooter: int = ..., - nrows: Optional[int] = ..., - na_values=..., - keep_default_na: bool = ..., - na_filter: bool = ..., - verbose: bool = ..., - skip_blank_lines: bool = ..., - parse_dates=..., - infer_datetime_format: bool = ..., - keep_date_col: bool = ..., - date_parser=..., - dayfirst: bool = ..., - cache_dates: bool = ..., - iterator: Literal[True], - chunksize: Optional[int] = ..., - compression: CompressionOptions = ..., - thousands: Optional[str] = ..., - decimal: str = ..., - lineterminator: Optional[str] = ..., - quotechar: str = ..., - quoting: int = ..., - doublequote: bool = ..., - escapechar: Optional[str] = ..., - comment: Optional[str] = ..., - encoding: Optional[str] = ..., - encoding_errors: Optional[str] = ..., - dialect=..., - error_bad_lines: Optional[bool] = ..., - warn_bad_lines: Optional[bool] = ..., - on_bad_lines=..., - delim_whitespace: bool = ..., - low_memory=..., - memory_map: bool = ..., - float_precision: Optional[Literal["high", "legacy"]] = ..., - storage_options: Optional[StorageOptions] = ..., -) -> TextFileReader: - """ -Read a comma-separated values (csv) file into DataFrame. - -Also supports optionally iterating or breaking of the file -into chunks. - -Additional help can be found in the online docs for -`IO Tools `_. - -Parameters ----------- -filepath_or_buffer : str, path object or file-like object - Any valid string path is acceptable. The string could be a URL. Valid - URL schemes include http, ftp, s3, gs, and file. For file URLs, a host is - expected. A local file could be: file://localhost/path/to/table.csv. - - If you want to pass in a path object, pandas accepts any ``os.PathLike``. - - By file-like object, we refer to objects with a ``read()`` method, such as - a file handle (e.g. via builtin ``open`` function) or ``StringIO``. -sep : str, default ',' - Delimiter to use. If sep is None, the C engine cannot automatically detect - the separator, but the Python parsing engine can, meaning the latter will - be used and automatically detect the separator by Python's builtin sniffer - tool, ``csv.Sniffer``. In addition, separators longer than 1 character and - different from ``'\s+'`` will be interpreted as regular expressions and - will also force the use of the Python parsing engine. Note that regex - delimiters are prone to ignoring quoted data. Regex example: ``'\r\t'``. -delimiter : str, default ``None`` - Alias for sep. -header : int, list of int, None, default 'infer' - Row number(s) to use as the column names, and the start of the - data. Default behavior is to infer the column names: if no names - are passed the behavior is identical to ``header=0`` and column - names are inferred from the first line of the file, if column - names are passed explicitly then the behavior is identical to - ``header=None``. Explicitly pass ``header=0`` to be able to - replace existing names. The header can be a list of integers that - specify row locations for a multi-index on the columns - e.g. [0,1,3]. Intervening rows that are not specified will be - skipped (e.g. 2 in this example is skipped). Note that this - parameter ignores commented lines and empty lines if - ``skip_blank_lines=True``, so ``header=0`` denotes the first line of - data rather than the first line of the file. -names : array-like, optional - List of column names to use. If the file contains a header row, - then you should explicitly pass ``header=0`` to override the column names. - Duplicates in this list are not allowed. -index_col : int, str, sequence of int / str, or False, optional, default ``None`` - Column(s) to use as the row labels of the ``DataFrame``, either given as - string name or column index. If a sequence of int / str is given, a - MultiIndex is used. - - Note: ``index_col=False`` can be used to force pandas to *not* use the first - column as the index, e.g. when you have a malformed file with delimiters at - the end of each line. -usecols : list-like or callable, optional - Return a subset of the columns. If list-like, all elements must either - be positional (i.e. integer indices into the document columns) or strings - that correspond to column names provided either by the user in `names` or - inferred from the document header row(s). If ``names`` are given, the document - header row(s) are not taken into account. For example, a valid list-like - `usecols` parameter would be ``[0, 1, 2]`` or ``['foo', 'bar', 'baz']``. - Element order is ignored, so ``usecols=[0, 1]`` is the same as ``[1, 0]``. - To instantiate a DataFrame from ``data`` with element order preserved use - ``pd.read_csv(data, usecols=['foo', 'bar'])[['foo', 'bar']]`` for columns - in ``['foo', 'bar']`` order or - ``pd.read_csv(data, usecols=['foo', 'bar'])[['bar', 'foo']]`` - for ``['bar', 'foo']`` order. - - If callable, the callable function will be evaluated against the column - names, returning names where the callable function evaluates to True. An - example of a valid callable argument would be ``lambda x: x.upper() in - ['AAA', 'BBB', 'DDD']``. Using this parameter results in much faster - parsing time and lower memory usage. -squeeze : bool, default False - If the parsed data only contains one column then return a Series. - - .. deprecated:: 1.4.0 - Append ``.squeeze("columns")`` to the call to ``read_csv`` to squeeze - the data. -prefix : str, optional - Prefix to add to column numbers when no header, e.g. 'X' for X0, X1, ... - - .. deprecated:: 1.4.0 - Use a list comprehension on the DataFrame's columns after calling ``read_csv``. -mangle_dupe_cols : bool, default True - Duplicate columns will be specified as 'X', 'X.1', ...'X.N', rather than - 'X'...'X'. Passing in False will cause data to be overwritten if there - are duplicate names in the columns. -dtype : Type name or dict of column -> type, optional - Data type for data or columns. E.g. {'a': np.float64, 'b': np.int32, - 'c': 'Int64'} - Use `str` or `object` together with suitable `na_values` settings - to preserve and not interpret dtype. - If converters are specified, they will be applied INSTEAD - of dtype conversion. -engine : {'c', 'python', 'pyarrow'}, optional - Parser engine to use. The C and pyarrow engines are faster, while the python engine - is currently more feature-complete. Multithreading is currently only supported by - the pyarrow engine. - - .. versionadded:: 1.4.0 - - The "pyarrow" engine was added as an *experimental* engine, and some features - are unsupported, or may not work correctly, with this engine. -converters : dict, optional - Dict of functions for converting values in certain columns. Keys can either - be integers or column labels. -true_values : list, optional - Values to consider as True. -false_values : list, optional - Values to consider as False. -skipinitialspace : bool, default False - Skip spaces after delimiter. -skiprows : list-like, int or callable, optional - Line numbers to skip (0-indexed) or number of lines to skip (int) - at the start of the file. - - If callable, the callable function will be evaluated against the row - indices, returning True if the row should be skipped and False otherwise. - An example of a valid callable argument would be ``lambda x: x in [0, 2]``. -skipfooter : int, default 0 - Number of lines at bottom of file to skip (Unsupported with engine='c'). -nrows : int, optional - Number of rows of file to read. Useful for reading pieces of large files. -na_values : scalar, str, list-like, or dict, optional - Additional strings to recognize as NA/NaN. If dict passed, specific - per-column NA values. By default the following values are interpreted as - NaN: '', '#N/A', '#N/A N/A', '#NA', '-1.#IND', '-1.#QNAN', '-NaN', '-nan', - '1.#IND', '1.#QNAN', '', 'N/A', 'NA', 'NULL', 'NaN', 'n/a', - 'nan', 'null'. -keep_default_na : bool, default True - Whether or not to include the default NaN values when parsing the data. - Depending on whether `na_values` is passed in, the behavior is as follows: - - * If `keep_default_na` is True, and `na_values` are specified, `na_values` - is appended to the default NaN values used for parsing. - * If `keep_default_na` is True, and `na_values` are not specified, only - the default NaN values are used for parsing. - * If `keep_default_na` is False, and `na_values` are specified, only - the NaN values specified `na_values` are used for parsing. - * If `keep_default_na` is False, and `na_values` are not specified, no - strings will be parsed as NaN. - - Note that if `na_filter` is passed in as False, the `keep_default_na` and - `na_values` parameters will be ignored. -na_filter : bool, default True - Detect missing value markers (empty strings and the value of na_values). In - data without any NAs, passing na_filter=False can improve the performance - of reading a large file. -verbose : bool, default False - Indicate number of NA values placed in non-numeric columns. -skip_blank_lines : bool, default True - If True, skip over blank lines rather than interpreting as NaN values. -parse_dates : bool or list of int or names or list of lists or dict, default False - The behavior is as follows: - - * boolean. If True -> try parsing the index. - * list of int or names. e.g. If [1, 2, 3] -> try parsing columns 1, 2, 3 - each as a separate date column. - * list of lists. e.g. If [[1, 3]] -> combine columns 1 and 3 and parse as - a single date column. - * dict, e.g. {'foo' : [1, 3]} -> parse columns 1, 3 as date and call - result 'foo' - - If a column or index cannot be represented as an array of datetimes, - say because of an unparsable value or a mixture of timezones, the column - or index will be returned unaltered as an object data type. For - non-standard datetime parsing, use ``pd.to_datetime`` after - ``pd.read_csv``. To parse an index or column with a mixture of timezones, - specify ``date_parser`` to be a partially-applied - :func:`pandas.to_datetime` with ``utc=True``. See - :ref:`io.csv.mixed_timezones` for more. - - Note: A fast-path exists for iso8601-formatted dates. -infer_datetime_format : bool, default False - If True and `parse_dates` is enabled, pandas will attempt to infer the - format of the datetime strings in the columns, and if it can be inferred, - switch to a faster method of parsing them. In some cases this can increase - the parsing speed by 5-10x. -keep_date_col : bool, default False - If True and `parse_dates` specifies combining multiple columns then - keep the original columns. -date_parser : function, optional - Function to use for converting a sequence of string columns to an array of - datetime instances. The default uses ``dateutil.parser.parser`` to do the - conversion. Pandas will try to call `date_parser` in three different ways, - advancing to the next if an exception occurs: 1) Pass one or more arrays - (as defined by `parse_dates`) as arguments; 2) concatenate (row-wise) the - string values from the columns defined by `parse_dates` into a single array - and pass that; and 3) call `date_parser` once for each row using one or - more strings (corresponding to the columns defined by `parse_dates`) as - arguments. -dayfirst : bool, default False - DD/MM format dates, international and European format. -cache_dates : bool, default True - If True, use a cache of unique, converted dates to apply the datetime - conversion. May produce significant speed-up when parsing duplicate - date strings, especially ones with timezone offsets. - - .. versionadded:: 0.25.0 -iterator : bool, default False - Return TextFileReader object for iteration or getting chunks with - ``get_chunk()``. - - .. versionchanged:: 1.2 - - ``TextFileReader`` is a context manager. -chunksize : int, optional - Return TextFileReader object for iteration. - See the `IO Tools docs - `_ - for more information on ``iterator`` and ``chunksize``. - - .. versionchanged:: 1.2 - - ``TextFileReader`` is a context manager. -compression : str or dict, default 'infer' - For on-the-fly decompression of on-disk data. If 'infer' and '%s' is - path-like, then detect compression from the following extensions: '.gz', - '.bz2', '.zip', '.xz', or '.zst' (otherwise no compression). If using - 'zip', the ZIP file must contain only one data file to be read in. Set to - ``None`` for no decompression. Can also be a dict with key ``'method'`` set - to one of {``'zip'``, ``'gzip'``, ``'bz2'``, ``'zstd'``} and other - key-value pairs are forwarded to ``zipfile.ZipFile``, ``gzip.GzipFile``, - ``bz2.BZ2File``, or ``zstandard.ZstdDecompressor``, respectively. As an - example, the following could be passed for Zstandard decompression using a - custom compression dictionary: - ``compression={'method': 'zstd', 'dict_data': my_compression_dict}``. - - .. versionchanged:: 1.4.0 Zstandard support. - -thousands : str, optional - Thousands separator. -decimal : str, default '.' - Character to recognize as decimal point (e.g. use ',' for European data). -lineterminator : str (length 1), optional - Character to break file into lines. Only valid with C parser. -quotechar : str (length 1), optional - The character used to denote the start and end of a quoted item. Quoted - items can include the delimiter and it will be ignored. -quoting : int or csv.QUOTE_* instance, default 0 - Control field quoting behavior per ``csv.QUOTE_*`` constants. Use one of - QUOTE_MINIMAL (0), QUOTE_ALL (1), QUOTE_NONNUMERIC (2) or QUOTE_NONE (3). -doublequote : bool, default ``True`` - When quotechar is specified and quoting is not ``QUOTE_NONE``, indicate - whether or not to interpret two consecutive quotechar elements INSIDE a - field as a single ``quotechar`` element. -escapechar : str (length 1), optional - One-character string used to escape other characters. -comment : str, optional - Indicates remainder of line should not be parsed. If found at the beginning - of a line, the line will be ignored altogether. This parameter must be a - single character. Like empty lines (as long as ``skip_blank_lines=True``), - fully commented lines are ignored by the parameter `header` but not by - `skiprows`. For example, if ``comment='#'``, parsing - ``#empty\na,b,c\n1,2,3`` with ``header=0`` will result in 'a,b,c' being - treated as the header. -encoding : str, optional - Encoding to use for UTF when reading/writing (ex. 'utf-8'). `List of Python - standard encodings - `_ . - - .. versionchanged:: 1.2 - - When ``encoding`` is ``None``, ``errors="replace"`` is passed to - ``open()``. Otherwise, ``errors="strict"`` is passed to ``open()``. - This behavior was previously only the case for ``engine="python"``. - - .. versionchanged:: 1.3.0 - - ``encoding_errors`` is a new argument. ``encoding`` has no longer an - influence on how encoding errors are handled. - -encoding_errors : str, optional, default "strict" - How encoding errors are treated. `List of possible values - `_ . - - .. versionadded:: 1.3.0 - -dialect : str or csv.Dialect, optional - If provided, this parameter will override values (default or not) for the - following parameters: `delimiter`, `doublequote`, `escapechar`, - `skipinitialspace`, `quotechar`, and `quoting`. If it is necessary to - override values, a ParserWarning will be issued. See csv.Dialect - documentation for more details. -error_bad_lines : bool, optional, default ``None`` - Lines with too many fields (e.g. a csv line with too many commas) will by - default cause an exception to be raised, and no DataFrame will be returned. - If False, then these "bad lines" will be dropped from the DataFrame that is - returned. - - .. deprecated:: 1.3.0 - The ``on_bad_lines`` parameter should be used instead to specify behavior upon - encountering a bad line instead. -warn_bad_lines : bool, optional, default ``None`` - If error_bad_lines is False, and warn_bad_lines is True, a warning for each - "bad line" will be output. - - .. deprecated:: 1.3.0 - The ``on_bad_lines`` parameter should be used instead to specify behavior upon - encountering a bad line instead. -on_bad_lines : {'error', 'warn', 'skip'} or callable, default 'error' - Specifies what to do upon encountering a bad line (a line with too many fields). - Allowed values are : - - - 'error', raise an Exception when a bad line is encountered. - - 'warn', raise a warning when a bad line is encountered and skip that line. - - 'skip', skip bad lines without raising or warning when they are encountered. - - .. versionadded:: 1.3.0 - - - callable, function with signature - ``(bad_line: list[str]) -> list[str] | None`` that will process a single - bad line. ``bad_line`` is a list of strings split by the ``sep``. - If the function returns ``None``, the bad line will be ignored. - If the function returns a new list of strings with more elements than - expected, a ``ParserWarning`` will be emitted while dropping extra elements. - Only supported when ``engine="python"`` - - .. versionadded:: 1.4.0 - -delim_whitespace : bool, default False - Specifies whether or not whitespace (e.g. ``' '`` or ``' '``) will be - used as the sep. Equivalent to setting ``sep='\s+'``. If this option - is set to True, nothing should be passed in for the ``delimiter`` - parameter. -low_memory : bool, default True - Internally process the file in chunks, resulting in lower memory use - while parsing, but possibly mixed type inference. To ensure no mixed - types either set False, or specify the type with the `dtype` parameter. - Note that the entire file is read into a single DataFrame regardless, - use the `chunksize` or `iterator` parameter to return the data in chunks. - (Only valid with C parser). -memory_map : bool, default False - If a filepath is provided for `filepath_or_buffer`, map the file object - directly onto memory and access the data directly from there. Using this - option can improve performance because there is no longer any I/O overhead. -float_precision : str, optional - Specifies which converter the C engine should use for floating-point - values. The options are ``None`` or 'high' for the ordinary converter, - 'legacy' for the original lower precision pandas converter, and - 'round_trip' for the round-trip converter. - - .. versionchanged:: 1.2 - -storage_options : dict, optional - Extra options that make sense for a particular storage connection, e.g. - host, port, username, password, etc. For HTTP(S) URLs the key-value pairs - are forwarded to ``urllib`` as header options. For other URLs (e.g. - starting with "s3://", and "gcs://") the key-value pairs are forwarded to - ``fsspec``. Please see ``fsspec`` and ``urllib`` for more details. - - .. versionadded:: 1.2 - -Returns -------- -DataFrame or TextParser - A comma-separated values (csv) file is returned as two-dimensional - data structure with labeled axes. - -See Also --------- -DataFrame.to_csv : Write DataFrame to a comma-separated values (csv) file. -read_csv : Read a comma-separated values (csv) file into DataFrame. -read_fwf : Read a table of fixed-width formatted lines into DataFrame. - -Examples --------- ->>> pd.read_csv('data.csv') # doctest: +SKIP - """ - pass - -# chunksize=int -> TextFileReader -@overload -def read_csv( - filepath_or_buffer: Union[FilePath, ReadCsvBuffer[bytes], ReadCsvBuffer[str]], - *, - sep: Optional[str] = ..., - delimiter: Optional[str] = ..., - header: Optional[Union[int, Sequence[int], Literal["infer"]]] = ..., - names=..., - index_col=..., - usecols=..., - squeeze: Optional[bool] = ..., - prefix: Optional[str] = ..., - mangle_dupe_cols: bool = ..., - dtype: Optional[DtypeArg] = ..., - engine: Optional[CSVEngine] = ..., - converters=..., - true_values=..., - false_values=..., - skipinitialspace: bool = ..., - skiprows=..., - skipfooter: int = ..., - nrows: Optional[int] = ..., - na_values=..., - keep_default_na: bool = ..., - na_filter: bool = ..., - verbose: bool = ..., - skip_blank_lines: bool = ..., - parse_dates=..., - infer_datetime_format: bool = ..., - keep_date_col: bool = ..., - date_parser=..., - dayfirst: bool = ..., - cache_dates: bool = ..., - iterator: bool = ..., - chunksize: int, - compression: CompressionOptions = ..., - thousands: Optional[str] = ..., - decimal: str = ..., - lineterminator: Optional[str] = ..., - quotechar: str = ..., - quoting: int = ..., - doublequote: bool = ..., - escapechar: Optional[str] = ..., - comment: Optional[str] = ..., - encoding: Optional[str] = ..., - encoding_errors: Optional[str] = ..., - dialect=..., - error_bad_lines: Optional[bool] = ..., - warn_bad_lines: Optional[bool] = ..., - on_bad_lines=..., - delim_whitespace: bool = ..., - low_memory=..., - memory_map: bool = ..., - float_precision: Optional[Literal["high", "legacy"]] = ..., - storage_options: Optional[StorageOptions] = ..., -) -> TextFileReader: ... - -# default case -> DataFrame -@overload -def read_csv( - filepath_or_buffer: Union[FilePath, ReadCsvBuffer[bytes], ReadCsvBuffer[str]], - *, - sep: Optional[str] = ..., - delimiter: Optional[str] = ..., - header: Optional[Union[int, Sequence[int], Literal["infer"]]] = ..., - names=..., - index_col=..., - usecols=..., - squeeze: Optional[bool] = ..., - prefix: Optional[str] = ..., - mangle_dupe_cols: bool = ..., - dtype: Optional[DtypeArg] = ..., - engine: Optional[CSVEngine] = ..., - converters=..., - true_values=..., - false_values=..., - skipinitialspace: bool = ..., - skiprows=..., - skipfooter: int = ..., - nrows: Optional[int] = ..., - na_values=..., - keep_default_na: bool = ..., - na_filter: bool = ..., - verbose: bool = ..., - skip_blank_lines: bool = ..., - parse_dates=..., - infer_datetime_format: bool = ..., - keep_date_col: bool = ..., - date_parser=..., - dayfirst: bool = ..., - cache_dates: bool = ..., - iterator: Literal[False] = ..., - chunksize: None = ..., - compression: CompressionOptions = ..., - thousands: Optional[str] = ..., - decimal: str = ..., - lineterminator: Optional[str] = ..., - quotechar: str = ..., - quoting: int = ..., - doublequote: bool = ..., - escapechar: Optional[str] = ..., - comment: Optional[str] = ..., - encoding: Optional[str] = ..., - encoding_errors: Optional[str] = ..., - dialect=..., - error_bad_lines: Optional[bool] = ..., - warn_bad_lines: Optional[bool] = ..., - on_bad_lines=..., - delim_whitespace: bool = ..., - low_memory=..., - memory_map: bool = ..., - float_precision: Optional[Literal["high", "legacy"]] = ..., - storage_options: Optional[StorageOptions] = ..., -) -> DataFrame: ... - -# Unions -> DataFrame | TextFileReader -@overload -def read_csv( - filepath_or_buffer: Union[FilePath, ReadCsvBuffer[bytes], ReadCsvBuffer[str]], - *, - sep: Optional[str] = ..., - delimiter: Optional[str] = ..., - header: Optional[Union[int, Sequence[int], Literal["infer"]]] = ..., - names=..., - index_col=..., - usecols=..., - squeeze: Optional[bool] = ..., - prefix: Optional[str] = ..., - mangle_dupe_cols: bool = ..., - dtype: Optional[DtypeArg] = ..., - engine: Optional[CSVEngine] = ..., - converters=..., - true_values=..., - false_values=..., - skipinitialspace: bool = ..., - skiprows=..., - skipfooter: int = ..., - nrows: Optional[int] = ..., - na_values=..., - keep_default_na: bool = ..., - na_filter: bool = ..., - verbose: bool = ..., - skip_blank_lines: bool = ..., - parse_dates=..., - infer_datetime_format: bool = ..., - keep_date_col: bool = ..., - date_parser=..., - dayfirst: bool = ..., - cache_dates: bool = ..., - iterator: bool = ..., - chunksize: Optional[int] = ..., - compression: CompressionOptions = ..., - thousands: Optional[str] = ..., - decimal: str = ..., - lineterminator: Optional[str] = ..., - quotechar: str = ..., - quoting: int = ..., - doublequote: bool = ..., - escapechar: Optional[str] = ..., - comment: Optional[str] = ..., - encoding: Optional[str] = ..., - encoding_errors: Optional[str] = ..., - dialect=..., - error_bad_lines: Optional[bool] = ..., - warn_bad_lines: Optional[bool] = ..., - on_bad_lines=..., - delim_whitespace: bool = ..., - low_memory=..., - memory_map: bool = ..., - float_precision: Optional[Literal["high", "legacy"]] = ..., - storage_options: Optional[StorageOptions] = ..., -) -> DataFrame | TextFileReader: ... - -# iterator=True -> TextFileReader -@overload -def read_table( - filepath_or_buffer: Union[FilePath, ReadCsvBuffer[bytes], ReadCsvBuffer[str]], - *, - sep: Optional[str] = ..., - delimiter: Optional[str] = ..., - header: Optional[Union[int, Sequence[int], Literal["infer"]]] = ..., - names=..., - index_col=..., - usecols=..., - squeeze: Optional[bool] = ..., - prefix: Optional[str] = ..., - mangle_dupe_cols: bool = ..., - dtype: Optional[DtypeArg] = ..., - engine: Optional[CSVEngine] = ..., - converters=..., - true_values=..., - false_values=..., - skipinitialspace: bool = ..., - skiprows=..., - skipfooter: int = ..., - nrows: Optional[int] = ..., - na_values=..., - keep_default_na: bool = ..., - na_filter: bool = ..., - verbose: bool = ..., - skip_blank_lines: bool = ..., - parse_dates=..., - infer_datetime_format: bool = ..., - keep_date_col: bool = ..., - date_parser=..., - dayfirst: bool = ..., - cache_dates: bool = ..., - iterator: Literal[True], - chunksize: Optional[int] = ..., - compression: CompressionOptions = ..., - thousands: Optional[str] = ..., - decimal: str = ..., - lineterminator: Optional[str] = ..., - quotechar: str = ..., - quoting: int = ..., - doublequote: bool = ..., - escapechar: Optional[str] = ..., - comment: Optional[str] = ..., - encoding: Optional[str] = ..., - encoding_errors: Optional[str] = ..., - dialect=..., - error_bad_lines: Optional[bool] = ..., - warn_bad_lines: Optional[bool] = ..., - on_bad_lines=..., - delim_whitespace: bool = ..., - low_memory=..., - memory_map: bool = ..., - float_precision: Optional[Literal["high", "legacy"]] = ..., - storage_options: Optional[StorageOptions] = ..., -) -> TextFileReader: - """ -Read general delimited file into DataFrame. - -Also supports optionally iterating or breaking of the file -into chunks. - -Additional help can be found in the online docs for -`IO Tools `_. - -Parameters ----------- -filepath_or_buffer : str, path object or file-like object - Any valid string path is acceptable. The string could be a URL. Valid - URL schemes include http, ftp, s3, gs, and file. For file URLs, a host is - expected. A local file could be: file://localhost/path/to/table.csv. - - If you want to pass in a path object, pandas accepts any ``os.PathLike``. - - By file-like object, we refer to objects with a ``read()`` method, such as - a file handle (e.g. via builtin ``open`` function) or ``StringIO``. -sep : str, default '\\t' (tab-stop) - Delimiter to use. If sep is None, the C engine cannot automatically detect - the separator, but the Python parsing engine can, meaning the latter will - be used and automatically detect the separator by Python's builtin sniffer - tool, ``csv.Sniffer``. In addition, separators longer than 1 character and - different from ``'\s+'`` will be interpreted as regular expressions and - will also force the use of the Python parsing engine. Note that regex - delimiters are prone to ignoring quoted data. Regex example: ``'\r\t'``. -delimiter : str, default ``None`` - Alias for sep. -header : int, list of int, None, default 'infer' - Row number(s) to use as the column names, and the start of the - data. Default behavior is to infer the column names: if no names - are passed the behavior is identical to ``header=0`` and column - names are inferred from the first line of the file, if column - names are passed explicitly then the behavior is identical to - ``header=None``. Explicitly pass ``header=0`` to be able to - replace existing names. The header can be a list of integers that - specify row locations for a multi-index on the columns - e.g. [0,1,3]. Intervening rows that are not specified will be - skipped (e.g. 2 in this example is skipped). Note that this - parameter ignores commented lines and empty lines if - ``skip_blank_lines=True``, so ``header=0`` denotes the first line of - data rather than the first line of the file. -names : array-like, optional - List of column names to use. If the file contains a header row, - then you should explicitly pass ``header=0`` to override the column names. - Duplicates in this list are not allowed. -index_col : int, str, sequence of int / str, or False, optional, default ``None`` - Column(s) to use as the row labels of the ``DataFrame``, either given as - string name or column index. If a sequence of int / str is given, a - MultiIndex is used. - - Note: ``index_col=False`` can be used to force pandas to *not* use the first - column as the index, e.g. when you have a malformed file with delimiters at - the end of each line. -usecols : list-like or callable, optional - Return a subset of the columns. If list-like, all elements must either - be positional (i.e. integer indices into the document columns) or strings - that correspond to column names provided either by the user in `names` or - inferred from the document header row(s). If ``names`` are given, the document - header row(s) are not taken into account. For example, a valid list-like - `usecols` parameter would be ``[0, 1, 2]`` or ``['foo', 'bar', 'baz']``. - Element order is ignored, so ``usecols=[0, 1]`` is the same as ``[1, 0]``. - To instantiate a DataFrame from ``data`` with element order preserved use - ``pd.read_csv(data, usecols=['foo', 'bar'])[['foo', 'bar']]`` for columns - in ``['foo', 'bar']`` order or - ``pd.read_csv(data, usecols=['foo', 'bar'])[['bar', 'foo']]`` - for ``['bar', 'foo']`` order. - - If callable, the callable function will be evaluated against the column - names, returning names where the callable function evaluates to True. An - example of a valid callable argument would be ``lambda x: x.upper() in - ['AAA', 'BBB', 'DDD']``. Using this parameter results in much faster - parsing time and lower memory usage. -squeeze : bool, default False - If the parsed data only contains one column then return a Series. - - .. deprecated:: 1.4.0 - Append ``.squeeze("columns")`` to the call to ``read_table`` to squeeze - the data. -prefix : str, optional - Prefix to add to column numbers when no header, e.g. 'X' for X0, X1, ... - - .. deprecated:: 1.4.0 - Use a list comprehension on the DataFrame's columns after calling ``read_csv``. -mangle_dupe_cols : bool, default True - Duplicate columns will be specified as 'X', 'X.1', ...'X.N', rather than - 'X'...'X'. Passing in False will cause data to be overwritten if there - are duplicate names in the columns. -dtype : Type name or dict of column -> type, optional - Data type for data or columns. E.g. {'a': np.float64, 'b': np.int32, - 'c': 'Int64'} - Use `str` or `object` together with suitable `na_values` settings - to preserve and not interpret dtype. - If converters are specified, they will be applied INSTEAD - of dtype conversion. -engine : {'c', 'python', 'pyarrow'}, optional - Parser engine to use. The C and pyarrow engines are faster, while the python engine - is currently more feature-complete. Multithreading is currently only supported by - the pyarrow engine. - - .. versionadded:: 1.4.0 - - The "pyarrow" engine was added as an *experimental* engine, and some features - are unsupported, or may not work correctly, with this engine. -converters : dict, optional - Dict of functions for converting values in certain columns. Keys can either - be integers or column labels. -true_values : list, optional - Values to consider as True. -false_values : list, optional - Values to consider as False. -skipinitialspace : bool, default False - Skip spaces after delimiter. -skiprows : list-like, int or callable, optional - Line numbers to skip (0-indexed) or number of lines to skip (int) - at the start of the file. - - If callable, the callable function will be evaluated against the row - indices, returning True if the row should be skipped and False otherwise. - An example of a valid callable argument would be ``lambda x: x in [0, 2]``. -skipfooter : int, default 0 - Number of lines at bottom of file to skip (Unsupported with engine='c'). -nrows : int, optional - Number of rows of file to read. Useful for reading pieces of large files. -na_values : scalar, str, list-like, or dict, optional - Additional strings to recognize as NA/NaN. If dict passed, specific - per-column NA values. By default the following values are interpreted as - NaN: '', '#N/A', '#N/A N/A', '#NA', '-1.#IND', '-1.#QNAN', '-NaN', '-nan', - '1.#IND', '1.#QNAN', '', 'N/A', 'NA', 'NULL', 'NaN', 'n/a', - 'nan', 'null'. -keep_default_na : bool, default True - Whether or not to include the default NaN values when parsing the data. - Depending on whether `na_values` is passed in, the behavior is as follows: - - * If `keep_default_na` is True, and `na_values` are specified, `na_values` - is appended to the default NaN values used for parsing. - * If `keep_default_na` is True, and `na_values` are not specified, only - the default NaN values are used for parsing. - * If `keep_default_na` is False, and `na_values` are specified, only - the NaN values specified `na_values` are used for parsing. - * If `keep_default_na` is False, and `na_values` are not specified, no - strings will be parsed as NaN. - - Note that if `na_filter` is passed in as False, the `keep_default_na` and - `na_values` parameters will be ignored. -na_filter : bool, default True - Detect missing value markers (empty strings and the value of na_values). In - data without any NAs, passing na_filter=False can improve the performance - of reading a large file. -verbose : bool, default False - Indicate number of NA values placed in non-numeric columns. -skip_blank_lines : bool, default True - If True, skip over blank lines rather than interpreting as NaN values. -parse_dates : bool or list of int or names or list of lists or dict, default False - The behavior is as follows: - - * boolean. If True -> try parsing the index. - * list of int or names. e.g. If [1, 2, 3] -> try parsing columns 1, 2, 3 - each as a separate date column. - * list of lists. e.g. If [[1, 3]] -> combine columns 1 and 3 and parse as - a single date column. - * dict, e.g. {'foo' : [1, 3]} -> parse columns 1, 3 as date and call - result 'foo' - - If a column or index cannot be represented as an array of datetimes, - say because of an unparsable value or a mixture of timezones, the column - or index will be returned unaltered as an object data type. For - non-standard datetime parsing, use ``pd.to_datetime`` after - ``pd.read_csv``. To parse an index or column with a mixture of timezones, - specify ``date_parser`` to be a partially-applied - :func:`pandas.to_datetime` with ``utc=True``. See - :ref:`io.csv.mixed_timezones` for more. - - Note: A fast-path exists for iso8601-formatted dates. -infer_datetime_format : bool, default False - If True and `parse_dates` is enabled, pandas will attempt to infer the - format of the datetime strings in the columns, and if it can be inferred, - switch to a faster method of parsing them. In some cases this can increase - the parsing speed by 5-10x. -keep_date_col : bool, default False - If True and `parse_dates` specifies combining multiple columns then - keep the original columns. -date_parser : function, optional - Function to use for converting a sequence of string columns to an array of - datetime instances. The default uses ``dateutil.parser.parser`` to do the - conversion. Pandas will try to call `date_parser` in three different ways, - advancing to the next if an exception occurs: 1) Pass one or more arrays - (as defined by `parse_dates`) as arguments; 2) concatenate (row-wise) the - string values from the columns defined by `parse_dates` into a single array - and pass that; and 3) call `date_parser` once for each row using one or - more strings (corresponding to the columns defined by `parse_dates`) as - arguments. -dayfirst : bool, default False - DD/MM format dates, international and European format. -cache_dates : bool, default True - If True, use a cache of unique, converted dates to apply the datetime - conversion. May produce significant speed-up when parsing duplicate - date strings, especially ones with timezone offsets. - - .. versionadded:: 0.25.0 -iterator : bool, default False - Return TextFileReader object for iteration or getting chunks with - ``get_chunk()``. - - .. versionchanged:: 1.2 - - ``TextFileReader`` is a context manager. -chunksize : int, optional - Return TextFileReader object for iteration. - See the `IO Tools docs - `_ - for more information on ``iterator`` and ``chunksize``. - - .. versionchanged:: 1.2 - - ``TextFileReader`` is a context manager. -compression : str or dict, default 'infer' - For on-the-fly decompression of on-disk data. If 'infer' and '%s' is - path-like, then detect compression from the following extensions: '.gz', - '.bz2', '.zip', '.xz', or '.zst' (otherwise no compression). If using - 'zip', the ZIP file must contain only one data file to be read in. Set to - ``None`` for no decompression. Can also be a dict with key ``'method'`` set - to one of {``'zip'``, ``'gzip'``, ``'bz2'``, ``'zstd'``} and other - key-value pairs are forwarded to ``zipfile.ZipFile``, ``gzip.GzipFile``, - ``bz2.BZ2File``, or ``zstandard.ZstdDecompressor``, respectively. As an - example, the following could be passed for Zstandard decompression using a - custom compression dictionary: - ``compression={'method': 'zstd', 'dict_data': my_compression_dict}``. - - .. versionchanged:: 1.4.0 Zstandard support. - -thousands : str, optional - Thousands separator. -decimal : str, default '.' - Character to recognize as decimal point (e.g. use ',' for European data). -lineterminator : str (length 1), optional - Character to break file into lines. Only valid with C parser. -quotechar : str (length 1), optional - The character used to denote the start and end of a quoted item. Quoted - items can include the delimiter and it will be ignored. -quoting : int or csv.QUOTE_* instance, default 0 - Control field quoting behavior per ``csv.QUOTE_*`` constants. Use one of - QUOTE_MINIMAL (0), QUOTE_ALL (1), QUOTE_NONNUMERIC (2) or QUOTE_NONE (3). -doublequote : bool, default ``True`` - When quotechar is specified and quoting is not ``QUOTE_NONE``, indicate - whether or not to interpret two consecutive quotechar elements INSIDE a - field as a single ``quotechar`` element. -escapechar : str (length 1), optional - One-character string used to escape other characters. -comment : str, optional - Indicates remainder of line should not be parsed. If found at the beginning - of a line, the line will be ignored altogether. This parameter must be a - single character. Like empty lines (as long as ``skip_blank_lines=True``), - fully commented lines are ignored by the parameter `header` but not by - `skiprows`. For example, if ``comment='#'``, parsing - ``#empty\na,b,c\n1,2,3`` with ``header=0`` will result in 'a,b,c' being - treated as the header. -encoding : str, optional - Encoding to use for UTF when reading/writing (ex. 'utf-8'). `List of Python - standard encodings - `_ . - - .. versionchanged:: 1.2 - - When ``encoding`` is ``None``, ``errors="replace"`` is passed to - ``open()``. Otherwise, ``errors="strict"`` is passed to ``open()``. - This behavior was previously only the case for ``engine="python"``. - - .. versionchanged:: 1.3.0 - - ``encoding_errors`` is a new argument. ``encoding`` has no longer an - influence on how encoding errors are handled. - -encoding_errors : str, optional, default "strict" - How encoding errors are treated. `List of possible values - `_ . - - .. versionadded:: 1.3.0 - -dialect : str or csv.Dialect, optional - If provided, this parameter will override values (default or not) for the - following parameters: `delimiter`, `doublequote`, `escapechar`, - `skipinitialspace`, `quotechar`, and `quoting`. If it is necessary to - override values, a ParserWarning will be issued. See csv.Dialect - documentation for more details. -error_bad_lines : bool, optional, default ``None`` - Lines with too many fields (e.g. a csv line with too many commas) will by - default cause an exception to be raised, and no DataFrame will be returned. - If False, then these "bad lines" will be dropped from the DataFrame that is - returned. - - .. deprecated:: 1.3.0 - The ``on_bad_lines`` parameter should be used instead to specify behavior upon - encountering a bad line instead. -warn_bad_lines : bool, optional, default ``None`` - If error_bad_lines is False, and warn_bad_lines is True, a warning for each - "bad line" will be output. - - .. deprecated:: 1.3.0 - The ``on_bad_lines`` parameter should be used instead to specify behavior upon - encountering a bad line instead. -on_bad_lines : {'error', 'warn', 'skip'} or callable, default 'error' - Specifies what to do upon encountering a bad line (a line with too many fields). - Allowed values are : - - - 'error', raise an Exception when a bad line is encountered. - - 'warn', raise a warning when a bad line is encountered and skip that line. - - 'skip', skip bad lines without raising or warning when they are encountered. - - .. versionadded:: 1.3.0 - - - callable, function with signature - ``(bad_line: list[str]) -> list[str] | None`` that will process a single - bad line. ``bad_line`` is a list of strings split by the ``sep``. - If the function returns ``None``, the bad line will be ignored. - If the function returns a new list of strings with more elements than - expected, a ``ParserWarning`` will be emitted while dropping extra elements. - Only supported when ``engine="python"`` - - .. versionadded:: 1.4.0 - -delim_whitespace : bool, default False - Specifies whether or not whitespace (e.g. ``' '`` or ``' '``) will be - used as the sep. Equivalent to setting ``sep='\s+'``. If this option - is set to True, nothing should be passed in for the ``delimiter`` - parameter. -low_memory : bool, default True - Internally process the file in chunks, resulting in lower memory use - while parsing, but possibly mixed type inference. To ensure no mixed - types either set False, or specify the type with the `dtype` parameter. - Note that the entire file is read into a single DataFrame regardless, - use the `chunksize` or `iterator` parameter to return the data in chunks. - (Only valid with C parser). -memory_map : bool, default False - If a filepath is provided for `filepath_or_buffer`, map the file object - directly onto memory and access the data directly from there. Using this - option can improve performance because there is no longer any I/O overhead. -float_precision : str, optional - Specifies which converter the C engine should use for floating-point - values. The options are ``None`` or 'high' for the ordinary converter, - 'legacy' for the original lower precision pandas converter, and - 'round_trip' for the round-trip converter. - - .. versionchanged:: 1.2 - -storage_options : dict, optional - Extra options that make sense for a particular storage connection, e.g. - host, port, username, password, etc. For HTTP(S) URLs the key-value pairs - are forwarded to ``urllib`` as header options. For other URLs (e.g. - starting with "s3://", and "gcs://") the key-value pairs are forwarded to - ``fsspec``. Please see ``fsspec`` and ``urllib`` for more details. - - .. versionadded:: 1.2 - -Returns -------- -DataFrame or TextParser - A comma-separated values (csv) file is returned as two-dimensional - data structure with labeled axes. - -See Also --------- -DataFrame.to_csv : Write DataFrame to a comma-separated values (csv) file. -read_csv : Read a comma-separated values (csv) file into DataFrame. -read_fwf : Read a table of fixed-width formatted lines into DataFrame. - -Examples --------- ->>> pd.read_table('data.csv') # doctest: +SKIP - """ - pass - -# chunksize=int -> TextFileReader -@overload -def read_table( - filepath_or_buffer: Union[FilePath, ReadCsvBuffer[bytes], ReadCsvBuffer[str]], - *, - sep: Optional[str] = ..., - delimiter: Optional[str] = ..., - header: Optional[Union[int, Sequence[int], Literal["infer"]]] = ..., - names=..., - index_col=..., - usecols=..., - squeeze: Optional[bool] = ..., - prefix: Optional[str] = ..., - mangle_dupe_cols: bool = ..., - dtype: Optional[DtypeArg] = ..., - engine: Optional[CSVEngine] = ..., - converters=..., - true_values=..., - false_values=..., - skipinitialspace: bool = ..., - skiprows=..., - skipfooter: int = ..., - nrows: Optional[int] = ..., - na_values=..., - keep_default_na: bool = ..., - na_filter: bool = ..., - verbose: bool = ..., - skip_blank_lines: bool = ..., - parse_dates=..., - infer_datetime_format: bool = ..., - keep_date_col: bool = ..., - date_parser=..., - dayfirst: bool = ..., - cache_dates: bool = ..., - iterator: bool = ..., - chunksize: int, - compression: CompressionOptions = ..., - thousands: Optional[str] = ..., - decimal: str = ..., - lineterminator: Optional[str] = ..., - quotechar: str = ..., - quoting: int = ..., - doublequote: bool = ..., - escapechar: Optional[str] = ..., - comment: Optional[str] = ..., - encoding: Optional[str] = ..., - encoding_errors: Optional[str] = ..., - dialect=..., - error_bad_lines: Optional[bool] = ..., - warn_bad_lines: Optional[bool] = ..., - on_bad_lines=..., - delim_whitespace: bool = ..., - low_memory=..., - memory_map: bool = ..., - float_precision: Optional[Literal["high", "legacy"]] = ..., - storage_options: Optional[StorageOptions] = ..., -) -> TextFileReader: ... - -# default case -> DataFrame -@overload -def read_table( - filepath_or_buffer: Union[FilePath, ReadCsvBuffer[bytes], ReadCsvBuffer[str]], - *, - sep: Optional[str] = ..., - delimiter: Optional[str] = ..., - header: Optional[Union[int, Sequence[int], Literal["infer"]]] = ..., - names=..., - index_col=..., - usecols=..., - squeeze: Optional[bool] = ..., - prefix: Optional[str] = ..., - mangle_dupe_cols: bool = ..., - dtype: Optional[DtypeArg] = ..., - engine: Optional[CSVEngine] = ..., - converters=..., - true_values=..., - false_values=..., - skipinitialspace: bool = ..., - skiprows=..., - skipfooter: int = ..., - nrows: Optional[int] = ..., - na_values=..., - keep_default_na: bool = ..., - na_filter: bool = ..., - verbose: bool = ..., - skip_blank_lines: bool = ..., - parse_dates=..., - infer_datetime_format: bool = ..., - keep_date_col: bool = ..., - date_parser=..., - dayfirst: bool = ..., - cache_dates: bool = ..., - iterator: Literal[False] = ..., - chunksize: None = ..., - compression: CompressionOptions = ..., - thousands: Optional[str] = ..., - decimal: str = ..., - lineterminator: Optional[str] = ..., - quotechar: str = ..., - quoting: int = ..., - doublequote: bool = ..., - escapechar: Optional[str] = ..., - comment: Optional[str] = ..., - encoding: Optional[str] = ..., - encoding_errors: Optional[str] = ..., - dialect=..., - error_bad_lines: Optional[bool] = ..., - warn_bad_lines: Optional[bool] = ..., - on_bad_lines=..., - delim_whitespace: bool = ..., - low_memory=..., - memory_map: bool = ..., - float_precision: Optional[Literal["high", "legacy"]] = ..., - storage_options: Optional[StorageOptions] = ..., -) -> DataFrame: ... - -# Unions -> DataFrame | TextFileReader -@overload -def read_table( - filepath_or_buffer: Union[FilePath, ReadCsvBuffer[bytes], ReadCsvBuffer[str]], - *, - sep: Optional[str] = ..., - delimiter: Optional[str] = ..., - header: Optional[Union[int, Sequence[int], Literal["infer"]]] = ..., - names=..., - index_col=..., - usecols=..., - squeeze: Optional[bool] = ..., - prefix: Optional[str] = ..., - mangle_dupe_cols: bool = ..., - dtype: Optional[DtypeArg] = ..., - engine: Optional[CSVEngine] = ..., - converters=..., - true_values=..., - false_values=..., - skipinitialspace: bool = ..., - skiprows=..., - skipfooter: int = ..., - nrows: Optional[int] = ..., - na_values=..., - keep_default_na: bool = ..., - na_filter: bool = ..., - verbose: bool = ..., - skip_blank_lines: bool = ..., - parse_dates=..., - infer_datetime_format: bool = ..., - keep_date_col: bool = ..., - date_parser=..., - dayfirst: bool = ..., - cache_dates: bool = ..., - iterator: bool = ..., - chunksize: Optional[int] = ..., - compression: CompressionOptions = ..., - thousands: Optional[str] = ..., - decimal: str = ..., - lineterminator: Optional[str] = ..., - quotechar: str = ..., - quoting: int = ..., - doublequote: bool = ..., - escapechar: Optional[str] = ..., - comment: Optional[str] = ..., - encoding: Optional[str] = ..., - encoding_errors: Optional[str] = ..., - dialect=..., - error_bad_lines: Optional[bool] = ..., - warn_bad_lines: Optional[bool] = ..., - on_bad_lines=..., - delim_whitespace: bool = ..., - low_memory=..., - memory_map: bool = ..., - float_precision: Optional[Literal["high", "legacy"]] = ..., - storage_options: Optional[StorageOptions] = ..., -) -> DataFrame | TextFileReader: ... -def read_fwf(filepath_or_buffer: FilePathOrBuffer, colspecs=..., widths=..., infer_nrows=..., **kwds): ... - -class TextFileReader(abc.Iterator): - f = ... - orig_options = ... - engine = ... - chunksize = ... - nrows = ... - squeeze = ... - def __init__(self, f, engine=..., **kwds) -> None: ... - def close(self) -> None: ... - def __next__(self): ... - def read(self, nrows=...): ... - def get_chunk(self, size=...): ... - -class ParserBase: - names = ... - orig_names = ... - prefix = ... - index_col = ... - unnamed_cols = ... - index_names = ... - col_names = ... - parse_dates = ... - date_parser = ... - dayfirst = ... - keep_date_col = ... - na_values = ... - na_fvalues = ... - na_filter = ... - keep_default_na = ... - true_values = ... - false_values = ... - mangle_dupe_cols = ... - infer_datetime_format = ... - cache_dates = ... - header = ... - handles = ... - def __init__(self, kwds) -> None: ... - def close(self) -> None: ... - -class CParserWrapper(ParserBase): - kwds = ... - unnamed_cols = ... - names = ... - orig_names = ... - index_names = ... - def __init__(self, src, **kwds) -> None: ... - def close(self) -> None: ... - def set_error_bad_lines(self, status) -> None: ... - def read(self, nrows=...): ... - -def TextParser(*args, **kwds): ... -def count_empty_vals(vals): ... - -class PythonParser(ParserBase): - data = ... - buf = ... - pos: int = ... - line_pos: int = ... - encoding = ... - compression = ... - memory_map = ... - skiprows = ... - skipfunc = ... - skipfooter = ... - delimiter = ... - quotechar = ... - escapechar = ... - doublequote = ... - skipinitialspace = ... - lineterminator = ... - quoting = ... - skip_blank_lines = ... - warn_bad_lines = ... - error_bad_lines = ... - names_passed = ... - has_index_names: bool = ... - verbose = ... - converters = ... - dtype = ... - thousands = ... - decimal = ... - comment = ... - num_original_columns = ... - columns = ... - orig_names = ... - index_names = ... - nonnum = ... - def __init__(self, f, **kwds): ... - def read(self, rows=...): ... - def get_chunk(self, size=...): ... - -class FixedWidthReader(abc.Iterator): - f = ... - buffer = ... - delimiter = ... - comment = ... - colspecs = ... - def __init__(self, f, colspecs, delimiter, comment, skiprows=..., infer_nrows: int = ...) -> None: ... - def get_rows(self, infer_nrows, skiprows=...): ... - def detect_colspecs(self, infer_nrows: int = ..., skiprows=...): ... - def __next__(self): ... - -class FixedWidthFieldParser(PythonParser): - colspecs = ... - infer_nrows = ... - def __init__(self, f, **kwds) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/pickle.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/pickle.pyi deleted file mode 100644 index cf45f77e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/pickle.pyi +++ /dev/null @@ -1,13 +0,0 @@ -import sys -from pandas._typing import FilePathOrBuffer as FilePathOrBuffer -from typing import Optional, Union -if sys.version_info >= (3, 8): - from typing import Literal -else: - from typing_extensions import Literal - -def to_pickle(obj, filepath_or_buffer: FilePathOrBuffer, compression: Optional[str]=..., protocol: int=...) : ... -def read_pickle( - filepath_or_buffer_or_reader: FilePathOrBuffer, - compression: Optional[Union[str, Literal["infer", "gzip", "bz2", "zip", "xz"]]] = ..., -) : ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/pytables.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/pytables.pyi deleted file mode 100644 index 1056de74..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/pytables.pyi +++ /dev/null @@ -1,427 +0,0 @@ -import numpy as np -from pandas.core.indexes.base import Index -from pandas.core.indexes.multi import MultiIndex -from pandas.core.series import Series as Series -from pandas.core.frame import DataFrame as DataFrame -from pandas._typing import FilePathOrBuffer as FilePathOrBuffer -from pandas._typing import ArrayLike as ArrayLike, FilePathOrBuffer as FilePathOrBuffer, FrameOrSeries as FrameOrSeries -from pandas.core.computation.pytables import PyTablesExpr as PyTablesExpr -from pandas.core.dtypes.generic import ABCExtensionArray as ABCExtensionArray -from tables import Col, File as File, Node -from typing import Any, Dict, Hashable, List, Optional, Tuple, Type, Union - -Term = PyTablesExpr - -class PossibleDataLossError(Exception): ... -class ClosedFileError(Exception): ... -class IncompatibilityWarning(Warning): ... - -incompatibility_doc: str - -class AttributeConflictWarning(Warning): ... - -attribute_conflict_doc: str - -class DuplicateWarning(Warning): ... - -duplicate_doc: str -performance_doc: str -dropna_doc: str -format_doc: str - -def to_hdf(path_or_buf: FilePathOrBuffer, key: str, value: NDFrame, mode: str=..., complevel: Optional[int]=..., complib: Optional[str]=..., append: bool=..., format: Optional[str]=..., index: bool=..., min_itemsize: Optional[Union[int, Dict[str, int]]]=..., nan_rep=..., dropna: Optional[bool]=..., data_columns: Optional[List[str]]=..., errors: str=..., encoding: str=...) : ... -def read_hdf( - path_or_buf: FilePathOrBuffer, - key = ..., - mode: str = ..., - errors: str = ..., - where: Optional[List[Any]] = ..., - start: Optional[int] = ..., - stop: Optional[int] = ..., - columns: Optional[List[str]] = ..., - iterator: bool = ..., - chunksize: Optional[int] = ..., - **kwargs -) : ... - -class HDFStore: - def __init__(self, path, mode: str=..., complevel: Optional[int]=..., complib=..., fletcher32: bool=..., **kwargs) -> None: ... - def __fspath__(self): ... - @property - def root(self): ... - @property - def filename(self): ... - def __getitem__(self, key: str) : ... - def __setitem__(self, key: str, value) : ... - def __delitem__(self, key: str) : ... - def __getattr__(self, name: str) : ... - def __contains__(self, key: str) -> bool: ... - def __len__(self) -> int: ... - def __enter__(self): ... - def __exit__(self, exc_type, exc_value, traceback) -> None: ... - def keys(self) -> List[str]: ... - def __iter__(self) : ... - def items(self) -> None: ... - iteritems = ... - def open(self, mode: str=..., **kwargs) : ... - def close(self) -> None: ... - @property - def is_open(self) -> bool: ... - def flush(self, fsync: bool=...) : ... - def get(self, key: str) : ... - def select(self, key: str, where=..., start=..., stop=..., columns=..., iterator=..., chunksize=..., auto_close: bool=...) : ... - def select_as_coordinates(self, key: str, where=..., start: Optional[int]=..., stop: Optional[int]=...) : ... - def select_column(self, key: str, column: str, start: Optional[int]=..., stop: Optional[int]=...) : ... - def select_as_multiple(self, keys, where=..., selector=..., columns=..., start=..., stop=..., iterator=..., chunksize=..., auto_close: bool=...) : ... - def put(self, key: str, value: NDFrame, format=..., index=..., append=..., complib=..., complevel: Optional[int]=..., min_itemsize: Optional[Union[int, Dict[str, int]]]=..., nan_rep=..., data_columns: Optional[List[str]]=..., encoding=..., errors: str=...) : ... - def remove(self, key: str, where=..., start=..., stop=...) : ... - def append(self, key: str, value: NDFrame, format=..., axes=..., index=..., append=..., complib=..., complevel: Optional[int]=..., columns=..., min_itemsize: Optional[Union[int, Dict[str, int]]]=..., nan_rep=..., chunksize=..., expectedrows=..., dropna: Optional[bool]=..., data_columns: Optional[List[str]]=..., encoding=..., errors: str=...) : ... - def append_to_multiple(self, d: Dict, value, selector, data_columns=..., axes=..., dropna=..., **kwargs) : ... - def create_table_index(self, key: str, columns=..., optlevel: Optional[int]=..., kind: Optional[str]=...) : ... - def groups(self): ... - def walk(self, where: str = ...) -> None: ... - def get_node(self, key: str) -> Optional[Node]: ... - def get_storer(self, key: str) -> Union[GenericFixed, Table]: ... - def copy(self, file, mode=..., propindexes: bool=..., keys=..., complib=..., complevel: Optional[int]=..., fletcher32: bool=..., overwrite=...) : ... - def info(self) -> str: ... - -class TableIterator: - chunksize: Optional[int] - store: HDFStore - s: Union[GenericFixed, Table] - func = ... - where = ... - nrows = ... - start = ... - stop = ... - coordinates = ... - auto_close = ... - def __init__(self, store: HDFStore, s: Union[GenericFixed, Table], func, where, nrows, start=..., stop=..., iterator: bool=..., chunksize: Optional[int]=..., auto_close: bool=...) -> None: ... - def __iter__(self) : ... - def close(self) -> None: ... - def get_result(self, coordinates: bool=...) : ... - -class IndexCol: - is_an_indexable: bool = ... - is_data_indexable: bool = ... - name: str - cname: str - values = ... - kind = ... - typ = ... - axis = ... - pos = ... - freq = ... - tz = ... - index_name = ... - ordered = ... - table = ... - meta = ... - metadata = ... - def __init__(self, name: str, values=..., kind=..., typ=..., cname: Optional[str]=..., axis=..., pos=..., freq=..., tz=..., index_name=..., ordered=..., table=..., meta=..., metadata=...) -> None: ... - @property - def itemsize(self) -> int: ... - @property - def kind_attr(self) -> str: ... - def set_pos(self, pos: int) : ... - def __eq__(self, other) -> bool: ... - def __ne__(self, other) -> bool: ... - @property - def is_indexed(self) -> bool: ... - def convert(self, values: np.ndarray, nan_rep, encoding: str, errors: str) : ... - def take_data(self): ... - @property - def attrs(self): ... - @property - def description(self): ... - @property - def col(self): ... - @property - def cvalues(self): ... - def __iter__(self) : ... - def maybe_set_size(self, min_itemsize = ...) -> None: ... - def validate_names(self) -> None: ... - def validate_and_set(self, handler: AppendableTable, append: bool) : ... - def validate_col(self, itemsize = ...): ... - def validate_attr(self, append: bool) : ... - def update_info(self, info) -> None: ... - def set_info(self, info) -> None: ... - def set_attr(self) -> None: ... - def validate_metadata(self, handler: AppendableTable) : ... - def write_metadata(self, handler: AppendableTable) : ... - -class GenericIndexCol(IndexCol): - @property - def is_indexed(self) -> bool: ... - def convert(self, values: np.ndarray, nan_rep, encoding: str, errors: str) : ... - def set_attr(self) -> None: ... - -class DataCol(IndexCol): - is_an_indexable: bool = ... - is_data_indexable: bool = ... - dtype = ... - data = ... - def __init__(self, name: str, values=..., kind=..., typ=..., cname=..., pos=..., tz=..., ordered=..., table=..., meta=..., metadata=..., dtype=..., data=...) -> None: ... - @property - def dtype_attr(self) -> str: ... - @property - def meta_attr(self) -> str: ... - def __eq__(self, other) -> bool: ... - kind = ... - def set_data(self, data: Union[np.ndarray, ABCExtensionArray]) : ... - def take_data(self): ... - @classmethod - def get_atom_string(cls, shape, itemsize): ... - @classmethod - def get_atom_coltype(cls, kind: str) -> Type[Col]: ... - @classmethod - def get_atom_data(cls, shape, kind: str) -> Col: ... - @classmethod - def get_atom_datetime64(cls, shape): ... - @classmethod - def get_atom_timedelta64(cls, shape): ... - @property - def shape(self): ... - @property - def cvalues(self): ... - def validate_attr(self, append) -> None: ... - def convert(self, values: np.ndarray, nan_rep, encoding: str, errors: str) : ... - def set_attr(self) -> None: ... - -class DataIndexableCol(DataCol): - is_data_indexable: bool = ... - def validate_names(self) -> None: ... - @classmethod - def get_atom_string(cls, shape, itemsize): ... - @classmethod - def get_atom_data(cls, shape, kind: str) -> Col: ... - @classmethod - def get_atom_datetime64(cls, shape): ... - @classmethod - def get_atom_timedelta64(cls, shape): ... - -class GenericDataIndexableCol(DataIndexableCol): ... - -class Fixed: - pandas_kind: str - format_type: str = ... - obj_type: Type[Union[DataFrame, Series]] - ndim: int - encoding: str - parent: HDFStore - group: Node - errors: str - is_table: bool = ... - def __init__(self, parent: HDFStore, group: Node, encoding: str=..., errors: str=...) -> None: ... - @property - def is_old_version(self) -> bool: ... - @property - def version(self) -> Tuple[int, int, int]: ... - @property - def pandas_type(self): ... - def set_object_info(self) -> None: ... - def copy(self): ... - @property - def shape(self): ... - @property - def pathname(self): ... - @property - def attrs(self): ... - def set_attrs(self) -> None: ... - def get_attrs(self) -> None: ... - @property - def storable(self): ... - @property - def is_exists(self) -> bool: ... - @property - def nrows(self): ... - def validate(self, other): ... - def validate_version(self, where = ...): ... - def infer_axes(self): ... - def read(self, where=..., columns=..., start: Optional[int]=..., stop: Optional[int]=...) : ... - def write(self, obj, **kwargs) -> None: ... - def delete(self, where=..., start: Optional[int]=..., stop: Optional[int]=...) : ... - -class GenericFixed(Fixed): - attributes: List[str] = ... - def validate_read(self, columns, where) -> None: ... - @property - def is_exists(self) -> bool: ... - def set_attrs(self) -> None: ... - encoding = ... - errors = ... - def get_attrs(self) -> None: ... - def write(self, obj, **kwargs) -> None: ... - def read_array(self, key: str, start: Optional[int]=..., stop: Optional[int]=...) : ... - def read_index(self, key: str, start: Optional[int]=..., stop: Optional[int]=...) -> Index: ... - def write_index(self, key: str, index: Index) : ... - def write_multi_index(self, key: str, index: MultiIndex) : ... - def read_multi_index(self, key: str, start: Optional[int]=..., stop: Optional[int]=...) -> MultiIndex: ... - def read_index_node(self, node: Node, start: Optional[int]=..., stop: Optional[int]=...) -> Index: ... - def write_array_empty(self, key: str, value: ArrayLike) : ... - def write_array(self, key: str, value: ArrayLike, items: Optional[Index]=...) : ... - -class SeriesFixed(GenericFixed): - pandas_kind: str = ... - attributes = ... - name: Optional[Hashable] - @property - def shape(self): ... - def read(self, where=..., columns=..., start: Optional[int]=..., stop: Optional[int]=...) : ... - def write(self, obj, **kwargs) -> None: ... - -class BlockManagerFixed(GenericFixed): - attributes = ... - nblocks: int - @property - def shape(self): ... - def read(self, where=..., columns=..., start: Optional[int]=..., stop: Optional[int]=...) : ... - def write(self, obj, **kwargs) -> None: ... - -class FrameFixed(BlockManagerFixed): - pandas_kind: str = ... - obj_type = ... - -class Table(Fixed): - pandas_kind: str = ... - format_type: str = ... - table_type: str - levels: int = ... - is_table: bool = ... - index_axes: List[IndexCol] - non_index_axes: List[Tuple[int, Any]] - values_axes: List[DataCol] - data_columns: List - metadata: List - info: Dict - nan_rep = ... - def __init__(self, parent: HDFStore, group: Node, encoding=..., errors: str=..., index_axes=..., non_index_axes=..., values_axes=..., data_columns=..., info=..., nan_rep=...) -> None: ... - @property - def table_type_short(self) -> str: ... - def __getitem__(self, c: str) : ... - def validate(self, other) -> None: ... - @property - def is_multi_index(self) -> bool: ... - def validate_multiindex(self, obj): ... - @property - def nrows_expected(self) -> int: ... - @property - def is_exists(self) -> bool: ... - @property - def storable(self): ... - @property - def table(self): ... - @property - def dtype(self): ... - @property - def description(self): ... - @property - def axes(self): ... - @property - def ncols(self) -> int: ... - @property - def is_transposed(self) -> bool: ... - @property - def data_orientation(self): ... - def queryables(self) -> Dict[str, Any]: ... - def index_cols(self): ... - def values_cols(self) -> List[str]: ... - def write_metadata(self, key: str, values: np.ndarray) : ... - def read_metadata(self, key: str) : ... - def set_attrs(self) -> None: ... - encoding = ... - errors = ... - def get_attrs(self) -> None: ... - def validate_version(self, where = ...) -> None: ... - def validate_min_itemsize(self, min_itemsize) -> None: ... - def indexables(self): ... - def create_index(self, columns=..., optlevel=..., kind: Optional[str]=...) : ... - @classmethod - def get_object(cls, obj, transposed: bool) : ... - def validate_data_columns(self, data_columns, min_itemsize, non_index_axes): ... - def process_axes(self, obj, selection: Selection, columns=...) : ... - def create_description(self, complib, complevel: Optional[int], fletcher32: bool, expectedrows: Optional[int]) -> Dict[str, Any]: ... - def read_coordinates(self, where=..., start: Optional[int]=..., stop: Optional[int]=...) : ... - def read_column(self, column: str, where=..., start: Optional[int]=..., stop: Optional[int]=...) : ... - -class WORMTable(Table): - table_type: str = ... - def read(self, where=..., columns=..., start: Optional[int]=..., stop: Optional[int]=...) : ... - def write(self, **kwargs) -> None: ... - -class AppendableTable(Table): - table_type: str = ... - def write(self, obj, axes = ..., append: bool = ..., complib = ..., complevel = ..., fletcher32 = ..., min_itemsize = ..., chunksize = ..., expectedrows = ..., dropna: bool = ..., nan_rep = ..., data_columns = ...) -> None: ... - def write_data(self, chunksize: Optional[int], dropna: bool=...) : ... - def write_data_chunk(self, rows: np.ndarray, indexes: List[np.ndarray], mask: Optional[np.ndarray], values: List[np.ndarray]) : ... - def delete(self, where=..., start: Optional[int]=..., stop: Optional[int]=...) : ... - -class AppendableFrameTable(AppendableTable): - pandas_kind: str = ... - table_type: str = ... - ndim: int = ... - obj_type: Type[Union[DataFrame, Series]] = ... - @property - def is_transposed(self) -> bool: ... - @classmethod - def get_object(cls, obj, transposed: bool) : ... - def read(self, where=..., columns=..., start: Optional[int]=..., stop: Optional[int]=...) : ... - -class AppendableSeriesTable(AppendableFrameTable): - pandas_kind: str = ... - table_type: str = ... - ndim: int = ... - obj_type = ... - @property - def is_transposed(self) -> bool: ... - @classmethod - def get_object(cls, obj, transposed: bool) : ... - def write(self, obj, data_columns = ..., **kwargs): ... - def read(self, where=..., columns=..., start: Optional[int]=..., stop: Optional[int]=...) -> Series: ... - -class AppendableMultiSeriesTable(AppendableSeriesTable): - pandas_kind: str = ... - table_type: str = ... - def write(self, obj, **kwargs): ... - -class GenericTable(AppendableFrameTable): - pandas_kind: str = ... - table_type: str = ... - ndim: int = ... - obj_type = ... - @property - def pandas_type(self) -> str: ... - @property - def storable(self): ... - non_index_axes = ... - nan_rep = ... - levels = ... - index_axes = ... - values_axes = ... - data_columns = ... - def get_attrs(self) -> None: ... - def indexables(self): ... - def write(self, **kwargs) -> None: ... - -class AppendableMultiFrameTable(AppendableFrameTable): - table_type: str = ... - obj_type = ... - ndim: int = ... - @property - def table_type_short(self) -> str: ... - def write(self, obj, data_columns = ..., **kwargs): ... - def read(self, where=..., columns=..., start: Optional[int]=..., stop: Optional[int]=...) : ... - -class Selection: - table = ... - where = ... - start = ... - stop = ... - condition = ... - filter = ... - terms = ... - coordinates = ... - def __init__(self, table: Table, where=..., start: Optional[int]=..., stop: Optional[int]=...) -> None: ... - def generate(self, where): ... - def select(self): ... - def select_coords(self): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/s3.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/s3.pyi deleted file mode 100644 index 42795ea9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/s3.pyi +++ /dev/null @@ -1,12 +0,0 @@ -from pandas._typing import FilePathOrBuffer as FilePathOrBuffer -from typing import Any, IO, Optional, Tuple - -s3fs = ... - -def get_file_and_filesystem(filepath_or_buffer: FilePathOrBuffer, mode: Optional[str] = ...) -> Tuple[IO, Any]: ... -def get_filepath_or_buffer( - filepath_or_buffer: FilePathOrBuffer, - encoding: Optional[str] = ..., - compression: Optional[str] = ..., - mode: Optional[str] = ..., -) -> Tuple[IO, Optional[str], Optional[str], bool]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/__init__.pyi deleted file mode 100644 index 8ae65b16..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/__init__.pyi +++ /dev/null @@ -1 +0,0 @@ -from .sasreader import read_sas as read_sas diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/sas7bdat.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/sas7bdat.pyi deleted file mode 100644 index 24948e76..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/sas7bdat.pyi +++ /dev/null @@ -1,27 +0,0 @@ -from collections import abc - -class _subheader_pointer: ... -class _column: ... - -class SAS7BDATReader(abc.Iterator): - index = ... - convert_dates = ... - blank_missing = ... - chunksize = ... - encoding = ... - convert_text = ... - convert_header_text = ... - default_encoding: str = ... - compression: str = ... - column_names_strings = ... - column_names = ... - column_formats = ... - columns = ... - handle = ... - def __init__(self, path_or_buf, index = ..., convert_dates: bool = ..., blank_missing: bool = ..., chunksize = ..., encoding = ..., convert_text: bool = ..., convert_header_text: bool = ...) -> None: ... - def column_data_lengths(self): ... - def column_data_offsets(self): ... - def column_types(self): ... - def close(self) -> None: ... - def __next__(self): ... - def read(self, nrows = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/sas_constants.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/sas_constants.pyi deleted file mode 100644 index c7e4e8fe..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/sas_constants.pyi +++ /dev/null @@ -1,108 +0,0 @@ -magic = ... -align_1_checker_value: bytes = ... -align_1_offset: int = ... -align_1_length: int = ... -align_1_value: int = ... -u64_byte_checker_value: bytes = ... -align_2_offset: int = ... -align_2_length: int = ... -align_2_value: int = ... -endianness_offset: int = ... -endianness_length: int = ... -platform_offset: int = ... -platform_length: int = ... -encoding_offset: int = ... -encoding_length: int = ... -dataset_offset: int = ... -dataset_length: int = ... -file_type_offset: int = ... -file_type_length: int = ... -date_created_offset: int = ... -date_created_length: int = ... -date_modified_offset: int = ... -date_modified_length: int = ... -header_size_offset: int = ... -header_size_length: int = ... -page_size_offset: int = ... -page_size_length: int = ... -page_count_offset: int = ... -page_count_length: int = ... -sas_release_offset: int = ... -sas_release_length: int = ... -sas_server_type_offset: int = ... -sas_server_type_length: int = ... -os_version_number_offset: int = ... -os_version_number_length: int = ... -os_maker_offset: int = ... -os_maker_length: int = ... -os_name_offset: int = ... -os_name_length: int = ... -page_bit_offset_x86: int = ... -page_bit_offset_x64: int = ... -subheader_pointer_length_x86: int = ... -subheader_pointer_length_x64: int = ... -page_type_offset: int = ... -page_type_length: int = ... -block_count_offset: int = ... -block_count_length: int = ... -subheader_count_offset: int = ... -subheader_count_length: int = ... -page_meta_type: int = ... -page_data_type: int = ... -page_amd_type: int = ... -page_metc_type: int = ... -page_comp_type: int = ... -page_mix_types = ... -subheader_pointers_offset: int = ... -truncated_subheader_id: int = ... -compressed_subheader_id: int = ... -compressed_subheader_type: int = ... -text_block_size_length: int = ... -row_length_offset_multiplier: int = ... -row_count_offset_multiplier: int = ... -col_count_p1_multiplier: int = ... -col_count_p2_multiplier: int = ... -row_count_on_mix_page_offset_multiplier: int = ... -column_name_pointer_length: int = ... -column_name_text_subheader_offset: int = ... -column_name_text_subheader_length: int = ... -column_name_offset_offset: int = ... -column_name_offset_length: int = ... -column_name_length_offset: int = ... -column_name_length_length: int = ... -column_data_offset_offset: int = ... -column_data_length_offset: int = ... -column_data_length_length: int = ... -column_type_offset: int = ... -column_type_length: int = ... -column_format_text_subheader_index_offset: int = ... -column_format_text_subheader_index_length: int = ... -column_format_offset_offset: int = ... -column_format_offset_length: int = ... -column_format_length_offset: int = ... -column_format_length_length: int = ... -column_label_text_subheader_index_offset: int = ... -column_label_text_subheader_index_length: int = ... -column_label_offset_offset: int = ... -column_label_offset_length: int = ... -column_label_length_offset: int = ... -column_label_length_length: int = ... -rle_compression: bytes = ... -rdc_compression: bytes = ... -compression_literals = ... -encoding_names = ... - -class SASIndex: - row_size_index: int = ... - column_size_index: int = ... - subheader_counts_index: int = ... - column_text_index: int = ... - column_name_index: int = ... - column_attributes_index: int = ... - format_and_label_index: int = ... - column_list_index: int = ... - data_subheader_index: int = ... - -subheader_signature_to_index = ... -sas_date_formats = ... -sas_datetime_formats = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/sas_xport.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/sas_xport.pyi deleted file mode 100644 index 03e02fad..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/sas_xport.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from collections import abc - -class XportReader(abc.Iterator): - filepath_or_buffer = ... - def __init__(self, filepath_or_buffer, index = ..., encoding: str = ..., chunksize = ...) -> None: ... - def close(self) -> None: ... - def __next__(self): ... - def get_chunk(self, size = ...): ... - def read(self, nrows = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/sasreader.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/sasreader.pyi deleted file mode 100644 index 5743c923..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sas/sasreader.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from pandas._typing import FilePathOrBuffer -from typing import Optional, Sequence - -def read_sas( - path: FilePathOrBuffer, - format: Optional[str] = ..., - index: Optional[Sequence] = ..., - encoding: Optional[str] = ..., - chunksize: Optional[int] = ..., - iterator: bool = ..., -) : ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/spss.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/spss.pyi deleted file mode 100644 index 6b2f78e7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/spss.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from pandas._typing import FilePathOrBuffer as FilePathOrBuffer -from pandas.core.frame import DataFrame as DataFrame -from typing import Optional, Sequence - -def read_spss( - path: FilePathOrBuffer, usecols: Optional[Sequence[str]] = ..., convert_categoricals: bool = ..., -) -> DataFrame: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sql.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sql.pyi deleted file mode 100644 index 043b3ca5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/sql.pyi +++ /dev/null @@ -1,101 +0,0 @@ -from pandas.core.frame import DataFrame as DataFrame -from pandas.core.base import PandasObject as PandasObject -from typing import Any, Mapping, Optional, Sequence, Tuple, Union - -class SQLAlchemyRequired(ImportError): ... -class DatabaseError(IOError): ... - -def execute(sql, con, cur = ..., params = ...): ... -def read_sql_table( - table_name: str, - con, - schema: Optional[str] = ..., - index_col: Optional[Union[str, Sequence[str]]] = ..., - coerce_float: bool = ..., - parse_dates: Optional[Union[Sequence[str], Mapping[str, str]]] = ..., - columns: Optional[Sequence[str]] = ..., - chunksize: Optional[int] = ..., -) -> DataFrame: ... -def read_sql_query( - sql, - con, - schema: Optional[str] = ..., - index_col: Optional[Union[str, Sequence[str]]] = ..., - coerce_float: bool = ..., - params = ..., - parse_dates: Optional[Union[Sequence[str], Mapping[str, str]]] = ..., - chunksize: Optional[int] = ..., -) -> DataFrame: ... -def read_sql( - sql: Union[str, Any], - con: Union[str, Any] = ..., - index_col: Optional[Union[str, Sequence[str]]] = ..., - coerce_float: bool = ..., - params: Optional[Union[Sequence[str], Tuple[str, ...], Mapping[str, str]]] = ..., - parse_dates: Optional[Union[Sequence[str], Mapping[str, str], Mapping[str, Mapping[str, Any]]]] = ..., - columns: Sequence[str] = ..., - chunksize: int = ..., -) -> DataFrame: ... -def to_sql(frame, name, con, schema = ..., if_exists: str = ..., index: bool = ..., index_label = ..., chunksize = ..., dtype = ..., method = ...) -> None: ... -def has_table(table_name, con, schema = ...): ... -table_exists = has_table - -def pandasSQL_builder(con, schema = ..., meta = ..., is_cursor: bool = ...): ... - -class SQLTable(PandasObject): - name = ... - pd_sql = ... - prefix = ... - frame = ... - index = ... - schema = ... - if_exists = ... - keys = ... - dtype = ... - table = ... - def __init__(self, name, pandas_sql_engine, frame = ..., index: bool = ..., if_exists: str = ..., prefix: str = ..., index_label = ..., schema = ..., keys = ..., dtype = ...) -> None: ... - def exists(self): ... - def sql_schema(self): ... - def create(self) -> None: ... - def insert_data(self): ... - def insert(self, chunksize = ..., method = ...) -> None: ... - def read(self, coerce_float: bool = ..., parse_dates = ..., columns = ..., chunksize = ...): ... - -class PandasSQL(PandasObject): - def read_sql(self, *args, **kwargs) -> None: ... - def to_sql(self, frame, name, if_exists: str = ..., index: bool = ..., index_label = ..., schema = ..., chunksize = ..., dtype = ..., method = ...) -> None: ... - -class SQLDatabase(PandasSQL): - connectable = ... - meta = ... - def __init__(self, engine, schema = ..., meta = ...) -> None: ... - def run_transaction(self) -> None: ... - def execute(self, *args, **kwargs): ... - def read_table(self, table_name, index_col = ..., coerce_float: bool = ..., parse_dates = ..., columns = ..., schema = ..., chunksize = ...): ... - def read_query(self, sql, index_col = ..., coerce_float: bool = ..., parse_dates = ..., params = ..., chunksize = ...): ... - read_sql = ... - def to_sql(self, frame, name, if_exists: str = ..., index: bool = ..., index_label = ..., schema = ..., chunksize = ..., dtype = ..., method = ...) -> None: ... - @property - def tables(self): ... - def has_table(self, name, schema = ...): ... - def get_table(self, table_name, schema = ...): ... - def drop_table(self, table_name, schema = ...) -> None: ... - -class SQLiteTable(SQLTable): - def __init__(self, *args, **kwargs): ... - def sql_schema(self): ... - def insert_statement(self): ... - -class SQLiteDatabase(PandasSQL): - is_cursor = ... - con = ... - def __init__(self, con, is_cursor: bool = ...) -> None: ... - def run_transaction(self) -> None: ... - def execute(self, *args, **kwargs): ... - def read_query(self, sql, index_col = ..., coerce_float: bool = ..., params = ..., parse_dates = ..., chunksize = ...): ... - def to_sql(self, frame, name, if_exists: str = ..., index: bool = ..., index_label = ..., schema = ..., chunksize = ..., dtype = ..., method = ...) -> None: ... - def has_table(self, name, schema = ...): ... - def get_table(self, table_name, schema = ...) -> None: ... - def drop_table(self, name, schema = ...) -> None: ... - -def get_schema(frame, name, keys = ..., con = ..., dtype = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/stata.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/stata.pyi deleted file mode 100644 index 4db3fb05..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/io/stata.pyi +++ /dev/null @@ -1,258 +0,0 @@ -import datetime -from collections import abc -from pandas._typing import FilePathOrBuffer as FilePathOrBuffer -from pandas.core.frame import DataFrame as DataFrame -from typing import Dict, Hashable, Optional, Sequence - -def read_stata( - path: FilePathOrBuffer, - convert_dates: bool = ..., - convert_categoricals: bool = ..., - index_col: Optional[str] = ..., - convert_missing: bool = ..., - preserve_dtypes: bool = ..., - columns: Optional[Sequence[str]] = ..., - order_categoricals: bool = ..., - chunksize: Optional[int] = ..., - iterator: bool = ..., -) -> DataFrame: - """ -Read Stata file into DataFrame. - -Parameters ----------- -filepath_or_buffer : str, path object or file-like object - Any valid string path is acceptable. The string could be a URL. Valid - URL schemes include http, ftp, s3, and file. For file URLs, a host is - expected. A local file could be: ``file://localhost/path/to/table.dta``. - - If you want to pass in a path object, pandas accepts any ``os.PathLike``. - - By file-like object, we refer to objects with a ``read()`` method, - such as a file handle (e.g. via builtin ``open`` function) - or ``StringIO``. -convert_dates : bool, default True - Convert date variables to DataFrame time values. -convert_categoricals : bool, default True - Read value labels and convert columns to Categorical/Factor variables. -index_col : str, optional - Column to set as index. -convert_missing : bool, default False - Flag indicating whether to convert missing values to their Stata - representations. If False, missing values are replaced with nan. - If True, columns containing missing values are returned with - object data types and missing values are represented by - StataMissingValue objects. -preserve_dtypes : bool, default True - Preserve Stata datatypes. If False, numeric data are upcast to pandas - default types for foreign data (float64 or int64). -columns : list or None - Columns to retain. Columns will be returned in the given order. None - returns all columns. -order_categoricals : bool, default True - Flag indicating whether converted categorical data are ordered. -chunksize : int, default None - Return StataReader object for iterations, returns chunks with - given number of lines. -iterator : bool, default False - Return StataReader object. -compression : str or dict, default 'infer' - For on-the-fly decompression of on-disk data. If 'infer' and '%s' is - path-like, then detect compression from the following extensions: '.gz', - '.bz2', '.zip', '.xz', or '.zst' (otherwise no compression). If using - 'zip', the ZIP file must contain only one data file to be read in. Set to - ``None`` for no decompression. Can also be a dict with key ``'method'`` set - to one of {``'zip'``, ``'gzip'``, ``'bz2'``, ``'zstd'``} and other - key-value pairs are forwarded to ``zipfile.ZipFile``, ``gzip.GzipFile``, - ``bz2.BZ2File``, or ``zstandard.ZstdDecompressor``, respectively. As an - example, the following could be passed for Zstandard decompression using a - custom compression dictionary: - ``compression={'method': 'zstd', 'dict_data': my_compression_dict}``. -storage_options : dict, optional - Extra options that make sense for a particular storage connection, e.g. - host, port, username, password, etc. For HTTP(S) URLs the key-value pairs - are forwarded to ``urllib`` as header options. For other URLs (e.g. - starting with "s3://", and "gcs://") the key-value pairs are forwarded to - ``fsspec``. Please see ``fsspec`` and ``urllib`` for more details. - -Returns -------- -DataFrame or StataReader - -See Also --------- -io.stata.StataReader : Low-level reader for Stata data files. -DataFrame.to_stata: Export Stata data files. - -Notes ------ -Categorical variables read through an iterator may not have the same -categories and dtype. This occurs when a variable stored in a DTA -file is associated to an incomplete set of value labels that only -label a strict subset of the values. - -Examples --------- - -Creating a dummy stata for this example ->>> df = pd.DataFrame({'animal': ['falcon', 'parrot', 'falcon', -... 'parrot'], -... 'speed': [350, 18, 361, 15]}) # doctest: +SKIP ->>> df.to_stata('animals.dta') # doctest: +SKIP - -Read a Stata dta file: - ->>> df = pd.read_stata('animals.dta') # doctest: +SKIP - -Read a Stata dta file in 10,000 line chunks: ->>> values = np.random.randint(0, 10, size=(20_000, 1), dtype="uint8") # doctest: +SKIP ->>> df = pd.DataFrame(values, columns=["i"]) # doctest: +SKIP ->>> df.to_stata('filename.dta') # doctest: +SKIP - ->>> itr = pd.read_stata('filename.dta', chunksize=10000) # doctest: +SKIP ->>> for chunk in itr: -... # Operate on a single chunk, e.g., chunk.mean() -... pass # doctest: +SKIP - """ - pass - -stata_epoch = ... -excessive_string_length_error: str - -class PossiblePrecisionLoss(Warning): ... - -precision_loss_doc: str - -class ValueLabelTypeMismatch(Warning): ... - -value_label_mismatch_doc: str - -class InvalidColumnName(Warning): ... - -invalid_name_doc: str - -class StataValueLabel: - labname = ... - value_labels = ... - text_len = ... - off = ... - val = ... - txt = ... - n: int = ... - len = ... - def __init__(self, catarray, encoding: str = ...): ... - def generate_value_label(self, byteorder): ... - -class StataMissingValue: - MISSING_VALUES = ... - bases = ... - float32_base: bytes = ... - increment = ... - value = ... - int_value = ... - float64_base: bytes = ... - BASE_MISSING_VALUES = ... - def __init__(self, value) -> None: ... - string = ... - def __eq__(self, other) -> bool: ... - @classmethod - def get_base_missing_value(cls, dtype): ... - -class StataParser: - DTYPE_MAP = ... - DTYPE_MAP_XML = ... - TYPE_MAP = ... - TYPE_MAP_XML = ... - VALID_RANGE = ... - OLD_TYPE_MAPPING = ... - MISSING_VALUES = ... - NUMPY_TYPE_MAP = ... - RESERVED_WORDS = ... - def __init__(self) -> None: ... - -class StataReader(StataParser, abc.Iterator): - col_sizes = ... - path_or_buf = ... - def __init__( - self, - path_or_buf, - convert_dates: bool = ..., - convert_categoricals: bool = ..., - index_col=..., - convert_missing: bool = ..., - preserve_dtypes: bool = ..., - columns=..., - order_categoricals: bool = ..., - chunksize=..., - ) -> None: ... - def __enter__(self): ... - def __exit__(self, exc_type, exc_value, traceback) -> None: ... - def close(self) -> None: ... - def __next__(self): ... - def get_chunk(self, size=...): ... - def read( - self, - nrows=..., - convert_dates=..., - convert_categoricals=..., - index_col=..., - convert_missing=..., - preserve_dtypes=..., - columns=..., - order_categoricals=..., - ): ... - @property - def data_label(self): ... - def variable_labels(self): ... - def value_labels(self): ... - -class StataWriter(StataParser): - type_converters = ... - def __init__( - self, - fname, - data, - convert_dates=..., - write_index: bool = ..., - byteorder=..., - time_stamp=..., - data_label=..., - variable_labels=..., - ) -> None: ... - def write_file(self) -> None: ... - -class StataStrLWriter: - df = ... - columns = ... - def __init__(self, df, columns, version: int = ..., byteorder=...) -> None: ... - def generate_table(self): ... - def generate_blob(self, gso_table): ... - -class StataWriter117(StataWriter): - def __init__( - self, - fname, - data, - convert_dates=..., - write_index: bool = ..., - byteorder=..., - time_stamp=..., - data_label=..., - variable_labels=..., - convert_strl=..., - ) -> None: ... - -class StataWriterUTF8(StataWriter117): - def __init__( - self, - fname: FilePathOrBuffer, - data: DataFrame, - convert_dates: Optional[Dict[Hashable, str]] = ..., - write_index: bool = ..., - byteorder: Optional[str] = ..., - time_stamp: Optional[datetime.datetime] = ..., - data_label: Optional[str] = ..., - variable_labels: Optional[Dict[Hashable, str]] = ..., - convert_strl: Optional[Sequence[Hashable]] = ..., - version: Optional[int] = ..., - ) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/__init__.pyi deleted file mode 100644 index 54956bb9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/__init__.pyi +++ /dev/null @@ -1,2 +0,0 @@ -from ._core import PlotAccessor as PlotAccessor, boxplot as boxplot, boxplot_frame as boxplot_frame, boxplot_frame_groupby as boxplot_frame_groupby, hist_frame as hist_frame, hist_series as hist_series -from ._misc import andrews_curves as andrews_curves, autocorrelation_plot as autocorrelation_plot, bootstrap_plot as bootstrap_plot, deregister as deregister_matplotlib_converters, lag_plot as lag_plot, parallel_coordinates as parallel_coordinates, plot_params as plot_params, radviz as radviz, register as register_matplotlib_converters, scatter_matrix as scatter_matrix, table as table diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_core.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_core.pyi deleted file mode 100644 index d436a847..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_core.pyi +++ /dev/null @@ -1,36 +0,0 @@ -from matplotlib.axes import Axes as PlotAxes -from pandas.core.base import PandasObject as PandasObject -from pandas.core.frame import DataFrame -from typing import Optional, Sequence, Tuple, Union - -def hist_series(self, by = ..., ax = ..., grid: bool = ..., xlabelsize = ..., xrot = ..., ylabelsize = ..., yrot = ..., figsize = ..., bins: int = ..., backend = ..., **kwargs): ... -def hist_frame(data, column = ..., by = ..., grid: bool = ..., xlabelsize = ..., xrot = ..., ylabelsize = ..., yrot = ..., ax = ..., sharex: bool = ..., sharey: bool = ..., figsize = ..., layout = ..., bins: int = ..., backend = ..., **kwargs): ... -def boxplot( - data: DataFrame, - column: Optional[Union[str, Sequence[str]]] = ..., - by: Optional[Union[str, Sequence[str]]] = ..., - ax: Optional[PlotAxes] = ..., - fontsize: Optional[Union[float, str]] = ..., - rot: float = ..., - grid: bool = ..., - figsize: Optional[Tuple[float, float]] = ..., - layout: Optional[Tuple[int, int]] = ..., - return_type: Optional[str] = ..., -) : ... -def boxplot_frame(self, column = ..., by = ..., ax = ..., fontsize = ..., rot: int = ..., grid: bool = ..., figsize = ..., layout = ..., return_type = ..., backend = ..., **kwargs): ... -def boxplot_frame_groupby(grouped, subplots: bool = ..., column = ..., fontsize = ..., rot: int = ..., grid: bool = ..., ax = ..., figsize = ..., layout = ..., sharex: bool = ..., sharey: bool = ..., backend = ..., **kwargs): ... - -class PlotAccessor(PandasObject): - def __init__(self, data) -> None: ... - def __call__(self, *args, **kwargs): ... - def line(self, x = ..., y = ..., **kwargs) -> PlotAccessor: ... - def bar(self, x = ..., y = ..., **kwargs) -> PlotAccessor: ... - def barh(self, x = ..., y = ..., **kwargs) -> PlotAccessor: ... - def box(self, by = ..., **kwargs) -> PlotAccessor: ... - def hist(self, by = ..., bins: int = ..., **kwargs) -> PlotAccessor: ... - def kde(self, bw_method = ..., ind = ..., **kwargs) -> PlotAccessor: ... - density = ... - def area(self, x = ..., y = ..., **kwargs) -> PlotAccessor: ... - def pie(self, **kwargs) -> PlotAccessor: ... - def scatter(self, x, y, s = ..., c = ..., **kwargs) -> PlotAccessor: ... - def hexbin(self, x, y, C = ..., reduce_C_function = ..., gridsize = ..., **kwargs) -> PlotAccessor: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/__init__.pyi deleted file mode 100644 index 1714ee2f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/__init__.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from .boxplot import boxplot as boxplot, boxplot_frame as boxplot_frame, boxplot_frame_groupby as boxplot_frame_groupby -from .converter import deregister as deregister, register as register -from .hist import hist_frame as hist_frame, hist_series as hist_series -from .misc import ( - andrews_curves as andrews_curves, - autocorrelation_plot as autocorrelation_plot, - bootstrap_plot as bootstrap_plot, - lag_plot as lag_plot, - parallel_coordinates as parallel_coordinates, - radviz as radviz, - scatter_matrix as scatter_matrix, -) -from .tools import table as table - -def plot(data, kind, **kwargs): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/boxplot.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/boxplot.pyi deleted file mode 100644 index 10a296d2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/boxplot.pyi +++ /dev/null @@ -1,58 +0,0 @@ -from matplotlib.axes import Axes as PlotAxes -from pandas.plotting._matplotlib.core import LinePlot as LinePlot -from typing import NamedTuple - -class BoxPlot(LinePlot): - class BoxPlot(NamedTuple): - ax: PlotAxes = ... - lines: dict = ... - BP = BoxPlot - - return_type = ... - def __init__(self, data, return_type: str = ..., **kwargs) -> None: ... - def maybe_color_bp(self, bp) -> None: ... - @property - def orientation(self): ... - @property - def result(self): ... - -def boxplot( - data, - column=..., - by=..., - ax=..., - fontsize=..., - rot: int = ..., - grid: bool = ..., - figsize=..., - layout=..., - return_type=..., - **kwds, -): ... -def boxplot_frame( - self, - column=..., - by=..., - ax=..., - fontsize=..., - rot: int = ..., - grid: bool = ..., - figsize=..., - layout=..., - return_type=..., - **kwds, -): ... -def boxplot_frame_groupby( - grouped, - subplots: bool = ..., - column=..., - fontsize=..., - rot: int = ..., - grid: bool = ..., - ax=..., - figsize=..., - layout=..., - sharex: bool = ..., - sharey: bool = ..., - **kwds, -): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/compat.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/compat.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/converter.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/converter.pyi deleted file mode 100644 index 9d8683f7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/converter.pyi +++ /dev/null @@ -1,101 +0,0 @@ -import matplotlib.dates as dates -import matplotlib.units as units -from matplotlib.ticker import Formatter, Locator - -HOURS_PER_DAY: float = ... -MIN_PER_HOUR: float = ... -SEC_PER_MIN: float = ... -SEC_PER_HOUR: float = ... -SEC_PER_DAY: float = ... -MUSEC_PER_DAY: float = ... - -def get_pairs(): ... -def register_pandas_matplotlib_converters(func): ... -def pandas_converters() -> None: ... -def register() -> None: ... -def deregister() -> None: ... -def time2num(d): ... - -class TimeConverter(units.ConversionInterface): - @staticmethod - def convert(value, unit, axis): ... - @staticmethod - def axisinfo(unit, axis): ... - @staticmethod - def default_units(x, axis): ... - -class TimeFormatter(Formatter): - locs = ... - def __init__(self, locs) -> None: ... - def __call__(self, x, pos: int = ...): ... - -class PeriodConverter(dates.DateConverter): - @staticmethod - def convert(values, units, axis): ... - -def get_datevalue(date, freq): ... - -class DatetimeConverter(dates.DateConverter): - @staticmethod - def convert(values, unit, axis): ... - @staticmethod - def axisinfo(unit, axis): ... - -class PandasAutoDateFormatter(dates.AutoDateFormatter): - def __init__(self, locator, tz=..., defaultfmt: str = ...) -> None: ... - -class PandasAutoDateLocator(dates.AutoDateLocator): - def get_locator(self, dmin, dmax): ... - -class MilliSecondLocator(dates.DateLocator): - UNIT = ... - def __init__(self, tz) -> None: ... - @staticmethod - def get_unit_generic(freq): ... - def __call__(self): ... - def autoscale(self): ... - -def period_break(dates, period): ... -def has_level_label(label_flags, vmin): ... -def get_finder(freq): ... - -class TimeSeries_DateLocator(Locator): - freq = ... - base = ... - isminor = ... - isdynamic = ... - offset: int = ... - plot_obj = ... - finder = ... - def __init__( - self, - freq, - minor_locator: bool = ..., - dynamic_mode: bool = ..., - base: int = ..., - quarter: int = ..., - month: int = ..., - day: int = ..., - plot_obj=..., - ) -> None: ... - def __call__(self): ... - def autoscale(self): ... - -class TimeSeries_DateFormatter(Formatter): - format = ... - freq = ... - locs = ... - formatdict = ... - isminor = ... - isdynamic = ... - offset: int = ... - plot_obj = ... - finder = ... - def __init__(self, freq, minor_locator: bool = ..., dynamic_mode: bool = ..., plot_obj=...) -> None: ... - def set_locs(self, locs) -> None: ... - def __call__(self, x, pos: int = ...): ... - -class TimeSeries_TimedeltaFormatter(Formatter): - @staticmethod - def format_timedelta_ticks(x, pos, n_decimals): ... - def __call__(self, x, pos: int = ...): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/core.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/core.pyi deleted file mode 100644 index da620fe3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/core.pyi +++ /dev/null @@ -1,117 +0,0 @@ -from typing import Optional - -class MPLPlot: - orientation: Optional[str] = ... - data = ... - by = ... - kind = ... - sort_columns = ... - subplots = ... - sharex: bool = ... - sharey = ... - figsize = ... - layout = ... - xticks = ... - yticks = ... - xlim = ... - ylim = ... - title = ... - use_index = ... - fontsize = ... - rot = ... - grid = ... - legend = ... - legend_handles = ... - legend_labels = ... - ax = ... - fig = ... - axes = ... - errors = ... - secondary_y = ... - colormap = ... - table = ... - include_bool = ... - kwds = ... - def __init__( - self, - data, - kind=..., - by=..., - subplots: bool = ..., - sharex=..., - sharey: bool = ..., - use_index: bool = ..., - figsize=..., - grid=..., - legend: bool = ..., - rot=..., - ax=..., - fig=..., - title=..., - xlim=..., - ylim=..., - xticks=..., - yticks=..., - sort_columns: bool = ..., - fontsize=..., - secondary_y: bool = ..., - colormap=..., - table: bool = ..., - layout=..., - include_bool: bool = ..., - **kwds, - ) -> None: ... - @property - def nseries(self): ... - def draw(self) -> None: ... - def generate(self) -> None: ... - @property - def result(self): ... - @property - def legend_title(self): ... - def plt(self): ... - @classmethod - def get_default_ax(cls, ax) -> None: ... - def on_right(self, i): ... - -class PlanePlot(MPLPlot): - x = ... - y = ... - def __init__(self, data, x, y, **kwargs) -> None: ... - @property - def nseries(self): ... - -class ScatterPlot(PlanePlot): - c = ... - def __init__(self, data, x, y, s=..., c=..., **kwargs) -> None: ... - -class HexBinPlot(PlanePlot): - C = ... - def __init__(self, data, x, y, C=..., **kwargs) -> None: ... - -class LinePlot(MPLPlot): - orientation: str = ... - data = ... - x_compat = ... - def __init__(self, data, **kwargs) -> None: ... - -class AreaPlot(LinePlot): - def __init__(self, data, **kwargs) -> None: ... - -class BarPlot(MPLPlot): - orientation: str = ... - bar_width = ... - tick_pos = ... - bottom = ... - left = ... - log = ... - tickoffset = ... - lim_offset = ... - ax_pos = ... - def __init__(self, data, **kwargs) -> None: ... - -class BarhPlot(BarPlot): - orientation: str = ... - -class PiePlot(MPLPlot): - def __init__(self, data, kind=..., **kwargs) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/hist.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/hist.pyi deleted file mode 100644 index 560b604a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/hist.pyi +++ /dev/null @@ -1,45 +0,0 @@ -from pandas.plotting._matplotlib.core import LinePlot as LinePlot - -class HistPlot(LinePlot): - bins = ... - bottom = ... - def __init__(self, data, bins: int = ..., bottom: int = ..., **kwargs) -> None: ... - @property - def orientation(self): ... - -class KdePlot(HistPlot): - orientation: str = ... - bw_method = ... - ind = ... - def __init__(self, data, bw_method=..., ind=..., **kwargs) -> None: ... - -def hist_series( - self, - by=..., - ax=..., - grid: bool = ..., - xlabelsize=..., - xrot=..., - ylabelsize=..., - yrot=..., - figsize=..., - bins: int = ..., - **kwds, -): ... -def hist_frame( - data, - column=..., - by=..., - grid: bool = ..., - xlabelsize=..., - xrot=..., - ylabelsize=..., - yrot=..., - ax=..., - sharex: bool = ..., - sharey: bool = ..., - figsize=..., - layout=..., - bins: int = ..., - **kwds, -): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/misc.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/misc.pyi deleted file mode 100644 index c3131067..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/misc.pyi +++ /dev/null @@ -1,32 +0,0 @@ -def scatter_matrix( - frame, - alpha: float = ..., - figsize=..., - ax=..., - grid: bool = ..., - diagonal: str = ..., - marker: str = ..., - density_kwds=..., - hist_kwds=..., - range_padding: float = ..., - **kwds, -): ... -def radviz(frame, class_column, ax=..., color=..., colormap=..., **kwds): ... -def andrews_curves(frame, class_column, ax=..., samples: int = ..., color=..., colormap=..., **kwds): ... -def bootstrap_plot(series, fig=..., size: int = ..., samples: int = ..., **kwds): ... -def parallel_coordinates( - frame, - class_column, - cols=..., - ax=..., - color=..., - use_columns: bool = ..., - xticks=..., - colormap=..., - axvlines: bool = ..., - axvlines_kwds=..., - sort_labels: bool = ..., - **kwds, -): ... -def lag_plot(series, lag: int = ..., ax=..., **kwds): ... -def autocorrelation_plot(series, ax=..., **kwds): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/style.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/style.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/timeseries.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/timeseries.pyi deleted file mode 100644 index b82fd0c9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/timeseries.pyi +++ /dev/null @@ -1 +0,0 @@ -def format_dateaxis(subplot, freq, index) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/tools.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/tools.pyi deleted file mode 100644 index 06fa6966..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_matplotlib/tools.pyi +++ /dev/null @@ -1,2 +0,0 @@ -def format_date_labels(ax, rot) -> None: ... -def table(ax, data, rowLabels=..., colLabels=..., **kwargs): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_misc.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_misc.pyi deleted file mode 100644 index a45bf390..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/plotting/_misc.pyi +++ /dev/null @@ -1,81 +0,0 @@ -from matplotlib.axes import Axes as PlotAxes -from matplotlib.figure import Figure -import numpy as np -from pandas.core.series import Series -from pandas.core.frame import DataFrame -from typing import Any, Dict, Optional, Sequence, Tuple, Union - -def table( - ax, - data, - rowLabels=None, - colLabels=None, -): ... -def register() -> None: ... -def deregister() -> None: ... -def scatter_matrix( - frame: DataFrame, - alpha: float = ..., - figsize: Optional[Tuple[float, float]] = ..., - ax: Optional[PlotAxes] = ..., - grid: bool = ..., - diagonal: str = ..., - marker: str = ..., - density_kwds=..., - hist_kwds=..., - range_padding: float = ..., -) -> np.ndarray: ... -def radviz( - frame: DataFrame, - class_column: str, - ax: Optional[PlotAxes] = ..., - color: Optional[Union[Sequence[str], Tuple[str]]] = ..., - colormap=..., -) -> PlotAxes: ... -def andrews_curves( - frame: DataFrame, - class_column: str, - ax: Optional[PlotAxes] = ..., - samples: int = ..., - color: Optional[Union[Sequence[str], Tuple[str]]] = ..., - colormap=..., -) -> PlotAxes: ... -def bootstrap_plot( - series: Series, - fig: Optional[Figure] = ..., - size: int = ..., - samples: int = ..., -) -> Figure: ... -def parallel_coordinates( - frame: DataFrame, - class_column: str, - cols: Optional[Sequence[str]] = ..., - ax: Optional[PlotAxes] = ..., - color: Optional[Union[Sequence[str], Tuple[str]]] = ..., - use_columns: bool = ..., - xticks: Optional[Union[Sequence, Tuple]] = ..., - colormap=..., - axvlines: bool = ..., - axvlines_kwds=..., - sort_labels: bool = ..., -) -> PlotAxes: ... -def lag_plot( - series: Series, - lag: int = ..., - ax: Optional[PlotAxes] = ..., -) -> PlotAxes: ... -def autocorrelation_plot( - series: Series, - ax: Optional[PlotAxes] = ..., -) -> PlotAxes: ... - -class _Options(dict): - def __init__(self, deprecated: bool = ...) -> None: ... - def __getitem__(self, key): ... - def __setitem__(self, key, value): ... - def __delitem__(self, key): ... - def __contains__(self, key) -> bool: ... - def reset(self) -> None: ... - def use(self, key, value) -> None: ... - -plot_params: Dict[str, Any] diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/testing.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/testing.pyi deleted file mode 100644 index 9258b400..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/testing.pyi +++ /dev/null @@ -1,17 +0,0 @@ -""" -Public testing utility functions. -""" - -from pandas._testing import ( - assert_extension_array_equal as assert_extension_array_equal, - assert_frame_equal as assert_frame_equal, - assert_index_equal as assert_index_equal, - assert_series_equal as assert_series_equal, -) - -__all__ = [ - "assert_extension_array_equal", - "assert_frame_equal", - "assert_series_equal", - "assert_index_equal", -] diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/tseries/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/tseries/__init__.pyi deleted file mode 100644 index e69de29b..00000000 diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/tseries/api.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/tseries/api.pyi deleted file mode 100644 index 21aee7bb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/tseries/api.pyi +++ /dev/null @@ -1 +0,0 @@ -from pandas.tseries.frequencies import infer_freq as infer_freq diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/tseries/frequencies.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/tseries/frequencies.pyi deleted file mode 100644 index b4458a66..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/tseries/frequencies.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from pandas.tseries.offsets import DateOffset as DateOffset -from typing import Optional - -def get_period_alias(offset_str: str) -> Optional[str]: ... -def to_offset(freq) -> Optional[DateOffset]: ... -def get_offset(name: str) -> DateOffset: ... -def infer_freq(index, warn: bool=...) -> Optional[str]: ... - - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/tseries/offsets.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/tseries/offsets.pyi deleted file mode 100644 index f65a652b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/tseries/offsets.pyi +++ /dev/null @@ -1,44 +0,0 @@ -from pandas._libs.tslibs.offsets import ( - FY5253 as FY5253, - BaseOffset as BaseOffset, - BDay as BDay, - BMonthBegin as BMonthBegin, - BMonthEnd as BMonthEnd, - BQuarterBegin as BQuarterBegin, - BQuarterEnd as BQuarterEnd, - BusinessDay as BusinessDay, - BusinessHour as BusinessHour, - BusinessMonthBegin as BusinessMonthBegin, - BusinessMonthEnd as BusinessMonthEnd, - BYearBegin as BYearBegin, - BYearEnd as BYearEnd, - CBMonthBegin as CBMonthBegin, - CBMonthEnd as CBMonthEnd, - CDay as CDay, - CustomBusinessDay as CustomBusinessDay, - CustomBusinessHour as CustomBusinessHour, - CustomBusinessMonthBegin as CustomBusinessMonthBegin, - CustomBusinessMonthEnd as CustomBusinessMonthEnd, - DateOffset as DateOffset, - Day as Day, - Easter as Easter, - FY5253Quarter as FY5253Quarter, - Hour as Hour, - LastWeekOfMonth as LastWeekOfMonth, - Micro as Micro, - Milli as Milli, - Minute as Minute, - MonthBegin as MonthBegin, - MonthEnd as MonthEnd, - Nano as Nano, - QuarterBegin as QuarterBegin, - QuarterEnd as QuarterEnd, - Second as Second, - SemiMonthBegin as SemiMonthBegin, - SemiMonthEnd as SemiMonthEnd, - Tick as Tick, - Week as Week, - WeekOfMonth as WeekOfMonth, - YearBegin as YearBegin, - YearEnd as YearEnd, -) diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/__init__.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/__init__.pyi deleted file mode 100644 index 419df44d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/__init__.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from pandas import compat as compat -from pandas.core.util.hashing import hash_array as hash_array, hash_pandas_object as hash_pandas_object -from ._decorators import Appender as Appender, Substitution as Substitution, cache_readonly as cache_readonly - -def __getattr__(name): ... - -class _testing: - def __getattr__(self, item): ... - -testing = ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_decorators.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_decorators.pyi deleted file mode 100644 index fabc7ce1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_decorators.pyi +++ /dev/null @@ -1,24 +0,0 @@ -from pandas._libs.properties import cache_readonly as cache_readonly -from typing import Any, Callable, List, Mapping, Optional, Tuple, Type, TypeVar, Union - - -FuncType = Callable[..., Any] -F = TypeVar('F', bound=FuncType) - -def deprecate(name: str, alternative: Callable[..., Any], version: str, alt_name: Optional[str]=..., klass: Optional[Type[Warning]]=..., stacklevel: int=..., msg: Optional[str]=...) -> Callable[..., Any]: ... -def deprecate_kwarg(old_arg_name: str, new_arg_name: Optional[str], mapping: Optional[Union[Mapping[Any, Any], Callable[[Any], Any]]]=..., stacklevel: int=...) -> Callable[..., Any]: ... -def rewrite_axis_style_signature(name: str, extra_params: List[Tuple[str, Any]]) -> Callable[..., Any]: ... - -class Substitution: - params = ... - def __init__(self, *args, **kwargs) -> None: ... - def __call__(self, func: F) -> F: ... - def update(self, *args, **kwargs) -> None: ... - -class Appender: - addendum: Optional[str] - join = ... - def __init__(self, addendum: Optional[str], join: str=..., indents: int=...) -> None: ... - def __call__(self, func: F) -> F: ... - -def indent(text: Optional[str], indents: int=...) -> str: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_depr_module.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_depr_module.pyi deleted file mode 100644 index 620871e5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_depr_module.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Iterable - -class _DeprecatedModule: - deprmod = ... - deprmodto = ... - removals = ... - moved = ... - self_dir = ... - def __init__(self, deprmod, deprmodto = ..., removals = ..., moved = ...) -> None: ... - def __dir__(self) -> Iterable[str]: ... - def __getattr__(self, name: str) : ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_doctools.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_doctools.pyi deleted file mode 100644 index aa191e99..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_doctools.pyi +++ /dev/null @@ -1,6 +0,0 @@ -class TablePlotter: - cell_width = ... - cell_height = ... - font_size = ... - def __init__(self, cell_width: float=..., cell_height: float=..., font_size: float=...) -> None: ... - def plot(self, left, right, labels=..., vertical: bool=...) : ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_exceptions.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_exceptions.pyi deleted file mode 100644 index 39cb5d4c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_exceptions.pyi +++ /dev/null @@ -1 +0,0 @@ -def rewrite_exception(old_name: str, new_name: str) : ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_print_versions.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_print_versions.pyi deleted file mode 100644 index c1e51d6d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_print_versions.pyi +++ /dev/null @@ -1,6 +0,0 @@ -#from pandas.compat._optional import VERSIONS as VERSIONS, import_optional_dependency as import_optional_dependency -from typing import List, Optional, Tuple, Union - -def get_sys_info() -> List[Tuple[str, Optional[Union[str, int]]]]: ... -def show_versions(as_json: bool = ...) -> None: ... -def main() -> int: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_test_decorators.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_test_decorators.pyi deleted file mode 100644 index 6740fd6d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_test_decorators.pyi +++ /dev/null @@ -1,24 +0,0 @@ -from typing import Callable, Optional - -def safe_import(mod_name: str, min_version: Optional[str]=...) : ... - -tables = ... -xfail_non_writeable = ... - -def skip_if_installed(package: str) -> Callable: ... -def skip_if_no(package: str, min_version: Optional[str]=...) -> Callable: ... - -skip_if_no_mpl = ... -skip_if_mpl = ... -skip_if_32bit = ... -skip_if_windows = ... -skip_if_windows_python_3 = ... -skip_if_has_locale = ... -skip_if_not_us_locale = ... -skip_if_no_scipy = ... -skip_if_no_ne = ... - -def skip_if_np_lt(ver_str: str, reason: Optional[str]=..., *args, **kwds) -> Callable: ... -def parametrize_fixture_doc(*args): ... -def check_file_leaks(func) -> Callable: ... -def async_mark(): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_tester.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_tester.pyi deleted file mode 100644 index 542f690d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_tester.pyi +++ /dev/null @@ -1 +0,0 @@ -def test(extra_args = ...) -> None: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_validators.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_validators.pyi deleted file mode 100644 index 8a2f5110..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pandas/util/_validators.pyi +++ /dev/null @@ -1,10 +0,0 @@ -import numpy as np -from typing import Iterable, Union - -def validate_args(fname, args, max_fname_arg_count, compat_args) -> None: ... -def validate_kwargs(fname, kwargs, compat_args) -> None: ... -def validate_args_and_kwargs(fname, args, kwargs, max_fname_arg_count, compat_args) -> None: ... -def validate_bool_kwarg(value, arg_name): ... -def validate_axis_style_args(data, args, kwargs, arg_name, method_name): ... -def validate_fillna_kwargs(value, method, validate_scalar_dict_value: bool = ...): ... -def validate_percentile(q: Union[float, Iterable[float]]) -> np.ndarray: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pythonwin-stubs/dde.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pythonwin-stubs/dde.pyi deleted file mode 100644 index ab7aecdd..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pythonwin-stubs/dde.pyi +++ /dev/null @@ -1,78 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: dde, version: unspecified -# Module: dde, version: unspecified - -'A module for Dynamic Data Exchange support' - -import typing -import builtins as _mod_builtins - -APPCLASS_MONITOR: int -APPCLASS_STANDARD: int -APPCMD_CLIENTONLY: int -APPCMD_FILTERINITS: int -CBF_FAIL_ADVISES: int -CBF_FAIL_ALLSVRXACTIONS: int -CBF_FAIL_CONNECTIONS: int -CBF_FAIL_EXECUTES: int -CBF_FAIL_POKES: int -CBF_FAIL_REQUESTS: int -CBF_FAIL_SELFCONNECTIONS: int -CBF_SKIP_ALLNOTIFICATIONS: int -CBF_SKIP_CONNECT_CONFIRMS: int -CBF_SKIP_DISCONNECTS: int -CBF_SKIP_REGISTRATIONS: int -def CreateConversation() -> typing.Any: - ... - -def CreateServer() -> typing.Any: - ... - -def CreateServerSystemTopic() -> typing.Any: - ... - -def CreateStringItem() -> typing.Any: - ... - -def CreateTopic() -> typing.Any: - ... - -MF_CALLBACKS: int -MF_CONV: int -MF_ERRORS: int -MF_HSZ_INFO: int -MF_LINKS: int -MF_POSTMSGS: int -MF_SENDMSGS: int -__doc__: str -__file__: str -__name__: str -__package__: str -class error(_mod_builtins.Exception): - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pythonwin-stubs/py.typed b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pythonwin-stubs/py.typed deleted file mode 100644 index b648ac92..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pythonwin-stubs/py.typed +++ /dev/null @@ -1 +0,0 @@ -partial diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pythonwin-stubs/win32ui.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pythonwin-stubs/win32ui.pyi deleted file mode 100644 index 46915c03..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pythonwin-stubs/win32ui.pyi +++ /dev/null @@ -1,608 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32ui, version: unspecified -# Module: win32ui, version: unspecified - -'A module, encapsulating the Microsoft Foundation Classes.' - -import typing -import builtins as _mod_builtins - -AFX_IDW_PANE_FIRST: int -AFX_IDW_PANE_LAST: int -AFX_WS_DEFAULT_VIEW: int -def AddToRecentFileList() -> typing.Any: - ... - -CDocTemplate_Confidence_maybeAttemptForeign: int -CDocTemplate_Confidence_maybeAttemptNative: int -CDocTemplate_Confidence_noAttempt: int -CDocTemplate_Confidence_yesAlreadyOpen: int -CDocTemplate_Confidence_yesAttemptForeign: int -CDocTemplate_Confidence_yesAttemptNative: int -CDocTemplate_docName: int -CDocTemplate_fileNewName: int -CDocTemplate_filterExt: int -CDocTemplate_filterName: int -CDocTemplate_regFileTypeId: int -CDocTemplate_regFileTypeName: int -CDocTemplate_windowTitle: int -CRichEditView_WrapNone: int -CRichEditView_WrapToTargetDevice: int -CRichEditView_WrapToWindow: int -def ComparePath() -> typing.Any: - ... - -def CreateBitmap() -> typing.Any: - ... - -def CreateBitmapFromHandle() -> typing.Any: - ... - -def CreateBrush() -> typing.Any: - ... - -def CreateButton() -> typing.Any: - ... - -def CreateColorDialog() -> typing.Any: - ... - -def CreateControl() -> typing.Any: - ... - -def CreateControlBar() -> typing.Any: - ... - -def CreateCtrlView() -> typing.Any: - ... - -def CreateDC() -> typing.Any: - ... - -def CreateDCFromHandle() -> typing.Any: - ... - -def CreateDebuggerThread() -> typing.Any: - ... - -def CreateDialog() -> typing.Any: - ... - -def CreateDialogBar() -> typing.Any: - ... - -def CreateDialogIndirect() -> typing.Any: - ... - -def CreateDocTemplate() -> typing.Any: - ... - -def CreateEdit() -> typing.Any: - ... - -def CreateEditView() -> typing.Any: - ... - -def CreateFileDialog() -> typing.Any: - ... - -def CreateFont() -> typing.Any: - ... - -def CreateFontDialog() -> typing.Any: - ... - -def CreateFormView() -> typing.Any: - ... - -def CreateFrame() -> typing.Any: - ... - -def CreateImageList() -> typing.Any: - ... - -def CreateListCtrl() -> typing.Any: - ... - -def CreateListView() -> typing.Any: - ... - -def CreateMDIChild() -> typing.Any: - ... - -def CreateMDIFrame() -> typing.Any: - ... - -def CreateMenu() -> typing.Any: - ... - -def CreatePalette() -> typing.Any: - ... - -def CreatePen() -> typing.Any: - ... - -def CreatePopupMenu() -> typing.Any: - ... - -def CreatePrintDialog() -> typing.Any: - ... - -def CreateProgressCtrl() -> typing.Any: - ... - -def CreatePropertyPage() -> typing.Any: - ... - -def CreatePropertyPageIndirect() -> typing.Any: - ... - -def CreatePropertySheet() -> typing.Any: - ... - -def CreateRectRgn() -> typing.Any: - ... - -def CreateRgn() -> typing.Any: - ... - -def CreateRichEditCtrl() -> typing.Any: - ... - -def CreateRichEditDocTemplate() -> typing.Any: - ... - -def CreateRichEditView() -> typing.Any: - ... - -def CreateSliderCtrl() -> typing.Any: - ... - -def CreateSplitter() -> typing.Any: - ... - -def CreateStatusBar() -> typing.Any: - ... - -def CreateStatusBarCtrl() -> typing.Any: - ... - -def CreateThread() -> typing.Any: - ... - -def CreateToolBar() -> typing.Any: - ... - -def CreateToolBarCtrl() -> typing.Any: - ... - -def CreateToolTipCtrl() -> typing.Any: - ... - -def CreateTreeCtrl() -> typing.Any: - ... - -def CreateTreeView() -> typing.Any: - ... - -def CreateView() -> typing.Any: - ... - -def CreateWindowFromHandle() -> typing.Any: - ... - -def CreateWnd() -> typing.Any: - ... - -def DestroyDebuggerThread() -> typing.Any: - ... - -def DisplayTraceback() -> typing.Any: - ... - -def DoWaitCursor() -> typing.Any: - ... - -def Enable3dControls() -> typing.Any: - ... - -def EnableControlContainer() -> typing.Any: - ... - -FWS_ADDTOTITLE: int -FWS_PREFIXTITLE: int -FWS_SNAPTOBARS: int -def FindWindow() -> typing.Any: - ... - -def FindWindowEx() -> typing.Any: - ... - -def FullPath() -> typing.Any: - ... - -def GetActiveWindow() -> typing.Any: - ... - -def GetApp() -> typing.Any: - ... - -def GetAppName() -> typing.Any: - ... - -def GetAppRegistryKey() -> typing.Any: - ... - -def GetBytes() -> typing.Any: - ... - -def GetCommandLine() -> typing.Any: - ... - -def GetDeviceCaps() -> typing.Any: - ... - -def GetFileTitle() -> typing.Any: - ... - -def GetFocus() -> typing.Any: - ... - -def GetForegroundWindow() -> typing.Any: - ... - -def GetHalftoneBrush() -> typing.Any: - ... - -def GetInitialStateRequest() -> typing.Any: - ... - -def GetMainFrame() -> typing.Any: - ... - -def GetName() -> typing.Any: - ... - -def GetProfileFileName() -> typing.Any: - ... - -def GetProfileVal() -> typing.Any: - ... - -def GetRecentFileList() -> typing.Any: - ... - -def GetResource() -> typing.Any: - ... - -def GetThread() -> typing.Any: - ... - -def GetType() -> typing.Any: - ... - -IDB_BROWSER_HIER: int -IDB_DEBUGGER_HIER: int -IDB_HIERFOLDERS: int -IDC_ABOUT_VERSION: int -IDC_AUTOCOMPLETE: int -IDC_AUTO_RELOAD: int -IDC_BUTTON1: int -IDC_BUTTON2: int -IDC_BUTTON3: int -IDC_BUTTON4: int -IDC_CALLTIPS: int -IDC_CHECK1: int -IDC_CHECK2: int -IDC_CHECK3: int -IDC_COMBO1: int -IDC_COMBO2: int -IDC_DBG_ADD: int -IDC_DBG_BREAKPOINTS: int -IDC_DBG_CLEAR: int -IDC_DBG_CLOSE: int -IDC_DBG_GO: int -IDC_DBG_STACK: int -IDC_DBG_STEP: int -IDC_DBG_STEPOUT: int -IDC_DBG_STEPOVER: int -IDC_DBG_WATCH: int -IDC_EDIT1: int -IDC_EDIT2: int -IDC_EDIT3: int -IDC_EDIT4: int -IDC_EDITOR_COLOR: int -IDC_EDIT_TABS: int -IDC_FOLD_ENABLE: int -IDC_FOLD_ON_OPEN: int -IDC_FOLD_SHOW_LINES: int -IDC_INDENT_SIZE: int -IDC_KEYBOARD_CONFIG: int -IDC_LIST1: int -IDC_MARGIN_FOLD: int -IDC_MARGIN_LINENUMBER: int -IDC_MARGIN_MARKER: int -IDC_PROMPT1: int -IDC_PROMPT2: int -IDC_PROMPT3: int -IDC_PROMPT4: int -IDC_PROMPT_TABS: int -IDC_RADIO1: int -IDC_RADIO2: int -IDC_RIGHTEDGE_COLUMN: int -IDC_RIGHTEDGE_DEFINE: int -IDC_RIGHTEDGE_ENABLE: int -IDC_RIGHTEDGE_SAMPLE: int -IDC_SPIN1: int -IDC_SPIN2: int -IDC_SPIN3: int -IDC_TABTIMMY_BG: int -IDC_TABTIMMY_IND: int -IDC_TABTIMMY_NONE: int -IDC_TAB_SIZE: int -IDC_USE_SMART_TABS: int -IDC_USE_TABS: int -IDC_VIEW_EOL: int -IDC_VIEW_INDENTATIONGUIDES: int -IDC_VIEW_WHITESPACE: int -IDC_VSS_INTEGRATE: int -IDD_ABOUTBOX: int -IDD_DUMMYPROPPAGE: int -IDD_GENERAL_STATUS: int -IDD_LARGE_EDIT: int -IDD_PP_DEBUGGER: int -IDD_PP_EDITOR: int -IDD_PP_FORMAT: int -IDD_PP_IDE: int -IDD_PP_TABS: int -IDD_PP_TOOLMENU: int -IDD_PROPDEMO1: int -IDD_PROPDEMO2: int -IDD_RUN_SCRIPT: int -IDD_SET_TABSTOPS: int -IDD_SIMPLE_INPUT: int -IDD_TREE: int -IDD_TREE_MB: int -IDR_CNTR_INPLACE: int -IDR_DEBUGGER: int -IDR_MAINFRAME: int -IDR_PYTHONCONTYPE: int -IDR_PYTHONTYPE: int -IDR_PYTHONTYPE_CNTR_IP: int -IDR_TEXTTYPE: int -ID_APP_ABOUT: int -ID_APP_EXIT: int -ID_EDIT_CLEAR: int -ID_EDIT_CLEAR_ALL: int -ID_EDIT_COPY: int -ID_EDIT_CUT: int -ID_EDIT_FIND: int -ID_EDIT_GOTO_LINE: int -ID_EDIT_PASTE: int -ID_EDIT_REDO: int -ID_EDIT_REPEAT: int -ID_EDIT_REPLACE: int -ID_EDIT_SELECT_ALL: int -ID_EDIT_SELECT_BLOCK: int -ID_EDIT_UNDO: int -ID_FILE_CHECK: int -ID_FILE_CLOSE: int -ID_FILE_IMPORT: int -ID_FILE_LOCATE: int -ID_FILE_MRU_FILE1: int -ID_FILE_MRU_FILE2: int -ID_FILE_MRU_FILE3: int -ID_FILE_MRU_FILE4: int -ID_FILE_NEW: int -ID_FILE_OPEN: int -ID_FILE_PAGE_SETUP: int -ID_FILE_PRINT: int -ID_FILE_PRINT_PREVIEW: int -ID_FILE_PRINT_SETUP: int -ID_FILE_RUN: int -ID_FILE_SAVE: int -ID_FILE_SAVE_ALL: int -ID_FILE_SAVE_AS: int -ID_HELP_GUI_REF: int -ID_HELP_OTHER: int -ID_HELP_PYTHON: int -ID_INDICATOR_COLNUM: int -ID_INDICATOR_LINENUM: int -ID_NEXT_PANE: int -ID_PREV_PANE: int -ID_SEPARATOR: int -ID_VIEW_BROWSE: int -ID_VIEW_EOL: int -ID_VIEW_FIXED_FONT: int -ID_VIEW_FOLD_COLLAPSE: int -ID_VIEW_FOLD_COLLAPSE_ALL: int -ID_VIEW_FOLD_EXPAND: int -ID_VIEW_FOLD_EXPAND_ALL: int -ID_VIEW_FOLD_TOPLEVEL: int -ID_VIEW_INDENTATIONGUIDES: int -ID_VIEW_INTERACTIVE: int -ID_VIEW_OPTIONS: int -ID_VIEW_RIGHT_EDGE: int -ID_VIEW_STATUS_BAR: int -ID_VIEW_TOOLBAR: int -ID_VIEW_TOOLBAR_DBG: int -ID_VIEW_WHITESPACE: int -ID_WINDOW_ARRANGE: int -ID_WINDOW_CASCADE: int -ID_WINDOW_NEW: int -ID_WINDOW_SPLIT: int -ID_WINDOW_TILE_HORZ: int -ID_WINDOW_TILE_VERT: int -def InitRichEdit() -> typing.Any: - ... - -def InstallCallbackCaller() -> typing.Any: - ... - -def IsDebug() -> typing.Any: - ... - -def IsObject() -> typing.Any: - ... - -def IsWin32s() -> typing.Any: - ... - -LM_COMMIT: int -LM_HORZ: int -LM_HORZDOCK: int -LM_LENGTHY: int -LM_MRUWIDTH: int -LM_STRETCH: int -LM_VERTDOCK: int -def LoadDialogResource() -> typing.Any: - ... - -def LoadLibrary() -> typing.Any: - ... - -def LoadMenu() -> typing.Any: - ... - -def LoadStdProfileSettings() -> typing.Any: - ... - -def LoadString() -> typing.Any: - ... - -MFS_4THICKFRAME: int -MFS_BLOCKSYSMENU: int -MFS_MOVEFRAME: int -MFS_SYNCACTIVE: int -MFS_THICKFRAME: int -def MessageBox() -> typing.Any: - ... - -def OutputDebug() -> typing.Any: - ... - -def OutputDebugString() -> typing.Any: - ... - -PD_ALLPAGES: int -PD_COLLATE: int -PD_DISABLEPRINTTOFILE: int -PD_ENABLEPRINTHOOK: int -PD_ENABLEPRINTTEMPLATE: int -PD_ENABLEPRINTTEMPLATEHANDLE: int -PD_ENABLESETUPHOOK: int -PD_ENABLESETUPTEMPLATE: int -PD_ENABLESETUPTEMPLATEHANDLE: int -PD_HIDEPRINTTOFILE: int -PD_NONETWORKBUTTON: int -PD_NOPAGENUMS: int -PD_NOSELECTION: int -PD_NOWARNING: int -PD_PAGENUMS: int -PD_PRINTSETUP: int -PD_PRINTTOFILE: int -PD_RETURNDC: int -PD_RETURNDEFAULT: int -PD_RETURNIC: int -PD_SELECTION: int -PD_SHOWHELP: int -PD_USEDEVMODECOPIES: int -PD_USEDEVMODECOPIESANDCOLLATE: int -PSWIZB_BACK: int -PSWIZB_DISABLEDFINISH: int -PSWIZB_FINISH: int -PSWIZB_NEXT: int -def PrintTraceback() -> typing.Any: - ... - -def PumpWaitingMessages() -> typing.Any: - ... - -def RegisterWndClass() -> typing.Any: - ... - -def RemoveRecentFile() -> typing.Any: - ... - -def SetAppHelpPath() -> typing.Any: - ... - -def SetAppName() -> typing.Any: - ... - -def SetCurrentInstanceHandle() -> typing.Any: - ... - -def SetCurrentResourceHandle() -> typing.Any: - ... - -def SetDialogBkColor() -> typing.Any: - ... - -def SetProfileFileName() -> typing.Any: - ... - -def SetRegistryKey() -> typing.Any: - ... - -def SetResource() -> typing.Any: - ... - -def SetStatusText() -> typing.Any: - ... - -def StartDebuggerPump() -> typing.Any: - ... - -def StopDebuggerPump() -> typing.Any: - ... - -def TranslateMessage() -> typing.Any: - ... - -def TranslateVirtualKey() -> typing.Any: - ... - -UNICODE: int -def WinHelp() -> typing.Any: - ... - -def WriteProfileVal() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -copyright: str -debug: int -dllhandle: int -class error(_mod_builtins.Exception): - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -types: dict -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pythonwin-stubs/win32uiole.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pythonwin-stubs/win32uiole.pyi deleted file mode 100644 index aee18e0c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/pythonwin-stubs/win32uiole.pyi +++ /dev/null @@ -1,60 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32uiole, version: unspecified -# Module: win32uiole, version: unspecified - -'A module, encapsulating the Microsoft Foundation Classes OLE functionality.' - -import typing -import builtins as _mod_builtins - -def AfxOleInit() -> typing.Any: - ... - -COleClientItem_activeState: int -COleClientItem_activeUIState: int -COleClientItem_emptyState: int -COleClientItem_loadedState: int -COleClientItem_openState: int -def CreateInsertDialog() -> typing.Any: - ... - -def CreateOleClientItem() -> typing.Any: - ... - -def CreateOleDocument() -> typing.Any: - ... - -def DaoGetEngine() -> typing.Any: - ... - -def EnableBusyDialog() -> typing.Any: - ... - -def EnableNotRespondingDialog() -> typing.Any: - ... - -def GetIDispatchForWindow() -> typing.Any: - ... - -OLE_CHANGED: int -OLE_CHANGED_ASPECT: int -OLE_CHANGED_STATE: int -OLE_CLOSED: int -OLE_RENAMED: int -OLE_SAVED: int -def OleGetUserCtrl() -> typing.Any: - ... - -def OleSetUserCtrl() -> typing.Any: - ... - -def SetMessagePendingDelay() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_ccallback_c.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_ccallback_c.pyi deleted file mode 100644 index 698e5400..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_ccallback_c.pyi +++ /dev/null @@ -1,50 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy._lib._ccallback_c, version: unspecified -import typing -import builtins as _mod_builtins -import ctypes as _mod_ctypes - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -__test__: dict -def check_capsule(item) -> typing.Any: - '\n check_capsule(item)\n\n Return True if the given object is a PyCapsule.\n ' - ... - -def get_capsule_signature() -> typing.Any: - ... - -def get_raw_capsule(ptr, name, context) -> typing.Any: - '\n get_raw_capsule(ptr, name, context)\n\n Create a new PyCapsule with given pointer, name, and context.\n\n Parameters\n ----------\n ptr : {PyCapsule, int}\n Memory address of the pointer.\n name : str\n Python string containing the signature.\n context : {PyCapsule, int}\n Memory address of the context.\n If NULL and ptr is a PyCapsule, use the one from the context of ptr.\n\n ' - ... - -idx: int -def plus1_ctypes() -> typing.Any: - ... - -plus1_t = _mod_ctypes.CFunctionType -def plus1b_ctypes() -> typing.Any: - ... - -plus1b_t = _mod_ctypes.CFunctionType -def plus1bc_ctypes() -> typing.Any: - ... - -plus1bc_t = _mod_ctypes.CFunctionType -sig: tuple -sigs: list -def sine_ctypes() -> typing.Any: - ... - -sine_t = _mod_ctypes.CFunctionType -def test_call_cython() -> typing.Any: - '\n Implementation of a caller routine in Cython\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_fpumode.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_fpumode.pyi deleted file mode 100644 index 85aac2b3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_fpumode.pyi +++ /dev/null @@ -1,17 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy._lib._fpumode, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def get_fpu_mode() -> typing.Any: - 'get_fpu_mode()\n\nGet the current FPU control word, in a platform-dependent format.\nReturns None if not implemented on current platform.' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_test_ccallback.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_test_ccallback.pyi deleted file mode 100644 index 52803e88..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_test_ccallback.pyi +++ /dev/null @@ -1,34 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy._lib._test_ccallback, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def test_call_nodata() -> typing.Any: - ... - -def test_call_nonlocal() -> typing.Any: - ... - -def test_call_simple() -> typing.Any: - ... - -def test_get_data_capsule() -> typing.Any: - ... - -def test_get_plus1_capsule() -> typing.Any: - ... - -def test_get_plus1b_capsule() -> typing.Any: - ... - -def test_get_plus1bc_capsule() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_test_deprecation_call.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_test_deprecation_call.pyi deleted file mode 100644 index 43ac7208..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_test_deprecation_call.pyi +++ /dev/null @@ -1,17 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy._lib._test_deprecation_call, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__test__: dict -def call() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_test_deprecation_def.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_test_deprecation_def.pyi deleted file mode 100644 index af6e4b8c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_test_deprecation_def.pyi +++ /dev/null @@ -1,15 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy._lib._test_deprecation_def, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -__test__: dict -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_uarray/_uarray.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_uarray/_uarray.pyi deleted file mode 100644 index 177ec52b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/_uarray/_uarray.pyi +++ /dev/null @@ -1,30 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy._lib._uarray._uarray, version: unspecified -import typing -import builtins as _mod_builtins -import uarray as _mod_uarray - -BackendNotImplementedError = _mod_uarray.BackendNotImplementedError -_Function = _mod_uarray._Function -_SetBackendContext = _mod_uarray._SetBackendContext -_SkipBackendContext = _mod_uarray._SkipBackendContext -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def clear_all_globals() -> typing.Any: - ... - -def clear_backends() -> typing.Any: - ... - -def register_backend() -> typing.Any: - ... - -def set_global_backend() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/messagestream.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/messagestream.pyi deleted file mode 100644 index 644fee41..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/_lib/messagestream.pyi +++ /dev/null @@ -1,52 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy._lib.messagestream, version: unspecified -import typing -import builtins as _mod_builtins - -class MessageStream(_mod_builtins.object): - '\n Capture messages emitted to FILE* streams. Do this by directing them\n to a temporary file, residing in memory (if possible) or on disk.\n ' - def __del__(self) -> None: - ... - - def __init__(self, *args, **kwargs) -> None: - '\n Capture messages emitted to FILE* streams. Do this by directing them\n to a temporary file, residing in memory (if possible) or on disk.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def clear(self) -> typing.Any: - ... - - def close(self) -> typing.Any: - ... - - def get(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__test__: dict -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/cluster/_hierarchy.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/cluster/_hierarchy.pyi deleted file mode 100644 index 825b00b5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/cluster/_hierarchy.pyi +++ /dev/null @@ -1,150 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.cluster._hierarchy, version: unspecified -import typing -import builtins as _mod_builtins - -class Heap(_mod_builtins.object): - 'Binary heap.\n\n Heap stores values and keys. Values are passed explicitly, whereas keys\n are assigned implicitly to natural numbers (from 0 to n - 1).\n\n The supported operations (all have O(log n) time complexity):\n\n * Return the current minimum value and the corresponding key.\n * Remove the current minimum value.\n * Change the value of the given key. Note that the key must be still\n in the heap.\n\n The heap is stored as an array, where children of parent i have indices\n 2 * i + 1 and 2 * i + 2. All public methods are based on `sift_down` and\n `sift_up` methods, which restore the heap property by moving an element\n down or up in the heap.\n ' - def __init__(self, *args, **kwargs) -> None: - 'Binary heap.\n\n Heap stores values and keys. Values are passed explicitly, whereas keys\n are assigned implicitly to natural numbers (from 0 to n - 1).\n\n The supported operations (all have O(log n) time complexity):\n\n * Return the current minimum value and the corresponding key.\n * Remove the current minimum value.\n * Change the value of the given key. Note that the key must be still\n in the heap.\n\n The heap is stored as an array, where children of parent i have indices\n 2 * i + 1 and 2 * i + 2. All public methods are based on `sift_down` and\n `sift_up` methods, which restore the heap property by moving an element\n down or up in the heap.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def change_value(self) -> typing.Any: - ... - - def get_min(self) -> typing.Any: - ... - - def remove_min(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class LinkageUnionFind(_mod_builtins.object): - 'Structure for fast cluster labeling in unsorted dendrogram.' - def __init__(self, *args, **kwargs) -> None: - 'Structure for fast cluster labeling in unsorted dendrogram.' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -def __pyx_unpickle_Heap() -> typing.Any: - ... - -def __pyx_unpickle_LinkageUnionFind() -> typing.Any: - ... - -__test__: dict -def calculate_cluster_sizes() -> typing.Any: - '\n Calculate the size of each cluster. The result is the fourth column of\n the linkage matrix.\n\n Parameters\n ----------\n Z : ndarray\n The linkage matrix. The fourth column can be empty.\n cs : ndarray\n The array to store the sizes.\n n : ndarray\n The number of observations.\n ' - ... - -def cluster_dist() -> typing.Any: - "\n Form flat clusters by distance criterion.\n\n Parameters\n ----------\n Z : ndarray\n The linkage matrix.\n T : ndarray\n The array to store the cluster numbers. The i'th observation belongs to\n cluster `T[i]`.\n cutoff : double\n Clusters are formed when distances are less than or equal to `cutoff`.\n n : int\n The number of observations.\n " - ... - -def cluster_in() -> typing.Any: - "\n Form flat clusters by inconsistent criterion.\n\n Parameters\n ----------\n Z : ndarray\n The linkage matrix.\n R : ndarray\n The inconsistent matrix.\n T : ndarray\n The array to store the cluster numbers. The i'th observation belongs to\n cluster `T[i]`.\n cutoff : double\n Clusters are formed when the inconsistent values are less than or\n or equal to `cutoff`.\n n : int\n The number of observations.\n " - ... - -def cluster_maxclust_dist() -> typing.Any: - "\n Form flat clusters by maxclust criterion.\n\n Parameters\n ----------\n Z : ndarray\n The linkage matrix.\n T : ndarray\n The array to store the cluster numbers. The i'th observation belongs to\n cluster `T[i]`.\n n : int\n The number of observations.\n mc : int\n The maximum number of clusters.\n " - ... - -def cluster_maxclust_monocrit() -> typing.Any: - "\n Form flat clusters by maxclust_monocrit criterion.\n\n Parameters\n ----------\n Z : ndarray\n The linkage matrix.\n MC : ndarray\n The monotonic criterion array.\n T : ndarray\n The array to store the cluster numbers. The i'th observation belongs to\n cluster `T[i]`.\n n : int\n The number of observations.\n max_nc : int\n The maximum number of clusters.\n " - ... - -def cluster_monocrit() -> typing.Any: - "\n Form flat clusters by monocrit criterion.\n\n Parameters\n ----------\n Z : ndarray\n The linkage matrix.\n MC : ndarray\n The monotonic criterion array.\n T : ndarray\n The array to store the cluster numbers. The i'th observation belongs to\n cluster `T[i]`.\n cutoff : double\n Clusters are formed when the MC values are less than or equal to\n `cutoff`.\n n : int\n The number of observations.\n " - ... - -def cophenetic_distances() -> typing.Any: - '\n Calculate the cophenetic distances between each observation\n\n Parameters\n ----------\n Z : ndarray\n The linkage matrix.\n d : ndarray\n The condensed matrix to store the cophenetic distances.\n n : int\n The number of observations.\n ' - ... - -def fast_linkage() -> typing.Any: - 'Perform hierarchy clustering.\n\n It implements "Generic Clustering Algorithm" from [1]. The worst case\n time complexity is O(N^3), but the best case time complexity is O(N^2) and\n it usually works quite close to the best case.\n\n Parameters\n ----------\n dists : ndarray\n A condensed matrix stores the pairwise distances of the observations.\n n : int\n The number of observations.\n method : int\n The linkage method. 0: single 1: complete 2: average 3: centroid\n 4: median 5: ward 6: weighted\n\n Returns\n -------\n Z : ndarray, shape (n - 1, 4)\n Computed linkage matrix.\n\n References\n ----------\n .. [1] Daniel Mullner, "Modern hierarchical, agglomerative clustering\n algorithms", :arXiv:`1109.2378v1`.\n ' - ... - -def get_max_Rfield_for_each_cluster() -> typing.Any: - "\n Get the maximum statistic for each non-singleton cluster. For the i'th\n non-singleton cluster, max_rfs[i] = max{R[j, rf] j is a descendent of i}.\n\n Parameters\n ----------\n Z : ndarray\n The linkage matrix.\n R : ndarray\n The R matrix.\n max_rfs : ndarray\n The array to store the result.\n n : int\n The number of observations.\n rf : int\n Indicate which column of `R` is used.\n " - ... - -def get_max_dist_for_each_cluster() -> typing.Any: - '\n Get the maximum inconsistency coefficient for each non-singleton cluster.\n\n Parameters\n ----------\n Z : ndarray\n The linkage matrix.\n MD : ndarray\n The array to store the result.\n n : int\n The number of observations.\n ' - ... - -def inconsistent() -> typing.Any: - '\n Calculate the inconsistency statistics.\n\n Parameters\n ----------\n Z : ndarray\n The linkage matrix.\n R : ndarray\n A (n - 1) x 4 matrix to store the result. The inconsistency statistics\n `R[i]` are calculated over `d` levels below cluster i. `R[i, 0]` is the\n mean of distances. `R[i, 1]` is the standard deviation of distances.\n `R[i, 2]` is the number of clusters included. `R[i, 3]` is the\n inconsistency coefficient.\n\n .. math:: \\frac{\\mathtt{Z[i,2]}-\\mathtt{R[i,0]}} {R[i,1]}\n\n n : int\n The number of observations.\n d : int\n The number of levels included in calculation below a node.\n ' - ... - -def leaders() -> typing.Any: - '\n Find the leader (root) of each flat cluster.\n\n Parameters\n ----------\n Z : ndarray\n The linkage matrix.\n T : ndarray\n The flat clusters assignment returned by `fcluster` or `fclusterdata`.\n L : ndarray\n `L` and `M` store the result. The leader of flat cluster `L[i]` is\n node `M[i]`.\n M : ndarray\n `L` and `M` store the result. The leader of flat cluster `L[i]` is\n node `M[i]`.\n nc : int\n The number of flat clusters.\n n : int\n The number of observations.\n\n Returns\n -------\n err_node : int\n Found that `T` is invalid when examining node `err_node`.\n `-1` indicates success.\n ' - ... - -def linkage() -> typing.Any: - '\n Perform hierarchy clustering.\n\n Parameters\n ----------\n dists : ndarray\n A condensed matrix stores the pairwise distances of the observations.\n n : int\n The number of observations.\n method : int\n The linkage method. 0: single 1: complete 2: average 3: centroid\n 4: median 5: ward 6: weighted\n\n Returns\n -------\n Z : ndarray, shape (n - 1, 4)\n Computed linkage matrix.\n ' - ... - -def mst_single_linkage() -> typing.Any: - 'Perform hierarchy clustering using MST algorithm for single linkage.\n\n Parameters\n ----------\n dists : ndarray\n A condensed matrix stores the pairwise distances of the observations.\n n : int\n The number of observations.\n\n Returns\n -------\n Z : ndarray, shape (n - 1, 4)\n Computed linkage matrix.\n ' - ... - -def nn_chain() -> typing.Any: - 'Perform hierarchy clustering using nearest-neighbor chain algorithm.\n\n Parameters\n ----------\n dists : ndarray\n A condensed matrix stores the pairwise distances of the observations.\n n : int\n The number of observations.\n method : int\n The linkage method. 0: single 1: complete 2: average 3: centroid\n 4: median 5: ward 6: weighted\n\n Returns\n -------\n Z : ndarray, shape (n - 1, 4)\n Computed linkage matrix.\n ' - ... - -def prelist() -> typing.Any: - '\n Perform a pre-order traversal on the linkage tree and get a list of ids\n of the leaves.\n\n Parameters\n ----------\n Z : ndarray\n The linkage matrix.\n members : ndarray\n The array to store the result.\n n : int\n The number of observations.\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/cluster/_optimal_leaf_ordering.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/cluster/_optimal_leaf_ordering.pyi deleted file mode 100644 index d94ba106..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/cluster/_optimal_leaf_ordering.pyi +++ /dev/null @@ -1,33 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.cluster._optimal_leaf_ordering, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def is_valid_dm(D, tol, throw, name, warning) -> typing.Any: - '\n Return True if input array is a valid distance matrix.\n\n Distance matrices must be 2-dimensional numpy arrays.\n They must have a zero-diagonal, and they must be symmetric.\n\n Parameters\n ----------\n D : ndarray\n The candidate object to test for validity.\n tol : float, optional\n The distance matrix should be symmetric. `tol` is the maximum\n difference between entries ``ij`` and ``ji`` for the distance\n metric to be considered symmetric.\n throw : bool, optional\n An exception is thrown if the distance matrix passed is not valid.\n name : str, optional\n The name of the variable to checked. This is useful if\n throw is set to True so the offending variable can be identified\n in the exception message when an exception is thrown.\n warning : bool, optional\n Instead of throwing an exception, a warning message is\n raised.\n\n Returns\n -------\n valid : bool\n True if the variable `D` passed is a valid distance matrix.\n\n Notes\n -----\n Small numerical differences in `D` and `D.T` and non-zeroness of\n the diagonal are ignored if they are within the tolerance specified\n by `tol`.\n\n ' - ... - -def is_valid_y(y, warning, throw, name) -> typing.Any: - '\n Return True if the input array is a valid condensed distance matrix.\n\n Condensed distance matrices must be 1-dimensional numpy arrays.\n Their length must be a binomial coefficient :math:`{n \\choose 2}`\n for some positive integer n.\n\n Parameters\n ----------\n y : ndarray\n The condensed distance matrix.\n warning : bool, optional\n Invokes a warning if the variable passed is not a valid\n condensed distance matrix. The warning message explains why\n the distance matrix is not valid. `name` is used when\n referencing the offending variable.\n throw : bool, optional\n Throws an exception if the variable passed is not a valid\n condensed distance matrix.\n name : bool, optional\n Used when referencing the offending variable in the\n warning or exception message.\n\n ' - ... - -def optimal_leaf_ordering() -> typing.Any: - '\n Compute the optimal leaf order for Z (according to D) and return an \n optimally sorted Z. \n\n We start by sorting and relabelling Z and D according to the current leaf \n order in Z.\n \n This is because when everything is sorted each cluster (including\n singletons) can be defined by its range over (0...n_points).\n\n This is used extensively to loop efficiently over the various arrays in the \n algorithm.\n\n ' - ... - -def squareform(X, force, checks) -> typing.Any: - "\n Convert a vector-form distance vector to a square-form distance\n matrix, and vice-versa.\n\n Parameters\n ----------\n X : ndarray\n Either a condensed or redundant distance matrix.\n force : str, optional\n As with MATLAB(TM), if force is equal to ``'tovector'`` or\n ``'tomatrix'``, the input will be treated as a distance matrix or\n distance vector respectively.\n checks : bool, optional\n If set to False, no checks will be made for matrix\n symmetry nor zero diagonals. This is useful if it is known that\n ``X - X.T1`` is small and ``diag(X)`` is close to zero.\n These values are ignored any way so they do not disrupt the\n squareform transformation.\n\n Returns\n -------\n Y : ndarray\n If a condensed distance matrix is passed, a redundant one is\n returned, or if a redundant one is passed, a condensed distance\n matrix is returned.\n\n Notes\n -----\n 1. ``v = squareform(X)``\n\n Given a square n-by-n symmetric distance matrix ``X``,\n ``v = squareform(X)`` returns a ``n * (n-1) / 2``\n (i.e. binomial coefficient n choose 2) sized vector `v`\n where :math:`v[{n \\choose 2} - {n-i \\choose 2} + (j-i-1)]`\n is the distance between distinct points ``i`` and ``j``.\n If ``X`` is non-square or asymmetric, an error is raised.\n\n 2. ``X = squareform(v)``\n\n Given a ``n * (n-1) / 2`` sized vector ``v``\n for some integer ``n >= 1`` encoding distances as described,\n ``X = squareform(v)`` returns a n-by-n distance matrix ``X``.\n The ``X[i, j]`` and ``X[j, i]`` values are set to\n :math:`v[{n \\choose 2} - {n-i \\choose 2} + (j-i-1)]`\n and all diagonal elements are zero.\n\n In SciPy 0.19.0, ``squareform`` stopped casting all input types to\n float64, and started returning arrays of the same dtype as the input.\n\n " - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/cluster/_vq.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/cluster/_vq.pyi deleted file mode 100644 index d8b7aae1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/cluster/_vq.pyi +++ /dev/null @@ -1,22 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.cluster._vq, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__test__: dict -def update_cluster_means() -> typing.Any: - '\n The update-step of K-means. Calculate the mean of observations in each\n cluster.\n\n Parameters\n ----------\n obs : ndarray\n The observation matrix. Each row is an observation. Its dtype must be\n float32 or float64.\n labels : ndarray\n The label of each observation. Must be an 1d array.\n nc : int\n The number of centroids.\n\n Returns\n -------\n cb : ndarray\n The new code book.\n has_members : ndarray\n A boolean array indicating which clusters have members.\n\n Notes\n -----\n The empty clusters will be set to all zeros and the corresponding elements\n in `has_members` will be `False`. The upper level function should decide\n how to deal with them.\n ' - ... - -def vq() -> typing.Any: - '\n Vector quantization ndarray wrapper. Only support float32 and float64.\n\n Parameters\n ----------\n obs : ndarray\n The observation matrix. Each row is an observation.\n codes : ndarray\n The code book matrix.\n\n Notes\n -----\n The observation matrix and code book matrix should have same ndim and\n same number of columns (features). Only 1-dimensional and 2-dimensional\n arrays are supported.\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/fft/_pocketfft/pypocketfft.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/fft/_pocketfft/pypocketfft.pyi deleted file mode 100644 index 6f272944..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/fft/_pocketfft/pypocketfft.pyi +++ /dev/null @@ -1,49 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.fft._pocketfft.pypocketfft, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -def c2c(a, axes=..., forward=..., inorm=..., out=..., nthreads=...) -> typing.Any: - "c2c(a: array, axes: object = None, forward: bool = True, inorm: int = 0, out: object = None, nthreads: int = 1) -> array\n\nPerforms a complex FFT.\n\nParameters\n----------\na : numpy.ndarray (any complex or real type)\n The input data. If its type is real, a more efficient real-to-complex\n transform will be used.\naxes : list of integers\n The axes along which the FFT is carried out.\n If not set, all axes will be transformed.\nforward : bool\n If `True`, a negative sign is used in the exponent, else a positive one.\ninorm : int\n Normalization type\n 0 : no normalization\n 1 : divide by sqrt(N)\n 2 : divide by N\n where N is the product of the lengths of the transformed axes.\nout : numpy.ndarray (same shape as `a`, complex type with same accuracy as `a`)\n May be identical to `a`, but if it isn't, it must not overlap with `a`.\n If None, a new array is allocated to store the output.\nnthreads : int\n Number of threads to use. If 0, use the system default (typically governed\n by the `OMP_NUM_THREADS` environment variable).\n\nReturns\n-------\nnumpy.ndarray (same shape as `a`, complex type with same accuracy as `a`)\n The transformed data.\n\n" - ... - -def c2r(a, axes=..., lastsize=..., forward=..., inorm=..., out=..., nthreads=...) -> typing.Any: - 'c2r(a: array, axes: object = None, lastsize: int = 0, forward: bool = True, inorm: int = 0, out: object = None, nthreads: int = 1) -> array\n\nPerforms an FFT whose output is strictly real.\n\nParameters\n----------\na : numpy.ndarray (any complex type)\n The input data\naxes : list of integers\n The axes along which the FFT is carried out.\n If not set, all axes will be transformed in ascending order.\nlastsize : the output size of the last axis to be transformed.\n If the corresponding input axis has size n, this can be 2*n-2 or 2*n-1.\nforward : bool\n If `True`, a negative sign is used in the exponent, else a positive one.\ninorm : int\n Normalization type\n 0 : no normalization\n 1 : divide by sqrt(N)\n 2 : divide by N\n where N is the product of the lengths of the transformed output axes.\nout : numpy.ndarray (real type with same accuracy as `a`)\n For the required shape, see the `Returns` section.\n Must not overlap with `a`.\n If None, a new array is allocated to store the output.\nnthreads : int\n Number of threads to use. If 0, use the system default (typically governed\n by the `OMP_NUM_THREADS` environment variable).\n\nReturns\n-------\nnumpy.ndarray (real type with same accuracy as `a`)\n The transformed data. The shape is identical to that of the input array,\n except for the axis that was transformed last, which has now `lastsize`\n entries.\n\n' - ... - -def dct(a, type, axes=..., inorm=..., out=..., nthreads=...) -> typing.Any: - "dct(a: array, type: int, axes: object = None, inorm: int = 0, out: object = None, nthreads: int = 1) -> array\n\nPerforms a discrete cosine transform.\n\nParameters\n----------\na : numpy.ndarray (any real type)\n The input data\ntype : integer\n the type of DCT. Must be in [1; 4].\naxes : list of integers\n The axes along which the transform is carried out.\n If not set, all axes will be transformed.\ninorm : int\n Normalization type\n 0 : no normalization\n 1 : make transform orthogonal and divide by sqrt(N)\n 2 : divide by N\n where N is the product of n_i for every transformed axis i.\n n_i is 2*(-1 for type 1 and 2*\n for types 2, 3, 4.\n Making the transform orthogonal involves the following additional steps\n for every 1D sub-transform:\n Type 1 : multiply first and last input value by sqrt(2)\n divide first and last output value by sqrt(2)\n Type 2 : divide first output value by sqrt(2)\n Type 3 : multiply first input value by sqrt(2)\n Type 4 : nothing\nout : numpy.ndarray (same shape and data type as `a`)\n May be identical to `a`, but if it isn't, it must not overlap with `a`.\n If None, a new array is allocated to store the output.\nnthreads : int\n Number of threads to use. If 0, use the system default (typically governed\n by the `OMP_NUM_THREADS` environment variable).\n\nReturns\n-------\nnumpy.ndarray (same shape and data type as `a`)\n The transformed data\n\n" - ... - -def dst(a, type, axes=..., inorm=..., out=..., nthreads=...) -> typing.Any: - "dst(a: array, type: int, axes: object = None, inorm: int = 0, out: object = None, nthreads: int = 1) -> array\n\nPerforms a discrete sine transform.\n\nParameters\n----------\na : numpy.ndarray (any real type)\n The input data\ntype : integer\n the type of DST. Must be in [1; 4].\naxes : list of integers\n The axes along which the transform is carried out.\n If not set, all axes will be transformed.\ninorm : int\n Normalization type\n 0 : no normalization\n 1 : make transform orthogonal and divide by sqrt(N)\n 2 : divide by N\n where N is the product of n_i for every transformed axis i.\n n_i is 2*(+1 for type 1 and 2*\n for types 2, 3, 4.\n Making the transform orthogonal involves the following additional steps\n for every 1D sub-transform:\n Type 1 : nothing\n Type 2 : divide first output value by sqrt(2)\n Type 3 : multiply first input value by sqrt(2)\n Type 4 : nothing\nout : numpy.ndarray (same shape and data type as `a`)\n May be identical to `a`, but if it isn't, it must not overlap with `a`.\n If None, a new array is allocated to store the output.\nnthreads : int\n Number of threads to use. If 0, use the system default (typically governed\n by the `OMP_NUM_THREADS` environment variable).\n\nReturns\n-------\nnumpy.ndarray (same shape and data type as `a`)\n The transformed data\n\n" - ... - -def genuine_hartley(a, axes=..., inorm=..., out=..., nthreads=...) -> typing.Any: - "genuine_hartley(a: array, axes: object = None, inorm: int = 0, out: object = None, nthreads: int = 1) -> array\n\nPerforms a full Hartley transform.\nA full Fourier transform is carried out over the requested axes, and the\nsum of real and imaginary parts of the result is stored in the output\narray. For a single transformed axis, this is identical to `separable_hartley`,\nbut when transforming multiple axes, the results are different.\n\nParameters\n----------\na : numpy.ndarray (any real type)\n The input data\naxes : list of integers\n The axes along which the transform is carried out.\n If not set, all axes will be transformed.\ninorm : int\n Normalization type\n 0 : no normalization\n 1 : divide by sqrt(N)\n 2 : divide by N\n where N is the product of the lengths of the transformed axes.\nout : numpy.ndarray (same shape and data type as `a`)\n May be identical to `a`, but if it isn't, it must not overlap with `a`.\n If None, a new array is allocated to store the output.\nnthreads : int\n Number of threads to use. If 0, use the system default (typically governed\n by the `OMP_NUM_THREADS` environment variable).\n\nReturns\n-------\nnumpy.ndarray (same shape and data type as `a`)\n The transformed data\n\n" - ... - -def good_size() -> typing.Any: - 'Returns a good length to pad an FFT to.\n\nParameters\n----------\ntarget : int\n Minimum transform length\nreal : bool, optional\n True if either input or output of FFT should be fully real.\n\nReturns\n-------\nout : int\n The smallest fast size >= n\n\n' - ... - -def r2c(a, axes=..., forward=..., inorm=..., out=..., nthreads=...) -> typing.Any: - 'r2c(a: array, axes: object = None, forward: bool = True, inorm: int = 0, out: object = None, nthreads: int = 1) -> array\n\nPerforms an FFT whose input is strictly real.\n\nParameters\n----------\na : numpy.ndarray (any real type)\n The input data\naxes : list of integers\n The axes along which the FFT is carried out.\n If not set, all axes will be transformed in ascending order.\nforward : bool\n If `True`, a negative sign is used in the exponent, else a positive one.\ninorm : int\n Normalization type\n 0 : no normalization\n 1 : divide by sqrt(N)\n 2 : divide by N\n where N is the product of the lengths of the transformed input axes.\nout : numpy.ndarray (complex type with same accuracy as `a`)\n For the required shape, see the `Returns` section.\n Must not overlap with `a`.\n If None, a new array is allocated to store the output.\nnthreads : int\n Number of threads to use. If 0, use the system default (typically governed\n by the `OMP_NUM_THREADS` environment variable).\n\nReturns\n-------\nnumpy.ndarray (complex type with same accuracy as `a`)\n The transformed data. The shape is identical to that of the input array,\n except for the axis that was transformed last. If the length of that axis\n was n on input, it is n//2+1 on output.\n\n' - ... - -def r2r_fftpack(a, axes, real2hermitian, forward, inorm=..., out=..., nthreads=...) -> typing.Any: - "r2r_fftpack(a: array, axes: object, real2hermitian: bool, forward: bool, inorm: int = 0, out: object = None, nthreads: int = 1) -> array\n\nPerforms a real-valued FFT using the FFTPACK storage scheme.\n\nParameters\n----------\na : numpy.ndarray (any real type)\n The input data\naxes : list of integers\n The axes along which the FFT is carried out.\n If not set, all axes will be transformed.\nreal2hermitian : bool\n if True, the input is purely real and the output will have Hermitian\n symmetry and be stored in FFTPACK's halfcomplex ordering, otherwise the\n opposite.\nforward : bool\n If `True`, a negative sign is used in the exponent, else a positive one.\ninorm : int\n Normalization type\n 0 : no normalization\n 1 : divide by sqrt(N)\n 2 : divide by N\n where N is the length of `axis`.\nout : numpy.ndarray (same shape and data type as `a`)\n May be identical to `a`, but if it isn't, it must not overlap with `a`.\n If None, a new array is allocated to store the output.\nnthreads : int\n Number of threads to use. If 0, use the system default (typically governed\n by the `OMP_NUM_THREADS` environment variable).\n\nReturns\n-------\nnumpy.ndarray (same shape and data type as `a`)\n The transformed data. The shape is identical to that of the input array.\n\n" - ... - -def separable_hartley(a, axes=..., inorm=..., out=..., nthreads=...) -> typing.Any: - "separable_hartley(a: array, axes: object = None, inorm: int = 0, out: object = None, nthreads: int = 1) -> array\n\nPerforms a separable Hartley transform.\nFor every requested axis, a 1D forward Fourier transform is carried out, and\nthe real and imaginary parts of the result are added before the next axis is\nprocessed.\n\nParameters\n----------\na : numpy.ndarray (any real type)\n The input data\naxes : list of integers\n The axes along which the transform is carried out.\n If not set, all axes will be transformed.\ninorm : int\n Normalization type\n 0 : no normalization\n 1 : divide by sqrt(N)\n 2 : divide by N\n where N is the product of the lengths of the transformed axes.\nout : numpy.ndarray (same shape and data type as `a`)\n May be identical to `a`, but if it isn't, it must not overlap with `a`.\n If None, a new array is allocated to store the output.\nnthreads : int\n Number of threads to use. If 0, use the system default (typically governed\n by the `OMP_NUM_THREADS` environment variable).\n\nReturns\n-------\nnumpy.ndarray (same shape and data type as `a`)\n The transformed data\n\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/fftpack/convolve.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/fftpack/convolve.pyi deleted file mode 100644 index d2721af4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/fftpack/convolve.pyi +++ /dev/null @@ -1,37 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.fftpack.convolve, version: unspecified -import typing -import builtins as _mod_builtins - -__all__: list -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def convolve(x, omega, swap_real_imag=..., overwrite_x=...) -> typing.Any: - "y = convolve(x,omega,[swap_real_imag,overwrite_x])\n\n Wrapper for ``convolve``.\n\n Parameters\n ----------\n x : input rank-1 array('d') with bounds (n)\n omega : input rank-1 array('d') with bounds (n)\n\n Other Parameters\n ----------------\n overwrite_x : input int, optional\n Default: 0\n swap_real_imag : input int, optional\n Default: 0\n\n Returns\n -------\n y : rank-1 array('d') with bounds (n) and x storage\n " - ... - -def convolve_z(x, omega_real, omega_imag, overwrite_x=...) -> typing.Any: - "y = convolve_z(x,omega_real,omega_imag,[overwrite_x])\n\n Wrapper for ``convolve_z``.\n\n Parameters\n ----------\n x : input rank-1 array('d') with bounds (n)\n omega_real : input rank-1 array('d') with bounds (n)\n omega_imag : input rank-1 array('d') with bounds (n)\n\n Other Parameters\n ----------------\n overwrite_x : input int, optional\n Default: 0\n\n Returns\n -------\n y : rank-1 array('d') with bounds (n) and x storage\n " - ... - -def destroy_convolve_cache() -> typing.Any: - ... - -def init_convolution_kernel(n, kernel_func, d=..., zero_nyquist=..., kernel_func_extra_args=...) -> typing.Any: - "omega = init_convolution_kernel(n,kernel_func,[d,zero_nyquist,kernel_func_extra_args])\n\n Wrapper for ``init_convolution_kernel``.\n\n Parameters\n ----------\n n : input int\n kernel_func : call-back function\n\n Other Parameters\n ----------------\n d : input int, optional\n Default: 0\n kernel_func_extra_args : input tuple, optional\n Default: ()\n zero_nyquist : input int, optional\n Default: d%2\n\n Returns\n -------\n omega : rank-1 array('d') with bounds (n)\n\n Notes\n -----\n Call-back functions::\n\n def kernel_func(k): return kernel_func\n Required arguments:\n k : input int\n Return objects:\n kernel_func : float\n " - ... - -def r2r_fftpack(a, axes, real2hermitian, forward, inorm=..., out=..., nthreads=...) -> typing.Any: - "r2r_fftpack(a: array, axes: object, real2hermitian: bool, forward: bool, inorm: int = 0, out: object = None, nthreads: int = 1) -> array\n\nPerforms a real-valued FFT using the FFTPACK storage scheme.\n\nParameters\n----------\na : numpy.ndarray (any real type)\n The input data\naxes : list of integers\n The axes along which the FFT is carried out.\n If not set, all axes will be transformed.\nreal2hermitian : bool\n if True, the input is purely real and the output will have Hermitian\n symmetry and be stored in FFTPACK's halfcomplex ordering, otherwise the\n opposite.\nforward : bool\n If `True`, a negative sign is used in the exponent, else a positive one.\ninorm : int\n Normalization type\n 0 : no normalization\n 1 : divide by sqrt(N)\n 2 : divide by N\n where N is the length of `axis`.\nout : numpy.ndarray (same shape and data type as `a`)\n May be identical to `a`, but if it isn't, it must not overlap with `a`.\n If None, a new array is allocated to store the output.\nnthreads : int\n Number of threads to use. If 0, use the system default (typically governed\n by the `OMP_NUM_THREADS` environment variable).\n\nReturns\n-------\nnumpy.ndarray (same shape and data type as `a`)\n The transformed data. The shape is identical to that of the input array.\n\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_dop.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_dop.pyi deleted file mode 100644 index 8adcfbf8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_dop.pyi +++ /dev/null @@ -1,26 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.integrate._dop, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def dop853(fcn, x, y, xend, rtol, atol, solout, iout, work, iwork, fcn_extra_args=..., overwrite_y=..., solout_extra_args=...) -> typing.Any: - "x,y,iwork,idid = dop853(fcn,x,y,xend,rtol,atol,solout,iout,work,iwork,[fcn_extra_args,overwrite_y,solout_extra_args])\n\nWrapper for ``dop853``.\n\nParameters\n----------\nfcn : call-back function\nx : input float\ny : input rank-1 array('d') with bounds (n)\nxend : input float\nrtol : input rank-1 array('d') with bounds (*)\natol : input rank-1 array('d') with bounds (*)\nsolout : call-back function\niout : input int\nwork : input rank-1 array('d') with bounds (*)\niwork : input rank-1 array('i') with bounds (*)\n\nOther Parameters\n----------------\nfcn_extra_args : input tuple, optional\n Default: ()\noverwrite_y : input int, optional\n Default: 0\nsolout_extra_args : input tuple, optional\n Default: ()\n\nReturns\n-------\nx : float\ny : rank-1 array('d') with bounds (n)\niwork : rank-1 array('i') with bounds (*)\nidid : int\n\nNotes\n-----\nCall-back functions::\n\n def fcn(x,y): return f\n Required arguments:\n x : input float\n y : input rank-1 array('d') with bounds (n)\n Return objects:\n f : rank-1 array('d') with bounds (n)\n def solout(nr,xold,x,y,con,icomp,[nd]): return irtn\n Required arguments:\n nr : input int\n xold : input float\n x : input float\n y : input rank-1 array('d') with bounds (n)\n con : input rank-1 array('d') with bounds (5 * nd)\n icomp : input rank-1 array('i') with bounds (nd)\n Optional arguments:\n nd : input int, optional\n Default: (len(con))/(5)\n Return objects:\n irtn : int\n" - ... - -def dopri5(fcn, x, y, xend, rtol, atol, solout, iout, work, iwork, fcn_extra_args=..., overwrite_y=..., solout_extra_args=...) -> typing.Any: - "x,y,iwork,idid = dopri5(fcn,x,y,xend,rtol,atol,solout,iout,work,iwork,[fcn_extra_args,overwrite_y,solout_extra_args])\n\nWrapper for ``dopri5``.\n\nParameters\n----------\nfcn : call-back function\nx : input float\ny : input rank-1 array('d') with bounds (n)\nxend : input float\nrtol : input rank-1 array('d') with bounds (*)\natol : input rank-1 array('d') with bounds (*)\nsolout : call-back function\niout : input int\nwork : input rank-1 array('d') with bounds (*)\niwork : input rank-1 array('i') with bounds (*)\n\nOther Parameters\n----------------\nfcn_extra_args : input tuple, optional\n Default: ()\noverwrite_y : input int, optional\n Default: 0\nsolout_extra_args : input tuple, optional\n Default: ()\n\nReturns\n-------\nx : float\ny : rank-1 array('d') with bounds (n)\niwork : rank-1 array('i') with bounds (*)\nidid : int\n\nNotes\n-----\nCall-back functions::\n\n def fcn(x,y): return f\n Required arguments:\n x : input float\n y : input rank-1 array('d') with bounds (n)\n Return objects:\n f : rank-1 array('d') with bounds (n)\n def solout(nr,xold,x,y,con,icomp,[nd]): return irtn\n Required arguments:\n nr : input int\n xold : input float\n x : input float\n y : input rank-1 array('d') with bounds (n)\n con : input rank-1 array('d') with bounds (5 * nd)\n icomp : input rank-1 array('i') with bounds (nd)\n Optional arguments:\n nd : input int, optional\n Default: (len(con))/(5)\n Return objects:\n irtn : int\n" - ... - -def types() -> typing.Any: - "'i'-scalar\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_odepack.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_odepack.pyi deleted file mode 100644 index 312d0ac2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_odepack.pyi +++ /dev/null @@ -1,20 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.integrate._odepack, version: 1.9 -import typing -import builtins as _mod_builtins -import odepack as _mod_odepack - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__version__: str -error = _mod_odepack.error -def odeint(fun, y0, t, args=..., Dfun=..., col_deriv=..., ml=..., mu=..., full_output=..., rtol=..., atol=..., tcrit=..., h0=..., hmax=..., hmin=..., ixpr=..., mxstep=..., mxhnil=..., mxordn=..., mxords=...) -> typing.Any: - '[y,{infodict,}istate] = odeint(fun, y0, t, args=(), Dfun=None, col_deriv=0, ml=, mu=, full_output=0, rtol=, atol=, tcrit=, h0=0.0, hmax=0.0, hmin=0.0, ixpr=0.0, mxstep=0.0, mxhnil=0, mxordn=0, mxords=0)\n yprime = fun(y,t,...)' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_quadpack.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_quadpack.pyi deleted file mode 100644 index e4710361..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_quadpack.pyi +++ /dev/null @@ -1,44 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.integrate._quadpack, version: 1.13 -import typing -import builtins as _mod_builtins -import quadpack as _mod_quadpack - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__version__: str -def _qagie(fun, bound, inf, args, full_output, epsabs, epsrel, limit) -> typing.Any: - '[result,abserr,infodict,ier] = _qagie(fun, bound, inf, | args, full_output, epsabs, epsrel, limit)' - ... - -def _qagpe(fun, a, b, points, args, full_output, epsabs, epsrel, limit) -> typing.Any: - '[result,abserr,infodict,ier] = _qagpe(fun, a, b, points, | args, full_output, epsabs, epsrel, limit)' - ... - -def _qagse(fun, a, b, args, full_output, epsabs, epsrel, limit) -> typing.Any: - '[result,abserr,infodict,ier] = _qagse(fun, a, b, | args, full_output, epsabs, epsrel, limit)' - ... - -def _qawce(fun, a, b, c, args, full_output, epsabs, epsrel, limit) -> typing.Any: - '[result,abserr,infodict,ier] = _qawce(fun, a, b, c, | args, full_output, epsabs, epsrel, limit)' - ... - -def _qawfe(fun, a, omega, integr, args, full_output, epsabs, limlst, limit, maxp1) -> typing.Any: - '[result,abserr,infodict,ier] = _qawfe(fun, a, omega, integr, | args, full_output, epsabs, limlst, limit, maxp1)' - ... - -def _qawoe(fun, a, b, omega, integr, args, full_output, epsabs, epsrel, limit, maxp1, icall, momcom, chebmo) -> typing.Any: - '[result,abserr,infodict,ier] = _qawoe(fun, a, b, omega, integr, | args, full_output, epsabs, epsrel, limit, maxp1, icall, momcom, chebmo)' - ... - -def _qawse(fun, a, b, alfa, beta) -> typing.Any: - '[result,abserr,infodict,ier] = _qawse(fun, a, b, (alfa, beta), integr, | args, full_output, epsabs, epsrel, limit)' - ... - -error = _mod_quadpack.error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_test_multivariate.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_test_multivariate.pyi deleted file mode 100644 index e2e9dcdc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_test_multivariate.pyi +++ /dev/null @@ -1,20 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.integrate._test_multivariate, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -_multivariate_indefinite: int -_multivariate_sin: int -_multivariate_typical: int -_sin_0: int -_sin_1: int -_sin_2: int -_sin_3: int -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_test_odeint_banded.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_test_odeint_banded.pyi deleted file mode 100644 index ed997ea5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/_test_odeint_banded.pyi +++ /dev/null @@ -1,38 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.integrate._test_odeint_banded, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def banded5x5(t, y, f, n=...) -> typing.Any: - "banded5x5(t,y,f,[n])\n\nWrapper for ``banded5x5``.\n\nParameters\n----------\nt : input float\ny : input rank-1 array('d') with bounds (n)\nf : input rank-1 array('d') with bounds (n)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: len(y)\n" - ... - -def banded5x5_bjac(t, y, ml, mu, bjac, n=..., nrowpd=...) -> typing.Any: - "banded5x5_bjac(t,y,ml,mu,bjac,[n,nrowpd])\n\nWrapper for ``banded5x5_bjac``.\n\nParameters\n----------\nt : input float\ny : input rank-1 array('d') with bounds (5)\nml : input int\nmu : input int\nbjac : input rank-2 array('d') with bounds (nrowpd,n)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: shape(bjac,1)\nnrowpd : input int, optional\n Default: shape(bjac,0)\n" - ... - -def banded5x5_jac(t, y, ml, mu, jac, n=..., nrowpd=...) -> typing.Any: - "banded5x5_jac(t,y,ml,mu,jac,[n,nrowpd])\n\nWrapper for ``banded5x5_jac``.\n\nParameters\n----------\nt : input float\ny : input rank-1 array('d') with bounds (n)\nml : input int\nmu : input int\njac : input rank-2 array('d') with bounds (nrowpd,n)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: len(y)\nnrowpd : input int, optional\n Default: shape(jac,0)\n" - ... - -def banded5x5_solve(y, nsteps, dt, jt) -> typing.Any: - "nst,nfe,nje = banded5x5_solve(y,nsteps,dt,jt)\n\nWrapper for ``banded5x5_solve``.\n\nParameters\n----------\ny : in/output rank-1 array('d') with bounds (5)\nnsteps : input int\ndt : input float\njt : input int\n\nReturns\n-------\nnst : int\nnfe : int\nnje : int\n" - ... - -def getbands() -> typing.Any: - "jac = getbands()\n\nWrapper for ``getbands``.\n\nReturns\n-------\njac : rank-2 array('d') with bounds (4,5)\n" - ... - -def jac() -> typing.Any: - "'d'-array(4,5)\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/lsoda.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/lsoda.pyi deleted file mode 100644 index e03578a0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/lsoda.pyi +++ /dev/null @@ -1,22 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.integrate.lsoda, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def lsoda(f, y, t, tout, rtol, atol, itask, istate, rwork, iwork, jac, jt, f_extra_args=..., overwrite_y=..., jac_extra_args=...) -> typing.Any: - "y,t,istate = lsoda(f,y,t,tout,rtol,atol,itask,istate,rwork,iwork,jac,jt,[f_extra_args,overwrite_y,jac_extra_args])\n\nWrapper for ``lsoda``.\n\nParameters\n----------\nf : call-back function\ny : input rank-1 array('d') with bounds (neq)\nt : input float\ntout : input float\nrtol : input rank-1 array('d') with bounds (*)\natol : input rank-1 array('d') with bounds (*)\nitask : input int\nistate : input int\nrwork : input rank-1 array('d') with bounds (lrw)\niwork : input rank-1 array('i') with bounds (liw)\njac : call-back function\njt : input int\n\nOther Parameters\n----------------\nf_extra_args : input tuple, optional\n Default: ()\noverwrite_y : input int, optional\n Default: 0\njac_extra_args : input tuple, optional\n Default: ()\n\nReturns\n-------\ny : rank-1 array('d') with bounds (neq)\nt : float\nistate : int\n\nNotes\n-----\nCall-back functions::\n\n def f(t,y): return ydot\n Required arguments:\n t : input float\n y : input rank-1 array('d') with bounds (n)\n Return objects:\n ydot : rank-1 array('d') with bounds (n)\n def jac(t,y): return jac\n Required arguments:\n t : input float\n y : input rank-1 array('d') with bounds (n)\n Return objects:\n jac : rank-2 array('d') with bounds (nrowpd,n)\n" - ... - -def types() -> typing.Any: - "'i'-scalar\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/vode.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/vode.pyi deleted file mode 100644 index 7f49274b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/integrate/vode.pyi +++ /dev/null @@ -1,26 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.integrate.vode, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def dvode(f, jac, y, t, tout, rtol, atol, itask, istate, rwork, iwork, mf, f_extra_args=..., jac_extra_args=..., overwrite_y=...) -> typing.Any: - "y,t,istate = dvode(f,jac,y,t,tout,rtol,atol,itask,istate,rwork,iwork,mf,[f_extra_args,jac_extra_args,overwrite_y])\n\nWrapper for ``dvode``.\n\nParameters\n----------\nf : call-back function\njac : call-back function\ny : input rank-1 array('d') with bounds (neq)\nt : input float\ntout : input float\nrtol : input rank-1 array('d') with bounds (*)\natol : input rank-1 array('d') with bounds (*)\nitask : input int\nistate : input int\nrwork : input rank-1 array('d') with bounds (lrw)\niwork : input rank-1 array('i') with bounds (liw)\nmf : input int\n\nOther Parameters\n----------------\nf_extra_args : input tuple, optional\n Default: ()\njac_extra_args : input tuple, optional\n Default: ()\noverwrite_y : input int, optional\n Default: 0\n\nReturns\n-------\ny : rank-1 array('d') with bounds (neq)\nt : float\nistate : int\n\nNotes\n-----\nCall-back functions::\n\n def f(t,y): return ydot\n Required arguments:\n t : input float\n y : input rank-1 array('d') with bounds (n)\n Return objects:\n ydot : rank-1 array('d') with bounds (n)\n def jac(t,y): return jac\n Required arguments:\n t : input float\n y : input rank-1 array('d') with bounds (n)\n Return objects:\n jac : rank-2 array('d') with bounds (nrowpd,n)\n" - ... - -def types() -> typing.Any: - "'i'-scalar\n" - ... - -def zvode(f, jac, y, t, tout, rtol, atol, itask, istate, zwork, rwork, iwork, mf, f_extra_args=..., jac_extra_args=..., overwrite_y=...) -> typing.Any: - "y,t,istate = zvode(f,jac,y,t,tout,rtol,atol,itask,istate,zwork,rwork,iwork,mf,[f_extra_args,jac_extra_args,overwrite_y])\n\nWrapper for ``zvode``.\n\nParameters\n----------\nf : call-back function\njac : call-back function\ny : input rank-1 array('D') with bounds (neq)\nt : input float\ntout : input float\nrtol : input rank-1 array('d') with bounds (*)\natol : input rank-1 array('d') with bounds (*)\nitask : input int\nistate : input int\nzwork : input rank-1 array('D') with bounds (lzw)\nrwork : input rank-1 array('d') with bounds (lrw)\niwork : input rank-1 array('i') with bounds (liw)\nmf : input int\n\nOther Parameters\n----------------\nf_extra_args : input tuple, optional\n Default: ()\njac_extra_args : input tuple, optional\n Default: ()\noverwrite_y : input int, optional\n Default: 0\n\nReturns\n-------\ny : rank-1 array('D') with bounds (neq)\nt : float\nistate : int\n\nNotes\n-----\nCall-back functions::\n\n def f(t,y): return ydot\n Required arguments:\n t : input float\n y : input rank-1 array('D') with bounds (n)\n Return objects:\n ydot : rank-1 array('D') with bounds (n)\n def jac(t,y): return jac\n Required arguments:\n t : input float\n y : input rank-1 array('D') with bounds (n)\n Return objects:\n jac : rank-2 array('D') with bounds (nrowpd,n)\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/_bspl.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/_bspl.pyi deleted file mode 100644 index 556778f0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/_bspl.pyi +++ /dev/null @@ -1,37 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.interpolate._bspl, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def _colloc() -> typing.Any: - 'Build the B-spline collocation matrix.\n\n The collocation matrix is defined as :math:`B_{j,l} = B_l(x_j)`,\n so that row ``j`` contains all the B-splines which are non-zero\n at ``x_j``.\n\n The matrix is constructed in the LAPACK banded storage.\n Basically, for an N-by-N matrix A with ku upper diagonals and\n kl lower diagonals, the shape of the array Ab is (2*kl + ku +1, N),\n where the last kl+ku+1 rows of Ab contain the diagonals of A, and\n the first kl rows of Ab are not referenced.\n For more info see, e.g. the docs for the ``*gbsv`` routine.\n\n This routine is not supposed to be called directly, and\n does no error checking.\n\n Parameters\n ----------\n x : ndarray, shape (n,)\n sorted 1D array of x values\n t : ndarray, shape (nt + k + 1,)\n sorted 1D array of knots\n k : int\n spline order\n ab : ndarray, shape (2*kl + ku + 1, nt), F-order\n This parameter is modified in-place.\n On exit: zeroed out.\n On exit: B-spline collocation matrix in the band storage with\n ``ku`` upper diagonals and ``kl`` lower diagonals.\n Here ``kl = ku = k``.\n offset : int, optional\n skip this many rows\n\n ' - ... - -def _handle_lhs_derivatives() -> typing.Any: - ' Fill in the entries of the collocation matrix corresponding to known\n derivatives at xval.\n\n The collocation matrix is in the banded storage, as prepared by _colloc.\n No error checking.\n\n Parameters\n ----------\n t : ndarray, shape (nt + k + 1,)\n knots\n k : integer\n B-spline order\n xval : float\n The value at which to evaluate the derivatives at.\n ab : ndarray, shape(2*kl + ku + 1, nt), Fortran order\n B-spline collocation matrix.\n This argument is modified *in-place*.\n kl : integer\n Number of lower diagonals of ab.\n ku : integer\n Number of upper diagonals of ab.\n deriv_ords : 1D ndarray\n Orders of derivatives known at xval\n offset : integer, optional\n Skip this many rows of the matrix ab.\n\n ' - ... - -def _norm_eq_lsq(x, t, k, y, w, ab, rhs) -> typing.Any: - 'Construct the normal equations for the B-spline LSQ problem.\n\n The observation equations are ``A @ c = y``, and the normal equations are\n ``A.T @ A @ c = A.T @ y``. This routine fills in the rhs and lhs for the\n latter.\n\n The B-spline collocation matrix is defined as :math:`A_{j,l} = B_l(x_j)`,\n so that row ``j`` contains all the B-splines which are non-zero\n at ``x_j``.\n\n The normal eq matrix has at most `2k+1` bands and is constructed in the\n LAPACK symmetrix banded storage: ``A[i, j] == ab[i-j, j]`` with `i >= j`.\n See the doctsring for `scipy.linalg.cholesky_banded` for more info.\n\n This routine is not supposed to be called directly, and\n does no error checking.\n\n Parameters\n ----------\n x : ndarray, shape (n,)\n sorted 1D array of x values\n t : ndarray, shape (nt + k + 1,)\n sorted 1D array of knots\n k : int\n spline order\n y : ndarray, shape (n, s)\n a 2D array of y values. The second dimension contains all trailing\n dimensions of the original array of ordinates.\n w : ndarray, shape(n,)\n Weights.\n ab : ndarray, shape (k+1, n), in Fortran order.\n This parameter is modified in-place.\n On entry: should be zeroed out.\n On exit: LHS of the normal equations.\n rhs : ndarray, shape (n, s), in Fortran order.\n This parameter is modified in-place.\n On entry: should be zeroed out.\n On exit: RHS of the normal equations.\n\n ' - ... - -def evaluate_all_bspl() -> typing.Any: - "Evaluate the ``k+1`` B-splines which are non-zero on interval ``m``.\n\n Parameters\n ----------\n t : ndarray, shape (nt + k + 1,)\n sorted 1D array of knots\n k : int\n spline order\n xval: float\n argument at which to evaluate the B-splines\n m : int\n index of the left edge of the evaluation interval, ``t[m] <= x < t[m+1]``\n nu : int, optional\n Evaluate derivatives order `nu`. Default is zero.\n\n Returns\n -------\n ndarray, shape (k+1,)\n The values of B-splines :math:`[B_{m-k}(xval), ..., B_{m}(xval)]` if\n `nu` is zero, otherwise the derivatives of order `nu`.\n\n Examples\n --------\n\n A textbook use of this sort of routine is plotting the ``k+1`` polynomial\n pieces which make up a B-spline of order `k`.\n\n Consider a cubic spline\n\n >>> k = 3\n >>> t = [0., 2., 2., 3., 4.] # internal knots\n >>> a, b = t[0], t[-1] # base interval is [a, b)\n >>> t = [a]*k + t + [b]*k # add boundary knots\n\n >>> import matplotlib.pyplot as plt\n >>> xx = np.linspace(a, b, 100)\n >>> plt.plot(xx, BSpline.basis_element(t[k:-k])(xx),\n ... 'r-', lw=5, alpha=0.5)\n >>> c = ['b', 'g', 'c', 'k']\n\n Now we use slide an interval ``t[m]..t[m+1]`` along the base interval\n ``a..b`` and use `evaluate_all_bspl` to compute the restriction of\n the B-spline of interest to this interval:\n\n >>> for i in range(k+1):\n ... x1, x2 = t[2*k - i], t[2*k - i + 1]\n ... xx = np.linspace(x1 - 0.5, x2 + 0.5)\n ... yy = [evaluate_all_bspl(t, k, x, 2*k - i)[i] for x in xx]\n ... plt.plot(xx, yy, c[i] + '--', lw=3, label=str(i))\n ...\n >>> plt.grid(True)\n >>> plt.legend()\n >>> plt.show()\n\n " - ... - -def evaluate_spline(t, c, k, xp, nu, extrapolate, out) -> typing.Any: - '\n Evaluate a spline in the B-spline basis.\n\n Parameters\n ----------\n t : ndarray, shape (n+k+1)\n knots\n c : ndarray, shape (n, m)\n B-spline coefficients\n xp : ndarray, shape (s,)\n Points to evaluate the spline at.\n nu : int\n Order of derivative to evaluate.\n extrapolate : int, optional\n Whether to extrapolate to ouf-of-bounds points, or to return NaNs.\n out : ndarray, shape (s, m)\n Computed values of the spline at each of the input points.\n This argument is modified in-place.\n\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/_fitpack.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/_fitpack.pyi deleted file mode 100644 index 75741f82..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/_fitpack.pyi +++ /dev/null @@ -1,62 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.interpolate._fitpack, version: 1.7 -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__version__: str -def _bispev(tx, ty, c, kx, ky, x, y, nux, nuy) -> typing.Any: - ' [z,ier] = _bispev(tx,ty,c,kx,ky,x,y,nux,nuy)' - ... - -def _bspldismat(order, xk) -> typing.Any: - 'B = _bspldismat(order,xk)\nConstruct the kth derivative discontinuity jump constraint matrix \nfor spline fitting of order k given sample positions in xk.\n\nIf xk is an integer (N+1), then the result is equivalent to\nxk=arange(N+1)+x0 for any value of x0. This produces the\ninteger-spaced matrix a bit faster. If xk is a 2-tuple (N+1,dx)\nthen it produces the result as if the sample distance were dx' - ... - -def _bspleval(xx, xk, coef, k, deriv) -> typing.Any: - 'y = _bspleval(xx,xk,coef,k,{deriv (0)})\n\nThe spline is defined by the approximation interval xk[0] to xk[-1],\nthe length of xk (N+1), the order of the spline, k, and \nthe number of coeficients N+k. The coefficients range from xk_{-K}\nto xk_{N-1} inclusive and are all the coefficients needed to define\nan arbitrary spline of order k, on the given approximation interval\n\nExtra knot points are internally added using knot-point symmetry \naround xk[0] and xk[-1]' - ... - -def _bsplmat(order, xk) -> typing.Any: - 'B = _bsplmat(order,xk)\nConstruct the constraint matrix for spline fitting of order k\ngiven sample positions in xk.\n\nIf xk is an integer (N+1), then the result is equivalent to\nxk=arange(N+1)+x0 for any value of x0. This produces the\ninteger-spaced, or cardinal spline matrix a bit faster.' - ... - -def _curfit(x, y, w, xb, xe, k, iopt, s, t, nest, wrk, iwrk, per) -> typing.Any: - ' [t,c,o] = _curfit(x,y,w,xb,xe,k,iopt,s,t,nest,wrk,iwrk,per)' - ... - -def _insert(iopt, t, c, k, x, m) -> typing.Any: - ' [tt,cc,ier] = _insert(iopt,t,c,k,x,m)' - ... - -def _parcur(x, w, u, ub, ue, k, iopt, ipar, s, t, nest, wrk, iwrk, per) -> typing.Any: - ' [t,c,o] = _parcur(x,w,u,ub,ue,k,iopt,ipar,s,t,nest,wrk,iwrk,per)' - ... - -def _spalde(t, c, k, x) -> typing.Any: - ' [d,ier] = _spalde(t,c,k,x)' - ... - -def _spl_(x, nu, t, c, k, e) -> typing.Any: - ' [y,ier] = _spl_(x,nu,t,c,k,e)' - ... - -def _splint(t, c, k, a, b) -> typing.Any: - ' [aint,wrk] = _splint(t,c,k,a,b)' - ... - -def _sproot(t, c, k, mest) -> typing.Any: - ' [z,ier] = _sproot(t,c,k,mest)' - ... - -def _surfit(x, y, z, w, xb, xe, yb, ye, kx, ky, iopt, s, eps, tx, ty, nxest, nyest, wrk, lwrk1, lwrk2) -> typing.Any: - ' [tx,ty,c,o] = _surfit(x, y, z, w, xb, xe, yb, ye, kx,ky,iopt,s,eps,tx,ty,nxest,nyest,wrk,lwrk1,lwrk2)' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/_ppoly.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/_ppoly.pyi deleted file mode 100644 index 89088453..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/_ppoly.pyi +++ /dev/null @@ -1,45 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.interpolate._ppoly, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def _croots_poly1() -> typing.Any: - '\n Find roots of polynomials.\n\n This function is for testing croots_poly1\n\n Parameters\n ----------\n c : ndarray, (k, m, n)\n Coefficients of several order-k polynomials\n w : ndarray, (k, m, n)\n Output argument --- roots of the polynomials.\n\n ' - ... - -def evaluate(c, x, xp, dx, extrapolate, out) -> typing.Any: - '\n Evaluate a piecewise polynomial.\n\n Parameters\n ----------\n c : ndarray, shape (k, m, n)\n Coefficients local polynomials of order `k-1` in `m` intervals.\n There are `n` polynomials in each interval.\n Coefficient of highest order-term comes first.\n x : ndarray, shape (m+1,)\n Breakpoints of polynomials.\n xp : ndarray, shape (r,)\n Points to evaluate the piecewise polynomial at.\n dx : int\n Order of derivative to evaluate. The derivative is evaluated\n piecewise and may have discontinuities.\n extrapolate : bint\n Whether to extrapolate to out-of-bounds points based on first\n and last intervals, or to return NaNs.\n out : ndarray, shape (r, n)\n Value of each polynomial at each of the input points.\n This argument is modified in-place.\n\n ' - ... - -def evaluate_bernstein(c, x, xp, nu, extrapolate, out) -> typing.Any: - '\n Evaluate a piecewise polynomial in the Bernstein basis.\n\n Parameters\n ----------\n c : ndarray, shape (k, m, n)\n Coefficients local polynomials of order `k-1` in `m` intervals.\n There are `n` polynomials in each interval.\n Coefficient of highest order-term comes first.\n x : ndarray, shape (m+1,)\n Breakpoints of polynomials\n xp : ndarray, shape (r,)\n Points to evaluate the piecewise polynomial at.\n nu : int\n Order of derivative to evaluate. The derivative is evaluated\n piecewise and may have discontinuities.\n extrapolate : bint, optional\n Whether to extrapolate to out-of-bounds points based on first\n and last intervals, or to return NaNs.\n out : ndarray, shape (r, n)\n Value of each polynomial at each of the input points.\n This argument is modified in-place.\n\n ' - ... - -def evaluate_nd(c, xs, ks, xp, dx, extrapolate, out) -> typing.Any: - '\n Evaluate a piecewise tensor-product polynomial.\n\n Parameters\n ----------\n c : ndarray, shape (k_1*...*k_d, m_1*...*m_d, n)\n Coefficients local polynomials of order `k-1` in\n `m_1`, ..., `m_d` intervals. There are `n` polynomials\n in each interval.\n ks : ndarray of int, shape (d,)\n Orders of polynomials in each dimension\n xs : d-tuple of ndarray of shape (m_d+1,) each\n Breakpoints of polynomials\n xp : ndarray, shape (r, d)\n Points to evaluate the piecewise polynomial at.\n dx : ndarray of int, shape (d,)\n Orders of derivative to evaluate. The derivative is evaluated\n piecewise and may have discontinuities.\n extrapolate : int, optional\n Whether to extrapolate to out-of-bounds points based on first\n and last intervals, or to return NaNs.\n out : ndarray, shape (r, n)\n Value of each polynomial at each of the input points.\n For points outside the span ``x[0] ... x[-1]``,\n ``nan`` is returned.\n This argument is modified in-place.\n\n ' - ... - -def fix_continuity(c, x, order) -> typing.Any: - '\n Make a piecewise polynomial continuously differentiable to given order.\n\n Parameters\n ----------\n c : ndarray, shape (k, m, n)\n Coefficients local polynomials of order `k-1` in `m` intervals.\n There are `n` polynomials in each interval.\n Coefficient of highest order-term comes first.\n\n Coefficients c[-order-1:] are modified in-place.\n x : ndarray, shape (m+1,)\n Breakpoints of polynomials\n order : int\n Order up to which enforce piecewise differentiability.\n\n ' - ... - -def integrate(c, x, a, b, extrapolate, out) -> typing.Any: - '\n Compute integral over a piecewise polynomial.\n\n Parameters\n ----------\n c : ndarray, shape (k, m, n)\n Coefficients local polynomials of order `k-1` in `m` intervals.\n x : ndarray, shape (m+1,)\n Breakpoints of polynomials\n a : double\n Start point of integration.\n b : double\n End point of integration.\n extrapolate : bint, optional\n Whether to extrapolate to out-of-bounds points based on first\n and last intervals, or to return NaNs.\n out : ndarray, shape (n,)\n Integral of the piecewise polynomial, assuming the polynomial\n is zero outside the range (x[0], x[-1]).\n This argument is modified in-place.\n\n ' - ... - -def real_roots() -> typing.Any: - '\n Compute real roots of a real-valued piecewise polynomial function.\n\n If a section of the piecewise polynomial is identically zero, the\n values (x[begin], nan) are appended to the root list.\n\n If the piecewise polynomial is not continuous, and the sign\n changes across a breakpoint, the breakpoint is added to the root\n set if `report_discont` is True.\n\n Parameters\n ----------\n c, x\n Polynomial coefficients, as above\n y : float\n Find roots of ``pp(x) == y``.\n report_discont : bint, optional\n Whether to report discontinuities across zero at breakpoints\n as roots\n extrapolate : bint, optional\n Whether to consider roots obtained by extrapolating based\n on first and last intervals.\n\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/dfitpack.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/dfitpack.pyi deleted file mode 100644 index 8788eff6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/dfitpack.pyi +++ /dev/null @@ -1,110 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.interpolate.dfitpack, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def bispeu(tx, ty, c, kx, ky, x, y) -> typing.Any: - "z,ier = bispeu(tx,ty,c,kx,ky,x,y)\n\nWrapper for ``bispeu``.\n\nParameters\n----------\ntx : input rank-1 array('d') with bounds (nx)\nty : input rank-1 array('d') with bounds (ny)\nc : input rank-1 array('d') with bounds ((nx-kx-1)*(ny-ky-1))\nkx : input int\nky : input int\nx : input rank-1 array('d') with bounds (m)\ny : input rank-1 array('d') with bounds (m)\n\nReturns\n-------\nz : rank-1 array('d') with bounds (m)\nier : int\n" - ... - -def bispev(tx, ty, c, kx, ky, x, y) -> typing.Any: - "z,ier = bispev(tx,ty,c,kx,ky,x,y)\n\nWrapper for ``bispev``.\n\nParameters\n----------\ntx : input rank-1 array('d') with bounds (nx)\nty : input rank-1 array('d') with bounds (ny)\nc : input rank-1 array('d') with bounds ((nx-kx-1)*(ny-ky-1))\nkx : input int\nky : input int\nx : input rank-1 array('d') with bounds (mx)\ny : input rank-1 array('d') with bounds (my)\n\nReturns\n-------\nz : rank-2 array('d') with bounds (mx,my)\nier : int\n" - ... - -def curfit(iopt, x, y, w, t, wrk, iwrk, xb=..., xe=..., k=..., s=...) -> typing.Any: - "n,c,fp,ier = curfit(iopt,x,y,w,t,wrk,iwrk,[xb,xe,k,s])\n\nWrapper for ``curfit``.\n\nParameters\n----------\niopt : input int\nx : input rank-1 array('d') with bounds (m)\ny : input rank-1 array('d') with bounds (m)\nw : input rank-1 array('d') with bounds (m)\nt : in/output rank-1 array('d') with bounds (nest)\nwrk : in/output rank-1 array('d') with bounds (lwrk)\niwrk : in/output rank-1 array('i') with bounds (nest)\n\nOther Parameters\n----------------\nxb : input float, optional\n Default: x[0]\nxe : input float, optional\n Default: x[m-1]\nk : input int, optional\n Default: 3\ns : input float, optional\n Default: 0.0\n\nReturns\n-------\nn : int\nc : rank-1 array('d') with bounds (n)\nfp : float\nier : int\n" - ... - -def dblint(tx, ty, c, kx, ky, xb, xe, yb, ye) -> typing.Any: - "dblint = dblint(tx,ty,c,kx,ky,xb,xe,yb,ye)\n\nWrapper for ``dblint``.\n\nParameters\n----------\ntx : input rank-1 array('d') with bounds (nx)\nty : input rank-1 array('d') with bounds (ny)\nc : input rank-1 array('d') with bounds ((nx-kx-1)*(ny-ky-1))\nkx : input int\nky : input int\nxb : input float\nxe : input float\nyb : input float\nye : input float\n\nReturns\n-------\ndblint : float\n" - ... - -def fpchec(x, t, k) -> typing.Any: - "ier = fpchec(x,t,k)\n\nWrapper for ``fpchec``.\n\nParameters\n----------\nx : input rank-1 array('d') with bounds (m)\nt : input rank-1 array('d') with bounds (n)\nk : input int\n\nReturns\n-------\nier : int\n" - ... - -def fpcurf0(x, y, k, w=..., xb=..., xe=..., s=..., nest=...) -> typing.Any: - "x,y,w,xb,xe,k,s,n,t,c,fp,fpint,nrdata,ier = fpcurf0(x,y,k,[w,xb,xe,s,nest])\n\nWrapper for ``fpcurf0``.\n\nParameters\n----------\nx : input rank-1 array('d') with bounds (m)\ny : input rank-1 array('d') with bounds (m)\nk : input int\n\nOther Parameters\n----------------\nw : input rank-1 array('d') with bounds (m), optional\n Default: 1.0\nxb : input float, optional\n Default: x[0]\nxe : input float, optional\n Default: x[m-1]\ns : input float, optional\n Default: m\nnest : input int, optional\n Default: (s==0.0?m+k+1:MAX(m/2,2*k1))\n\nReturns\n-------\nx : rank-1 array('d') with bounds (m)\ny : rank-1 array('d') with bounds (m)\nw : rank-1 array('d') with bounds (m)\nxb : float\nxe : float\nk : int\ns : float\nn : int\nt : rank-1 array('d') with bounds (nest)\nc : rank-1 array('d') with bounds (nest)\nfp : float\nfpint : rank-1 array('d') with bounds (nest)\nnrdata : rank-1 array('i') with bounds (nest)\nier : int\n" - ... - -def fpcurf1(x, y, w, xb, xe, k, s, n, t, c, fp, fpint, nrdata, ier, overwrite_x=..., overwrite_y=..., overwrite_w=..., overwrite_t=..., overwrite_c=..., overwrite_fpint=..., overwrite_nrdata=...) -> typing.Any: - "x,y,w,xb,xe,k,s,n,t,c,fp,fpint,nrdata,ier = fpcurf1(x,y,w,xb,xe,k,s,n,t,c,fp,fpint,nrdata,ier,[overwrite_x,overwrite_y,overwrite_w,overwrite_t,overwrite_c,overwrite_fpint,overwrite_nrdata])\n\nWrapper for ``fpcurf1``.\n\nParameters\n----------\nx : input rank-1 array('d') with bounds (m)\ny : input rank-1 array('d') with bounds (m)\nw : input rank-1 array('d') with bounds (m)\nxb : input float\nxe : input float\nk : input int\ns : input float\nn : input int\nt : input rank-1 array('d') with bounds (nest)\nc : input rank-1 array('d') with bounds (nest)\nfp : input float\nfpint : input rank-1 array('d') with bounds (nest)\nnrdata : input rank-1 array('i') with bounds (nest)\nier : input int\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 1\noverwrite_y : input int, optional\n Default: 1\noverwrite_w : input int, optional\n Default: 1\noverwrite_t : input int, optional\n Default: 1\noverwrite_c : input int, optional\n Default: 1\noverwrite_fpint : input int, optional\n Default: 1\noverwrite_nrdata : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('d') with bounds (m)\ny : rank-1 array('d') with bounds (m)\nw : rank-1 array('d') with bounds (m)\nxb : float\nxe : float\nk : int\ns : float\nn : int\nt : rank-1 array('d') with bounds (nest)\nc : rank-1 array('d') with bounds (nest)\nfp : float\nfpint : rank-1 array('d') with bounds (nest)\nnrdata : rank-1 array('i') with bounds (nest)\nier : int\n" - ... - -def fpcurfm1(x, y, k, t, w=..., xb=..., xe=..., overwrite_t=...) -> typing.Any: - "x,y,w,xb,xe,k,s,n,t,c,fp,fpint,nrdata,ier = fpcurfm1(x,y,k,t,[w,xb,xe,overwrite_t])\n\nWrapper for ``fpcurfm1``.\n\nParameters\n----------\nx : input rank-1 array('d') with bounds (m)\ny : input rank-1 array('d') with bounds (m)\nk : input int\nt : input rank-1 array('d') with bounds (n)\n\nOther Parameters\n----------------\nw : input rank-1 array('d') with bounds (m), optional\n Default: 1.0\nxb : input float, optional\n Default: x[0]\nxe : input float, optional\n Default: x[m-1]\noverwrite_t : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('d') with bounds (m)\ny : rank-1 array('d') with bounds (m)\nw : rank-1 array('d') with bounds (m)\nxb : float\nxe : float\nk : int\ns : float\nn : int\nt : rank-1 array('d') with bounds (n)\nc : rank-1 array('d') with bounds (nest)\nfp : float\nfpint : rank-1 array('d') with bounds (nest)\nnrdata : rank-1 array('i') with bounds (nest)\nier : int\n" - ... - -def parcur(iopt, ipar, idim, u, x, w, ub, ue, t, wrk, iwrk, k=..., s=...) -> typing.Any: - "n,c,fp,ier = parcur(iopt,ipar,idim,u,x,w,ub,ue,t,wrk,iwrk,[k,s])\n\nWrapper for ``parcur``.\n\nParameters\n----------\niopt : input int\nipar : input int\nidim : input int\nu : in/output rank-1 array('d') with bounds (m)\nx : input rank-1 array('d') with bounds (mx)\nw : input rank-1 array('d') with bounds (m)\nub : input float\nue : input float\nt : in/output rank-1 array('d') with bounds (nest)\nwrk : in/output rank-1 array('d') with bounds (lwrk)\niwrk : in/output rank-1 array('i') with bounds (nest)\n\nOther Parameters\n----------------\nk : input int, optional\n Default: 3.0\ns : input float, optional\n Default: 0.0\n\nReturns\n-------\nn : int\nc : rank-1 array('d') with bounds (nc)\nfp : float\nier : int\n" - ... - -def parder(tx, ty, c, kx, ky, nux, nuy, x, y) -> typing.Any: - "z,ier = parder(tx,ty,c,kx,ky,nux,nuy,x,y)\n\nWrapper for ``parder``.\n\nParameters\n----------\ntx : input rank-1 array('d') with bounds (nx)\nty : input rank-1 array('d') with bounds (ny)\nc : input rank-1 array('d') with bounds ((nx-kx-1)*(ny-ky-1))\nkx : input int\nky : input int\nnux : input int\nnuy : input int\nx : input rank-1 array('d') with bounds (mx)\ny : input rank-1 array('d') with bounds (my)\n\nReturns\n-------\nz : rank-2 array('d') with bounds (mx,my)\nier : int\n" - ... - -def pardeu(tx, ty, c, kx, ky, nux, nuy, x, y) -> typing.Any: - "z,ier = pardeu(tx,ty,c,kx,ky,nux,nuy,x,y)\n\nWrapper for ``pardeu``.\n\nParameters\n----------\ntx : input rank-1 array('d') with bounds (nx)\nty : input rank-1 array('d') with bounds (ny)\nc : input rank-1 array('d') with bounds ((nx-kx-1)*(ny-ky-1))\nkx : input int\nky : input int\nnux : input int\nnuy : input int\nx : input rank-1 array('d') with bounds (m)\ny : input rank-1 array('d') with bounds (m)\n\nReturns\n-------\nz : rank-1 array('d') with bounds (m)\nier : int\n" - ... - -def percur(iopt, x, y, w, t, wrk, iwrk, k=..., s=...) -> typing.Any: - "n,c,fp,ier = percur(iopt,x,y,w,t,wrk,iwrk,[k,s])\n\nWrapper for ``percur``.\n\nParameters\n----------\niopt : input int\nx : input rank-1 array('d') with bounds (m)\ny : input rank-1 array('d') with bounds (m)\nw : input rank-1 array('d') with bounds (m)\nt : in/output rank-1 array('d') with bounds (nest)\nwrk : in/output rank-1 array('d') with bounds (lwrk)\niwrk : in/output rank-1 array('i') with bounds (nest)\n\nOther Parameters\n----------------\nk : input int, optional\n Default: 3\ns : input float, optional\n Default: 0.0\n\nReturns\n-------\nn : int\nc : rank-1 array('d') with bounds (n)\nfp : float\nier : int\n" - ... - -def regrid_smth(x, y, z, xb=..., xe=..., yb=..., ye=..., kx=..., ky=..., s=...) -> typing.Any: - "nx,tx,ny,ty,c,fp,ier = regrid_smth(x,y,z,[xb,xe,yb,ye,kx,ky,s])\n\nWrapper for ``regrid_smth``.\n\nParameters\n----------\nx : input rank-1 array('d') with bounds (mx)\ny : input rank-1 array('d') with bounds (my)\nz : input rank-1 array('d') with bounds (mx*my)\n\nOther Parameters\n----------------\nxb : input float, optional\n Default: dmin(x,mx)\nxe : input float, optional\n Default: dmax(x,mx)\nyb : input float, optional\n Default: dmin(y,my)\nye : input float, optional\n Default: dmax(y,my)\nkx : input int, optional\n Default: 3\nky : input int, optional\n Default: 3\ns : input float, optional\n Default: 0.0\n\nReturns\n-------\nnx : int\ntx : rank-1 array('d') with bounds (nxest)\nny : int\nty : rank-1 array('d') with bounds (nyest)\nc : rank-1 array('d') with bounds ((nxest-kx-1)*(nyest-ky-1))\nfp : float\nier : int\n" - ... - -def regrid_smth_spher(iopt, ider, u, v, r, r0=..., r1=..., s=...) -> typing.Any: - "nu,tu,nv,tv,c,fp,ier = regrid_smth_spher(iopt,ider,u,v,r,[r0,r1,s])\n\nWrapper for ``regrid_smth_spher``.\n\nParameters\n----------\niopt : input rank-1 array('i') with bounds (3)\nider : input rank-1 array('i') with bounds (4)\nu : input rank-1 array('d') with bounds (mu)\nv : input rank-1 array('d') with bounds (mv)\nr : input rank-1 array('d') with bounds (mu*mv)\n\nOther Parameters\n----------------\nr0 : input float\nr1 : input float\ns : input float, optional\n Default: 0.0\n\nReturns\n-------\nnu : int\ntu : rank-1 array('d') with bounds (nuest)\nnv : int\ntv : rank-1 array('d') with bounds (nvest)\nc : rank-1 array('d') with bounds ((nuest-4)*(nvest-4))\nfp : float\nier : int\n" - ... - -def spalde(t, c, k, x) -> typing.Any: - "d,ier = spalde(t,c,k,x)\n\nWrapper for ``spalde``.\n\nParameters\n----------\nt : input rank-1 array('d') with bounds (n)\nc : input rank-1 array('d') with bounds (n)\nk : input int\nx : input float\n\nReturns\n-------\nd : rank-1 array('d') with bounds (k + 1)\nier : int\n" - ... - -def spherfit_lsq(teta, phi, r, tt, tp, w=..., eps=..., overwrite_tt=..., overwrite_tp=...) -> typing.Any: - "tt,tp,c,fp,ier = spherfit_lsq(teta,phi,r,tt,tp,[w,eps,overwrite_tt,overwrite_tp])\n\nWrapper for ``spherfit_lsq``.\n\nParameters\n----------\nteta : input rank-1 array('d') with bounds (m)\nphi : input rank-1 array('d') with bounds (m)\nr : input rank-1 array('d') with bounds (m)\ntt : input rank-1 array('d') with bounds (ntest)\ntp : input rank-1 array('d') with bounds (npest)\n\nOther Parameters\n----------------\nw : input rank-1 array('d') with bounds (m), optional\n Default: 1.0\neps : input float, optional\n Default: 1e-16\noverwrite_tt : input int, optional\n Default: 1\noverwrite_tp : input int, optional\n Default: 1\n\nReturns\n-------\ntt : rank-1 array('d') with bounds (ntest)\ntp : rank-1 array('d') with bounds (npest)\nc : rank-1 array('d') with bounds ((nt-4)*(np-4))\nfp : float\nier : int\n" - ... - -def spherfit_smth(teta, phi, r, w=..., s=..., eps=...) -> typing.Any: - "nt,tt,np,tp,c,fp,ier = spherfit_smth(teta,phi,r,[w,s,eps])\n\nWrapper for ``spherfit_smth``.\n\nParameters\n----------\nteta : input rank-1 array('d') with bounds (m)\nphi : input rank-1 array('d') with bounds (m)\nr : input rank-1 array('d') with bounds (m)\n\nOther Parameters\n----------------\nw : input rank-1 array('d') with bounds (m), optional\n Default: 1.0\ns : input float, optional\n Default: m\neps : input float, optional\n Default: 1e-16\n\nReturns\n-------\nnt : int\ntt : rank-1 array('d') with bounds (ntest)\nnp : int\ntp : rank-1 array('d') with bounds (npest)\nc : rank-1 array('d') with bounds ((ntest-4)*(npest-4))\nfp : float\nier : int\n" - ... - -def splder(t, c, k, x, nu=..., e=...) -> typing.Any: - "y = splder(t,c,k,x,[nu,e])\n\nWrapper for ``splder``.\n\nParameters\n----------\nt : input rank-1 array('d') with bounds (n)\nc : input rank-1 array('d') with bounds (n)\nk : input int\nx : input rank-1 array('d') with bounds (m)\n\nOther Parameters\n----------------\nnu : input int, optional\n Default: 1\ne : input int, optional\n Default: 0\n\nReturns\n-------\ny : rank-1 array('d') with bounds (m)\n" - ... - -def splev(t, c, k, x, e=...) -> typing.Any: - "y = splev(t,c,k,x,[e])\n\nWrapper for ``splev``.\n\nParameters\n----------\nt : input rank-1 array('d') with bounds (n)\nc : input rank-1 array('d') with bounds (n)\nk : input int\nx : input rank-1 array('d') with bounds (m)\n\nOther Parameters\n----------------\ne : input int, optional\n Default: 0\n\nReturns\n-------\ny : rank-1 array('d') with bounds (m)\n" - ... - -def splint(t, c, k, a, b) -> typing.Any: - "splint = splint(t,c,k,a,b)\n\nWrapper for ``splint``.\n\nParameters\n----------\nt : input rank-1 array('d') with bounds (n)\nc : input rank-1 array('d') with bounds (n)\nk : input int\na : input float\nb : input float\n\nReturns\n-------\nsplint : float\n" - ... - -def sproot(t, c, mest=...) -> typing.Any: - "zero,m,ier = sproot(t,c,[mest])\n\nWrapper for ``sproot``.\n\nParameters\n----------\nt : input rank-1 array('d') with bounds (n)\nc : input rank-1 array('d') with bounds (n)\n\nOther Parameters\n----------------\nmest : input int, optional\n Default: 3*(n-7)\n\nReturns\n-------\nzero : rank-1 array('d') with bounds (mest)\nm : int\nier : int\n" - ... - -def surfit_lsq(x, y, z, nx, tx, ny, ty, w=..., xb=..., xe=..., yb=..., ye=..., kx=..., ky=..., eps=..., lwrk2=..., overwrite_tx=..., overwrite_ty=...) -> typing.Any: - "tx,ty,c,fp,ier = surfit_lsq(x,y,z,nx,tx,ny,ty,[w,xb,xe,yb,ye,kx,ky,eps,lwrk2,overwrite_tx,overwrite_ty])\n\nWrapper for ``surfit_lsq``.\n\nParameters\n----------\nx : input rank-1 array('d') with bounds (m)\ny : input rank-1 array('d') with bounds (m)\nz : input rank-1 array('d') with bounds (m)\nnx : input int\ntx : input rank-1 array('d') with bounds (nmax)\nny : input int\nty : input rank-1 array('d') with bounds (nmax)\n\nOther Parameters\n----------------\nw : input rank-1 array('d') with bounds (m), optional\n Default: 1.0\nxb : input float, optional\n Default: calc_b(x,m,tx,nx)\nxe : input float, optional\n Default: calc_e(x,m,tx,nx)\nyb : input float, optional\n Default: calc_b(y,m,ty,ny)\nye : input float, optional\n Default: calc_e(y,m,ty,ny)\nkx : input int, optional\n Default: 3\nky : input int, optional\n Default: 3\neps : input float, optional\n Default: 1e-16\noverwrite_tx : input int, optional\n Default: 1\noverwrite_ty : input int, optional\n Default: 1\nlwrk2 : input int, optional\n Default: calc_surfit_lwrk2(m,kx,ky,nxest,nyest)\n\nReturns\n-------\ntx : rank-1 array('d') with bounds (nmax)\nty : rank-1 array('d') with bounds (nmax)\nc : rank-1 array('d') with bounds ((nx-kx-1)*(ny-ky-1))\nfp : float\nier : int\n" - ... - -def surfit_smth(x, y, z, w=..., xb=..., xe=..., yb=..., ye=..., kx=..., ky=..., s=..., nxest=..., nyest=..., eps=..., lwrk2=...) -> typing.Any: - "nx,tx,ny,ty,c,fp,wrk1,ier = surfit_smth(x,y,z,[w,xb,xe,yb,ye,kx,ky,s,nxest,nyest,eps,lwrk2])\n\nWrapper for ``surfit_smth``.\n\nParameters\n----------\nx : input rank-1 array('d') with bounds (m)\ny : input rank-1 array('d') with bounds (m)\nz : input rank-1 array('d') with bounds (m)\n\nOther Parameters\n----------------\nw : input rank-1 array('d') with bounds (m), optional\n Default: 1.0\nxb : input float, optional\n Default: dmin(x,m)\nxe : input float, optional\n Default: dmax(x,m)\nyb : input float, optional\n Default: dmin(y,m)\nye : input float, optional\n Default: dmax(y,m)\nkx : input int, optional\n Default: 3\nky : input int, optional\n Default: 3\ns : input float, optional\n Default: m\nnxest : input int, optional\n Default: imax(kx+1+sqrt(m/2),2*(kx+1))\nnyest : input int, optional\n Default: imax(ky+1+sqrt(m/2),2*(ky+1))\neps : input float, optional\n Default: 1e-16\nlwrk2 : input int, optional\n Default: calc_surfit_lwrk2(m,kx,ky,nxest,nyest)\n\nReturns\n-------\nnx : int\ntx : rank-1 array('d') with bounds (nmax)\nny : int\nty : rank-1 array('d') with bounds (nmax)\nc : rank-1 array('d') with bounds ((nxest-kx-1)*(nyest-ky-1))\nfp : float\nwrk1 : rank-1 array('d') with bounds (lwrk1)\nier : int\n" - ... - -def types() -> typing.Any: - "'i'-scalar\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/interpnd.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/interpnd.pyi deleted file mode 100644 index 23e9f8a3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/interpolate/interpnd.pyi +++ /dev/null @@ -1,146 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.interpolate.interpnd, version: unspecified -import typing -import builtins as _mod_builtins - -class CloughTocher2DInterpolator(NDInterpolatorBase): - '\n CloughTocher2DInterpolator(points, values, tol=1e-6)\n\n Piecewise cubic, C1 smooth, curvature-minimizing interpolant in 2D.\n\n .. versionadded:: 0.9\n\n Methods\n -------\n __call__\n\n Parameters\n ----------\n points : ndarray of floats, shape (npoints, ndims); or Delaunay\n Data point coordinates, or a precomputed Delaunay triangulation.\n values : ndarray of float or complex, shape (npoints, ...)\n Data values.\n fill_value : float, optional\n Value used to fill in for requested points outside of the\n convex hull of the input points. If not provided, then\n the default is ``nan``.\n tol : float, optional\n Absolute/relative tolerance for gradient estimation.\n maxiter : int, optional\n Maximum number of iterations in gradient estimation.\n rescale : bool, optional\n Rescale points to unit cube before performing interpolation.\n This is useful if some of the input dimensions have\n incommensurable units and differ by many orders of magnitude.\n\n Notes\n -----\n The interpolant is constructed by triangulating the input data\n with Qhull [1]_, and constructing a piecewise cubic\n interpolating Bezier polynomial on each triangle, using a\n Clough-Tocher scheme [CT]_. The interpolant is guaranteed to be\n continuously differentiable.\n\n The gradients of the interpolant are chosen so that the curvature\n of the interpolating surface is approximatively minimized. The\n gradients necessary for this are estimated using the global\n algorithm described in [Nielson83]_ and [Renka84]_.\n\n Examples\n --------\n We can interpolate values on a 2D plane:\n\n >>> from scipy.interpolate import CloughTocher2DInterpolator\n >>> import matplotlib.pyplot as plt\n >>> np.random.seed(0)\n >>> x = np.random.random(10) - 0.5\n >>> y = np.random.random(10) - 0.5\n >>> z = np.hypot(x, y)\n >>> X = np.linspace(min(x), max(x))\n >>> Y = np.linspace(min(y), max(y))\n >>> X, Y = np.meshgrid(X, Y) # 2D grid for interpolation\n >>> interp = CloughTocher2DInterpolator(list(zip(x, y)), z)\n >>> Z = interp(X, Y)\n >>> plt.pcolormesh(X, Y, Z, shading=\'auto\')\n >>> plt.plot(x, y, "ok", label="input point")\n >>> plt.legend()\n >>> plt.colorbar()\n >>> plt.axis("equal")\n >>> plt.show()\n\n See also\n --------\n griddata :\n Interpolate unstructured D-D data.\n LinearNDInterpolator :\n Piecewise linear interpolant in N dimensions.\n NearestNDInterpolator :\n Nearest-neighbor interpolation in N dimensions.\n\n References\n ----------\n .. [1] http://www.qhull.org/\n\n .. [CT] See, for example,\n P. Alfeld,\n \'\'A trivariate Clough-Tocher scheme for tetrahedral data\'\'.\n Computer Aided Geometric Design, 1, 169 (1984);\n G. Farin,\n \'\'Triangular Bernstein-Bezier patches\'\'.\n Computer Aided Geometric Design, 3, 83 (1986).\n\n .. [Nielson83] G. Nielson,\n \'\'A method for interpolating scattered data based upon a minimum norm\n network\'\'.\n Math. Comp., 40, 253 (1983).\n\n .. [Renka84] R. J. Renka and A. K. Cline.\n \'\'A Triangle-based C1 interpolation method.\'\',\n Rocky Mountain J. Math., 14, 223 (1984).\n\n ' - __dict__: typing.Dict[str, typing.Any] - def __init__(self, points, values, tol=...) -> None: - '\n CloughTocher2DInterpolator(points, values, tol=1e-6)\n\n Piecewise cubic, C1 smooth, curvature-minimizing interpolant in 2D.\n\n .. versionadded:: 0.9\n\n Methods\n -------\n __call__\n\n Parameters\n ----------\n points : ndarray of floats, shape (npoints, ndims); or Delaunay\n Data point coordinates, or a precomputed Delaunay triangulation.\n values : ndarray of float or complex, shape (npoints, ...)\n Data values.\n fill_value : float, optional\n Value used to fill in for requested points outside of the\n convex hull of the input points. If not provided, then\n the default is ``nan``.\n tol : float, optional\n Absolute/relative tolerance for gradient estimation.\n maxiter : int, optional\n Maximum number of iterations in gradient estimation.\n rescale : bool, optional\n Rescale points to unit cube before performing interpolation.\n This is useful if some of the input dimensions have\n incommensurable units and differ by many orders of magnitude.\n\n Notes\n -----\n The interpolant is constructed by triangulating the input data\n with Qhull [1]_, and constructing a piecewise cubic\n interpolating Bezier polynomial on each triangle, using a\n Clough-Tocher scheme [CT]_. The interpolant is guaranteed to be\n continuously differentiable.\n\n The gradients of the interpolant are chosen so that the curvature\n of the interpolating surface is approximatively minimized. The\n gradients necessary for this are estimated using the global\n algorithm described in [Nielson83]_ and [Renka84]_.\n\n Examples\n --------\n We can interpolate values on a 2D plane:\n\n >>> from scipy.interpolate import CloughTocher2DInterpolator\n >>> import matplotlib.pyplot as plt\n >>> np.random.seed(0)\n >>> x = np.random.random(10) - 0.5\n >>> y = np.random.random(10) - 0.5\n >>> z = np.hypot(x, y)\n >>> X = np.linspace(min(x), max(x))\n >>> Y = np.linspace(min(y), max(y))\n >>> X, Y = np.meshgrid(X, Y) # 2D grid for interpolation\n >>> interp = CloughTocher2DInterpolator(list(zip(x, y)), z)\n >>> Z = interp(X, Y)\n >>> plt.pcolormesh(X, Y, Z, shading=\'auto\')\n >>> plt.plot(x, y, "ok", label="input point")\n >>> plt.legend()\n >>> plt.colorbar()\n >>> plt.axis("equal")\n >>> plt.show()\n\n See also\n --------\n griddata :\n Interpolate unstructured D-D data.\n LinearNDInterpolator :\n Piecewise linear interpolant in N dimensions.\n NearestNDInterpolator :\n Nearest-neighbor interpolation in N dimensions.\n\n References\n ----------\n .. [1] http://www.qhull.org/\n\n .. [CT] See, for example,\n P. Alfeld,\n \'\'A trivariate Clough-Tocher scheme for tetrahedral data\'\'.\n Computer Aided Geometric Design, 1, 169 (1984);\n G. Farin,\n \'\'Triangular Bernstein-Bezier patches\'\'.\n Computer Aided Geometric Design, 3, 83 (1986).\n\n .. [Nielson83] G. Nielson,\n \'\'A method for interpolating scattered data based upon a minimum norm\n network\'\'.\n Math. Comp., 40, 253 (1983).\n\n .. [Renka84] R. J. Renka and A. K. Cline.\n \'\'A Triangle-based C1 interpolation method.\'\',\n Rocky Mountain J. Math., 14, 223 (1984).\n\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def _do_evaluate(self, xi, dummy) -> typing.Any: - ... - - def _evaluate_complex(self, xi) -> typing.Any: - ... - - def _evaluate_double(self, xi) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class GradientEstimationWarning(_mod_builtins.Warning): - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class LinearNDInterpolator(NDInterpolatorBase): - '\n LinearNDInterpolator(points, values, fill_value=np.nan, rescale=False)\n\n Piecewise linear interpolant in N dimensions.\n\n .. versionadded:: 0.9\n\n Methods\n -------\n __call__\n\n Parameters\n ----------\n points : ndarray of floats, shape (npoints, ndims); or Delaunay\n Data point coordinates, or a precomputed Delaunay triangulation.\n values : ndarray of float or complex, shape (npoints, ...)\n Data values.\n fill_value : float, optional\n Value used to fill in for requested points outside of the\n convex hull of the input points. If not provided, then\n the default is ``nan``.\n rescale : bool, optional\n Rescale points to unit cube before performing interpolation.\n This is useful if some of the input dimensions have\n incommensurable units and differ by many orders of magnitude.\n\n Notes\n -----\n The interpolant is constructed by triangulating the input data\n with Qhull [1]_, and on each triangle performing linear\n barycentric interpolation.\n\n Examples\n --------\n We can interpolate values on a 2D plane:\n\n >>> from scipy.interpolate import LinearNDInterpolator\n >>> import matplotlib.pyplot as plt\n >>> np.random.seed(0)\n >>> x = np.random.random(10) - 0.5\n >>> y = np.random.random(10) - 0.5\n >>> z = np.hypot(x, y)\n >>> X = np.linspace(min(x), max(x))\n >>> Y = np.linspace(min(y), max(y))\n >>> X, Y = np.meshgrid(X, Y) # 2D grid for interpolation\n >>> interp = LinearNDInterpolator(list(zip(x, y)), z)\n >>> Z = interp(X, Y)\n >>> plt.pcolormesh(X, Y, Z, shading=\'auto\')\n >>> plt.plot(x, y, "ok", label="input point")\n >>> plt.legend()\n >>> plt.colorbar()\n >>> plt.axis("equal")\n >>> plt.show()\n\n See also\n --------\n griddata :\n Interpolate unstructured D-D data.\n NearestNDInterpolator :\n Nearest-neighbor interpolation in N dimensions.\n CloughTocher2DInterpolator :\n Piecewise cubic, C1 smooth, curvature-minimizing interpolant in 2D.\n\n References\n ----------\n .. [1] http://www.qhull.org/\n\n ' - __dict__: typing.Dict[str, typing.Any] - def __init__(self, points, values, fill_value=..., rescale=...) -> None: - '\n LinearNDInterpolator(points, values, fill_value=np.nan, rescale=False)\n\n Piecewise linear interpolant in N dimensions.\n\n .. versionadded:: 0.9\n\n Methods\n -------\n __call__\n\n Parameters\n ----------\n points : ndarray of floats, shape (npoints, ndims); or Delaunay\n Data point coordinates, or a precomputed Delaunay triangulation.\n values : ndarray of float or complex, shape (npoints, ...)\n Data values.\n fill_value : float, optional\n Value used to fill in for requested points outside of the\n convex hull of the input points. If not provided, then\n the default is ``nan``.\n rescale : bool, optional\n Rescale points to unit cube before performing interpolation.\n This is useful if some of the input dimensions have\n incommensurable units and differ by many orders of magnitude.\n\n Notes\n -----\n The interpolant is constructed by triangulating the input data\n with Qhull [1]_, and on each triangle performing linear\n barycentric interpolation.\n\n Examples\n --------\n We can interpolate values on a 2D plane:\n\n >>> from scipy.interpolate import LinearNDInterpolator\n >>> import matplotlib.pyplot as plt\n >>> np.random.seed(0)\n >>> x = np.random.random(10) - 0.5\n >>> y = np.random.random(10) - 0.5\n >>> z = np.hypot(x, y)\n >>> X = np.linspace(min(x), max(x))\n >>> Y = np.linspace(min(y), max(y))\n >>> X, Y = np.meshgrid(X, Y) # 2D grid for interpolation\n >>> interp = LinearNDInterpolator(list(zip(x, y)), z)\n >>> Z = interp(X, Y)\n >>> plt.pcolormesh(X, Y, Z, shading=\'auto\')\n >>> plt.plot(x, y, "ok", label="input point")\n >>> plt.legend()\n >>> plt.colorbar()\n >>> plt.axis("equal")\n >>> plt.show()\n\n See also\n --------\n griddata :\n Interpolate unstructured D-D data.\n NearestNDInterpolator :\n Nearest-neighbor interpolation in N dimensions.\n CloughTocher2DInterpolator :\n Piecewise cubic, C1 smooth, curvature-minimizing interpolant in 2D.\n\n References\n ----------\n .. [1] http://www.qhull.org/\n\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def _do_evaluate(self, xi, dummy) -> typing.Any: - ... - - def _evaluate_complex(self, xi) -> typing.Any: - ... - - def _evaluate_double(self, xi) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class NDInterpolatorBase(_mod_builtins.object): - '\n Common routines for interpolators.\n\n .. versionadded:: 0.9\n\n ' - def __call__(self, *args) -> typing.Any: - '\n interpolator(xi)\n\n Evaluate interpolator at given points.\n\n Parameters\n ----------\n x1, x2, ... xn: array-like of float\n Points where to interpolate data at.\n x1, x2, ... xn can be array-like of float with broadcastable shape.\n or x1 can be array-like of float with shape ``(..., ndim)``\n\n ' - ... - - __dict__: typing.Dict[str, typing.Any] - def __init__(self, points, values, fill_value, ndim, rescale, need_contiguous, need_values) -> None: - '\n Check shape of points and values arrays, and reshape values to\n (npoints, nvalues). Ensure the `points` and values arrays are\n C-contiguous, and of correct type.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def _check_call_shape(self, xi) -> typing.Any: - ... - - def _scale_x(self, xi) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: str -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def _ndim_coords_from_arrays() -> typing.Any: - '\n Convert a tuple of coordinate arrays to a (..., ndim)-shaped array.\n\n ' - ... - -def estimate_gradients_2d_global() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/io/_test_fortran.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/io/_test_fortran.pyi deleted file mode 100644 index 0531b5fc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/io/_test_fortran.pyi +++ /dev/null @@ -1,26 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.io._test_fortran, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def read_unformatted_double(m, n, k, filename) -> typing.Any: - "a = read_unformatted_double(m,n,k,filename)\n\nWrapper for ``read_unformatted_double``.\n\nParameters\n----------\nm : input int\nn : input int\nk : input int\nfilename : input string(len=4096)\n\nReturns\n-------\na : rank-3 array('d') with bounds (m,n,k)\n" - ... - -def read_unformatted_int(m, n, k, filename) -> typing.Any: - "a = read_unformatted_int(m,n,k,filename)\n\nWrapper for ``read_unformatted_int``.\n\nParameters\n----------\nm : input int\nn : input int\nk : input int\nfilename : input string(len=4096)\n\nReturns\n-------\na : rank-3 array('i') with bounds (m,n,k)\n" - ... - -def read_unformatted_mixed(m, n, k, filename) -> typing.Any: - "a,b = read_unformatted_mixed(m,n,k,filename)\n\nWrapper for ``read_unformatted_mixed``.\n\nParameters\n----------\nm : input int\nn : input int\nk : input int\nfilename : input string(len=4096)\n\nReturns\n-------\na : rank-2 array('d') with bounds (m,n)\nb : rank-1 array('i') with bounds (k)\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/io/matlab/mio5_utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/io/matlab/mio5_utils.pyi deleted file mode 100644 index 86a77745..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/io/matlab/mio5_utils.pyi +++ /dev/null @@ -1,177 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.io.matlab.mio5_utils, version: unspecified -import typing -import builtins as _mod_builtins -import scipy.sparse.csc as _mod_scipy_sparse_csc - -class VarHeader5(_mod_builtins.object): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def dims(self) -> typing.Any: - ... - - @property - def is_global(self) -> typing.Any: - ... - - @property - def is_logical(self) -> typing.Any: - ... - - @property - def mclass(self) -> typing.Any: - ... - - @property - def name(self) -> typing.Any: - ... - - @property - def nzmax(self) -> typing.Any: - ... - - def set_dims(self) -> typing.Any: - ' Allow setting of dimensions from python\n\n This is for constructing headers for tests\n ' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class VarReader5(_mod_builtins.object): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def array_from_header(self) -> typing.Any: - ' Read array of any class, given matrix `header`\n\n Parameters\n ----------\n header : VarHeader5\n array header object\n process : int, optional\n If not zero, apply post-processing on returned array\n \n Returns\n -------\n arr : array or sparse array\n read array\n ' - ... - - @property - def is_swapped(self) -> typing.Any: - ... - - @property - def little_endian(self) -> typing.Any: - ... - - def read_cells(self) -> typing.Any: - ' Read cell array from stream ' - ... - - def read_char(self) -> typing.Any: - ' Read char matrices from stream as arrays\n\n Matrices of char are likely to be converted to matrices of\n string by later processing in ``array_from_header``\n ' - ... - - def read_fieldnames(self) -> typing.Any: - 'Read fieldnames for struct-like matrix.' - ... - - def read_full_tag(self) -> typing.Any: - ' Python method for reading full u4, u4 tag from stream\n\n Returns\n -------\n mdtype : int32\n matlab data type code\n byte_count : int32\n number of data bytes following\n\n Notes\n -----\n Assumes tag is in fact full, that is, is not a small data\n element. This means it can skip some checks and makes it\n slightly faster than ``read_tag``\n ' - ... - - def read_header(self) -> typing.Any: - ' Return matrix header for current stream position\n\n Returns matrix headers at top level and sub levels\n\n Parameters\n ----------\n check_stream_limit : if True, then if the returned header\n is passed to array_from_header, it will be verified that\n the length of the uncompressed data is not overlong (which\n can indicate .mat file corruption)\n ' - ... - - def read_numeric(self) -> typing.Any: - ' Read numeric data element into ndarray\n\n Reads element, then casts to ndarray.\n\n The type of the array is usually given by the ``mdtype`` returned via\n ``read_element``. Sparse logical arrays are an exception, where the\n type of the array may be ``np.bool_`` even if the ``mdtype`` claims the\n data is of float64 type.\n\n Parameters\n ----------\n copy : bool, optional\n Whether to copy the array before returning. If False, return array\n backed by bytes read from file.\n nnz : int, optional\n Number of non-zero values when reading numeric data from sparse\n matrices. -1 if not reading sparse matrices, or to disable check\n for bytes data instead of declared data type (see Notes).\n\n Returns\n -------\n arr : array\n Numeric array\n\n Notes\n -----\n MATLAB apparently likes to store sparse logical matrix data as bytes\n instead of miDOUBLE (float64) data type, even though the data element\n still declares its type as miDOUBLE. We can guess this has happened by\n looking for the length of the data compared to the expected number of\n elements, using the `nnz` input parameter.\n ' - ... - - def read_opaque(self) -> typing.Any: - " Read opaque (function workspace) type\n\n Looking at some mat files, the structure of this type seems to\n be:\n\n * array flags as usual (already read into `hdr`)\n * 3 int8 strings\n * a matrix\n\n Then there's a matrix at the end of the mat file that seems have\n the anonymous founction workspaces - we load it as\n ``__function_workspace__``\n\n See the comments at the beginning of ``mio5.py``\n " - ... - - def read_real_complex(self) -> typing.Any: - ' Read real / complex matrices from stream ' - ... - - def read_struct(self) -> typing.Any: - ' Read struct or object array from stream\n\n Objects are just structs with an extra field *classname*,\n defined before (this here) struct format structure\n ' - ... - - def read_tag(self) -> typing.Any: - ' Read tag mdtype and byte_count\n\n Does necessary swapping and takes account of SDE formats.\n\n See also ``read_full_tag`` method.\n \n Returns\n -------\n mdtype : int\n matlab data type code\n byte_count : int\n number of bytes following that comprise the data\n tag_data : None or str\n Any data from the tag itself. This is None for a full tag,\n and string length `byte_count` if this is a small data\n element.\n ' - ... - - def set_stream(self) -> typing.Any: - ' Set stream of best type from file-like `fobj`\n\n Called from Python when initiating a variable read\n ' - ... - - def shape_from_header(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: str -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_VarHeader5() -> typing.Any: - ... - -__test__: dict -def asbytes(s) -> typing.Any: - ... - -def asstr(s) -> typing.Any: - ... - -def byteswap_u4() -> typing.Any: - ... - -def chars_to_strings() -> typing.Any: - " Convert final axis of char array to strings\n\n Parameters\n ----------\n in_arr : array\n dtype of 'U1'\n\n Returns\n -------\n str_arr : array\n dtype of 'UN' where N is the length of the last dimension of\n ``arr``\n " - ... - -csc_matrix = _mod_scipy_sparse_csc.csc_matrix -def pycopy(x) -> typing.Any: - "Shallow copy operation on arbitrary Python objects.\n\n See the module's __doc__ string for more info.\n " - ... - -def squeeze_element() -> typing.Any: - ' Return squeezed element\n\n The returned object may not be an ndarray - for example if we do\n ``arr.item`` to return a ``mat_struct`` object from a struct array ' - ... - -swapped_code: str -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/io/matlab/mio_utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/io/matlab/mio_utils.pyi deleted file mode 100644 index 52f69801..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/io/matlab/mio_utils.pyi +++ /dev/null @@ -1,23 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.io.matlab.mio_utils, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -__test__: dict -def chars_to_strings() -> typing.Any: - " Convert final axis of char array to strings\n\n Parameters\n ----------\n in_arr : array\n dtype of 'U1'\n\n Returns\n -------\n str_arr : array\n dtype of 'UN' where N is the length of the last dimension of\n ``arr``\n " - ... - -def squeeze_element() -> typing.Any: - ' Return squeezed element\n\n The returned object may not be an ndarray - for example if we do\n ``arr.item`` to return a ``mat_struct`` object from a struct array ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/io/matlab/streams.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/io/matlab/streams.pyi deleted file mode 100644 index bec3fb2a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/io/matlab/streams.pyi +++ /dev/null @@ -1,108 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.io.matlab.streams, version: unspecified -import typing -import builtins as _mod_builtins - -BLOCK_SIZE: int -class GenericStream(_mod_builtins.object): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def all_data_read(self) -> typing.Any: - ... - - def read(self) -> typing.Any: - ... - - def seek(self) -> typing.Any: - ... - - def tell(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class ZlibInputStream(GenericStream): - '\n File-like object uncompressing bytes from a zlib compressed stream.\n\n Parameters\n ----------\n stream : file-like\n Stream to read compressed data from.\n max_length : int\n Maximum number of bytes to read from the stream.\n\n Notes\n -----\n Some matlab files contain zlib streams without valid Z_STREAM_END\n termination. To get round this, we use the decompressobj object, that\n allows you to decode an incomplete stream. See discussion at\n https://bugs.python.org/issue8672\n\n ' - def __init__(self, *args, **kwargs) -> None: - '\n File-like object uncompressing bytes from a zlib compressed stream.\n\n Parameters\n ----------\n stream : file-like\n Stream to read compressed data from.\n max_length : int\n Maximum number of bytes to read from the stream.\n\n Notes\n -----\n Some matlab files contain zlib streams without valid Z_STREAM_END\n termination. To get round this, we use the decompressobj object, that\n allows you to decode an incomplete stream. See discussion at\n https://bugs.python.org/issue8672\n\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def all_data_read(self) -> typing.Any: - ... - - def read(self) -> typing.Any: - ... - - def seek(self) -> typing.Any: - ... - - def tell(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -def __pyx_unpickle_GenericStream() -> typing.Any: - ... - -def __pyx_unpickle_ZlibInputStream() -> typing.Any: - ... - -__test__: dict -def _read_into() -> typing.Any: - ... - -def _read_string() -> typing.Any: - ... - -def make_stream() -> typing.Any: - ' Make stream of correct type for file-like `fobj`\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_decomp_update.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_decomp_update.pyi deleted file mode 100644 index 31f93b74..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_decomp_update.pyi +++ /dev/null @@ -1,33 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.linalg._decomp_update, version: unspecified -import typing -import builtins as _mod_builtins -import numpy.linalg as _mod_numpy_linalg - -LinAlgError = _mod_numpy_linalg.LinAlgError -__all__: list -__doc__: str -__file__: str -__name__: str -__package__: str -__test__: dict -def _form_qTu() -> typing.Any: - ' this function only exists to expose the cdef version below for testing\n purposes. Here we perform minimal input validation to ensure that the\n inputs meet the requirements below.\n ' - ... - -def qr_delete(Q, R, k, intp=..., which=..., overwrite_qr=..., check_finite=...) -> typing.Any: - "qr_delete(Q, R, k, int p=1, which=u'row', overwrite_qr=False, check_finite=True)\n\n QR downdate on row or column deletions\n\n If ``A = Q R`` is the QR factorization of ``A``, return the QR\n factorization of ``A`` where ``p`` rows or columns have been removed\n starting at row or column ``k``.\n\n Parameters\n ----------\n Q : (M, M) or (M, N) array_like\n Unitary/orthogonal matrix from QR decomposition.\n R : (M, N) or (N, N) array_like\n Upper triangular matrix from QR decomposition.\n k : int\n Index of the first row or column to delete.\n p : int, optional\n Number of rows or columns to delete, defaults to 1.\n which: {'row', 'col'}, optional\n Determines if rows or columns will be deleted, defaults to 'row'\n overwrite_qr : bool, optional\n If True, consume Q and R, overwriting their contents with their\n downdated versions, and returning approriately sized views.\n Defaults to False.\n check_finite : bool, optional\n Whether to check that the input matrix contains only finite numbers.\n Disabling may give a performance gain, but may result in problems\n (crashes, non-termination) if the inputs do contain infinities or NaNs.\n Default is True.\n\n Returns\n -------\n Q1 : ndarray\n Updated unitary/orthogonal factor\n R1 : ndarray\n Updated upper triangular factor\n\n See Also\n --------\n qr, qr_multiply, qr_insert, qr_update\n\n Notes\n -----\n This routine does not guarantee that the diagonal entries of ``R1`` are\n positive.\n\n .. versionadded:: 0.16.0\n\n References\n ----------\n .. [1] Golub, G. H. & Van Loan, C. F. Matrix Computations, 3rd Ed.\n (Johns Hopkins University Press, 1996).\n\n .. [2] Daniel, J. W., Gragg, W. B., Kaufman, L. & Stewart, G. W.\n Reorthogonalization and stable algorithms for updating the\n Gram-Schmidt QR factorization. Math. Comput. 30, 772-795 (1976).\n\n .. [3] Reichel, L. & Gragg, W. B. Algorithm 686: FORTRAN Subroutines for\n Updating the QR Decomposition. ACM Trans. Math. Softw. 16, 369-377\n (1990).\n\n Examples\n --------\n >>> from scipy import linalg\n >>> a = np.array([[ 3., -2., -2.],\n ... [ 6., -9., -3.],\n ... [ -3., 10., 1.],\n ... [ 6., -7., 4.],\n ... [ 7., 8., -6.]])\n >>> q, r = linalg.qr(a)\n\n Given this QR decomposition, update q and r when 2 rows are removed.\n\n >>> q1, r1 = linalg.qr_delete(q, r, 2, 2, 'row', False)\n >>> q1\n array([[ 0.30942637, 0.15347579, 0.93845645], # may vary (signs)\n [ 0.61885275, 0.71680171, -0.32127338],\n [ 0.72199487, -0.68017681, -0.12681844]])\n >>> r1\n array([[ 9.69535971, -0.4125685 , -6.80738023], # may vary (signs)\n [ 0. , -12.19958144, 1.62370412],\n [ 0. , 0. , -0.15218213]])\n\n The update is equivalent, but faster than the following.\n\n >>> a1 = np.delete(a, slice(2,4), 0)\n >>> a1\n array([[ 3., -2., -2.],\n [ 6., -9., -3.],\n [ 7., 8., -6.]])\n >>> q_direct, r_direct = linalg.qr(a1)\n\n Check that we have equivalent results:\n\n >>> np.dot(q1, r1)\n array([[ 3., -2., -2.],\n [ 6., -9., -3.],\n [ 7., 8., -6.]])\n >>> np.allclose(np.dot(q1, r1), a1)\n True\n\n And the updated Q is still unitary:\n\n >>> np.allclose(np.dot(q1.T, q1), np.eye(3))\n True\n\n " - ... - -def qr_insert(Q, R, u, k, which=..., rcond=..., overwrite_qru=..., check_finite=...) -> typing.Any: - "qr_insert(Q, R, u, k, which=u'row', rcond=None, overwrite_qru=False, check_finite=True)\n\n QR update on row or column insertions\n\n If ``A = Q R`` is the QR factorization of ``A``, return the QR\n factorization of ``A`` where rows or columns have been inserted starting\n at row or column ``k``.\n\n Parameters\n ----------\n Q : (M, M) array_like\n Unitary/orthogonal matrix from the QR decomposition of A.\n R : (M, N) array_like\n Upper triangular matrix from the QR decomposition of A.\n u : (N,), (p, N), (M,), or (M, p) array_like\n Rows or columns to insert\n k : int\n Index before which `u` is to be inserted.\n which: {'row', 'col'}, optional\n Determines if rows or columns will be inserted, defaults to 'row'\n rcond : float\n Lower bound on the reciprocal condition number of ``Q`` augmented with\n ``u/||u||`` Only used when updating economic mode (thin, (M,N) (N,N))\n decompositions. If None, machine precision is used. Defaults to\n None.\n overwrite_qru : bool, optional\n If True, consume Q, R, and u, if possible, while performing the update,\n otherwise make copies as necessary. Defaults to False.\n check_finite : bool, optional\n Whether to check that the input matrices contain only finite numbers.\n Disabling may give a performance gain, but may result in problems\n (crashes, non-termination) if the inputs do contain infinities or NaNs.\n Default is True.\n\n Returns\n -------\n Q1 : ndarray\n Updated unitary/orthogonal factor\n R1 : ndarray\n Updated upper triangular factor\n\n Raises\n ------\n LinAlgError :\n If updating a (M,N) (N,N) factorization and the reciprocal condition\n number of Q augmented with u/||u|| is smaller than rcond.\n\n See Also\n --------\n qr, qr_multiply, qr_delete, qr_update\n\n Notes\n -----\n This routine does not guarantee that the diagonal entries of ``R1`` are\n positive.\n\n .. versionadded:: 0.16.0\n\n References\n ----------\n\n .. [1] Golub, G. H. & Van Loan, C. F. Matrix Computations, 3rd Ed.\n (Johns Hopkins University Press, 1996).\n\n .. [2] Daniel, J. W., Gragg, W. B., Kaufman, L. & Stewart, G. W.\n Reorthogonalization and stable algorithms for updating the\n Gram-Schmidt QR factorization. Math. Comput. 30, 772-795 (1976).\n\n .. [3] Reichel, L. & Gragg, W. B. Algorithm 686: FORTRAN Subroutines for\n Updating the QR Decomposition. ACM Trans. Math. Softw. 16, 369-377\n (1990).\n\n Examples\n --------\n >>> from scipy import linalg\n >>> a = np.array([[ 3., -2., -2.],\n ... [ 6., -7., 4.],\n ... [ 7., 8., -6.]])\n >>> q, r = linalg.qr(a)\n\n Given this QR decomposition, update q and r when 2 rows are inserted.\n\n >>> u = np.array([[ 6., -9., -3.],\n ... [ -3., 10., 1.]])\n >>> q1, r1 = linalg.qr_insert(q, r, u, 2, 'row')\n >>> q1\n array([[-0.25445668, 0.02246245, 0.18146236, -0.72798806, 0.60979671], # may vary (signs)\n [-0.50891336, 0.23226178, -0.82836478, -0.02837033, -0.00828114],\n [-0.50891336, 0.35715302, 0.38937158, 0.58110733, 0.35235345],\n [ 0.25445668, -0.52202743, -0.32165498, 0.36263239, 0.65404509],\n [-0.59373225, -0.73856549, 0.16065817, -0.0063658 , -0.27595554]])\n >>> r1\n array([[-11.78982612, 6.44623587, 3.81685018], # may vary (signs)\n [ 0. , -16.01393278, 3.72202865],\n [ 0. , 0. , -6.13010256],\n [ 0. , 0. , 0. ],\n [ 0. , 0. , 0. ]])\n\n The update is equivalent, but faster than the following.\n\n >>> a1 = np.insert(a, 2, u, 0)\n >>> a1\n array([[ 3., -2., -2.],\n [ 6., -7., 4.],\n [ 6., -9., -3.],\n [ -3., 10., 1.],\n [ 7., 8., -6.]])\n >>> q_direct, r_direct = linalg.qr(a1)\n\n Check that we have equivalent results:\n\n >>> np.dot(q1, r1)\n array([[ 3., -2., -2.],\n [ 6., -7., 4.],\n [ 6., -9., -3.],\n [ -3., 10., 1.],\n [ 7., 8., -6.]])\n\n >>> np.allclose(np.dot(q1, r1), a1)\n True\n\n And the updated Q is still unitary:\n\n >>> np.allclose(np.dot(q1.T, q1), np.eye(5))\n True\n\n " - ... - -def qr_update(Q, R, u, v, overwrite_qruv=..., check_finite=...) -> typing.Any: - "qr_update(Q, R, u, v, overwrite_qruv=False, check_finite=True)\n\n Rank-k QR update\n\n If ``A = Q R`` is the QR factorization of ``A``, return the QR\n factorization of ``A + u v**T`` for real ``A`` or ``A + u v**H``\n for complex ``A``.\n\n Parameters\n ----------\n Q : (M, M) or (M, N) array_like\n Unitary/orthogonal matrix from the qr decomposition of A.\n R : (M, N) or (N, N) array_like\n Upper triangular matrix from the qr decomposition of A.\n u : (M,) or (M, k) array_like\n Left update vector\n v : (N,) or (N, k) array_like\n Right update vector\n overwrite_qruv : bool, optional\n If True, consume Q, R, u, and v, if possible, while performing the\n update, otherwise make copies as necessary. Defaults to False.\n check_finite : bool, optional\n Whether to check that the input matrix contains only finite numbers.\n Disabling may give a performance gain, but may result in problems\n (crashes, non-termination) if the inputs do contain infinities or NaNs.\n Default is True.\n\n Returns\n -------\n Q1 : ndarray\n Updated unitary/orthogonal factor\n R1 : ndarray\n Updated upper triangular factor\n\n See Also\n --------\n qr, qr_multiply, qr_delete, qr_insert\n\n Notes\n -----\n This routine does not guarantee that the diagonal entries of `R1` are\n real or positive.\n\n .. versionadded:: 0.16.0\n\n References\n ----------\n .. [1] Golub, G. H. & Van Loan, C. F. Matrix Computations, 3rd Ed.\n (Johns Hopkins University Press, 1996).\n\n .. [2] Daniel, J. W., Gragg, W. B., Kaufman, L. & Stewart, G. W.\n Reorthogonalization and stable algorithms for updating the\n Gram-Schmidt QR factorization. Math. Comput. 30, 772-795 (1976).\n\n .. [3] Reichel, L. & Gragg, W. B. Algorithm 686: FORTRAN Subroutines for\n Updating the QR Decomposition. ACM Trans. Math. Softw. 16, 369-377\n (1990).\n\n Examples\n --------\n >>> from scipy import linalg\n >>> a = np.array([[ 3., -2., -2.],\n ... [ 6., -9., -3.],\n ... [ -3., 10., 1.],\n ... [ 6., -7., 4.],\n ... [ 7., 8., -6.]])\n >>> q, r = linalg.qr(a)\n\n Given this q, r decomposition, perform a rank 1 update.\n\n >>> u = np.array([7., -2., 4., 3., 5.])\n >>> v = np.array([1., 3., -5.])\n >>> q_up, r_up = linalg.qr_update(q, r, u, v, False)\n >>> q_up\n array([[ 0.54073807, 0.18645997, 0.81707661, -0.02136616, 0.06902409], # may vary (signs)\n [ 0.21629523, -0.63257324, 0.06567893, 0.34125904, -0.65749222],\n [ 0.05407381, 0.64757787, -0.12781284, -0.20031219, -0.72198188],\n [ 0.48666426, -0.30466718, -0.27487277, -0.77079214, 0.0256951 ],\n [ 0.64888568, 0.23001 , -0.4859845 , 0.49883891, 0.20253783]])\n >>> r_up\n array([[ 18.49324201, 24.11691794, -44.98940746], # may vary (signs)\n [ 0. , 31.95894662, -27.40998201],\n [ 0. , 0. , -9.25451794],\n [ 0. , 0. , 0. ],\n [ 0. , 0. , 0. ]])\n\n The update is equivalent, but faster than the following.\n\n >>> a_up = a + np.outer(u, v)\n >>> q_direct, r_direct = linalg.qr(a_up)\n\n Check that we have equivalent results:\n\n >>> np.allclose(np.dot(q_up, r_up), a_up)\n True\n\n And the updated Q is still unitary:\n\n >>> np.allclose(np.dot(q_up.T, q_up), np.eye(5))\n True\n\n Updating economic (reduced, thin) decompositions is also possible:\n\n >>> qe, re = linalg.qr(a, mode='economic')\n >>> qe_up, re_up = linalg.qr_update(qe, re, u, v, False)\n >>> qe_up\n array([[ 0.54073807, 0.18645997, 0.81707661], # may vary (signs)\n [ 0.21629523, -0.63257324, 0.06567893],\n [ 0.05407381, 0.64757787, -0.12781284],\n [ 0.48666426, -0.30466718, -0.27487277],\n [ 0.64888568, 0.23001 , -0.4859845 ]])\n >>> re_up\n array([[ 18.49324201, 24.11691794, -44.98940746], # may vary (signs)\n [ 0. , 31.95894662, -27.40998201],\n [ 0. , 0. , -9.25451794]])\n >>> np.allclose(np.dot(qe_up, re_up), a_up)\n True\n >>> np.allclose(np.dot(qe_up.T, qe_up), np.eye(3))\n True\n\n Similarly to the above, perform a rank 2 update.\n\n >>> u2 = np.array([[ 7., -1,],\n ... [-2., 4.],\n ... [ 4., 2.],\n ... [ 3., -6.],\n ... [ 5., 3.]])\n >>> v2 = np.array([[ 1., 2.],\n ... [ 3., 4.],\n ... [-5., 2]])\n >>> q_up2, r_up2 = linalg.qr_update(q, r, u2, v2, False)\n >>> q_up2\n array([[-0.33626508, -0.03477253, 0.61956287, -0.64352987, -0.29618884], # may vary (signs)\n [-0.50439762, 0.58319694, -0.43010077, -0.33395279, 0.33008064],\n [-0.21016568, -0.63123106, 0.0582249 , -0.13675572, 0.73163206],\n [ 0.12609941, 0.49694436, 0.64590024, 0.31191919, 0.47187344],\n [-0.75659643, -0.11517748, 0.10284903, 0.5986227 , -0.21299983]])\n >>> r_up2\n array([[-23.79075451, -41.1084062 , 24.71548348], # may vary (signs)\n [ 0. , -33.83931057, 11.02226551],\n [ 0. , 0. , 48.91476811],\n [ 0. , 0. , 0. ],\n [ 0. , 0. , 0. ]])\n\n This update is also a valid qr decomposition of ``A + U V**T``.\n\n >>> a_up2 = a + np.dot(u2, v2.T)\n >>> np.allclose(a_up2, np.dot(q_up2, r_up2))\n True\n >>> np.allclose(np.dot(q_up2.T, q_up2), np.eye(5))\n True\n\n " - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_fblas.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_fblas.pyi deleted file mode 100644 index 7f3a595a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_fblas.pyi +++ /dev/null @@ -1,614 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.linalg._fblas, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def caxpy(x, y, n=..., a=..., offx=..., incx=..., offy=..., incy=...) -> typing.Any: - "z = caxpy(x,y,[n,a,offx,incx,offy,incy])\n\nWrapper for ``caxpy``.\n\nParameters\n----------\nx : input rank-1 array('F') with bounds (*)\ny : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\na : input complex, optional\n Default: (1.0, 0.0)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nz : rank-1 array('F') with bounds (*) and y storage\n" - ... - -def ccopy(x, y, n=..., offx=..., incx=..., offy=..., incy=...) -> typing.Any: - "y = ccopy(x,y,[n,offx,incx,offy,incy])\n\nWrapper for ``ccopy``.\n\nParameters\n----------\nx : input rank-1 array('F') with bounds (*)\ny : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\ny : rank-1 array('F') with bounds (*)\n" - ... - -def cdotc(x, y, n=..., offx=..., incx=..., offy=..., incy=...) -> typing.Any: - "xy = cdotc(x,y,[n,offx,incx,offy,incy])\n\nWrapper for ``cdotc``.\n\nParameters\n----------\nx : input rank-1 array('F') with bounds (*)\ny : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nxy : complex\n" - ... - -def cdotu(x, y, n=..., offx=..., incx=..., offy=..., incy=...) -> typing.Any: - "xy = cdotu(x,y,[n,offx,incx,offy,incy])\n\nWrapper for ``cdotu``.\n\nParameters\n----------\nx : input rank-1 array('F') with bounds (*)\ny : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nxy : complex\n" - ... - -def cgbmv(m, n, kl, ku, alpha, a, x, incx=..., offx=..., beta=..., y=..., incy=..., offy=..., trans=..., overwrite_y=...) -> typing.Any: - "yout = cgbmv(m,n,kl,ku,alpha,a,x,[incx,offx,beta,y,incy,offy,trans,overwrite_y])\n\nWrapper for ``cgbmv``.\n\nParameters\n----------\nm : input int\nn : input int\nkl : input int\nku : input int\nalpha : input complex\na : input rank-2 array('F') with bounds (lda,n)\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nbeta : input complex, optional\n Default: (0.0, 0.0)\ny : input rank-1 array('F') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\n\nReturns\n-------\nyout : rank-1 array('F') with bounds (ly) and y storage\n" - ... - -def cgemm(alpha, a, b, beta=..., c=..., trans_a=..., trans_b=..., overwrite_c=...) -> typing.Any: - "c = cgemm(alpha,a,b,[beta,c,trans_a,trans_b,overwrite_c])\n\nWrapper for ``cgemm``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('F') with bounds (lda,ka)\nb : input rank-2 array('F') with bounds (ldb,kb)\n\nOther Parameters\n----------------\nbeta : input complex, optional\n Default: (0.0, 0.0)\nc : input rank-2 array('F') with bounds (m,n)\noverwrite_c : input int, optional\n Default: 0\ntrans_a : input int, optional\n Default: 0\ntrans_b : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('F') with bounds (m,n)\n" - ... - -def cgemv(alpha, a, x, beta=..., y=..., offx=..., incx=..., offy=..., incy=..., trans=..., overwrite_y=...) -> typing.Any: - "y = cgemv(alpha,a,x,[beta,y,offx,incx,offy,incy,trans,overwrite_y])\n\nWrapper for ``cgemv``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('F') with bounds (m,n)\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nbeta : input complex, optional\n Default: (0.0, 0.0)\ny : input rank-1 array('F') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\ntrans : input int, optional\n Default: 0\n\nReturns\n-------\ny : rank-1 array('F') with bounds (ly)\n" - ... - -def cgerc(alpha, x, y, incx=..., incy=..., a=..., overwrite_x=..., overwrite_y=..., overwrite_a=...) -> typing.Any: - "a = cgerc(alpha,x,y,[incx,incy,a,overwrite_x,overwrite_y,overwrite_a])\n\nWrapper for ``cgerc``.\n\nParameters\n----------\nalpha : input complex\nx : input rank-1 array('F') with bounds (m)\ny : input rank-1 array('F') with bounds (n)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 1\nincx : input int, optional\n Default: 1\noverwrite_y : input int, optional\n Default: 1\nincy : input int, optional\n Default: 1\na : input rank-2 array('F') with bounds (m,n), optional\n Default: (0.0,0.0)\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('F') with bounds (m,n)\n" - ... - -def cgeru(alpha, x, y, incx=..., incy=..., a=..., overwrite_x=..., overwrite_y=..., overwrite_a=...) -> typing.Any: - "a = cgeru(alpha,x,y,[incx,incy,a,overwrite_x,overwrite_y,overwrite_a])\n\nWrapper for ``cgeru``.\n\nParameters\n----------\nalpha : input complex\nx : input rank-1 array('F') with bounds (m)\ny : input rank-1 array('F') with bounds (n)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 1\nincx : input int, optional\n Default: 1\noverwrite_y : input int, optional\n Default: 1\nincy : input int, optional\n Default: 1\na : input rank-2 array('F') with bounds (m,n), optional\n Default: (0.0,0.0)\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('F') with bounds (m,n)\n" - ... - -def chbmv(k, alpha, a, x, incx=..., offx=..., beta=..., y=..., incy=..., offy=..., lower=..., overwrite_y=...) -> typing.Any: - "yout = chbmv(k,alpha,a,x,[incx,offx,beta,y,incy,offy,lower,overwrite_y])\n\nWrapper for ``chbmv``.\n\nParameters\n----------\nk : input int\nalpha : input complex\na : input rank-2 array('F') with bounds (lda,n)\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nbeta : input complex, optional\n Default: (0.0, 0.0)\ny : input rank-1 array('F') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nyout : rank-1 array('F') with bounds (ly) and y storage\n" - ... - -def chemm(alpha, a, b, beta=..., c=..., side=..., lower=..., overwrite_c=...) -> typing.Any: - "c = chemm(alpha,a,b,[beta,c,side,lower,overwrite_c])\n\nWrapper for ``chemm``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('F') with bounds (lda,ka)\nb : input rank-2 array('F') with bounds (ldb,kb)\n\nOther Parameters\n----------------\nbeta : input complex, optional\n Default: (0.0, 0.0)\nc : input rank-2 array('F') with bounds (m,n)\noverwrite_c : input int, optional\n Default: 0\nside : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('F') with bounds (m,n)\n" - ... - -def chemv(alpha, a, x, beta=..., y=..., offx=..., incx=..., offy=..., incy=..., lower=..., overwrite_y=...) -> typing.Any: - "y = chemv(alpha,a,x,[beta,y,offx,incx,offy,incy,lower,overwrite_y])\n\nWrapper for ``chemv``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('F') with bounds (n,n)\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nbeta : input complex, optional\n Default: (0.0, 0.0)\ny : input rank-1 array('F') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\n\nReturns\n-------\ny : rank-1 array('F') with bounds (ly)\n" - ... - -def cher(alpha, x, lower=..., incx=..., offx=..., n=..., a=..., overwrite_a=...) -> typing.Any: - "a = cher(alpha,x,[lower,incx,offx,n,a,overwrite_a])\n\nWrapper for ``cher``.\n\nParameters\n----------\nalpha : input complex\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nn : input int, optional\n Default: (len(x)-1-offx)/abs(incx)+1\na : input rank-2 array('F') with bounds (n,n)\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('F') with bounds (n,n)\n" - ... - -def cher2(alpha, x, y, lower=..., incx=..., offx=..., incy=..., offy=..., n=..., a=..., overwrite_a=...) -> typing.Any: - "a = cher2(alpha,x,y,[lower,incx,offx,incy,offy,n,a,overwrite_a])\n\nWrapper for ``cher2``.\n\nParameters\n----------\nalpha : input complex\nx : input rank-1 array('F') with bounds (*)\ny : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nn : input int, optional\n Default: ((len(x)-1-offx)/abs(incx)+1 <=(len(y)-1-offy)/abs(incy)+1 ?(len(x)-1-offx)/abs(incx)+1 :(len(y)-1-offy)/abs(incy)+1)\na : input rank-2 array('F') with bounds (n,n)\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('F') with bounds (n,n)\n" - ... - -def cher2k(alpha, a, b, beta=..., c=..., trans=..., lower=..., overwrite_c=...) -> typing.Any: - "c = cher2k(alpha,a,b,[beta,c,trans,lower,overwrite_c])\n\nWrapper for ``cher2k``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('F') with bounds (lda,ka)\nb : input rank-2 array('F') with bounds (ldb,kb)\n\nOther Parameters\n----------------\nbeta : input complex, optional\n Default: (0.0, 0.0)\nc : input rank-2 array('F') with bounds (n,n)\noverwrite_c : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('F') with bounds (n,n)\n" - ... - -def cherk(alpha, a, beta=..., c=..., trans=..., lower=..., overwrite_c=...) -> typing.Any: - "c = cherk(alpha,a,[beta,c,trans,lower,overwrite_c])\n\nWrapper for ``cherk``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('F') with bounds (lda,ka)\n\nOther Parameters\n----------------\nbeta : input complex, optional\n Default: (0.0, 0.0)\nc : input rank-2 array('F') with bounds (n,n)\noverwrite_c : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('F') with bounds (n,n)\n" - ... - -def chpmv(n, alpha, ap, x, incx=..., offx=..., beta=..., y=..., incy=..., offy=..., lower=..., overwrite_y=...) -> typing.Any: - "yout = chpmv(n,alpha,ap,x,[incx,offx,beta,y,incy,offy,lower,overwrite_y])\n\nWrapper for ``chpmv``.\n\nParameters\n----------\nn : input int\nalpha : input complex\nap : input rank-1 array('F') with bounds (*)\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nbeta : input complex, optional\n Default: (0.0, 0.0)\ny : input rank-1 array('F') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nyout : rank-1 array('F') with bounds (ly) and y storage\n" - ... - -def chpr(n, alpha, x, ap, incx=..., offx=..., lower=..., overwrite_ap=...) -> typing.Any: - "apu = chpr(n,alpha,x,ap,[incx,offx,lower,overwrite_ap])\n\nWrapper for ``chpr``.\n\nParameters\n----------\nn : input int\nalpha : input float\nx : input rank-1 array('F') with bounds (*)\nap : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\noverwrite_ap : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\napu : rank-1 array('F') with bounds (*) and ap storage\n" - ... - -def chpr2(n, alpha, x, y, ap, incx=..., offx=..., incy=..., offy=..., lower=..., overwrite_ap=...) -> typing.Any: - "apu = chpr2(n,alpha,x,y,ap,[incx,offx,incy,offy,lower,overwrite_ap])\n\nWrapper for ``chpr2``.\n\nParameters\n----------\nn : input int\nalpha : input complex\nx : input rank-1 array('F') with bounds (*)\ny : input rank-1 array('F') with bounds (*)\nap : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\noverwrite_ap : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\napu : rank-1 array('F') with bounds (*) and ap storage\n" - ... - -def crotg(a, b) -> typing.Any: - 'c,s = crotg(a,b)\n\nWrapper for ``crotg``.\n\nParameters\n----------\na : input complex\nb : input complex\n\nReturns\n-------\nc : complex\ns : complex\n' - ... - -def cscal(a, x, n=..., offx=..., incx=...) -> typing.Any: - "x = cscal(a,x,[n,offx,incx])\n\nWrapper for ``cscal``.\n\nParameters\n----------\na : input complex\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('F') with bounds (*)\n" - ... - -def cspmv(n, alpha, ap, x, incx=..., offx=..., beta=..., y=..., incy=..., offy=..., lower=..., overwrite_y=...) -> typing.Any: - "yout = cspmv(n,alpha,ap,x,[incx,offx,beta,y,incy,offy,lower,overwrite_y])\n\nWrapper for ``cspmv``.\n\nParameters\n----------\nn : input int\nalpha : input complex\nap : input rank-1 array('F') with bounds (*)\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nbeta : input complex, optional\n Default: (0.0, 0.0)\ny : input rank-1 array('F') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nyout : rank-1 array('F') with bounds (ly) and y storage\n" - ... - -def cspr(n, alpha, x, ap, incx=..., offx=..., lower=..., overwrite_ap=...) -> typing.Any: - "apu = cspr(n,alpha,x,ap,[incx,offx,lower,overwrite_ap])\n\nWrapper for ``cspr``.\n\nParameters\n----------\nn : input int\nalpha : input complex\nx : input rank-1 array('F') with bounds (*)\nap : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\noverwrite_ap : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\napu : rank-1 array('F') with bounds (*) and ap storage\n" - ... - -def csrot(x, y, c, s, n=..., offx=..., incx=..., offy=..., incy=..., overwrite_x=..., overwrite_y=...) -> typing.Any: - "x,y = csrot(x,y,c,s,[n,offx,incx,offy,incy,overwrite_x,overwrite_y])\n\nWrapper for ``csrot``.\n\nParameters\n----------\nx : input rank-1 array('F') with bounds (*)\ny : input rank-1 array('F') with bounds (*)\nc : input float\ns : input float\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-1-offx)/abs(incx)+1\noverwrite_x : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noverwrite_y : input int, optional\n Default: 0\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('F') with bounds (*)\ny : rank-1 array('F') with bounds (*)\n" - ... - -def csscal(a, x, n=..., offx=..., incx=..., overwrite_x=...) -> typing.Any: - "x = csscal(a,x,[n,offx,incx,overwrite_x])\n\nWrapper for ``csscal``.\n\nParameters\n----------\na : input float\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noverwrite_x : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('F') with bounds (*)\n" - ... - -def cswap(x, y, n=..., offx=..., incx=..., offy=..., incy=...) -> typing.Any: - "x,y = cswap(x,y,[n,offx,incx,offy,incy])\n\nWrapper for ``cswap``.\n\nParameters\n----------\nx : input rank-1 array('F') with bounds (*)\ny : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('F') with bounds (*)\ny : rank-1 array('F') with bounds (*)\n" - ... - -def csymm(alpha, a, b, beta=..., c=..., side=..., lower=..., overwrite_c=...) -> typing.Any: - "c = csymm(alpha,a,b,[beta,c,side,lower,overwrite_c])\n\nWrapper for ``csymm``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('F') with bounds (lda,ka)\nb : input rank-2 array('F') with bounds (ldb,kb)\n\nOther Parameters\n----------------\nbeta : input complex, optional\n Default: (0.0, 0.0)\nc : input rank-2 array('F') with bounds (m,n)\noverwrite_c : input int, optional\n Default: 0\nside : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('F') with bounds (m,n)\n" - ... - -def csyr(alpha, x, lower=..., incx=..., offx=..., n=..., a=..., overwrite_a=...) -> typing.Any: - "a = csyr(alpha,x,[lower,incx,offx,n,a,overwrite_a])\n\nWrapper for ``csyr``.\n\nParameters\n----------\nalpha : input complex\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nn : input int, optional\n Default: (len(x)-1-offx)/abs(incx)+1\na : input rank-2 array('F') with bounds (n,n)\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('F') with bounds (n,n)\n" - ... - -def csyr2k(alpha, a, b, beta=..., c=..., trans=..., lower=..., overwrite_c=...) -> typing.Any: - "c = csyr2k(alpha,a,b,[beta,c,trans,lower,overwrite_c])\n\nWrapper for ``csyr2k``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('F') with bounds (lda,ka)\nb : input rank-2 array('F') with bounds (ldb,kb)\n\nOther Parameters\n----------------\nbeta : input complex, optional\n Default: (0.0, 0.0)\nc : input rank-2 array('F') with bounds (n,n)\noverwrite_c : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('F') with bounds (n,n)\n" - ... - -def csyrk(alpha, a, beta=..., c=..., trans=..., lower=..., overwrite_c=...) -> typing.Any: - "c = csyrk(alpha,a,[beta,c,trans,lower,overwrite_c])\n\nWrapper for ``csyrk``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('F') with bounds (lda,ka)\n\nOther Parameters\n----------------\nbeta : input complex, optional\n Default: (0.0, 0.0)\nc : input rank-2 array('F') with bounds (n,n)\noverwrite_c : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('F') with bounds (n,n)\n" - ... - -def ctbmv(k, a, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = ctbmv(k,a,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``ctbmv``.\n\nParameters\n----------\nk : input int\na : input rank-2 array('F') with bounds (lda,n)\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('F') with bounds (*) and x storage\n" - ... - -def ctbsv(k, a, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = ctbsv(k,a,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``ctbsv``.\n\nParameters\n----------\nk : input int\na : input rank-2 array('F') with bounds (lda,n)\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('F') with bounds (*) and x storage\n" - ... - -def ctpmv(n, ap, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = ctpmv(n,ap,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``ctpmv``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('F') with bounds (*)\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('F') with bounds (*) and x storage\n" - ... - -def ctpsv(n, ap, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = ctpsv(n,ap,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``ctpsv``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('F') with bounds (*)\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('F') with bounds (*) and x storage\n" - ... - -def ctrmm(alpha, a, b, side=..., lower=..., trans_a=..., diag=..., overwrite_b=...) -> typing.Any: - "b = ctrmm(alpha,a,b,[side,lower,trans_a,diag,overwrite_b])\n\nWrapper for ``ctrmm``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('F') with bounds (lda,k)\nb : input rank-2 array('F') with bounds (ldb,n)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\nside : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans_a : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nb : rank-2 array('F') with bounds (ldb,n)\n" - ... - -def ctrmv(a, x, offx=..., incx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "x = ctrmv(a,x,[offx,incx,lower,trans,diag,overwrite_x])\n\nWrapper for ``ctrmv``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-1 array('F') with bounds (*)\n" - ... - -def ctrsm(alpha, a, b, side=..., lower=..., trans_a=..., diag=..., overwrite_b=...) -> typing.Any: - "x = ctrsm(alpha,a,b,[side,lower,trans_a,diag,overwrite_b])\n\nWrapper for ``ctrsm``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('F') with bounds (lda,*)\nb : input rank-2 array('F') with bounds (ldb,n)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\nside : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans_a : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('F') with bounds (ldb,n) and b storage\n" - ... - -def ctrsv(a, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = ctrsv(a,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``ctrsv``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('F') with bounds (*) and x storage\n" - ... - -def dasum(x, n=..., offx=..., incx=...) -> typing.Any: - "s = dasum(x,[n,offx,incx])\n\nWrapper for ``dasum``.\n\nParameters\n----------\nx : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\ns : float\n" - ... - -def daxpy(x, y, n=..., a=..., offx=..., incx=..., offy=..., incy=...) -> typing.Any: - "z = daxpy(x,y,[n,a,offx,incx,offy,incy])\n\nWrapper for ``daxpy``.\n\nParameters\n----------\nx : input rank-1 array('d') with bounds (*)\ny : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\na : input float, optional\n Default: 1.0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nz : rank-1 array('d') with bounds (*) and y storage\n" - ... - -def dcopy(x, y, n=..., offx=..., incx=..., offy=..., incy=...) -> typing.Any: - "y = dcopy(x,y,[n,offx,incx,offy,incy])\n\nWrapper for ``dcopy``.\n\nParameters\n----------\nx : input rank-1 array('d') with bounds (*)\ny : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\ny : rank-1 array('d') with bounds (*)\n" - ... - -def ddot(x, y, n=..., offx=..., incx=..., offy=..., incy=...) -> typing.Any: - "xy = ddot(x,y,[n,offx,incx,offy,incy])\n\nWrapper for ``ddot``.\n\nParameters\n----------\nx : input rank-1 array('d') with bounds (*)\ny : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nxy : float\n" - ... - -def dgbmv(m, n, kl, ku, alpha, a, x, incx=..., offx=..., beta=..., y=..., incy=..., offy=..., trans=..., overwrite_y=...) -> typing.Any: - "yout = dgbmv(m,n,kl,ku,alpha,a,x,[incx,offx,beta,y,incy,offy,trans,overwrite_y])\n\nWrapper for ``dgbmv``.\n\nParameters\n----------\nm : input int\nn : input int\nkl : input int\nku : input int\nalpha : input float\na : input rank-2 array('d') with bounds (lda,n)\nx : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nbeta : input float, optional\n Default: 0.0\ny : input rank-1 array('d') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\n\nReturns\n-------\nyout : rank-1 array('d') with bounds (ly) and y storage\n" - ... - -def dgemm(alpha, a, b, beta=..., c=..., trans_a=..., trans_b=..., overwrite_c=...) -> typing.Any: - "c = dgemm(alpha,a,b,[beta,c,trans_a,trans_b,overwrite_c])\n\nWrapper for ``dgemm``.\n\nParameters\n----------\nalpha : input float\na : input rank-2 array('d') with bounds (lda,ka)\nb : input rank-2 array('d') with bounds (ldb,kb)\n\nOther Parameters\n----------------\nbeta : input float, optional\n Default: 0.0\nc : input rank-2 array('d') with bounds (m,n)\noverwrite_c : input int, optional\n Default: 0\ntrans_a : input int, optional\n Default: 0\ntrans_b : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('d') with bounds (m,n)\n" - ... - -def dgemv(alpha, a, x, beta=..., y=..., offx=..., incx=..., offy=..., incy=..., trans=..., overwrite_y=...) -> typing.Any: - "y = dgemv(alpha,a,x,[beta,y,offx,incx,offy,incy,trans,overwrite_y])\n\nWrapper for ``dgemv``.\n\nParameters\n----------\nalpha : input float\na : input rank-2 array('d') with bounds (m,n)\nx : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nbeta : input float, optional\n Default: 0.0\ny : input rank-1 array('d') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\ntrans : input int, optional\n Default: 0\n\nReturns\n-------\ny : rank-1 array('d') with bounds (ly)\n" - ... - -def dger(alpha, x, y, incx=..., incy=..., a=..., overwrite_x=..., overwrite_y=..., overwrite_a=...) -> typing.Any: - "a = dger(alpha,x,y,[incx,incy,a,overwrite_x,overwrite_y,overwrite_a])\n\nWrapper for ``dger``.\n\nParameters\n----------\nalpha : input float\nx : input rank-1 array('d') with bounds (m)\ny : input rank-1 array('d') with bounds (n)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 1\nincx : input int, optional\n Default: 1\noverwrite_y : input int, optional\n Default: 1\nincy : input int, optional\n Default: 1\na : input rank-2 array('d') with bounds (m,n), optional\n Default: 0.0\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('d') with bounds (m,n)\n" - ... - -def dnrm2(x, n=..., offx=..., incx=...) -> typing.Any: - "n2 = dnrm2(x,[n,offx,incx])\n\nWrapper for ``dnrm2``.\n\nParameters\n----------\nx : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\nn2 : float\n" - ... - -def drot(x, y, c, s, n=..., offx=..., incx=..., offy=..., incy=..., overwrite_x=..., overwrite_y=...) -> typing.Any: - "x,y = drot(x,y,c,s,[n,offx,incx,offy,incy,overwrite_x,overwrite_y])\n\nWrapper for ``drot``.\n\nParameters\n----------\nx : input rank-1 array('d') with bounds (*)\ny : input rank-1 array('d') with bounds (*)\nc : input float\ns : input float\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-1-offx)/abs(incx)+1\noverwrite_x : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noverwrite_y : input int, optional\n Default: 0\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('d') with bounds (*)\ny : rank-1 array('d') with bounds (*)\n" - ... - -def drotg(a, b) -> typing.Any: - 'c,s = drotg(a,b)\n\nWrapper for ``drotg``.\n\nParameters\n----------\na : input float\nb : input float\n\nReturns\n-------\nc : float\ns : float\n' - ... - -def drotm(x, y, param, n=..., offx=..., incx=..., offy=..., incy=..., overwrite_x=..., overwrite_y=...) -> typing.Any: - "x,y = drotm(x,y,param,[n,offx,incx,offy,incy,overwrite_x,overwrite_y])\n\nWrapper for ``drotm``.\n\nParameters\n----------\nx : input rank-1 array('d') with bounds (*)\ny : input rank-1 array('d') with bounds (*)\nparam : input rank-1 array('d') with bounds (5)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noverwrite_x : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noverwrite_y : input int, optional\n Default: 0\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('d') with bounds (*)\ny : rank-1 array('d') with bounds (*)\n" - ... - -def drotmg(d1, d2, x1, y1) -> typing.Any: - "param = drotmg(d1,d2,x1,y1)\n\nWrapper for ``drotmg``.\n\nParameters\n----------\nd1 : input float\nd2 : input float\nx1 : input float\ny1 : input float\n\nReturns\n-------\nparam : rank-1 array('d') with bounds (5)\n" - ... - -def dsbmv(k, alpha, a, x, incx=..., offx=..., beta=..., y=..., incy=..., offy=..., lower=..., overwrite_y=...) -> typing.Any: - "yout = dsbmv(k,alpha,a,x,[incx,offx,beta,y,incy,offy,lower,overwrite_y])\n\nWrapper for ``dsbmv``.\n\nParameters\n----------\nk : input int\nalpha : input float\na : input rank-2 array('d') with bounds (lda,n)\nx : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nbeta : input float, optional\n Default: 0.0\ny : input rank-1 array('d') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nyout : rank-1 array('d') with bounds (ly) and y storage\n" - ... - -def dscal(a, x, n=..., offx=..., incx=...) -> typing.Any: - "x = dscal(a,x,[n,offx,incx])\n\nWrapper for ``dscal``.\n\nParameters\n----------\na : input float\nx : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('d') with bounds (*)\n" - ... - -def dspmv(n, alpha, ap, x, incx=..., offx=..., beta=..., y=..., incy=..., offy=..., lower=..., overwrite_y=...) -> typing.Any: - "yout = dspmv(n,alpha,ap,x,[incx,offx,beta,y,incy,offy,lower,overwrite_y])\n\nWrapper for ``dspmv``.\n\nParameters\n----------\nn : input int\nalpha : input float\nap : input rank-1 array('d') with bounds (*)\nx : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nbeta : input float, optional\n Default: 0.0\ny : input rank-1 array('d') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nyout : rank-1 array('d') with bounds (ly) and y storage\n" - ... - -def dspr(n, alpha, x, ap, incx=..., offx=..., lower=..., overwrite_ap=...) -> typing.Any: - "apu = dspr(n,alpha,x,ap,[incx,offx,lower,overwrite_ap])\n\nWrapper for ``dspr``.\n\nParameters\n----------\nn : input int\nalpha : input float\nx : input rank-1 array('d') with bounds (*)\nap : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\noverwrite_ap : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\napu : rank-1 array('d') with bounds (*) and ap storage\n" - ... - -def dspr2(n, alpha, x, y, ap, incx=..., offx=..., incy=..., offy=..., lower=..., overwrite_ap=...) -> typing.Any: - "apu = dspr2(n,alpha,x,y,ap,[incx,offx,incy,offy,lower,overwrite_ap])\n\nWrapper for ``dspr2``.\n\nParameters\n----------\nn : input int\nalpha : input float\nx : input rank-1 array('d') with bounds (*)\ny : input rank-1 array('d') with bounds (*)\nap : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\noverwrite_ap : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\napu : rank-1 array('d') with bounds (*) and ap storage\n" - ... - -def dswap(x, y, n=..., offx=..., incx=..., offy=..., incy=...) -> typing.Any: - "x,y = dswap(x,y,[n,offx,incx,offy,incy])\n\nWrapper for ``dswap``.\n\nParameters\n----------\nx : input rank-1 array('d') with bounds (*)\ny : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('d') with bounds (*)\ny : rank-1 array('d') with bounds (*)\n" - ... - -def dsymm(alpha, a, b, beta=..., c=..., side=..., lower=..., overwrite_c=...) -> typing.Any: - "c = dsymm(alpha,a,b,[beta,c,side,lower,overwrite_c])\n\nWrapper for ``dsymm``.\n\nParameters\n----------\nalpha : input float\na : input rank-2 array('d') with bounds (lda,ka)\nb : input rank-2 array('d') with bounds (ldb,kb)\n\nOther Parameters\n----------------\nbeta : input float, optional\n Default: 0.0\nc : input rank-2 array('d') with bounds (m,n)\noverwrite_c : input int, optional\n Default: 0\nside : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('d') with bounds (m,n)\n" - ... - -def dsymv(alpha, a, x, beta=..., y=..., offx=..., incx=..., offy=..., incy=..., lower=..., overwrite_y=...) -> typing.Any: - "y = dsymv(alpha,a,x,[beta,y,offx,incx,offy,incy,lower,overwrite_y])\n\nWrapper for ``dsymv``.\n\nParameters\n----------\nalpha : input float\na : input rank-2 array('d') with bounds (n,n)\nx : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nbeta : input float, optional\n Default: 0.0\ny : input rank-1 array('d') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\n\nReturns\n-------\ny : rank-1 array('d') with bounds (ly)\n" - ... - -def dsyr(alpha, x, lower=..., incx=..., offx=..., n=..., a=..., overwrite_a=...) -> typing.Any: - "a = dsyr(alpha,x,[lower,incx,offx,n,a,overwrite_a])\n\nWrapper for ``dsyr``.\n\nParameters\n----------\nalpha : input float\nx : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nn : input int, optional\n Default: (len(x)-1-offx)/abs(incx)+1\na : input rank-2 array('d') with bounds (n,n)\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('d') with bounds (n,n)\n" - ... - -def dsyr2(alpha, x, y, lower=..., incx=..., offx=..., incy=..., offy=..., n=..., a=..., overwrite_a=...) -> typing.Any: - "a = dsyr2(alpha,x,y,[lower,incx,offx,incy,offy,n,a,overwrite_a])\n\nWrapper for ``dsyr2``.\n\nParameters\n----------\nalpha : input float\nx : input rank-1 array('d') with bounds (*)\ny : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nn : input int, optional\n Default: ((len(x)-1-offx)/abs(incx)+1 <=(len(y)-1-offy)/abs(incy)+1 ?(len(x)-1-offx)/abs(incx)+1 :(len(y)-1-offy)/abs(incy)+1)\na : input rank-2 array('d') with bounds (n,n)\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('d') with bounds (n,n)\n" - ... - -def dsyr2k(alpha, a, b, beta=..., c=..., trans=..., lower=..., overwrite_c=...) -> typing.Any: - "c = dsyr2k(alpha,a,b,[beta,c,trans,lower,overwrite_c])\n\nWrapper for ``dsyr2k``.\n\nParameters\n----------\nalpha : input float\na : input rank-2 array('d') with bounds (lda,ka)\nb : input rank-2 array('d') with bounds (ldb,kb)\n\nOther Parameters\n----------------\nbeta : input float, optional\n Default: 0.0\nc : input rank-2 array('d') with bounds (n,n)\noverwrite_c : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('d') with bounds (n,n)\n" - ... - -def dsyrk(alpha, a, beta=..., c=..., trans=..., lower=..., overwrite_c=...) -> typing.Any: - "c = dsyrk(alpha,a,[beta,c,trans,lower,overwrite_c])\n\nWrapper for ``dsyrk``.\n\nParameters\n----------\nalpha : input float\na : input rank-2 array('d') with bounds (lda,ka)\n\nOther Parameters\n----------------\nbeta : input float, optional\n Default: 0.0\nc : input rank-2 array('d') with bounds (n,n)\noverwrite_c : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('d') with bounds (n,n)\n" - ... - -def dtbmv(k, a, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = dtbmv(k,a,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``dtbmv``.\n\nParameters\n----------\nk : input int\na : input rank-2 array('d') with bounds (lda,n)\nx : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('d') with bounds (*) and x storage\n" - ... - -def dtbsv(k, a, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = dtbsv(k,a,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``dtbsv``.\n\nParameters\n----------\nk : input int\na : input rank-2 array('d') with bounds (lda,n)\nx : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('d') with bounds (*) and x storage\n" - ... - -def dtpmv(n, ap, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = dtpmv(n,ap,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``dtpmv``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('d') with bounds (*)\nx : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('d') with bounds (*) and x storage\n" - ... - -def dtpsv(n, ap, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = dtpsv(n,ap,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``dtpsv``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('d') with bounds (*)\nx : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('d') with bounds (*) and x storage\n" - ... - -def dtrmm(alpha, a, b, side=..., lower=..., trans_a=..., diag=..., overwrite_b=...) -> typing.Any: - "b = dtrmm(alpha,a,b,[side,lower,trans_a,diag,overwrite_b])\n\nWrapper for ``dtrmm``.\n\nParameters\n----------\nalpha : input float\na : input rank-2 array('d') with bounds (lda,k)\nb : input rank-2 array('d') with bounds (ldb,n)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\nside : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans_a : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nb : rank-2 array('d') with bounds (ldb,n)\n" - ... - -def dtrmv(a, x, offx=..., incx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "x = dtrmv(a,x,[offx,incx,lower,trans,diag,overwrite_x])\n\nWrapper for ``dtrmv``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\nx : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-1 array('d') with bounds (*)\n" - ... - -def dtrsm(alpha, a, b, side=..., lower=..., trans_a=..., diag=..., overwrite_b=...) -> typing.Any: - "x = dtrsm(alpha,a,b,[side,lower,trans_a,diag,overwrite_b])\n\nWrapper for ``dtrsm``.\n\nParameters\n----------\nalpha : input float\na : input rank-2 array('d') with bounds (lda,*)\nb : input rank-2 array('d') with bounds (ldb,n)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\nside : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans_a : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('d') with bounds (ldb,n) and b storage\n" - ... - -def dtrsv(a, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = dtrsv(a,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``dtrsv``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\nx : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('d') with bounds (*) and x storage\n" - ... - -def dzasum(x, n=..., offx=..., incx=...) -> typing.Any: - "s = dzasum(x,[n,offx,incx])\n\nWrapper for ``dzasum``.\n\nParameters\n----------\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\ns : float\n" - ... - -def dznrm2(x, n=..., offx=..., incx=...) -> typing.Any: - "n2 = dznrm2(x,[n,offx,incx])\n\nWrapper for ``dznrm2``.\n\nParameters\n----------\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\nn2 : float\n" - ... - -def icamax(x, n=..., offx=..., incx=...) -> typing.Any: - "k = icamax(x,[n,offx,incx])\n\nWrapper for ``icamax``.\n\nParameters\n----------\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\nk : int\n" - ... - -def idamax(x, n=..., offx=..., incx=...) -> typing.Any: - "k = idamax(x,[n,offx,incx])\n\nWrapper for ``idamax``.\n\nParameters\n----------\nx : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\nk : int\n" - ... - -def isamax(x, n=..., offx=..., incx=...) -> typing.Any: - "k = isamax(x,[n,offx,incx])\n\nWrapper for ``isamax``.\n\nParameters\n----------\nx : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\nk : int\n" - ... - -def izamax(x, n=..., offx=..., incx=...) -> typing.Any: - "k = izamax(x,[n,offx,incx])\n\nWrapper for ``izamax``.\n\nParameters\n----------\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\nk : int\n" - ... - -def sasum(x, n=..., offx=..., incx=...) -> typing.Any: - "s = sasum(x,[n,offx,incx])\n\nWrapper for ``sasum``.\n\nParameters\n----------\nx : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\ns : float\n" - ... - -def saxpy(x, y, n=..., a=..., offx=..., incx=..., offy=..., incy=...) -> typing.Any: - "z = saxpy(x,y,[n,a,offx,incx,offy,incy])\n\nWrapper for ``saxpy``.\n\nParameters\n----------\nx : input rank-1 array('f') with bounds (*)\ny : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\na : input float, optional\n Default: 1.0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nz : rank-1 array('f') with bounds (*) and y storage\n" - ... - -def scasum(x, n=..., offx=..., incx=...) -> typing.Any: - "s = scasum(x,[n,offx,incx])\n\nWrapper for ``scasum``.\n\nParameters\n----------\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\ns : float\n" - ... - -def scnrm2(x, n=..., offx=..., incx=...) -> typing.Any: - "n2 = scnrm2(x,[n,offx,incx])\n\nWrapper for ``scnrm2``.\n\nParameters\n----------\nx : input rank-1 array('F') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\nn2 : float\n" - ... - -def scopy(x, y, n=..., offx=..., incx=..., offy=..., incy=...) -> typing.Any: - "y = scopy(x,y,[n,offx,incx,offy,incy])\n\nWrapper for ``scopy``.\n\nParameters\n----------\nx : input rank-1 array('f') with bounds (*)\ny : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\ny : rank-1 array('f') with bounds (*)\n" - ... - -def sdot(x, y, n=..., offx=..., incx=..., offy=..., incy=...) -> typing.Any: - "xy = sdot(x,y,[n,offx,incx,offy,incy])\n\nWrapper for ``sdot``.\n\nParameters\n----------\nx : input rank-1 array('f') with bounds (*)\ny : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nxy : float\n" - ... - -def sgbmv(m, n, kl, ku, alpha, a, x, incx=..., offx=..., beta=..., y=..., incy=..., offy=..., trans=..., overwrite_y=...) -> typing.Any: - "yout = sgbmv(m,n,kl,ku,alpha,a,x,[incx,offx,beta,y,incy,offy,trans,overwrite_y])\n\nWrapper for ``sgbmv``.\n\nParameters\n----------\nm : input int\nn : input int\nkl : input int\nku : input int\nalpha : input float\na : input rank-2 array('f') with bounds (lda,n)\nx : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nbeta : input float, optional\n Default: 0.0\ny : input rank-1 array('f') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\n\nReturns\n-------\nyout : rank-1 array('f') with bounds (ly) and y storage\n" - ... - -def sgemm(alpha, a, b, beta=..., c=..., trans_a=..., trans_b=..., overwrite_c=...) -> typing.Any: - "c = sgemm(alpha,a,b,[beta,c,trans_a,trans_b,overwrite_c])\n\nWrapper for ``sgemm``.\n\nParameters\n----------\nalpha : input float\na : input rank-2 array('f') with bounds (lda,ka)\nb : input rank-2 array('f') with bounds (ldb,kb)\n\nOther Parameters\n----------------\nbeta : input float, optional\n Default: 0.0\nc : input rank-2 array('f') with bounds (m,n)\noverwrite_c : input int, optional\n Default: 0\ntrans_a : input int, optional\n Default: 0\ntrans_b : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('f') with bounds (m,n)\n" - ... - -def sgemv(alpha, a, x, beta=..., y=..., offx=..., incx=..., offy=..., incy=..., trans=..., overwrite_y=...) -> typing.Any: - "y = sgemv(alpha,a,x,[beta,y,offx,incx,offy,incy,trans,overwrite_y])\n\nWrapper for ``sgemv``.\n\nParameters\n----------\nalpha : input float\na : input rank-2 array('f') with bounds (m,n)\nx : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\nbeta : input float, optional\n Default: 0.0\ny : input rank-1 array('f') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\ntrans : input int, optional\n Default: 0\n\nReturns\n-------\ny : rank-1 array('f') with bounds (ly)\n" - ... - -def sger(alpha, x, y, incx=..., incy=..., a=..., overwrite_x=..., overwrite_y=..., overwrite_a=...) -> typing.Any: - "a = sger(alpha,x,y,[incx,incy,a,overwrite_x,overwrite_y,overwrite_a])\n\nWrapper for ``sger``.\n\nParameters\n----------\nalpha : input float\nx : input rank-1 array('f') with bounds (m)\ny : input rank-1 array('f') with bounds (n)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 1\nincx : input int, optional\n Default: 1\noverwrite_y : input int, optional\n Default: 1\nincy : input int, optional\n Default: 1\na : input rank-2 array('f') with bounds (m,n), optional\n Default: 0.0\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('f') with bounds (m,n)\n" - ... - -def snrm2(x, n=..., offx=..., incx=...) -> typing.Any: - "n2 = snrm2(x,[n,offx,incx])\n\nWrapper for ``snrm2``.\n\nParameters\n----------\nx : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\nn2 : float\n" - ... - -def srot(x, y, c, s, n=..., offx=..., incx=..., offy=..., incy=..., overwrite_x=..., overwrite_y=...) -> typing.Any: - "x,y = srot(x,y,c,s,[n,offx,incx,offy,incy,overwrite_x,overwrite_y])\n\nWrapper for ``srot``.\n\nParameters\n----------\nx : input rank-1 array('f') with bounds (*)\ny : input rank-1 array('f') with bounds (*)\nc : input float\ns : input float\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-1-offx)/abs(incx)+1\noverwrite_x : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noverwrite_y : input int, optional\n Default: 0\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('f') with bounds (*)\ny : rank-1 array('f') with bounds (*)\n" - ... - -def srotg(a, b) -> typing.Any: - 'c,s = srotg(a,b)\n\nWrapper for ``srotg``.\n\nParameters\n----------\na : input float\nb : input float\n\nReturns\n-------\nc : float\ns : float\n' - ... - -def srotm(x, y, param, n=..., offx=..., incx=..., offy=..., incy=..., overwrite_x=..., overwrite_y=...) -> typing.Any: - "x,y = srotm(x,y,param,[n,offx,incx,offy,incy,overwrite_x,overwrite_y])\n\nWrapper for ``srotm``.\n\nParameters\n----------\nx : input rank-1 array('f') with bounds (*)\ny : input rank-1 array('f') with bounds (*)\nparam : input rank-1 array('f') with bounds (5)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noverwrite_x : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noverwrite_y : input int, optional\n Default: 0\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('f') with bounds (*)\ny : rank-1 array('f') with bounds (*)\n" - ... - -def srotmg(d1, d2, x1, y1) -> typing.Any: - "param = srotmg(d1,d2,x1,y1)\n\nWrapper for ``srotmg``.\n\nParameters\n----------\nd1 : input float\nd2 : input float\nx1 : input float\ny1 : input float\n\nReturns\n-------\nparam : rank-1 array('f') with bounds (5)\n" - ... - -def ssbmv(k, alpha, a, x, incx=..., offx=..., beta=..., y=..., incy=..., offy=..., lower=..., overwrite_y=...) -> typing.Any: - "yout = ssbmv(k,alpha,a,x,[incx,offx,beta,y,incy,offy,lower,overwrite_y])\n\nWrapper for ``ssbmv``.\n\nParameters\n----------\nk : input int\nalpha : input float\na : input rank-2 array('f') with bounds (lda,n)\nx : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nbeta : input float, optional\n Default: 0.0\ny : input rank-1 array('f') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nyout : rank-1 array('f') with bounds (ly) and y storage\n" - ... - -def sscal(a, x, n=..., offx=..., incx=...) -> typing.Any: - "x = sscal(a,x,[n,offx,incx])\n\nWrapper for ``sscal``.\n\nParameters\n----------\na : input float\nx : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('f') with bounds (*)\n" - ... - -def sspmv(n, alpha, ap, x, incx=..., offx=..., beta=..., y=..., incy=..., offy=..., lower=..., overwrite_y=...) -> typing.Any: - "yout = sspmv(n,alpha,ap,x,[incx,offx,beta,y,incy,offy,lower,overwrite_y])\n\nWrapper for ``sspmv``.\n\nParameters\n----------\nn : input int\nalpha : input float\nap : input rank-1 array('f') with bounds (*)\nx : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nbeta : input float, optional\n Default: 0.0\ny : input rank-1 array('f') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nyout : rank-1 array('f') with bounds (ly) and y storage\n" - ... - -def sspr(n, alpha, x, ap, incx=..., offx=..., lower=..., overwrite_ap=...) -> typing.Any: - "apu = sspr(n,alpha,x,ap,[incx,offx,lower,overwrite_ap])\n\nWrapper for ``sspr``.\n\nParameters\n----------\nn : input int\nalpha : input float\nx : input rank-1 array('f') with bounds (*)\nap : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\noverwrite_ap : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\napu : rank-1 array('f') with bounds (*) and ap storage\n" - ... - -def sspr2(n, alpha, x, y, ap, incx=..., offx=..., incy=..., offy=..., lower=..., overwrite_ap=...) -> typing.Any: - "apu = sspr2(n,alpha,x,y,ap,[incx,offx,incy,offy,lower,overwrite_ap])\n\nWrapper for ``sspr2``.\n\nParameters\n----------\nn : input int\nalpha : input float\nx : input rank-1 array('f') with bounds (*)\ny : input rank-1 array('f') with bounds (*)\nap : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\noverwrite_ap : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\napu : rank-1 array('f') with bounds (*) and ap storage\n" - ... - -def sswap(x, y, n=..., offx=..., incx=..., offy=..., incy=...) -> typing.Any: - "x,y = sswap(x,y,[n,offx,incx,offy,incy])\n\nWrapper for ``sswap``.\n\nParameters\n----------\nx : input rank-1 array('f') with bounds (*)\ny : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('f') with bounds (*)\ny : rank-1 array('f') with bounds (*)\n" - ... - -def ssymm(alpha, a, b, beta=..., c=..., side=..., lower=..., overwrite_c=...) -> typing.Any: - "c = ssymm(alpha,a,b,[beta,c,side,lower,overwrite_c])\n\nWrapper for ``ssymm``.\n\nParameters\n----------\nalpha : input float\na : input rank-2 array('f') with bounds (lda,ka)\nb : input rank-2 array('f') with bounds (ldb,kb)\n\nOther Parameters\n----------------\nbeta : input float, optional\n Default: 0.0\nc : input rank-2 array('f') with bounds (m,n)\noverwrite_c : input int, optional\n Default: 0\nside : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('f') with bounds (m,n)\n" - ... - -def ssymv(alpha, a, x, beta=..., y=..., offx=..., incx=..., offy=..., incy=..., lower=..., overwrite_y=...) -> typing.Any: - "y = ssymv(alpha,a,x,[beta,y,offx,incx,offy,incy,lower,overwrite_y])\n\nWrapper for ``ssymv``.\n\nParameters\n----------\nalpha : input float\na : input rank-2 array('f') with bounds (n,n)\nx : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\nbeta : input float, optional\n Default: 0.0\ny : input rank-1 array('f') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\n\nReturns\n-------\ny : rank-1 array('f') with bounds (ly)\n" - ... - -def ssyr(alpha, x, lower=..., incx=..., offx=..., n=..., a=..., overwrite_a=...) -> typing.Any: - "a = ssyr(alpha,x,[lower,incx,offx,n,a,overwrite_a])\n\nWrapper for ``ssyr``.\n\nParameters\n----------\nalpha : input float\nx : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nn : input int, optional\n Default: (len(x)-1-offx)/abs(incx)+1\na : input rank-2 array('f') with bounds (n,n)\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('f') with bounds (n,n)\n" - ... - -def ssyr2(alpha, x, y, lower=..., incx=..., offx=..., incy=..., offy=..., n=..., a=..., overwrite_a=...) -> typing.Any: - "a = ssyr2(alpha,x,y,[lower,incx,offx,incy,offy,n,a,overwrite_a])\n\nWrapper for ``ssyr2``.\n\nParameters\n----------\nalpha : input float\nx : input rank-1 array('f') with bounds (*)\ny : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nn : input int, optional\n Default: ((len(x)-1-offx)/abs(incx)+1 <=(len(y)-1-offy)/abs(incy)+1 ?(len(x)-1-offx)/abs(incx)+1 :(len(y)-1-offy)/abs(incy)+1)\na : input rank-2 array('f') with bounds (n,n)\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('f') with bounds (n,n)\n" - ... - -def ssyr2k(alpha, a, b, beta=..., c=..., trans=..., lower=..., overwrite_c=...) -> typing.Any: - "c = ssyr2k(alpha,a,b,[beta,c,trans,lower,overwrite_c])\n\nWrapper for ``ssyr2k``.\n\nParameters\n----------\nalpha : input float\na : input rank-2 array('f') with bounds (lda,ka)\nb : input rank-2 array('f') with bounds (ldb,kb)\n\nOther Parameters\n----------------\nbeta : input float, optional\n Default: 0.0\nc : input rank-2 array('f') with bounds (n,n)\noverwrite_c : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('f') with bounds (n,n)\n" - ... - -def ssyrk(alpha, a, beta=..., c=..., trans=..., lower=..., overwrite_c=...) -> typing.Any: - "c = ssyrk(alpha,a,[beta,c,trans,lower,overwrite_c])\n\nWrapper for ``ssyrk``.\n\nParameters\n----------\nalpha : input float\na : input rank-2 array('f') with bounds (lda,ka)\n\nOther Parameters\n----------------\nbeta : input float, optional\n Default: 0.0\nc : input rank-2 array('f') with bounds (n,n)\noverwrite_c : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('f') with bounds (n,n)\n" - ... - -def stbmv(k, a, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = stbmv(k,a,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``stbmv``.\n\nParameters\n----------\nk : input int\na : input rank-2 array('f') with bounds (lda,n)\nx : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('f') with bounds (*) and x storage\n" - ... - -def stbsv(k, a, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = stbsv(k,a,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``stbsv``.\n\nParameters\n----------\nk : input int\na : input rank-2 array('f') with bounds (lda,n)\nx : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('f') with bounds (*) and x storage\n" - ... - -def stpmv(n, ap, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = stpmv(n,ap,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``stpmv``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('f') with bounds (*)\nx : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('f') with bounds (*) and x storage\n" - ... - -def stpsv(n, ap, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = stpsv(n,ap,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``stpsv``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('f') with bounds (*)\nx : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('f') with bounds (*) and x storage\n" - ... - -def strmm(alpha, a, b, side=..., lower=..., trans_a=..., diag=..., overwrite_b=...) -> typing.Any: - "b = strmm(alpha,a,b,[side,lower,trans_a,diag,overwrite_b])\n\nWrapper for ``strmm``.\n\nParameters\n----------\nalpha : input float\na : input rank-2 array('f') with bounds (lda,k)\nb : input rank-2 array('f') with bounds (ldb,n)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\nside : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans_a : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nb : rank-2 array('f') with bounds (ldb,n)\n" - ... - -def strmv(a, x, offx=..., incx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "x = strmv(a,x,[offx,incx,lower,trans,diag,overwrite_x])\n\nWrapper for ``strmv``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\nx : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-1 array('f') with bounds (*)\n" - ... - -def strsm(alpha, a, b, side=..., lower=..., trans_a=..., diag=..., overwrite_b=...) -> typing.Any: - "x = strsm(alpha,a,b,[side,lower,trans_a,diag,overwrite_b])\n\nWrapper for ``strsm``.\n\nParameters\n----------\nalpha : input float\na : input rank-2 array('f') with bounds (lda,*)\nb : input rank-2 array('f') with bounds (ldb,n)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\nside : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans_a : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('f') with bounds (ldb,n) and b storage\n" - ... - -def strsv(a, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = strsv(a,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``strsv``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\nx : input rank-1 array('f') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('f') with bounds (*) and x storage\n" - ... - -def zaxpy(x, y, n=..., a=..., offx=..., incx=..., offy=..., incy=...) -> typing.Any: - "z = zaxpy(x,y,[n,a,offx,incx,offy,incy])\n\nWrapper for ``zaxpy``.\n\nParameters\n----------\nx : input rank-1 array('D') with bounds (*)\ny : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\na : input complex, optional\n Default: (1.0, 0.0)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nz : rank-1 array('D') with bounds (*) and y storage\n" - ... - -def zcopy(x, y, n=..., offx=..., incx=..., offy=..., incy=...) -> typing.Any: - "y = zcopy(x,y,[n,offx,incx,offy,incy])\n\nWrapper for ``zcopy``.\n\nParameters\n----------\nx : input rank-1 array('D') with bounds (*)\ny : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\ny : rank-1 array('D') with bounds (*)\n" - ... - -def zdotc(x, y, n=..., offx=..., incx=..., offy=..., incy=...) -> typing.Any: - "xy = zdotc(x,y,[n,offx,incx,offy,incy])\n\nWrapper for ``zdotc``.\n\nParameters\n----------\nx : input rank-1 array('D') with bounds (*)\ny : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nxy : complex\n" - ... - -def zdotu(x, y, n=..., offx=..., incx=..., offy=..., incy=...) -> typing.Any: - "xy = zdotu(x,y,[n,offx,incx,offy,incy])\n\nWrapper for ``zdotu``.\n\nParameters\n----------\nx : input rank-1 array('D') with bounds (*)\ny : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nxy : complex\n" - ... - -def zdrot(x, y, c, s, n=..., offx=..., incx=..., offy=..., incy=..., overwrite_x=..., overwrite_y=...) -> typing.Any: - "x,y = zdrot(x,y,c,s,[n,offx,incx,offy,incy,overwrite_x,overwrite_y])\n\nWrapper for ``zdrot``.\n\nParameters\n----------\nx : input rank-1 array('D') with bounds (*)\ny : input rank-1 array('D') with bounds (*)\nc : input float\ns : input float\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-1-offx)/abs(incx)+1\noverwrite_x : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noverwrite_y : input int, optional\n Default: 0\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('D') with bounds (*)\ny : rank-1 array('D') with bounds (*)\n" - ... - -def zdscal(a, x, n=..., offx=..., incx=..., overwrite_x=...) -> typing.Any: - "x = zdscal(a,x,[n,offx,incx,overwrite_x])\n\nWrapper for ``zdscal``.\n\nParameters\n----------\na : input float\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noverwrite_x : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('D') with bounds (*)\n" - ... - -def zgbmv(m, n, kl, ku, alpha, a, x, incx=..., offx=..., beta=..., y=..., incy=..., offy=..., trans=..., overwrite_y=...) -> typing.Any: - "yout = zgbmv(m,n,kl,ku,alpha,a,x,[incx,offx,beta,y,incy,offy,trans,overwrite_y])\n\nWrapper for ``zgbmv``.\n\nParameters\n----------\nm : input int\nn : input int\nkl : input int\nku : input int\nalpha : input complex\na : input rank-2 array('D') with bounds (lda,n)\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nbeta : input complex, optional\n Default: (0.0, 0.0)\ny : input rank-1 array('D') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\n\nReturns\n-------\nyout : rank-1 array('D') with bounds (ly) and y storage\n" - ... - -def zgemm(alpha, a, b, beta=..., c=..., trans_a=..., trans_b=..., overwrite_c=...) -> typing.Any: - "c = zgemm(alpha,a,b,[beta,c,trans_a,trans_b,overwrite_c])\n\nWrapper for ``zgemm``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('D') with bounds (lda,ka)\nb : input rank-2 array('D') with bounds (ldb,kb)\n\nOther Parameters\n----------------\nbeta : input complex, optional\n Default: (0.0, 0.0)\nc : input rank-2 array('D') with bounds (m,n)\noverwrite_c : input int, optional\n Default: 0\ntrans_a : input int, optional\n Default: 0\ntrans_b : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('D') with bounds (m,n)\n" - ... - -def zgemv(alpha, a, x, beta=..., y=..., offx=..., incx=..., offy=..., incy=..., trans=..., overwrite_y=...) -> typing.Any: - "y = zgemv(alpha,a,x,[beta,y,offx,incx,offy,incy,trans,overwrite_y])\n\nWrapper for ``zgemv``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('D') with bounds (m,n)\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nbeta : input complex, optional\n Default: (0.0, 0.0)\ny : input rank-1 array('D') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\ntrans : input int, optional\n Default: 0\n\nReturns\n-------\ny : rank-1 array('D') with bounds (ly)\n" - ... - -def zgerc(alpha, x, y, incx=..., incy=..., a=..., overwrite_x=..., overwrite_y=..., overwrite_a=...) -> typing.Any: - "a = zgerc(alpha,x,y,[incx,incy,a,overwrite_x,overwrite_y,overwrite_a])\n\nWrapper for ``zgerc``.\n\nParameters\n----------\nalpha : input complex\nx : input rank-1 array('D') with bounds (m)\ny : input rank-1 array('D') with bounds (n)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 1\nincx : input int, optional\n Default: 1\noverwrite_y : input int, optional\n Default: 1\nincy : input int, optional\n Default: 1\na : input rank-2 array('D') with bounds (m,n), optional\n Default: (0.0,0.0)\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('D') with bounds (m,n)\n" - ... - -def zgeru(alpha, x, y, incx=..., incy=..., a=..., overwrite_x=..., overwrite_y=..., overwrite_a=...) -> typing.Any: - "a = zgeru(alpha,x,y,[incx,incy,a,overwrite_x,overwrite_y,overwrite_a])\n\nWrapper for ``zgeru``.\n\nParameters\n----------\nalpha : input complex\nx : input rank-1 array('D') with bounds (m)\ny : input rank-1 array('D') with bounds (n)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 1\nincx : input int, optional\n Default: 1\noverwrite_y : input int, optional\n Default: 1\nincy : input int, optional\n Default: 1\na : input rank-2 array('D') with bounds (m,n), optional\n Default: (0.0,0.0)\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('D') with bounds (m,n)\n" - ... - -def zhbmv(k, alpha, a, x, incx=..., offx=..., beta=..., y=..., incy=..., offy=..., lower=..., overwrite_y=...) -> typing.Any: - "yout = zhbmv(k,alpha,a,x,[incx,offx,beta,y,incy,offy,lower,overwrite_y])\n\nWrapper for ``zhbmv``.\n\nParameters\n----------\nk : input int\nalpha : input complex\na : input rank-2 array('D') with bounds (lda,n)\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nbeta : input complex, optional\n Default: (0.0, 0.0)\ny : input rank-1 array('D') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nyout : rank-1 array('D') with bounds (ly) and y storage\n" - ... - -def zhemm(alpha, a, b, beta=..., c=..., side=..., lower=..., overwrite_c=...) -> typing.Any: - "c = zhemm(alpha,a,b,[beta,c,side,lower,overwrite_c])\n\nWrapper for ``zhemm``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('D') with bounds (lda,ka)\nb : input rank-2 array('D') with bounds (ldb,kb)\n\nOther Parameters\n----------------\nbeta : input complex, optional\n Default: (0.0, 0.0)\nc : input rank-2 array('D') with bounds (m,n)\noverwrite_c : input int, optional\n Default: 0\nside : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('D') with bounds (m,n)\n" - ... - -def zhemv(alpha, a, x, beta=..., y=..., offx=..., incx=..., offy=..., incy=..., lower=..., overwrite_y=...) -> typing.Any: - "y = zhemv(alpha,a,x,[beta,y,offx,incx,offy,incy,lower,overwrite_y])\n\nWrapper for ``zhemv``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('D') with bounds (n,n)\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nbeta : input complex, optional\n Default: (0.0, 0.0)\ny : input rank-1 array('D') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\n\nReturns\n-------\ny : rank-1 array('D') with bounds (ly)\n" - ... - -def zher(alpha, x, lower=..., incx=..., offx=..., n=..., a=..., overwrite_a=...) -> typing.Any: - "a = zher(alpha,x,[lower,incx,offx,n,a,overwrite_a])\n\nWrapper for ``zher``.\n\nParameters\n----------\nalpha : input complex\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nn : input int, optional\n Default: (len(x)-1-offx)/abs(incx)+1\na : input rank-2 array('D') with bounds (n,n)\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('D') with bounds (n,n)\n" - ... - -def zher2(alpha, x, y, lower=..., incx=..., offx=..., incy=..., offy=..., n=..., a=..., overwrite_a=...) -> typing.Any: - "a = zher2(alpha,x,y,[lower,incx,offx,incy,offy,n,a,overwrite_a])\n\nWrapper for ``zher2``.\n\nParameters\n----------\nalpha : input complex\nx : input rank-1 array('D') with bounds (*)\ny : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nn : input int, optional\n Default: ((len(x)-1-offx)/abs(incx)+1 <=(len(y)-1-offy)/abs(incy)+1 ?(len(x)-1-offx)/abs(incx)+1 :(len(y)-1-offy)/abs(incy)+1)\na : input rank-2 array('D') with bounds (n,n)\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('D') with bounds (n,n)\n" - ... - -def zher2k(alpha, a, b, beta=..., c=..., trans=..., lower=..., overwrite_c=...) -> typing.Any: - "c = zher2k(alpha,a,b,[beta,c,trans,lower,overwrite_c])\n\nWrapper for ``zher2k``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('D') with bounds (lda,ka)\nb : input rank-2 array('D') with bounds (ldb,kb)\n\nOther Parameters\n----------------\nbeta : input complex, optional\n Default: (0.0, 0.0)\nc : input rank-2 array('D') with bounds (n,n)\noverwrite_c : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('D') with bounds (n,n)\n" - ... - -def zherk(alpha, a, beta=..., c=..., trans=..., lower=..., overwrite_c=...) -> typing.Any: - "c = zherk(alpha,a,[beta,c,trans,lower,overwrite_c])\n\nWrapper for ``zherk``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('D') with bounds (lda,ka)\n\nOther Parameters\n----------------\nbeta : input complex, optional\n Default: (0.0, 0.0)\nc : input rank-2 array('D') with bounds (n,n)\noverwrite_c : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('D') with bounds (n,n)\n" - ... - -def zhpmv(n, alpha, ap, x, incx=..., offx=..., beta=..., y=..., incy=..., offy=..., lower=..., overwrite_y=...) -> typing.Any: - "yout = zhpmv(n,alpha,ap,x,[incx,offx,beta,y,incy,offy,lower,overwrite_y])\n\nWrapper for ``zhpmv``.\n\nParameters\n----------\nn : input int\nalpha : input complex\nap : input rank-1 array('D') with bounds (*)\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nbeta : input complex, optional\n Default: (0.0, 0.0)\ny : input rank-1 array('D') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nyout : rank-1 array('D') with bounds (ly) and y storage\n" - ... - -def zhpr(n, alpha, x, ap, incx=..., offx=..., lower=..., overwrite_ap=...) -> typing.Any: - "apu = zhpr(n,alpha,x,ap,[incx,offx,lower,overwrite_ap])\n\nWrapper for ``zhpr``.\n\nParameters\n----------\nn : input int\nalpha : input float\nx : input rank-1 array('D') with bounds (*)\nap : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\noverwrite_ap : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\napu : rank-1 array('D') with bounds (*) and ap storage\n" - ... - -def zhpr2(n, alpha, x, y, ap, incx=..., offx=..., incy=..., offy=..., lower=..., overwrite_ap=...) -> typing.Any: - "apu = zhpr2(n,alpha,x,y,ap,[incx,offx,incy,offy,lower,overwrite_ap])\n\nWrapper for ``zhpr2``.\n\nParameters\n----------\nn : input int\nalpha : input complex\nx : input rank-1 array('D') with bounds (*)\ny : input rank-1 array('D') with bounds (*)\nap : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\noverwrite_ap : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\napu : rank-1 array('D') with bounds (*) and ap storage\n" - ... - -def zrotg(a, b) -> typing.Any: - 'c,s = zrotg(a,b)\n\nWrapper for ``zrotg``.\n\nParameters\n----------\na : input complex\nb : input complex\n\nReturns\n-------\nc : complex\ns : complex\n' - ... - -def zscal(a, x, n=..., offx=..., incx=...) -> typing.Any: - "x = zscal(a,x,[n,offx,incx])\n\nWrapper for ``zscal``.\n\nParameters\n----------\na : input complex\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('D') with bounds (*)\n" - ... - -def zspmv(n, alpha, ap, x, incx=..., offx=..., beta=..., y=..., incy=..., offy=..., lower=..., overwrite_y=...) -> typing.Any: - "yout = zspmv(n,alpha,ap,x,[incx,offx,beta,y,incy,offy,lower,overwrite_y])\n\nWrapper for ``zspmv``.\n\nParameters\n----------\nn : input int\nalpha : input complex\nap : input rank-1 array('D') with bounds (*)\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nbeta : input complex, optional\n Default: (0.0, 0.0)\ny : input rank-1 array('D') with bounds (ly)\noverwrite_y : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nyout : rank-1 array('D') with bounds (ly) and y storage\n" - ... - -def zspr(n, alpha, x, ap, incx=..., offx=..., lower=..., overwrite_ap=...) -> typing.Any: - "apu = zspr(n,alpha,x,ap,[incx,offx,lower,overwrite_ap])\n\nWrapper for ``zspr``.\n\nParameters\n----------\nn : input int\nalpha : input complex\nx : input rank-1 array('D') with bounds (*)\nap : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\noverwrite_ap : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\napu : rank-1 array('D') with bounds (*) and ap storage\n" - ... - -def zswap(x, y, n=..., offx=..., incx=..., offy=..., incy=...) -> typing.Any: - "x,y = zswap(x,y,[n,offx,incx,offy,incy])\n\nWrapper for ``zswap``.\n\nParameters\n----------\nx : input rank-1 array('D') with bounds (*)\ny : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (len(x)-offx)/abs(incx)\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('D') with bounds (*)\ny : rank-1 array('D') with bounds (*)\n" - ... - -def zsymm(alpha, a, b, beta=..., c=..., side=..., lower=..., overwrite_c=...) -> typing.Any: - "c = zsymm(alpha,a,b,[beta,c,side,lower,overwrite_c])\n\nWrapper for ``zsymm``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('D') with bounds (lda,ka)\nb : input rank-2 array('D') with bounds (ldb,kb)\n\nOther Parameters\n----------------\nbeta : input complex, optional\n Default: (0.0, 0.0)\nc : input rank-2 array('D') with bounds (m,n)\noverwrite_c : input int, optional\n Default: 0\nside : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('D') with bounds (m,n)\n" - ... - -def zsyr(alpha, x, lower=..., incx=..., offx=..., n=..., a=..., overwrite_a=...) -> typing.Any: - "a = zsyr(alpha,x,[lower,incx,offx,n,a,overwrite_a])\n\nWrapper for ``zsyr``.\n\nParameters\n----------\nalpha : input complex\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nn : input int, optional\n Default: (len(x)-1-offx)/abs(incx)+1\na : input rank-2 array('D') with bounds (n,n)\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('D') with bounds (n,n)\n" - ... - -def zsyr2k(alpha, a, b, beta=..., c=..., trans=..., lower=..., overwrite_c=...) -> typing.Any: - "c = zsyr2k(alpha,a,b,[beta,c,trans,lower,overwrite_c])\n\nWrapper for ``zsyr2k``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('D') with bounds (lda,ka)\nb : input rank-2 array('D') with bounds (ldb,kb)\n\nOther Parameters\n----------------\nbeta : input complex, optional\n Default: (0.0, 0.0)\nc : input rank-2 array('D') with bounds (n,n)\noverwrite_c : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('D') with bounds (n,n)\n" - ... - -def zsyrk(alpha, a, beta=..., c=..., trans=..., lower=..., overwrite_c=...) -> typing.Any: - "c = zsyrk(alpha,a,[beta,c,trans,lower,overwrite_c])\n\nWrapper for ``zsyrk``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('D') with bounds (lda,ka)\n\nOther Parameters\n----------------\nbeta : input complex, optional\n Default: (0.0, 0.0)\nc : input rank-2 array('D') with bounds (n,n)\noverwrite_c : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('D') with bounds (n,n)\n" - ... - -def ztbmv(k, a, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = ztbmv(k,a,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``ztbmv``.\n\nParameters\n----------\nk : input int\na : input rank-2 array('D') with bounds (lda,n)\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('D') with bounds (*) and x storage\n" - ... - -def ztbsv(k, a, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = ztbsv(k,a,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``ztbsv``.\n\nParameters\n----------\nk : input int\na : input rank-2 array('D') with bounds (lda,n)\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('D') with bounds (*) and x storage\n" - ... - -def ztpmv(n, ap, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = ztpmv(n,ap,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``ztpmv``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('D') with bounds (*)\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('D') with bounds (*) and x storage\n" - ... - -def ztpsv(n, ap, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = ztpsv(n,ap,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``ztpsv``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('D') with bounds (*)\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('D') with bounds (*) and x storage\n" - ... - -def ztrmm(alpha, a, b, side=..., lower=..., trans_a=..., diag=..., overwrite_b=...) -> typing.Any: - "b = ztrmm(alpha,a,b,[side,lower,trans_a,diag,overwrite_b])\n\nWrapper for ``ztrmm``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('D') with bounds (lda,k)\nb : input rank-2 array('D') with bounds (ldb,n)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\nside : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans_a : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nb : rank-2 array('D') with bounds (ldb,n)\n" - ... - -def ztrmv(a, x, offx=..., incx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "x = ztrmv(a,x,[offx,incx,lower,trans,diag,overwrite_x])\n\nWrapper for ``ztrmv``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-1 array('D') with bounds (*)\n" - ... - -def ztrsm(alpha, a, b, side=..., lower=..., trans_a=..., diag=..., overwrite_b=...) -> typing.Any: - "x = ztrsm(alpha,a,b,[side,lower,trans_a,diag,overwrite_b])\n\nWrapper for ``ztrsm``.\n\nParameters\n----------\nalpha : input complex\na : input rank-2 array('D') with bounds (lda,*)\nb : input rank-2 array('D') with bounds (ldb,n)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\nside : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans_a : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('D') with bounds (ldb,n) and b storage\n" - ... - -def ztrsv(a, x, incx=..., offx=..., lower=..., trans=..., diag=..., overwrite_x=...) -> typing.Any: - "xout = ztrsv(a,x,[incx,offx,lower,trans,diag,overwrite_x])\n\nWrapper for ``ztrsv``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nx : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noffx : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\ndiag : input int, optional\n Default: 0\n\nReturns\n-------\nxout : rank-1 array('D') with bounds (*) and x storage\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_flapack.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_flapack.pyi deleted file mode 100644 index 6eb754ef..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_flapack.pyi +++ /dev/null @@ -1,2298 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.linalg._flapack, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def cgbsv(kl, ku, ab, b, overwrite_ab=..., overwrite_b=...) -> typing.Any: - "lub,piv,x,info = cgbsv(kl,ku,ab,b,[overwrite_ab,overwrite_b])\n\nWrapper for ``cgbsv``.\n\nParameters\n----------\nkl : input int\nku : input int\nab : input rank-2 array('F') with bounds (2*kl+ku+1,n)\nb : input rank-2 array('F') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_ab : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nlub : rank-2 array('F') with bounds (2*kl+ku+1,n) and ab storage\npiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('F') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def cgbtrf(ab, kl, ku, m=..., n=..., ldab=..., overwrite_ab=...) -> typing.Any: - "lu,ipiv,info = cgbtrf(ab,kl,ku,[m,n,ldab,overwrite_ab])\n\nWrapper for ``cgbtrf``.\n\nParameters\n----------\nab : input rank-2 array('F') with bounds (ldab,n)\nkl : input int\nku : input int\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(ab,1)\nn : input int, optional\n Default: shape(ab,1)\noverwrite_ab : input int, optional\n Default: 0\nldab : input int, optional\n Default: max(shape(ab,0),1)\n\nReturns\n-------\nlu : rank-2 array('F') with bounds (ldab,n) and ab storage\nipiv : rank-1 array('i') with bounds (MIN(m,n))\ninfo : int\n" - ... - -def cgbtrs(ab, kl, ku, b, ipiv, trans=..., n=..., ldab=..., ldb=..., overwrite_b=...) -> typing.Any: - "x,info = cgbtrs(ab,kl,ku,b,ipiv,[trans,n,ldab,ldb,overwrite_b])\n\nWrapper for ``cgbtrs``.\n\nParameters\n----------\nab : input rank-2 array('F') with bounds (ldab,n)\nkl : input int\nku : input int\nb : input rank-2 array('F') with bounds (ldb,nrhs)\nipiv : input rank-1 array('i') with bounds (n)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nn : input int, optional\n Default: shape(ab,1)\nldab : input int, optional\n Default: shape(ab,0)\nldb : input int, optional\n Default: shape(b,0)\n\nReturns\n-------\nx : rank-2 array('F') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def cgebal(a, scale=..., permute=..., overwrite_a=...) -> typing.Any: - "ba,lo,hi,pivscale,info = cgebal(a,[scale,permute,overwrite_a])\n\nWrapper for ``cgebal``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\n\nOther Parameters\n----------------\nscale : input int, optional\n Default: 0\npermute : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nba : rank-2 array('F') with bounds (m,n) and a storage\nlo : int\nhi : int\npivscale : rank-1 array('f') with bounds (n)\ninfo : int\n" - ... - -def cgecon(a, anorm, norm=...) -> typing.Any: - "rcond,info = cgecon(a,anorm,[norm])\n\nWrapper for ``cgecon``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nanorm : input float\n\nOther Parameters\n----------------\nnorm : input string(len=1), optional\n Default: '1'\n\nReturns\n-------\nrcond : float\ninfo : int\n" - ... - -def cgeequ(a) -> typing.Any: - "r,c,rowcnd,colcnd,amax,info = cgeequ(a)\n\nWrapper for ``cgeequ``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\n\nReturns\n-------\nr : rank-1 array('f') with bounds (m)\nc : rank-1 array('f') with bounds (n)\nrowcnd : float\ncolcnd : float\namax : float\ninfo : int\n" - ... - -def cgeequb(a) -> typing.Any: - "r,c,rowcnd,colcnd,amax,info = cgeequb(a)\n\nWrapper for ``cgeequb``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\n\nReturns\n-------\nr : rank-1 array('f') with bounds (m)\nc : rank-1 array('f') with bounds (n)\nrowcnd : float\ncolcnd : float\namax : float\ninfo : int\n" - ... - -def cgees(cselect, a, compute_v=..., sort_t=..., lwork=..., cselect_extra_args=..., overwrite_a=...) -> typing.Any: - "t,sdim,w,vs,work,info = cgees(cselect,a,[compute_v,sort_t,lwork,cselect_extra_args,overwrite_a])\n\nWrapper for ``cgees``.\n\nParameters\n----------\ncselect : call-back function\na : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default: 1\nsort_t : input int, optional\n Default: 0\ncselect_extra_args : input tuple, optional\n Default: ()\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\n\nReturns\n-------\nt : rank-2 array('F') with bounds (n,n) and a storage\nsdim : int\nw : rank-1 array('F') with bounds (n)\nvs : rank-2 array('F') with bounds (ldvs,n)\nwork : rank-1 array('F') with bounds (MAX(lwork,1))\ninfo : int\n\nNotes\n-----\nCall-back functions::\n\n def cselect(arg): return cselect\n Required arguments:\n arg : input complex\n Return objects:\n cselect : int\n" - ... - -def cgeev(a, compute_vl=..., compute_vr=..., lwork=..., overwrite_a=...) -> typing.Any: - "w,vl,vr,info = cgeev(a,[compute_vl,compute_vr,lwork,overwrite_a])\n\nWrapper for ``cgeev``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_vl : input int, optional\n Default: 1\ncompute_vr : input int, optional\n Default: 1\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(2*n,1)\n\nReturns\n-------\nw : rank-1 array('F') with bounds (n)\nvl : rank-2 array('F') with bounds (ldvl,n)\nvr : rank-2 array('F') with bounds (ldvr,n)\ninfo : int\n" - ... - -def cgeev_lwork(n, compute_vl=..., compute_vr=...) -> typing.Any: - 'work,info = cgeev_lwork(n,[compute_vl,compute_vr])\n\nWrapper for ``cgeev_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\ncompute_vl : input int, optional\n Default: 1\ncompute_vr : input int, optional\n Default: 1\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def cgegv(*args, **kwds) -> typing.Any: - "`cgegv` is deprecated!\nThe `*gegv` family of routines has been deprecated in\nLAPACK 3.6.0 in favor of the `*ggev` family of routines.\nThe corresponding wrappers will be removed from SciPy in\na future release.\n\nalpha,beta,vl,vr,info = cgegv(a,b,[compute_vl,compute_vr,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``cgegv``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nb : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_vl : input int, optional\n Default: 1\ncompute_vr : input int, optional\n Default: 1\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(2*n,1)\n\nReturns\n-------\nalpha : rank-1 array('F') with bounds (n)\nbeta : rank-1 array('F') with bounds (n)\nvl : rank-2 array('F') with bounds (ldvl,n)\nvr : rank-2 array('F') with bounds (ldvr,n)\ninfo : int\n" - ... - -def cgehrd(a, lo=..., hi=..., lwork=..., overwrite_a=...) -> typing.Any: - "ht,tau,info = cgehrd(a,[lo,hi,lwork,overwrite_a])\n\nWrapper for ``cgehrd``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\nlo : input int, optional\n Default: 0\nhi : input int, optional\n Default: n-1\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(n,1)\n\nReturns\n-------\nht : rank-2 array('F') with bounds (n,n) and a storage\ntau : rank-1 array('F') with bounds (n - 1)\ninfo : int\n" - ... - -def cgehrd_lwork(n, lo=..., hi=...) -> typing.Any: - 'work,info = cgehrd_lwork(n,[lo,hi])\n\nWrapper for ``cgehrd_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlo : input int, optional\n Default: 0\nhi : input int, optional\n Default: n-1\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def cgels(a, b, trans=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "lqr,x,info = cgels(a,b,[trans,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``cgels``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\nb : input rank-2 array('F') with bounds (MAX(m,n),nrhs)\n\nOther Parameters\n----------------\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(MIN(m,n)+MAX(MIN(m,n),nrhs),1)\n\nReturns\n-------\nlqr : rank-2 array('F') with bounds (m,n) and a storage\nx : rank-2 array('F') with bounds (MAX(m,n),nrhs) and b storage\ninfo : int\n" - ... - -def cgels_lwork(m, n, nrhs, trans=...) -> typing.Any: - "work,info = cgels_lwork(m,n,nrhs,[trans])\n\nWrapper for ``cgels_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\nnrhs : input int\n\nOther Parameters\n----------------\ntrans : input string(len=1), optional\n Default: 'N'\n\nReturns\n-------\nwork : complex\ninfo : int\n" - ... - -def cgelsd(a, b, lwork, size_rwork, size_iwork, cond=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "x,s,rank,info = cgelsd(a,b,lwork,size_rwork,size_iwork,[cond,overwrite_a,overwrite_b])\n\nWrapper for ``cgelsd``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\nb : input rank-2 array('F') with bounds (maxmn,nrhs)\nlwork : input int\nsize_rwork : input int\nsize_iwork : input int\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\ncond : input float, optional\n Default: -1.0\n\nReturns\n-------\nx : rank-2 array('F') with bounds (maxmn,nrhs) and b storage\ns : rank-1 array('f') with bounds (minmn)\nrank : int\ninfo : int\n" - ... - -def cgelsd_lwork(m, n, nrhs, cond=..., lwork=...) -> typing.Any: - 'work,rwork,iwork,info = cgelsd_lwork(m,n,nrhs,[cond,lwork])\n\nWrapper for ``cgelsd_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\nnrhs : input int\n\nOther Parameters\n----------------\ncond : input float, optional\n Default: -1.0\nlwork : input int, optional\n Default: -1\n\nReturns\n-------\nwork : complex\nrwork : float\niwork : int\ninfo : int\n' - ... - -def cgelss(a, b, cond=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "v,x,s,rank,work,info = cgelss(a,b,[cond,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``cgelss``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\nb : input rank-2 array('F') with bounds (maxmn,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\ncond : input float, optional\n Default: -1.0\nlwork : input int, optional\n Default: max(2*minmn+MAX(maxmn,nrhs),1)\n\nReturns\n-------\nv : rank-2 array('F') with bounds (m,n) and a storage\nx : rank-2 array('F') with bounds (maxmn,nrhs) and b storage\ns : rank-1 array('f') with bounds (minmn)\nrank : int\nwork : rank-1 array('F') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def cgelss_lwork(m, n, nrhs, cond=..., lwork=...) -> typing.Any: - 'work,info = cgelss_lwork(m,n,nrhs,[cond,lwork])\n\nWrapper for ``cgelss_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\nnrhs : input int\n\nOther Parameters\n----------------\ncond : input float, optional\n Default: -1.0\nlwork : input int, optional\n Default: -1\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def cgelsy(a, b, jptv, cond, lwork, overwrite_a=..., overwrite_b=...) -> typing.Any: - "v,x,j,rank,info = cgelsy(a,b,jptv,cond,lwork,[overwrite_a,overwrite_b])\n\nWrapper for ``cgelsy``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\nb : input rank-2 array('F') with bounds (maxmn,nrhs)\njptv : input rank-1 array('i') with bounds (n)\ncond : input float\nlwork : input int\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nv : rank-2 array('F') with bounds (m,n) and a storage\nx : rank-2 array('F') with bounds (maxmn,nrhs) and b storage\nj : rank-1 array('i') with bounds (n) and jptv storage\nrank : int\ninfo : int\n" - ... - -def cgelsy_lwork(m, n, nrhs, cond, lwork=...) -> typing.Any: - 'work,info = cgelsy_lwork(m,n,nrhs,cond,[lwork])\n\nWrapper for ``cgelsy_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\nnrhs : input int\ncond : input float\n\nOther Parameters\n----------------\nlwork : input int, optional\n Default: -1\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def cgemqrt(v, t, c, side=..., trans=..., overwrite_c=...) -> typing.Any: - "c,info = cgemqrt(v,t,c,[side,trans,overwrite_c])\n\nWrapper for ``cgemqrt``.\n\nParameters\n----------\nv : input rank-2 array('F') with bounds ((side[0]=='L'?m:n),k)\nt : input rank-2 array('F') with bounds (nb,k)\nc : input rank-2 array('F') with bounds (m,n)\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('F') with bounds (m,n)\ninfo : int\n" - ... - -def cgeqp3(a, lwork=..., overwrite_a=...) -> typing.Any: - "qr,jpvt,tau,work,info = cgeqp3(a,[lwork,overwrite_a])\n\nWrapper for ``cgeqp3``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*(n+1),1)\n\nReturns\n-------\nqr : rank-2 array('F') with bounds (m,n) and a storage\njpvt : rank-1 array('i') with bounds (n)\ntau : rank-1 array('F') with bounds (MIN(m,n))\nwork : rank-1 array('F') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def cgeqrf(a, lwork=..., overwrite_a=...) -> typing.Any: - "qr,tau,work,info = cgeqrf(a,[lwork,overwrite_a])\n\nWrapper for ``cgeqrf``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\n\nReturns\n-------\nqr : rank-2 array('F') with bounds (m,n) and a storage\ntau : rank-1 array('F') with bounds (MIN(m,n))\nwork : rank-1 array('F') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def cgeqrf_lwork(m, n) -> typing.Any: - 'work,info = cgeqrf_lwork(m,n)\n\nWrapper for ``cgeqrf_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def cgeqrfp(a, lwork=..., overwrite_a=...) -> typing.Any: - "qr,tau,info = cgeqrfp(a,[lwork,overwrite_a])\n\nWrapper for ``cgeqrfp``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(1, n)\n\nReturns\n-------\nqr : rank-2 array('F') with bounds (m,n) and a storage\ntau : rank-1 array('F') with bounds (MIN(m,n))\ninfo : int\n" - ... - -def cgeqrfp_lwork(m, n) -> typing.Any: - 'work,info = cgeqrfp_lwork(m,n)\n\nWrapper for ``cgeqrfp_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def cgeqrt(nb, a, overwrite_a=...) -> typing.Any: - "a,t,info = cgeqrt(nb,a,[overwrite_a])\n\nWrapper for ``cgeqrt``.\n\nParameters\n----------\nnb : input int\na : input rank-2 array('F') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('F') with bounds (m,n)\nt : rank-2 array('F') with bounds (nb,MIN(m,n))\ninfo : int\n" - ... - -def cgerqf(a, lwork=..., overwrite_a=...) -> typing.Any: - "qr,tau,work,info = cgerqf(a,[lwork,overwrite_a])\n\nWrapper for ``cgerqf``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*m,1)\n\nReturns\n-------\nqr : rank-2 array('F') with bounds (m,n) and a storage\ntau : rank-1 array('F') with bounds (MIN(m,n))\nwork : rank-1 array('F') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def cgesc2(lu, rhs, ipiv, jpiv, overwrite_rhs=...) -> typing.Any: - "x,scale = cgesc2(lu,rhs,ipiv,jpiv,[overwrite_rhs])\n\nWrapper for ``cgesc2``.\n\nParameters\n----------\nlu : input rank-2 array('F') with bounds (n,n)\nrhs : input rank-1 array('F') with bounds (n)\nipiv : input rank-1 array('i') with bounds (n)\njpiv : input rank-1 array('i') with bounds (n)\n\nOther Parameters\n----------------\noverwrite_rhs : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-1 array('F') with bounds (n) and rhs storage\nscale : float\n" - ... - -def cgesdd(a, compute_uv=..., full_matrices=..., lwork=..., overwrite_a=...) -> typing.Any: - "u,s,vt,info = cgesdd(a,[compute_uv,full_matrices,lwork,overwrite_a])\n\nWrapper for ``cgesdd``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\ncompute_uv : input int, optional\n Default: 1\nfull_matrices : input int, optional\n Default: 1\nlwork : input int, optional\n Default: max((compute_uv?2*minmn*minmn+MAX(m,n)+2*minmn:2*minmn+MAX(m,n)),1)\n\nReturns\n-------\nu : rank-2 array('F') with bounds (u0,u1)\ns : rank-1 array('f') with bounds (minmn)\nvt : rank-2 array('F') with bounds (vt0,vt1)\ninfo : int\n" - ... - -def cgesdd_lwork(m, n, compute_uv=..., full_matrices=...) -> typing.Any: - 'work,info = cgesdd_lwork(m,n,[compute_uv,full_matrices])\n\nWrapper for ``cgesdd_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nOther Parameters\n----------------\ncompute_uv : input int, optional\n Default: 1\nfull_matrices : input int, optional\n Default: 1\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def cgesv(a, b, overwrite_a=..., overwrite_b=...) -> typing.Any: - "lu,piv,x,info = cgesv(a,b,[overwrite_a,overwrite_b])\n\nWrapper for ``cgesv``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nb : input rank-2 array('F') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nlu : rank-2 array('F') with bounds (n,n) and a storage\npiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('F') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def cgesvd(a, compute_uv=..., full_matrices=..., lwork=..., overwrite_a=...) -> typing.Any: - "u,s,vt,info = cgesvd(a,[compute_uv,full_matrices,lwork,overwrite_a])\n\nWrapper for ``cgesvd``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\ncompute_uv : input int, optional\n Default: 1\nfull_matrices : input int, optional\n Default: 1\nlwork : input int, optional\n Default: MAX(2*minmn+MAX(m,n),1)\n\nReturns\n-------\nu : rank-2 array('F') with bounds (u0,u1)\ns : rank-1 array('f') with bounds (minmn)\nvt : rank-2 array('F') with bounds (vt0,vt1)\ninfo : int\n" - ... - -def cgesvd_lwork(m, n, compute_uv=..., full_matrices=...) -> typing.Any: - 'work,info = cgesvd_lwork(m,n,[compute_uv,full_matrices])\n\nWrapper for ``cgesvd_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nOther Parameters\n----------------\ncompute_uv : input int, optional\n Default: 1\nfull_matrices : input int, optional\n Default: 1\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def cgesvx(a, b, fact=..., trans=..., af=..., ipiv=..., equed=..., r=..., c=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "as,lu,ipiv,equed,rs,cs,bs,x,rcond,ferr,berr,info = cgesvx(a,b,[fact,trans,af,ipiv,equed,r,c,overwrite_a,overwrite_b])\n\nWrapper for ``cgesvx``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nb : input rank-2 array('F') with bounds (n,nrhs)\n\nOther Parameters\n----------------\nfact : input string(len=1), optional\n Default: 'E'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_a : input int, optional\n Default: 0\naf : input rank-2 array('F') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\nequed : input string(len=1), optional\n Default: 'B'\nr : input rank-1 array('f') with bounds (n)\nc : input rank-1 array('f') with bounds (n)\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nas : rank-2 array('F') with bounds (n,n) and a storage\nlu : rank-2 array('F') with bounds (n,n) and af storage\nipiv : rank-1 array('i') with bounds (n)\nequed : string(len=1)\nrs : rank-1 array('f') with bounds (n) and r storage\ncs : rank-1 array('f') with bounds (n) and c storage\nbs : rank-2 array('F') with bounds (n,nrhs) and b storage\nx : rank-2 array('F') with bounds (n,nrhs)\nrcond : float\nferr : rank-1 array('f') with bounds (nrhs)\nberr : rank-1 array('f') with bounds (nrhs)\ninfo : int\n" - ... - -def cgetc2(a, overwrite_a=...) -> typing.Any: - "lu,ipiv,jpiv,info = cgetc2(a,[overwrite_a])\n\nWrapper for ``cgetc2``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nlu : rank-2 array('F') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\njpiv : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def cgetrf(a, overwrite_a=...) -> typing.Any: - "lu,piv,info = cgetrf(a,[overwrite_a])\n\nWrapper for ``cgetrf``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nlu : rank-2 array('F') with bounds (m,n) and a storage\npiv : rank-1 array('i') with bounds (MIN(m,n))\ninfo : int\n" - ... - -def cgetri(lu, piv, lwork=..., overwrite_lu=...) -> typing.Any: - "inv_a,info = cgetri(lu,piv,[lwork,overwrite_lu])\n\nWrapper for ``cgetri``.\n\nParameters\n----------\nlu : input rank-2 array('F') with bounds (n,n)\npiv : input rank-1 array('i') with bounds (n)\n\nOther Parameters\n----------------\noverwrite_lu : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\n\nReturns\n-------\ninv_a : rank-2 array('F') with bounds (n,n) and lu storage\ninfo : int\n" - ... - -def cgetri_lwork(n) -> typing.Any: - 'work,info = cgetri_lwork(n)\n\nWrapper for ``cgetri_lwork``.\n\nParameters\n----------\nn : input int\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def cgetrs(lu, piv, b, trans=..., overwrite_b=...) -> typing.Any: - "x,info = cgetrs(lu,piv,b,[trans,overwrite_b])\n\nWrapper for ``cgetrs``.\n\nParameters\n----------\nlu : input rank-2 array('F') with bounds (n,n)\npiv : input rank-1 array('i') with bounds (n)\nb : input rank-2 array('F') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('F') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def cgges(cselect, a, b, jobvsl=..., jobvsr=..., sort_t=..., ldvsl=..., ldvsr=..., lwork=..., cselect_extra_args=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "a,b,sdim,alpha,beta,vsl,vsr,work,info = cgges(cselect,a,b,[jobvsl,jobvsr,sort_t,ldvsl,ldvsr,lwork,cselect_extra_args,overwrite_a,overwrite_b])\n\nWrapper for ``cgges``.\n\nParameters\n----------\ncselect : call-back function\na : input rank-2 array('F') with bounds (lda,n)\nb : input rank-2 array('F') with bounds (ldb,n)\n\nOther Parameters\n----------------\njobvsl : input int, optional\n Default: 1\njobvsr : input int, optional\n Default: 1\nsort_t : input int, optional\n Default: 0\ncselect_extra_args : input tuple, optional\n Default: ()\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nldvsl : input int, optional\n Default: ((jobvsl==1)?n:1)\nldvsr : input int, optional\n Default: ((jobvsr==1)?n:1)\nlwork : input int, optional\n Default: max(2*n,1)\n\nReturns\n-------\na : rank-2 array('F') with bounds (lda,n)\nb : rank-2 array('F') with bounds (ldb,n)\nsdim : int\nalpha : rank-1 array('F') with bounds (n)\nbeta : rank-1 array('F') with bounds (n)\nvsl : rank-2 array('F') with bounds (ldvsl,n)\nvsr : rank-2 array('F') with bounds (ldvsr,n)\nwork : rank-1 array('F') with bounds (MAX(lwork,1))\ninfo : int\n\nNotes\n-----\nCall-back functions::\n\n def cselect(alpha,beta): return cselect\n Required arguments:\n alpha : input complex\n beta : input complex\n Return objects:\n cselect : int\n" - ... - -def cggev(a, b, compute_vl=..., compute_vr=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "alpha,beta,vl,vr,work,info = cggev(a,b,[compute_vl,compute_vr,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``cggev``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nb : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_vl : input int, optional\n Default: 1\ncompute_vr : input int, optional\n Default: 1\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(2*n,1)\n\nReturns\n-------\nalpha : rank-1 array('F') with bounds (n)\nbeta : rank-1 array('F') with bounds (n)\nvl : rank-2 array('F') with bounds (ldvl,n)\nvr : rank-2 array('F') with bounds (ldvr,n)\nwork : rank-1 array('F') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def cgglse(a, b, c, d, lwork=..., overwrite_a=..., overwrite_b=..., overwrite_c=..., overwrite_d=...) -> typing.Any: - "t,r,res,x,info = cgglse(a,b,c,d,[lwork,overwrite_a,overwrite_b,overwrite_c,overwrite_d])\n\nWrapper for ``cgglse``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\nb : input rank-2 array('F') with bounds (p,n)\nc : input rank-1 array('F') with bounds (m)\nd : input rank-1 array('F') with bounds (p)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\noverwrite_c : input int, optional\n Default: 0\noverwrite_d : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(m+n+p,1)\n\nReturns\n-------\nt : rank-2 array('F') with bounds (m,n) and a storage\nr : rank-2 array('F') with bounds (p,n) and b storage\nres : rank-1 array('F') with bounds (m) and c storage\nx : rank-1 array('F') with bounds (n)\ninfo : int\n" - ... - -def cgglse_lwork(m, n, p) -> typing.Any: - 'work,info = cgglse_lwork(m,n,p)\n\nWrapper for ``cgglse_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\np : input int\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def cgtsv(dl, d, du, b, overwrite_dl=..., overwrite_d=..., overwrite_du=..., overwrite_b=...) -> typing.Any: - "du2,d,du,x,info = cgtsv(dl,d,du,b,[overwrite_dl,overwrite_d,overwrite_du,overwrite_b])\n\nWrapper for ``cgtsv``.\n\nParameters\n----------\ndl : input rank-1 array('F') with bounds (n - 1)\nd : input rank-1 array('F') with bounds (n)\ndu : input rank-1 array('F') with bounds (n - 1)\nb : input rank-2 array('F') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_dl : input int, optional\n Default: 0\noverwrite_d : input int, optional\n Default: 0\noverwrite_du : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\ndu2 : rank-1 array('F') with bounds (n - 1) and dl storage\nd : rank-1 array('F') with bounds (n)\ndu : rank-1 array('F') with bounds (n - 1)\nx : rank-2 array('F') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def cgtsvx(dl, d, du, b, fact=..., trans=..., dlf=..., df=..., duf=..., du2=..., ipiv=...) -> typing.Any: - "dlf,df,duf,du2,ipiv,x,rcond,ferr,berr,info = cgtsvx(dl,d,du,b,[fact,trans,dlf,df,duf,du2,ipiv])\n\nWrapper for ``cgtsvx``.\n\nParameters\n----------\ndl : input rank-1 array('F') with bounds (MAX(0, n-1))\nd : input rank-1 array('F') with bounds (n)\ndu : input rank-1 array('F') with bounds (MAX(0, n-1))\nb : input rank-2 array('F') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nfact : input string(len=1), optional\n Default: 'N'\ntrans : input string(len=1), optional\n Default: 'N'\ndlf : input rank-1 array('F') with bounds (MAX(0,n-1))\ndf : input rank-1 array('F') with bounds (n)\nduf : input rank-1 array('F') with bounds (MAX(0,n-1))\ndu2 : input rank-1 array('F') with bounds (MAX(0,n-2))\nipiv : input rank-1 array('i') with bounds (n)\n\nReturns\n-------\ndlf : rank-1 array('F') with bounds (MAX(0,n-1))\ndf : rank-1 array('F') with bounds (n)\nduf : rank-1 array('F') with bounds (MAX(0,n-1))\ndu2 : rank-1 array('F') with bounds (MAX(0,n-2))\nipiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('F') with bounds (ldx,nrhs)\nrcond : float\nferr : rank-1 array('f') with bounds (nrhs)\nberr : rank-1 array('f') with bounds (nrhs)\ninfo : int\n" - ... - -def cgttrf(dl, d, du, overwrite_dl=..., overwrite_d=..., overwrite_du=...) -> typing.Any: - "dl,d,du,du2,ipiv,info = cgttrf(dl,d,du,[overwrite_dl,overwrite_d,overwrite_du])\n\nWrapper for ``cgttrf``.\n\nParameters\n----------\ndl : input rank-1 array('F') with bounds (n - 1)\nd : input rank-1 array('F') with bounds (n)\ndu : input rank-1 array('F') with bounds (n - 1)\n\nOther Parameters\n----------------\noverwrite_dl : input int, optional\n Default: 0\noverwrite_d : input int, optional\n Default: 0\noverwrite_du : input int, optional\n Default: 0\n\nReturns\n-------\ndl : rank-1 array('F') with bounds (n - 1)\nd : rank-1 array('F') with bounds (n)\ndu : rank-1 array('F') with bounds (n - 1)\ndu2 : rank-1 array('F') with bounds (n - 2)\nipiv : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def cgttrs(dl, d, du, du2, ipiv, b, trans=..., overwrite_b=...) -> typing.Any: - "x,info = cgttrs(dl,d,du,du2,ipiv,b,[trans,overwrite_b])\n\nWrapper for ``cgttrs``.\n\nParameters\n----------\ndl : input rank-1 array('F') with bounds (n - 1)\nd : input rank-1 array('F') with bounds (n)\ndu : input rank-1 array('F') with bounds (n - 1)\ndu2 : input rank-1 array('F') with bounds (n - 2)\nipiv : input rank-1 array('i') with bounds (n)\nb : input rank-2 array('F') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('F') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def chbevd(ab, compute_v=..., lower=..., ldab=..., lrwork=..., liwork=..., overwrite_ab=...) -> typing.Any: - "w,z,info = chbevd(ab,[compute_v,lower,ldab,lrwork,liwork,overwrite_ab])\n\nWrapper for ``chbevd``.\n\nParameters\n----------\nab : input rank-2 array('F') with bounds (ldab,n)\n\nOther Parameters\n----------------\noverwrite_ab : input int, optional\n Default: 1\ncompute_v : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\nldab : input int, optional\n Default: shape(ab,0)\nlrwork : input int, optional\n Default: (compute_v?1+5*n+2*n*n:n)\nliwork : input int, optional\n Default: (compute_v?3+5*n:1)\n\nReturns\n-------\nw : rank-1 array('f') with bounds (n)\nz : rank-2 array('F') with bounds (ldz,ldz)\ninfo : int\n" - ... - -def chbevx(ab, vl, vu, il, iu, ldab=..., compute_v=..., range=..., lower=..., abstol=..., mmax=..., overwrite_ab=...) -> typing.Any: - "w,z,m,ifail,info = chbevx(ab,vl,vu,il,iu,[ldab,compute_v,range,lower,abstol,mmax,overwrite_ab])\n\nWrapper for ``chbevx``.\n\nParameters\n----------\nab : input rank-2 array('F') with bounds (ldab,n)\nvl : input float\nvu : input float\nil : input int\niu : input int\n\nOther Parameters\n----------------\noverwrite_ab : input int, optional\n Default: 1\nldab : input int, optional\n Default: shape(ab,0)\ncompute_v : input int, optional\n Default: 1\nrange : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\nabstol : input float, optional\n Default: 0.0\nmmax : input int, optional\n Default: (compute_v?(range==2?(iu-il+1):n):1)\n\nReturns\n-------\nw : rank-1 array('f') with bounds (n)\nz : rank-2 array('F') with bounds (ldz,mmax)\nm : int\nifail : rank-1 array('i') with bounds ((compute_v?n:1))\ninfo : int\n" - ... - -def checon(a, ipiv, anorm, lower=...) -> typing.Any: - "rcond,info = checon(a,ipiv,anorm,[lower])\n\nWrapper for ``checon``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\nanorm : input float\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nrcond : float\ninfo : int\n" - ... - -def cheequb(a, lower=...) -> typing.Any: - "s,scond,amax,info = cheequb(a,[lower])\n\nWrapper for ``cheequb``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (lda,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\ns : rank-1 array('f') with bounds (n)\nscond : float\namax : float\ninfo : int\n" - ... - -def cheev(a, compute_v=..., lower=..., lwork=..., overwrite_a=...) -> typing.Any: - "w,v,info = cheev(a,[compute_v,lower,lwork,overwrite_a])\n\nWrapper for ``cheev``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(2*n-1,1)\n\nReturns\n-------\nw : rank-1 array('f') with bounds (n)\nv : rank-2 array('F') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def cheev_lwork(n, lower=...) -> typing.Any: - 'work,info = cheev_lwork(n,[lower])\n\nWrapper for ``cheev_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def cheevd(a, compute_v=..., lower=..., lwork=..., liwork=..., lrwork=..., overwrite_a=...) -> typing.Any: - "w,v,info = cheevd(a,[compute_v,lower,lwork,liwork,lrwork,overwrite_a])\n\nWrapper for ``cheevd``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max((compute_v?2*n+n*n:n+1),1)\nliwork : input int, optional\n Default: (compute_v?3+5*n:1)\nlrwork : input int, optional\n Default: (compute_v?1+5*n+2*n*n:n)\n\nReturns\n-------\nw : rank-1 array('f') with bounds (n)\nv : rank-2 array('F') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def cheevd_lwork(n, compute_v=..., lower=...) -> typing.Any: - 'work,iwork,rwork,info = cheevd_lwork(n,[compute_v,lower])\n\nWrapper for ``cheevd_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\niwork : int\nrwork : float\ninfo : int\n' - ... - -def cheevr(a, compute_v=..., range=..., lower=..., vl=..., vu=..., il=..., iu=..., abstol=..., lwork=..., lrwork=..., liwork=..., overwrite_a=...) -> typing.Any: - "w,z,m,isuppz,info = cheevr(a,[compute_v,range,lower,vl,vu,il,iu,abstol,lwork,lrwork,liwork,overwrite_a])\n\nWrapper for ``cheevr``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds ``(n,n)``\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default ``1``\nrange : input string(len=1), optional\n Default ``'A'``\nlower : input int, optional\n Default ``0``\noverwrite_a : input int, optional\n Default ``0``\nvl : input float, optional\n Default ``0.0``\nvu : input float, optional\n Default ``1.0``\nil : input int, optional\n Default ``1``\niu : input int, optional\n Default ``n``\nabstol : input float, optional\n Default ``0.0``\nlwork : input int, optional\n Default ``max(2*n,1)``\nlrwork : input int, optional\n Default ``max(24*n,1)``\nliwork : input int, optional\n Default ``max(1,10*n)``\n\nReturns\n-------\nw : rank-1 array('f') with bounds ``(n)``\nz : rank-2 array('F') with bounds ``((compute_v?MAX(0,n):0),(compute_v?(*range=='I'?iu-il+1:MAX(1,n)):0))``\nm : int\nisuppz : rank-1 array('i') with bounds ``(2*max(1,n))``\ninfo : int\n" - ... - -def cheevr_lwork(n, lower=...) -> typing.Any: - 'work,rwork,iwork,info = cheevr_lwork(n,[lower])\n\nWrapper for ``cheevr_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\nrwork : float\niwork : int\ninfo : int\n' - ... - -def cheevx(a, compute_v=..., range=..., lower=..., vl=..., vu=..., il=..., iu=..., abstol=..., lwork=..., overwrite_a=...) -> typing.Any: - "w,z,m,ifail,info = cheevx(a,[compute_v,range,lower,vl,vu,il,iu,abstol,lwork,overwrite_a])\n\nWrapper for ``cheevx``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds ``(n,n)``\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default ``1``\nrange : input string(len=1), optional\n Default ``'A'``\nlower : input int, optional\n Default ``0``\noverwrite_a : input int, optional\n Default ``0``\nvl : input float, optional\n Default ``0.0``\nvu : input float, optional\n Default ``1.0``\nil : input int, optional\n Default ``1``\niu : input int, optional\n Default ``n``\nabstol : input float, optional\n Default ``0.0``\nlwork : input int, optional\n Default ``max(2*n,1)``\n\nReturns\n-------\nw : rank-1 array('f') with bounds ``(n)``\nz : rank-2 array('F') with bounds ``((compute_v*n),(compute_v?(*range=='I'?iu-il+1:MAX(1,n)):0))``\nm : int\nifail : rank-1 array('i') with bounds ``(compute_v*n)``\ninfo : int\n" - ... - -def cheevx_lwork(n, lower=...) -> typing.Any: - 'work,info = cheevx_lwork(n,[lower])\n\nWrapper for ``cheevx_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def chegst(a, b, itype=..., lower=..., overwrite_a=...) -> typing.Any: - "c,info = chegst(a,b,[itype,lower,overwrite_a])\n\nWrapper for ``chegst``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nb : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nitype : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('F') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def chegv(a, b, itype=..., jobz=..., uplo=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "w,v,info = chegv(a,b,[itype,jobz,uplo,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``chegv``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nb : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\nitype : input int, optional\n Default: 1\njobz : input string(len=1), optional\n Default: 'V'\nuplo : input string(len=1), optional\n Default: 'L'\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(2*n-1,1)\n\nReturns\n-------\nw : rank-1 array('f') with bounds (n)\nv : rank-2 array('F') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def chegv_lwork(n, uplo=...) -> typing.Any: - "work,info = chegv_lwork(n,[uplo])\n\nWrapper for ``chegv_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'L'\n\nReturns\n-------\nwork : complex\ninfo : int\n" - ... - -def chegvd(a, b, itype=..., jobz=..., uplo=..., lwork=..., lrwork=..., liwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "w,v,info = chegvd(a,b,[itype,jobz,uplo,lwork,lrwork,liwork,overwrite_a,overwrite_b])\n\nWrapper for ``chegvd``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds ``(n,n)``\nb : input rank-2 array('F') with bounds ``(n,n)``\n\nOther Parameters\n----------------\nitype : input int, optional\n Default ``1``\njobz : input string(len=1), optional\n Default ``'V'``\nuplo : input string(len=1), optional\n Default ``'L'``\noverwrite_a : input int, optional\n Default ``0``\noverwrite_b : input int, optional\n Default ``0``\nlwork : input int, optional\n Default ``(*jobz=='N'?n+1:n*(n+2))``\nlrwork : input int, optional\n Default ``max((*jobz=='N'?n:2*n*n+5*n+1),1)``\nliwork : input int, optional\n Default ``(*jobz=='N'?1:5*n+3)``\n\nReturns\n-------\nw : rank-1 array('f') with bounds ``(n)``\nv : rank-2 array('F') with bounds ``(n,n)`` with ``a`` storage\ninfo : int\n" - ... - -def chegvx(a, b, itype=..., jobz=..., range=..., uplo=..., vl=..., vu=..., il=..., iu=..., abstol=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "w,z,m,ifail,info = chegvx(a,b,[itype,jobz,range,uplo,vl,vu,il,iu,abstol,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``chegvx``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nb : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\nitype : input int, optional\n Default: 1\njobz : input string(len=1), optional\n Default: 'V'\nrange : input string(len=1), optional\n Default: 'A'\nuplo : input string(len=1), optional\n Default: 'L'\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nvl : input float, optional\n Default: 0.0\nvu : input float, optional\n Default: 1.0\nil : input int, optional\n Default: 1\niu : input int, optional\n Default: n\nabstol : input float, optional\n Default: 0.0\nlwork : input int, optional\n Default: max(2*n,1)\n\nReturns\n-------\nw : rank-1 array('f') with bounds (n)\nz : rank-2 array('F') with bounds ((jobz[0]=='V'?MAX(0,n):0),(jobz[0]=='V'?(range[0]=='I'?iu-il+1:MAX(1,n)):0))\nm : int\nifail : rank-1 array('i') with bounds ((jobz[0]=='N'?0:n))\ninfo : int\n" - ... - -def chegvx_lwork(n, uplo=...) -> typing.Any: - "work,info = chegvx_lwork(n,[uplo])\n\nWrapper for ``chegvx_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'L'\n\nReturns\n-------\nwork : complex\ninfo : int\n" - ... - -def chesv(a, b, lwork=..., lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "uduh,ipiv,x,info = chesv(a,b,[lwork,lower,overwrite_a,overwrite_b])\n\nWrapper for ``chesv``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nb : input rank-2 array('F') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(n,1)\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nuduh : rank-2 array('F') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('F') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def chesv_lwork(n, lower=...) -> typing.Any: - 'work,info = chesv_lwork(n,[lower])\n\nWrapper for ``chesv_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def chesvx(a, b, af=..., ipiv=..., lwork=..., factored=..., lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "uduh,ipiv,x,rcond,ferr,berr,info = chesvx(a,b,[af,ipiv,lwork,factored,lower,overwrite_a,overwrite_b])\n\nWrapper for ``chesvx``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nb : input rank-2 array('F') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\naf : input rank-2 array('F') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(2*n,1)\nfactored : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nuduh : rank-2 array('F') with bounds (n,n) and af storage\nipiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('F') with bounds (n,nrhs)\nrcond : float\nferr : rank-1 array('f') with bounds (nrhs)\nberr : rank-1 array('f') with bounds (nrhs)\ninfo : int\n" - ... - -def chesvx_lwork(n, lower=...) -> typing.Any: - 'work,info = chesvx_lwork(n,[lower])\n\nWrapper for ``chesvx_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def chetrd(a, lower=..., lwork=..., overwrite_a=...) -> typing.Any: - "c,d,e,tau,info = chetrd(a,[lower,lwork,overwrite_a])\n\nWrapper for ``chetrd``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (lda,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(n,1)\n\nReturns\n-------\nc : rank-2 array('F') with bounds (lda,n) and a storage\nd : rank-1 array('f') with bounds (n)\ne : rank-1 array('f') with bounds (n - 1)\ntau : rank-1 array('F') with bounds (n - 1)\ninfo : int\n" - ... - -def chetrd_lwork(n, lower=...) -> typing.Any: - 'work,info = chetrd_lwork(n,[lower])\n\nWrapper for ``chetrd_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def chetrf(a, lower=..., lwork=..., overwrite_a=...) -> typing.Any: - "ldu,ipiv,info = chetrf(a,[lower,lwork,overwrite_a])\n\nWrapper for ``chetrf``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(n,1)\n\nReturns\n-------\nldu : rank-2 array('F') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def chetrf_lwork(n, lower=...) -> typing.Any: - 'work,info = chetrf_lwork(n,[lower])\n\nWrapper for ``chetrf_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def chfrk(n, k, alpha, a, beta, c, transr=..., uplo=..., trans=..., overwrite_c=...) -> typing.Any: - "cout = chfrk(n,k,alpha,a,beta,c,[transr,uplo,trans,overwrite_c])\n\nWrapper for ``chfrk``.\n\nParameters\n----------\nn : input int\nk : input int\nalpha : input float\na : input rank-2 array('F') with bounds (lda,ka)\nbeta : input float\nc : input rank-1 array('F') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\ncout : rank-1 array('F') with bounds (nt) and c storage\n" - ... - -def clange(norm, a) -> typing.Any: - "n2 = clange(norm,a)\n\nWrapper for ``clange``.\n\nParameters\n----------\nnorm : input string(len=1)\na : input rank-2 array('F') with bounds (m,n)\n\nReturns\n-------\nn2 : float\n" - ... - -def clarf(v, tau, c, work, side=..., incv=..., overwrite_c=...) -> typing.Any: - "c = clarf(v,tau,c,work,[side,incv,overwrite_c])\n\nWrapper for ``clarf``.\n\nParameters\n----------\nv : input rank-1 array('F') with bounds ((side[0]=='L'?(1 + (m-1)*abs(incv)):(1 + (n-1)*abs(incv))))\ntau : input complex\nc : input rank-2 array('F') with bounds (m,n)\nwork : input rank-1 array('F') with bounds (lwork)\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\nincv : input int, optional\n Default: 1\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('F') with bounds (m,n)\n" - ... - -def clarfg(n, alpha, x, incx=..., overwrite_x=...) -> typing.Any: - "alpha,x,tau = clarfg(n,alpha,x,[incx,overwrite_x])\n\nWrapper for ``clarfg``.\n\nParameters\n----------\nn : input int\nalpha : input complex\nx : input rank-1 array('F') with bounds (lx)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\nalpha : complex\nx : rank-1 array('F') with bounds (lx)\ntau : complex\n" - ... - -def clartg(f, g) -> typing.Any: - 'cs,sn,r = clartg(f,g)\n\nWrapper for ``clartg``.\n\nParameters\n----------\nf : input complex\ng : input complex\n\nReturns\n-------\ncs : float\nsn : complex\nr : complex\n' - ... - -def claswp(a, piv, k1=..., k2=..., off=..., inc=..., overwrite_a=...) -> typing.Any: - "a = claswp(a,piv,[k1,k2,off,inc,overwrite_a])\n\nWrapper for ``claswp``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (nrows,n)\npiv : input rank-1 array('i') with bounds (npiv)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nk1 : input int, optional\n Default: 0\nk2 : input int, optional\n Default: npiv-1\noff : input int, optional\n Default: 0\ninc : input int, optional\n Default: 1\n\nReturns\n-------\na : rank-2 array('F') with bounds (nrows,n)\n" - ... - -def clauum(c, lower=..., overwrite_c=...) -> typing.Any: - "a,info = clauum(c,[lower,overwrite_c])\n\nWrapper for ``clauum``.\n\nParameters\n----------\nc : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_c : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('F') with bounds (n,n) and c storage\ninfo : int\n" - ... - -def cpbsv(ab, b, lower=..., ldab=..., overwrite_ab=..., overwrite_b=...) -> typing.Any: - "c,x,info = cpbsv(ab,b,[lower,ldab,overwrite_ab,overwrite_b])\n\nWrapper for ``cpbsv``.\n\nParameters\n----------\nab : input rank-2 array('F') with bounds (ldab,n)\nb : input rank-2 array('F') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_ab : input int, optional\n Default: 0\nldab : input int, optional\n Default: shape(ab,0)\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('F') with bounds (ldab,n) and ab storage\nx : rank-2 array('F') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def cpbtrf(ab, lower=..., ldab=..., overwrite_ab=...) -> typing.Any: - "c,info = cpbtrf(ab,[lower,ldab,overwrite_ab])\n\nWrapper for ``cpbtrf``.\n\nParameters\n----------\nab : input rank-2 array('F') with bounds (ldab,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_ab : input int, optional\n Default: 0\nldab : input int, optional\n Default: shape(ab,0)\n\nReturns\n-------\nc : rank-2 array('F') with bounds (ldab,n) and ab storage\ninfo : int\n" - ... - -def cpbtrs(ab, b, lower=..., ldab=..., overwrite_b=...) -> typing.Any: - "x,info = cpbtrs(ab,b,[lower,ldab,overwrite_b])\n\nWrapper for ``cpbtrs``.\n\nParameters\n----------\nab : input rank-2 array('F') with bounds (ldab,n)\nb : input rank-2 array('F') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\nldab : input int, optional\n Default: shape(ab,0)\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('F') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def cpftrf(n, a, transr=..., uplo=..., overwrite_a=...) -> typing.Any: - "achol,info = cpftrf(n,a,[transr,uplo,overwrite_a])\n\nWrapper for ``cpftrf``.\n\nParameters\n----------\nn : input int\na : input rank-1 array('F') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nachol : rank-1 array('F') with bounds (nt) and a storage\ninfo : int\n" - ... - -def cpftri(n, a, transr=..., uplo=..., overwrite_a=...) -> typing.Any: - "ainv,info = cpftri(n,a,[transr,uplo,overwrite_a])\n\nWrapper for ``cpftri``.\n\nParameters\n----------\nn : input int\na : input rank-1 array('F') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nainv : rank-1 array('F') with bounds (nt) and a storage\ninfo : int\n" - ... - -def cpftrs(n, a, b, transr=..., uplo=..., overwrite_b=...) -> typing.Any: - "x,info = cpftrs(n,a,b,[transr,uplo,overwrite_b])\n\nWrapper for ``cpftrs``.\n\nParameters\n----------\nn : input int\na : input rank-1 array('F') with bounds (nt)\nb : input rank-2 array('F') with bounds (ldb,nhrs)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('F') with bounds (ldb,nhrs) and b storage\ninfo : int\n" - ... - -def cpocon(a, anorm, uplo=...) -> typing.Any: - "rcond,info = cpocon(a,anorm,[uplo])\n\nWrapper for ``cpocon``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nanorm : input float\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\nrcond : float\ninfo : int\n" - ... - -def cposv(a, b, lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "c,x,info = cposv(a,b,[lower,overwrite_a,overwrite_b])\n\nWrapper for ``cposv``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nb : input rank-2 array('F') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('F') with bounds (n,n) and a storage\nx : rank-2 array('F') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def cposvx(a, b, fact=..., af=..., equed=..., s=..., lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "a_s,lu,equed,s,b_s,x,rcond,ferr,berr,info = cposvx(a,b,[fact,af,equed,s,lower,overwrite_a,overwrite_b])\n\nWrapper for ``cposvx``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nb : input rank-2 array('F') with bounds (n,nrhs)\n\nOther Parameters\n----------------\nfact : input string(len=1), optional\n Default: 'E'\noverwrite_a : input int, optional\n Default: 0\naf : input rank-2 array('F') with bounds (n,n)\nequed : input string(len=1), optional\n Default: 'Y'\ns : input rank-1 array('f') with bounds (n)\noverwrite_b : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\na_s : rank-2 array('F') with bounds (n,n) and a storage\nlu : rank-2 array('F') with bounds (n,n) and af storage\nequed : string(len=1)\ns : rank-1 array('f') with bounds (n)\nb_s : rank-2 array('F') with bounds (n,nrhs) and b storage\nx : rank-2 array('F') with bounds (n,nrhs)\nrcond : float\nferr : rank-1 array('f') with bounds (nrhs)\nberr : rank-1 array('f') with bounds (nrhs)\ninfo : int\n" - ... - -def cpotrf(a, lower=..., clean=..., overwrite_a=...) -> typing.Any: - "c,info = cpotrf(a,[lower,clean,overwrite_a])\n\nWrapper for ``cpotrf``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\nclean : input int, optional\n Default: 1\n\nReturns\n-------\nc : rank-2 array('F') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def cpotri(c, lower=..., overwrite_c=...) -> typing.Any: - "inv_a,info = cpotri(c,[lower,overwrite_c])\n\nWrapper for ``cpotri``.\n\nParameters\n----------\nc : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_c : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\ninv_a : rank-2 array('F') with bounds (n,n) and c storage\ninfo : int\n" - ... - -def cpotrs(c, b, lower=..., overwrite_b=...) -> typing.Any: - "x,info = cpotrs(c,b,[lower,overwrite_b])\n\nWrapper for ``cpotrs``.\n\nParameters\n----------\nc : input rank-2 array('F') with bounds (n,n)\nb : input rank-2 array('F') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('F') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def cppcon(n, ap, anorm, lower=...) -> typing.Any: - "rcond,info = cppcon(n,ap,anorm,[lower])\n\nWrapper for ``cppcon``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('F') with bounds (L)\nanorm : input float\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nrcond : float\ninfo : int\n" - ... - -def cppsv(n, ap, b, lower=..., overwrite_b=...) -> typing.Any: - "x,info = cppsv(n,ap,b,[lower,overwrite_b])\n\nWrapper for ``cppsv``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('F') with bounds (L)\nb : input rank-2 array('F') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('F') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def cpptrf(n, ap, lower=..., overwrite_ap=...) -> typing.Any: - "ul,info = cpptrf(n,ap,[lower,overwrite_ap])\n\nWrapper for ``cpptrf``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('F') with bounds (L)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_ap : input int, optional\n Default: 0\n\nReturns\n-------\nul : rank-1 array('F') with bounds (L) and ap storage\ninfo : int\n" - ... - -def cpptri(n, ap, lower=..., overwrite_ap=...) -> typing.Any: - "uli,info = cpptri(n,ap,[lower,overwrite_ap])\n\nWrapper for ``cpptri``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('F') with bounds (L)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_ap : input int, optional\n Default: 0\n\nReturns\n-------\nuli : rank-1 array('F') with bounds (L) and ap storage\ninfo : int\n" - ... - -def cpptrs(n, ap, b, lower=..., overwrite_b=...) -> typing.Any: - "x,info = cpptrs(n,ap,b,[lower,overwrite_b])\n\nWrapper for ``cpptrs``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('F') with bounds (L)\nb : input rank-2 array('F') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('F') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def cpstf2(a, tol=..., lower=..., overwrite_a=...) -> typing.Any: - "c,piv,rank_c,info = cpstf2(a,[tol,lower,overwrite_a])\n\nWrapper for ``cpstf2``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\ntol : input float, optional\n Default: -1.0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('F') with bounds (n,n) and a storage\npiv : rank-1 array('i') with bounds (n)\nrank_c : int\ninfo : int\n" - ... - -def cpstrf(a, tol=..., lower=..., overwrite_a=...) -> typing.Any: - "c,piv,rank_c,info = cpstrf(a,[tol,lower,overwrite_a])\n\nWrapper for ``cpstrf``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\ntol : input float, optional\n Default: -1.0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('F') with bounds (n,n) and a storage\npiv : rank-1 array('i') with bounds (n)\nrank_c : int\ninfo : int\n" - ... - -def cpteqr(d, e, z, compute_z=..., overwrite_d=..., overwrite_e=..., overwrite_z=...) -> typing.Any: - "d,e,z,info = cpteqr(d,e,z,[compute_z,overwrite_d,overwrite_e,overwrite_z])\n\nWrapper for ``cpteqr``.\n\nParameters\n----------\nd : input rank-1 array('f') with bounds (n)\ne : input rank-1 array('f') with bounds ((n>0?n-1:0))\nz : input rank-2 array('F') with bounds ((compute_z==0?shape(z, 0):max(1,n)),(compute_z==0?shape(z, 1):n))\n\nOther Parameters\n----------------\ncompute_z : input int, optional\n Default: 0\noverwrite_d : input int, optional\n Default: 0\noverwrite_e : input int, optional\n Default: 0\noverwrite_z : input int, optional\n Default: 0\n\nReturns\n-------\nd : rank-1 array('f') with bounds (n)\ne : rank-1 array('f') with bounds ((n>0?n-1:0))\nz : rank-2 array('F') with bounds ((compute_z==0?shape(z, 0):max(1,n)),(compute_z==0?shape(z, 1):n))\ninfo : int\n" - ... - -def cptsv(d, e, b, overwrite_d=..., overwrite_e=..., overwrite_b=...) -> typing.Any: - "d,du,x,info = cptsv(d,e,b,[overwrite_d,overwrite_e,overwrite_b])\n\nWrapper for ``cptsv``.\n\nParameters\n----------\nd : input rank-1 array('f') with bounds (n)\ne : input rank-1 array('F') with bounds (n - 1)\nb : input rank-2 array('F') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_d : input int, optional\n Default: 0\noverwrite_e : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nd : rank-1 array('f') with bounds (n)\ndu : rank-1 array('F') with bounds (n - 1) and e storage\nx : rank-2 array('F') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def cptsvx(d, e, b, fact=..., df=..., ef=...) -> typing.Any: - "df,ef,x,rcond,ferr,berr,info = cptsvx(d,e,b,[fact,df,ef])\n\nWrapper for ``cptsvx``.\n\nParameters\n----------\nd : input rank-1 array('f') with bounds (n)\ne : input rank-1 array('F') with bounds (max(0, n-1))\nb : input rank-2 array('F') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nfact : input string(len=1), optional\n Default: 'N'\ndf : input rank-1 array('f') with bounds (n)\nef : input rank-1 array('F') with bounds (max(0, n-1))\n\nReturns\n-------\ndf : rank-1 array('f') with bounds (n)\nef : rank-1 array('F') with bounds (max(0, n-1))\nx : rank-2 array('F') with bounds (ldx,nrhs)\nrcond : float\nferr : rank-1 array('f') with bounds (nrhs)\nberr : rank-1 array('f') with bounds (nrhs)\ninfo : int\n" - ... - -def cpttrf(d, e, overwrite_d=..., overwrite_e=...) -> typing.Any: - "d,e,info = cpttrf(d,e,[overwrite_d,overwrite_e])\n\nWrapper for ``cpttrf``.\n\nParameters\n----------\nd : input rank-1 array('f') with bounds (n)\ne : input rank-1 array('F') with bounds ((n>0?n-1:0))\n\nOther Parameters\n----------------\noverwrite_d : input int, optional\n Default: 0\noverwrite_e : input int, optional\n Default: 0\n\nReturns\n-------\nd : rank-1 array('f') with bounds (n)\ne : rank-1 array('F') with bounds ((n>0?n-1:0))\ninfo : int\n" - ... - -def cpttrs(d, e, b, lower=..., overwrite_b=...) -> typing.Any: - "x,info = cpttrs(d,e,b,[lower,overwrite_b])\n\nWrapper for ``cpttrs``.\n\nParameters\n----------\nd : input rank-1 array('f') with bounds (n)\ne : input rank-1 array('F') with bounds ((n>0?n-1:0))\nb : input rank-2 array('F') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('F') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def crot(x, y, c, s, n=..., offx=..., incx=..., offy=..., incy=..., overwrite_x=..., overwrite_y=...) -> typing.Any: - "x,y = crot(x,y,c,s,[n,offx,incx,offy,incy,overwrite_x,overwrite_y])\n\nWrapper for ``crot``.\n\nParameters\n----------\nx : input rank-1 array('F') with bounds (lx)\ny : input rank-1 array('F') with bounds (ly)\nc : input float\ns : input complex\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (lx-1-offx)/abs(incx)+1\noverwrite_x : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noverwrite_y : input int, optional\n Default: 0\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('F') with bounds (lx)\ny : rank-1 array('F') with bounds (ly)\n" - ... - -def csycon(a, ipiv, anorm, lower=...) -> typing.Any: - "rcond,info = csycon(a,ipiv,anorm,[lower])\n\nWrapper for ``csycon``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\nanorm : input float\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nrcond : float\ninfo : int\n" - ... - -def csyconv(a, ipiv, lower=..., way=..., overwrite_a=...) -> typing.Any: - "a,e,info = csyconv(a,ipiv,[lower,way,overwrite_a])\n\nWrapper for ``csyconv``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\nway : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('F') with bounds (n,n)\ne : rank-1 array('F') with bounds (n)\ninfo : int\n" - ... - -def csyequb(a, lower=...) -> typing.Any: - "s,scond,amax,info = csyequb(a,[lower])\n\nWrapper for ``csyequb``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (lda,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\ns : rank-1 array('f') with bounds (n)\nscond : float\namax : float\ninfo : int\n" - ... - -def csysv(a, b, lwork=..., lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "udut,ipiv,x,info = csysv(a,b,[lwork,lower,overwrite_a,overwrite_b])\n\nWrapper for ``csysv``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nb : input rank-2 array('F') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(n,1)\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nudut : rank-2 array('F') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('F') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def csysv_lwork(n, lower=...) -> typing.Any: - 'work,info = csysv_lwork(n,[lower])\n\nWrapper for ``csysv_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def csysvx(a, b, af=..., ipiv=..., lwork=..., factored=..., lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "a_s,udut,ipiv,b_s,x,rcond,ferr,berr,info = csysvx(a,b,[af,ipiv,lwork,factored,lower,overwrite_a,overwrite_b])\n\nWrapper for ``csysvx``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\nb : input rank-2 array('F') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\naf : input rank-2 array('F') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\nfactored : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\na_s : rank-2 array('F') with bounds (n,n) and a storage\nudut : rank-2 array('F') with bounds (n,n) and af storage\nipiv : rank-1 array('i') with bounds (n)\nb_s : rank-2 array('F') with bounds (n,nrhs) and b storage\nx : rank-2 array('F') with bounds (n,nrhs)\nrcond : float\nferr : rank-1 array('f') with bounds (nrhs)\nberr : rank-1 array('f') with bounds (nrhs)\ninfo : int\n" - ... - -def csysvx_lwork(n, lower=...) -> typing.Any: - 'work,info = csysvx_lwork(n,[lower])\n\nWrapper for ``csysvx_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def csytf2(a, lower=..., overwrite_a=...) -> typing.Any: - "ldu,ipiv,info = csytf2(a,[lower,overwrite_a])\n\nWrapper for ``csytf2``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nldu : rank-2 array('F') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def csytrf(a, lower=..., lwork=..., overwrite_a=...) -> typing.Any: - "ldu,ipiv,info = csytrf(a,[lower,lwork,overwrite_a])\n\nWrapper for ``csytrf``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(n,1)\n\nReturns\n-------\nldu : rank-2 array('F') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def csytrf_lwork(n, lower=...) -> typing.Any: - 'work,info = csytrf_lwork(n,[lower])\n\nWrapper for ``csytrf_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def ctbtrs(ab, b, uplo=..., trans=..., diag=..., overwrite_b=...) -> typing.Any: - "x,info = ctbtrs(ab,b,[uplo,trans,diag,overwrite_b])\n\nWrapper for ``ctbtrs``.\n\nParameters\n----------\nab : input rank-2 array('F') with bounds (ldab,n)\nb : input rank-2 array('F') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'U'\ntrans : input string(len=1), optional\n Default: 'N'\ndiag : input string(len=1), optional\n Default: 'N'\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('F') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def ctfsm(alpha, a, b, transr=..., side=..., uplo=..., trans=..., diag=..., overwrite_b=...) -> typing.Any: - "x = ctfsm(alpha,a,b,[transr,side,uplo,trans,diag,overwrite_b])\n\nWrapper for ``ctfsm``.\n\nParameters\n----------\nalpha : input complex\na : input rank-1 array('F') with bounds (nt)\nb : input rank-2 array('F') with bounds (m,n)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nside : input string(len=1), optional\n Default: 'L'\nuplo : input string(len=1), optional\n Default: 'U'\ntrans : input string(len=1), optional\n Default: 'N'\ndiag : input string(len=1), optional\n Default: 'N'\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('F') with bounds (m,n) and b storage\n" - ... - -def ctfttp(n, arf, transr=..., uplo=...) -> typing.Any: - "ap,info = ctfttp(n,arf,[transr,uplo])\n\nWrapper for ``ctfttp``.\n\nParameters\n----------\nn : input int\narf : input rank-1 array('F') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\nap : rank-1 array('F') with bounds (nt)\ninfo : int\n" - ... - -def ctfttr(n, arf, transr=..., uplo=...) -> typing.Any: - "a,info = ctfttr(n,arf,[transr,uplo])\n\nWrapper for ``ctfttr``.\n\nParameters\n----------\nn : input int\narf : input rank-1 array('F') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\na : rank-2 array('F') with bounds (lda,n)\ninfo : int\n" - ... - -def ctgsen(select, a, b, q, z, lwork=..., liwork=..., overwrite_a=..., overwrite_b=..., overwrite_q=..., overwrite_z=...) -> typing.Any: - "a,b,alpha,beta,q,z,m,pl,pr,dif,work,iwork,info = ctgsen(select,a,b,q,z,[lwork,liwork,overwrite_a,overwrite_b,overwrite_q,overwrite_z])\n\nWrapper for ``ctgsen``.\n\nParameters\n----------\nselect : input rank-1 array('i') with bounds (n)\na : input rank-2 array('F') with bounds (lda,n)\nb : input rank-2 array('F') with bounds (ldb,n)\nq : input rank-2 array('F') with bounds (ldq,n)\nz : input rank-2 array('F') with bounds (ldz,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\noverwrite_q : input int, optional\n Default: 0\noverwrite_z : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(2*m*(n-m),1)\nliwork : input int, optional\n Default: n+2\n\nReturns\n-------\na : rank-2 array('F') with bounds (lda,n)\nb : rank-2 array('F') with bounds (ldb,n)\nalpha : rank-1 array('F') with bounds (n)\nbeta : rank-1 array('F') with bounds (n)\nq : rank-2 array('F') with bounds (ldq,n)\nz : rank-2 array('F') with bounds (ldz,n)\nm : int\npl : float\npr : float\ndif : rank-1 array('f') with bounds (2)\nwork : rank-1 array('F') with bounds (MAX(lwork,1))\niwork : rank-1 array('i') with bounds (MAX(1,liwork))\ninfo : int\n" - ... - -def ctpmqrt(l, v, t, a, b, side=..., trans=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "a,b,info = ctpmqrt(l,v,t,a,b,[side,trans,overwrite_a,overwrite_b])\n\nWrapper for ``ctpmqrt``.\n\nParameters\n----------\nl : input int\nv : input rank-2 array('F') with bounds ((side[0]=='L'?m:n),k)\nt : input rank-2 array('F') with bounds (nb,k)\na : input rank-2 array('F') with bounds ((side[0]=='L'?k:m),(side[0]=='L'?n:k))\nb : input rank-2 array('F') with bounds (m,n)\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('F') with bounds ((side[0]=='L'?k:m),(side[0]=='L'?n:k))\nb : rank-2 array('F') with bounds (m,n)\ninfo : int\n" - ... - -def ctpqrt(l, nb, a, b, overwrite_a=..., overwrite_b=...) -> typing.Any: - "a,b,t,info = ctpqrt(l,nb,a,b,[overwrite_a,overwrite_b])\n\nWrapper for ``ctpqrt``.\n\nParameters\n----------\nl : input int\nnb : input int\na : input rank-2 array('F') with bounds (n,n)\nb : input rank-2 array('F') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('F') with bounds (n,n)\nb : rank-2 array('F') with bounds (m,n)\nt : rank-2 array('F') with bounds (nb,n)\ninfo : int\n" - ... - -def ctpttf(n, ap, transr=..., uplo=...) -> typing.Any: - "arf,info = ctpttf(n,ap,[transr,uplo])\n\nWrapper for ``ctpttf``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('F') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\narf : rank-1 array('F') with bounds (nt)\ninfo : int\n" - ... - -def ctpttr(n, ap, uplo=...) -> typing.Any: - "a,info = ctpttr(n,ap,[uplo])\n\nWrapper for ``ctpttr``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('F') with bounds (nt)\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\na : rank-2 array('F') with bounds (n,n)\ninfo : int\n" - ... - -def ctrsyl(a, b, c, trana=..., tranb=..., isgn=..., overwrite_c=...) -> typing.Any: - "x,scale,info = ctrsyl(a,b,c,[trana,tranb,isgn,overwrite_c])\n\nWrapper for ``ctrsyl``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,m)\nb : input rank-2 array('F') with bounds (n,n)\nc : input rank-2 array('F') with bounds (m,n)\n\nOther Parameters\n----------------\ntrana : input string(len=1), optional\n Default: 'N'\ntranb : input string(len=1), optional\n Default: 'N'\nisgn : input int, optional\n Default: 1\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('F') with bounds (m,n) and c storage\nscale : float\ninfo : int\n" - ... - -def ctrtri(c, lower=..., unitdiag=..., overwrite_c=...) -> typing.Any: - "inv_c,info = ctrtri(c,[lower,unitdiag,overwrite_c])\n\nWrapper for ``ctrtri``.\n\nParameters\n----------\nc : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_c : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\nunitdiag : input int, optional\n Default: 0\n\nReturns\n-------\ninv_c : rank-2 array('F') with bounds (n,n) and c storage\ninfo : int\n" - ... - -def ctrtrs(a, b, lower=..., trans=..., unitdiag=..., lda=..., overwrite_b=...) -> typing.Any: - "x,info = ctrtrs(a,b,[lower,trans,unitdiag,lda,overwrite_b])\n\nWrapper for ``ctrtrs``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (lda,n)\nb : input rank-2 array('F') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nunitdiag : input int, optional\n Default: 0\nlda : input int, optional\n Default: shape(a,0)\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('F') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def ctrttf(a, transr=..., uplo=...) -> typing.Any: - "arf,info = ctrttf(a,[transr,uplo])\n\nWrapper for ``ctrttf``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (lda,n)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\narf : rank-1 array('F') with bounds (n*(n+1)/2)\ninfo : int\n" - ... - -def ctrttp(a, uplo=...) -> typing.Any: - "ap,info = ctrttp(a,[uplo])\n\nWrapper for ``ctrttp``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (lda,n)\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\nap : rank-1 array('F') with bounds (n*(n+1)/2)\ninfo : int\n" - ... - -def ctzrzf(a, lwork=..., overwrite_a=...) -> typing.Any: - "rz,tau,info = ctzrzf(a,[lwork,overwrite_a])\n\nWrapper for ``ctzrzf``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(m,1)\n\nReturns\n-------\nrz : rank-2 array('F') with bounds (m,n) and a storage\ntau : rank-1 array('F') with bounds (m)\ninfo : int\n" - ... - -def ctzrzf_lwork(m, n) -> typing.Any: - 'work,info = ctzrzf_lwork(m,n)\n\nWrapper for ``ctzrzf_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def cuncsd(x11, x12, x21, x22, compute_u1=..., compute_u2=..., compute_v1t=..., compute_v2t=..., trans=..., signs=..., lwork=..., lrwork=..., overwrite_x11=..., overwrite_x12=..., overwrite_x21=..., overwrite_x22=...) -> typing.Any: - "cs11,cs12,cs21,cs22,theta,u1,u2,v1t,v2t,info = cuncsd(x11,x12,x21,x22,[compute_u1,compute_u2,compute_v1t,compute_v2t,trans,signs,lwork,lrwork,overwrite_x11,overwrite_x12,overwrite_x21,overwrite_x22])\n\nWrapper for ``cuncsd``.\n\nParameters\n----------\nx11 : input rank-2 array('F') with bounds (p,q)\nx12 : input rank-2 array('F') with bounds (p,mmq)\nx21 : input rank-2 array('F') with bounds (mmp,q)\nx22 : input rank-2 array('F') with bounds (mmp,mmq)\n\nOther Parameters\n----------------\ncompute_u1 : input int, optional\n Default: 1\ncompute_u2 : input int, optional\n Default: 1\ncompute_v1t : input int, optional\n Default: 1\ncompute_v2t : input int, optional\n Default: 1\ntrans : input int, optional\n Default: 0\nsigns : input int, optional\n Default: 0\noverwrite_x11 : input int, optional\n Default: 0\noverwrite_x12 : input int, optional\n Default: 0\noverwrite_x21 : input int, optional\n Default: 0\noverwrite_x22 : input int, optional\n Default: 0\nlwork : input int, optional\n Default: 2*m+MAX(1,MAX(mmp,mmq))+1\nlrwork : input int, optional\n Default: 5*MAX(1,q-1)+4*MAX(1,q)+8*q+1\n\nReturns\n-------\ncs11 : rank-2 array('F') with bounds (p,q) and x11 storage\ncs12 : rank-2 array('F') with bounds (p,mmq) and x12 storage\ncs21 : rank-2 array('F') with bounds (mmp,q) and x21 storage\ncs22 : rank-2 array('F') with bounds (mmp,mmq) and x22 storage\ntheta : rank-1 array('f') with bounds (min(min(p,mmp),min(q,mmq)))\nu1 : rank-2 array('F') with bounds ((compute_u1?p:0),(compute_u1?p:0))\nu2 : rank-2 array('F') with bounds ((compute_u2?mmp:0),(compute_u2?mmp:0))\nv1t : rank-2 array('F') with bounds ((compute_v1t?q:0),(compute_v1t?q:0))\nv2t : rank-2 array('F') with bounds ((compute_v2t?mmq:0),(compute_v2t?mmq:0))\ninfo : int\n" - ... - -def cuncsd_lwork(m, p, q) -> typing.Any: - 'work,rwork,info = cuncsd_lwork(m,p,q)\n\nWrapper for ``cuncsd_lwork``.\n\nParameters\n----------\nm : input int\np : input int\nq : input int\n\nReturns\n-------\nwork : complex\nrwork : float\ninfo : int\n' - ... - -def cunghr(a, tau, lo=..., hi=..., lwork=..., overwrite_a=...) -> typing.Any: - "ht,info = cunghr(a,tau,[lo,hi,lwork,overwrite_a])\n\nWrapper for ``cunghr``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\ntau : input rank-1 array('F') with bounds (n - 1)\n\nOther Parameters\n----------------\nlo : input int, optional\n Default: 0\nhi : input int, optional\n Default: n-1\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(hi-lo,1)\n\nReturns\n-------\nht : rank-2 array('F') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def cunghr_lwork(n, lo=..., hi=...) -> typing.Any: - 'work,info = cunghr_lwork(n,[lo,hi])\n\nWrapper for ``cunghr_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlo : input int, optional\n Default: 0\nhi : input int, optional\n Default: n-1\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def cungqr(a, tau, lwork=..., overwrite_a=...) -> typing.Any: - "q,work,info = cungqr(a,tau,[lwork,overwrite_a])\n\nWrapper for ``cungqr``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\ntau : input rank-1 array('F') with bounds (k)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\n\nReturns\n-------\nq : rank-2 array('F') with bounds (m,n) and a storage\nwork : rank-1 array('F') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def cungrq(a, tau, lwork=..., overwrite_a=...) -> typing.Any: - "q,work,info = cungrq(a,tau,[lwork,overwrite_a])\n\nWrapper for ``cungrq``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\ntau : input rank-1 array('F') with bounds (k)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*m,1)\n\nReturns\n-------\nq : rank-2 array('F') with bounds (m,n) and a storage\nwork : rank-1 array('F') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def cunmqr(side, trans, a, tau, c, lwork, overwrite_c=...) -> typing.Any: - "cq,work,info = cunmqr(side,trans,a,tau,c,lwork,[overwrite_c])\n\nWrapper for ``cunmqr``.\n\nParameters\n----------\nside : input string(len=1)\ntrans : input string(len=1)\na : input rank-2 array('F') with bounds (lda,k)\ntau : input rank-1 array('F') with bounds (k)\nc : input rank-2 array('F') with bounds (ldc,n)\nlwork : input int\n\nOther Parameters\n----------------\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\ncq : rank-2 array('F') with bounds (ldc,n) and c storage\nwork : rank-1 array('F') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def cunmrz(a, tau, c, side=..., trans=..., lwork=..., overwrite_c=...) -> typing.Any: - "cq,info = cunmrz(a,tau,c,[side,trans,lwork,overwrite_c])\n\nWrapper for ``cunmrz``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (k,nt)\ntau : input rank-1 array('F') with bounds (k)\nc : input rank-2 array('F') with bounds (m,n)\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_c : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX((side[0]=='L'?n:m),1)\n\nReturns\n-------\ncq : rank-2 array('F') with bounds (m,n) and c storage\ninfo : int\n" - ... - -def cunmrz_lwork(m, n, side=..., trans=...) -> typing.Any: - "work,info = cunmrz_lwork(m,n,[side,trans])\n\nWrapper for ``cunmrz_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\ntrans : input string(len=1), optional\n Default: 'N'\n\nReturns\n-------\nwork : complex\ninfo : int\n" - ... - -def dgbsv(kl, ku, ab, b, overwrite_ab=..., overwrite_b=...) -> typing.Any: - "lub,piv,x,info = dgbsv(kl,ku,ab,b,[overwrite_ab,overwrite_b])\n\nWrapper for ``dgbsv``.\n\nParameters\n----------\nkl : input int\nku : input int\nab : input rank-2 array('d') with bounds (2*kl+ku+1,n)\nb : input rank-2 array('d') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_ab : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nlub : rank-2 array('d') with bounds (2*kl+ku+1,n) and ab storage\npiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('d') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def dgbtrf(ab, kl, ku, m=..., n=..., ldab=..., overwrite_ab=...) -> typing.Any: - "lu,ipiv,info = dgbtrf(ab,kl,ku,[m,n,ldab,overwrite_ab])\n\nWrapper for ``dgbtrf``.\n\nParameters\n----------\nab : input rank-2 array('d') with bounds (ldab,n)\nkl : input int\nku : input int\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(ab,1)\nn : input int, optional\n Default: shape(ab,1)\noverwrite_ab : input int, optional\n Default: 0\nldab : input int, optional\n Default: max(shape(ab,0),1)\n\nReturns\n-------\nlu : rank-2 array('d') with bounds (ldab,n) and ab storage\nipiv : rank-1 array('i') with bounds (MIN(m,n))\ninfo : int\n" - ... - -def dgbtrs(ab, kl, ku, b, ipiv, trans=..., n=..., ldab=..., ldb=..., overwrite_b=...) -> typing.Any: - "x,info = dgbtrs(ab,kl,ku,b,ipiv,[trans,n,ldab,ldb,overwrite_b])\n\nWrapper for ``dgbtrs``.\n\nParameters\n----------\nab : input rank-2 array('d') with bounds (ldab,n)\nkl : input int\nku : input int\nb : input rank-2 array('d') with bounds (ldb,nrhs)\nipiv : input rank-1 array('i') with bounds (n)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nn : input int, optional\n Default: shape(ab,1)\nldab : input int, optional\n Default: shape(ab,0)\nldb : input int, optional\n Default: shape(b,0)\n\nReturns\n-------\nx : rank-2 array('d') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def dgebal(a, scale=..., permute=..., overwrite_a=...) -> typing.Any: - "ba,lo,hi,pivscale,info = dgebal(a,[scale,permute,overwrite_a])\n\nWrapper for ``dgebal``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\nscale : input int, optional\n Default: 0\npermute : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nba : rank-2 array('d') with bounds (m,n) and a storage\nlo : int\nhi : int\npivscale : rank-1 array('d') with bounds (n)\ninfo : int\n" - ... - -def dgecon(a, anorm, norm=...) -> typing.Any: - "rcond,info = dgecon(a,anorm,[norm])\n\nWrapper for ``dgecon``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\nanorm : input float\n\nOther Parameters\n----------------\nnorm : input string(len=1), optional\n Default: '1'\n\nReturns\n-------\nrcond : float\ninfo : int\n" - ... - -def dgeequ(a) -> typing.Any: - "r,c,rowcnd,colcnd,amax,info = dgeequ(a)\n\nWrapper for ``dgeequ``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\n\nReturns\n-------\nr : rank-1 array('d') with bounds (m)\nc : rank-1 array('d') with bounds (n)\nrowcnd : float\ncolcnd : float\namax : float\ninfo : int\n" - ... - -def dgeequb(a) -> typing.Any: - "r,c,rowcnd,colcnd,amax,info = dgeequb(a)\n\nWrapper for ``dgeequb``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\n\nReturns\n-------\nr : rank-1 array('d') with bounds (m)\nc : rank-1 array('d') with bounds (n)\nrowcnd : float\ncolcnd : float\namax : float\ninfo : int\n" - ... - -def dgees(dselect, a, compute_v=..., sort_t=..., lwork=..., dselect_extra_args=..., overwrite_a=...) -> typing.Any: - "t,sdim,wr,wi,vs,work,info = dgees(dselect,a,[compute_v,sort_t,lwork,dselect_extra_args,overwrite_a])\n\nWrapper for ``dgees``.\n\nParameters\n----------\ndselect : call-back function\na : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default: 1\nsort_t : input int, optional\n Default: 0\ndselect_extra_args : input tuple, optional\n Default: ()\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\n\nReturns\n-------\nt : rank-2 array('d') with bounds (n,n) and a storage\nsdim : int\nwr : rank-1 array('d') with bounds (n)\nwi : rank-1 array('d') with bounds (n)\nvs : rank-2 array('d') with bounds (ldvs,n)\nwork : rank-1 array('d') with bounds (MAX(lwork,1))\ninfo : int\n\nNotes\n-----\nCall-back functions::\n\n def dselect(arg1,arg2): return dselect\n Required arguments:\n arg1 : input float\n arg2 : input float\n Return objects:\n dselect : int\n" - ... - -def dgeev(a, compute_vl=..., compute_vr=..., lwork=..., overwrite_a=...) -> typing.Any: - "wr,wi,vl,vr,info = dgeev(a,[compute_vl,compute_vr,lwork,overwrite_a])\n\nWrapper for ``dgeev``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_vl : input int, optional\n Default: 1\ncompute_vr : input int, optional\n Default: 1\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(4*n,1)\n\nReturns\n-------\nwr : rank-1 array('d') with bounds (n)\nwi : rank-1 array('d') with bounds (n)\nvl : rank-2 array('d') with bounds (ldvl,n)\nvr : rank-2 array('d') with bounds (ldvr,n)\ninfo : int\n" - ... - -def dgeev_lwork(n, compute_vl=..., compute_vr=...) -> typing.Any: - 'work,info = dgeev_lwork(n,[compute_vl,compute_vr])\n\nWrapper for ``dgeev_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\ncompute_vl : input int, optional\n Default: 1\ncompute_vr : input int, optional\n Default: 1\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def dgegv(*args, **kwds) -> typing.Any: - "`dgegv` is deprecated!\nThe `*gegv` family of routines has been deprecated in\nLAPACK 3.6.0 in favor of the `*ggev` family of routines.\nThe corresponding wrappers will be removed from SciPy in\na future release.\n\nalphar,alphai,beta,vl,vr,info = dgegv(a,b,[compute_vl,compute_vr,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``dgegv``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\nb : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_vl : input int, optional\n Default: 1\ncompute_vr : input int, optional\n Default: 1\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(8*n,1)\n\nReturns\n-------\nalphar : rank-1 array('d') with bounds (n)\nalphai : rank-1 array('d') with bounds (n)\nbeta : rank-1 array('d') with bounds (n)\nvl : rank-2 array('d') with bounds (ldvl,n)\nvr : rank-2 array('d') with bounds (ldvr,n)\ninfo : int\n" - ... - -def dgehrd(a, lo=..., hi=..., lwork=..., overwrite_a=...) -> typing.Any: - "ht,tau,info = dgehrd(a,[lo,hi,lwork,overwrite_a])\n\nWrapper for ``dgehrd``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\nlo : input int, optional\n Default: 0\nhi : input int, optional\n Default: n-1\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(n,1)\n\nReturns\n-------\nht : rank-2 array('d') with bounds (n,n) and a storage\ntau : rank-1 array('d') with bounds (n - 1)\ninfo : int\n" - ... - -def dgehrd_lwork(n, lo=..., hi=...) -> typing.Any: - 'work,info = dgehrd_lwork(n,[lo,hi])\n\nWrapper for ``dgehrd_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlo : input int, optional\n Default: 0\nhi : input int, optional\n Default: n-1\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def dgejsv(a, joba=..., jobu=..., jobv=..., jobr=..., jobt=..., jobp=..., lwork=..., overwrite_a=...) -> typing.Any: - "sva,u,v,workout,iworkout,info = dgejsv(a,[joba,jobu,jobv,jobr,jobt,jobp,lwork,overwrite_a])\n\nWrapper for ``dgejsv``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (lda,n)\n\nOther Parameters\n----------------\njoba : input int, optional\n Default: 4\njobu : input int, optional\n Default: 0\njobv : input int, optional\n Default: 0\njobr : input int, optional\n Default: 1\njobt : input int, optional\n Default: 0\njobp : input int, optional\n Default: 1\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(6*n+2*n*n, max(2*m+n, max(4*n+n*n, max(2*n+n*n+6, 7))))\n\nReturns\n-------\nsva : rank-1 array('d') with bounds (n)\nu : rank-2 array('d') with bounds (((jobt == 0)&&(jobu == 3)?0:m),((jobt == 0)&&(jobu == 3)?0:(jobu == 1?m:n)))\nv : rank-2 array('d') with bounds (((jobt == 0)&&(jobv == 3)?0:ldv),((jobt == 0)&&(jobv == 3)?0:n))\nworkout : rank-1 array('d') with bounds (7)\niworkout : rank-1 array('i') with bounds (3)\ninfo : int\n" - ... - -def dgels(a, b, trans=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "lqr,x,info = dgels(a,b,[trans,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``dgels``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\nb : input rank-2 array('d') with bounds (MAX(m,n),nrhs)\n\nOther Parameters\n----------------\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(MIN(m,n)+MAX(MIN(m,n),nrhs),1)\n\nReturns\n-------\nlqr : rank-2 array('d') with bounds (m,n) and a storage\nx : rank-2 array('d') with bounds (MAX(m,n),nrhs) and b storage\ninfo : int\n" - ... - -def dgels_lwork(m, n, nrhs, trans=...) -> typing.Any: - "work,info = dgels_lwork(m,n,nrhs,[trans])\n\nWrapper for ``dgels_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\nnrhs : input int\n\nOther Parameters\n----------------\ntrans : input string(len=1), optional\n Default: 'N'\n\nReturns\n-------\nwork : float\ninfo : int\n" - ... - -def dgelsd(a, b, lwork, size_iwork, cond=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "x,s,rank,info = dgelsd(a,b,lwork,size_iwork,[cond,overwrite_a,overwrite_b])\n\nWrapper for ``dgelsd``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\nb : input rank-2 array('d') with bounds (maxmn,nrhs)\nlwork : input int\nsize_iwork : input int\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\ncond : input float, optional\n Default: -1.0\n\nReturns\n-------\nx : rank-2 array('d') with bounds (maxmn,nrhs) and b storage\ns : rank-1 array('d') with bounds (minmn)\nrank : int\ninfo : int\n" - ... - -def dgelsd_lwork(m, n, nrhs, cond=..., lwork=...) -> typing.Any: - 'work,iwork,info = dgelsd_lwork(m,n,nrhs,[cond,lwork])\n\nWrapper for ``dgelsd_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\nnrhs : input int\n\nOther Parameters\n----------------\ncond : input float, optional\n Default: -1.0\nlwork : input int, optional\n Default: -1\n\nReturns\n-------\nwork : float\niwork : int\ninfo : int\n' - ... - -def dgelss(a, b, cond=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "v,x,s,rank,work,info = dgelss(a,b,[cond,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``dgelss``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\nb : input rank-2 array('d') with bounds (maxmn,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\ncond : input float, optional\n Default: -1.0\nlwork : input int, optional\n Default: max(3*minmn+MAX(2*minmn,MAX(maxmn,nrhs)),1)\n\nReturns\n-------\nv : rank-2 array('d') with bounds (m,n) and a storage\nx : rank-2 array('d') with bounds (maxmn,nrhs) and b storage\ns : rank-1 array('d') with bounds (minmn)\nrank : int\nwork : rank-1 array('d') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def dgelss_lwork(m, n, nrhs, cond=..., lwork=...) -> typing.Any: - 'work,info = dgelss_lwork(m,n,nrhs,[cond,lwork])\n\nWrapper for ``dgelss_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\nnrhs : input int\n\nOther Parameters\n----------------\ncond : input float, optional\n Default: -1.0\nlwork : input int, optional\n Default: -1\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def dgelsy(a, b, jptv, cond, lwork, overwrite_a=..., overwrite_b=...) -> typing.Any: - "v,x,j,rank,info = dgelsy(a,b,jptv,cond,lwork,[overwrite_a,overwrite_b])\n\nWrapper for ``dgelsy``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\nb : input rank-2 array('d') with bounds (maxmn,nrhs)\njptv : input rank-1 array('i') with bounds (n)\ncond : input float\nlwork : input int\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nv : rank-2 array('d') with bounds (m,n) and a storage\nx : rank-2 array('d') with bounds (maxmn,nrhs) and b storage\nj : rank-1 array('i') with bounds (n) and jptv storage\nrank : int\ninfo : int\n" - ... - -def dgelsy_lwork(m, n, nrhs, cond, lwork=...) -> typing.Any: - 'work,info = dgelsy_lwork(m,n,nrhs,cond,[lwork])\n\nWrapper for ``dgelsy_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\nnrhs : input int\ncond : input float\n\nOther Parameters\n----------------\nlwork : input int, optional\n Default: -1\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def dgemqrt(v, t, c, side=..., trans=..., overwrite_c=...) -> typing.Any: - "c,info = dgemqrt(v,t,c,[side,trans,overwrite_c])\n\nWrapper for ``dgemqrt``.\n\nParameters\n----------\nv : input rank-2 array('d') with bounds ((side[0]=='L'?m:n),k)\nt : input rank-2 array('d') with bounds (nb,k)\nc : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('d') with bounds (m,n)\ninfo : int\n" - ... - -def dgeqp3(a, lwork=..., overwrite_a=...) -> typing.Any: - "qr,jpvt,tau,work,info = dgeqp3(a,[lwork,overwrite_a])\n\nWrapper for ``dgeqp3``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*(n+1),1)\n\nReturns\n-------\nqr : rank-2 array('d') with bounds (m,n) and a storage\njpvt : rank-1 array('i') with bounds (n)\ntau : rank-1 array('d') with bounds (MIN(m,n))\nwork : rank-1 array('d') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def dgeqrf(a, lwork=..., overwrite_a=...) -> typing.Any: - "qr,tau,work,info = dgeqrf(a,[lwork,overwrite_a])\n\nWrapper for ``dgeqrf``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\n\nReturns\n-------\nqr : rank-2 array('d') with bounds (m,n) and a storage\ntau : rank-1 array('d') with bounds (MIN(m,n))\nwork : rank-1 array('d') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def dgeqrf_lwork(m, n) -> typing.Any: - 'work,info = dgeqrf_lwork(m,n)\n\nWrapper for ``dgeqrf_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def dgeqrfp(a, lwork=..., overwrite_a=...) -> typing.Any: - "qr,tau,info = dgeqrfp(a,[lwork,overwrite_a])\n\nWrapper for ``dgeqrfp``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(1, n)\n\nReturns\n-------\nqr : rank-2 array('d') with bounds (m,n) and a storage\ntau : rank-1 array('d') with bounds (MIN(m,n))\ninfo : int\n" - ... - -def dgeqrfp_lwork(m, n) -> typing.Any: - 'work,info = dgeqrfp_lwork(m,n)\n\nWrapper for ``dgeqrfp_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def dgeqrt(nb, a, overwrite_a=...) -> typing.Any: - "a,t,info = dgeqrt(nb,a,[overwrite_a])\n\nWrapper for ``dgeqrt``.\n\nParameters\n----------\nnb : input int\na : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('d') with bounds (m,n)\nt : rank-2 array('d') with bounds (nb,MIN(m,n))\ninfo : int\n" - ... - -def dgerqf(a, lwork=..., overwrite_a=...) -> typing.Any: - "qr,tau,work,info = dgerqf(a,[lwork,overwrite_a])\n\nWrapper for ``dgerqf``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*m,1)\n\nReturns\n-------\nqr : rank-2 array('d') with bounds (m,n) and a storage\ntau : rank-1 array('d') with bounds (MIN(m,n))\nwork : rank-1 array('d') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def dgesc2(lu, rhs, ipiv, jpiv, overwrite_rhs=...) -> typing.Any: - "x,scale = dgesc2(lu,rhs,ipiv,jpiv,[overwrite_rhs])\n\nWrapper for ``dgesc2``.\n\nParameters\n----------\nlu : input rank-2 array('d') with bounds (n,n)\nrhs : input rank-1 array('d') with bounds (n)\nipiv : input rank-1 array('i') with bounds (n)\njpiv : input rank-1 array('i') with bounds (n)\n\nOther Parameters\n----------------\noverwrite_rhs : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-1 array('d') with bounds (n) and rhs storage\nscale : float\n" - ... - -def dgesdd(a, compute_uv=..., full_matrices=..., lwork=..., overwrite_a=...) -> typing.Any: - "u,s,vt,info = dgesdd(a,[compute_uv,full_matrices,lwork,overwrite_a])\n\nWrapper for ``dgesdd``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\ncompute_uv : input int, optional\n Default: 1\nfull_matrices : input int, optional\n Default: 1\nlwork : input int, optional\n Default: max((compute_uv?4*minmn*minmn+MAX(m,n)+9*minmn:MAX(14*minmn+4,10*minmn+2+25*(25+8))+MAX(m,n)),1)\n\nReturns\n-------\nu : rank-2 array('d') with bounds (u0,u1)\ns : rank-1 array('d') with bounds (minmn)\nvt : rank-2 array('d') with bounds (vt0,vt1)\ninfo : int\n" - ... - -def dgesdd_lwork(m, n, compute_uv=..., full_matrices=...) -> typing.Any: - 'work,info = dgesdd_lwork(m,n,[compute_uv,full_matrices])\n\nWrapper for ``dgesdd_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nOther Parameters\n----------------\ncompute_uv : input int, optional\n Default: 1\nfull_matrices : input int, optional\n Default: 1\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def dgesv(a, b, overwrite_a=..., overwrite_b=...) -> typing.Any: - "lu,piv,x,info = dgesv(a,b,[overwrite_a,overwrite_b])\n\nWrapper for ``dgesv``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\nb : input rank-2 array('d') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nlu : rank-2 array('d') with bounds (n,n) and a storage\npiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('d') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def dgesvd(a, compute_uv=..., full_matrices=..., lwork=..., overwrite_a=...) -> typing.Any: - "u,s,vt,info = dgesvd(a,[compute_uv,full_matrices,lwork,overwrite_a])\n\nWrapper for ``dgesvd``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\ncompute_uv : input int, optional\n Default: 1\nfull_matrices : input int, optional\n Default: 1\nlwork : input int, optional\n Default: max(MAX(3*minmn+MAX(m,n),5*minmn),1)\n\nReturns\n-------\nu : rank-2 array('d') with bounds (u0,u1)\ns : rank-1 array('d') with bounds (minmn)\nvt : rank-2 array('d') with bounds (vt0,vt1)\ninfo : int\n" - ... - -def dgesvd_lwork(m, n, compute_uv=..., full_matrices=...) -> typing.Any: - 'work,info = dgesvd_lwork(m,n,[compute_uv,full_matrices])\n\nWrapper for ``dgesvd_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nOther Parameters\n----------------\ncompute_uv : input int, optional\n Default: 1\nfull_matrices : input int, optional\n Default: 1\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def dgesvx(a, b, fact=..., trans=..., af=..., ipiv=..., equed=..., r=..., c=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "as,lu,ipiv,equed,rs,cs,bs,x,rcond,ferr,berr,info = dgesvx(a,b,[fact,trans,af,ipiv,equed,r,c,overwrite_a,overwrite_b])\n\nWrapper for ``dgesvx``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\nb : input rank-2 array('d') with bounds (n,nrhs)\n\nOther Parameters\n----------------\nfact : input string(len=1), optional\n Default: 'E'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_a : input int, optional\n Default: 0\naf : input rank-2 array('d') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\nequed : input string(len=1), optional\n Default: 'B'\nr : input rank-1 array('d') with bounds (n)\nc : input rank-1 array('d') with bounds (n)\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nas : rank-2 array('d') with bounds (n,n) and a storage\nlu : rank-2 array('d') with bounds (n,n) and af storage\nipiv : rank-1 array('i') with bounds (n)\nequed : string(len=1)\nrs : rank-1 array('d') with bounds (n) and r storage\ncs : rank-1 array('d') with bounds (n) and c storage\nbs : rank-2 array('d') with bounds (n,nrhs) and b storage\nx : rank-2 array('d') with bounds (n,nrhs)\nrcond : float\nferr : rank-1 array('d') with bounds (nrhs)\nberr : rank-1 array('d') with bounds (nrhs)\ninfo : int\n" - ... - -def dgetc2(a, overwrite_a=...) -> typing.Any: - "lu,ipiv,jpiv,info = dgetc2(a,[overwrite_a])\n\nWrapper for ``dgetc2``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nlu : rank-2 array('d') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\njpiv : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def dgetrf(a, overwrite_a=...) -> typing.Any: - "lu,piv,info = dgetrf(a,[overwrite_a])\n\nWrapper for ``dgetrf``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nlu : rank-2 array('d') with bounds (m,n) and a storage\npiv : rank-1 array('i') with bounds (MIN(m,n))\ninfo : int\n" - ... - -def dgetri(lu, piv, lwork=..., overwrite_lu=...) -> typing.Any: - "inv_a,info = dgetri(lu,piv,[lwork,overwrite_lu])\n\nWrapper for ``dgetri``.\n\nParameters\n----------\nlu : input rank-2 array('d') with bounds (n,n)\npiv : input rank-1 array('i') with bounds (n)\n\nOther Parameters\n----------------\noverwrite_lu : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\n\nReturns\n-------\ninv_a : rank-2 array('d') with bounds (n,n) and lu storage\ninfo : int\n" - ... - -def dgetri_lwork(n) -> typing.Any: - 'work,info = dgetri_lwork(n)\n\nWrapper for ``dgetri_lwork``.\n\nParameters\n----------\nn : input int\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def dgetrs(lu, piv, b, trans=..., overwrite_b=...) -> typing.Any: - "x,info = dgetrs(lu,piv,b,[trans,overwrite_b])\n\nWrapper for ``dgetrs``.\n\nParameters\n----------\nlu : input rank-2 array('d') with bounds (n,n)\npiv : input rank-1 array('i') with bounds (n)\nb : input rank-2 array('d') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('d') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def dgges(dselect, a, b, jobvsl=..., jobvsr=..., sort_t=..., ldvsl=..., ldvsr=..., lwork=..., dselect_extra_args=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "a,b,sdim,alphar,alphai,beta,vsl,vsr,work,info = dgges(dselect,a,b,[jobvsl,jobvsr,sort_t,ldvsl,ldvsr,lwork,dselect_extra_args,overwrite_a,overwrite_b])\n\nWrapper for ``dgges``.\n\nParameters\n----------\ndselect : call-back function\na : input rank-2 array('d') with bounds (lda,n)\nb : input rank-2 array('d') with bounds (ldb,n)\n\nOther Parameters\n----------------\njobvsl : input int, optional\n Default: 1\njobvsr : input int, optional\n Default: 1\nsort_t : input int, optional\n Default: 0\ndselect_extra_args : input tuple, optional\n Default: ()\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nldvsl : input int, optional\n Default: ((jobvsl==1)?n:1)\nldvsr : input int, optional\n Default: ((jobvsr==1)?n:1)\nlwork : input int, optional\n Default: max(8*n+16,1)\n\nReturns\n-------\na : rank-2 array('d') with bounds (lda,n)\nb : rank-2 array('d') with bounds (ldb,n)\nsdim : int\nalphar : rank-1 array('d') with bounds (n)\nalphai : rank-1 array('d') with bounds (n)\nbeta : rank-1 array('d') with bounds (n)\nvsl : rank-2 array('d') with bounds (ldvsl,n)\nvsr : rank-2 array('d') with bounds (ldvsr,n)\nwork : rank-1 array('d') with bounds (MAX(lwork,1))\ninfo : int\n\nNotes\n-----\nCall-back functions::\n\n def dselect(alphar,alphai,beta): return dselect\n Required arguments:\n alphar : input float\n alphai : input float\n beta : input float\n Return objects:\n dselect : int\n" - ... - -def dggev(a, b, compute_vl=..., compute_vr=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "alphar,alphai,beta,vl,vr,work,info = dggev(a,b,[compute_vl,compute_vr,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``dggev``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\nb : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_vl : input int, optional\n Default: 1\ncompute_vr : input int, optional\n Default: 1\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(8*n,1)\n\nReturns\n-------\nalphar : rank-1 array('d') with bounds (n)\nalphai : rank-1 array('d') with bounds (n)\nbeta : rank-1 array('d') with bounds (n)\nvl : rank-2 array('d') with bounds (ldvl,n)\nvr : rank-2 array('d') with bounds (ldvr,n)\nwork : rank-1 array('d') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def dgglse(a, b, c, d, lwork=..., overwrite_a=..., overwrite_b=..., overwrite_c=..., overwrite_d=...) -> typing.Any: - "t,r,res,x,info = dgglse(a,b,c,d,[lwork,overwrite_a,overwrite_b,overwrite_c,overwrite_d])\n\nWrapper for ``dgglse``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\nb : input rank-2 array('d') with bounds (p,n)\nc : input rank-1 array('d') with bounds (m)\nd : input rank-1 array('d') with bounds (p)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\noverwrite_c : input int, optional\n Default: 0\noverwrite_d : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(m+n+p,1)\n\nReturns\n-------\nt : rank-2 array('d') with bounds (m,n) and a storage\nr : rank-2 array('d') with bounds (p,n) and b storage\nres : rank-1 array('d') with bounds (m) and c storage\nx : rank-1 array('d') with bounds (n)\ninfo : int\n" - ... - -def dgglse_lwork(m, n, p) -> typing.Any: - 'work,info = dgglse_lwork(m,n,p)\n\nWrapper for ``dgglse_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\np : input int\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def dgtsv(dl, d, du, b, overwrite_dl=..., overwrite_d=..., overwrite_du=..., overwrite_b=...) -> typing.Any: - "du2,d,du,x,info = dgtsv(dl,d,du,b,[overwrite_dl,overwrite_d,overwrite_du,overwrite_b])\n\nWrapper for ``dgtsv``.\n\nParameters\n----------\ndl : input rank-1 array('d') with bounds (n - 1)\nd : input rank-1 array('d') with bounds (n)\ndu : input rank-1 array('d') with bounds (n - 1)\nb : input rank-2 array('d') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_dl : input int, optional\n Default: 0\noverwrite_d : input int, optional\n Default: 0\noverwrite_du : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\ndu2 : rank-1 array('d') with bounds (n - 1) and dl storage\nd : rank-1 array('d') with bounds (n)\ndu : rank-1 array('d') with bounds (n - 1)\nx : rank-2 array('d') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def dgtsvx(dl, d, du, b, fact=..., trans=..., dlf=..., df=..., duf=..., du2=..., ipiv=...) -> typing.Any: - "dlf,df,duf,du2,ipiv,x,rcond,ferr,berr,info = dgtsvx(dl,d,du,b,[fact,trans,dlf,df,duf,du2,ipiv])\n\nWrapper for ``dgtsvx``.\n\nParameters\n----------\ndl : input rank-1 array('d') with bounds (MAX(0, n-1))\nd : input rank-1 array('d') with bounds (n)\ndu : input rank-1 array('d') with bounds (MAX(0, n-1))\nb : input rank-2 array('d') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nfact : input string(len=1), optional\n Default: 'N'\ntrans : input string(len=1), optional\n Default: 'N'\ndlf : input rank-1 array('d') with bounds (MAX(0,n-1))\ndf : input rank-1 array('d') with bounds (n)\nduf : input rank-1 array('d') with bounds (MAX(0,n-1))\ndu2 : input rank-1 array('d') with bounds (MAX(0,n-2))\nipiv : input rank-1 array('i') with bounds (n)\n\nReturns\n-------\ndlf : rank-1 array('d') with bounds (MAX(0,n-1))\ndf : rank-1 array('d') with bounds (n)\nduf : rank-1 array('d') with bounds (MAX(0,n-1))\ndu2 : rank-1 array('d') with bounds (MAX(0,n-2))\nipiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('d') with bounds (ldx,nrhs)\nrcond : float\nferr : rank-1 array('d') with bounds (nrhs)\nberr : rank-1 array('d') with bounds (nrhs)\ninfo : int\n" - ... - -def dgttrf(dl, d, du, overwrite_dl=..., overwrite_d=..., overwrite_du=...) -> typing.Any: - "dl,d,du,du2,ipiv,info = dgttrf(dl,d,du,[overwrite_dl,overwrite_d,overwrite_du])\n\nWrapper for ``dgttrf``.\n\nParameters\n----------\ndl : input rank-1 array('d') with bounds (n - 1)\nd : input rank-1 array('d') with bounds (n)\ndu : input rank-1 array('d') with bounds (n - 1)\n\nOther Parameters\n----------------\noverwrite_dl : input int, optional\n Default: 0\noverwrite_d : input int, optional\n Default: 0\noverwrite_du : input int, optional\n Default: 0\n\nReturns\n-------\ndl : rank-1 array('d') with bounds (n - 1)\nd : rank-1 array('d') with bounds (n)\ndu : rank-1 array('d') with bounds (n - 1)\ndu2 : rank-1 array('d') with bounds (n - 2)\nipiv : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def dgttrs(dl, d, du, du2, ipiv, b, trans=..., overwrite_b=...) -> typing.Any: - "x,info = dgttrs(dl,d,du,du2,ipiv,b,[trans,overwrite_b])\n\nWrapper for ``dgttrs``.\n\nParameters\n----------\ndl : input rank-1 array('d') with bounds (n - 1)\nd : input rank-1 array('d') with bounds (n)\ndu : input rank-1 array('d') with bounds (n - 1)\ndu2 : input rank-1 array('d') with bounds (n - 2)\nipiv : input rank-1 array('i') with bounds (n)\nb : input rank-2 array('d') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('d') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def dlamch(cmach) -> typing.Any: - 'dlamch = dlamch(cmach)\n\nWrapper for ``dlamch``.\n\nParameters\n----------\ncmach : input string(len=1)\n\nReturns\n-------\ndlamch : float\n' - ... - -def dlange(norm, a) -> typing.Any: - "n2 = dlange(norm,a)\n\nWrapper for ``dlange``.\n\nParameters\n----------\nnorm : input string(len=1)\na : input rank-2 array('d') with bounds (m,n)\n\nReturns\n-------\nn2 : float\n" - ... - -def dlarf(v, tau, c, work, side=..., incv=..., overwrite_c=...) -> typing.Any: - "c = dlarf(v,tau,c,work,[side,incv,overwrite_c])\n\nWrapper for ``dlarf``.\n\nParameters\n----------\nv : input rank-1 array('d') with bounds ((side[0]=='L'?(1 + (m-1)*abs(incv)):(1 + (n-1)*abs(incv))))\ntau : input float\nc : input rank-2 array('d') with bounds (m,n)\nwork : input rank-1 array('d') with bounds (lwork)\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\nincv : input int, optional\n Default: 1\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('d') with bounds (m,n)\n" - ... - -def dlarfg(n, alpha, x, incx=..., overwrite_x=...) -> typing.Any: - "alpha,x,tau = dlarfg(n,alpha,x,[incx,overwrite_x])\n\nWrapper for ``dlarfg``.\n\nParameters\n----------\nn : input int\nalpha : input float\nx : input rank-1 array('d') with bounds (lx)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\nalpha : float\nx : rank-1 array('d') with bounds (lx)\ntau : float\n" - ... - -def dlartg(f, g) -> typing.Any: - 'cs,sn,r = dlartg(f,g)\n\nWrapper for ``dlartg``.\n\nParameters\n----------\nf : input float\ng : input float\n\nReturns\n-------\ncs : float\nsn : float\nr : float\n' - ... - -def dlasd4(i, d, z, rho=...) -> typing.Any: - "delta,sigma,work,info = dlasd4(i,d,z,[rho])\n\nWrapper for ``dlasd4``.\n\nParameters\n----------\ni : input int\nd : input rank-1 array('d') with bounds (n)\nz : input rank-1 array('d') with bounds (n)\n\nOther Parameters\n----------------\nrho : input float, optional\n Default: 1.0\n\nReturns\n-------\ndelta : rank-1 array('d') with bounds (n)\nsigma : float\nwork : rank-1 array('d') with bounds (n)\ninfo : int\n" - ... - -def dlaswp(a, piv, k1=..., k2=..., off=..., inc=..., overwrite_a=...) -> typing.Any: - "a = dlaswp(a,piv,[k1,k2,off,inc,overwrite_a])\n\nWrapper for ``dlaswp``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (nrows,n)\npiv : input rank-1 array('i') with bounds (npiv)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nk1 : input int, optional\n Default: 0\nk2 : input int, optional\n Default: npiv-1\noff : input int, optional\n Default: 0\ninc : input int, optional\n Default: 1\n\nReturns\n-------\na : rank-2 array('d') with bounds (nrows,n)\n" - ... - -def dlauum(c, lower=..., overwrite_c=...) -> typing.Any: - "a,info = dlauum(c,[lower,overwrite_c])\n\nWrapper for ``dlauum``.\n\nParameters\n----------\nc : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_c : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('d') with bounds (n,n) and c storage\ninfo : int\n" - ... - -def dorcsd(x11, x12, x21, x22, compute_u1=..., compute_u2=..., compute_v1t=..., compute_v2t=..., trans=..., signs=..., lwork=..., overwrite_x11=..., overwrite_x12=..., overwrite_x21=..., overwrite_x22=...) -> typing.Any: - "cs11,cs12,cs21,cs22,theta,u1,u2,v1t,v2t,info = dorcsd(x11,x12,x21,x22,[compute_u1,compute_u2,compute_v1t,compute_v2t,trans,signs,lwork,overwrite_x11,overwrite_x12,overwrite_x21,overwrite_x22])\n\nWrapper for ``dorcsd``.\n\nParameters\n----------\nx11 : input rank-2 array('d') with bounds (p,q)\nx12 : input rank-2 array('d') with bounds (p,mmq)\nx21 : input rank-2 array('d') with bounds (mmp,q)\nx22 : input rank-2 array('d') with bounds (mmp,mmq)\n\nOther Parameters\n----------------\ncompute_u1 : input int, optional\n Default: 1\ncompute_u2 : input int, optional\n Default: 1\ncompute_v1t : input int, optional\n Default: 1\ncompute_v2t : input int, optional\n Default: 1\ntrans : input int, optional\n Default: 0\nsigns : input int, optional\n Default: 0\noverwrite_x11 : input int, optional\n Default: 0\noverwrite_x12 : input int, optional\n Default: 0\noverwrite_x21 : input int, optional\n Default: 0\noverwrite_x22 : input int, optional\n Default: 0\nlwork : input int, optional\n Default: 2+2*m+5*MAX(1,q-1)+4*MAX(1,q)+8*q\n\nReturns\n-------\ncs11 : rank-2 array('d') with bounds (p,q) and x11 storage\ncs12 : rank-2 array('d') with bounds (p,mmq) and x12 storage\ncs21 : rank-2 array('d') with bounds (mmp,q) and x21 storage\ncs22 : rank-2 array('d') with bounds (mmp,mmq) and x22 storage\ntheta : rank-1 array('d') with bounds (min(min(p,mmp),min(q,mmq)))\nu1 : rank-2 array('d') with bounds ((compute_u1?p:0),(compute_u1?p:0))\nu2 : rank-2 array('d') with bounds ((compute_u2?mmp:0),(compute_u2?mmp:0))\nv1t : rank-2 array('d') with bounds ((compute_v1t?q:0),(compute_v1t?q:0))\nv2t : rank-2 array('d') with bounds ((compute_v2t?mmq:0),(compute_v2t?mmq:0))\ninfo : int\n" - ... - -def dorcsd_lwork(m, p, q) -> typing.Any: - 'work,info = dorcsd_lwork(m,p,q)\n\nWrapper for ``dorcsd_lwork``.\n\nParameters\n----------\nm : input int\np : input int\nq : input int\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def dorghr(a, tau, lo=..., hi=..., lwork=..., overwrite_a=...) -> typing.Any: - "ht,info = dorghr(a,tau,[lo,hi,lwork,overwrite_a])\n\nWrapper for ``dorghr``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\ntau : input rank-1 array('d') with bounds (n - 1)\n\nOther Parameters\n----------------\nlo : input int, optional\n Default: 0\nhi : input int, optional\n Default: n-1\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(hi-lo,1)\n\nReturns\n-------\nht : rank-2 array('d') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def dorghr_lwork(n, lo=..., hi=...) -> typing.Any: - 'work,info = dorghr_lwork(n,[lo,hi])\n\nWrapper for ``dorghr_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlo : input int, optional\n Default: 0\nhi : input int, optional\n Default: n-1\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def dorgqr(a, tau, lwork=..., overwrite_a=...) -> typing.Any: - "q,work,info = dorgqr(a,tau,[lwork,overwrite_a])\n\nWrapper for ``dorgqr``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\ntau : input rank-1 array('d') with bounds (k)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\n\nReturns\n-------\nq : rank-2 array('d') with bounds (m,n) and a storage\nwork : rank-1 array('d') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def dorgrq(a, tau, lwork=..., overwrite_a=...) -> typing.Any: - "q,work,info = dorgrq(a,tau,[lwork,overwrite_a])\n\nWrapper for ``dorgrq``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\ntau : input rank-1 array('d') with bounds (k)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*m,1)\n\nReturns\n-------\nq : rank-2 array('d') with bounds (m,n) and a storage\nwork : rank-1 array('d') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def dormqr(side, trans, a, tau, c, lwork, overwrite_c=...) -> typing.Any: - "cq,work,info = dormqr(side,trans,a,tau,c,lwork,[overwrite_c])\n\nWrapper for ``dormqr``.\n\nParameters\n----------\nside : input string(len=1)\ntrans : input string(len=1)\na : input rank-2 array('d') with bounds (lda,k)\ntau : input rank-1 array('d') with bounds (k)\nc : input rank-2 array('d') with bounds (ldc,n)\nlwork : input int\n\nOther Parameters\n----------------\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\ncq : rank-2 array('d') with bounds (ldc,n) and c storage\nwork : rank-1 array('d') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def dormrz(a, tau, c, side=..., trans=..., lwork=..., overwrite_c=...) -> typing.Any: - "cq,info = dormrz(a,tau,c,[side,trans,lwork,overwrite_c])\n\nWrapper for ``dormrz``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (k,nt)\ntau : input rank-1 array('d') with bounds (k)\nc : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_c : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX((side[0]=='L'?n:m),1)\n\nReturns\n-------\ncq : rank-2 array('d') with bounds (m,n) and c storage\ninfo : int\n" - ... - -def dormrz_lwork(m, n, side=..., trans=...) -> typing.Any: - "work,info = dormrz_lwork(m,n,[side,trans])\n\nWrapper for ``dormrz_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\ntrans : input string(len=1), optional\n Default: 'N'\n\nReturns\n-------\nwork : float\ninfo : int\n" - ... - -def dpbsv(ab, b, lower=..., ldab=..., overwrite_ab=..., overwrite_b=...) -> typing.Any: - "c,x,info = dpbsv(ab,b,[lower,ldab,overwrite_ab,overwrite_b])\n\nWrapper for ``dpbsv``.\n\nParameters\n----------\nab : input rank-2 array('d') with bounds (ldab,n)\nb : input rank-2 array('d') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_ab : input int, optional\n Default: 0\nldab : input int, optional\n Default: shape(ab,0)\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('d') with bounds (ldab,n) and ab storage\nx : rank-2 array('d') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def dpbtrf(ab, lower=..., ldab=..., overwrite_ab=...) -> typing.Any: - "c,info = dpbtrf(ab,[lower,ldab,overwrite_ab])\n\nWrapper for ``dpbtrf``.\n\nParameters\n----------\nab : input rank-2 array('d') with bounds (ldab,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_ab : input int, optional\n Default: 0\nldab : input int, optional\n Default: shape(ab,0)\n\nReturns\n-------\nc : rank-2 array('d') with bounds (ldab,n) and ab storage\ninfo : int\n" - ... - -def dpbtrs(ab, b, lower=..., ldab=..., overwrite_b=...) -> typing.Any: - "x,info = dpbtrs(ab,b,[lower,ldab,overwrite_b])\n\nWrapper for ``dpbtrs``.\n\nParameters\n----------\nab : input rank-2 array('d') with bounds (ldab,n)\nb : input rank-2 array('d') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\nldab : input int, optional\n Default: shape(ab,0)\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('d') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def dpftrf(n, a, transr=..., uplo=..., overwrite_a=...) -> typing.Any: - "achol,info = dpftrf(n,a,[transr,uplo,overwrite_a])\n\nWrapper for ``dpftrf``.\n\nParameters\n----------\nn : input int\na : input rank-1 array('d') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nachol : rank-1 array('d') with bounds (nt) and a storage\ninfo : int\n" - ... - -def dpftri(n, a, transr=..., uplo=..., overwrite_a=...) -> typing.Any: - "ainv,info = dpftri(n,a,[transr,uplo,overwrite_a])\n\nWrapper for ``dpftri``.\n\nParameters\n----------\nn : input int\na : input rank-1 array('d') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nainv : rank-1 array('d') with bounds (nt) and a storage\ninfo : int\n" - ... - -def dpftrs(n, a, b, transr=..., uplo=..., overwrite_b=...) -> typing.Any: - "x,info = dpftrs(n,a,b,[transr,uplo,overwrite_b])\n\nWrapper for ``dpftrs``.\n\nParameters\n----------\nn : input int\na : input rank-1 array('d') with bounds (nt)\nb : input rank-2 array('d') with bounds (ldb,nhrs)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('d') with bounds (ldb,nhrs) and b storage\ninfo : int\n" - ... - -def dpocon(a, anorm, uplo=...) -> typing.Any: - "rcond,info = dpocon(a,anorm,[uplo])\n\nWrapper for ``dpocon``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\nanorm : input float\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\nrcond : float\ninfo : int\n" - ... - -def dposv(a, b, lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "c,x,info = dposv(a,b,[lower,overwrite_a,overwrite_b])\n\nWrapper for ``dposv``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\nb : input rank-2 array('d') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('d') with bounds (n,n) and a storage\nx : rank-2 array('d') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def dposvx(a, b, fact=..., af=..., equed=..., s=..., lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "a_s,lu,equed,s,b_s,x,rcond,ferr,berr,info = dposvx(a,b,[fact,af,equed,s,lower,overwrite_a,overwrite_b])\n\nWrapper for ``dposvx``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\nb : input rank-2 array('d') with bounds (n,nrhs)\n\nOther Parameters\n----------------\nfact : input string(len=1), optional\n Default: 'E'\noverwrite_a : input int, optional\n Default: 0\naf : input rank-2 array('d') with bounds (n,n)\nequed : input string(len=1), optional\n Default: 'Y'\ns : input rank-1 array('d') with bounds (n)\noverwrite_b : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\na_s : rank-2 array('d') with bounds (n,n) and a storage\nlu : rank-2 array('d') with bounds (n,n) and af storage\nequed : string(len=1)\ns : rank-1 array('d') with bounds (n)\nb_s : rank-2 array('d') with bounds (n,nrhs) and b storage\nx : rank-2 array('d') with bounds (n,nrhs)\nrcond : float\nferr : rank-1 array('d') with bounds (nrhs)\nberr : rank-1 array('d') with bounds (nrhs)\ninfo : int\n" - ... - -def dpotrf(a, lower=..., clean=..., overwrite_a=...) -> typing.Any: - "c,info = dpotrf(a,[lower,clean,overwrite_a])\n\nWrapper for ``dpotrf``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\nclean : input int, optional\n Default: 1\n\nReturns\n-------\nc : rank-2 array('d') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def dpotri(c, lower=..., overwrite_c=...) -> typing.Any: - "inv_a,info = dpotri(c,[lower,overwrite_c])\n\nWrapper for ``dpotri``.\n\nParameters\n----------\nc : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_c : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\ninv_a : rank-2 array('d') with bounds (n,n) and c storage\ninfo : int\n" - ... - -def dpotrs(c, b, lower=..., overwrite_b=...) -> typing.Any: - "x,info = dpotrs(c,b,[lower,overwrite_b])\n\nWrapper for ``dpotrs``.\n\nParameters\n----------\nc : input rank-2 array('d') with bounds (n,n)\nb : input rank-2 array('d') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('d') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def dppcon(n, ap, anorm, lower=...) -> typing.Any: - "rcond,info = dppcon(n,ap,anorm,[lower])\n\nWrapper for ``dppcon``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('d') with bounds (L)\nanorm : input float\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nrcond : float\ninfo : int\n" - ... - -def dppsv(n, ap, b, lower=..., overwrite_b=...) -> typing.Any: - "x,info = dppsv(n,ap,b,[lower,overwrite_b])\n\nWrapper for ``dppsv``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('d') with bounds (L)\nb : input rank-2 array('d') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('d') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def dpptrf(n, ap, lower=..., overwrite_ap=...) -> typing.Any: - "ul,info = dpptrf(n,ap,[lower,overwrite_ap])\n\nWrapper for ``dpptrf``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('d') with bounds (L)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_ap : input int, optional\n Default: 0\n\nReturns\n-------\nul : rank-1 array('d') with bounds (L) and ap storage\ninfo : int\n" - ... - -def dpptri(n, ap, lower=..., overwrite_ap=...) -> typing.Any: - "uli,info = dpptri(n,ap,[lower,overwrite_ap])\n\nWrapper for ``dpptri``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('d') with bounds (L)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_ap : input int, optional\n Default: 0\n\nReturns\n-------\nuli : rank-1 array('d') with bounds (L) and ap storage\ninfo : int\n" - ... - -def dpptrs(n, ap, b, lower=..., overwrite_b=...) -> typing.Any: - "x,info = dpptrs(n,ap,b,[lower,overwrite_b])\n\nWrapper for ``dpptrs``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('d') with bounds (L)\nb : input rank-2 array('d') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('d') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def dpstf2(a, tol=..., lower=..., overwrite_a=...) -> typing.Any: - "c,piv,rank_c,info = dpstf2(a,[tol,lower,overwrite_a])\n\nWrapper for ``dpstf2``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\ntol : input float, optional\n Default: -1.0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('d') with bounds (n,n) and a storage\npiv : rank-1 array('i') with bounds (n)\nrank_c : int\ninfo : int\n" - ... - -def dpstrf(a, tol=..., lower=..., overwrite_a=...) -> typing.Any: - "c,piv,rank_c,info = dpstrf(a,[tol,lower,overwrite_a])\n\nWrapper for ``dpstrf``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\ntol : input float, optional\n Default: -1.0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('d') with bounds (n,n) and a storage\npiv : rank-1 array('i') with bounds (n)\nrank_c : int\ninfo : int\n" - ... - -def dpteqr(d, e, z, compute_z=..., overwrite_d=..., overwrite_e=..., overwrite_z=...) -> typing.Any: - "d,e,z,info = dpteqr(d,e,z,[compute_z,overwrite_d,overwrite_e,overwrite_z])\n\nWrapper for ``dpteqr``.\n\nParameters\n----------\nd : input rank-1 array('d') with bounds (n)\ne : input rank-1 array('d') with bounds ((n>0?n-1:0))\nz : input rank-2 array('d') with bounds ((compute_z==0?shape(z, 0):max(1,n)),(compute_z==0?shape(z, 1):n))\n\nOther Parameters\n----------------\ncompute_z : input int, optional\n Default: 0\noverwrite_d : input int, optional\n Default: 0\noverwrite_e : input int, optional\n Default: 0\noverwrite_z : input int, optional\n Default: 0\n\nReturns\n-------\nd : rank-1 array('d') with bounds (n)\ne : rank-1 array('d') with bounds ((n>0?n-1:0))\nz : rank-2 array('d') with bounds ((compute_z==0?shape(z, 0):max(1,n)),(compute_z==0?shape(z, 1):n))\ninfo : int\n" - ... - -def dptsv(d, e, b, overwrite_d=..., overwrite_e=..., overwrite_b=...) -> typing.Any: - "d,du,x,info = dptsv(d,e,b,[overwrite_d,overwrite_e,overwrite_b])\n\nWrapper for ``dptsv``.\n\nParameters\n----------\nd : input rank-1 array('d') with bounds (n)\ne : input rank-1 array('d') with bounds (n - 1)\nb : input rank-2 array('d') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_d : input int, optional\n Default: 0\noverwrite_e : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nd : rank-1 array('d') with bounds (n)\ndu : rank-1 array('d') with bounds (n - 1) and e storage\nx : rank-2 array('d') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def dptsvx(d, e, b, fact=..., df=..., ef=...) -> typing.Any: - "df,ef,x,rcond,ferr,berr,info = dptsvx(d,e,b,[fact,df,ef])\n\nWrapper for ``dptsvx``.\n\nParameters\n----------\nd : input rank-1 array('d') with bounds (n)\ne : input rank-1 array('d') with bounds (max(0, n-1))\nb : input rank-2 array('d') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nfact : input string(len=1), optional\n Default: 'N'\ndf : input rank-1 array('d') with bounds (n)\nef : input rank-1 array('d') with bounds (max(0, n-1))\n\nReturns\n-------\ndf : rank-1 array('d') with bounds (n)\nef : rank-1 array('d') with bounds (max(0, n-1))\nx : rank-2 array('d') with bounds (ldx,nrhs)\nrcond : float\nferr : rank-1 array('d') with bounds (nrhs)\nberr : rank-1 array('d') with bounds (nrhs)\ninfo : int\n" - ... - -def dpttrf(d, e, overwrite_d=..., overwrite_e=...) -> typing.Any: - "d,e,info = dpttrf(d,e,[overwrite_d,overwrite_e])\n\nWrapper for ``dpttrf``.\n\nParameters\n----------\nd : input rank-1 array('d') with bounds (n)\ne : input rank-1 array('d') with bounds ((n>0?n-1:0))\n\nOther Parameters\n----------------\noverwrite_d : input int, optional\n Default: 0\noverwrite_e : input int, optional\n Default: 0\n\nReturns\n-------\nd : rank-1 array('d') with bounds (n)\ne : rank-1 array('d') with bounds ((n>0?n-1:0))\ninfo : int\n" - ... - -def dpttrs(d, e, b, overwrite_b=...) -> typing.Any: - "x,info = dpttrs(d,e,b,[overwrite_b])\n\nWrapper for ``dpttrs``.\n\nParameters\n----------\nd : input rank-1 array('d') with bounds (n)\ne : input rank-1 array('d') with bounds ((n>0?n-1:0))\nb : input rank-2 array('d') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('d') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def dsbev(ab, compute_v=..., lower=..., ldab=..., overwrite_ab=...) -> typing.Any: - "w,z,info = dsbev(ab,[compute_v,lower,ldab,overwrite_ab])\n\nWrapper for ``dsbev``.\n\nParameters\n----------\nab : input rank-2 array('d') with bounds (ldab,n)\n\nOther Parameters\n----------------\noverwrite_ab : input int, optional\n Default: 1\ncompute_v : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\nldab : input int, optional\n Default: shape(ab,0)\n\nReturns\n-------\nw : rank-1 array('d') with bounds (n)\nz : rank-2 array('d') with bounds (ldz,ldz)\ninfo : int\n" - ... - -def dsbevd(ab, compute_v=..., lower=..., ldab=..., liwork=..., overwrite_ab=...) -> typing.Any: - "w,z,info = dsbevd(ab,[compute_v,lower,ldab,liwork,overwrite_ab])\n\nWrapper for ``dsbevd``.\n\nParameters\n----------\nab : input rank-2 array('d') with bounds (ldab,n)\n\nOther Parameters\n----------------\noverwrite_ab : input int, optional\n Default: 1\ncompute_v : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\nldab : input int, optional\n Default: shape(ab,0)\nliwork : input int, optional\n Default: (compute_v?3+5*n:1)\n\nReturns\n-------\nw : rank-1 array('d') with bounds (n)\nz : rank-2 array('d') with bounds (ldz,ldz)\ninfo : int\n" - ... - -def dsbevx(ab, vl, vu, il, iu, ldab=..., compute_v=..., range=..., lower=..., abstol=..., mmax=..., overwrite_ab=...) -> typing.Any: - "w,z,m,ifail,info = dsbevx(ab,vl,vu,il,iu,[ldab,compute_v,range,lower,abstol,mmax,overwrite_ab])\n\nWrapper for ``dsbevx``.\n\nParameters\n----------\nab : input rank-2 array('d') with bounds (ldab,n)\nvl : input float\nvu : input float\nil : input int\niu : input int\n\nOther Parameters\n----------------\noverwrite_ab : input int, optional\n Default: 1\nldab : input int, optional\n Default: shape(ab,0)\ncompute_v : input int, optional\n Default: 1\nrange : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\nabstol : input float, optional\n Default: 0.0\nmmax : input int, optional\n Default: (compute_v?(range==2?(iu-il+1):n):1)\n\nReturns\n-------\nw : rank-1 array('d') with bounds (n)\nz : rank-2 array('d') with bounds (ldz,mmax)\nm : int\nifail : rank-1 array('i') with bounds ((compute_v?n:1))\ninfo : int\n" - ... - -def dsfrk(n, k, alpha, a, beta, c, transr=..., uplo=..., trans=..., overwrite_c=...) -> typing.Any: - "cout = dsfrk(n,k,alpha,a,beta,c,[transr,uplo,trans,overwrite_c])\n\nWrapper for ``dsfrk``.\n\nParameters\n----------\nn : input int\nk : input int\nalpha : input float\na : input rank-2 array('d') with bounds (lda,ka)\nbeta : input float\nc : input rank-1 array('d') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\ncout : rank-1 array('d') with bounds (nt) and c storage\n" - ... - -def dstebz(d, e, range, vl, vu, il, iu, tol, order) -> typing.Any: - "m,w,iblock,isplit,info = dstebz(d,e,range,vl,vu,il,iu,tol,order)\n\nWrapper for ``dstebz``.\n\nParameters\n----------\nd : input rank-1 array('d') with bounds (n)\ne : input rank-1 array('d') with bounds (n - 1)\nrange : input int\nvl : input float\nvu : input float\nil : input int\niu : input int\ntol : input float\norder : input string(len=1)\n\nReturns\n-------\nm : int\nw : rank-1 array('d') with bounds (n)\niblock : rank-1 array('i') with bounds (n)\nisplit : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def dstein(d, e, w, iblock, isplit) -> typing.Any: - "z,info = dstein(d,e,w,iblock,isplit)\n\nWrapper for ``dstein``.\n\nParameters\n----------\nd : input rank-1 array('d') with bounds (n)\ne : input rank-1 array('d') with bounds (n - 1)\nw : input rank-1 array('d') with bounds (m)\niblock : input rank-1 array('i') with bounds (n)\nisplit : input rank-1 array('i') with bounds (n)\n\nReturns\n-------\nz : rank-2 array('d') with bounds (ldz,m)\ninfo : int\n" - ... - -def dstemr(d, e, range, vl, vu, il, iu, compute_v=..., lwork=..., liwork=..., overwrite_d=...) -> typing.Any: - "m,w,z,info = dstemr(d,e,range,vl,vu,il,iu,[compute_v,lwork,liwork,overwrite_d])\n\nWrapper for ``dstemr``.\n\nParameters\n----------\nd : input rank-1 array('d') with bounds (n)\ne : input rank-1 array('d') with bounds (n)\nrange : input int\nvl : input float\nvu : input float\nil : input int\niu : input int\n\nOther Parameters\n----------------\noverwrite_d : input int, optional\n Default: 0\ncompute_v : input int, optional\n Default: 1\nlwork : input int, optional\n Default: max((compute_v?18*n:12*n),1)\nliwork : input int, optional\n Default: (compute_v?10*n:8*n)\n\nReturns\n-------\nm : int\nw : rank-1 array('d') with bounds (n)\nz : rank-2 array('d') with bounds (n,n)\ninfo : int\n" - ... - -def dstemr_lwork(d, e, range, vl, vu, il, iu, compute_v=..., overwrite_d=..., overwrite_e=...) -> typing.Any: - "work,iwork,info = dstemr_lwork(d,e,range,vl,vu,il,iu,[compute_v,overwrite_d,overwrite_e])\n\nWrapper for ``dstemr_lwork``.\n\nParameters\n----------\nd : input rank-1 array('d') with bounds (n)\ne : input rank-1 array('d') with bounds (n)\nrange : input int\nvl : input float\nvu : input float\nil : input int\niu : input int\n\nOther Parameters\n----------------\noverwrite_d : input int, optional\n Default: 0\noverwrite_e : input int, optional\n Default: 0\ncompute_v : input int, optional\n Default: 1\n\nReturns\n-------\nwork : float\niwork : int\ninfo : int\n" - ... - -def dsterf(d, e, overwrite_d=..., overwrite_e=...) -> typing.Any: - "vals,info = dsterf(d,e,[overwrite_d,overwrite_e])\n\nWrapper for ``dsterf``.\n\nParameters\n----------\nd : input rank-1 array('d') with bounds (n)\ne : input rank-1 array('d') with bounds (n - 1)\n\nOther Parameters\n----------------\noverwrite_d : input int, optional\n Default: 0\noverwrite_e : input int, optional\n Default: 0\n\nReturns\n-------\nvals : rank-1 array('d') with bounds (n) and d storage\ninfo : int\n" - ... - -def dstev(d, e, compute_v=..., overwrite_d=..., overwrite_e=...) -> typing.Any: - "vals,z,info = dstev(d,e,[compute_v,overwrite_d,overwrite_e])\n\nWrapper for ``dstev``.\n\nParameters\n----------\nd : input rank-1 array('d') with bounds (n)\ne : input rank-1 array('d') with bounds (MAX(n-1,1))\n\nOther Parameters\n----------------\noverwrite_d : input int, optional\n Default: 0\noverwrite_e : input int, optional\n Default: 0\ncompute_v : input int, optional\n Default: 1\n\nReturns\n-------\nvals : rank-1 array('d') with bounds (n) and d storage\nz : rank-2 array('d') with bounds (ldz,(compute_v?n:1))\ninfo : int\n" - ... - -def dsycon(a, ipiv, anorm, lower=...) -> typing.Any: - "rcond,info = dsycon(a,ipiv,anorm,[lower])\n\nWrapper for ``dsycon``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\nanorm : input float\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nrcond : float\ninfo : int\n" - ... - -def dsyconv(a, ipiv, lower=..., way=..., overwrite_a=...) -> typing.Any: - "a,e,info = dsyconv(a,ipiv,[lower,way,overwrite_a])\n\nWrapper for ``dsyconv``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\nway : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('d') with bounds (n,n)\ne : rank-1 array('d') with bounds (n)\ninfo : int\n" - ... - -def dsyequb(a, lower=...) -> typing.Any: - "s,scond,amax,info = dsyequb(a,[lower])\n\nWrapper for ``dsyequb``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (lda,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\ns : rank-1 array('d') with bounds (n)\nscond : float\namax : float\ninfo : int\n" - ... - -def dsyev(a, compute_v=..., lower=..., lwork=..., overwrite_a=...) -> typing.Any: - "w,v,info = dsyev(a,[compute_v,lower,lwork,overwrite_a])\n\nWrapper for ``dsyev``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n-1,1)\n\nReturns\n-------\nw : rank-1 array('d') with bounds (n)\nv : rank-2 array('d') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def dsyev_lwork(n, lower=...) -> typing.Any: - 'work,info = dsyev_lwork(n,[lower])\n\nWrapper for ``dsyev_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def dsyevd(a, compute_v=..., lower=..., lwork=..., liwork=..., overwrite_a=...) -> typing.Any: - "w,v,info = dsyevd(a,[compute_v,lower,lwork,liwork,overwrite_a])\n\nWrapper for ``dsyevd``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max((compute_v?1+6*n+2*n*n:2*n+1),1)\nliwork : input int, optional\n Default: (compute_v?3+5*n:1)\n\nReturns\n-------\nw : rank-1 array('d') with bounds (n)\nv : rank-2 array('d') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def dsyevd_lwork(n, compute_v=..., lower=...) -> typing.Any: - 'work,iwork,info = dsyevd_lwork(n,[compute_v,lower])\n\nWrapper for ``dsyevd_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : float\niwork : int\ninfo : int\n' - ... - -def dsyevr(a, compute_v=..., range=..., lower=..., vl=..., vu=..., il=..., iu=..., abstol=..., lwork=..., liwork=..., overwrite_a=...) -> typing.Any: - "w,z,m,isuppz,info = dsyevr(a,[compute_v,range,lower,vl,vu,il,iu,abstol,lwork,liwork,overwrite_a])\n\nWrapper for ``dsyevr``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds ``(n,n)``\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default ``1``\nrange : input string(len=1), optional\n Default ``'A'``\nlower : input int, optional\n Default ``0``\noverwrite_a : input int, optional\n Default ``0``\nvl : input float, optional\n Default ``0.0``\nvu : input float, optional\n Default ``1.0``\nil : input int, optional\n Default ``1``\niu : input int, optional\n Default ``n``\nabstol : input float, optional\n Default ``0.0``\nlwork : input int, optional\n Default ``max(26*n,1)``\nliwork : input int, optional\n Default ``max(1,10*n)``\n\nReturns\n-------\nw : rank-1 array('d') with bounds ``(n)``\nz : rank-2 array('d') with bounds ``((compute_v?MAX(0,n):0),(compute_v?(*range=='I'?iu-il+1:MAX(1,n)):0))``\nm : int\nisuppz : rank-1 array('i') with bounds ``((compute_v?(2*(*range=='A'||(*range=='I' && iu-il+1==n)?n:0)):0))``\ninfo : int\n" - ... - -def dsyevr_lwork(n, lower=...) -> typing.Any: - 'work,iwork,info = dsyevr_lwork(n,[lower])\n\nWrapper for ``dsyevr_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : float\niwork : int\ninfo : int\n' - ... - -def dsyevx(a, compute_v=..., range=..., lower=..., vl=..., vu=..., il=..., iu=..., abstol=..., lwork=..., overwrite_a=...) -> typing.Any: - "w,z,m,ifail,info = dsyevx(a,[compute_v,range,lower,vl,vu,il,iu,abstol,lwork,overwrite_a])\n\nWrapper for ``dsyevx``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds ``(n,n)``\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default ``1``\nrange : input string(len=1), optional\n Default ``'A'``\nlower : input int, optional\n Default ``0``\noverwrite_a : input int, optional\n Default ``0``\nvl : input float, optional\n Default ``0.0``\nvu : input float, optional\n Default ``1.0``\nil : input int, optional\n Default ``1``\niu : input int, optional\n Default ``n``\nabstol : input float, optional\n Default ``0.0``\nlwork : input int, optional\n Default ``max(8*n,1)``\n\nReturns\n-------\nw : rank-1 array('d') with bounds ``(n)``\nz : rank-2 array('d') with bounds ``((compute_v?MAX(0,n):0),(compute_v?(*range=='I'?iu-il+1:MAX(1,n)):0))``\nm : int\nifail : rank-1 array('i') with bounds ``((compute_v?n:0))``\ninfo : int\n" - ... - -def dsyevx_lwork(n, lower=...) -> typing.Any: - 'work,info = dsyevx_lwork(n,[lower])\n\nWrapper for ``dsyevx_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def dsygst(a, b, itype=..., lower=..., overwrite_a=...) -> typing.Any: - "c,info = dsygst(a,b,[itype,lower,overwrite_a])\n\nWrapper for ``dsygst``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\nb : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nitype : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('d') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def dsygv(a, b, itype=..., jobz=..., uplo=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "w,v,info = dsygv(a,b,[itype,jobz,uplo,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``dsygv``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\nb : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\nitype : input int, optional\n Default: 1\njobz : input string(len=1), optional\n Default: 'V'\nuplo : input string(len=1), optional\n Default: 'L'\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n-1,1)\n\nReturns\n-------\nw : rank-1 array('d') with bounds (n)\nv : rank-2 array('d') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def dsygv_lwork(n, uplo=...) -> typing.Any: - "work,info = dsygv_lwork(n,[uplo])\n\nWrapper for ``dsygv_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'L'\n\nReturns\n-------\nwork : float\ninfo : int\n" - ... - -def dsygvd(a, b, itype=..., jobz=..., uplo=..., lwork=..., liwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "w,v,info = dsygvd(a,b,[itype,jobz,uplo,lwork,liwork,overwrite_a,overwrite_b])\n\nWrapper for ``dsygvd``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds ``(n,n)``\nb : input rank-2 array('d') with bounds ``(n,n)``\n\nOther Parameters\n----------------\nitype : input int, optional\n Default ``1``\njobz : input string(len=1), optional\n Default ``'V'``\nuplo : input string(len=1), optional\n Default ``'L'``\noverwrite_a : input int, optional\n Default ``0``\noverwrite_b : input int, optional\n Default ``0``\nlwork : input int, optional\n Default ``(*jobz=='N'?2*n+1:1+6*n+2*n*n)``\nliwork : input int, optional\n Default ``(*jobz=='N'?1:5*n+3)``\n\nReturns\n-------\nw : rank-1 array('d') with bounds ``(n)``\nv : rank-2 array('d') with bounds ``(n,n)`` with ``a`` storage\ninfo : int\n" - ... - -def dsygvx(a, b, itype=..., jobz=..., range=..., uplo=..., vl=..., vu=..., il=..., iu=..., abstol=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "w,z,m,ifail,info = dsygvx(a,b,[itype,jobz,range,uplo,vl,vu,il,iu,abstol,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``dsygvx``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\nb : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\nitype : input int, optional\n Default: 1\njobz : input string(len=1), optional\n Default: 'V'\nrange : input string(len=1), optional\n Default: 'A'\nuplo : input string(len=1), optional\n Default: 'L'\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nvl : input float, optional\n Default: 0.0\nvu : input float, optional\n Default: 1.0\nil : input int, optional\n Default: 1\niu : input int, optional\n Default: n\nabstol : input float, optional\n Default: 0.0\nlwork : input int, optional\n Default: max(8*n,1)\n\nReturns\n-------\nw : rank-1 array('d') with bounds (n)\nz : rank-2 array('d') with bounds ((jobz[0]=='V'?MAX(0,n):0),(jobz[0]=='V'?(range[0]=='I'?iu-il+1:MAX(1,n)):0))\nm : int\nifail : rank-1 array('i') with bounds ((jobz[0]=='N'?0:n))\ninfo : int\n" - ... - -def dsygvx_lwork(n, uplo=...) -> typing.Any: - "work,info = dsygvx_lwork(n,[uplo])\n\nWrapper for ``dsygvx_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'L'\n\nReturns\n-------\nwork : float\ninfo : int\n" - ... - -def dsysv(a, b, lwork=..., lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "udut,ipiv,x,info = dsysv(a,b,[lwork,lower,overwrite_a,overwrite_b])\n\nWrapper for ``dsysv``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\nb : input rank-2 array('d') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(n,1)\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nudut : rank-2 array('d') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('d') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def dsysv_lwork(n, lower=...) -> typing.Any: - 'work,info = dsysv_lwork(n,[lower])\n\nWrapper for ``dsysv_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def dsysvx(a, b, af=..., ipiv=..., lwork=..., factored=..., lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "a_s,udut,ipiv,b_s,x,rcond,ferr,berr,info = dsysvx(a,b,[af,ipiv,lwork,factored,lower,overwrite_a,overwrite_b])\n\nWrapper for ``dsysvx``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\nb : input rank-2 array('d') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\naf : input rank-2 array('d') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\nfactored : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\na_s : rank-2 array('d') with bounds (n,n) and a storage\nudut : rank-2 array('d') with bounds (n,n) and af storage\nipiv : rank-1 array('i') with bounds (n)\nb_s : rank-2 array('d') with bounds (n,nrhs) and b storage\nx : rank-2 array('d') with bounds (n,nrhs)\nrcond : float\nferr : rank-1 array('d') with bounds (nrhs)\nberr : rank-1 array('d') with bounds (nrhs)\ninfo : int\n" - ... - -def dsysvx_lwork(n, lower=...) -> typing.Any: - 'work,info = dsysvx_lwork(n,[lower])\n\nWrapper for ``dsysvx_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def dsytf2(a, lower=..., overwrite_a=...) -> typing.Any: - "ldu,ipiv,info = dsytf2(a,[lower,overwrite_a])\n\nWrapper for ``dsytf2``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nldu : rank-2 array('d') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def dsytrd(a, lower=..., lwork=..., overwrite_a=...) -> typing.Any: - "c,d,e,tau,info = dsytrd(a,[lower,lwork,overwrite_a])\n\nWrapper for ``dsytrd``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (lda,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(n,1)\n\nReturns\n-------\nc : rank-2 array('d') with bounds (lda,n) and a storage\nd : rank-1 array('d') with bounds (n)\ne : rank-1 array('d') with bounds (n - 1)\ntau : rank-1 array('d') with bounds (n - 1)\ninfo : int\n" - ... - -def dsytrd_lwork(n, lower=...) -> typing.Any: - 'work,info = dsytrd_lwork(n,[lower])\n\nWrapper for ``dsytrd_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def dsytrf(a, lower=..., lwork=..., overwrite_a=...) -> typing.Any: - "ldu,ipiv,info = dsytrf(a,[lower,lwork,overwrite_a])\n\nWrapper for ``dsytrf``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(n,1)\n\nReturns\n-------\nldu : rank-2 array('d') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def dsytrf_lwork(n, lower=...) -> typing.Any: - 'work,info = dsytrf_lwork(n,[lower])\n\nWrapper for ``dsytrf_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def dtbtrs(ab, b, uplo=..., trans=..., diag=..., overwrite_b=...) -> typing.Any: - "x,info = dtbtrs(ab,b,[uplo,trans,diag,overwrite_b])\n\nWrapper for ``dtbtrs``.\n\nParameters\n----------\nab : input rank-2 array('d') with bounds (ldab,n)\nb : input rank-2 array('d') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'U'\ntrans : input string(len=1), optional\n Default: 'N'\ndiag : input string(len=1), optional\n Default: 'N'\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('d') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def dtfsm(alpha, a, b, transr=..., side=..., uplo=..., trans=..., diag=..., overwrite_b=...) -> typing.Any: - "x = dtfsm(alpha,a,b,[transr,side,uplo,trans,diag,overwrite_b])\n\nWrapper for ``dtfsm``.\n\nParameters\n----------\nalpha : input float\na : input rank-1 array('d') with bounds (nt)\nb : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nside : input string(len=1), optional\n Default: 'L'\nuplo : input string(len=1), optional\n Default: 'U'\ntrans : input string(len=1), optional\n Default: 'N'\ndiag : input string(len=1), optional\n Default: 'N'\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('d') with bounds (m,n) and b storage\n" - ... - -def dtfttp(n, arf, transr=..., uplo=...) -> typing.Any: - "ap,info = dtfttp(n,arf,[transr,uplo])\n\nWrapper for ``dtfttp``.\n\nParameters\n----------\nn : input int\narf : input rank-1 array('d') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\nap : rank-1 array('d') with bounds (nt)\ninfo : int\n" - ... - -def dtfttr(n, arf, transr=..., uplo=...) -> typing.Any: - "a,info = dtfttr(n,arf,[transr,uplo])\n\nWrapper for ``dtfttr``.\n\nParameters\n----------\nn : input int\narf : input rank-1 array('d') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\na : rank-2 array('d') with bounds (lda,n)\ninfo : int\n" - ... - -def dtgsen(select, a, b, q, z, lwork=..., liwork=..., overwrite_a=..., overwrite_b=..., overwrite_q=..., overwrite_z=...) -> typing.Any: - "a,b,alphar,alphai,beta,q,z,m,pl,pr,dif,work,iwork,info = dtgsen(select,a,b,q,z,[lwork,liwork,overwrite_a,overwrite_b,overwrite_q,overwrite_z])\n\nWrapper for ``dtgsen``.\n\nParameters\n----------\nselect : input rank-1 array('i') with bounds (n)\na : input rank-2 array('d') with bounds (lda,n)\nb : input rank-2 array('d') with bounds (ldb,n)\nq : input rank-2 array('d') with bounds (ldq,n)\nz : input rank-2 array('d') with bounds (ldz,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\noverwrite_q : input int, optional\n Default: 0\noverwrite_z : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(MAX(4*n+16,2*m*(n-m)),1)\nliwork : input int, optional\n Default: n+6\n\nReturns\n-------\na : rank-2 array('d') with bounds (lda,n)\nb : rank-2 array('d') with bounds (ldb,n)\nalphar : rank-1 array('d') with bounds (n)\nalphai : rank-1 array('d') with bounds (n)\nbeta : rank-1 array('d') with bounds (n)\nq : rank-2 array('d') with bounds (ldq,n)\nz : rank-2 array('d') with bounds (ldz,n)\nm : int\npl : float\npr : float\ndif : rank-1 array('d') with bounds (2)\nwork : rank-1 array('d') with bounds (MAX(lwork,1))\niwork : rank-1 array('i') with bounds (MAX(1,liwork))\ninfo : int\n" - ... - -def dtpmqrt(l, v, t, a, b, side=..., trans=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "a,b,info = dtpmqrt(l,v,t,a,b,[side,trans,overwrite_a,overwrite_b])\n\nWrapper for ``dtpmqrt``.\n\nParameters\n----------\nl : input int\nv : input rank-2 array('d') with bounds ((side[0]=='L'?m:n),k)\nt : input rank-2 array('d') with bounds (nb,k)\na : input rank-2 array('d') with bounds ((side[0]=='L'?k:m),(side[0]=='L'?n:k))\nb : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('d') with bounds ((side[0]=='L'?k:m),(side[0]=='L'?n:k))\nb : rank-2 array('d') with bounds (m,n)\ninfo : int\n" - ... - -def dtpqrt(l, nb, a, b, overwrite_a=..., overwrite_b=...) -> typing.Any: - "a,b,t,info = dtpqrt(l,nb,a,b,[overwrite_a,overwrite_b])\n\nWrapper for ``dtpqrt``.\n\nParameters\n----------\nl : input int\nnb : input int\na : input rank-2 array('d') with bounds (n,n)\nb : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('d') with bounds (n,n)\nb : rank-2 array('d') with bounds (m,n)\nt : rank-2 array('d') with bounds (nb,n)\ninfo : int\n" - ... - -def dtpttf(n, ap, transr=..., uplo=...) -> typing.Any: - "arf,info = dtpttf(n,ap,[transr,uplo])\n\nWrapper for ``dtpttf``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('d') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\narf : rank-1 array('d') with bounds (nt)\ninfo : int\n" - ... - -def dtpttr(n, ap, uplo=...) -> typing.Any: - "a,info = dtpttr(n,ap,[uplo])\n\nWrapper for ``dtpttr``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('d') with bounds (nt)\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\na : rank-2 array('d') with bounds (n,n)\ninfo : int\n" - ... - -def dtrsyl(a, b, c, trana=..., tranb=..., isgn=..., overwrite_c=...) -> typing.Any: - "x,scale,info = dtrsyl(a,b,c,[trana,tranb,isgn,overwrite_c])\n\nWrapper for ``dtrsyl``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,m)\nb : input rank-2 array('d') with bounds (n,n)\nc : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\ntrana : input string(len=1), optional\n Default: 'N'\ntranb : input string(len=1), optional\n Default: 'N'\nisgn : input int, optional\n Default: 1\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('d') with bounds (m,n) and c storage\nscale : float\ninfo : int\n" - ... - -def dtrtri(c, lower=..., unitdiag=..., overwrite_c=...) -> typing.Any: - "inv_c,info = dtrtri(c,[lower,unitdiag,overwrite_c])\n\nWrapper for ``dtrtri``.\n\nParameters\n----------\nc : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_c : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\nunitdiag : input int, optional\n Default: 0\n\nReturns\n-------\ninv_c : rank-2 array('d') with bounds (n,n) and c storage\ninfo : int\n" - ... - -def dtrtrs(a, b, lower=..., trans=..., unitdiag=..., lda=..., overwrite_b=...) -> typing.Any: - "x,info = dtrtrs(a,b,[lower,trans,unitdiag,lda,overwrite_b])\n\nWrapper for ``dtrtrs``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (lda,n)\nb : input rank-2 array('d') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nunitdiag : input int, optional\n Default: 0\nlda : input int, optional\n Default: shape(a,0)\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('d') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def dtrttf(a, transr=..., uplo=...) -> typing.Any: - "arf,info = dtrttf(a,[transr,uplo])\n\nWrapper for ``dtrttf``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (lda,n)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\narf : rank-1 array('d') with bounds (n*(n+1)/2)\ninfo : int\n" - ... - -def dtrttp(a, uplo=...) -> typing.Any: - "ap,info = dtrttp(a,[uplo])\n\nWrapper for ``dtrttp``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (lda,n)\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\nap : rank-1 array('d') with bounds (n*(n+1)/2)\ninfo : int\n" - ... - -def dtzrzf(a, lwork=..., overwrite_a=...) -> typing.Any: - "rz,tau,info = dtzrzf(a,[lwork,overwrite_a])\n\nWrapper for ``dtzrzf``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(m,1)\n\nReturns\n-------\nrz : rank-2 array('d') with bounds (m,n) and a storage\ntau : rank-1 array('d') with bounds (m)\ninfo : int\n" - ... - -def dtzrzf_lwork(m, n) -> typing.Any: - 'work,info = dtzrzf_lwork(m,n)\n\nWrapper for ``dtzrzf_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def ilaver() -> typing.Any: - 'major,minor,patch = ilaver()\n\nWrapper for ``ilaver``.\n\nReturns\n-------\nmajor : int\nminor : int\npatch : int\n' - ... - -def sgbsv(kl, ku, ab, b, overwrite_ab=..., overwrite_b=...) -> typing.Any: - "lub,piv,x,info = sgbsv(kl,ku,ab,b,[overwrite_ab,overwrite_b])\n\nWrapper for ``sgbsv``.\n\nParameters\n----------\nkl : input int\nku : input int\nab : input rank-2 array('f') with bounds (2*kl+ku+1,n)\nb : input rank-2 array('f') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_ab : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nlub : rank-2 array('f') with bounds (2*kl+ku+1,n) and ab storage\npiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('f') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def sgbtrf(ab, kl, ku, m=..., n=..., ldab=..., overwrite_ab=...) -> typing.Any: - "lu,ipiv,info = sgbtrf(ab,kl,ku,[m,n,ldab,overwrite_ab])\n\nWrapper for ``sgbtrf``.\n\nParameters\n----------\nab : input rank-2 array('f') with bounds (ldab,n)\nkl : input int\nku : input int\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(ab,1)\nn : input int, optional\n Default: shape(ab,1)\noverwrite_ab : input int, optional\n Default: 0\nldab : input int, optional\n Default: max(shape(ab,0),1)\n\nReturns\n-------\nlu : rank-2 array('f') with bounds (ldab,n) and ab storage\nipiv : rank-1 array('i') with bounds (MIN(m,n))\ninfo : int\n" - ... - -def sgbtrs(ab, kl, ku, b, ipiv, trans=..., n=..., ldab=..., ldb=..., overwrite_b=...) -> typing.Any: - "x,info = sgbtrs(ab,kl,ku,b,ipiv,[trans,n,ldab,ldb,overwrite_b])\n\nWrapper for ``sgbtrs``.\n\nParameters\n----------\nab : input rank-2 array('f') with bounds (ldab,n)\nkl : input int\nku : input int\nb : input rank-2 array('f') with bounds (ldb,nrhs)\nipiv : input rank-1 array('i') with bounds (n)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nn : input int, optional\n Default: shape(ab,1)\nldab : input int, optional\n Default: shape(ab,0)\nldb : input int, optional\n Default: shape(b,0)\n\nReturns\n-------\nx : rank-2 array('f') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def sgebal(a, scale=..., permute=..., overwrite_a=...) -> typing.Any: - "ba,lo,hi,pivscale,info = sgebal(a,[scale,permute,overwrite_a])\n\nWrapper for ``sgebal``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\n\nOther Parameters\n----------------\nscale : input int, optional\n Default: 0\npermute : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nba : rank-2 array('f') with bounds (m,n) and a storage\nlo : int\nhi : int\npivscale : rank-1 array('f') with bounds (n)\ninfo : int\n" - ... - -def sgecon(a, anorm, norm=...) -> typing.Any: - "rcond,info = sgecon(a,anorm,[norm])\n\nWrapper for ``sgecon``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\nanorm : input float\n\nOther Parameters\n----------------\nnorm : input string(len=1), optional\n Default: '1'\n\nReturns\n-------\nrcond : float\ninfo : int\n" - ... - -def sgeequ(a) -> typing.Any: - "r,c,rowcnd,colcnd,amax,info = sgeequ(a)\n\nWrapper for ``sgeequ``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\n\nReturns\n-------\nr : rank-1 array('f') with bounds (m)\nc : rank-1 array('f') with bounds (n)\nrowcnd : float\ncolcnd : float\namax : float\ninfo : int\n" - ... - -def sgeequb(a) -> typing.Any: - "r,c,rowcnd,colcnd,amax,info = sgeequb(a)\n\nWrapper for ``sgeequb``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\n\nReturns\n-------\nr : rank-1 array('f') with bounds (m)\nc : rank-1 array('f') with bounds (n)\nrowcnd : float\ncolcnd : float\namax : float\ninfo : int\n" - ... - -def sgees(sselect, a, compute_v=..., sort_t=..., lwork=..., sselect_extra_args=..., overwrite_a=...) -> typing.Any: - "t,sdim,wr,wi,vs,work,info = sgees(sselect,a,[compute_v,sort_t,lwork,sselect_extra_args,overwrite_a])\n\nWrapper for ``sgees``.\n\nParameters\n----------\nsselect : call-back function\na : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default: 1\nsort_t : input int, optional\n Default: 0\nsselect_extra_args : input tuple, optional\n Default: ()\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\n\nReturns\n-------\nt : rank-2 array('f') with bounds (n,n) and a storage\nsdim : int\nwr : rank-1 array('f') with bounds (n)\nwi : rank-1 array('f') with bounds (n)\nvs : rank-2 array('f') with bounds (ldvs,n)\nwork : rank-1 array('f') with bounds (MAX(lwork,1))\ninfo : int\n\nNotes\n-----\nCall-back functions::\n\n def sselect(arg1,arg2): return sselect\n Required arguments:\n arg1 : input float\n arg2 : input float\n Return objects:\n sselect : int\n" - ... - -def sgeev(a, compute_vl=..., compute_vr=..., lwork=..., overwrite_a=...) -> typing.Any: - "wr,wi,vl,vr,info = sgeev(a,[compute_vl,compute_vr,lwork,overwrite_a])\n\nWrapper for ``sgeev``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_vl : input int, optional\n Default: 1\ncompute_vr : input int, optional\n Default: 1\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(4*n,1)\n\nReturns\n-------\nwr : rank-1 array('f') with bounds (n)\nwi : rank-1 array('f') with bounds (n)\nvl : rank-2 array('f') with bounds (ldvl,n)\nvr : rank-2 array('f') with bounds (ldvr,n)\ninfo : int\n" - ... - -def sgeev_lwork(n, compute_vl=..., compute_vr=...) -> typing.Any: - 'work,info = sgeev_lwork(n,[compute_vl,compute_vr])\n\nWrapper for ``sgeev_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\ncompute_vl : input int, optional\n Default: 1\ncompute_vr : input int, optional\n Default: 1\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def sgegv(*args, **kwds) -> typing.Any: - "`sgegv` is deprecated!\nThe `*gegv` family of routines has been deprecated in\nLAPACK 3.6.0 in favor of the `*ggev` family of routines.\nThe corresponding wrappers will be removed from SciPy in\na future release.\n\nalphar,alphai,beta,vl,vr,info = sgegv(a,b,[compute_vl,compute_vr,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``sgegv``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\nb : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_vl : input int, optional\n Default: 1\ncompute_vr : input int, optional\n Default: 1\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(8*n,1)\n\nReturns\n-------\nalphar : rank-1 array('f') with bounds (n)\nalphai : rank-1 array('f') with bounds (n)\nbeta : rank-1 array('f') with bounds (n)\nvl : rank-2 array('f') with bounds (ldvl,n)\nvr : rank-2 array('f') with bounds (ldvr,n)\ninfo : int\n" - ... - -def sgehrd(a, lo=..., hi=..., lwork=..., overwrite_a=...) -> typing.Any: - "ht,tau,info = sgehrd(a,[lo,hi,lwork,overwrite_a])\n\nWrapper for ``sgehrd``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\nlo : input int, optional\n Default: 0\nhi : input int, optional\n Default: n-1\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(n,1)\n\nReturns\n-------\nht : rank-2 array('f') with bounds (n,n) and a storage\ntau : rank-1 array('f') with bounds (n - 1)\ninfo : int\n" - ... - -def sgehrd_lwork(n, lo=..., hi=...) -> typing.Any: - 'work,info = sgehrd_lwork(n,[lo,hi])\n\nWrapper for ``sgehrd_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlo : input int, optional\n Default: 0\nhi : input int, optional\n Default: n-1\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def sgejsv(a, joba=..., jobu=..., jobv=..., jobr=..., jobt=..., jobp=..., lwork=..., overwrite_a=...) -> typing.Any: - "sva,u,v,workout,iworkout,info = sgejsv(a,[joba,jobu,jobv,jobr,jobt,jobp,lwork,overwrite_a])\n\nWrapper for ``sgejsv``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (lda,n)\n\nOther Parameters\n----------------\njoba : input int, optional\n Default: 4\njobu : input int, optional\n Default: 0\njobv : input int, optional\n Default: 0\njobr : input int, optional\n Default: 1\njobt : input int, optional\n Default: 0\njobp : input int, optional\n Default: 1\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(6*n+2*n*n, max(2*m+n, max(4*n+n*n, max(2*n+n*n+6, 7))))\n\nReturns\n-------\nsva : rank-1 array('f') with bounds (n)\nu : rank-2 array('f') with bounds (((jobt == 0)&&(jobu == 3)?0:m),((jobt == 0)&&(jobu == 3)?0:(jobu == 1?m:n)))\nv : rank-2 array('f') with bounds (((jobt == 0)&&(jobv == 3)?0:ldv),((jobt == 0)&&(jobv == 3)?0:n))\nworkout : rank-1 array('f') with bounds (7)\niworkout : rank-1 array('i') with bounds (3)\ninfo : int\n" - ... - -def sgels(a, b, trans=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "lqr,x,info = sgels(a,b,[trans,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``sgels``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\nb : input rank-2 array('f') with bounds (MAX(m,n),nrhs)\n\nOther Parameters\n----------------\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(MIN(m,n)+MAX(MIN(m,n),nrhs),1)\n\nReturns\n-------\nlqr : rank-2 array('f') with bounds (m,n) and a storage\nx : rank-2 array('f') with bounds (MAX(m,n),nrhs) and b storage\ninfo : int\n" - ... - -def sgels_lwork(m, n, nrhs, trans=...) -> typing.Any: - "work,info = sgels_lwork(m,n,nrhs,[trans])\n\nWrapper for ``sgels_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\nnrhs : input int\n\nOther Parameters\n----------------\ntrans : input string(len=1), optional\n Default: 'N'\n\nReturns\n-------\nwork : float\ninfo : int\n" - ... - -def sgelsd(a, b, lwork, size_iwork, cond=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "x,s,rank,info = sgelsd(a,b,lwork,size_iwork,[cond,overwrite_a,overwrite_b])\n\nWrapper for ``sgelsd``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\nb : input rank-2 array('f') with bounds (maxmn,nrhs)\nlwork : input int\nsize_iwork : input int\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\ncond : input float, optional\n Default: -1.0\n\nReturns\n-------\nx : rank-2 array('f') with bounds (maxmn,nrhs) and b storage\ns : rank-1 array('f') with bounds (minmn)\nrank : int\ninfo : int\n" - ... - -def sgelsd_lwork(m, n, nrhs, cond=..., lwork=...) -> typing.Any: - 'work,iwork,info = sgelsd_lwork(m,n,nrhs,[cond,lwork])\n\nWrapper for ``sgelsd_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\nnrhs : input int\n\nOther Parameters\n----------------\ncond : input float, optional\n Default: -1.0\nlwork : input int, optional\n Default: -1\n\nReturns\n-------\nwork : float\niwork : int\ninfo : int\n' - ... - -def sgelss(a, b, cond=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "v,x,s,rank,work,info = sgelss(a,b,[cond,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``sgelss``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\nb : input rank-2 array('f') with bounds (maxmn,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\ncond : input float, optional\n Default: -1.0\nlwork : input int, optional\n Default: max(3*minmn+MAX(2*minmn,MAX(maxmn,nrhs)),1)\n\nReturns\n-------\nv : rank-2 array('f') with bounds (m,n) and a storage\nx : rank-2 array('f') with bounds (maxmn,nrhs) and b storage\ns : rank-1 array('f') with bounds (minmn)\nrank : int\nwork : rank-1 array('f') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def sgelss_lwork(m, n, nrhs, cond=..., lwork=...) -> typing.Any: - 'work,info = sgelss_lwork(m,n,nrhs,[cond,lwork])\n\nWrapper for ``sgelss_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\nnrhs : input int\n\nOther Parameters\n----------------\ncond : input float, optional\n Default: -1.0\nlwork : input int, optional\n Default: -1\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def sgelsy(a, b, jptv, cond, lwork, overwrite_a=..., overwrite_b=...) -> typing.Any: - "v,x,j,rank,info = sgelsy(a,b,jptv,cond,lwork,[overwrite_a,overwrite_b])\n\nWrapper for ``sgelsy``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\nb : input rank-2 array('f') with bounds (maxmn,nrhs)\njptv : input rank-1 array('i') with bounds (n)\ncond : input float\nlwork : input int\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nv : rank-2 array('f') with bounds (m,n) and a storage\nx : rank-2 array('f') with bounds (maxmn,nrhs) and b storage\nj : rank-1 array('i') with bounds (n) and jptv storage\nrank : int\ninfo : int\n" - ... - -def sgelsy_lwork(m, n, nrhs, cond, lwork=...) -> typing.Any: - 'work,info = sgelsy_lwork(m,n,nrhs,cond,[lwork])\n\nWrapper for ``sgelsy_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\nnrhs : input int\ncond : input float\n\nOther Parameters\n----------------\nlwork : input int, optional\n Default: -1\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def sgemqrt(v, t, c, side=..., trans=..., overwrite_c=...) -> typing.Any: - "c,info = sgemqrt(v,t,c,[side,trans,overwrite_c])\n\nWrapper for ``sgemqrt``.\n\nParameters\n----------\nv : input rank-2 array('f') with bounds ((side[0]=='L'?m:n),k)\nt : input rank-2 array('f') with bounds (nb,k)\nc : input rank-2 array('f') with bounds (m,n)\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('f') with bounds (m,n)\ninfo : int\n" - ... - -def sgeqp3(a, lwork=..., overwrite_a=...) -> typing.Any: - "qr,jpvt,tau,work,info = sgeqp3(a,[lwork,overwrite_a])\n\nWrapper for ``sgeqp3``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*(n+1),1)\n\nReturns\n-------\nqr : rank-2 array('f') with bounds (m,n) and a storage\njpvt : rank-1 array('i') with bounds (n)\ntau : rank-1 array('f') with bounds (MIN(m,n))\nwork : rank-1 array('f') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def sgeqrf(a, lwork=..., overwrite_a=...) -> typing.Any: - "qr,tau,work,info = sgeqrf(a,[lwork,overwrite_a])\n\nWrapper for ``sgeqrf``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\n\nReturns\n-------\nqr : rank-2 array('f') with bounds (m,n) and a storage\ntau : rank-1 array('f') with bounds (MIN(m,n))\nwork : rank-1 array('f') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def sgeqrf_lwork(m, n) -> typing.Any: - 'work,info = sgeqrf_lwork(m,n)\n\nWrapper for ``sgeqrf_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def sgeqrfp(a, lwork=..., overwrite_a=...) -> typing.Any: - "qr,tau,info = sgeqrfp(a,[lwork,overwrite_a])\n\nWrapper for ``sgeqrfp``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(1, n)\n\nReturns\n-------\nqr : rank-2 array('f') with bounds (m,n) and a storage\ntau : rank-1 array('f') with bounds (MIN(m,n))\ninfo : int\n" - ... - -def sgeqrfp_lwork(m, n) -> typing.Any: - 'work,info = sgeqrfp_lwork(m,n)\n\nWrapper for ``sgeqrfp_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def sgeqrt(nb, a, overwrite_a=...) -> typing.Any: - "a,t,info = sgeqrt(nb,a,[overwrite_a])\n\nWrapper for ``sgeqrt``.\n\nParameters\n----------\nnb : input int\na : input rank-2 array('f') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('f') with bounds (m,n)\nt : rank-2 array('f') with bounds (nb,MIN(m,n))\ninfo : int\n" - ... - -def sgerqf(a, lwork=..., overwrite_a=...) -> typing.Any: - "qr,tau,work,info = sgerqf(a,[lwork,overwrite_a])\n\nWrapper for ``sgerqf``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*m,1)\n\nReturns\n-------\nqr : rank-2 array('f') with bounds (m,n) and a storage\ntau : rank-1 array('f') with bounds (MIN(m,n))\nwork : rank-1 array('f') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def sgesc2(lu, rhs, ipiv, jpiv, overwrite_rhs=...) -> typing.Any: - "x,scale = sgesc2(lu,rhs,ipiv,jpiv,[overwrite_rhs])\n\nWrapper for ``sgesc2``.\n\nParameters\n----------\nlu : input rank-2 array('f') with bounds (n,n)\nrhs : input rank-1 array('f') with bounds (n)\nipiv : input rank-1 array('i') with bounds (n)\njpiv : input rank-1 array('i') with bounds (n)\n\nOther Parameters\n----------------\noverwrite_rhs : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-1 array('f') with bounds (n) and rhs storage\nscale : float\n" - ... - -def sgesdd(a, compute_uv=..., full_matrices=..., lwork=..., overwrite_a=...) -> typing.Any: - "u,s,vt,info = sgesdd(a,[compute_uv,full_matrices,lwork,overwrite_a])\n\nWrapper for ``sgesdd``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\ncompute_uv : input int, optional\n Default: 1\nfull_matrices : input int, optional\n Default: 1\nlwork : input int, optional\n Default: max((compute_uv?4*minmn*minmn+MAX(m,n)+9*minmn:MAX(14*minmn+4,10*minmn+2+25*(25+8))+MAX(m,n)),1)\n\nReturns\n-------\nu : rank-2 array('f') with bounds (u0,u1)\ns : rank-1 array('f') with bounds (minmn)\nvt : rank-2 array('f') with bounds (vt0,vt1)\ninfo : int\n" - ... - -def sgesdd_lwork(m, n, compute_uv=..., full_matrices=...) -> typing.Any: - 'work,info = sgesdd_lwork(m,n,[compute_uv,full_matrices])\n\nWrapper for ``sgesdd_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nOther Parameters\n----------------\ncompute_uv : input int, optional\n Default: 1\nfull_matrices : input int, optional\n Default: 1\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def sgesv(a, b, overwrite_a=..., overwrite_b=...) -> typing.Any: - "lu,piv,x,info = sgesv(a,b,[overwrite_a,overwrite_b])\n\nWrapper for ``sgesv``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\nb : input rank-2 array('f') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nlu : rank-2 array('f') with bounds (n,n) and a storage\npiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('f') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def sgesvd(a, compute_uv=..., full_matrices=..., lwork=..., overwrite_a=...) -> typing.Any: - "u,s,vt,info = sgesvd(a,[compute_uv,full_matrices,lwork,overwrite_a])\n\nWrapper for ``sgesvd``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\ncompute_uv : input int, optional\n Default: 1\nfull_matrices : input int, optional\n Default: 1\nlwork : input int, optional\n Default: max(MAX(3*minmn+MAX(m,n),5*minmn),1)\n\nReturns\n-------\nu : rank-2 array('f') with bounds (u0,u1)\ns : rank-1 array('f') with bounds (minmn)\nvt : rank-2 array('f') with bounds (vt0,vt1)\ninfo : int\n" - ... - -def sgesvd_lwork(m, n, compute_uv=..., full_matrices=...) -> typing.Any: - 'work,info = sgesvd_lwork(m,n,[compute_uv,full_matrices])\n\nWrapper for ``sgesvd_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nOther Parameters\n----------------\ncompute_uv : input int, optional\n Default: 1\nfull_matrices : input int, optional\n Default: 1\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def sgesvx(a, b, fact=..., trans=..., af=..., ipiv=..., equed=..., r=..., c=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "as,lu,ipiv,equed,rs,cs,bs,x,rcond,ferr,berr,info = sgesvx(a,b,[fact,trans,af,ipiv,equed,r,c,overwrite_a,overwrite_b])\n\nWrapper for ``sgesvx``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\nb : input rank-2 array('f') with bounds (n,nrhs)\n\nOther Parameters\n----------------\nfact : input string(len=1), optional\n Default: 'E'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_a : input int, optional\n Default: 0\naf : input rank-2 array('f') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\nequed : input string(len=1), optional\n Default: 'B'\nr : input rank-1 array('f') with bounds (n)\nc : input rank-1 array('f') with bounds (n)\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nas : rank-2 array('f') with bounds (n,n) and a storage\nlu : rank-2 array('f') with bounds (n,n) and af storage\nipiv : rank-1 array('i') with bounds (n)\nequed : string(len=1)\nrs : rank-1 array('f') with bounds (n) and r storage\ncs : rank-1 array('f') with bounds (n) and c storage\nbs : rank-2 array('f') with bounds (n,nrhs) and b storage\nx : rank-2 array('f') with bounds (n,nrhs)\nrcond : float\nferr : rank-1 array('f') with bounds (nrhs)\nberr : rank-1 array('f') with bounds (nrhs)\ninfo : int\n" - ... - -def sgetc2(a, overwrite_a=...) -> typing.Any: - "lu,ipiv,jpiv,info = sgetc2(a,[overwrite_a])\n\nWrapper for ``sgetc2``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nlu : rank-2 array('f') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\njpiv : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def sgetrf(a, overwrite_a=...) -> typing.Any: - "lu,piv,info = sgetrf(a,[overwrite_a])\n\nWrapper for ``sgetrf``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nlu : rank-2 array('f') with bounds (m,n) and a storage\npiv : rank-1 array('i') with bounds (MIN(m,n))\ninfo : int\n" - ... - -def sgetri(lu, piv, lwork=..., overwrite_lu=...) -> typing.Any: - "inv_a,info = sgetri(lu,piv,[lwork,overwrite_lu])\n\nWrapper for ``sgetri``.\n\nParameters\n----------\nlu : input rank-2 array('f') with bounds (n,n)\npiv : input rank-1 array('i') with bounds (n)\n\nOther Parameters\n----------------\noverwrite_lu : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\n\nReturns\n-------\ninv_a : rank-2 array('f') with bounds (n,n) and lu storage\ninfo : int\n" - ... - -def sgetri_lwork(n) -> typing.Any: - 'work,info = sgetri_lwork(n)\n\nWrapper for ``sgetri_lwork``.\n\nParameters\n----------\nn : input int\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def sgetrs(lu, piv, b, trans=..., overwrite_b=...) -> typing.Any: - "x,info = sgetrs(lu,piv,b,[trans,overwrite_b])\n\nWrapper for ``sgetrs``.\n\nParameters\n----------\nlu : input rank-2 array('f') with bounds (n,n)\npiv : input rank-1 array('i') with bounds (n)\nb : input rank-2 array('f') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('f') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def sgges(sselect, a, b, jobvsl=..., jobvsr=..., sort_t=..., ldvsl=..., ldvsr=..., lwork=..., sselect_extra_args=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "a,b,sdim,alphar,alphai,beta,vsl,vsr,work,info = sgges(sselect,a,b,[jobvsl,jobvsr,sort_t,ldvsl,ldvsr,lwork,sselect_extra_args,overwrite_a,overwrite_b])\n\nWrapper for ``sgges``.\n\nParameters\n----------\nsselect : call-back function\na : input rank-2 array('f') with bounds (lda,n)\nb : input rank-2 array('f') with bounds (ldb,n)\n\nOther Parameters\n----------------\njobvsl : input int, optional\n Default: 1\njobvsr : input int, optional\n Default: 1\nsort_t : input int, optional\n Default: 0\nsselect_extra_args : input tuple, optional\n Default: ()\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nldvsl : input int, optional\n Default: ((jobvsl==1)?n:1)\nldvsr : input int, optional\n Default: ((jobvsr==1)?n:1)\nlwork : input int, optional\n Default: max(8*n+16,1)\n\nReturns\n-------\na : rank-2 array('f') with bounds (lda,n)\nb : rank-2 array('f') with bounds (ldb,n)\nsdim : int\nalphar : rank-1 array('f') with bounds (n)\nalphai : rank-1 array('f') with bounds (n)\nbeta : rank-1 array('f') with bounds (n)\nvsl : rank-2 array('f') with bounds (ldvsl,n)\nvsr : rank-2 array('f') with bounds (ldvsr,n)\nwork : rank-1 array('f') with bounds (MAX(lwork,1))\ninfo : int\n\nNotes\n-----\nCall-back functions::\n\n def sselect(alphar,alphai,beta): return sselect\n Required arguments:\n alphar : input float\n alphai : input float\n beta : input float\n Return objects:\n sselect : int\n" - ... - -def sggev(a, b, compute_vl=..., compute_vr=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "alphar,alphai,beta,vl,vr,work,info = sggev(a,b,[compute_vl,compute_vr,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``sggev``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\nb : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_vl : input int, optional\n Default: 1\ncompute_vr : input int, optional\n Default: 1\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(8*n,1)\n\nReturns\n-------\nalphar : rank-1 array('f') with bounds (n)\nalphai : rank-1 array('f') with bounds (n)\nbeta : rank-1 array('f') with bounds (n)\nvl : rank-2 array('f') with bounds (ldvl,n)\nvr : rank-2 array('f') with bounds (ldvr,n)\nwork : rank-1 array('f') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def sgglse(a, b, c, d, lwork=..., overwrite_a=..., overwrite_b=..., overwrite_c=..., overwrite_d=...) -> typing.Any: - "t,r,res,x,info = sgglse(a,b,c,d,[lwork,overwrite_a,overwrite_b,overwrite_c,overwrite_d])\n\nWrapper for ``sgglse``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\nb : input rank-2 array('f') with bounds (p,n)\nc : input rank-1 array('f') with bounds (m)\nd : input rank-1 array('f') with bounds (p)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\noverwrite_c : input int, optional\n Default: 0\noverwrite_d : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(m+n+p,1)\n\nReturns\n-------\nt : rank-2 array('f') with bounds (m,n) and a storage\nr : rank-2 array('f') with bounds (p,n) and b storage\nres : rank-1 array('f') with bounds (m) and c storage\nx : rank-1 array('f') with bounds (n)\ninfo : int\n" - ... - -def sgglse_lwork(m, n, p) -> typing.Any: - 'work,info = sgglse_lwork(m,n,p)\n\nWrapper for ``sgglse_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\np : input int\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def sgtsv(dl, d, du, b, overwrite_dl=..., overwrite_d=..., overwrite_du=..., overwrite_b=...) -> typing.Any: - "du2,d,du,x,info = sgtsv(dl,d,du,b,[overwrite_dl,overwrite_d,overwrite_du,overwrite_b])\n\nWrapper for ``sgtsv``.\n\nParameters\n----------\ndl : input rank-1 array('f') with bounds (n - 1)\nd : input rank-1 array('f') with bounds (n)\ndu : input rank-1 array('f') with bounds (n - 1)\nb : input rank-2 array('f') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_dl : input int, optional\n Default: 0\noverwrite_d : input int, optional\n Default: 0\noverwrite_du : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\ndu2 : rank-1 array('f') with bounds (n - 1) and dl storage\nd : rank-1 array('f') with bounds (n)\ndu : rank-1 array('f') with bounds (n - 1)\nx : rank-2 array('f') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def sgtsvx(dl, d, du, b, fact=..., trans=..., dlf=..., df=..., duf=..., du2=..., ipiv=...) -> typing.Any: - "dlf,df,duf,du2,ipiv,x,rcond,ferr,berr,info = sgtsvx(dl,d,du,b,[fact,trans,dlf,df,duf,du2,ipiv])\n\nWrapper for ``sgtsvx``.\n\nParameters\n----------\ndl : input rank-1 array('f') with bounds (MAX(0, n-1))\nd : input rank-1 array('f') with bounds (n)\ndu : input rank-1 array('f') with bounds (MAX(0, n-1))\nb : input rank-2 array('f') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nfact : input string(len=1), optional\n Default: 'N'\ntrans : input string(len=1), optional\n Default: 'N'\ndlf : input rank-1 array('f') with bounds (MAX(0,n-1))\ndf : input rank-1 array('f') with bounds (n)\nduf : input rank-1 array('f') with bounds (MAX(0,n-1))\ndu2 : input rank-1 array('f') with bounds (MAX(0,n-2))\nipiv : input rank-1 array('i') with bounds (n)\n\nReturns\n-------\ndlf : rank-1 array('f') with bounds (MAX(0,n-1))\ndf : rank-1 array('f') with bounds (n)\nduf : rank-1 array('f') with bounds (MAX(0,n-1))\ndu2 : rank-1 array('f') with bounds (MAX(0,n-2))\nipiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('f') with bounds (ldx,nrhs)\nrcond : float\nferr : rank-1 array('f') with bounds (nrhs)\nberr : rank-1 array('f') with bounds (nrhs)\ninfo : int\n" - ... - -def sgttrf(dl, d, du, overwrite_dl=..., overwrite_d=..., overwrite_du=...) -> typing.Any: - "dl,d,du,du2,ipiv,info = sgttrf(dl,d,du,[overwrite_dl,overwrite_d,overwrite_du])\n\nWrapper for ``sgttrf``.\n\nParameters\n----------\ndl : input rank-1 array('f') with bounds (n - 1)\nd : input rank-1 array('f') with bounds (n)\ndu : input rank-1 array('f') with bounds (n - 1)\n\nOther Parameters\n----------------\noverwrite_dl : input int, optional\n Default: 0\noverwrite_d : input int, optional\n Default: 0\noverwrite_du : input int, optional\n Default: 0\n\nReturns\n-------\ndl : rank-1 array('f') with bounds (n - 1)\nd : rank-1 array('f') with bounds (n)\ndu : rank-1 array('f') with bounds (n - 1)\ndu2 : rank-1 array('f') with bounds (n - 2)\nipiv : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def sgttrs(dl, d, du, du2, ipiv, b, trans=..., overwrite_b=...) -> typing.Any: - "x,info = sgttrs(dl,d,du,du2,ipiv,b,[trans,overwrite_b])\n\nWrapper for ``sgttrs``.\n\nParameters\n----------\ndl : input rank-1 array('f') with bounds (n - 1)\nd : input rank-1 array('f') with bounds (n)\ndu : input rank-1 array('f') with bounds (n - 1)\ndu2 : input rank-1 array('f') with bounds (n - 2)\nipiv : input rank-1 array('i') with bounds (n)\nb : input rank-2 array('f') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('f') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def slamch(cmach) -> typing.Any: - 'slamch = slamch(cmach)\n\nWrapper for ``slamch``.\n\nParameters\n----------\ncmach : input string(len=1)\n\nReturns\n-------\nslamch : float\n' - ... - -def slange(norm, a) -> typing.Any: - "n2 = slange(norm,a)\n\nWrapper for ``slange``.\n\nParameters\n----------\nnorm : input string(len=1)\na : input rank-2 array('f') with bounds (m,n)\n\nReturns\n-------\nn2 : float\n" - ... - -def slarf(v, tau, c, work, side=..., incv=..., overwrite_c=...) -> typing.Any: - "c = slarf(v,tau,c,work,[side,incv,overwrite_c])\n\nWrapper for ``slarf``.\n\nParameters\n----------\nv : input rank-1 array('f') with bounds ((side[0]=='L'?(1 + (m-1)*abs(incv)):(1 + (n-1)*abs(incv))))\ntau : input float\nc : input rank-2 array('f') with bounds (m,n)\nwork : input rank-1 array('f') with bounds (lwork)\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\nincv : input int, optional\n Default: 1\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('f') with bounds (m,n)\n" - ... - -def slarfg(n, alpha, x, incx=..., overwrite_x=...) -> typing.Any: - "alpha,x,tau = slarfg(n,alpha,x,[incx,overwrite_x])\n\nWrapper for ``slarfg``.\n\nParameters\n----------\nn : input int\nalpha : input float\nx : input rank-1 array('f') with bounds (lx)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\nalpha : float\nx : rank-1 array('f') with bounds (lx)\ntau : float\n" - ... - -def slartg(f, g) -> typing.Any: - 'cs,sn,r = slartg(f,g)\n\nWrapper for ``slartg``.\n\nParameters\n----------\nf : input float\ng : input float\n\nReturns\n-------\ncs : float\nsn : float\nr : float\n' - ... - -def slasd4(i, d, z, rho=...) -> typing.Any: - "delta,sigma,work,info = slasd4(i,d,z,[rho])\n\nWrapper for ``slasd4``.\n\nParameters\n----------\ni : input int\nd : input rank-1 array('f') with bounds (n)\nz : input rank-1 array('f') with bounds (n)\n\nOther Parameters\n----------------\nrho : input float, optional\n Default: 1.0\n\nReturns\n-------\ndelta : rank-1 array('f') with bounds (n)\nsigma : float\nwork : rank-1 array('f') with bounds (n)\ninfo : int\n" - ... - -def slaswp(a, piv, k1=..., k2=..., off=..., inc=..., overwrite_a=...) -> typing.Any: - "a = slaswp(a,piv,[k1,k2,off,inc,overwrite_a])\n\nWrapper for ``slaswp``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (nrows,n)\npiv : input rank-1 array('i') with bounds (npiv)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nk1 : input int, optional\n Default: 0\nk2 : input int, optional\n Default: npiv-1\noff : input int, optional\n Default: 0\ninc : input int, optional\n Default: 1\n\nReturns\n-------\na : rank-2 array('f') with bounds (nrows,n)\n" - ... - -def slauum(c, lower=..., overwrite_c=...) -> typing.Any: - "a,info = slauum(c,[lower,overwrite_c])\n\nWrapper for ``slauum``.\n\nParameters\n----------\nc : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_c : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('f') with bounds (n,n) and c storage\ninfo : int\n" - ... - -def sorcsd(x11, x12, x21, x22, compute_u1=..., compute_u2=..., compute_v1t=..., compute_v2t=..., trans=..., signs=..., lwork=..., overwrite_x11=..., overwrite_x12=..., overwrite_x21=..., overwrite_x22=...) -> typing.Any: - "cs11,cs12,cs21,cs22,theta,u1,u2,v1t,v2t,info = sorcsd(x11,x12,x21,x22,[compute_u1,compute_u2,compute_v1t,compute_v2t,trans,signs,lwork,overwrite_x11,overwrite_x12,overwrite_x21,overwrite_x22])\n\nWrapper for ``sorcsd``.\n\nParameters\n----------\nx11 : input rank-2 array('f') with bounds (p,q)\nx12 : input rank-2 array('f') with bounds (p,mmq)\nx21 : input rank-2 array('f') with bounds (mmp,q)\nx22 : input rank-2 array('f') with bounds (mmp,mmq)\n\nOther Parameters\n----------------\ncompute_u1 : input int, optional\n Default: 1\ncompute_u2 : input int, optional\n Default: 1\ncompute_v1t : input int, optional\n Default: 1\ncompute_v2t : input int, optional\n Default: 1\ntrans : input int, optional\n Default: 0\nsigns : input int, optional\n Default: 0\noverwrite_x11 : input int, optional\n Default: 0\noverwrite_x12 : input int, optional\n Default: 0\noverwrite_x21 : input int, optional\n Default: 0\noverwrite_x22 : input int, optional\n Default: 0\nlwork : input int, optional\n Default: 2+2*m+5*MAX(1,q-1)+4*MAX(1,q)+8*q\n\nReturns\n-------\ncs11 : rank-2 array('f') with bounds (p,q) and x11 storage\ncs12 : rank-2 array('f') with bounds (p,mmq) and x12 storage\ncs21 : rank-2 array('f') with bounds (mmp,q) and x21 storage\ncs22 : rank-2 array('f') with bounds (mmp,mmq) and x22 storage\ntheta : rank-1 array('f') with bounds (min(min(p,mmp),min(q,mmq)))\nu1 : rank-2 array('f') with bounds ((compute_u1?p:0),(compute_u1?p:0))\nu2 : rank-2 array('f') with bounds ((compute_u2?mmp:0),(compute_u2?mmp:0))\nv1t : rank-2 array('f') with bounds ((compute_v1t?q:0),(compute_v1t?q:0))\nv2t : rank-2 array('f') with bounds ((compute_v2t?mmq:0),(compute_v2t?mmq:0))\ninfo : int\n" - ... - -def sorcsd_lwork(m, p, q) -> typing.Any: - 'work,info = sorcsd_lwork(m,p,q)\n\nWrapper for ``sorcsd_lwork``.\n\nParameters\n----------\nm : input int\np : input int\nq : input int\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def sorghr(a, tau, lo=..., hi=..., lwork=..., overwrite_a=...) -> typing.Any: - "ht,info = sorghr(a,tau,[lo,hi,lwork,overwrite_a])\n\nWrapper for ``sorghr``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\ntau : input rank-1 array('f') with bounds (n - 1)\n\nOther Parameters\n----------------\nlo : input int, optional\n Default: 0\nhi : input int, optional\n Default: n-1\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(hi-lo,1)\n\nReturns\n-------\nht : rank-2 array('f') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def sorghr_lwork(n, lo=..., hi=...) -> typing.Any: - 'work,info = sorghr_lwork(n,[lo,hi])\n\nWrapper for ``sorghr_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlo : input int, optional\n Default: 0\nhi : input int, optional\n Default: n-1\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def sorgqr(a, tau, lwork=..., overwrite_a=...) -> typing.Any: - "q,work,info = sorgqr(a,tau,[lwork,overwrite_a])\n\nWrapper for ``sorgqr``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\ntau : input rank-1 array('f') with bounds (k)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\n\nReturns\n-------\nq : rank-2 array('f') with bounds (m,n) and a storage\nwork : rank-1 array('f') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def sorgrq(a, tau, lwork=..., overwrite_a=...) -> typing.Any: - "q,work,info = sorgrq(a,tau,[lwork,overwrite_a])\n\nWrapper for ``sorgrq``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\ntau : input rank-1 array('f') with bounds (k)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*m,1)\n\nReturns\n-------\nq : rank-2 array('f') with bounds (m,n) and a storage\nwork : rank-1 array('f') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def sormqr(side, trans, a, tau, c, lwork, overwrite_c=...) -> typing.Any: - "cq,work,info = sormqr(side,trans,a,tau,c,lwork,[overwrite_c])\n\nWrapper for ``sormqr``.\n\nParameters\n----------\nside : input string(len=1)\ntrans : input string(len=1)\na : input rank-2 array('f') with bounds (lda,k)\ntau : input rank-1 array('f') with bounds (k)\nc : input rank-2 array('f') with bounds (ldc,n)\nlwork : input int\n\nOther Parameters\n----------------\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\ncq : rank-2 array('f') with bounds (ldc,n) and c storage\nwork : rank-1 array('f') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def sormrz(a, tau, c, side=..., trans=..., lwork=..., overwrite_c=...) -> typing.Any: - "cq,info = sormrz(a,tau,c,[side,trans,lwork,overwrite_c])\n\nWrapper for ``sormrz``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (k,nt)\ntau : input rank-1 array('f') with bounds (k)\nc : input rank-2 array('f') with bounds (m,n)\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_c : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX((side[0]=='L'?n:m),1)\n\nReturns\n-------\ncq : rank-2 array('f') with bounds (m,n) and c storage\ninfo : int\n" - ... - -def sormrz_lwork(m, n, side=..., trans=...) -> typing.Any: - "work,info = sormrz_lwork(m,n,[side,trans])\n\nWrapper for ``sormrz_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\ntrans : input string(len=1), optional\n Default: 'N'\n\nReturns\n-------\nwork : float\ninfo : int\n" - ... - -def spbsv(ab, b, lower=..., ldab=..., overwrite_ab=..., overwrite_b=...) -> typing.Any: - "c,x,info = spbsv(ab,b,[lower,ldab,overwrite_ab,overwrite_b])\n\nWrapper for ``spbsv``.\n\nParameters\n----------\nab : input rank-2 array('f') with bounds (ldab,n)\nb : input rank-2 array('f') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_ab : input int, optional\n Default: 0\nldab : input int, optional\n Default: shape(ab,0)\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('f') with bounds (ldab,n) and ab storage\nx : rank-2 array('f') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def spbtrf(ab, lower=..., ldab=..., overwrite_ab=...) -> typing.Any: - "c,info = spbtrf(ab,[lower,ldab,overwrite_ab])\n\nWrapper for ``spbtrf``.\n\nParameters\n----------\nab : input rank-2 array('f') with bounds (ldab,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_ab : input int, optional\n Default: 0\nldab : input int, optional\n Default: shape(ab,0)\n\nReturns\n-------\nc : rank-2 array('f') with bounds (ldab,n) and ab storage\ninfo : int\n" - ... - -def spbtrs(ab, b, lower=..., ldab=..., overwrite_b=...) -> typing.Any: - "x,info = spbtrs(ab,b,[lower,ldab,overwrite_b])\n\nWrapper for ``spbtrs``.\n\nParameters\n----------\nab : input rank-2 array('f') with bounds (ldab,n)\nb : input rank-2 array('f') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\nldab : input int, optional\n Default: shape(ab,0)\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('f') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def spftrf(n, a, transr=..., uplo=..., overwrite_a=...) -> typing.Any: - "achol,info = spftrf(n,a,[transr,uplo,overwrite_a])\n\nWrapper for ``spftrf``.\n\nParameters\n----------\nn : input int\na : input rank-1 array('f') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nachol : rank-1 array('f') with bounds (nt) and a storage\ninfo : int\n" - ... - -def spftri(n, a, transr=..., uplo=..., overwrite_a=...) -> typing.Any: - "ainv,info = spftri(n,a,[transr,uplo,overwrite_a])\n\nWrapper for ``spftri``.\n\nParameters\n----------\nn : input int\na : input rank-1 array('f') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nainv : rank-1 array('f') with bounds (nt) and a storage\ninfo : int\n" - ... - -def spftrs(n, a, b, transr=..., uplo=..., overwrite_b=...) -> typing.Any: - "x,info = spftrs(n,a,b,[transr,uplo,overwrite_b])\n\nWrapper for ``spftrs``.\n\nParameters\n----------\nn : input int\na : input rank-1 array('f') with bounds (nt)\nb : input rank-2 array('f') with bounds (ldb,nhrs)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('f') with bounds (ldb,nhrs) and b storage\ninfo : int\n" - ... - -def spocon(a, anorm, uplo=...) -> typing.Any: - "rcond,info = spocon(a,anorm,[uplo])\n\nWrapper for ``spocon``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\nanorm : input float\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\nrcond : float\ninfo : int\n" - ... - -def sposv(a, b, lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "c,x,info = sposv(a,b,[lower,overwrite_a,overwrite_b])\n\nWrapper for ``sposv``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\nb : input rank-2 array('f') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('f') with bounds (n,n) and a storage\nx : rank-2 array('f') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def sposvx(a, b, fact=..., af=..., equed=..., s=..., lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "a_s,lu,equed,s,b_s,x,rcond,ferr,berr,info = sposvx(a,b,[fact,af,equed,s,lower,overwrite_a,overwrite_b])\n\nWrapper for ``sposvx``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\nb : input rank-2 array('f') with bounds (n,nrhs)\n\nOther Parameters\n----------------\nfact : input string(len=1), optional\n Default: 'E'\noverwrite_a : input int, optional\n Default: 0\naf : input rank-2 array('f') with bounds (n,n)\nequed : input string(len=1), optional\n Default: 'Y'\ns : input rank-1 array('f') with bounds (n)\noverwrite_b : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\na_s : rank-2 array('f') with bounds (n,n) and a storage\nlu : rank-2 array('f') with bounds (n,n) and af storage\nequed : string(len=1)\ns : rank-1 array('f') with bounds (n)\nb_s : rank-2 array('f') with bounds (n,nrhs) and b storage\nx : rank-2 array('f') with bounds (n,nrhs)\nrcond : float\nferr : rank-1 array('f') with bounds (nrhs)\nberr : rank-1 array('f') with bounds (nrhs)\ninfo : int\n" - ... - -def spotrf(a, lower=..., clean=..., overwrite_a=...) -> typing.Any: - "c,info = spotrf(a,[lower,clean,overwrite_a])\n\nWrapper for ``spotrf``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\nclean : input int, optional\n Default: 1\n\nReturns\n-------\nc : rank-2 array('f') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def spotri(c, lower=..., overwrite_c=...) -> typing.Any: - "inv_a,info = spotri(c,[lower,overwrite_c])\n\nWrapper for ``spotri``.\n\nParameters\n----------\nc : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_c : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\ninv_a : rank-2 array('f') with bounds (n,n) and c storage\ninfo : int\n" - ... - -def spotrs(c, b, lower=..., overwrite_b=...) -> typing.Any: - "x,info = spotrs(c,b,[lower,overwrite_b])\n\nWrapper for ``spotrs``.\n\nParameters\n----------\nc : input rank-2 array('f') with bounds (n,n)\nb : input rank-2 array('f') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('f') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def sppcon(n, ap, anorm, lower=...) -> typing.Any: - "rcond,info = sppcon(n,ap,anorm,[lower])\n\nWrapper for ``sppcon``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('f') with bounds (L)\nanorm : input float\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nrcond : float\ninfo : int\n" - ... - -def sppsv(n, ap, b, lower=..., overwrite_b=...) -> typing.Any: - "x,info = sppsv(n,ap,b,[lower,overwrite_b])\n\nWrapper for ``sppsv``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('f') with bounds (L)\nb : input rank-2 array('f') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('f') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def spptrf(n, ap, lower=..., overwrite_ap=...) -> typing.Any: - "ul,info = spptrf(n,ap,[lower,overwrite_ap])\n\nWrapper for ``spptrf``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('f') with bounds (L)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_ap : input int, optional\n Default: 0\n\nReturns\n-------\nul : rank-1 array('f') with bounds (L) and ap storage\ninfo : int\n" - ... - -def spptri(n, ap, lower=..., overwrite_ap=...) -> typing.Any: - "uli,info = spptri(n,ap,[lower,overwrite_ap])\n\nWrapper for ``spptri``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('f') with bounds (L)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_ap : input int, optional\n Default: 0\n\nReturns\n-------\nuli : rank-1 array('f') with bounds (L) and ap storage\ninfo : int\n" - ... - -def spptrs(n, ap, b, lower=..., overwrite_b=...) -> typing.Any: - "x,info = spptrs(n,ap,b,[lower,overwrite_b])\n\nWrapper for ``spptrs``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('f') with bounds (L)\nb : input rank-2 array('f') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('f') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def spstf2(a, tol=..., lower=..., overwrite_a=...) -> typing.Any: - "c,piv,rank_c,info = spstf2(a,[tol,lower,overwrite_a])\n\nWrapper for ``spstf2``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\ntol : input float, optional\n Default: -1.0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('f') with bounds (n,n) and a storage\npiv : rank-1 array('i') with bounds (n)\nrank_c : int\ninfo : int\n" - ... - -def spstrf(a, tol=..., lower=..., overwrite_a=...) -> typing.Any: - "c,piv,rank_c,info = spstrf(a,[tol,lower,overwrite_a])\n\nWrapper for ``spstrf``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\ntol : input float, optional\n Default: -1.0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('f') with bounds (n,n) and a storage\npiv : rank-1 array('i') with bounds (n)\nrank_c : int\ninfo : int\n" - ... - -def spteqr(d, e, z, compute_z=..., overwrite_d=..., overwrite_e=..., overwrite_z=...) -> typing.Any: - "d,e,z,info = spteqr(d,e,z,[compute_z,overwrite_d,overwrite_e,overwrite_z])\n\nWrapper for ``spteqr``.\n\nParameters\n----------\nd : input rank-1 array('f') with bounds (n)\ne : input rank-1 array('f') with bounds ((n>0?n-1:0))\nz : input rank-2 array('f') with bounds ((compute_z==0?shape(z, 0):max(1,n)),(compute_z==0?shape(z, 1):n))\n\nOther Parameters\n----------------\ncompute_z : input int, optional\n Default: 0\noverwrite_d : input int, optional\n Default: 0\noverwrite_e : input int, optional\n Default: 0\noverwrite_z : input int, optional\n Default: 0\n\nReturns\n-------\nd : rank-1 array('f') with bounds (n)\ne : rank-1 array('f') with bounds ((n>0?n-1:0))\nz : rank-2 array('f') with bounds ((compute_z==0?shape(z, 0):max(1,n)),(compute_z==0?shape(z, 1):n))\ninfo : int\n" - ... - -def sptsv(d, e, b, overwrite_d=..., overwrite_e=..., overwrite_b=...) -> typing.Any: - "d,du,x,info = sptsv(d,e,b,[overwrite_d,overwrite_e,overwrite_b])\n\nWrapper for ``sptsv``.\n\nParameters\n----------\nd : input rank-1 array('f') with bounds (n)\ne : input rank-1 array('f') with bounds (n - 1)\nb : input rank-2 array('f') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_d : input int, optional\n Default: 0\noverwrite_e : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nd : rank-1 array('f') with bounds (n)\ndu : rank-1 array('f') with bounds (n - 1) and e storage\nx : rank-2 array('f') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def sptsvx(d, e, b, fact=..., df=..., ef=...) -> typing.Any: - "df,ef,x,rcond,ferr,berr,info = sptsvx(d,e,b,[fact,df,ef])\n\nWrapper for ``sptsvx``.\n\nParameters\n----------\nd : input rank-1 array('f') with bounds (n)\ne : input rank-1 array('f') with bounds (max(0, n-1))\nb : input rank-2 array('f') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nfact : input string(len=1), optional\n Default: 'N'\ndf : input rank-1 array('f') with bounds (n)\nef : input rank-1 array('f') with bounds (max(0, n-1))\n\nReturns\n-------\ndf : rank-1 array('f') with bounds (n)\nef : rank-1 array('f') with bounds (max(0, n-1))\nx : rank-2 array('f') with bounds (ldx,nrhs)\nrcond : float\nferr : rank-1 array('f') with bounds (nrhs)\nberr : rank-1 array('f') with bounds (nrhs)\ninfo : int\n" - ... - -def spttrf(d, e, overwrite_d=..., overwrite_e=...) -> typing.Any: - "d,e,info = spttrf(d,e,[overwrite_d,overwrite_e])\n\nWrapper for ``spttrf``.\n\nParameters\n----------\nd : input rank-1 array('f') with bounds (n)\ne : input rank-1 array('f') with bounds ((n>0?n-1:0))\n\nOther Parameters\n----------------\noverwrite_d : input int, optional\n Default: 0\noverwrite_e : input int, optional\n Default: 0\n\nReturns\n-------\nd : rank-1 array('f') with bounds (n)\ne : rank-1 array('f') with bounds ((n>0?n-1:0))\ninfo : int\n" - ... - -def spttrs(d, e, b, overwrite_b=...) -> typing.Any: - "x,info = spttrs(d,e,b,[overwrite_b])\n\nWrapper for ``spttrs``.\n\nParameters\n----------\nd : input rank-1 array('f') with bounds (n)\ne : input rank-1 array('f') with bounds ((n>0?n-1:0))\nb : input rank-2 array('f') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('f') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def ssbev(ab, compute_v=..., lower=..., ldab=..., overwrite_ab=...) -> typing.Any: - "w,z,info = ssbev(ab,[compute_v,lower,ldab,overwrite_ab])\n\nWrapper for ``ssbev``.\n\nParameters\n----------\nab : input rank-2 array('f') with bounds (ldab,n)\n\nOther Parameters\n----------------\noverwrite_ab : input int, optional\n Default: 1\ncompute_v : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\nldab : input int, optional\n Default: shape(ab,0)\n\nReturns\n-------\nw : rank-1 array('f') with bounds (n)\nz : rank-2 array('f') with bounds (ldz,ldz)\ninfo : int\n" - ... - -def ssbevd(ab, compute_v=..., lower=..., ldab=..., liwork=..., overwrite_ab=...) -> typing.Any: - "w,z,info = ssbevd(ab,[compute_v,lower,ldab,liwork,overwrite_ab])\n\nWrapper for ``ssbevd``.\n\nParameters\n----------\nab : input rank-2 array('f') with bounds (ldab,n)\n\nOther Parameters\n----------------\noverwrite_ab : input int, optional\n Default: 1\ncompute_v : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\nldab : input int, optional\n Default: shape(ab,0)\nliwork : input int, optional\n Default: (compute_v?3+5*n:1)\n\nReturns\n-------\nw : rank-1 array('f') with bounds (n)\nz : rank-2 array('f') with bounds (ldz,ldz)\ninfo : int\n" - ... - -def ssbevx(ab, vl, vu, il, iu, ldab=..., compute_v=..., range=..., lower=..., abstol=..., mmax=..., overwrite_ab=...) -> typing.Any: - "w,z,m,ifail,info = ssbevx(ab,vl,vu,il,iu,[ldab,compute_v,range,lower,abstol,mmax,overwrite_ab])\n\nWrapper for ``ssbevx``.\n\nParameters\n----------\nab : input rank-2 array('f') with bounds (ldab,n)\nvl : input float\nvu : input float\nil : input int\niu : input int\n\nOther Parameters\n----------------\noverwrite_ab : input int, optional\n Default: 1\nldab : input int, optional\n Default: shape(ab,0)\ncompute_v : input int, optional\n Default: 1\nrange : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\nabstol : input float, optional\n Default: 0.0\nmmax : input int, optional\n Default: (compute_v?(range==2?(iu-il+1):n):1)\n\nReturns\n-------\nw : rank-1 array('f') with bounds (n)\nz : rank-2 array('f') with bounds (ldz,mmax)\nm : int\nifail : rank-1 array('i') with bounds ((compute_v?n:1))\ninfo : int\n" - ... - -def ssfrk(n, k, alpha, a, beta, c, transr=..., uplo=..., trans=..., overwrite_c=...) -> typing.Any: - "cout = ssfrk(n,k,alpha,a,beta,c,[transr,uplo,trans,overwrite_c])\n\nWrapper for ``ssfrk``.\n\nParameters\n----------\nn : input int\nk : input int\nalpha : input float\na : input rank-2 array('f') with bounds (lda,ka)\nbeta : input float\nc : input rank-1 array('f') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\ncout : rank-1 array('f') with bounds (nt) and c storage\n" - ... - -def sstebz(d, e, range, vl, vu, il, iu, tol, order) -> typing.Any: - "m,w,iblock,isplit,info = sstebz(d,e,range,vl,vu,il,iu,tol,order)\n\nWrapper for ``sstebz``.\n\nParameters\n----------\nd : input rank-1 array('f') with bounds (n)\ne : input rank-1 array('f') with bounds (n - 1)\nrange : input int\nvl : input float\nvu : input float\nil : input int\niu : input int\ntol : input float\norder : input string(len=1)\n\nReturns\n-------\nm : int\nw : rank-1 array('f') with bounds (n)\niblock : rank-1 array('i') with bounds (n)\nisplit : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def sstein(d, e, w, iblock, isplit) -> typing.Any: - "z,info = sstein(d,e,w,iblock,isplit)\n\nWrapper for ``sstein``.\n\nParameters\n----------\nd : input rank-1 array('f') with bounds (n)\ne : input rank-1 array('f') with bounds (n - 1)\nw : input rank-1 array('f') with bounds (m)\niblock : input rank-1 array('i') with bounds (n)\nisplit : input rank-1 array('i') with bounds (n)\n\nReturns\n-------\nz : rank-2 array('f') with bounds (ldz,m)\ninfo : int\n" - ... - -def sstemr(d, e, range, vl, vu, il, iu, compute_v=..., lwork=..., liwork=..., overwrite_d=...) -> typing.Any: - "m,w,z,info = sstemr(d,e,range,vl,vu,il,iu,[compute_v,lwork,liwork,overwrite_d])\n\nWrapper for ``sstemr``.\n\nParameters\n----------\nd : input rank-1 array('f') with bounds (n)\ne : input rank-1 array('f') with bounds (n)\nrange : input int\nvl : input float\nvu : input float\nil : input int\niu : input int\n\nOther Parameters\n----------------\noverwrite_d : input int, optional\n Default: 0\ncompute_v : input int, optional\n Default: 1\nlwork : input int, optional\n Default: max((compute_v?18*n:12*n),1)\nliwork : input int, optional\n Default: (compute_v?10*n:8*n)\n\nReturns\n-------\nm : int\nw : rank-1 array('f') with bounds (n)\nz : rank-2 array('f') with bounds (n,n)\ninfo : int\n" - ... - -def sstemr_lwork(d, e, range, vl, vu, il, iu, compute_v=..., overwrite_d=..., overwrite_e=...) -> typing.Any: - "work,iwork,info = sstemr_lwork(d,e,range,vl,vu,il,iu,[compute_v,overwrite_d,overwrite_e])\n\nWrapper for ``sstemr_lwork``.\n\nParameters\n----------\nd : input rank-1 array('f') with bounds (n)\ne : input rank-1 array('f') with bounds (n)\nrange : input int\nvl : input float\nvu : input float\nil : input int\niu : input int\n\nOther Parameters\n----------------\noverwrite_d : input int, optional\n Default: 0\noverwrite_e : input int, optional\n Default: 0\ncompute_v : input int, optional\n Default: 1\n\nReturns\n-------\nwork : float\niwork : int\ninfo : int\n" - ... - -def ssterf(d, e, overwrite_d=..., overwrite_e=...) -> typing.Any: - "vals,info = ssterf(d,e,[overwrite_d,overwrite_e])\n\nWrapper for ``ssterf``.\n\nParameters\n----------\nd : input rank-1 array('f') with bounds (n)\ne : input rank-1 array('f') with bounds (n - 1)\n\nOther Parameters\n----------------\noverwrite_d : input int, optional\n Default: 0\noverwrite_e : input int, optional\n Default: 0\n\nReturns\n-------\nvals : rank-1 array('f') with bounds (n) and d storage\ninfo : int\n" - ... - -def sstev(d, e, compute_v=..., overwrite_d=..., overwrite_e=...) -> typing.Any: - "vals,z,info = sstev(d,e,[compute_v,overwrite_d,overwrite_e])\n\nWrapper for ``sstev``.\n\nParameters\n----------\nd : input rank-1 array('f') with bounds (n)\ne : input rank-1 array('f') with bounds (MAX(n-1,1))\n\nOther Parameters\n----------------\noverwrite_d : input int, optional\n Default: 0\noverwrite_e : input int, optional\n Default: 0\ncompute_v : input int, optional\n Default: 1\n\nReturns\n-------\nvals : rank-1 array('f') with bounds (n) and d storage\nz : rank-2 array('f') with bounds (ldz,(compute_v?n:1))\ninfo : int\n" - ... - -def ssycon(a, ipiv, anorm, lower=...) -> typing.Any: - "rcond,info = ssycon(a,ipiv,anorm,[lower])\n\nWrapper for ``ssycon``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\nanorm : input float\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nrcond : float\ninfo : int\n" - ... - -def ssyconv(a, ipiv, lower=..., way=..., overwrite_a=...) -> typing.Any: - "a,e,info = ssyconv(a,ipiv,[lower,way,overwrite_a])\n\nWrapper for ``ssyconv``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\nway : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('f') with bounds (n,n)\ne : rank-1 array('f') with bounds (n)\ninfo : int\n" - ... - -def ssyequb(a, lower=...) -> typing.Any: - "s,scond,amax,info = ssyequb(a,[lower])\n\nWrapper for ``ssyequb``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (lda,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\ns : rank-1 array('f') with bounds (n)\nscond : float\namax : float\ninfo : int\n" - ... - -def ssyev(a, compute_v=..., lower=..., lwork=..., overwrite_a=...) -> typing.Any: - "w,v,info = ssyev(a,[compute_v,lower,lwork,overwrite_a])\n\nWrapper for ``ssyev``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n-1,1)\n\nReturns\n-------\nw : rank-1 array('f') with bounds (n)\nv : rank-2 array('f') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def ssyev_lwork(n, lower=...) -> typing.Any: - 'work,info = ssyev_lwork(n,[lower])\n\nWrapper for ``ssyev_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def ssyevd(a, compute_v=..., lower=..., lwork=..., liwork=..., overwrite_a=...) -> typing.Any: - "w,v,info = ssyevd(a,[compute_v,lower,lwork,liwork,overwrite_a])\n\nWrapper for ``ssyevd``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max((compute_v?1+6*n+2*n*n:2*n+1),1)\nliwork : input int, optional\n Default: (compute_v?3+5*n:1)\n\nReturns\n-------\nw : rank-1 array('f') with bounds (n)\nv : rank-2 array('f') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def ssyevd_lwork(n, compute_v=..., lower=...) -> typing.Any: - 'work,iwork,info = ssyevd_lwork(n,[compute_v,lower])\n\nWrapper for ``ssyevd_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : float\niwork : int\ninfo : int\n' - ... - -def ssyevr(a, compute_v=..., range=..., lower=..., vl=..., vu=..., il=..., iu=..., abstol=..., lwork=..., liwork=..., overwrite_a=...) -> typing.Any: - "w,z,m,isuppz,info = ssyevr(a,[compute_v,range,lower,vl,vu,il,iu,abstol,lwork,liwork,overwrite_a])\n\nWrapper for ``ssyevr``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds ``(n,n)``\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default ``1``\nrange : input string(len=1), optional\n Default ``'A'``\nlower : input int, optional\n Default ``0``\noverwrite_a : input int, optional\n Default ``0``\nvl : input float, optional\n Default ``0.0``\nvu : input float, optional\n Default ``1.0``\nil : input int, optional\n Default ``1``\niu : input int, optional\n Default ``n``\nabstol : input float, optional\n Default ``0.0``\nlwork : input int, optional\n Default ``max(26*n,1)``\nliwork : input int, optional\n Default ``max(1,10*n)``\n\nReturns\n-------\nw : rank-1 array('f') with bounds ``(n)``\nz : rank-2 array('f') with bounds ``((compute_v?MAX(0,n):0),(compute_v?(*range=='I'?iu-il+1:MAX(1,n)):0))``\nm : int\nisuppz : rank-1 array('i') with bounds ``((compute_v?(2*(*range=='A'||(*range=='I' && iu-il+1==n)?n:0)):0))``\ninfo : int\n" - ... - -def ssyevr_lwork(n, lower=...) -> typing.Any: - 'work,iwork,info = ssyevr_lwork(n,[lower])\n\nWrapper for ``ssyevr_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : float\niwork : int\ninfo : int\n' - ... - -def ssyevx(a, compute_v=..., range=..., lower=..., vl=..., vu=..., il=..., iu=..., abstol=..., lwork=..., overwrite_a=...) -> typing.Any: - "w,z,m,ifail,info = ssyevx(a,[compute_v,range,lower,vl,vu,il,iu,abstol,lwork,overwrite_a])\n\nWrapper for ``ssyevx``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds ``(n,n)``\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default ``1``\nrange : input string(len=1), optional\n Default ``'A'``\nlower : input int, optional\n Default ``0``\noverwrite_a : input int, optional\n Default ``0``\nvl : input float, optional\n Default ``0.0``\nvu : input float, optional\n Default ``1.0``\nil : input int, optional\n Default ``1``\niu : input int, optional\n Default ``n``\nabstol : input float, optional\n Default ``0.0``\nlwork : input int, optional\n Default ``max(8*n,1)``\n\nReturns\n-------\nw : rank-1 array('f') with bounds ``(n)``\nz : rank-2 array('f') with bounds ``((compute_v?MAX(0,n):0),(compute_v?(*range=='I'?iu-il+1:MAX(1,n)):0))``\nm : int\nifail : rank-1 array('i') with bounds ``((compute_v?n:0))``\ninfo : int\n" - ... - -def ssyevx_lwork(n, lower=...) -> typing.Any: - 'work,info = ssyevx_lwork(n,[lower])\n\nWrapper for ``ssyevx_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def ssygst(a, b, itype=..., lower=..., overwrite_a=...) -> typing.Any: - "c,info = ssygst(a,b,[itype,lower,overwrite_a])\n\nWrapper for ``ssygst``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\nb : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nitype : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('f') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def ssygv(a, b, itype=..., jobz=..., uplo=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "w,v,info = ssygv(a,b,[itype,jobz,uplo,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``ssygv``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\nb : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\nitype : input int, optional\n Default: 1\njobz : input string(len=1), optional\n Default: 'V'\nuplo : input string(len=1), optional\n Default: 'L'\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n-1,1)\n\nReturns\n-------\nw : rank-1 array('f') with bounds (n)\nv : rank-2 array('f') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def ssygv_lwork(n, uplo=...) -> typing.Any: - "work,info = ssygv_lwork(n,[uplo])\n\nWrapper for ``ssygv_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'L'\n\nReturns\n-------\nwork : float\ninfo : int\n" - ... - -def ssygvd(a, b, itype=..., jobz=..., uplo=..., lwork=..., liwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "w,v,info = ssygvd(a,b,[itype,jobz,uplo,lwork,liwork,overwrite_a,overwrite_b])\n\nWrapper for ``ssygvd``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds ``(n,n)``\nb : input rank-2 array('f') with bounds ``(n,n)``\n\nOther Parameters\n----------------\nitype : input int, optional\n Default ``1``\njobz : input string(len=1), optional\n Default ``'V'``\nuplo : input string(len=1), optional\n Default ``'L'``\noverwrite_a : input int, optional\n Default ``0``\noverwrite_b : input int, optional\n Default ``0``\nlwork : input int, optional\n Default ``(*jobz=='N'?2*n+1:1+6*n+2*n*n)``\nliwork : input int, optional\n Default ``(*jobz=='N'?1:5*n+3)``\n\nReturns\n-------\nw : rank-1 array('f') with bounds ``(n)``\nv : rank-2 array('f') with bounds ``(n,n)`` with ``a`` storage\ninfo : int\n" - ... - -def ssygvx(a, b, itype=..., jobz=..., range=..., uplo=..., vl=..., vu=..., il=..., iu=..., abstol=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "w,z,m,ifail,info = ssygvx(a,b,[itype,jobz,range,uplo,vl,vu,il,iu,abstol,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``ssygvx``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\nb : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\nitype : input int, optional\n Default: 1\njobz : input string(len=1), optional\n Default: 'V'\nrange : input string(len=1), optional\n Default: 'A'\nuplo : input string(len=1), optional\n Default: 'L'\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nvl : input float, optional\n Default: 0.0\nvu : input float, optional\n Default: 1.0\nil : input int, optional\n Default: 1\niu : input int, optional\n Default: n\nabstol : input float, optional\n Default: 0.0\nlwork : input int, optional\n Default: max(8*n,1)\n\nReturns\n-------\nw : rank-1 array('f') with bounds (n)\nz : rank-2 array('f') with bounds ((jobz[0]=='V'?MAX(0,n):0),(jobz[0]=='V'?(range[0]=='I'?iu-il+1:MAX(1,n)):0))\nm : int\nifail : rank-1 array('i') with bounds ((jobz[0]=='N'?0:n))\ninfo : int\n" - ... - -def ssygvx_lwork(n, uplo=...) -> typing.Any: - "work,info = ssygvx_lwork(n,[uplo])\n\nWrapper for ``ssygvx_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'L'\n\nReturns\n-------\nwork : float\ninfo : int\n" - ... - -def ssysv(a, b, lwork=..., lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "udut,ipiv,x,info = ssysv(a,b,[lwork,lower,overwrite_a,overwrite_b])\n\nWrapper for ``ssysv``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\nb : input rank-2 array('f') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(n,1)\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nudut : rank-2 array('f') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('f') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def ssysv_lwork(n, lower=...) -> typing.Any: - 'work,info = ssysv_lwork(n,[lower])\n\nWrapper for ``ssysv_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def ssysvx(a, b, af=..., ipiv=..., lwork=..., factored=..., lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "a_s,udut,ipiv,b_s,x,rcond,ferr,berr,info = ssysvx(a,b,[af,ipiv,lwork,factored,lower,overwrite_a,overwrite_b])\n\nWrapper for ``ssysvx``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\nb : input rank-2 array('f') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\naf : input rank-2 array('f') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\nfactored : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\na_s : rank-2 array('f') with bounds (n,n) and a storage\nudut : rank-2 array('f') with bounds (n,n) and af storage\nipiv : rank-1 array('i') with bounds (n)\nb_s : rank-2 array('f') with bounds (n,nrhs) and b storage\nx : rank-2 array('f') with bounds (n,nrhs)\nrcond : float\nferr : rank-1 array('f') with bounds (nrhs)\nberr : rank-1 array('f') with bounds (nrhs)\ninfo : int\n" - ... - -def ssysvx_lwork(n, lower=...) -> typing.Any: - 'work,info = ssysvx_lwork(n,[lower])\n\nWrapper for ``ssysvx_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def ssytf2(a, lower=..., overwrite_a=...) -> typing.Any: - "ldu,ipiv,info = ssytf2(a,[lower,overwrite_a])\n\nWrapper for ``ssytf2``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nldu : rank-2 array('f') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def ssytrd(a, lower=..., lwork=..., overwrite_a=...) -> typing.Any: - "c,d,e,tau,info = ssytrd(a,[lower,lwork,overwrite_a])\n\nWrapper for ``ssytrd``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (lda,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(n,1)\n\nReturns\n-------\nc : rank-2 array('f') with bounds (lda,n) and a storage\nd : rank-1 array('f') with bounds (n)\ne : rank-1 array('f') with bounds (n - 1)\ntau : rank-1 array('f') with bounds (n - 1)\ninfo : int\n" - ... - -def ssytrd_lwork(n, lower=...) -> typing.Any: - 'work,info = ssytrd_lwork(n,[lower])\n\nWrapper for ``ssytrd_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def ssytrf(a, lower=..., lwork=..., overwrite_a=...) -> typing.Any: - "ldu,ipiv,info = ssytrf(a,[lower,lwork,overwrite_a])\n\nWrapper for ``ssytrf``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(n,1)\n\nReturns\n-------\nldu : rank-2 array('f') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def ssytrf_lwork(n, lower=...) -> typing.Any: - 'work,info = ssytrf_lwork(n,[lower])\n\nWrapper for ``ssytrf_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def stbtrs(ab, b, uplo=..., trans=..., diag=..., overwrite_b=...) -> typing.Any: - "x,info = stbtrs(ab,b,[uplo,trans,diag,overwrite_b])\n\nWrapper for ``stbtrs``.\n\nParameters\n----------\nab : input rank-2 array('f') with bounds (ldab,n)\nb : input rank-2 array('f') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'U'\ntrans : input string(len=1), optional\n Default: 'N'\ndiag : input string(len=1), optional\n Default: 'N'\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('f') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def stfsm(alpha, a, b, transr=..., side=..., uplo=..., trans=..., diag=..., overwrite_b=...) -> typing.Any: - "x = stfsm(alpha,a,b,[transr,side,uplo,trans,diag,overwrite_b])\n\nWrapper for ``stfsm``.\n\nParameters\n----------\nalpha : input float\na : input rank-1 array('f') with bounds (nt)\nb : input rank-2 array('f') with bounds (m,n)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nside : input string(len=1), optional\n Default: 'L'\nuplo : input string(len=1), optional\n Default: 'U'\ntrans : input string(len=1), optional\n Default: 'N'\ndiag : input string(len=1), optional\n Default: 'N'\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('f') with bounds (m,n) and b storage\n" - ... - -def stfttp(n, arf, transr=..., uplo=...) -> typing.Any: - "ap,info = stfttp(n,arf,[transr,uplo])\n\nWrapper for ``stfttp``.\n\nParameters\n----------\nn : input int\narf : input rank-1 array('f') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\nap : rank-1 array('f') with bounds (nt)\ninfo : int\n" - ... - -def stfttr(n, arf, transr=..., uplo=...) -> typing.Any: - "a,info = stfttr(n,arf,[transr,uplo])\n\nWrapper for ``stfttr``.\n\nParameters\n----------\nn : input int\narf : input rank-1 array('f') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\na : rank-2 array('f') with bounds (lda,n)\ninfo : int\n" - ... - -def stgsen(select, a, b, q, z, lwork=..., liwork=..., overwrite_a=..., overwrite_b=..., overwrite_q=..., overwrite_z=...) -> typing.Any: - "a,b,alphar,alphai,beta,q,z,m,pl,pr,dif,work,iwork,info = stgsen(select,a,b,q,z,[lwork,liwork,overwrite_a,overwrite_b,overwrite_q,overwrite_z])\n\nWrapper for ``stgsen``.\n\nParameters\n----------\nselect : input rank-1 array('i') with bounds (n)\na : input rank-2 array('f') with bounds (lda,n)\nb : input rank-2 array('f') with bounds (ldb,n)\nq : input rank-2 array('f') with bounds (ldq,n)\nz : input rank-2 array('f') with bounds (ldz,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\noverwrite_q : input int, optional\n Default: 0\noverwrite_z : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(MAX(4*n+16,2*m*(n-m)),1)\nliwork : input int, optional\n Default: n+6\n\nReturns\n-------\na : rank-2 array('f') with bounds (lda,n)\nb : rank-2 array('f') with bounds (ldb,n)\nalphar : rank-1 array('f') with bounds (n)\nalphai : rank-1 array('f') with bounds (n)\nbeta : rank-1 array('f') with bounds (n)\nq : rank-2 array('f') with bounds (ldq,n)\nz : rank-2 array('f') with bounds (ldz,n)\nm : int\npl : float\npr : float\ndif : rank-1 array('f') with bounds (2)\nwork : rank-1 array('f') with bounds (MAX(lwork,1))\niwork : rank-1 array('i') with bounds (MAX(1,liwork))\ninfo : int\n" - ... - -def stpmqrt(l, v, t, a, b, side=..., trans=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "a,b,info = stpmqrt(l,v,t,a,b,[side,trans,overwrite_a,overwrite_b])\n\nWrapper for ``stpmqrt``.\n\nParameters\n----------\nl : input int\nv : input rank-2 array('f') with bounds ((side[0]=='L'?m:n),k)\nt : input rank-2 array('f') with bounds (nb,k)\na : input rank-2 array('f') with bounds ((side[0]=='L'?k:m),(side[0]=='L'?n:k))\nb : input rank-2 array('f') with bounds (m,n)\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('f') with bounds ((side[0]=='L'?k:m),(side[0]=='L'?n:k))\nb : rank-2 array('f') with bounds (m,n)\ninfo : int\n" - ... - -def stpqrt(l, nb, a, b, overwrite_a=..., overwrite_b=...) -> typing.Any: - "a,b,t,info = stpqrt(l,nb,a,b,[overwrite_a,overwrite_b])\n\nWrapper for ``stpqrt``.\n\nParameters\n----------\nl : input int\nnb : input int\na : input rank-2 array('f') with bounds (n,n)\nb : input rank-2 array('f') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('f') with bounds (n,n)\nb : rank-2 array('f') with bounds (m,n)\nt : rank-2 array('f') with bounds (nb,n)\ninfo : int\n" - ... - -def stpttf(n, ap, transr=..., uplo=...) -> typing.Any: - "arf,info = stpttf(n,ap,[transr,uplo])\n\nWrapper for ``stpttf``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('f') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\narf : rank-1 array('f') with bounds (nt)\ninfo : int\n" - ... - -def stpttr(n, ap, uplo=...) -> typing.Any: - "a,info = stpttr(n,ap,[uplo])\n\nWrapper for ``stpttr``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('f') with bounds (nt)\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\na : rank-2 array('f') with bounds (n,n)\ninfo : int\n" - ... - -def strsyl(a, b, c, trana=..., tranb=..., isgn=..., overwrite_c=...) -> typing.Any: - "x,scale,info = strsyl(a,b,c,[trana,tranb,isgn,overwrite_c])\n\nWrapper for ``strsyl``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,m)\nb : input rank-2 array('f') with bounds (n,n)\nc : input rank-2 array('f') with bounds (m,n)\n\nOther Parameters\n----------------\ntrana : input string(len=1), optional\n Default: 'N'\ntranb : input string(len=1), optional\n Default: 'N'\nisgn : input int, optional\n Default: 1\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('f') with bounds (m,n) and c storage\nscale : float\ninfo : int\n" - ... - -def strtri(c, lower=..., unitdiag=..., overwrite_c=...) -> typing.Any: - "inv_c,info = strtri(c,[lower,unitdiag,overwrite_c])\n\nWrapper for ``strtri``.\n\nParameters\n----------\nc : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_c : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\nunitdiag : input int, optional\n Default: 0\n\nReturns\n-------\ninv_c : rank-2 array('f') with bounds (n,n) and c storage\ninfo : int\n" - ... - -def strtrs(a, b, lower=..., trans=..., unitdiag=..., lda=..., overwrite_b=...) -> typing.Any: - "x,info = strtrs(a,b,[lower,trans,unitdiag,lda,overwrite_b])\n\nWrapper for ``strtrs``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (lda,n)\nb : input rank-2 array('f') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nunitdiag : input int, optional\n Default: 0\nlda : input int, optional\n Default: shape(a,0)\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('f') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def strttf(a, transr=..., uplo=...) -> typing.Any: - "arf,info = strttf(a,[transr,uplo])\n\nWrapper for ``strttf``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (lda,n)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\narf : rank-1 array('f') with bounds (n*(n+1)/2)\ninfo : int\n" - ... - -def strttp(a, uplo=...) -> typing.Any: - "ap,info = strttp(a,[uplo])\n\nWrapper for ``strttp``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (lda,n)\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\nap : rank-1 array('f') with bounds (n*(n+1)/2)\ninfo : int\n" - ... - -def stzrzf(a, lwork=..., overwrite_a=...) -> typing.Any: - "rz,tau,info = stzrzf(a,[lwork,overwrite_a])\n\nWrapper for ``stzrzf``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(m,1)\n\nReturns\n-------\nrz : rank-2 array('f') with bounds (m,n) and a storage\ntau : rank-1 array('f') with bounds (m)\ninfo : int\n" - ... - -def stzrzf_lwork(m, n) -> typing.Any: - 'work,info = stzrzf_lwork(m,n)\n\nWrapper for ``stzrzf_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nReturns\n-------\nwork : float\ninfo : int\n' - ... - -def zgbsv(kl, ku, ab, b, overwrite_ab=..., overwrite_b=...) -> typing.Any: - "lub,piv,x,info = zgbsv(kl,ku,ab,b,[overwrite_ab,overwrite_b])\n\nWrapper for ``zgbsv``.\n\nParameters\n----------\nkl : input int\nku : input int\nab : input rank-2 array('D') with bounds (2*kl+ku+1,n)\nb : input rank-2 array('D') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_ab : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nlub : rank-2 array('D') with bounds (2*kl+ku+1,n) and ab storage\npiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('D') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def zgbtrf(ab, kl, ku, m=..., n=..., ldab=..., overwrite_ab=...) -> typing.Any: - "lu,ipiv,info = zgbtrf(ab,kl,ku,[m,n,ldab,overwrite_ab])\n\nWrapper for ``zgbtrf``.\n\nParameters\n----------\nab : input rank-2 array('D') with bounds (ldab,n)\nkl : input int\nku : input int\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(ab,1)\nn : input int, optional\n Default: shape(ab,1)\noverwrite_ab : input int, optional\n Default: 0\nldab : input int, optional\n Default: max(shape(ab,0),1)\n\nReturns\n-------\nlu : rank-2 array('D') with bounds (ldab,n) and ab storage\nipiv : rank-1 array('i') with bounds (MIN(m,n))\ninfo : int\n" - ... - -def zgbtrs(ab, kl, ku, b, ipiv, trans=..., n=..., ldab=..., ldb=..., overwrite_b=...) -> typing.Any: - "x,info = zgbtrs(ab,kl,ku,b,ipiv,[trans,n,ldab,ldb,overwrite_b])\n\nWrapper for ``zgbtrs``.\n\nParameters\n----------\nab : input rank-2 array('D') with bounds (ldab,n)\nkl : input int\nku : input int\nb : input rank-2 array('D') with bounds (ldb,nrhs)\nipiv : input rank-1 array('i') with bounds (n)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nn : input int, optional\n Default: shape(ab,1)\nldab : input int, optional\n Default: shape(ab,0)\nldb : input int, optional\n Default: shape(b,0)\n\nReturns\n-------\nx : rank-2 array('D') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def zgebal(a, scale=..., permute=..., overwrite_a=...) -> typing.Any: - "ba,lo,hi,pivscale,info = zgebal(a,[scale,permute,overwrite_a])\n\nWrapper for ``zgebal``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\nscale : input int, optional\n Default: 0\npermute : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nba : rank-2 array('D') with bounds (m,n) and a storage\nlo : int\nhi : int\npivscale : rank-1 array('d') with bounds (n)\ninfo : int\n" - ... - -def zgecon(a, anorm, norm=...) -> typing.Any: - "rcond,info = zgecon(a,anorm,[norm])\n\nWrapper for ``zgecon``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nanorm : input float\n\nOther Parameters\n----------------\nnorm : input string(len=1), optional\n Default: '1'\n\nReturns\n-------\nrcond : float\ninfo : int\n" - ... - -def zgeequ(a) -> typing.Any: - "r,c,rowcnd,colcnd,amax,info = zgeequ(a)\n\nWrapper for ``zgeequ``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\n\nReturns\n-------\nr : rank-1 array('d') with bounds (m)\nc : rank-1 array('d') with bounds (n)\nrowcnd : float\ncolcnd : float\namax : float\ninfo : int\n" - ... - -def zgeequb(a) -> typing.Any: - "r,c,rowcnd,colcnd,amax,info = zgeequb(a)\n\nWrapper for ``zgeequb``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\n\nReturns\n-------\nr : rank-1 array('d') with bounds (m)\nc : rank-1 array('d') with bounds (n)\nrowcnd : float\ncolcnd : float\namax : float\ninfo : int\n" - ... - -def zgees(zselect, a, compute_v=..., sort_t=..., lwork=..., zselect_extra_args=..., overwrite_a=...) -> typing.Any: - "t,sdim,w,vs,work,info = zgees(zselect,a,[compute_v,sort_t,lwork,zselect_extra_args,overwrite_a])\n\nWrapper for ``zgees``.\n\nParameters\n----------\nzselect : call-back function\na : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default: 1\nsort_t : input int, optional\n Default: 0\nzselect_extra_args : input tuple, optional\n Default: ()\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\n\nReturns\n-------\nt : rank-2 array('D') with bounds (n,n) and a storage\nsdim : int\nw : rank-1 array('D') with bounds (n)\nvs : rank-2 array('D') with bounds (ldvs,n)\nwork : rank-1 array('D') with bounds (MAX(lwork,1))\ninfo : int\n\nNotes\n-----\nCall-back functions::\n\n def zselect(arg): return zselect\n Required arguments:\n arg : input complex\n Return objects:\n zselect : int\n" - ... - -def zgeev(a, compute_vl=..., compute_vr=..., lwork=..., overwrite_a=...) -> typing.Any: - "w,vl,vr,info = zgeev(a,[compute_vl,compute_vr,lwork,overwrite_a])\n\nWrapper for ``zgeev``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_vl : input int, optional\n Default: 1\ncompute_vr : input int, optional\n Default: 1\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(2*n,1)\n\nReturns\n-------\nw : rank-1 array('D') with bounds (n)\nvl : rank-2 array('D') with bounds (ldvl,n)\nvr : rank-2 array('D') with bounds (ldvr,n)\ninfo : int\n" - ... - -def zgeev_lwork(n, compute_vl=..., compute_vr=...) -> typing.Any: - 'work,info = zgeev_lwork(n,[compute_vl,compute_vr])\n\nWrapper for ``zgeev_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\ncompute_vl : input int, optional\n Default: 1\ncompute_vr : input int, optional\n Default: 1\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zgegv(*args, **kwds) -> typing.Any: - "`zgegv` is deprecated!\nThe `*gegv` family of routines has been deprecated in\nLAPACK 3.6.0 in favor of the `*ggev` family of routines.\nThe corresponding wrappers will be removed from SciPy in\na future release.\n\nalpha,beta,vl,vr,info = zgegv(a,b,[compute_vl,compute_vr,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``zgegv``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nb : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_vl : input int, optional\n Default: 1\ncompute_vr : input int, optional\n Default: 1\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(2*n,1)\n\nReturns\n-------\nalpha : rank-1 array('D') with bounds (n)\nbeta : rank-1 array('D') with bounds (n)\nvl : rank-2 array('D') with bounds (ldvl,n)\nvr : rank-2 array('D') with bounds (ldvr,n)\ninfo : int\n" - ... - -def zgehrd(a, lo=..., hi=..., lwork=..., overwrite_a=...) -> typing.Any: - "ht,tau,info = zgehrd(a,[lo,hi,lwork,overwrite_a])\n\nWrapper for ``zgehrd``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\nlo : input int, optional\n Default: 0\nhi : input int, optional\n Default: n-1\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(n,1)\n\nReturns\n-------\nht : rank-2 array('D') with bounds (n,n) and a storage\ntau : rank-1 array('D') with bounds (n - 1)\ninfo : int\n" - ... - -def zgehrd_lwork(n, lo=..., hi=...) -> typing.Any: - 'work,info = zgehrd_lwork(n,[lo,hi])\n\nWrapper for ``zgehrd_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlo : input int, optional\n Default: 0\nhi : input int, optional\n Default: n-1\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zgels(a, b, trans=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "lqr,x,info = zgels(a,b,[trans,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``zgels``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\nb : input rank-2 array('D') with bounds (MAX(m,n),nrhs)\n\nOther Parameters\n----------------\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(MIN(m,n)+MAX(MIN(m,n),nrhs),1)\n\nReturns\n-------\nlqr : rank-2 array('D') with bounds (m,n) and a storage\nx : rank-2 array('D') with bounds (MAX(m,n),nrhs) and b storage\ninfo : int\n" - ... - -def zgels_lwork(m, n, nrhs, trans=...) -> typing.Any: - "work,info = zgels_lwork(m,n,nrhs,[trans])\n\nWrapper for ``zgels_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\nnrhs : input int\n\nOther Parameters\n----------------\ntrans : input string(len=1), optional\n Default: 'N'\n\nReturns\n-------\nwork : complex\ninfo : int\n" - ... - -def zgelsd(a, b, lwork, size_rwork, size_iwork, cond=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "x,s,rank,info = zgelsd(a,b,lwork,size_rwork,size_iwork,[cond,overwrite_a,overwrite_b])\n\nWrapper for ``zgelsd``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\nb : input rank-2 array('D') with bounds (maxmn,nrhs)\nlwork : input int\nsize_rwork : input int\nsize_iwork : input int\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\ncond : input float, optional\n Default: -1.0\n\nReturns\n-------\nx : rank-2 array('D') with bounds (maxmn,nrhs) and b storage\ns : rank-1 array('d') with bounds (minmn)\nrank : int\ninfo : int\n" - ... - -def zgelsd_lwork(m, n, nrhs, cond=..., lwork=...) -> typing.Any: - 'work,rwork,iwork,info = zgelsd_lwork(m,n,nrhs,[cond,lwork])\n\nWrapper for ``zgelsd_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\nnrhs : input int\n\nOther Parameters\n----------------\ncond : input float, optional\n Default: -1.0\nlwork : input int, optional\n Default: -1\n\nReturns\n-------\nwork : complex\nrwork : float\niwork : int\ninfo : int\n' - ... - -def zgelss(a, b, cond=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "v,x,s,rank,work,info = zgelss(a,b,[cond,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``zgelss``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\nb : input rank-2 array('D') with bounds (maxmn,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\ncond : input float, optional\n Default: -1.0\nlwork : input int, optional\n Default: max(2*minmn+MAX(maxmn,nrhs),1)\n\nReturns\n-------\nv : rank-2 array('D') with bounds (m,n) and a storage\nx : rank-2 array('D') with bounds (maxmn,nrhs) and b storage\ns : rank-1 array('d') with bounds (minmn)\nrank : int\nwork : rank-1 array('D') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def zgelss_lwork(m, n, nrhs, cond=..., lwork=...) -> typing.Any: - 'work,info = zgelss_lwork(m,n,nrhs,[cond,lwork])\n\nWrapper for ``zgelss_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\nnrhs : input int\n\nOther Parameters\n----------------\ncond : input float, optional\n Default: -1.0\nlwork : input int, optional\n Default: -1\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zgelsy(a, b, jptv, cond, lwork, overwrite_a=..., overwrite_b=...) -> typing.Any: - "v,x,j,rank,info = zgelsy(a,b,jptv,cond,lwork,[overwrite_a,overwrite_b])\n\nWrapper for ``zgelsy``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\nb : input rank-2 array('D') with bounds (maxmn,nrhs)\njptv : input rank-1 array('i') with bounds (n)\ncond : input float\nlwork : input int\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nv : rank-2 array('D') with bounds (m,n) and a storage\nx : rank-2 array('D') with bounds (maxmn,nrhs) and b storage\nj : rank-1 array('i') with bounds (n) and jptv storage\nrank : int\ninfo : int\n" - ... - -def zgelsy_lwork(m, n, nrhs, cond, lwork=...) -> typing.Any: - 'work,info = zgelsy_lwork(m,n,nrhs,cond,[lwork])\n\nWrapper for ``zgelsy_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\nnrhs : input int\ncond : input float\n\nOther Parameters\n----------------\nlwork : input int, optional\n Default: -1\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zgemqrt(v, t, c, side=..., trans=..., overwrite_c=...) -> typing.Any: - "c,info = zgemqrt(v,t,c,[side,trans,overwrite_c])\n\nWrapper for ``zgemqrt``.\n\nParameters\n----------\nv : input rank-2 array('D') with bounds ((side[0]=='L'?m:n),k)\nt : input rank-2 array('D') with bounds (nb,k)\nc : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('D') with bounds (m,n)\ninfo : int\n" - ... - -def zgeqp3(a, lwork=..., overwrite_a=...) -> typing.Any: - "qr,jpvt,tau,work,info = zgeqp3(a,[lwork,overwrite_a])\n\nWrapper for ``zgeqp3``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*(n+1),1)\n\nReturns\n-------\nqr : rank-2 array('D') with bounds (m,n) and a storage\njpvt : rank-1 array('i') with bounds (n)\ntau : rank-1 array('D') with bounds (MIN(m,n))\nwork : rank-1 array('D') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def zgeqrf(a, lwork=..., overwrite_a=...) -> typing.Any: - "qr,tau,work,info = zgeqrf(a,[lwork,overwrite_a])\n\nWrapper for ``zgeqrf``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\n\nReturns\n-------\nqr : rank-2 array('D') with bounds (m,n) and a storage\ntau : rank-1 array('D') with bounds (MIN(m,n))\nwork : rank-1 array('D') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def zgeqrf_lwork(m, n) -> typing.Any: - 'work,info = zgeqrf_lwork(m,n)\n\nWrapper for ``zgeqrf_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zgeqrfp(a, lwork=..., overwrite_a=...) -> typing.Any: - "qr,tau,info = zgeqrfp(a,[lwork,overwrite_a])\n\nWrapper for ``zgeqrfp``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(1, n)\n\nReturns\n-------\nqr : rank-2 array('D') with bounds (m,n) and a storage\ntau : rank-1 array('D') with bounds (MIN(m,n))\ninfo : int\n" - ... - -def zgeqrfp_lwork(m, n) -> typing.Any: - 'work,info = zgeqrfp_lwork(m,n)\n\nWrapper for ``zgeqrfp_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zgeqrt(nb, a, overwrite_a=...) -> typing.Any: - "a,t,info = zgeqrt(nb,a,[overwrite_a])\n\nWrapper for ``zgeqrt``.\n\nParameters\n----------\nnb : input int\na : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('D') with bounds (m,n)\nt : rank-2 array('D') with bounds (nb,MIN(m,n))\ninfo : int\n" - ... - -def zgerqf(a, lwork=..., overwrite_a=...) -> typing.Any: - "qr,tau,work,info = zgerqf(a,[lwork,overwrite_a])\n\nWrapper for ``zgerqf``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*m,1)\n\nReturns\n-------\nqr : rank-2 array('D') with bounds (m,n) and a storage\ntau : rank-1 array('D') with bounds (MIN(m,n))\nwork : rank-1 array('D') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def zgesc2(lu, rhs, ipiv, jpiv, overwrite_rhs=...) -> typing.Any: - "x,scale = zgesc2(lu,rhs,ipiv,jpiv,[overwrite_rhs])\n\nWrapper for ``zgesc2``.\n\nParameters\n----------\nlu : input rank-2 array('D') with bounds (n,n)\nrhs : input rank-1 array('D') with bounds (n)\nipiv : input rank-1 array('i') with bounds (n)\njpiv : input rank-1 array('i') with bounds (n)\n\nOther Parameters\n----------------\noverwrite_rhs : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-1 array('D') with bounds (n) and rhs storage\nscale : float\n" - ... - -def zgesdd(a, compute_uv=..., full_matrices=..., lwork=..., overwrite_a=...) -> typing.Any: - "u,s,vt,info = zgesdd(a,[compute_uv,full_matrices,lwork,overwrite_a])\n\nWrapper for ``zgesdd``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\ncompute_uv : input int, optional\n Default: 1\nfull_matrices : input int, optional\n Default: 1\nlwork : input int, optional\n Default: max((compute_uv?2*minmn*minmn+MAX(m,n)+2*minmn:2*minmn+MAX(m,n)),1)\n\nReturns\n-------\nu : rank-2 array('D') with bounds (u0,u1)\ns : rank-1 array('d') with bounds (minmn)\nvt : rank-2 array('D') with bounds (vt0,vt1)\ninfo : int\n" - ... - -def zgesdd_lwork(m, n, compute_uv=..., full_matrices=...) -> typing.Any: - 'work,info = zgesdd_lwork(m,n,[compute_uv,full_matrices])\n\nWrapper for ``zgesdd_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nOther Parameters\n----------------\ncompute_uv : input int, optional\n Default: 1\nfull_matrices : input int, optional\n Default: 1\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zgesv(a, b, overwrite_a=..., overwrite_b=...) -> typing.Any: - "lu,piv,x,info = zgesv(a,b,[overwrite_a,overwrite_b])\n\nWrapper for ``zgesv``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nb : input rank-2 array('D') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nlu : rank-2 array('D') with bounds (n,n) and a storage\npiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('D') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def zgesvd(a, compute_uv=..., full_matrices=..., lwork=..., overwrite_a=...) -> typing.Any: - "u,s,vt,info = zgesvd(a,[compute_uv,full_matrices,lwork,overwrite_a])\n\nWrapper for ``zgesvd``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\ncompute_uv : input int, optional\n Default: 1\nfull_matrices : input int, optional\n Default: 1\nlwork : input int, optional\n Default: MAX(2*minmn+MAX(m,n),1)\n\nReturns\n-------\nu : rank-2 array('D') with bounds (u0,u1)\ns : rank-1 array('d') with bounds (minmn)\nvt : rank-2 array('D') with bounds (vt0,vt1)\ninfo : int\n" - ... - -def zgesvd_lwork(m, n, compute_uv=..., full_matrices=...) -> typing.Any: - 'work,info = zgesvd_lwork(m,n,[compute_uv,full_matrices])\n\nWrapper for ``zgesvd_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nOther Parameters\n----------------\ncompute_uv : input int, optional\n Default: 1\nfull_matrices : input int, optional\n Default: 1\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zgesvx(a, b, fact=..., trans=..., af=..., ipiv=..., equed=..., r=..., c=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "as,lu,ipiv,equed,rs,cs,bs,x,rcond,ferr,berr,info = zgesvx(a,b,[fact,trans,af,ipiv,equed,r,c,overwrite_a,overwrite_b])\n\nWrapper for ``zgesvx``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nb : input rank-2 array('D') with bounds (n,nrhs)\n\nOther Parameters\n----------------\nfact : input string(len=1), optional\n Default: 'E'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_a : input int, optional\n Default: 0\naf : input rank-2 array('D') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\nequed : input string(len=1), optional\n Default: 'B'\nr : input rank-1 array('d') with bounds (n)\nc : input rank-1 array('d') with bounds (n)\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nas : rank-2 array('D') with bounds (n,n) and a storage\nlu : rank-2 array('D') with bounds (n,n) and af storage\nipiv : rank-1 array('i') with bounds (n)\nequed : string(len=1)\nrs : rank-1 array('d') with bounds (n) and r storage\ncs : rank-1 array('d') with bounds (n) and c storage\nbs : rank-2 array('D') with bounds (n,nrhs) and b storage\nx : rank-2 array('D') with bounds (n,nrhs)\nrcond : float\nferr : rank-1 array('d') with bounds (nrhs)\nberr : rank-1 array('d') with bounds (nrhs)\ninfo : int\n" - ... - -def zgetc2(a, overwrite_a=...) -> typing.Any: - "lu,ipiv,jpiv,info = zgetc2(a,[overwrite_a])\n\nWrapper for ``zgetc2``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nlu : rank-2 array('D') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\njpiv : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def zgetrf(a, overwrite_a=...) -> typing.Any: - "lu,piv,info = zgetrf(a,[overwrite_a])\n\nWrapper for ``zgetrf``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nlu : rank-2 array('D') with bounds (m,n) and a storage\npiv : rank-1 array('i') with bounds (MIN(m,n))\ninfo : int\n" - ... - -def zgetri(lu, piv, lwork=..., overwrite_lu=...) -> typing.Any: - "inv_a,info = zgetri(lu,piv,[lwork,overwrite_lu])\n\nWrapper for ``zgetri``.\n\nParameters\n----------\nlu : input rank-2 array('D') with bounds (n,n)\npiv : input rank-1 array('i') with bounds (n)\n\nOther Parameters\n----------------\noverwrite_lu : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\n\nReturns\n-------\ninv_a : rank-2 array('D') with bounds (n,n) and lu storage\ninfo : int\n" - ... - -def zgetri_lwork(n) -> typing.Any: - 'work,info = zgetri_lwork(n)\n\nWrapper for ``zgetri_lwork``.\n\nParameters\n----------\nn : input int\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zgetrs(lu, piv, b, trans=..., overwrite_b=...) -> typing.Any: - "x,info = zgetrs(lu,piv,b,[trans,overwrite_b])\n\nWrapper for ``zgetrs``.\n\nParameters\n----------\nlu : input rank-2 array('D') with bounds (n,n)\npiv : input rank-1 array('i') with bounds (n)\nb : input rank-2 array('D') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('D') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def zgges(zselect, a, b, jobvsl=..., jobvsr=..., sort_t=..., ldvsl=..., ldvsr=..., lwork=..., zselect_extra_args=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "a,b,sdim,alpha,beta,vsl,vsr,work,info = zgges(zselect,a,b,[jobvsl,jobvsr,sort_t,ldvsl,ldvsr,lwork,zselect_extra_args,overwrite_a,overwrite_b])\n\nWrapper for ``zgges``.\n\nParameters\n----------\nzselect : call-back function\na : input rank-2 array('D') with bounds (lda,n)\nb : input rank-2 array('D') with bounds (ldb,n)\n\nOther Parameters\n----------------\njobvsl : input int, optional\n Default: 1\njobvsr : input int, optional\n Default: 1\nsort_t : input int, optional\n Default: 0\nzselect_extra_args : input tuple, optional\n Default: ()\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nldvsl : input int, optional\n Default: ((jobvsl==1)?n:1)\nldvsr : input int, optional\n Default: ((jobvsr==1)?n:1)\nlwork : input int, optional\n Default: max(2*n,1)\n\nReturns\n-------\na : rank-2 array('D') with bounds (lda,n)\nb : rank-2 array('D') with bounds (ldb,n)\nsdim : int\nalpha : rank-1 array('D') with bounds (n)\nbeta : rank-1 array('D') with bounds (n)\nvsl : rank-2 array('D') with bounds (ldvsl,n)\nvsr : rank-2 array('D') with bounds (ldvsr,n)\nwork : rank-1 array('D') with bounds (MAX(lwork,1))\ninfo : int\n\nNotes\n-----\nCall-back functions::\n\n def zselect(alpha,beta): return zselect\n Required arguments:\n alpha : input complex\n beta : input complex\n Return objects:\n zselect : int\n" - ... - -def zggev(a, b, compute_vl=..., compute_vr=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "alpha,beta,vl,vr,work,info = zggev(a,b,[compute_vl,compute_vr,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``zggev``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nb : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_vl : input int, optional\n Default: 1\ncompute_vr : input int, optional\n Default: 1\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(2*n,1)\n\nReturns\n-------\nalpha : rank-1 array('D') with bounds (n)\nbeta : rank-1 array('D') with bounds (n)\nvl : rank-2 array('D') with bounds (ldvl,n)\nvr : rank-2 array('D') with bounds (ldvr,n)\nwork : rank-1 array('D') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def zgglse(a, b, c, d, lwork=..., overwrite_a=..., overwrite_b=..., overwrite_c=..., overwrite_d=...) -> typing.Any: - "t,r,res,x,info = zgglse(a,b,c,d,[lwork,overwrite_a,overwrite_b,overwrite_c,overwrite_d])\n\nWrapper for ``zgglse``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\nb : input rank-2 array('D') with bounds (p,n)\nc : input rank-1 array('D') with bounds (m)\nd : input rank-1 array('D') with bounds (p)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\noverwrite_c : input int, optional\n Default: 0\noverwrite_d : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(m+n+p,1)\n\nReturns\n-------\nt : rank-2 array('D') with bounds (m,n) and a storage\nr : rank-2 array('D') with bounds (p,n) and b storage\nres : rank-1 array('D') with bounds (m) and c storage\nx : rank-1 array('D') with bounds (n)\ninfo : int\n" - ... - -def zgglse_lwork(m, n, p) -> typing.Any: - 'work,info = zgglse_lwork(m,n,p)\n\nWrapper for ``zgglse_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\np : input int\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zgtsv(dl, d, du, b, overwrite_dl=..., overwrite_d=..., overwrite_du=..., overwrite_b=...) -> typing.Any: - "du2,d,du,x,info = zgtsv(dl,d,du,b,[overwrite_dl,overwrite_d,overwrite_du,overwrite_b])\n\nWrapper for ``zgtsv``.\n\nParameters\n----------\ndl : input rank-1 array('D') with bounds (n - 1)\nd : input rank-1 array('D') with bounds (n)\ndu : input rank-1 array('D') with bounds (n - 1)\nb : input rank-2 array('D') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_dl : input int, optional\n Default: 0\noverwrite_d : input int, optional\n Default: 0\noverwrite_du : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\ndu2 : rank-1 array('D') with bounds (n - 1) and dl storage\nd : rank-1 array('D') with bounds (n)\ndu : rank-1 array('D') with bounds (n - 1)\nx : rank-2 array('D') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def zgtsvx(dl, d, du, b, fact=..., trans=..., dlf=..., df=..., duf=..., du2=..., ipiv=...) -> typing.Any: - "dlf,df,duf,du2,ipiv,x,rcond,ferr,berr,info = zgtsvx(dl,d,du,b,[fact,trans,dlf,df,duf,du2,ipiv])\n\nWrapper for ``zgtsvx``.\n\nParameters\n----------\ndl : input rank-1 array('D') with bounds (MAX(0, n-1))\nd : input rank-1 array('D') with bounds (n)\ndu : input rank-1 array('D') with bounds (MAX(0, n-1))\nb : input rank-2 array('D') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nfact : input string(len=1), optional\n Default: 'N'\ntrans : input string(len=1), optional\n Default: 'N'\ndlf : input rank-1 array('D') with bounds (MAX(0,n-1))\ndf : input rank-1 array('D') with bounds (n)\nduf : input rank-1 array('D') with bounds (MAX(0,n-1))\ndu2 : input rank-1 array('D') with bounds (MAX(0,n-2))\nipiv : input rank-1 array('i') with bounds (n)\n\nReturns\n-------\ndlf : rank-1 array('D') with bounds (MAX(0,n-1))\ndf : rank-1 array('D') with bounds (n)\nduf : rank-1 array('D') with bounds (MAX(0,n-1))\ndu2 : rank-1 array('D') with bounds (MAX(0,n-2))\nipiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('D') with bounds (ldx,nrhs)\nrcond : float\nferr : rank-1 array('d') with bounds (nrhs)\nberr : rank-1 array('d') with bounds (nrhs)\ninfo : int\n" - ... - -def zgttrf(dl, d, du, overwrite_dl=..., overwrite_d=..., overwrite_du=...) -> typing.Any: - "dl,d,du,du2,ipiv,info = zgttrf(dl,d,du,[overwrite_dl,overwrite_d,overwrite_du])\n\nWrapper for ``zgttrf``.\n\nParameters\n----------\ndl : input rank-1 array('D') with bounds (n - 1)\nd : input rank-1 array('D') with bounds (n)\ndu : input rank-1 array('D') with bounds (n - 1)\n\nOther Parameters\n----------------\noverwrite_dl : input int, optional\n Default: 0\noverwrite_d : input int, optional\n Default: 0\noverwrite_du : input int, optional\n Default: 0\n\nReturns\n-------\ndl : rank-1 array('D') with bounds (n - 1)\nd : rank-1 array('D') with bounds (n)\ndu : rank-1 array('D') with bounds (n - 1)\ndu2 : rank-1 array('D') with bounds (n - 2)\nipiv : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def zgttrs(dl, d, du, du2, ipiv, b, trans=..., overwrite_b=...) -> typing.Any: - "x,info = zgttrs(dl,d,du,du2,ipiv,b,[trans,overwrite_b])\n\nWrapper for ``zgttrs``.\n\nParameters\n----------\ndl : input rank-1 array('D') with bounds (n - 1)\nd : input rank-1 array('D') with bounds (n)\ndu : input rank-1 array('D') with bounds (n - 1)\ndu2 : input rank-1 array('D') with bounds (n - 2)\nipiv : input rank-1 array('i') with bounds (n)\nb : input rank-2 array('D') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('D') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def zhbevd(ab, compute_v=..., lower=..., ldab=..., lrwork=..., liwork=..., overwrite_ab=...) -> typing.Any: - "w,z,info = zhbevd(ab,[compute_v,lower,ldab,lrwork,liwork,overwrite_ab])\n\nWrapper for ``zhbevd``.\n\nParameters\n----------\nab : input rank-2 array('D') with bounds (ldab,n)\n\nOther Parameters\n----------------\noverwrite_ab : input int, optional\n Default: 1\ncompute_v : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\nldab : input int, optional\n Default: shape(ab,0)\nlrwork : input int, optional\n Default: (compute_v?1+5*n+2*n*n:n)\nliwork : input int, optional\n Default: (compute_v?3+5*n:1)\n\nReturns\n-------\nw : rank-1 array('d') with bounds (n)\nz : rank-2 array('D') with bounds (ldz,ldz)\ninfo : int\n" - ... - -def zhbevx(ab, vl, vu, il, iu, ldab=..., compute_v=..., range=..., lower=..., abstol=..., mmax=..., overwrite_ab=...) -> typing.Any: - "w,z,m,ifail,info = zhbevx(ab,vl,vu,il,iu,[ldab,compute_v,range,lower,abstol,mmax,overwrite_ab])\n\nWrapper for ``zhbevx``.\n\nParameters\n----------\nab : input rank-2 array('D') with bounds (ldab,n)\nvl : input float\nvu : input float\nil : input int\niu : input int\n\nOther Parameters\n----------------\noverwrite_ab : input int, optional\n Default: 1\nldab : input int, optional\n Default: shape(ab,0)\ncompute_v : input int, optional\n Default: 1\nrange : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\nabstol : input float, optional\n Default: 0.0\nmmax : input int, optional\n Default: (compute_v?(range==2?(iu-il+1):n):1)\n\nReturns\n-------\nw : rank-1 array('d') with bounds (n)\nz : rank-2 array('D') with bounds (ldz,mmax)\nm : int\nifail : rank-1 array('i') with bounds ((compute_v?n:1))\ninfo : int\n" - ... - -def zhecon(a, ipiv, anorm, lower=...) -> typing.Any: - "rcond,info = zhecon(a,ipiv,anorm,[lower])\n\nWrapper for ``zhecon``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\nanorm : input float\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nrcond : float\ninfo : int\n" - ... - -def zheequb(a, lower=...) -> typing.Any: - "s,scond,amax,info = zheequb(a,[lower])\n\nWrapper for ``zheequb``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (lda,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\ns : rank-1 array('d') with bounds (n)\nscond : float\namax : float\ninfo : int\n" - ... - -def zheev(a, compute_v=..., lower=..., lwork=..., overwrite_a=...) -> typing.Any: - "w,v,info = zheev(a,[compute_v,lower,lwork,overwrite_a])\n\nWrapper for ``zheev``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(2*n-1,1)\n\nReturns\n-------\nw : rank-1 array('d') with bounds (n)\nv : rank-2 array('D') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def zheev_lwork(n, lower=...) -> typing.Any: - 'work,info = zheev_lwork(n,[lower])\n\nWrapper for ``zheev_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zheevd(a, compute_v=..., lower=..., lwork=..., liwork=..., lrwork=..., overwrite_a=...) -> typing.Any: - "w,v,info = zheevd(a,[compute_v,lower,lwork,liwork,lrwork,overwrite_a])\n\nWrapper for ``zheevd``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max((compute_v?2*n+n*n:n+1),1)\nliwork : input int, optional\n Default: (compute_v?3+5*n:1)\nlrwork : input int, optional\n Default: (compute_v?1+5*n+2*n*n:n)\n\nReturns\n-------\nw : rank-1 array('d') with bounds (n)\nv : rank-2 array('D') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def zheevd_lwork(n, compute_v=..., lower=...) -> typing.Any: - 'work,iwork,rwork,info = zheevd_lwork(n,[compute_v,lower])\n\nWrapper for ``zheevd_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\niwork : int\nrwork : float\ninfo : int\n' - ... - -def zheevr(a, compute_v=..., range=..., lower=..., vl=..., vu=..., il=..., iu=..., abstol=..., lwork=..., lrwork=..., liwork=..., overwrite_a=...) -> typing.Any: - "w,z,m,isuppz,info = zheevr(a,[compute_v,range,lower,vl,vu,il,iu,abstol,lwork,lrwork,liwork,overwrite_a])\n\nWrapper for ``zheevr``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds ``(n,n)``\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default ``1``\nrange : input string(len=1), optional\n Default ``'A'``\nlower : input int, optional\n Default ``0``\noverwrite_a : input int, optional\n Default ``0``\nvl : input float, optional\n Default ``0.0``\nvu : input float, optional\n Default ``1.0``\nil : input int, optional\n Default ``1``\niu : input int, optional\n Default ``n``\nabstol : input float, optional\n Default ``0.0``\nlwork : input int, optional\n Default ``max(2*n,1)``\nlrwork : input int, optional\n Default ``max(24*n,1)``\nliwork : input int, optional\n Default ``max(1,10*n)``\n\nReturns\n-------\nw : rank-1 array('d') with bounds ``(n)``\nz : rank-2 array('D') with bounds ``((compute_v?MAX(0,n):0),(compute_v?(*range=='I'?iu-il+1:MAX(1,n)):0))``\nm : int\nisuppz : rank-1 array('i') with bounds ``(2*max(1,n))``\ninfo : int\n" - ... - -def zheevr_lwork(n, lower=...) -> typing.Any: - 'work,rwork,iwork,info = zheevr_lwork(n,[lower])\n\nWrapper for ``zheevr_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\nrwork : float\niwork : int\ninfo : int\n' - ... - -def zheevx(a, compute_v=..., range=..., lower=..., vl=..., vu=..., il=..., iu=..., abstol=..., lwork=..., overwrite_a=...) -> typing.Any: - "w,z,m,ifail,info = zheevx(a,[compute_v,range,lower,vl,vu,il,iu,abstol,lwork,overwrite_a])\n\nWrapper for ``zheevx``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds ``(n,n)``\n\nOther Parameters\n----------------\ncompute_v : input int, optional\n Default ``1``\nrange : input string(len=1), optional\n Default ``'A'``\nlower : input int, optional\n Default ``0``\noverwrite_a : input int, optional\n Default ``0``\nvl : input float, optional\n Default ``0.0``\nvu : input float, optional\n Default ``1.0``\nil : input int, optional\n Default ``1``\niu : input int, optional\n Default ``n``\nabstol : input float, optional\n Default ``0.0``\nlwork : input int, optional\n Default ``max(2*n,1)``\n\nReturns\n-------\nw : rank-1 array('d') with bounds ``(n)``\nz : rank-2 array('D') with bounds ``((compute_v*n),(compute_v?(*range=='I'?iu-il+1:MAX(1,n)):0))``\nm : int\nifail : rank-1 array('i') with bounds ``(compute_v*n)``\ninfo : int\n" - ... - -def zheevx_lwork(n, lower=...) -> typing.Any: - 'work,info = zheevx_lwork(n,[lower])\n\nWrapper for ``zheevx_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zhegst(a, b, itype=..., lower=..., overwrite_a=...) -> typing.Any: - "c,info = zhegst(a,b,[itype,lower,overwrite_a])\n\nWrapper for ``zhegst``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nb : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nitype : input int, optional\n Default: 1\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('D') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def zhegv(a, b, itype=..., jobz=..., uplo=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "w,v,info = zhegv(a,b,[itype,jobz,uplo,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``zhegv``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nb : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\nitype : input int, optional\n Default: 1\njobz : input string(len=1), optional\n Default: 'V'\nuplo : input string(len=1), optional\n Default: 'L'\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(2*n-1,1)\n\nReturns\n-------\nw : rank-1 array('d') with bounds (n)\nv : rank-2 array('D') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def zhegv_lwork(n, uplo=...) -> typing.Any: - "work,info = zhegv_lwork(n,[uplo])\n\nWrapper for ``zhegv_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'L'\n\nReturns\n-------\nwork : complex\ninfo : int\n" - ... - -def zhegvd(a, b, itype=..., jobz=..., uplo=..., lwork=..., lrwork=..., liwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "w,v,info = zhegvd(a,b,[itype,jobz,uplo,lwork,lrwork,liwork,overwrite_a,overwrite_b])\n\nWrapper for ``zhegvd``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds ``(n,n)``\nb : input rank-2 array('D') with bounds ``(n,n)``\n\nOther Parameters\n----------------\nitype : input int, optional\n Default ``1``\njobz : input string(len=1), optional\n Default ``'V'``\nuplo : input string(len=1), optional\n Default ``'L'``\noverwrite_a : input int, optional\n Default ``0``\noverwrite_b : input int, optional\n Default ``0``\nlwork : input int, optional\n Default ``(*jobz=='N'?n+1:n*(n+2))``\nlrwork : input int, optional\n Default ``max((*jobz=='N'?n:2*n*n+5*n+1),1)``\nliwork : input int, optional\n Default ``(*jobz=='N'?1:5*n+3)``\n\nReturns\n-------\nw : rank-1 array('d') with bounds ``(n)``\nv : rank-2 array('D') with bounds ``(n,n)`` with ``a`` storage\ninfo : int\n" - ... - -def zhegvx(a, b, itype=..., jobz=..., range=..., uplo=..., vl=..., vu=..., il=..., iu=..., abstol=..., lwork=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "w,z,m,ifail,info = zhegvx(a,b,[itype,jobz,range,uplo,vl,vu,il,iu,abstol,lwork,overwrite_a,overwrite_b])\n\nWrapper for ``zhegvx``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nb : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\nitype : input int, optional\n Default: 1\njobz : input string(len=1), optional\n Default: 'V'\nrange : input string(len=1), optional\n Default: 'A'\nuplo : input string(len=1), optional\n Default: 'L'\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nvl : input float, optional\n Default: 0.0\nvu : input float, optional\n Default: 1.0\nil : input int, optional\n Default: 1\niu : input int, optional\n Default: n\nabstol : input float, optional\n Default: 0.0\nlwork : input int, optional\n Default: max(2*n,1)\n\nReturns\n-------\nw : rank-1 array('d') with bounds (n)\nz : rank-2 array('D') with bounds ((jobz[0]=='V'?MAX(0,n):0),(jobz[0]=='V'?(range[0]=='I'?iu-il+1:MAX(1,n)):0))\nm : int\nifail : rank-1 array('i') with bounds ((jobz[0]=='N'?0:n))\ninfo : int\n" - ... - -def zhegvx_lwork(n, uplo=...) -> typing.Any: - "work,info = zhegvx_lwork(n,[uplo])\n\nWrapper for ``zhegvx_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'L'\n\nReturns\n-------\nwork : complex\ninfo : int\n" - ... - -def zhesv(a, b, lwork=..., lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "uduh,ipiv,x,info = zhesv(a,b,[lwork,lower,overwrite_a,overwrite_b])\n\nWrapper for ``zhesv``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nb : input rank-2 array('D') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(n,1)\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nuduh : rank-2 array('D') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('D') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def zhesv_lwork(n, lower=...) -> typing.Any: - 'work,info = zhesv_lwork(n,[lower])\n\nWrapper for ``zhesv_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zhesvx(a, b, af=..., ipiv=..., lwork=..., factored=..., lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "uduh,ipiv,x,rcond,ferr,berr,info = zhesvx(a,b,[af,ipiv,lwork,factored,lower,overwrite_a,overwrite_b])\n\nWrapper for ``zhesvx``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nb : input rank-2 array('D') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\naf : input rank-2 array('D') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(2*n,1)\nfactored : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nuduh : rank-2 array('D') with bounds (n,n) and af storage\nipiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('D') with bounds (n,nrhs)\nrcond : float\nferr : rank-1 array('d') with bounds (nrhs)\nberr : rank-1 array('d') with bounds (nrhs)\ninfo : int\n" - ... - -def zhesvx_lwork(n, lower=...) -> typing.Any: - 'work,info = zhesvx_lwork(n,[lower])\n\nWrapper for ``zhesvx_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zhetrd(a, lower=..., lwork=..., overwrite_a=...) -> typing.Any: - "c,d,e,tau,info = zhetrd(a,[lower,lwork,overwrite_a])\n\nWrapper for ``zhetrd``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (lda,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(n,1)\n\nReturns\n-------\nc : rank-2 array('D') with bounds (lda,n) and a storage\nd : rank-1 array('d') with bounds (n)\ne : rank-1 array('d') with bounds (n - 1)\ntau : rank-1 array('D') with bounds (n - 1)\ninfo : int\n" - ... - -def zhetrd_lwork(n, lower=...) -> typing.Any: - 'work,info = zhetrd_lwork(n,[lower])\n\nWrapper for ``zhetrd_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zhetrf(a, lower=..., lwork=..., overwrite_a=...) -> typing.Any: - "ldu,ipiv,info = zhetrf(a,[lower,lwork,overwrite_a])\n\nWrapper for ``zhetrf``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(n,1)\n\nReturns\n-------\nldu : rank-2 array('D') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def zhetrf_lwork(n, lower=...) -> typing.Any: - 'work,info = zhetrf_lwork(n,[lower])\n\nWrapper for ``zhetrf_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zhfrk(n, k, alpha, a, beta, c, transr=..., uplo=..., trans=..., overwrite_c=...) -> typing.Any: - "cout = zhfrk(n,k,alpha,a,beta,c,[transr,uplo,trans,overwrite_c])\n\nWrapper for ``zhfrk``.\n\nParameters\n----------\nn : input int\nk : input int\nalpha : input float\na : input rank-2 array('D') with bounds (lda,ka)\nbeta : input float\nc : input rank-1 array('D') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\ncout : rank-1 array('D') with bounds (nt) and c storage\n" - ... - -def zlange(norm, a) -> typing.Any: - "n2 = zlange(norm,a)\n\nWrapper for ``zlange``.\n\nParameters\n----------\nnorm : input string(len=1)\na : input rank-2 array('D') with bounds (m,n)\n\nReturns\n-------\nn2 : float\n" - ... - -def zlarf(v, tau, c, work, side=..., incv=..., overwrite_c=...) -> typing.Any: - "c = zlarf(v,tau,c,work,[side,incv,overwrite_c])\n\nWrapper for ``zlarf``.\n\nParameters\n----------\nv : input rank-1 array('D') with bounds ((side[0]=='L'?(1 + (m-1)*abs(incv)):(1 + (n-1)*abs(incv))))\ntau : input complex\nc : input rank-2 array('D') with bounds (m,n)\nwork : input rank-1 array('D') with bounds (lwork)\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\nincv : input int, optional\n Default: 1\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('D') with bounds (m,n)\n" - ... - -def zlarfg(n, alpha, x, incx=..., overwrite_x=...) -> typing.Any: - "alpha,x,tau = zlarfg(n,alpha,x,[incx,overwrite_x])\n\nWrapper for ``zlarfg``.\n\nParameters\n----------\nn : input int\nalpha : input complex\nx : input rank-1 array('D') with bounds (lx)\n\nOther Parameters\n----------------\noverwrite_x : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\n\nReturns\n-------\nalpha : complex\nx : rank-1 array('D') with bounds (lx)\ntau : complex\n" - ... - -def zlartg(f, g) -> typing.Any: - 'cs,sn,r = zlartg(f,g)\n\nWrapper for ``zlartg``.\n\nParameters\n----------\nf : input complex\ng : input complex\n\nReturns\n-------\ncs : float\nsn : complex\nr : complex\n' - ... - -def zlaswp(a, piv, k1=..., k2=..., off=..., inc=..., overwrite_a=...) -> typing.Any: - "a = zlaswp(a,piv,[k1,k2,off,inc,overwrite_a])\n\nWrapper for ``zlaswp``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (nrows,n)\npiv : input rank-1 array('i') with bounds (npiv)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nk1 : input int, optional\n Default: 0\nk2 : input int, optional\n Default: npiv-1\noff : input int, optional\n Default: 0\ninc : input int, optional\n Default: 1\n\nReturns\n-------\na : rank-2 array('D') with bounds (nrows,n)\n" - ... - -def zlauum(c, lower=..., overwrite_c=...) -> typing.Any: - "a,info = zlauum(c,[lower,overwrite_c])\n\nWrapper for ``zlauum``.\n\nParameters\n----------\nc : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_c : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('D') with bounds (n,n) and c storage\ninfo : int\n" - ... - -def zpbsv(ab, b, lower=..., ldab=..., overwrite_ab=..., overwrite_b=...) -> typing.Any: - "c,x,info = zpbsv(ab,b,[lower,ldab,overwrite_ab,overwrite_b])\n\nWrapper for ``zpbsv``.\n\nParameters\n----------\nab : input rank-2 array('D') with bounds (ldab,n)\nb : input rank-2 array('D') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_ab : input int, optional\n Default: 0\nldab : input int, optional\n Default: shape(ab,0)\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('D') with bounds (ldab,n) and ab storage\nx : rank-2 array('D') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def zpbtrf(ab, lower=..., ldab=..., overwrite_ab=...) -> typing.Any: - "c,info = zpbtrf(ab,[lower,ldab,overwrite_ab])\n\nWrapper for ``zpbtrf``.\n\nParameters\n----------\nab : input rank-2 array('D') with bounds (ldab,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_ab : input int, optional\n Default: 0\nldab : input int, optional\n Default: shape(ab,0)\n\nReturns\n-------\nc : rank-2 array('D') with bounds (ldab,n) and ab storage\ninfo : int\n" - ... - -def zpbtrs(ab, b, lower=..., ldab=..., overwrite_b=...) -> typing.Any: - "x,info = zpbtrs(ab,b,[lower,ldab,overwrite_b])\n\nWrapper for ``zpbtrs``.\n\nParameters\n----------\nab : input rank-2 array('D') with bounds (ldab,n)\nb : input rank-2 array('D') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\nldab : input int, optional\n Default: shape(ab,0)\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('D') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def zpftrf(n, a, transr=..., uplo=..., overwrite_a=...) -> typing.Any: - "achol,info = zpftrf(n,a,[transr,uplo,overwrite_a])\n\nWrapper for ``zpftrf``.\n\nParameters\n----------\nn : input int\na : input rank-1 array('D') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nachol : rank-1 array('D') with bounds (nt) and a storage\ninfo : int\n" - ... - -def zpftri(n, a, transr=..., uplo=..., overwrite_a=...) -> typing.Any: - "ainv,info = zpftri(n,a,[transr,uplo,overwrite_a])\n\nWrapper for ``zpftri``.\n\nParameters\n----------\nn : input int\na : input rank-1 array('D') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nainv : rank-1 array('D') with bounds (nt) and a storage\ninfo : int\n" - ... - -def zpftrs(n, a, b, transr=..., uplo=..., overwrite_b=...) -> typing.Any: - "x,info = zpftrs(n,a,b,[transr,uplo,overwrite_b])\n\nWrapper for ``zpftrs``.\n\nParameters\n----------\nn : input int\na : input rank-1 array('D') with bounds (nt)\nb : input rank-2 array('D') with bounds (ldb,nhrs)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('D') with bounds (ldb,nhrs) and b storage\ninfo : int\n" - ... - -def zpocon(a, anorm, uplo=...) -> typing.Any: - "rcond,info = zpocon(a,anorm,[uplo])\n\nWrapper for ``zpocon``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nanorm : input float\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\nrcond : float\ninfo : int\n" - ... - -def zposv(a, b, lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "c,x,info = zposv(a,b,[lower,overwrite_a,overwrite_b])\n\nWrapper for ``zposv``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nb : input rank-2 array('D') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('D') with bounds (n,n) and a storage\nx : rank-2 array('D') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def zposvx(a, b, fact=..., af=..., equed=..., s=..., lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "a_s,lu,equed,s,b_s,x,rcond,ferr,berr,info = zposvx(a,b,[fact,af,equed,s,lower,overwrite_a,overwrite_b])\n\nWrapper for ``zposvx``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nb : input rank-2 array('D') with bounds (n,nrhs)\n\nOther Parameters\n----------------\nfact : input string(len=1), optional\n Default: 'E'\noverwrite_a : input int, optional\n Default: 0\naf : input rank-2 array('D') with bounds (n,n)\nequed : input string(len=1), optional\n Default: 'Y'\ns : input rank-1 array('d') with bounds (n)\noverwrite_b : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\na_s : rank-2 array('D') with bounds (n,n) and a storage\nlu : rank-2 array('D') with bounds (n,n) and af storage\nequed : string(len=1)\ns : rank-1 array('d') with bounds (n)\nb_s : rank-2 array('D') with bounds (n,nrhs) and b storage\nx : rank-2 array('D') with bounds (n,nrhs)\nrcond : float\nferr : rank-1 array('d') with bounds (nrhs)\nberr : rank-1 array('d') with bounds (nrhs)\ninfo : int\n" - ... - -def zpotrf(a, lower=..., clean=..., overwrite_a=...) -> typing.Any: - "c,info = zpotrf(a,[lower,clean,overwrite_a])\n\nWrapper for ``zpotrf``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\nclean : input int, optional\n Default: 1\n\nReturns\n-------\nc : rank-2 array('D') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def zpotri(c, lower=..., overwrite_c=...) -> typing.Any: - "inv_a,info = zpotri(c,[lower,overwrite_c])\n\nWrapper for ``zpotri``.\n\nParameters\n----------\nc : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_c : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\ninv_a : rank-2 array('D') with bounds (n,n) and c storage\ninfo : int\n" - ... - -def zpotrs(c, b, lower=..., overwrite_b=...) -> typing.Any: - "x,info = zpotrs(c,b,[lower,overwrite_b])\n\nWrapper for ``zpotrs``.\n\nParameters\n----------\nc : input rank-2 array('D') with bounds (n,n)\nb : input rank-2 array('D') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_b : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('D') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def zppcon(n, ap, anorm, lower=...) -> typing.Any: - "rcond,info = zppcon(n,ap,anorm,[lower])\n\nWrapper for ``zppcon``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('D') with bounds (L)\nanorm : input float\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nrcond : float\ninfo : int\n" - ... - -def zppsv(n, ap, b, lower=..., overwrite_b=...) -> typing.Any: - "x,info = zppsv(n,ap,b,[lower,overwrite_b])\n\nWrapper for ``zppsv``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('D') with bounds (L)\nb : input rank-2 array('D') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('D') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def zpptrf(n, ap, lower=..., overwrite_ap=...) -> typing.Any: - "ul,info = zpptrf(n,ap,[lower,overwrite_ap])\n\nWrapper for ``zpptrf``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('D') with bounds (L)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_ap : input int, optional\n Default: 0\n\nReturns\n-------\nul : rank-1 array('D') with bounds (L) and ap storage\ninfo : int\n" - ... - -def zpptri(n, ap, lower=..., overwrite_ap=...) -> typing.Any: - "uli,info = zpptri(n,ap,[lower,overwrite_ap])\n\nWrapper for ``zpptri``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('D') with bounds (L)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_ap : input int, optional\n Default: 0\n\nReturns\n-------\nuli : rank-1 array('D') with bounds (L) and ap storage\ninfo : int\n" - ... - -def zpptrs(n, ap, b, lower=..., overwrite_b=...) -> typing.Any: - "x,info = zpptrs(n,ap,b,[lower,overwrite_b])\n\nWrapper for ``zpptrs``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('D') with bounds (L)\nb : input rank-2 array('D') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('D') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def zpstf2(a, tol=..., lower=..., overwrite_a=...) -> typing.Any: - "c,piv,rank_c,info = zpstf2(a,[tol,lower,overwrite_a])\n\nWrapper for ``zpstf2``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\ntol : input float, optional\n Default: -1.0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('D') with bounds (n,n) and a storage\npiv : rank-1 array('i') with bounds (n)\nrank_c : int\ninfo : int\n" - ... - -def zpstrf(a, tol=..., lower=..., overwrite_a=...) -> typing.Any: - "c,piv,rank_c,info = zpstrf(a,[tol,lower,overwrite_a])\n\nWrapper for ``zpstrf``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\ntol : input float, optional\n Default: -1.0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nc : rank-2 array('D') with bounds (n,n) and a storage\npiv : rank-1 array('i') with bounds (n)\nrank_c : int\ninfo : int\n" - ... - -def zpteqr(d, e, z, compute_z=..., overwrite_d=..., overwrite_e=..., overwrite_z=...) -> typing.Any: - "d,e,z,info = zpteqr(d,e,z,[compute_z,overwrite_d,overwrite_e,overwrite_z])\n\nWrapper for ``zpteqr``.\n\nParameters\n----------\nd : input rank-1 array('d') with bounds (n)\ne : input rank-1 array('d') with bounds ((n>0?n-1:0))\nz : input rank-2 array('D') with bounds ((compute_z==0?shape(z, 0):max(1,n)),(compute_z==0?shape(z, 1):n))\n\nOther Parameters\n----------------\ncompute_z : input int, optional\n Default: 0\noverwrite_d : input int, optional\n Default: 0\noverwrite_e : input int, optional\n Default: 0\noverwrite_z : input int, optional\n Default: 0\n\nReturns\n-------\nd : rank-1 array('d') with bounds (n)\ne : rank-1 array('d') with bounds ((n>0?n-1:0))\nz : rank-2 array('D') with bounds ((compute_z==0?shape(z, 0):max(1,n)),(compute_z==0?shape(z, 1):n))\ninfo : int\n" - ... - -def zptsv(d, e, b, overwrite_d=..., overwrite_e=..., overwrite_b=...) -> typing.Any: - "d,du,x,info = zptsv(d,e,b,[overwrite_d,overwrite_e,overwrite_b])\n\nWrapper for ``zptsv``.\n\nParameters\n----------\nd : input rank-1 array('d') with bounds (n)\ne : input rank-1 array('D') with bounds (n - 1)\nb : input rank-2 array('D') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_d : input int, optional\n Default: 0\noverwrite_e : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nd : rank-1 array('d') with bounds (n)\ndu : rank-1 array('D') with bounds (n - 1) and e storage\nx : rank-2 array('D') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def zptsvx(d, e, b, fact=..., df=..., ef=...) -> typing.Any: - "df,ef,x,rcond,ferr,berr,info = zptsvx(d,e,b,[fact,df,ef])\n\nWrapper for ``zptsvx``.\n\nParameters\n----------\nd : input rank-1 array('d') with bounds (n)\ne : input rank-1 array('D') with bounds (max(0, n-1))\nb : input rank-2 array('D') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nfact : input string(len=1), optional\n Default: 'N'\ndf : input rank-1 array('d') with bounds (n)\nef : input rank-1 array('D') with bounds (max(0, n-1))\n\nReturns\n-------\ndf : rank-1 array('d') with bounds (n)\nef : rank-1 array('D') with bounds (max(0, n-1))\nx : rank-2 array('D') with bounds (ldx,nrhs)\nrcond : float\nferr : rank-1 array('d') with bounds (nrhs)\nberr : rank-1 array('d') with bounds (nrhs)\ninfo : int\n" - ... - -def zpttrf(d, e, overwrite_d=..., overwrite_e=...) -> typing.Any: - "d,e,info = zpttrf(d,e,[overwrite_d,overwrite_e])\n\nWrapper for ``zpttrf``.\n\nParameters\n----------\nd : input rank-1 array('d') with bounds (n)\ne : input rank-1 array('D') with bounds ((n>0?n-1:0))\n\nOther Parameters\n----------------\noverwrite_d : input int, optional\n Default: 0\noverwrite_e : input int, optional\n Default: 0\n\nReturns\n-------\nd : rank-1 array('d') with bounds (n)\ne : rank-1 array('D') with bounds ((n>0?n-1:0))\ninfo : int\n" - ... - -def zpttrs(d, e, b, lower=..., overwrite_b=...) -> typing.Any: - "x,info = zpttrs(d,e,b,[lower,overwrite_b])\n\nWrapper for ``zpttrs``.\n\nParameters\n----------\nd : input rank-1 array('d') with bounds (n)\ne : input rank-1 array('D') with bounds ((n>0?n-1:0))\nb : input rank-2 array('D') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('D') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def zrot(x, y, c, s, n=..., offx=..., incx=..., offy=..., incy=..., overwrite_x=..., overwrite_y=...) -> typing.Any: - "x,y = zrot(x,y,c,s,[n,offx,incx,offy,incy,overwrite_x,overwrite_y])\n\nWrapper for ``zrot``.\n\nParameters\n----------\nx : input rank-1 array('D') with bounds (lx)\ny : input rank-1 array('D') with bounds (ly)\nc : input float\ns : input complex\n\nOther Parameters\n----------------\nn : input int, optional\n Default: (lx-1-offx)/abs(incx)+1\noverwrite_x : input int, optional\n Default: 0\noffx : input int, optional\n Default: 0\nincx : input int, optional\n Default: 1\noverwrite_y : input int, optional\n Default: 0\noffy : input int, optional\n Default: 0\nincy : input int, optional\n Default: 1\n\nReturns\n-------\nx : rank-1 array('D') with bounds (lx)\ny : rank-1 array('D') with bounds (ly)\n" - ... - -def zsycon(a, ipiv, anorm, lower=...) -> typing.Any: - "rcond,info = zsycon(a,ipiv,anorm,[lower])\n\nWrapper for ``zsycon``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\nanorm : input float\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nrcond : float\ninfo : int\n" - ... - -def zsyconv(a, ipiv, lower=..., way=..., overwrite_a=...) -> typing.Any: - "a,e,info = zsyconv(a,ipiv,[lower,way,overwrite_a])\n\nWrapper for ``zsyconv``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\nway : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('D') with bounds (n,n)\ne : rank-1 array('D') with bounds (n)\ninfo : int\n" - ... - -def zsyequb(a, lower=...) -> typing.Any: - "s,scond,amax,info = zsyequb(a,[lower])\n\nWrapper for ``zsyequb``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (lda,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\ns : rank-1 array('d') with bounds (n)\nscond : float\namax : float\ninfo : int\n" - ... - -def zsysv(a, b, lwork=..., lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "udut,ipiv,x,info = zsysv(a,b,[lwork,lower,overwrite_a,overwrite_b])\n\nWrapper for ``zsysv``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nb : input rank-2 array('D') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(n,1)\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nudut : rank-2 array('D') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\nx : rank-2 array('D') with bounds (n,nrhs) and b storage\ninfo : int\n" - ... - -def zsysv_lwork(n, lower=...) -> typing.Any: - 'work,info = zsysv_lwork(n,[lower])\n\nWrapper for ``zsysv_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zsysvx(a, b, af=..., ipiv=..., lwork=..., factored=..., lower=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "a_s,udut,ipiv,b_s,x,rcond,ferr,berr,info = zsysvx(a,b,[af,ipiv,lwork,factored,lower,overwrite_a,overwrite_b])\n\nWrapper for ``zsysvx``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\nb : input rank-2 array('D') with bounds (n,nrhs)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\naf : input rank-2 array('D') with bounds (n,n)\nipiv : input rank-1 array('i') with bounds (n)\noverwrite_b : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\nfactored : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\n\nReturns\n-------\na_s : rank-2 array('D') with bounds (n,n) and a storage\nudut : rank-2 array('D') with bounds (n,n) and af storage\nipiv : rank-1 array('i') with bounds (n)\nb_s : rank-2 array('D') with bounds (n,nrhs) and b storage\nx : rank-2 array('D') with bounds (n,nrhs)\nrcond : float\nferr : rank-1 array('d') with bounds (nrhs)\nberr : rank-1 array('d') with bounds (nrhs)\ninfo : int\n" - ... - -def zsysvx_lwork(n, lower=...) -> typing.Any: - 'work,info = zsysvx_lwork(n,[lower])\n\nWrapper for ``zsysvx_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zsytf2(a, lower=..., overwrite_a=...) -> typing.Any: - "ldu,ipiv,info = zsytf2(a,[lower,overwrite_a])\n\nWrapper for ``zsytf2``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\nldu : rank-2 array('D') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def zsytrf(a, lower=..., lwork=..., overwrite_a=...) -> typing.Any: - "ldu,ipiv,info = zsytrf(a,[lower,lwork,overwrite_a])\n\nWrapper for ``zsytrf``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(n,1)\n\nReturns\n-------\nldu : rank-2 array('D') with bounds (n,n) and a storage\nipiv : rank-1 array('i') with bounds (n)\ninfo : int\n" - ... - -def zsytrf_lwork(n, lower=...) -> typing.Any: - 'work,info = zsytrf_lwork(n,[lower])\n\nWrapper for ``zsytrf_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def ztbtrs(ab, b, uplo=..., trans=..., diag=..., overwrite_b=...) -> typing.Any: - "x,info = ztbtrs(ab,b,[uplo,trans,diag,overwrite_b])\n\nWrapper for ``ztbtrs``.\n\nParameters\n----------\nab : input rank-2 array('D') with bounds (ldab,n)\nb : input rank-2 array('D') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'U'\ntrans : input string(len=1), optional\n Default: 'N'\ndiag : input string(len=1), optional\n Default: 'N'\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('D') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def ztfsm(alpha, a, b, transr=..., side=..., uplo=..., trans=..., diag=..., overwrite_b=...) -> typing.Any: - "x = ztfsm(alpha,a,b,[transr,side,uplo,trans,diag,overwrite_b])\n\nWrapper for ``ztfsm``.\n\nParameters\n----------\nalpha : input complex\na : input rank-1 array('D') with bounds (nt)\nb : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nside : input string(len=1), optional\n Default: 'L'\nuplo : input string(len=1), optional\n Default: 'U'\ntrans : input string(len=1), optional\n Default: 'N'\ndiag : input string(len=1), optional\n Default: 'N'\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('D') with bounds (m,n) and b storage\n" - ... - -def ztfttp(n, arf, transr=..., uplo=...) -> typing.Any: - "ap,info = ztfttp(n,arf,[transr,uplo])\n\nWrapper for ``ztfttp``.\n\nParameters\n----------\nn : input int\narf : input rank-1 array('D') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\nap : rank-1 array('D') with bounds (nt)\ninfo : int\n" - ... - -def ztfttr(n, arf, transr=..., uplo=...) -> typing.Any: - "a,info = ztfttr(n,arf,[transr,uplo])\n\nWrapper for ``ztfttr``.\n\nParameters\n----------\nn : input int\narf : input rank-1 array('D') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\na : rank-2 array('D') with bounds (lda,n)\ninfo : int\n" - ... - -def ztgsen(select, a, b, q, z, lwork=..., liwork=..., overwrite_a=..., overwrite_b=..., overwrite_q=..., overwrite_z=...) -> typing.Any: - "a,b,alpha,beta,q,z,m,pl,pr,dif,work,iwork,info = ztgsen(select,a,b,q,z,[lwork,liwork,overwrite_a,overwrite_b,overwrite_q,overwrite_z])\n\nWrapper for ``ztgsen``.\n\nParameters\n----------\nselect : input rank-1 array('i') with bounds (n)\na : input rank-2 array('D') with bounds (lda,n)\nb : input rank-2 array('D') with bounds (ldb,n)\nq : input rank-2 array('D') with bounds (ldq,n)\nz : input rank-2 array('D') with bounds (ldz,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\noverwrite_q : input int, optional\n Default: 0\noverwrite_z : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(2*m*(n-m),1)\nliwork : input int, optional\n Default: n+2\n\nReturns\n-------\na : rank-2 array('D') with bounds (lda,n)\nb : rank-2 array('D') with bounds (ldb,n)\nalpha : rank-1 array('D') with bounds (n)\nbeta : rank-1 array('D') with bounds (n)\nq : rank-2 array('D') with bounds (ldq,n)\nz : rank-2 array('D') with bounds (ldz,n)\nm : int\npl : float\npr : float\ndif : rank-1 array('d') with bounds (2)\nwork : rank-1 array('D') with bounds (MAX(lwork,1))\niwork : rank-1 array('i') with bounds (MAX(1,liwork))\ninfo : int\n" - ... - -def ztpmqrt(l, v, t, a, b, side=..., trans=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "a,b,info = ztpmqrt(l,v,t,a,b,[side,trans,overwrite_a,overwrite_b])\n\nWrapper for ``ztpmqrt``.\n\nParameters\n----------\nl : input int\nv : input rank-2 array('D') with bounds ((side[0]=='L'?m:n),k)\nt : input rank-2 array('D') with bounds (nb,k)\na : input rank-2 array('D') with bounds ((side[0]=='L'?k:m),(side[0]=='L'?n:k))\nb : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('D') with bounds ((side[0]=='L'?k:m),(side[0]=='L'?n:k))\nb : rank-2 array('D') with bounds (m,n)\ninfo : int\n" - ... - -def ztpqrt(l, nb, a, b, overwrite_a=..., overwrite_b=...) -> typing.Any: - "a,b,t,info = ztpqrt(l,nb,a,b,[overwrite_a,overwrite_b])\n\nWrapper for ``ztpqrt``.\n\nParameters\n----------\nl : input int\nnb : input int\na : input rank-2 array('D') with bounds (n,n)\nb : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\na : rank-2 array('D') with bounds (n,n)\nb : rank-2 array('D') with bounds (m,n)\nt : rank-2 array('D') with bounds (nb,n)\ninfo : int\n" - ... - -def ztpttf(n, ap, transr=..., uplo=...) -> typing.Any: - "arf,info = ztpttf(n,ap,[transr,uplo])\n\nWrapper for ``ztpttf``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('D') with bounds (nt)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\narf : rank-1 array('D') with bounds (nt)\ninfo : int\n" - ... - -def ztpttr(n, ap, uplo=...) -> typing.Any: - "a,info = ztpttr(n,ap,[uplo])\n\nWrapper for ``ztpttr``.\n\nParameters\n----------\nn : input int\nap : input rank-1 array('D') with bounds (nt)\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\na : rank-2 array('D') with bounds (n,n)\ninfo : int\n" - ... - -def ztrsyl(a, b, c, trana=..., tranb=..., isgn=..., overwrite_c=...) -> typing.Any: - "x,scale,info = ztrsyl(a,b,c,[trana,tranb,isgn,overwrite_c])\n\nWrapper for ``ztrsyl``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,m)\nb : input rank-2 array('D') with bounds (n,n)\nc : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\ntrana : input string(len=1), optional\n Default: 'N'\ntranb : input string(len=1), optional\n Default: 'N'\nisgn : input int, optional\n Default: 1\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('D') with bounds (m,n) and c storage\nscale : float\ninfo : int\n" - ... - -def ztrtri(c, lower=..., unitdiag=..., overwrite_c=...) -> typing.Any: - "inv_c,info = ztrtri(c,[lower,unitdiag,overwrite_c])\n\nWrapper for ``ztrtri``.\n\nParameters\n----------\nc : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_c : input int, optional\n Default: 0\nlower : input int, optional\n Default: 0\nunitdiag : input int, optional\n Default: 0\n\nReturns\n-------\ninv_c : rank-2 array('D') with bounds (n,n) and c storage\ninfo : int\n" - ... - -def ztrtrs(a, b, lower=..., trans=..., unitdiag=..., lda=..., overwrite_b=...) -> typing.Any: - "x,info = ztrtrs(a,b,[lower,trans,unitdiag,lda,overwrite_b])\n\nWrapper for ``ztrtrs``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (lda,n)\nb : input rank-2 array('D') with bounds (ldb,nrhs)\n\nOther Parameters\n----------------\nlower : input int, optional\n Default: 0\ntrans : input int, optional\n Default: 0\nunitdiag : input int, optional\n Default: 0\nlda : input int, optional\n Default: shape(a,0)\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-2 array('D') with bounds (ldb,nrhs) and b storage\ninfo : int\n" - ... - -def ztrttf(a, transr=..., uplo=...) -> typing.Any: - "arf,info = ztrttf(a,[transr,uplo])\n\nWrapper for ``ztrttf``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (lda,n)\n\nOther Parameters\n----------------\ntransr : input string(len=1), optional\n Default: 'N'\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\narf : rank-1 array('D') with bounds (n*(n+1)/2)\ninfo : int\n" - ... - -def ztrttp(a, uplo=...) -> typing.Any: - "ap,info = ztrttp(a,[uplo])\n\nWrapper for ``ztrttp``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (lda,n)\n\nOther Parameters\n----------------\nuplo : input string(len=1), optional\n Default: 'U'\n\nReturns\n-------\nap : rank-1 array('D') with bounds (n*(n+1)/2)\ninfo : int\n" - ... - -def ztzrzf(a, lwork=..., overwrite_a=...) -> typing.Any: - "rz,tau,info = ztzrzf(a,[lwork,overwrite_a])\n\nWrapper for ``ztzrzf``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX(m,1)\n\nReturns\n-------\nrz : rank-2 array('D') with bounds (m,n) and a storage\ntau : rank-1 array('D') with bounds (m)\ninfo : int\n" - ... - -def ztzrzf_lwork(m, n) -> typing.Any: - 'work,info = ztzrzf_lwork(m,n)\n\nWrapper for ``ztzrzf_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zuncsd(x11, x12, x21, x22, compute_u1=..., compute_u2=..., compute_v1t=..., compute_v2t=..., trans=..., signs=..., lwork=..., lrwork=..., overwrite_x11=..., overwrite_x12=..., overwrite_x21=..., overwrite_x22=...) -> typing.Any: - "cs11,cs12,cs21,cs22,theta,u1,u2,v1t,v2t,info = zuncsd(x11,x12,x21,x22,[compute_u1,compute_u2,compute_v1t,compute_v2t,trans,signs,lwork,lrwork,overwrite_x11,overwrite_x12,overwrite_x21,overwrite_x22])\n\nWrapper for ``zuncsd``.\n\nParameters\n----------\nx11 : input rank-2 array('D') with bounds (p,q)\nx12 : input rank-2 array('D') with bounds (p,mmq)\nx21 : input rank-2 array('D') with bounds (mmp,q)\nx22 : input rank-2 array('D') with bounds (mmp,mmq)\n\nOther Parameters\n----------------\ncompute_u1 : input int, optional\n Default: 1\ncompute_u2 : input int, optional\n Default: 1\ncompute_v1t : input int, optional\n Default: 1\ncompute_v2t : input int, optional\n Default: 1\ntrans : input int, optional\n Default: 0\nsigns : input int, optional\n Default: 0\noverwrite_x11 : input int, optional\n Default: 0\noverwrite_x12 : input int, optional\n Default: 0\noverwrite_x21 : input int, optional\n Default: 0\noverwrite_x22 : input int, optional\n Default: 0\nlwork : input int, optional\n Default: 2*m+MAX(1,MAX(mmp,mmq))+1\nlrwork : input int, optional\n Default: 5*MAX(1,q-1)+4*MAX(1,q)+8*q+1\n\nReturns\n-------\ncs11 : rank-2 array('D') with bounds (p,q) and x11 storage\ncs12 : rank-2 array('D') with bounds (p,mmq) and x12 storage\ncs21 : rank-2 array('D') with bounds (mmp,q) and x21 storage\ncs22 : rank-2 array('D') with bounds (mmp,mmq) and x22 storage\ntheta : rank-1 array('d') with bounds (min(min(p,mmp),min(q,mmq)))\nu1 : rank-2 array('D') with bounds ((compute_u1?p:0),(compute_u1?p:0))\nu2 : rank-2 array('D') with bounds ((compute_u2?mmp:0),(compute_u2?mmp:0))\nv1t : rank-2 array('D') with bounds ((compute_v1t?q:0),(compute_v1t?q:0))\nv2t : rank-2 array('D') with bounds ((compute_v2t?mmq:0),(compute_v2t?mmq:0))\ninfo : int\n" - ... - -def zuncsd_lwork(m, p, q) -> typing.Any: - 'work,rwork,info = zuncsd_lwork(m,p,q)\n\nWrapper for ``zuncsd_lwork``.\n\nParameters\n----------\nm : input int\np : input int\nq : input int\n\nReturns\n-------\nwork : complex\nrwork : float\ninfo : int\n' - ... - -def zunghr(a, tau, lo=..., hi=..., lwork=..., overwrite_a=...) -> typing.Any: - "ht,info = zunghr(a,tau,[lo,hi,lwork,overwrite_a])\n\nWrapper for ``zunghr``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\ntau : input rank-1 array('D') with bounds (n - 1)\n\nOther Parameters\n----------------\nlo : input int, optional\n Default: 0\nhi : input int, optional\n Default: n-1\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(hi-lo,1)\n\nReturns\n-------\nht : rank-2 array('D') with bounds (n,n) and a storage\ninfo : int\n" - ... - -def zunghr_lwork(n, lo=..., hi=...) -> typing.Any: - 'work,info = zunghr_lwork(n,[lo,hi])\n\nWrapper for ``zunghr_lwork``.\n\nParameters\n----------\nn : input int\n\nOther Parameters\n----------------\nlo : input int, optional\n Default: 0\nhi : input int, optional\n Default: n-1\n\nReturns\n-------\nwork : complex\ninfo : int\n' - ... - -def zungqr(a, tau, lwork=..., overwrite_a=...) -> typing.Any: - "q,work,info = zungqr(a,tau,[lwork,overwrite_a])\n\nWrapper for ``zungqr``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\ntau : input rank-1 array('D') with bounds (k)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*n,1)\n\nReturns\n-------\nq : rank-2 array('D') with bounds (m,n) and a storage\nwork : rank-1 array('D') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def zungrq(a, tau, lwork=..., overwrite_a=...) -> typing.Any: - "q,work,info = zungrq(a,tau,[lwork,overwrite_a])\n\nWrapper for ``zungrq``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\ntau : input rank-1 array('D') with bounds (k)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nlwork : input int, optional\n Default: max(3*m,1)\n\nReturns\n-------\nq : rank-2 array('D') with bounds (m,n) and a storage\nwork : rank-1 array('D') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def zunmqr(side, trans, a, tau, c, lwork, overwrite_c=...) -> typing.Any: - "cq,work,info = zunmqr(side,trans,a,tau,c,lwork,[overwrite_c])\n\nWrapper for ``zunmqr``.\n\nParameters\n----------\nside : input string(len=1)\ntrans : input string(len=1)\na : input rank-2 array('D') with bounds (lda,k)\ntau : input rank-1 array('D') with bounds (k)\nc : input rank-2 array('D') with bounds (ldc,n)\nlwork : input int\n\nOther Parameters\n----------------\noverwrite_c : input int, optional\n Default: 0\n\nReturns\n-------\ncq : rank-2 array('D') with bounds (ldc,n) and c storage\nwork : rank-1 array('D') with bounds (MAX(lwork,1))\ninfo : int\n" - ... - -def zunmrz(a, tau, c, side=..., trans=..., lwork=..., overwrite_c=...) -> typing.Any: - "cq,info = zunmrz(a,tau,c,[side,trans,lwork,overwrite_c])\n\nWrapper for ``zunmrz``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (k,nt)\ntau : input rank-1 array('D') with bounds (k)\nc : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\ntrans : input string(len=1), optional\n Default: 'N'\noverwrite_c : input int, optional\n Default: 0\nlwork : input int, optional\n Default: MAX((side[0]=='L'?n:m),1)\n\nReturns\n-------\ncq : rank-2 array('D') with bounds (m,n) and c storage\ninfo : int\n" - ... - -def zunmrz_lwork(m, n, side=..., trans=...) -> typing.Any: - "work,info = zunmrz_lwork(m,n,[side,trans])\n\nWrapper for ``zunmrz_lwork``.\n\nParameters\n----------\nm : input int\nn : input int\n\nOther Parameters\n----------------\nside : input string(len=1), optional\n Default: 'L'\ntrans : input string(len=1), optional\n Default: 'N'\n\nReturns\n-------\nwork : complex\ninfo : int\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_flinalg.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_flinalg.pyi deleted file mode 100644 index 7c48c901..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_flinalg.pyi +++ /dev/null @@ -1,62 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.linalg._flinalg, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def cdet_c(a, overwrite_a=...) -> typing.Any: - "det,info = cdet_c(a,[overwrite_a])\n\nWrapper for ``cdet_c``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\ndet : complex\ninfo : int\n" - ... - -def cdet_r(a, overwrite_a=...) -> typing.Any: - "det,info = cdet_r(a,[overwrite_a])\n\nWrapper for ``cdet_r``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\ndet : complex\ninfo : int\n" - ... - -def clu_c(a, permute_l=..., overwrite_a=...) -> typing.Any: - "p,l,u,info = clu_c(a,[permute_l,overwrite_a])\n\nWrapper for ``clu_c``.\n\nParameters\n----------\na : input rank-2 array('F') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\npermute_l : input int, optional\n Default: 0\n\nReturns\n-------\np : rank-2 array('f') with bounds (m1,m1)\nl : rank-2 array('F') with bounds (m,k)\nu : rank-2 array('F') with bounds (k,n)\ninfo : int\n" - ... - -def ddet_c(a, overwrite_a=...) -> typing.Any: - "det,info = ddet_c(a,[overwrite_a])\n\nWrapper for ``ddet_c``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\ndet : float\ninfo : int\n" - ... - -def ddet_r(a, overwrite_a=...) -> typing.Any: - "det,info = ddet_r(a,[overwrite_a])\n\nWrapper for ``ddet_r``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\ndet : float\ninfo : int\n" - ... - -def dlu_c(a, permute_l=..., overwrite_a=...) -> typing.Any: - "p,l,u,info = dlu_c(a,[permute_l,overwrite_a])\n\nWrapper for ``dlu_c``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\npermute_l : input int, optional\n Default: 0\n\nReturns\n-------\np : rank-2 array('d') with bounds (m1,m1)\nl : rank-2 array('d') with bounds (m,k)\nu : rank-2 array('d') with bounds (k,n)\ninfo : int\n" - ... - -def sdet_c(a, overwrite_a=...) -> typing.Any: - "det,info = sdet_c(a,[overwrite_a])\n\nWrapper for ``sdet_c``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\ndet : float\ninfo : int\n" - ... - -def sdet_r(a, overwrite_a=...) -> typing.Any: - "det,info = sdet_r(a,[overwrite_a])\n\nWrapper for ``sdet_r``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\ndet : float\ninfo : int\n" - ... - -def slu_c(a, permute_l=..., overwrite_a=...) -> typing.Any: - "p,l,u,info = slu_c(a,[permute_l,overwrite_a])\n\nWrapper for ``slu_c``.\n\nParameters\n----------\na : input rank-2 array('f') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\npermute_l : input int, optional\n Default: 0\n\nReturns\n-------\np : rank-2 array('f') with bounds (m1,m1)\nl : rank-2 array('f') with bounds (m,k)\nu : rank-2 array('f') with bounds (k,n)\ninfo : int\n" - ... - -def zdet_c(a, overwrite_a=...) -> typing.Any: - "det,info = zdet_c(a,[overwrite_a])\n\nWrapper for ``zdet_c``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\ndet : complex\ninfo : int\n" - ... - -def zdet_r(a, overwrite_a=...) -> typing.Any: - "det,info = zdet_r(a,[overwrite_a])\n\nWrapper for ``zdet_r``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (n,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\n\nReturns\n-------\ndet : complex\ninfo : int\n" - ... - -def zlu_c(a, permute_l=..., overwrite_a=...) -> typing.Any: - "p,l,u,info = zlu_c(a,[permute_l,overwrite_a])\n\nWrapper for ``zlu_c``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\npermute_l : input int, optional\n Default: 0\n\nReturns\n-------\np : rank-2 array('d') with bounds (m1,m1)\nl : rank-2 array('D') with bounds (m,k)\nu : rank-2 array('D') with bounds (k,n)\ninfo : int\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_interpolative.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_interpolative.pyi deleted file mode 100644 index 14b73167..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_interpolative.pyi +++ /dev/null @@ -1,226 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.linalg._interpolative, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def id_srand(n) -> typing.Any: - "r = id_srand(n)\n\nWrapper for ``id_srand``.\n\nParameters\n----------\nn : input int\n\nReturns\n-------\nr : rank-1 array('d') with bounds (n)\n" - ... - -def id_srandi(t) -> typing.Any: - "id_srandi(t)\n\nWrapper for ``id_srandi``.\n\nParameters\n----------\nt : input rank-1 array('d') with bounds (55)\n" - ... - -def id_srando() -> typing.Any: - 'id_srando()\n\nWrapper for ``id_srando``.\n\n' - ... - -def idd_copycols(a, krank, list, m=..., n=...) -> typing.Any: - "col = idd_copycols(a,krank,list,[m,n])\n\nWrapper for ``idd_copycols``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\nkrank : input int\nlist : input rank-1 array('i') with bounds (*)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\n\nReturns\n-------\ncol : rank-2 array('d') with bounds (m,krank)\n" - ... - -def idd_diffsnorm(m, n, matvect, matvect2, matvec, matvec2, its, p1t=..., p2t=..., p3t=..., p4t=..., p1t2=..., p2t2=..., p3t2=..., p4t2=..., p1=..., p2=..., p3=..., p4=..., p12=..., p22=..., p32=..., p42=..., w=..., matvect_extra_args=..., matvect2_extra_args=..., matvec_extra_args=..., matvec2_extra_args=...) -> typing.Any: - "snorm = idd_diffsnorm(m,n,matvect,matvect2,matvec,matvec2,its,[p1t,p2t,p3t,p4t,p1t2,p2t2,p3t2,p4t2,p1,p2,p3,p4,p12,p22,p32,p42,w,matvect_extra_args,matvect2_extra_args,matvec_extra_args,matvec2_extra_args])\n\nWrapper for ``idd_diffsnorm``.\n\nParameters\n----------\nm : input int\nn : input int\nmatvect : call-back function\nmatvect2 : call-back function\nmatvec : call-back function\nmatvec2 : call-back function\nits : input int\n\nOther Parameters\n----------------\nmatvect_extra_args : input tuple, optional\n Default: ()\np1t : input float\np2t : input float\np3t : input float\np4t : input float\nmatvect2_extra_args : input tuple, optional\n Default: ()\np1t2 : input float\np2t2 : input float\np3t2 : input float\np4t2 : input float\nmatvec_extra_args : input tuple, optional\n Default: ()\np1 : input float\np2 : input float\np3 : input float\np4 : input float\nmatvec2_extra_args : input tuple, optional\n Default: ()\np12 : input float\np22 : input float\np32 : input float\np42 : input float\nw : input rank-1 array('d') with bounds (3*(m+n))\n\nReturns\n-------\nsnorm : float\n\nNotes\n-----\nCall-back functions::\n\n def matvect(x,[m,n,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('d') with bounds (m)\n Optional arguments:\n m : input int, optional\n Default: len(x)\n n : input int\n p1 : input float\n p2 : input float\n p3 : input float\n p4 : input float\n Return objects:\n y : rank-1 array('d') with bounds (n)\n def matvect2(x,[m,n,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('d') with bounds (m)\n Optional arguments:\n m : input int, optional\n Default: len(x)\n n : input int\n p1 : input float\n p2 : input float\n p3 : input float\n p4 : input float\n Return objects:\n y : rank-1 array('d') with bounds (n)\n def matvec(x,[n,m,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('d') with bounds (n)\n Optional arguments:\n n : input int, optional\n Default: len(x)\n m : input int\n p1 : input float\n p2 : input float\n p3 : input float\n p4 : input float\n Return objects:\n y : rank-1 array('d') with bounds (m)\n def matvec2(x,[n,m,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('d') with bounds (n)\n Optional arguments:\n n : input int, optional\n Default: len(x)\n m : input int\n p1 : input float\n p2 : input float\n p3 : input float\n p4 : input float\n Return objects:\n y : rank-1 array('d') with bounds (m)\n" - ... - -def idd_estrank(eps, a, w, ra, m=..., n=...) -> typing.Any: - "krank,ra = idd_estrank(eps,a,w,ra,[m,n])\n\nWrapper for ``idd_estrank``.\n\nParameters\n----------\neps : input float\na : input rank-2 array('d') with bounds (m,n)\nw : input rank-1 array('d') with bounds (17 * m + 70)\nra : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\n\nReturns\n-------\nkrank : int\nra : rank-1 array('d') with bounds (*)\n" - ... - -def idd_findrank(eps, m, n, matvect, p1=..., p2=..., p3=..., p4=..., w=..., matvect_extra_args=...) -> typing.Any: - "krank,ra,ier = idd_findrank(eps,m,n,matvect,[p1,p2,p3,p4,w,matvect_extra_args])\n\nWrapper for ``idd_findrank``.\n\nParameters\n----------\neps : input float\nm : input int\nn : input int\nmatvect : call-back function\n\nOther Parameters\n----------------\nmatvect_extra_args : input tuple, optional\n Default: ()\np1 : input float\np2 : input float\np3 : input float\np4 : input float\nw : input rank-1 array('d') with bounds (m+2*n+1)\n\nReturns\n-------\nkrank : int\nra : rank-1 array('d') with bounds (2*n*min(m,n))\nier : int\n\nNotes\n-----\nCall-back functions::\n\n def matvect(x,[m,n,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('d') with bounds (m)\n Optional arguments:\n m : input int, optional\n Default: len(x)\n n : input int\n p1 : input float\n p2 : input float\n p3 : input float\n p4 : input float\n Return objects:\n y : rank-1 array('d') with bounds (n)\n" - ... - -def idd_frm(n, w, x, m=...) -> typing.Any: - "y = idd_frm(n,w,x,[m])\n\nWrapper for ``idd_frm``.\n\nParameters\n----------\nn : input int\nw : input rank-1 array('d') with bounds (17 * m + 70)\nx : input rank-1 array('d') with bounds (m)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: len(x)\n\nReturns\n-------\ny : rank-1 array('d') with bounds (n)\n" - ... - -def idd_frmi(m) -> typing.Any: - "n,w = idd_frmi(m)\n\nWrapper for ``idd_frmi``.\n\nParameters\n----------\nm : input int\n\nReturns\n-------\nn : int\nw : rank-1 array('d') with bounds (17 * m + 70)\n" - ... - -def idd_id2svd(b, list, proj, m=..., krank=..., n=..., w=...) -> typing.Any: - "u,v,s,ier = idd_id2svd(b,list,proj,[m,krank,n,w])\n\nWrapper for ``idd_id2svd``.\n\nParameters\n----------\nb : input rank-2 array('d') with bounds (m,krank)\nlist : input rank-1 array('i') with bounds (n)\nproj : input rank-2 array('d') with bounds (krank,n-krank)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(b,0)\nkrank : input int, optional\n Default: shape(b,1)\nn : input int, optional\n Default: len(list)\nw : input rank-1 array('d') with bounds ((krank+1)*(m+3*n)+26*pow(krank,2))\n\nReturns\n-------\nu : rank-2 array('d') with bounds (m,krank)\nv : rank-2 array('d') with bounds (n,krank)\ns : rank-1 array('d') with bounds (krank)\nier : int\n" - ... - -def idd_reconid(col, list, proj, m=..., krank=..., n=...) -> typing.Any: - "approx = idd_reconid(col,list,proj,[m,krank,n])\n\nWrapper for ``idd_reconid``.\n\nParameters\n----------\ncol : input rank-2 array('d') with bounds (m,krank)\nlist : input rank-1 array('i') with bounds (n)\nproj : input rank-2 array('d') with bounds (krank,n-krank)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(col,0)\nkrank : input int, optional\n Default: shape(col,1)\nn : input int, optional\n Default: len(list)\n\nReturns\n-------\napprox : rank-2 array('d') with bounds (m,n)\n" - ... - -def idd_reconint(list, proj, n=..., krank=...) -> typing.Any: - "p = idd_reconint(list,proj,[n,krank])\n\nWrapper for ``idd_reconint``.\n\nParameters\n----------\nlist : input rank-1 array('i') with bounds (n)\nproj : input rank-2 array('d') with bounds (krank,n-krank)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: len(list)\nkrank : input int, optional\n Default: shape(proj,0)\n\nReturns\n-------\np : rank-2 array('d') with bounds (krank,n)\n" - ... - -def idd_sfrm(l, n, w, x, m=...) -> typing.Any: - "y = idd_sfrm(l,n,w,x,[m])\n\nWrapper for ``idd_sfrm``.\n\nParameters\n----------\nl : input int\nn : input int\nw : input rank-1 array('d') with bounds (27 * m + 90)\nx : input rank-1 array('d') with bounds (m)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: len(x)\n\nReturns\n-------\ny : rank-1 array('d') with bounds (l)\n" - ... - -def idd_sfrmi(l, m) -> typing.Any: - "n,w = idd_sfrmi(l,m)\n\nWrapper for ``idd_sfrmi``.\n\nParameters\n----------\nl : input int\nm : input int\n\nReturns\n-------\nn : int\nw : rank-1 array('d') with bounds (27 * m + 90)\n" - ... - -def idd_snorm(m, n, matvect, matvec, its, p1t=..., p2t=..., p3t=..., p4t=..., p1=..., p2=..., p3=..., p4=..., u=..., matvect_extra_args=..., matvec_extra_args=...) -> typing.Any: - "snorm,v = idd_snorm(m,n,matvect,matvec,its,[p1t,p2t,p3t,p4t,p1,p2,p3,p4,u,matvect_extra_args,matvec_extra_args])\n\nWrapper for ``idd_snorm``.\n\nParameters\n----------\nm : input int\nn : input int\nmatvect : call-back function\nmatvec : call-back function\nits : input int\n\nOther Parameters\n----------------\nmatvect_extra_args : input tuple, optional\n Default: ()\np1t : input float\np2t : input float\np3t : input float\np4t : input float\nmatvec_extra_args : input tuple, optional\n Default: ()\np1 : input float\np2 : input float\np3 : input float\np4 : input float\nu : input rank-1 array('d') with bounds (m)\n\nReturns\n-------\nsnorm : float\nv : rank-1 array('d') with bounds (n)\n\nNotes\n-----\nCall-back functions::\n\n def matvect(x,[m,n,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('d') with bounds (m)\n Optional arguments:\n m : input int, optional\n Default: len(x)\n n : input int\n p1 : input float\n p2 : input float\n p3 : input float\n p4 : input float\n Return objects:\n y : rank-1 array('d') with bounds (n)\n def matvec(x,[n,m,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('d') with bounds (n)\n Optional arguments:\n n : input int, optional\n Default: len(x)\n m : input int\n p1 : input float\n p2 : input float\n p3 : input float\n p4 : input float\n Return objects:\n y : rank-1 array('d') with bounds (m)\n" - ... - -def iddp_aid(eps, a, work, proj, m=..., n=...) -> typing.Any: - "krank,list,proj = iddp_aid(eps,a,work,proj,[m,n])\n\nWrapper for ``iddp_aid``.\n\nParameters\n----------\neps : input float\na : input rank-2 array('d') with bounds (m,n)\nwork : input rank-1 array('d') with bounds (17 * m + 70)\nproj : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\n\nReturns\n-------\nkrank : int\nlist : rank-1 array('i') with bounds (n)\nproj : rank-1 array('d') with bounds (*)\n" - ... - -def iddp_asvd(eps, a, winit, w, m=..., n=...) -> typing.Any: - "krank,iu,iv,is,w,ier = iddp_asvd(eps,a,winit,w,[m,n])\n\nWrapper for ``iddp_asvd``.\n\nParameters\n----------\neps : input float\na : input rank-2 array('d') with bounds (m,n)\nwinit : input rank-1 array('d') with bounds (17 * m + 70)\nw : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\n\nReturns\n-------\nkrank : int\niu : int\niv : int\nis : int\nw : rank-1 array('d') with bounds (*)\nier : int\n" - ... - -def iddp_id(eps, a, m=..., n=...) -> typing.Any: - "krank,list,rnorms = iddp_id(eps,a,[m,n])\n\nWrapper for ``iddp_id``.\n\nParameters\n----------\neps : input float\na : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\n\nReturns\n-------\nkrank : int\nlist : rank-1 array('i') with bounds (n)\nrnorms : rank-1 array('d') with bounds (n)\n" - ... - -def iddp_rid(eps, m, n, matvect, proj, p1=..., p2=..., p3=..., p4=..., matvect_extra_args=...) -> typing.Any: - "krank,list,proj,ier = iddp_rid(eps,m,n,matvect,proj,[p1,p2,p3,p4,matvect_extra_args])\n\nWrapper for ``iddp_rid``.\n\nParameters\n----------\neps : input float\nm : input int\nn : input int\nmatvect : call-back function\nproj : input rank-1 array('d') with bounds (*)\n\nOther Parameters\n----------------\nmatvect_extra_args : input tuple, optional\n Default: ()\np1 : input float\np2 : input float\np3 : input float\np4 : input float\n\nReturns\n-------\nkrank : int\nlist : rank-1 array('i') with bounds (n)\nproj : rank-1 array('d') with bounds (*)\nier : int\n\nNotes\n-----\nCall-back functions::\n\n def matvect(x,[m,n,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('d') with bounds (m)\n Optional arguments:\n m : input int, optional\n Default: len(x)\n n : input int\n p1 : input float\n p2 : input float\n p3 : input float\n p4 : input float\n Return objects:\n y : rank-1 array('d') with bounds (n)\n" - ... - -def iddp_rsvd(eps, m, n, matvect, matvec, p1t=..., p2t=..., p3t=..., p4t=..., p1=..., p2=..., p3=..., p4=..., matvect_extra_args=..., matvec_extra_args=...) -> typing.Any: - "krank,iu,iv,is,w,ier = iddp_rsvd(eps,m,n,matvect,matvec,[p1t,p2t,p3t,p4t,p1,p2,p3,p4,matvect_extra_args,matvec_extra_args])\n\nWrapper for ``iddp_rsvd``.\n\nParameters\n----------\neps : input float\nm : input int\nn : input int\nmatvect : call-back function\nmatvec : call-back function\n\nOther Parameters\n----------------\nmatvect_extra_args : input tuple, optional\n Default: ()\np1t : input float\np2t : input float\np3t : input float\np4t : input float\nmatvec_extra_args : input tuple, optional\n Default: ()\np1 : input float\np2 : input float\np3 : input float\np4 : input float\n\nReturns\n-------\nkrank : int\niu : int\niv : int\nis : int\nw : rank-1 array('d') with bounds ((min(m,n)+1)*(3*m+5*n+1)+25*pow(min(m,n),2))\nier : int\n\nNotes\n-----\nCall-back functions::\n\n def matvect(x,[m,n,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('d') with bounds (m)\n Optional arguments:\n m : input int, optional\n Default: len(x)\n n : input int\n p1 : input float\n p2 : input float\n p3 : input float\n p4 : input float\n Return objects:\n y : rank-1 array('d') with bounds (n)\n def matvec(x,[n,m,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('d') with bounds (n)\n Optional arguments:\n n : input int, optional\n Default: len(x)\n m : input int\n p1 : input float\n p2 : input float\n p3 : input float\n p4 : input float\n Return objects:\n y : rank-1 array('d') with bounds (m)\n" - ... - -def iddp_svd(eps, a, m=..., n=...) -> typing.Any: - "krank,iu,iv,is,w,ier = iddp_svd(eps,a,[m,n])\n\nWrapper for ``iddp_svd``.\n\nParameters\n----------\neps : input float\na : input rank-2 array('d') with bounds (m,n)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\n\nReturns\n-------\nkrank : int\niu : int\niv : int\nis : int\nw : rank-1 array('d') with bounds ((min(m,n)+1)*(m+2*n+9)+8*min(m,n)+15*pow(min(m,n),2))\nier : int\n" - ... - -def iddr_aid(a, krank, w, m=..., n=...) -> typing.Any: - "list,proj = iddr_aid(a,krank,w,[m,n])\n\nWrapper for ``iddr_aid``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\nkrank : input int\nw : input rank-1 array('d') with bounds ((2*krank+17)*n+27*m+100)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\n\nReturns\n-------\nlist : rank-1 array('i') with bounds (n)\nproj : rank-1 array('d') with bounds (max(krank*(n-krank),1))\n" - ... - -def iddr_aidi(m, n, krank) -> typing.Any: - "w = iddr_aidi(m,n,krank)\n\nWrapper for ``iddr_aidi``.\n\nParameters\n----------\nm : input int\nn : input int\nkrank : input int\n\nReturns\n-------\nw : rank-1 array('d') with bounds ((2*krank+17)*n+27*m+100)\n" - ... - -def iddr_asvd(a, krank, w, m=..., n=...) -> typing.Any: - "u,v,s,ier = iddr_asvd(a,krank,w,[m,n])\n\nWrapper for ``iddr_asvd``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\nkrank : input int\nw : input rank-1 array('d') with bounds ((2*krank+28)*m+(6*krank+21)*n+25*pow(krank,2)+100)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\n\nReturns\n-------\nu : rank-2 array('d') with bounds (m,krank)\nv : rank-2 array('d') with bounds (n,krank)\ns : rank-1 array('d') with bounds (krank)\nier : int\n" - ... - -def iddr_id(a, krank, m=..., n=...) -> typing.Any: - "list,rnorms = iddr_id(a,krank,[m,n])\n\nWrapper for ``iddr_id``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\nkrank : input int\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\n\nReturns\n-------\nlist : rank-1 array('i') with bounds (n)\nrnorms : rank-1 array('d') with bounds (n)\n" - ... - -def iddr_rid(m, n, matvect, krank, p1=..., p2=..., p3=..., p4=..., matvect_extra_args=...) -> typing.Any: - "list,proj = iddr_rid(m,n,matvect,krank,[p1,p2,p3,p4,matvect_extra_args])\n\nWrapper for ``iddr_rid``.\n\nParameters\n----------\nm : input int\nn : input int\nmatvect : call-back function\nkrank : input int\n\nOther Parameters\n----------------\nmatvect_extra_args : input tuple, optional\n Default: ()\np1 : input float\np2 : input float\np3 : input float\np4 : input float\n\nReturns\n-------\nlist : rank-1 array('i') with bounds (n)\nproj : rank-1 array('d') with bounds (m+(krank+3)*n)\n\nNotes\n-----\nCall-back functions::\n\n def matvect(x,[m,n,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('d') with bounds (m)\n Optional arguments:\n m : input int, optional\n Default: len(x)\n n : input int\n p1 : input float\n p2 : input float\n p3 : input float\n p4 : input float\n Return objects:\n y : rank-1 array('d') with bounds (n)\n" - ... - -def iddr_rsvd(m, n, matvect, matvec, krank, p1t=..., p2t=..., p3t=..., p4t=..., p1=..., p2=..., p3=..., p4=..., w=..., matvect_extra_args=..., matvec_extra_args=...) -> typing.Any: - "u,v,s,ier = iddr_rsvd(m,n,matvect,matvec,krank,[p1t,p2t,p3t,p4t,p1,p2,p3,p4,w,matvect_extra_args,matvec_extra_args])\n\nWrapper for ``iddr_rsvd``.\n\nParameters\n----------\nm : input int\nn : input int\nmatvect : call-back function\nmatvec : call-back function\nkrank : input int\n\nOther Parameters\n----------------\nmatvect_extra_args : input tuple, optional\n Default: ()\np1t : input float\np2t : input float\np3t : input float\np4t : input float\nmatvec_extra_args : input tuple, optional\n Default: ()\np1 : input float\np2 : input float\np3 : input float\np4 : input float\nw : input rank-1 array('d') with bounds ((krank+1)*(2*m+4*n)+25*pow(krank,2))\n\nReturns\n-------\nu : rank-2 array('d') with bounds (m,krank)\nv : rank-2 array('d') with bounds (n,krank)\ns : rank-1 array('d') with bounds (krank)\nier : int\n\nNotes\n-----\nCall-back functions::\n\n def matvect(x,[m,n,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('d') with bounds (m)\n Optional arguments:\n m : input int, optional\n Default: len(x)\n n : input int\n p1 : input float\n p2 : input float\n p3 : input float\n p4 : input float\n Return objects:\n y : rank-1 array('d') with bounds (n)\n def matvec(x,[n,m,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('d') with bounds (n)\n Optional arguments:\n n : input int, optional\n Default: len(x)\n m : input int\n p1 : input float\n p2 : input float\n p3 : input float\n p4 : input float\n Return objects:\n y : rank-1 array('d') with bounds (m)\n" - ... - -def iddr_svd(a, krank, m=..., n=..., r=...) -> typing.Any: - "u,v,s,ier = iddr_svd(a,krank,[m,n,r])\n\nWrapper for ``iddr_svd``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (m,n)\nkrank : input int\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\nr : input rank-1 array('d') with bounds ((krank+2)*n+8*min(m,n)+15*pow(krank,2)+8*krank)\n\nReturns\n-------\nu : rank-2 array('d') with bounds (m,krank)\nv : rank-2 array('d') with bounds (n,krank)\ns : rank-1 array('d') with bounds (krank)\nier : int\n" - ... - -def idz_copycols(a, krank, list, m=..., n=...) -> typing.Any: - "col = idz_copycols(a,krank,list,[m,n])\n\nWrapper for ``idz_copycols``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\nkrank : input int\nlist : input rank-1 array('i') with bounds (*)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\n\nReturns\n-------\ncol : rank-2 array('D') with bounds (m,krank)\n" - ... - -def idz_diffsnorm(m, n, matveca, matveca2, matvec, matvec2, its, p1a=..., p2a=..., p3a=..., p4a=..., p1a2=..., p2a2=..., p3a2=..., p4a2=..., p1=..., p2=..., p3=..., p4=..., p12=..., p22=..., p32=..., p42=..., w=..., matveca_extra_args=..., matveca2_extra_args=..., matvec_extra_args=..., matvec2_extra_args=...) -> typing.Any: - "snorm = idz_diffsnorm(m,n,matveca,matveca2,matvec,matvec2,its,[p1a,p2a,p3a,p4a,p1a2,p2a2,p3a2,p4a2,p1,p2,p3,p4,p12,p22,p32,p42,w,matveca_extra_args,matveca2_extra_args,matvec_extra_args,matvec2_extra_args])\n\nWrapper for ``idz_diffsnorm``.\n\nParameters\n----------\nm : input int\nn : input int\nmatveca : call-back function\nmatveca2 : call-back function\nmatvec : call-back function\nmatvec2 : call-back function\nits : input int\n\nOther Parameters\n----------------\nmatveca_extra_args : input tuple, optional\n Default: ()\np1a : input complex\np2a : input complex\np3a : input complex\np4a : input complex\nmatveca2_extra_args : input tuple, optional\n Default: ()\np1a2 : input complex\np2a2 : input complex\np3a2 : input complex\np4a2 : input complex\nmatvec_extra_args : input tuple, optional\n Default: ()\np1 : input complex\np2 : input complex\np3 : input complex\np4 : input complex\nmatvec2_extra_args : input tuple, optional\n Default: ()\np12 : input complex\np22 : input complex\np32 : input complex\np42 : input complex\nw : input rank-1 array('D') with bounds (3*(m+n))\n\nReturns\n-------\nsnorm : float\n\nNotes\n-----\nCall-back functions::\n\n def matveca(x,[m,n,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('D') with bounds (m)\n Optional arguments:\n m : input int, optional\n Default: len(x)\n n : input int\n p1 : input complex\n p2 : input complex\n p3 : input complex\n p4 : input complex\n Return objects:\n y : rank-1 array('D') with bounds (n)\n def matveca2(x,[m,n,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('D') with bounds (m)\n Optional arguments:\n m : input int, optional\n Default: len(x)\n n : input int\n p1 : input complex\n p2 : input complex\n p3 : input complex\n p4 : input complex\n Return objects:\n y : rank-1 array('D') with bounds (n)\n def matvec(x,[n,m,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('D') with bounds (n)\n Optional arguments:\n n : input int, optional\n Default: len(x)\n m : input int\n p1 : input complex\n p2 : input complex\n p3 : input complex\n p4 : input complex\n Return objects:\n y : rank-1 array('D') with bounds (m)\n def matvec2(x,[n,m,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('D') with bounds (n)\n Optional arguments:\n n : input int, optional\n Default: len(x)\n m : input int\n p1 : input complex\n p2 : input complex\n p3 : input complex\n p4 : input complex\n Return objects:\n y : rank-1 array('D') with bounds (m)\n" - ... - -def idz_estrank(eps, a, w, ra, m=..., n=...) -> typing.Any: - "krank,ra = idz_estrank(eps,a,w,ra,[m,n])\n\nWrapper for ``idz_estrank``.\n\nParameters\n----------\neps : input float\na : input rank-2 array('D') with bounds (m,n)\nw : input rank-1 array('D') with bounds (17 * m + 70)\nra : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\n\nReturns\n-------\nkrank : int\nra : rank-1 array('D') with bounds (*)\n" - ... - -def idz_findrank(eps, m, n, matveca, p1=..., p2=..., p3=..., p4=..., w=..., matveca_extra_args=...) -> typing.Any: - "krank,ra,ier = idz_findrank(eps,m,n,matveca,[p1,p2,p3,p4,w,matveca_extra_args])\n\nWrapper for ``idz_findrank``.\n\nParameters\n----------\neps : input float\nm : input int\nn : input int\nmatveca : call-back function\n\nOther Parameters\n----------------\nmatveca_extra_args : input tuple, optional\n Default: ()\np1 : input complex\np2 : input complex\np3 : input complex\np4 : input complex\nw : input rank-1 array('D') with bounds (m+2*n+1)\n\nReturns\n-------\nkrank : int\nra : rank-1 array('D') with bounds (2*n*min(m,n))\nier : int\n\nNotes\n-----\nCall-back functions::\n\n def matveca(x,[m,n,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('D') with bounds (m)\n Optional arguments:\n m : input int, optional\n Default: len(x)\n n : input int\n p1 : input complex\n p2 : input complex\n p3 : input complex\n p4 : input complex\n Return objects:\n y : rank-1 array('D') with bounds (n)\n" - ... - -def idz_frm(n, w, x, m=...) -> typing.Any: - "y = idz_frm(n,w,x,[m])\n\nWrapper for ``idz_frm``.\n\nParameters\n----------\nn : input int\nw : input rank-1 array('D') with bounds (17 * m + 70)\nx : input rank-1 array('D') with bounds (m)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: len(x)\n\nReturns\n-------\ny : rank-1 array('D') with bounds (n)\n" - ... - -def idz_frmi(m) -> typing.Any: - "n,w = idz_frmi(m)\n\nWrapper for ``idz_frmi``.\n\nParameters\n----------\nm : input int\n\nReturns\n-------\nn : int\nw : rank-1 array('D') with bounds (17 * m + 70)\n" - ... - -def idz_id2svd(b, list, proj, m=..., krank=..., n=..., w=...) -> typing.Any: - "u,v,s,ier = idz_id2svd(b,list,proj,[m,krank,n,w])\n\nWrapper for ``idz_id2svd``.\n\nParameters\n----------\nb : input rank-2 array('D') with bounds (m,krank)\nlist : input rank-1 array('i') with bounds (n)\nproj : input rank-2 array('D') with bounds (krank,n-krank)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(b,0)\nkrank : input int, optional\n Default: shape(b,1)\nn : input int, optional\n Default: len(list)\nw : input rank-1 array('D') with bounds ((krank+1)*(m+3*n+10)+9*pow(krank,2))\n\nReturns\n-------\nu : rank-2 array('D') with bounds (m,krank)\nv : rank-2 array('D') with bounds (n,krank)\ns : rank-1 array('d') with bounds (krank)\nier : int\n" - ... - -def idz_reconid(col, list, proj, m=..., krank=..., n=...) -> typing.Any: - "approx = idz_reconid(col,list,proj,[m,krank,n])\n\nWrapper for ``idz_reconid``.\n\nParameters\n----------\ncol : input rank-2 array('D') with bounds (m,krank)\nlist : input rank-1 array('i') with bounds (n)\nproj : input rank-2 array('D') with bounds (krank,n-krank)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(col,0)\nkrank : input int, optional\n Default: shape(col,1)\nn : input int, optional\n Default: len(list)\n\nReturns\n-------\napprox : rank-2 array('D') with bounds (m,n)\n" - ... - -def idz_reconint(list, proj, n=..., krank=...) -> typing.Any: - "p = idz_reconint(list,proj,[n,krank])\n\nWrapper for ``idz_reconint``.\n\nParameters\n----------\nlist : input rank-1 array('i') with bounds (n)\nproj : input rank-2 array('D') with bounds (krank,n-krank)\n\nOther Parameters\n----------------\nn : input int, optional\n Default: len(list)\nkrank : input int, optional\n Default: shape(proj,0)\n\nReturns\n-------\np : rank-2 array('D') with bounds (krank,n)\n" - ... - -def idz_sfrm(l, n, w, x, m=...) -> typing.Any: - "y = idz_sfrm(l,n,w,x,[m])\n\nWrapper for ``idz_sfrm``.\n\nParameters\n----------\nl : input int\nn : input int\nw : input rank-1 array('D') with bounds (27 * m + 90)\nx : input rank-1 array('D') with bounds (m)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: len(x)\n\nReturns\n-------\ny : rank-1 array('D') with bounds (l)\n" - ... - -def idz_sfrmi(l, m) -> typing.Any: - "n,w = idz_sfrmi(l,m)\n\nWrapper for ``idz_sfrmi``.\n\nParameters\n----------\nl : input int\nm : input int\n\nReturns\n-------\nn : int\nw : rank-1 array('D') with bounds (27 * m + 90)\n" - ... - -def idz_snorm(m, n, matveca, matvec, its, p1a=..., p2a=..., p3a=..., p4a=..., p1=..., p2=..., p3=..., p4=..., u=..., matveca_extra_args=..., matvec_extra_args=...) -> typing.Any: - "snorm,v = idz_snorm(m,n,matveca,matvec,its,[p1a,p2a,p3a,p4a,p1,p2,p3,p4,u,matveca_extra_args,matvec_extra_args])\n\nWrapper for ``idz_snorm``.\n\nParameters\n----------\nm : input int\nn : input int\nmatveca : call-back function\nmatvec : call-back function\nits : input int\n\nOther Parameters\n----------------\nmatveca_extra_args : input tuple, optional\n Default: ()\np1a : input complex\np2a : input complex\np3a : input complex\np4a : input complex\nmatvec_extra_args : input tuple, optional\n Default: ()\np1 : input complex\np2 : input complex\np3 : input complex\np4 : input complex\nu : input rank-1 array('D') with bounds (m)\n\nReturns\n-------\nsnorm : float\nv : rank-1 array('D') with bounds (n)\n\nNotes\n-----\nCall-back functions::\n\n def matveca(x,[m,n,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('D') with bounds (m)\n Optional arguments:\n m : input int, optional\n Default: len(x)\n n : input int\n p1 : input complex\n p2 : input complex\n p3 : input complex\n p4 : input complex\n Return objects:\n y : rank-1 array('D') with bounds (n)\n def matvec(x,[n,m,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('D') with bounds (n)\n Optional arguments:\n n : input int, optional\n Default: len(x)\n m : input int\n p1 : input complex\n p2 : input complex\n p3 : input complex\n p4 : input complex\n Return objects:\n y : rank-1 array('D') with bounds (m)\n" - ... - -def idzp_aid(eps, a, work, proj, m=..., n=...) -> typing.Any: - "krank,list,proj = idzp_aid(eps,a,work,proj,[m,n])\n\nWrapper for ``idzp_aid``.\n\nParameters\n----------\neps : input float\na : input rank-2 array('D') with bounds (m,n)\nwork : input rank-1 array('D') with bounds (17 * m + 70)\nproj : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\n\nReturns\n-------\nkrank : int\nlist : rank-1 array('i') with bounds (n)\nproj : rank-1 array('D') with bounds (*)\n" - ... - -def idzp_asvd(eps, a, winit, w, m=..., n=...) -> typing.Any: - "krank,iu,iv,is,w,ier = idzp_asvd(eps,a,winit,w,[m,n])\n\nWrapper for ``idzp_asvd``.\n\nParameters\n----------\neps : input float\na : input rank-2 array('D') with bounds (m,n)\nwinit : input rank-1 array('D') with bounds (17 * m + 70)\nw : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\n\nReturns\n-------\nkrank : int\niu : int\niv : int\nis : int\nw : rank-1 array('D') with bounds (*)\nier : int\n" - ... - -def idzp_id(eps, a, m=..., n=...) -> typing.Any: - "krank,list,rnorms = idzp_id(eps,a,[m,n])\n\nWrapper for ``idzp_id``.\n\nParameters\n----------\neps : input float\na : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\n\nReturns\n-------\nkrank : int\nlist : rank-1 array('i') with bounds (n)\nrnorms : rank-1 array('d') with bounds (n)\n" - ... - -def idzp_rid(eps, m, n, matveca, proj, p1=..., p2=..., p3=..., p4=..., matveca_extra_args=...) -> typing.Any: - "krank,list,proj,ier = idzp_rid(eps,m,n,matveca,proj,[p1,p2,p3,p4,matveca_extra_args])\n\nWrapper for ``idzp_rid``.\n\nParameters\n----------\neps : input float\nm : input int\nn : input int\nmatveca : call-back function\nproj : input rank-1 array('D') with bounds (*)\n\nOther Parameters\n----------------\nmatveca_extra_args : input tuple, optional\n Default: ()\np1 : input complex\np2 : input complex\np3 : input complex\np4 : input complex\n\nReturns\n-------\nkrank : int\nlist : rank-1 array('i') with bounds (n)\nproj : rank-1 array('D') with bounds (*)\nier : int\n\nNotes\n-----\nCall-back functions::\n\n def matveca(x,[m,n,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('D') with bounds (m)\n Optional arguments:\n m : input int, optional\n Default: len(x)\n n : input int\n p1 : input complex\n p2 : input complex\n p3 : input complex\n p4 : input complex\n Return objects:\n y : rank-1 array('D') with bounds (n)\n" - ... - -def idzp_rsvd(eps, m, n, matveca, matvec, p1a=..., p2a=..., p3a=..., p4a=..., p1=..., p2=..., p3=..., p4=..., matveca_extra_args=..., matvec_extra_args=...) -> typing.Any: - "krank,iu,iv,is,w,ier = idzp_rsvd(eps,m,n,matveca,matvec,[p1a,p2a,p3a,p4a,p1,p2,p3,p4,matveca_extra_args,matvec_extra_args])\n\nWrapper for ``idzp_rsvd``.\n\nParameters\n----------\neps : input float\nm : input int\nn : input int\nmatveca : call-back function\nmatvec : call-back function\n\nOther Parameters\n----------------\nmatveca_extra_args : input tuple, optional\n Default: ()\np1a : input complex\np2a : input complex\np3a : input complex\np4a : input complex\nmatvec_extra_args : input tuple, optional\n Default: ()\np1 : input complex\np2 : input complex\np3 : input complex\np4 : input complex\n\nReturns\n-------\nkrank : int\niu : int\niv : int\nis : int\nw : rank-1 array('D') with bounds ((min(m,n)+1)*(3*m+5*n+11)+8*pow(min(m,n),2))\nier : int\n\nNotes\n-----\nCall-back functions::\n\n def matveca(x,[m,n,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('D') with bounds (m)\n Optional arguments:\n m : input int, optional\n Default: len(x)\n n : input int\n p1 : input complex\n p2 : input complex\n p3 : input complex\n p4 : input complex\n Return objects:\n y : rank-1 array('D') with bounds (n)\n def matvec(x,[n,m,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('D') with bounds (n)\n Optional arguments:\n n : input int, optional\n Default: len(x)\n m : input int\n p1 : input complex\n p2 : input complex\n p3 : input complex\n p4 : input complex\n Return objects:\n y : rank-1 array('D') with bounds (m)\n" - ... - -def idzp_svd(eps, a, m=..., n=...) -> typing.Any: - "krank,iu,iv,is,w,ier = idzp_svd(eps,a,[m,n])\n\nWrapper for ``idzp_svd``.\n\nParameters\n----------\neps : input float\na : input rank-2 array('D') with bounds (m,n)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\n\nReturns\n-------\nkrank : int\niu : int\niv : int\nis : int\nw : rank-1 array('D') with bounds ((min(m,n)+1)*(m+2*n+9)+8*min(m,n)+6*pow(min(m,n),2))\nier : int\n" - ... - -def idzr_aid(a, krank, w, m=..., n=...) -> typing.Any: - "list,proj = idzr_aid(a,krank,w,[m,n])\n\nWrapper for ``idzr_aid``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\nkrank : input int\nw : input rank-1 array('D') with bounds ((2*krank+17)*n+21*m+80)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\n\nReturns\n-------\nlist : rank-1 array('i') with bounds (n)\nproj : rank-1 array('D') with bounds (max(krank*(n-krank),1))\n" - ... - -def idzr_aidi(m, n, krank) -> typing.Any: - "w = idzr_aidi(m,n,krank)\n\nWrapper for ``idzr_aidi``.\n\nParameters\n----------\nm : input int\nn : input int\nkrank : input int\n\nReturns\n-------\nw : rank-1 array('D') with bounds ((2*krank+17)*n+21*m+80)\n" - ... - -def idzr_asvd(a, krank, w, m=..., n=...) -> typing.Any: - "u,v,s,ier = idzr_asvd(a,krank,w,[m,n])\n\nWrapper for ``idzr_asvd``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\nkrank : input int\nw : input rank-1 array('D') with bounds ((2*krank+22)*m+(6*krank+21)*n+8*pow(krank,2)+10*krank+90)\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\n\nReturns\n-------\nu : rank-2 array('D') with bounds (m,krank)\nv : rank-2 array('D') with bounds (n,krank)\ns : rank-1 array('d') with bounds (krank)\nier : int\n" - ... - -def idzr_id(a, krank, m=..., n=...) -> typing.Any: - "list,rnorms = idzr_id(a,krank,[m,n])\n\nWrapper for ``idzr_id``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\nkrank : input int\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\n\nReturns\n-------\nlist : rank-1 array('i') with bounds (n)\nrnorms : rank-1 array('d') with bounds (n)\n" - ... - -def idzr_rid(m, n, matveca, krank, p1=..., p2=..., p3=..., p4=..., matveca_extra_args=...) -> typing.Any: - "list,proj = idzr_rid(m,n,matveca,krank,[p1,p2,p3,p4,matveca_extra_args])\n\nWrapper for ``idzr_rid``.\n\nParameters\n----------\nm : input int\nn : input int\nmatveca : call-back function\nkrank : input int\n\nOther Parameters\n----------------\nmatveca_extra_args : input tuple, optional\n Default: ()\np1 : input complex\np2 : input complex\np3 : input complex\np4 : input complex\n\nReturns\n-------\nlist : rank-1 array('i') with bounds (n)\nproj : rank-1 array('D') with bounds (m+(krank+3)*n)\n\nNotes\n-----\nCall-back functions::\n\n def matveca(x,[m,n,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('D') with bounds (m)\n Optional arguments:\n m : input int, optional\n Default: len(x)\n n : input int\n p1 : input complex\n p2 : input complex\n p3 : input complex\n p4 : input complex\n Return objects:\n y : rank-1 array('D') with bounds (n)\n" - ... - -def idzr_rsvd(m, n, matveca, matvec, krank, p1a=..., p2a=..., p3a=..., p4a=..., p1=..., p2=..., p3=..., p4=..., w=..., matveca_extra_args=..., matvec_extra_args=...) -> typing.Any: - "u,v,s,ier = idzr_rsvd(m,n,matveca,matvec,krank,[p1a,p2a,p3a,p4a,p1,p2,p3,p4,w,matveca_extra_args,matvec_extra_args])\n\nWrapper for ``idzr_rsvd``.\n\nParameters\n----------\nm : input int\nn : input int\nmatveca : call-back function\nmatvec : call-back function\nkrank : input int\n\nOther Parameters\n----------------\nmatveca_extra_args : input tuple, optional\n Default: ()\np1a : input complex\np2a : input complex\np3a : input complex\np4a : input complex\nmatvec_extra_args : input tuple, optional\n Default: ()\np1 : input complex\np2 : input complex\np3 : input complex\np4 : input complex\nw : input rank-1 array('D') with bounds ((krank+1)*(2*m+4*n+10)+8*pow(krank,2))\n\nReturns\n-------\nu : rank-2 array('D') with bounds (m,krank)\nv : rank-2 array('D') with bounds (n,krank)\ns : rank-1 array('d') with bounds (krank)\nier : int\n\nNotes\n-----\nCall-back functions::\n\n def matveca(x,[m,n,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('D') with bounds (m)\n Optional arguments:\n m : input int, optional\n Default: len(x)\n n : input int\n p1 : input complex\n p2 : input complex\n p3 : input complex\n p4 : input complex\n Return objects:\n y : rank-1 array('D') with bounds (n)\n def matvec(x,[n,m,p1,p2,p3,p4]): return y\n Required arguments:\n x : input rank-1 array('D') with bounds (n)\n Optional arguments:\n n : input int, optional\n Default: len(x)\n m : input int\n p1 : input complex\n p2 : input complex\n p3 : input complex\n p4 : input complex\n Return objects:\n y : rank-1 array('D') with bounds (m)\n" - ... - -def idzr_svd(a, krank, m=..., n=..., r=...) -> typing.Any: - "u,v,s,ier = idzr_svd(a,krank,[m,n,r])\n\nWrapper for ``idzr_svd``.\n\nParameters\n----------\na : input rank-2 array('D') with bounds (m,n)\nkrank : input int\n\nOther Parameters\n----------------\nm : input int, optional\n Default: shape(a,0)\nn : input int, optional\n Default: shape(a,1)\nr : input rank-1 array('D') with bounds ((krank+2)*n+8*min(m,n)+6*pow(krank,2)+8*krank)\n\nReturns\n-------\nu : rank-2 array('D') with bounds (m,krank)\nv : rank-2 array('D') with bounds (n,krank)\ns : rank-1 array('d') with bounds (krank)\nier : int\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_matfuncs_sqrtm_triu.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_matfuncs_sqrtm_triu.pyi deleted file mode 100644 index 2bbd5492..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_matfuncs_sqrtm_triu.pyi +++ /dev/null @@ -1,22 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.linalg._matfuncs_sqrtm_triu, version: unspecified -import typing -import builtins as _mod_builtins -import scipy.linalg._matfuncs_sqrtm as _mod_scipy_linalg__matfuncs_sqrtm - -SqrtmError = _mod_scipy_linalg__matfuncs_sqrtm.SqrtmError -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def within_block_loop(R, T, start_stop_pairs, nblocks) -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_solve_toeplitz.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_solve_toeplitz.pyi deleted file mode 100644 index 0af1f44c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/_solve_toeplitz.pyi +++ /dev/null @@ -1,34 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.linalg._solve_toeplitz, version: unspecified -import typing -import builtins as _mod_builtins -import numpy as _mod_numpy -import numpy.linalg as _mod_numpy_linalg - -LinAlgError = _mod_numpy_linalg.LinAlgError -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def asarray(a, dtype, order) -> typing.Any: - "Convert the input to an array.\n\n Parameters\n ----------\n a : array_like\n Input data, in any form that can be converted to an array. This\n includes lists, lists of tuples, tuples, tuples of tuples, tuples\n of lists and ndarrays.\n dtype : data-type, optional\n By default, the data-type is inferred from the input data.\n order : {'C', 'F', 'A', 'K'}, optional\n Memory layout. 'A' and 'K' depend on the order of input array a.\n 'C' row-major (C-style), \n 'F' column-major (Fortran-style) memory representation.\n 'A' (any) means 'F' if `a` is Fortran contiguous, 'C' otherwise\n 'K' (keep) preserve input order\n Defaults to 'C'.\n like : array_like\n Reference object to allow the creation of arrays which are not\n NumPy arrays. If an array-like passed in as ``like`` supports\n the ``__array_function__`` protocol, the result will be defined\n by it. In this case, it ensures the creation of an array object\n compatible with that passed in via this argument.\n\n .. note::\n The ``like`` keyword is an experimental feature pending on\n acceptance of :ref:`NEP 35 `.\n\n .. versionadded:: 1.20.0\n\n Returns\n -------\n out : ndarray\n Array interpretation of `a`. No copy is performed if the input\n is already an ndarray with matching dtype and order. If `a` is a\n subclass of ndarray, a base class ndarray is returned.\n\n See Also\n --------\n asanyarray : Similar function which passes through subclasses.\n ascontiguousarray : Convert input to a contiguous array.\n asfarray : Convert input to a floating point ndarray.\n asfortranarray : Convert input to an ndarray with column-major\n memory order.\n asarray_chkfinite : Similar function which checks input for NaNs and Infs.\n fromiter : Create an array from an iterator.\n fromfunction : Construct an array by executing a function on grid\n positions.\n\n Examples\n --------\n Convert a list into an array:\n\n >>> a = [1, 2]\n >>> np.asarray(a)\n array([1, 2])\n\n Existing arrays are not copied:\n\n >>> a = np.array([1, 2])\n >>> np.asarray(a) is a\n True\n\n If `dtype` is set, array is copied only if dtype does not match:\n\n >>> a = np.array([1, 2], dtype=np.float32)\n >>> np.asarray(a, dtype=np.float32) is a\n True\n >>> np.asarray(a, dtype=np.float64) is a\n False\n\n Contrary to `asanyarray`, ndarray subclasses are not passed through:\n\n >>> issubclass(np.recarray, np.ndarray)\n True\n >>> a = np.array([(1.0, 2), (3.0, 4)], dtype='f4,i4').view(np.recarray)\n >>> np.asarray(a) is a\n False\n >>> np.asanyarray(a) is a\n True\n\n " - ... - -complex128 = _mod_numpy.complex128 -float64 = _mod_numpy.float64 -def levinson(a, b) -> typing.Any: - 'Solve a linear Toeplitz system using Levinson recursion.\n\n Parameters\n ----------\n a : array, dtype=double or complex128, shape=(2n-1,)\n The first column of the matrix in reverse order (without the diagonal)\n followed by the first (see below)\n b : array, dtype=double or complex128, shape=(n,)\n The right hand side vector. Both a and b must have the same type\n (double or complex128).\n\n Notes\n -----\n For example, the 5x5 toeplitz matrix below should be represented as\n the linear array ``a`` on the right ::\n\n [ a0 a1 a2 a3 a4 ]\n [ a-1 a0 a1 a2 a3 ]\n [ a-2 a-1 a0 a1 a2 ] -> [a-4 a-3 a-2 a-1 a0 a1 a2 a3 a4]\n [ a-3 a-2 a-1 a0 a1 ]\n [ a-4 a-3 a-2 a-1 a0 ]\n\n Returns\n -------\n x : arrray, shape=(n,)\n The solution vector\n reflection_coeff : array, shape=(n+1,)\n Toeplitz reflection coefficients. When a is symmetric Toeplitz and\n ``b`` is ``a[n:]``, as in the solution of autoregressive systems,\n then ``reflection_coeff`` also correspond to the partial\n autocorrelation function.\n ' - ... - -def zeros(shape, dtype=..., order=..., *, like=...) -> typing.Any: - "zeros(shape, dtype=float, order='C', *, like=None)\n\n Return a new array of given shape and type, filled with zeros.\n\n Parameters\n ----------\n shape : int or tuple of ints\n Shape of the new array, e.g., ``(2, 3)`` or ``2``.\n dtype : data-type, optional\n The desired data-type for the array, e.g., `numpy.int8`. Default is\n `numpy.float64`.\n order : {'C', 'F'}, optional, default: 'C'\n Whether to store multi-dimensional data in row-major\n (C-style) or column-major (Fortran-style) order in\n memory.\n like : array_like\n Reference object to allow the creation of arrays which are not\n NumPy arrays. If an array-like passed in as ``like`` supports\n the ``__array_function__`` protocol, the result will be defined\n by it. In this case, it ensures the creation of an array object\n compatible with that passed in via this argument.\n\n .. note::\n The ``like`` keyword is an experimental feature pending on\n acceptance of :ref:`NEP 35 `.\n\n .. versionadded:: 1.20.0\n\n Returns\n -------\n out : ndarray\n Array of zeros with the given shape, dtype, and order.\n\n See Also\n --------\n zeros_like : Return an array of zeros with shape and type of input.\n empty : Return a new uninitialized array.\n ones : Return a new array setting values to one.\n full : Return a new array of given shape filled with value.\n\n Examples\n --------\n >>> np.zeros(5)\n array([ 0., 0., 0., 0., 0.])\n\n >>> np.zeros((5,), dtype=int)\n array([0, 0, 0, 0, 0])\n\n >>> np.zeros((2, 1))\n array([[ 0.],\n [ 0.]])\n\n >>> s = (2,2)\n >>> np.zeros(s)\n array([[ 0., 0.],\n [ 0., 0.]])\n\n >>> np.zeros((2,), dtype=[('x', 'i4'), ('y', 'i4')]) # custom dtype\n array([(0, 0), (0, 0)],\n dtype=[('x', ' typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/cython_blas.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/cython_blas.pyi deleted file mode 100644 index df57392d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/cython_blas.pyi +++ /dev/null @@ -1,75 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.linalg.cython_blas, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def _test_cdotc() -> typing.Any: - ... - -def _test_cdotu() -> typing.Any: - ... - -def _test_dasum() -> typing.Any: - ... - -def _test_ddot() -> typing.Any: - ... - -def _test_dgemm() -> typing.Any: - ... - -def _test_dnrm2() -> typing.Any: - ... - -def _test_dzasum() -> typing.Any: - ... - -def _test_dznrm2() -> typing.Any: - ... - -def _test_icamax() -> typing.Any: - ... - -def _test_idamax() -> typing.Any: - ... - -def _test_isamax() -> typing.Any: - ... - -def _test_izamax() -> typing.Any: - ... - -def _test_sasum() -> typing.Any: - ... - -def _test_scasum() -> typing.Any: - ... - -def _test_scnrm2() -> typing.Any: - ... - -def _test_sdot() -> typing.Any: - ... - -def _test_snrm2() -> typing.Any: - ... - -def _test_zdotc() -> typing.Any: - ... - -def _test_zdotu() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/cython_lapack.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/cython_lapack.pyi deleted file mode 100644 index 59840b52..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/linalg/cython_lapack.pyi +++ /dev/null @@ -1,21 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.linalg.cython_lapack, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -__test__: dict -def _test_dlamch() -> typing.Any: - ... - -def _test_slamch() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/ndimage/_ctest.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/ndimage/_ctest.pyi deleted file mode 100644 index 7b85a068..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/ndimage/_ctest.pyi +++ /dev/null @@ -1,22 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.ndimage._ctest, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def filter1d() -> typing.Any: - ... - -def filter2d() -> typing.Any: - ... - -def transform() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/ndimage/_cytest.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/ndimage/_cytest.pyi deleted file mode 100644 index bb04d3b9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/ndimage/_cytest.pyi +++ /dev/null @@ -1,33 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.ndimage._cytest, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -__test__: dict -def filter1d() -> typing.Any: - ... - -def filter1d_capsule() -> typing.Any: - ... - -def filter2d() -> typing.Any: - ... - -def filter2d_capsule() -> typing.Any: - ... - -def transform() -> typing.Any: - ... - -def transform_capsule() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/ndimage/_nd_image.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/ndimage/_nd_image.pyi deleted file mode 100644 index 61776adb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/ndimage/_nd_image.pyi +++ /dev/null @@ -1,73 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.ndimage._nd_image, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def binary_erosion() -> typing.Any: - ... - -def binary_erosion2() -> typing.Any: - ... - -def correlate() -> typing.Any: - ... - -def correlate1d() -> typing.Any: - ... - -def distance_transform_bf() -> typing.Any: - ... - -def distance_transform_op() -> typing.Any: - ... - -def euclidean_feature_transform() -> typing.Any: - ... - -def find_objects() -> typing.Any: - ... - -def fourier_filter() -> typing.Any: - ... - -def fourier_shift() -> typing.Any: - ... - -def generic_filter() -> typing.Any: - ... - -def generic_filter1d() -> typing.Any: - ... - -def geometric_transform() -> typing.Any: - ... - -def min_or_max_filter() -> typing.Any: - ... - -def min_or_max_filter1d() -> typing.Any: - ... - -def rank_filter() -> typing.Any: - ... - -def spline_filter1d() -> typing.Any: - ... - -def uniform_filter1d() -> typing.Any: - ... - -def watershed_ift() -> typing.Any: - ... - -def zoom_shift() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/ndimage/_ni_label.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/ndimage/_ni_label.pyi deleted file mode 100644 index 4ef3c883..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/ndimage/_ni_label.pyi +++ /dev/null @@ -1,31 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.ndimage._ni_label, version: unspecified -import typing -import _ni_label as _mod__ni_label -import builtins as _mod_builtins - -NeedMoreBits = _mod__ni_label.NeedMoreBits -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def _label() -> typing.Any: - ... - -def get_nonzero_line(a) -> typing.Any: - ... - -def get_read_line(a) -> typing.Any: - ... - -def get_write_line(a) -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/odr/__odrpack.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/odr/__odrpack.pyi deleted file mode 100644 index 12c9f576..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/odr/__odrpack.pyi +++ /dev/null @@ -1,21 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: _odrpack, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def _set_exceptions(odr_error, odr_stop) -> typing.Any: - '_set_exceptions(odr_error, odr_stop)\n\n Internal function: set exception classes.' - ... - -def odr(fcn, beta0, y, x, we=..., wd=..., fjacb=..., fjacd=..., extra_args=..., ifixx=..., ifixb=..., job=..., iprint=..., errfile=..., rptfile=..., ndigit=..., taufac=..., sstol=..., partol=..., maxit=..., stpb=..., stpd=..., sclb=..., scld=..., work=..., iwork=..., full_output=...) -> typing.Any: - 'odr(fcn, beta0, y, x, we=None, wd=None, fjacb=None, fjacd=None, extra_args=None, ifixx=None, ifixb=None, job=0, iprint=0, errfile=None, rptfile=None, ndigit=0, taufac=0.0, sstol=-1.0, partol=-1.0, maxit=-1, stpb=None, stpd=None, sclb=None, scld=None, work=None, iwork=None, full_output=0)\n\n Low-level function for ODR.\n\n See Also\n --------\n ODR : The ODR class gathers all information and coordinates the running of the main fitting routine.\n Model : The Model class stores information about the function you wish to fit.\n Data : The data to fit.\n RealData : Data with weights as actual std. dev.s and/or covariances.\n\n Notes\n -----\n This is a function performing the same operation as the `ODR`,\n `Model`, and `Data` classes together. The parameters of this\n function are explained in the class documentation.' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/__nnls.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/__nnls.pyi deleted file mode 100644 index bff743a1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/__nnls.pyi +++ /dev/null @@ -1,18 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.optimize.__nnls, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def nnls(a, m, n, b, w, zz, index_bn, maxiter, mda=..., overwrite_a=..., overwrite_b=...) -> typing.Any: - "x,rnorm,mode = nnls(a,m,n,b,w,zz,index_bn,maxiter,[mda,overwrite_a,overwrite_b])\n\nWrapper for ``nnls``.\n\nParameters\n----------\na : input rank-2 array('d') with bounds (mda,*)\nm : input int\nn : input int\nb : input rank-1 array('d') with bounds (*)\nw : input rank-1 array('d') with bounds (*)\nzz : input rank-1 array('d') with bounds (*)\nindex_bn : input rank-1 array('i') with bounds (*)\nmaxiter : input int\n\nOther Parameters\n----------------\noverwrite_a : input int, optional\n Default: 0\nmda : input int, optional\n Default: shape(a,0)\noverwrite_b : input int, optional\n Default: 0\n\nReturns\n-------\nx : rank-1 array('d') with bounds (n)\nrnorm : float\nmode : int\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_bglu_dense.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_bglu_dense.pyi deleted file mode 100644 index 2a774aa3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_bglu_dense.pyi +++ /dev/null @@ -1,194 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.optimize._bglu_dense, version: unspecified -import typing -import builtins as _mod_builtins -import numpy.linalg as _mod_numpy_linalg - -class BGLU(LU): - '\n Represents PLU factorization with Golub rank-one updates from\n Bartels, Richard H. "A stabilization of the simplex method."\n Numerische Mathematik 16.5 (1971): 414-434.\n ' - @property - def L(self) -> typing.Any: - ... - - @property - def U(self) -> typing.Any: - ... - - def __init__(self) -> None: - '\n Given matrix A and basis indices b, perform PLU factorization of\n basis matrix B\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def average_solve_times(self) -> typing.Any: - ... - - @property - def bglu_time(self) -> typing.Any: - ... - - @property - def mast(self) -> typing.Any: - ... - - @property - def max_updates(self) -> typing.Any: - ... - - @property - def ops_list(self) -> typing.Any: - ... - - def perform_perm(self) -> typing.Any: - '\n Perform individual row swaps defined in p returned by factor_lu to\n generate final permutation indices pi\n ' - ... - - @property - def pi(self) -> typing.Any: - ... - - @property - def pit(self) -> typing.Any: - ... - - @property - def plu(self) -> typing.Any: - ... - - def refactor(self, *args, **kwargs) -> typing.Any: - ... - - def solve(self, *args, **kwargs) -> typing.Any: - ... - - @property - def solves(self) -> typing.Any: - ... - - def update(self, *args, **kwargs) -> typing.Any: - ... - - def update_basis(self) -> typing.Any: - ... - - @property - def updates(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class LU(_mod_builtins.object): - '\n Represents PLU factorization of a basis matrix with naive rank-one updates\n ' - @property - def A(self) -> typing.Any: - ... - - @property - def B(self) -> typing.Any: - ... - - def __init__(self) -> None: - ' Given matrix A and basis indices b, form basis matrix B ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def b(self) -> typing.Any: - ... - - @property - def m(self) -> typing.Any: - ... - - @property - def n(self) -> typing.Any: - ... - - def solve(self) -> typing.Any: - '\n Solve B @ v = q\n ' - ... - - def update(self) -> typing.Any: - ' Rank-one update to basis and basis matrix ' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -LinAlgError = _mod_numpy_linalg.LinAlgError -__all__: list -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_BGLU() -> typing.Any: - ... - -def __pyx_unpickle_Enum() -> typing.Any: - ... - -def __pyx_unpickle_LU() -> typing.Any: - ... - -__test__: dict -def _consider_refactor() -> typing.Any: - '\n This decorator records the time spent in the major BGLU\n routines - refactor, update, and solve - in order to\n calculate the average time required to solve a system.\n It also forces PLU factorization of the basis matrix from\n scratch to minimize the average solve time and to\n accumulation of roundoff error.\n\n Immediately after PLU factorization, the average solve time\n will be rather high because PLU factorization is slow. For\n some number of factor updates, the average solve time is\n expected to decrease because the updates and solves are fast.\n However, updates increase the compexity of the factorization,\n so solve times are expected to increase with each update.\n When the average solve time stops decreasing and begins\n increasing, we perform PLU factorization from scratch rather\n than updating. PLU factorization is also performed after the\n maximum permitted number of updates is reached to prevent\n further accumulation of roundoff error.\n ' - ... - -def lu_factor(a, overwrite_a, check_finite) -> typing.Any: - "\n Compute pivoted LU decomposition of a matrix.\n\n The decomposition is::\n\n A = P L U\n\n where P is a permutation matrix, L lower triangular with unit\n diagonal elements, and U upper triangular.\n\n Parameters\n ----------\n a : (M, M) array_like\n Matrix to decompose\n overwrite_a : bool, optional\n Whether to overwrite data in A (may increase performance)\n check_finite : bool, optional\n Whether to check that the input matrix contains only finite numbers.\n Disabling may give a performance gain, but may result in problems\n (crashes, non-termination) if the inputs do contain infinities or NaNs.\n\n Returns\n -------\n lu : (N, N) ndarray\n Matrix containing U in its upper triangle, and L in its lower triangle.\n The unit diagonal elements of L are not stored.\n piv : (N,) ndarray\n Pivot indices representing the permutation matrix P:\n row i of matrix was interchanged with row piv[i].\n\n See also\n --------\n lu_solve : solve an equation system using the LU factorization of a matrix\n\n Notes\n -----\n This is a wrapper to the ``*GETRF`` routines from LAPACK.\n\n Examples\n --------\n >>> from scipy.linalg import lu_factor\n >>> A = np.array([[2, 5, 8, 7], [5, 2, 2, 8], [7, 5, 6, 6], [5, 4, 4, 8]])\n >>> lu, piv = lu_factor(A)\n >>> piv\n array([2, 2, 3, 3], dtype=int32)\n\n Convert LAPACK's ``piv`` array to NumPy index and test the permutation\n\n >>> piv_py = [2, 0, 3, 1]\n >>> L, U = np.tril(lu, k=-1) + np.eye(4), np.triu(lu)\n >>> np.allclose(A[piv_py] - L @ U, np.zeros((4, 4)))\n True\n " - ... - -def lu_solve(lu_and_piv, b, trans, overwrite_b, check_finite) -> typing.Any: - 'Solve an equation system, a x = b, given the LU factorization of a\n\n Parameters\n ----------\n (lu, piv)\n Factorization of the coefficient matrix a, as given by lu_factor\n b : array\n Right-hand side\n trans : {0, 1, 2}, optional\n Type of system to solve:\n\n ===== =========\n trans system\n ===== =========\n 0 a x = b\n 1 a^T x = b\n 2 a^H x = b\n ===== =========\n overwrite_b : bool, optional\n Whether to overwrite data in b (may increase performance)\n check_finite : bool, optional\n Whether to check that the input matrices contain only finite numbers.\n Disabling may give a performance gain, but may result in problems\n (crashes, non-termination) if the inputs do contain infinities or NaNs.\n\n Returns\n -------\n x : array\n Solution to the system\n\n See also\n --------\n lu_factor : LU factorize a matrix\n\n Examples\n --------\n >>> from scipy.linalg import lu_factor, lu_solve\n >>> A = np.array([[2, 5, 8, 7], [5, 2, 2, 8], [7, 5, 6, 6], [5, 4, 4, 8]])\n >>> b = np.array([1, 1, 1, 1])\n >>> lu, piv = lu_factor(A)\n >>> x = lu_solve((lu, piv), b)\n >>> np.allclose(A @ x - b, np.zeros((4,)))\n True\n\n ' - ... - -def solve(a, b, sym_pos, lower, overwrite_a, overwrite_b, debug, check_finite, assume_a, transposed) -> typing.Any: - "\n Solves the linear equation set ``a * x = b`` for the unknown ``x``\n for square ``a`` matrix.\n\n If the data matrix is known to be a particular type then supplying the\n corresponding string to ``assume_a`` key chooses the dedicated solver.\n The available options are\n\n =================== ========\n generic matrix 'gen'\n symmetric 'sym'\n hermitian 'her'\n positive definite 'pos'\n =================== ========\n\n If omitted, ``'gen'`` is the default structure.\n\n The datatype of the arrays define which solver is called regardless\n of the values. In other words, even when the complex array entries have\n precisely zero imaginary parts, the complex solver will be called based\n on the data type of the array.\n\n Parameters\n ----------\n a : (N, N) array_like\n Square input data\n b : (N, NRHS) array_like\n Input data for the right hand side.\n sym_pos : bool, optional\n Assume `a` is symmetric and positive definite. This key is deprecated\n and assume_a = 'pos' keyword is recommended instead. The functionality\n is the same. It will be removed in the future.\n lower : bool, optional\n If True, only the data contained in the lower triangle of `a`. Default\n is to use upper triangle. (ignored for ``'gen'``)\n overwrite_a : bool, optional\n Allow overwriting data in `a` (may enhance performance).\n Default is False.\n overwrite_b : bool, optional\n Allow overwriting data in `b` (may enhance performance).\n Default is False.\n check_finite : bool, optional\n Whether to check that the input matrices contain only finite numbers.\n Disabling may give a performance gain, but may result in problems\n (crashes, non-termination) if the inputs do contain infinities or NaNs.\n assume_a : str, optional\n Valid entries are explained above.\n transposed: bool, optional\n If True, ``a^T x = b`` for real matrices, raises `NotImplementedError`\n for complex matrices (only for True).\n\n Returns\n -------\n x : (N, NRHS) ndarray\n The solution array.\n\n Raises\n ------\n ValueError\n If size mismatches detected or input a is not square.\n LinAlgError\n If the matrix is singular.\n LinAlgWarning\n If an ill-conditioned input a is detected.\n NotImplementedError\n If transposed is True and input a is a complex matrix.\n\n Examples\n --------\n Given `a` and `b`, solve for `x`:\n\n >>> a = np.array([[3, 2, 0], [1, -1, 0], [0, 5, 1]])\n >>> b = np.array([2, 4, -1])\n >>> from scipy import linalg\n >>> x = linalg.solve(a, b)\n >>> x\n array([ 2., -2., 9.])\n >>> np.dot(a, x) == b\n array([ True, True, True], dtype=bool)\n\n Notes\n -----\n If the input b matrix is a 1-D array with N elements, when supplied\n together with an NxN input a, it is assumed as a valid column vector\n despite the apparent size mismatch. This is compatible with the\n numpy.dot() behavior and the returned result is still 1-D array.\n\n The generic, symmetric, Hermitian and positive definite solutions are\n obtained via calling ?GESV, ?SYSV, ?HESV, and ?POSV routines of\n LAPACK respectively.\n " - ... - -def solve_triangular(a, b, trans, lower, unit_diagonal, overwrite_b, debug, check_finite) -> typing.Any: - "\n Solve the equation `a x = b` for `x`, assuming a is a triangular matrix.\n\n Parameters\n ----------\n a : (M, M) array_like\n A triangular matrix\n b : (M,) or (M, N) array_like\n Right-hand side matrix in `a x = b`\n lower : bool, optional\n Use only data contained in the lower triangle of `a`.\n Default is to use upper triangle.\n trans : {0, 1, 2, 'N', 'T', 'C'}, optional\n Type of system to solve:\n\n ======== =========\n trans system\n ======== =========\n 0 or 'N' a x = b\n 1 or 'T' a^T x = b\n 2 or 'C' a^H x = b\n ======== =========\n unit_diagonal : bool, optional\n If True, diagonal elements of `a` are assumed to be 1 and\n will not be referenced.\n overwrite_b : bool, optional\n Allow overwriting data in `b` (may enhance performance)\n check_finite : bool, optional\n Whether to check that the input matrices contain only finite numbers.\n Disabling may give a performance gain, but may result in problems\n (crashes, non-termination) if the inputs do contain infinities or NaNs.\n\n Returns\n -------\n x : (M,) or (M, N) ndarray\n Solution to the system `a x = b`. Shape of return matches `b`.\n\n Raises\n ------\n LinAlgError\n If `a` is singular\n\n Notes\n -----\n .. versionadded:: 0.9.0\n\n Examples\n --------\n Solve the lower triangular system a x = b, where::\n\n [3 0 0 0] [4]\n a = [2 1 0 0] b = [2]\n [1 0 1 0] [4]\n [1 1 1 1] [2]\n\n >>> from scipy.linalg import solve_triangular\n >>> a = np.array([[3, 0, 0, 0], [2, 1, 0, 0], [1, 0, 1, 0], [1, 1, 1, 1]])\n >>> b = np.array([4, 2, 4, 2])\n >>> x = solve_triangular(a, b, lower=True)\n >>> x\n array([ 1.33333333, -0.66666667, 2.66666667, -1.33333333])\n >>> a.dot(x) # Check the result\n array([ 4., 2., 4., 2.])\n\n " - ... - -def timer() -> float: - 'process_time() -> float\n\nProcess time for profiling: sum of the kernel and user-space CPU time.' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_cobyla.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_cobyla.pyi deleted file mode 100644 index a9a5d3cc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_cobyla.pyi +++ /dev/null @@ -1,18 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.optimize._cobyla, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def minimize(calcfc, m, x, rhobeg, rhoend, dinfo, iprint=..., maxfun=..., calcfc_extra_args=...) -> typing.Any: - "x,dinfo = minimize(calcfc,m,x,rhobeg,rhoend,dinfo,[iprint,maxfun,calcfc_extra_args])\n\nWrapper for ``minimize``.\n\nParameters\n----------\ncalcfc : call-back function\nm : input int\nx : input rank-1 array('d') with bounds (n)\nrhobeg : input float\nrhoend : input float\ndinfo : input rank-1 array('d') with bounds (4)\n\nOther Parameters\n----------------\ncalcfc_extra_args : input tuple, optional\n Default: ()\niprint : input int, optional\n Default: 1\nmaxfun : input int, optional\n Default: 100\n\nReturns\n-------\nx : rank-1 array('d') with bounds (n)\ndinfo : rank-1 array('d') with bounds (4)\n\nNotes\n-----\nCall-back functions::\n\n def calcfc(x,con): return f\n Required arguments:\n x : input rank-1 array('d') with bounds (n)\n con : input rank-1 array('d') with bounds (m)\n Return objects:\n f : float\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_group_columns.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_group_columns.pyi deleted file mode 100644 index ed808e0e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_group_columns.pyi +++ /dev/null @@ -1,23 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.optimize._group_columns, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def group_dense() -> typing.Any: - ... - -def group_sparse() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_highs/_highs_constants.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_highs/_highs_constants.pyi deleted file mode 100644 index c74a38de..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_highs/_highs_constants.pyi +++ /dev/null @@ -1,46 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.optimize._highs._highs_constants, version: unspecified -import typing -import builtins as _mod_builtins - -CONST_INF: float -CONST_I_INF: int -HIGHS_SIMPLEX_CRASH_STRATEGY_BIXBY: int -HIGHS_SIMPLEX_CRASH_STRATEGY_LTSF: int -HIGHS_SIMPLEX_CRASH_STRATEGY_OFF: int -HIGHS_SIMPLEX_DUAL_EDGE_WEIGHT_STRATEGY_DANTZIG: int -HIGHS_SIMPLEX_DUAL_EDGE_WEIGHT_STRATEGY_DEVEX: int -HIGHS_SIMPLEX_DUAL_EDGE_WEIGHT_STRATEGY_STEEPEST_EDGE: int -HIGHS_SIMPLEX_DUAL_EDGE_WEIGHT_STRATEGY_STEEPEST_EDGE_TO_DEVEX_SWITCH: int -HIGHS_SIMPLEX_PRIMAL_EDGE_WEIGHT_STRATEGY_DANTZIG: int -HIGHS_SIMPLEX_PRIMAL_EDGE_WEIGHT_STRATEGY_DEVEX: int -HIGHS_SIMPLEX_STRATEGY_CHOOSE: int -HIGHS_SIMPLEX_STRATEGY_DUAL: int -HIGHS_SIMPLEX_STRATEGY_PRIMAL: int -MESSAGE_LEVEL_ALWAYS: int -MESSAGE_LEVEL_DETAILED: int -MESSAGE_LEVEL_MINIMAL: int -MESSAGE_LEVEL_NONE: int -MESSAGE_LEVEL_VERBOSE: int -MODEL_STATUS_LOAD_ERROR: int -MODEL_STATUS_MODEL_EMPTY: int -MODEL_STATUS_MODEL_ERROR: int -MODEL_STATUS_NOTSET: int -MODEL_STATUS_OPTIMAL: int -MODEL_STATUS_POSTSOLVE_ERROR: int -MODEL_STATUS_PRESOLVE_ERROR: int -MODEL_STATUS_PRIMAL_INFEASIBLE: int -MODEL_STATUS_PRIMAL_UNBOUNDED: int -MODEL_STATUS_REACHED_DUAL_OBJECTIVE_VALUE_UPPER_BOUND: int -MODEL_STATUS_REACHED_ITERATION_LIMIT: int -MODEL_STATUS_REACHED_TIME_LIMIT: int -MODEL_STATUS_SOLVE_ERROR: int -__doc__: str -__file__: str -__name__: str -__package__: str -__test__: dict -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_highs/_highs_wrapper.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_highs/_highs_wrapper.pyi deleted file mode 100644 index 5caf5d6a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_highs/_highs_wrapper.pyi +++ /dev/null @@ -1,27 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.optimize._highs._highs_wrapper, version: unspecified -import typing -import builtins as _mod_builtins -import scipy.optimize.optimize as _mod_scipy_optimize_optimize - -OptimizeWarning = _mod_scipy_optimize_optimize.OptimizeWarning -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def _highs_wrapper() -> typing.Any: - "Solve linear programs using HiGHS [1]_.\n\n Assume problems of the form:\n\n MIN c.T @ x\n s.t. lhs <= A @ x <= rhs\n lb <= x <= ub\n\n Parameters\n ----------\n c : 1-D array, (n,)\n Array of objective value coefficients.\n astart : 1-D array\n CSC format index array.\n aindex : 1-D array\n CSC format index array.\n avalue : 1-D array\n Data array of the matrix.\n lhs : 1-D array (or None), (m,)\n Array of left hand side values of the inequality constraints.\n If ``lhs=None``, then an array of ``-inf`` is assumed.\n rhs : 1-D array, (m,)\n Array of right hand side values of the inequality constraints.\n lb : 1-D array (or None), (n,)\n Lower bounds on solution variables x. If ``lb=None``, then an\n array of all `0` is assumed.\n ub : 1-D array (or None), (n,)\n Upper bounds on solution variables x. If ``ub=None``, then an\n array of ``inf`` is assumed.\n options : dict\n A dictionary of solver options with the following fields:\n\n - allowed_simplex_cost_scale_factor : int\n Undocumented advanced option.\n\n - allowed_simplex_matrix_scale_factor : int\n Undocumented advanced option.\n\n - dual_feasibility_tolerance : double\n Dual feasibility tolerance for simplex.\n ``min(dual_feasibility_tolerance,\n primal_feasibility_tolerance)`` will be used for\n ipm feasibility tolerance.\n\n - dual_objective_value_upper_bound : double\n Upper bound on objective value for dual simplex:\n algorithm terminates if reached\n\n - dual_simplex_cleanup_strategy : int\n Undocumented advanced option.\n\n - dual_simplex_cost_perturbation_multiplier : double\n Undocumented advanced option.\n\n - dual_steepest_edge_weight_log_error_threshhold : double\n Undocumented advanced option.\n\n - infinite_bound : double\n Limit on abs(constraint bound): values larger than\n this will be treated as infinite\n\n - infinite_cost : double\n Limit on cost coefficient: values larger than this\n will be treated as infinite.\n\n - ipm_iteration_limit : int\n Iteration limit for interior-point solver.\n\n - ipm_optimality_tolerance : double\n Optimality tolerance for IPM.\n\n - keep_n_rows : int {-1, 0, 1}\n Undocumented advanced option.\n\n - ``-1``: ``KEEP_N_ROWS_DELETE_ROWS``\n - ``0``: ``KEEP_N_ROWS_DELETE_ENTRIES``\n - ``1``: ``KEEP_N_ROWS_KEEP_ROWS``\n\n - large_matrix_value : double\n Upper limit on abs(matrix entries): values larger than\n this will be treated as infinite\n\n - less_infeasible_DSE_check : bool\n Undocumented advanced option.\n\n - less_infeasible_DSE_choose_row : bool\n Undocumented advanced option.\n\n - max_threads : int\n Maximum number of threads in parallel execution.\n\n - message_level : int {0, 1, 2, 4, 7}\n Verbosity level, corresponds to:\n\n - ``0``: ``ML_NONE``\n All messaging to stdout is supressed.\n\n - ``1``: ``ML_VERBOSE``\n Includes a once-per-iteration report on simplex/ipm\n progress and information about each nonzero row and\n column.\n\n - ``2``: ``ML_DETAILED``\n Includes technical information about progress and\n events in applying the simplex method.\n\n - ``4``: ``ML_MINIMAL``\n Once-per-solve information about progress as well as a\n once-per-basis-matrix-reinversion report on progress in\n simplex or a once-per-iteration report on progress in IPX.\n\n ``message_level`` behaves like a bitmask, i.e., any\n combination of levels is possible using the bit-or\n operator.\n\n - min_threads : int\n Minimum number of threads in parallel execution.\n\n - mps_parser_type_free : bool\n Use free format MPS parsing.\n\n - parallel : bool\n Run the solver in serial (False) or parallel (True).\n\n - presolve : bool\n Run the presolve or not (or if ``None``, then choose).\n\n - primal_feasibility_tolerance : double\n Primal feasibility tolerance.\n ``min(dual_feasibility_tolerance,\n primal_feasibility_tolerance)`` will be used for\n ipm feasibility tolerance.\n\n - run_as_hsol : bool\n Undocumented advanced option.\n\n - run_crossover : bool\n Advanced option. Toggles running the crossover routine\n for IPX.\n\n - sense : int {1, -1}\n ``sense=1`` corresponds to the MIN problem, ``sense=-1``\n corresponds to the MAX problem. TODO: NOT IMPLEMENTED\n\n - simplex_crash_strategy : int {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}\n Strategy for simplex crash: off / LTSSF / Bixby (0/1/2).\n Default is ``0``. Corresponds to the following:\n\n - ``0``: ``SIMPLEX_CRASH_STRATEGY_OFF``\n - ``1``: ``SIMPLEX_CRASH_STRATEGY_LTSSF_K``\n - ``2``: ``SIMPLEX_CRASH_STRATEGY_BIXBY``\n - ``3``: ``SIMPLEX_CRASH_STRATEGY_LTSSF_PRI``\n - ``4``: ``SIMPLEX_CRASH_STRATEGY_LTSF_K``\n - ``5``: ``SIMPLEX_CRASH_STRATEGY_LTSF_PRI``\n - ``6``: ``SIMPLEX_CRASH_STRATEGY_LTSF``\n - ``7``: ``SIMPLEX_CRASH_STRATEGY_BIXBY_NO_NONZERO_COL_COSTS``\n - ``8``: ``SIMPLEX_CRASH_STRATEGY_BASIC``\n - ``9``: ``SIMPLE_CRASH_STRATEGY_TEST_SING``\n\n - simplex_dualise_strategy : int\n Undocumented advanced option.\n\n - simplex_dual_edge_weight_strategy : int {0, 1, 2, 3, 4}\n Strategy for simplex dual edge weights:\n Dantzig / Devex / Steepest Edge. Corresponds\n to the following:\n\n - ``0``: ``SIMPLEX_DUAL_EDGE_WEIGHT_STRATEGY_DANTZIG``\n - ``1``: ``SIMPLEX_DUAL_EDGE_WEIGHT_STRATEGY_DEVEX``\n - ``2``: ``SIMPLEX_DUAL_EDGE_WEIGHT_STRATEGY_STEEPEST_EDGE_TO_DEVEX_SWITCH``\n - ``3``: ``SIMPLEX_DUAL_EDGE_WEIGHT_STRATEGY_STEEPEST_EDGE``\n - ``4``: ``SIMPLEX_DUAL_EDGE_WEIGHT_STRATEGY_STEEPEST_EDGE_UNIT_INITIAL``\n\n - simplex_initial_condition_check : bool\n Undocumented advanced option.\n\n - simplex_initial_condition_tolerance : double\n Undocumented advanced option.\n\n - simplex_iteration_limit : int\n Iteration limit for simplex solver.\n\n - simplex_permute_strategy : int\n Undocumented advanced option.\n\n - simplex_price_strategy : int\n Undocumented advanced option.\n\n - simplex_primal_edge_weight_strategy : int {0, 1}\n Strategy for simplex primal edge weights:\n Dantzig / Devex. Corresponds to the following:\n\n - ``0``: ``SIMPLEX_PRIMAL_EDGE_WEIGHT_STRATEGY_DANTZIG``\n - ``1``: ``SIMPLEX_PRIMAL_EDGE_WEIGHT_STRATEGY_DEVEX``\n\n - simplex_scale_strategy : int {0, 1, 2, 3, 4, 5}\n Strategy for scaling before simplex solver:\n off / on (0/1)\n\n - ``0``: ``SIMPLEX_SCALE_STRATEGY_OFF``\n - ``1``: ``SIMPLEX_SCALE_STRATEGY_HIGHS``\n - ``2``: ``SIMPLEX_SCALE_STRATEGY_HIGHS_FORCED``\n - ``3``: ``SIMPLEX_SCALE_STRATEGY_HIGHS_015``\n - ``4``: ``SIMPLEX_SCALE_STRATEGY_HIGHS_0157``\n - ``5``: ``SIMPLEX_SCALE_STRATEGY_HSOL``\n\n - simplex_strategy : int {0, 1, 2, 3, 4}\n Strategy for simplex solver. Default: 1. Corresponds\n to the following:\n\n - ``0``: ``SIMPLEX_STRATEGY_MIN``\n - ``1``: ``SIMPLEX_STRATEGY_DUAL``\n - ``2``: ``SIMPLEX_STRATEGY_DUAL_TASKS``\n - ``3``: ``SIMPLEX_STRATEGY_DUAL_MULTI``\n - ``4``: ``SIMPLEX_STRATEGY_PRIMAL``\n\n - simplex_update_limit : int\n Limit on the number of simplex UPDATE operations.\n\n - small_matrix_value : double\n Lower limit on abs(matrix entries): values smaller\n than this will be treated as zero.\n\n - solution_file : str\n Solution file\n\n - solver : str {'simplex', 'ipm'}\n Choose which solver to use. If ``solver='simplex'``\n and ``parallel=True`` then PAMI will be used.\n\n - time_limit : double\n Max number of seconds to run the solver for.\n\n - use_original_HFactor_logic : bool\n Undocumented advanced option.\n\n - write_solution_to_file : bool\n Write the primal and dual solution to a file\n\n - write_solution_pretty : bool\n Write the primal and dual solution in a pretty\n (human-readable) format\n\n See [2]_ for a list of all non-advanced options.\n\n Returns\n -------\n res : dict\n\n If model_status is one of OPTIMAL,\n REACHED_DUAL_OBJECTIVE_VALUE_UPPER_BOUND, REACHED_TIME_LIMIT,\n REACHED_ITERATION_LIMIT:\n\n - ``status`` : int\n Model status code.\n\n - ``message`` : str\n Message corresponding to model status code.\n\n - ``x`` : list\n Solution variables.\n\n - ``slack`` : list\n Slack variables.\n\n - ``lambda`` : list\n Lagrange multipliers assoicated with the constraints\n Ax = b.\n\n - ``s`` : list\n Lagrange multipliers associated with the constraints\n x >= 0.\n\n - ``fun``\n Final objective value.\n\n - ``simplex_nit`` : int\n Number of iterations accomplished by the simplex\n solver.\n\n - ``ipm_nit`` : int\n Number of iterations accomplished by the interior-\n point solver.\n\n If model_status is not one of the above:\n\n - ``status`` : int\n Model status code.\n\n - ``message`` : str\n Message corresponding to model status code.\n\n Notes\n -----\n If ``options['write_solution_to_file']`` is ``True`` but\n ``options['solution_file']`` is unset or ``''``, then the solution\n will be printed to ``stdout``.\n\n If any iteration limit is reached, no solution will be\n available.\n\n ``OptimizeWarning`` will be raised if any option value set by\n the user is found to be incorrect.\n\n References\n ----------\n .. [1] https://www.maths.ed.ac.uk/hall/HiGHS\n .. [2] https://www.maths.ed.ac.uk/hall/HiGHS/HighsOptions.html\n " - ... - -def warn(message, category, stacklevel, source) -> typing.Any: - 'Issue a warning, or maybe ignore it or raise an exception.' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_highs/_mpswriter.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_highs/_mpswriter.pyi deleted file mode 100644 index 893363e5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_highs/_mpswriter.pyi +++ /dev/null @@ -1,23 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.optimize._highs._mpswriter, version: unspecified -import typing -import builtins as _mod_builtins -import scipy.sparse.csc as _mod_scipy_sparse_csc - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -csc_matrix = _mod_scipy_sparse_csc.csc_matrix -def mpswriter() -> typing.Any: - 'MPS writer: create MPS file from matrices.\n\n Parameters\n ----------\n filename : bytes (string)\n Name of MPS file to write out to. Will be overwritten.\n c : 1-D array (numcol,)\n Objective coefficient values (assumes minimization).\n A : 2-D array (numrow, numcol), scipy.sparse.csc_matrix\n Sparse inequality constraint matrix.\n lhs : 1-D array (numrow,)\n Left hand side inequality values.\n rhs : 1-D array (numrow,)\n Right hand side inequality values.\n lb : 1-D array (numcol,)\n Lower bounds of solution variables.\n ub : 1-D array (numcol,)\n Upper bounds of solution variables.\n integer_valued : 1-D array (numint,)\n Indices of integer valued solution variables.\n use_free_format : bool, optional\n Use MPS free format. Default is False.\n\n Notes\n -----\n Wrapper over HiGHS `writeMPS` function.\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_lbfgsb.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_lbfgsb.pyi deleted file mode 100644 index bac1bd83..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_lbfgsb.pyi +++ /dev/null @@ -1,22 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.optimize._lbfgsb, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def setulb(m, x, l, u, nbd, f, g, factr, pgtol, wa, iwa, task, iprint, csave, lsave, isave, dsave, maxls, n=...) -> typing.Any: - "setulb(m,x,l,u,nbd,f,g,factr,pgtol,wa,iwa,task,iprint,csave,lsave,isave,dsave,maxls,[n])\n\nWrapper for ``setulb``.\n\nParameters\n----------\nm : input int\nx : in/output rank-1 array('d') with bounds (n)\nl : input rank-1 array('d') with bounds (n)\nu : input rank-1 array('d') with bounds (n)\nnbd : input rank-1 array('i') with bounds (n)\nf : in/output rank-0 array(float,'d')\ng : in/output rank-1 array('d') with bounds (n)\nfactr : input float\npgtol : input float\nwa : in/output rank-1 array('d') with bounds (2*m*n+5*n+11*m*m+8*m)\niwa : in/output rank-1 array('i') with bounds (3 * n)\ntask : in/output rank-0 array(string(len=60),'c')\niprint : input int\ncsave : in/output rank-0 array(string(len=60),'c')\nlsave : in/output rank-1 array('i') with bounds (4)\nisave : in/output rank-1 array('i') with bounds (44)\ndsave : in/output rank-1 array('d') with bounds (29)\nmaxls : input int\n\nOther Parameters\n----------------\nn : input int, optional\n Default: len(x)\n" - ... - -def types() -> typing.Any: - "'i'-scalar\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_lsap_module.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_lsap_module.pyi deleted file mode 100644 index ab24a72b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_lsap_module.pyi +++ /dev/null @@ -1,17 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.optimize._lsap_module, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -def calculate_assignment() -> typing.Any: - 'Solves the rectangular linear sum assignment problem.' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_lsq/givens_elimination.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_lsq/givens_elimination.pyi deleted file mode 100644 index f595cb92..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_lsq/givens_elimination.pyi +++ /dev/null @@ -1,21 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.optimize._lsq.givens_elimination, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def givens_elimination() -> typing.Any: - 'Zero out a diagonal block of a matrix by series of Givens rotations.\n\n The matrix has the structure::\n\n [ S ]\n [ D ]\n\n Where S is an upper triangular matrix with shape (n, n) and D is a\n diagonal matrix with shape (n, n) with elements from `diag`. This function\n applies Givens rotations to it such that the resulting matrix has zeros\n in place of D.\n\n Array `S` will be modified in-place.\n\n Array `v` of shape (n,) is the part of the full vector with shape (2*n,)::\n\n [ v ]\n [ 0 ]\n\n to which Givens rotations are applied. This array is modified in place,\n such that on exit it contains the first n components of the above\n mentioned vector after rotations were applied.\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_minpack.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_minpack.pyi deleted file mode 100644 index 6a3c5703..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_minpack.pyi +++ /dev/null @@ -1,36 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.optimize._minpack, version: 1.10 -import typing -import builtins as _mod_builtins -import minpack as _mod_minpack - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__version__: str -def _chkder(m, n, x, fvec, fjac, ldfjac, xp, fvecp, mode, err) -> typing.Any: - '_chkder(m,n,x,fvec,fjac,ldfjac,xp,fvecp,mode,err)' - ... - -def _hybrd(fun, x0, args, full_output, xtol, maxfev, ml, mu, epsfcn, factor, diag) -> typing.Any: - '[x,infodict,info] = _hybrd(fun, x0, args, full_output, xtol, maxfev, ml, mu, epsfcn, factor, diag)' - ... - -def _hybrj(fun, Dfun, x0, args, full_output, col_deriv, xtol, maxfev, factor, diag) -> typing.Any: - '[x,infodict,info] = _hybrj(fun, Dfun, x0, args, full_output, col_deriv, xtol, maxfev, factor, diag)' - ... - -def _lmder(fun, Dfun, x0, args, full_output, col_deriv, ftol, xtol, gtol, maxfev, factor, diag) -> typing.Any: - '[x,infodict,info] = _lmder(fun, Dfun, x0, args, full_output, col_deriv, ftol, xtol, gtol, maxfev, factor, diag)' - ... - -def _lmdif(fun, x0, args, full_output, ftol, xtol, gtol, maxfev, epsfcn, factor, diag) -> typing.Any: - '[x,infodict,info] = _lmdif(fun, x0, args, full_output, ftol, xtol, gtol, maxfev, epsfcn, factor, diag)' - ... - -error = _mod_minpack.error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_slsqp.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_slsqp.pyi deleted file mode 100644 index f53bfe96..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_slsqp.pyi +++ /dev/null @@ -1,18 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.optimize._slsqp, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def slsqp(m, meq, x, xl, xu, f, c, g, a, acc, iter, mode, w, jw, alpha, f0, gs, h1, h2, h3, h4, t, t0, tol, iexact, incons, ireset, itermx, line, n1, n2, n3, la=..., n=..., l_w=..., l_jw=...) -> typing.Any: - "slsqp(m,meq,x,xl,xu,f,c,g,a,acc,iter,mode,w,jw,alpha,f0,gs,h1,h2,h3,h4,t,t0,tol,iexact,incons,ireset,itermx,line,n1,n2,n3,[la,n,l_w,l_jw])\n\nWrapper for ``slsqp``.\n\nParameters\n----------\nm : input int\nmeq : input int\nx : in/output rank-1 array('d') with bounds (n)\nxl : input rank-1 array('d') with bounds (n)\nxu : input rank-1 array('d') with bounds (n)\nf : input float\nc : input rank-1 array('d') with bounds (la)\ng : input rank-1 array('d') with bounds (n + 1)\na : input rank-2 array('d') with bounds (la,n + 1)\nacc : in/output rank-0 array(float,'d')\niter : in/output rank-0 array(int,'i')\nmode : in/output rank-0 array(int,'i')\nw : input rank-1 array('d') with bounds (l_w)\njw : input rank-1 array('i') with bounds (l_jw)\nalpha : in/output rank-0 array(float,'d')\nf0 : in/output rank-0 array(float,'d')\ngs : in/output rank-0 array(float,'d')\nh1 : in/output rank-0 array(float,'d')\nh2 : in/output rank-0 array(float,'d')\nh3 : in/output rank-0 array(float,'d')\nh4 : in/output rank-0 array(float,'d')\nt : in/output rank-0 array(float,'d')\nt0 : in/output rank-0 array(float,'d')\ntol : in/output rank-0 array(float,'d')\niexact : in/output rank-0 array(int,'i')\nincons : in/output rank-0 array(int,'i')\nireset : in/output rank-0 array(int,'i')\nitermx : in/output rank-0 array(int,'i')\nline : in/output rank-0 array(int,'i')\nn1 : in/output rank-0 array(int,'i')\nn2 : in/output rank-0 array(int,'i')\nn3 : in/output rank-0 array(int,'i')\n\nOther Parameters\n----------------\nla : input int, optional\n Default: len(c)\nn : input int, optional\n Default: len(x)\nl_w : input int, optional\n Default: len(w)\nl_jw : input int, optional\n Default: len(jw)\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_trlib/_trlib.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_trlib/_trlib.pyi deleted file mode 100644 index bee3fadd..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_trlib/_trlib.pyi +++ /dev/null @@ -1,46 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.optimize._trlib._trlib, version: unspecified -import typing -import builtins as _mod_builtins -import scipy.optimize._trustregion as _mod_scipy_optimize__trustregion - -BaseQuadraticSubproblem = _mod_scipy_optimize__trustregion.BaseQuadraticSubproblem -class TRLIBQuadraticSubproblem(_mod_scipy_optimize__trustregion.BaseQuadraticSubproblem): - __dict__: typing.Dict[str, typing.Any] - def __init__(self, x, fun, jac, hess, hessp, tol_rel_i, tol_rel_b, disp) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def solve(self, trust_radius) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def _minimize_trust_region(fun, x0, args, jac, hess, hessp, subproblem, initial_trust_radius, max_trust_radius, eta, gtol, maxiter, disp, return_all, callback, inexact, **unknown_options) -> typing.Any: - '\n Minimization of scalar function of one or more variables using a\n trust-region algorithm.\n\n Options for the trust-region algorithm are:\n initial_trust_radius : float\n Initial trust radius.\n max_trust_radius : float\n Never propose steps that are longer than this value.\n eta : float\n Trust region related acceptance stringency for proposed steps.\n gtol : float\n Gradient norm must be less than `gtol`\n before successful termination.\n maxiter : int\n Maximum number of iterations to perform.\n disp : bool\n If True, print convergence message.\n inexact : bool\n Accuracy to solve subproblems. If True requires less nonlinear\n iterations, but more vector products. Only effective for method\n trust-krylov.\n\n This function is called by the `minimize` function.\n It is not supposed to be called directly.\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_zeros.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_zeros.pyi deleted file mode 100644 index 71997654..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/_zeros.pyi +++ /dev/null @@ -1,29 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.optimize._zeros, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def _bisect() -> typing.Any: - 'a' - ... - -def _brenth() -> typing.Any: - 'a' - ... - -def _brentq() -> typing.Any: - 'a' - ... - -def _ridder() -> typing.Any: - 'a' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/cython_optimize/_zeros.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/cython_optimize/_zeros.pyi deleted file mode 100644 index df83e200..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/cython_optimize/_zeros.pyi +++ /dev/null @@ -1,24 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.optimize.cython_optimize._zeros, version: unspecified -import typing -import builtins as _mod_builtins - -EXAMPLES_MAP: dict -__doc__: str -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -__test__: dict -def full_output_example() -> typing.Any: - '\n Example of Cython optimize zeros functions with full output.\n\n Parameters\n ----------\n args : sequence of float\n extra arguments of zero function\n xa : float\n first boundary of zero function\n xb : float\n second boundary of zero function\n xtol : float\n absolute tolerance of zero function\n rtol : float\n relative tolerance of zero function\n mitr : int\n max. iteration of zero function\n\n Returns\n -------\n full_output : dict\n the root, number of function calls, number of iterations, and the zero\n function error number \n\n This example finds the roots of a 3rd order polynomial with coefficients\n given as `args`.\n ' - ... - -def loop_example() -> typing.Any: - '\n Example of Cython optimize zeros functions with map.\n\n Parameters\n ----------\n method : str\n name of the Cython optimize zeros function to call\n a0 : sequence of float\n first extra argument which is mapped to output\n args : sequence of float\n the remaining extra arguments which are constant\n xa : float\n first bound of zero function\n xb : float\n second bound of zero function\n xtol : float\n absolute tolerance of zero function\n rtol : float\n relative tolerance of zero function\n mitr : int\n max. iteration of zero function\n\n Returns\n -------\n roots : sequence of float\n the root for each of the values of `a0`\n\n This example finds the roots of a 3rd order polynomial given a sequence of\n constant terms as `a0` and fixed 1st, 2nd, and 3rd order terms in `args`.\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/minpack2.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/minpack2.pyi deleted file mode 100644 index 72bf3cb3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/minpack2.pyi +++ /dev/null @@ -1,22 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.optimize.minpack2, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def dcsrch(stp, f, g, ftol, gtol, xtol, task, stpmin, stpmax, isave, dsave) -> typing.Any: - "stp,f,g,task = dcsrch(stp,f,g,ftol,gtol,xtol,task,stpmin,stpmax,isave,dsave)\n\nWrapper for ``dcsrch``.\n\nParameters\n----------\nstp : input float\nf : input float\ng : input float\nftol : input float\ngtol : input float\nxtol : input float\ntask : input string(len=60)\nstpmin : input float\nstpmax : input float\nisave : in/output rank-1 array('i') with bounds (2)\ndsave : in/output rank-1 array('d') with bounds (13)\n\nReturns\n-------\nstp : float\nf : float\ng : float\ntask : string(len=60)\n" - ... - -def dcstep(stx, fx, dx, sty, fy, dy, stp, fp, dp, brackt, stpmin, stpmax) -> typing.Any: - 'stx,fx,dx,sty,fy,dy,stp,brackt = dcstep(stx,fx,dx,sty,fy,dy,stp,fp,dp,brackt,stpmin,stpmax)\n\nWrapper for ``dcstep``.\n\nParameters\n----------\nstx : input float\nfx : input float\ndx : input float\nsty : input float\nfy : input float\ndy : input float\nstp : input float\nfp : input float\ndp : input float\nbrackt : input int\nstpmin : input float\nstpmax : input float\n\nReturns\n-------\nstx : float\nfx : float\ndx : float\nsty : float\nfy : float\ndy : float\nstp : float\nbrackt : int\n' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/moduleTNC.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/moduleTNC.pyi deleted file mode 100644 index 63684e31..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/optimize/moduleTNC.pyi +++ /dev/null @@ -1,16 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.optimize.moduleTNC, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def minimize() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/py.typed b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/py.typed deleted file mode 100644 index c4e26706..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/py.typed +++ /dev/null @@ -1 +0,0 @@ -partial diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_max_len_seq_inner.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_max_len_seq_inner.pyi deleted file mode 100644 index 6450ab9b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_max_len_seq_inner.pyi +++ /dev/null @@ -1,20 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.signal._max_len_seq_inner, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def _max_len_seq_inner() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_peak_finding_utils.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_peak_finding_utils.pyi deleted file mode 100644 index 739756a0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_peak_finding_utils.pyi +++ /dev/null @@ -1,61 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.signal._peak_finding_utils, version: unspecified -import typing -import builtins as _mod_builtins - -class PeakPropertyWarning(_mod_builtins.RuntimeWarning): - 'Calculated property of a peak has unexpected value.' - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - 'Calculated property of a peak has unexpected value.' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__all__: list -__doc__: str -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def _local_maxima_1d() -> typing.Any: - '\n Find local maxima in a 1D array.\n\n This function finds all local maxima in a 1D array and returns the indices\n for their edges and midpoints (rounded down for even plateau sizes).\n\n Parameters\n ----------\n x : ndarray\n The array to search for local maxima.\n\n Returns\n -------\n midpoints : ndarray\n Indices of midpoints of local maxima in `x`.\n left_edges : ndarray\n Indices of edges to the left of local maxima in `x`.\n right_edges : ndarray\n Indices of edges to the right of local maxima in `x`.\n\n Notes\n -----\n - Compared to `argrelmax` this function is significantly faster and can\n detect maxima that are more than one sample wide. However this comes at\n the cost of being only applicable to 1D arrays.\n - A maxima is defined as one or more samples of equal value that are\n surrounded on both sides by at least one smaller sample.\n\n .. versionadded:: 1.1.0\n ' - ... - -def _peak_prominences() -> typing.Any: - "\n Calculate the prominence of each peak in a signal.\n\n Parameters\n ----------\n x : ndarray\n A signal with peaks.\n peaks : ndarray\n Indices of peaks in `x`.\n wlen : np.intp\n A window length in samples (see `peak_prominences`) which is rounded up\n to the nearest odd integer. If smaller than 2 the entire signal `x` is\n used.\n\n Returns\n -------\n prominences : ndarray\n The calculated prominences for each peak in `peaks`.\n left_bases, right_bases : ndarray\n The peaks' bases as indices in `x` to the left and right of each peak.\n\n Raises\n ------\n ValueError\n If a value in `peaks` is an invalid index for `x`.\n\n Warns\n -----\n PeakPropertyWarning\n If a prominence of 0 was calculated for any peak.\n\n Notes\n -----\n This is the inner function to `peak_prominences`.\n\n .. versionadded:: 1.1.0\n " - ... - -def _peak_widths() -> typing.Any: - "\n Calculate the width of each each peak in a signal.\n\n Parameters\n ----------\n x : ndarray\n A signal with peaks.\n peaks : ndarray\n Indices of peaks in `x`.\n rel_height : np.float64\n Chooses the relative height at which the peak width is measured as a\n percentage of its prominence (see `peak_widths`).\n prominences : ndarray\n Prominences of each peak in `peaks` as returned by `peak_prominences`.\n left_bases, right_bases : ndarray\n Left and right bases of each peak in `peaks` as returned by\n `peak_prominences`.\n\n Returns\n -------\n widths : ndarray\n The widths for each peak in samples.\n width_heights : ndarray\n The height of the contour lines at which the `widths` where evaluated.\n left_ips, right_ips : ndarray\n Interpolated positions of left and right intersection points of a\n horizontal line at the respective evaluation height.\n\n Raises\n ------\n ValueError\n If the supplied prominence data doesn't satisfy the condition\n ``0 <= left_base <= peak <= right_base < x.shape[0]`` for each peak or\n if `peaks`, `left_bases` and `right_bases` don't share the same shape.\n Or if `rel_height` is not at least 0.\n\n Warnings\n --------\n PeakPropertyWarning\n If a width of 0 was calculated for any peak.\n\n Notes\n -----\n This is the inner function to `peak_widths`.\n\n .. versionadded:: 1.1.0\n " - ... - -def _select_by_peak_distance() -> typing.Any: - "\n Evaluate which peaks fulfill the distance condition.\n\n Parameters\n ----------\n peaks : ndarray\n Indices of peaks in `vector`.\n priority : ndarray\n An array matching `peaks` used to determine priority of each peak. A\n peak with a higher priority value is kept over one with a lower one.\n distance : np.float64\n Minimal distance that peaks must be spaced.\n\n Returns\n -------\n keep : ndarray[bool]\n A boolean mask evaluating to true where `peaks` fulfill the distance\n condition.\n\n Notes\n -----\n Declaring the input arrays as C-contiguous doesn't seem to have performance\n advantages.\n\n .. versionadded:: 1.1.0\n " - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_sosfilt.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_sosfilt.pyi deleted file mode 100644 index 870a7242..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_sosfilt.pyi +++ /dev/null @@ -1,23 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.signal._sosfilt, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def _sosfilt(sos, x, zi) -> typing.Any: - ... - -def _sosfilt_object() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_spectral.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_spectral.pyi deleted file mode 100644 index e79462cc..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_spectral.pyi +++ /dev/null @@ -1,19 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.signal._spectral, version: unspecified -import typing -import builtins as _mod_builtins - -__all__: list -__doc__: str -__file__: str -__name__: str -__package__: str -__test__: dict -def _lombscargle(x, y, freqs) -> typing.Any: - '\n _lombscargle(x, y, freqs)\n\n Computes the Lomb-Scargle periodogram.\n\n Parameters\n ----------\n x : array_like\n Sample times.\n y : array_like\n Measurement values (must be registered so the mean is zero).\n freqs : array_like\n Angular frequencies for output periodogram.\n\n Returns\n -------\n pgram : array_like\n Lomb-Scargle periodogram.\n\n Raises\n ------\n ValueError\n If the input arrays `x` and `y` do not have the same shape.\n\n See also\n --------\n lombscargle\n\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_upfirdn_apply.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_upfirdn_apply.pyi deleted file mode 100644 index 9b3601e1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/_upfirdn_apply.pyi +++ /dev/null @@ -1,31 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.signal._upfirdn_apply, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def _apply(data, h_trans_flip, out, up, down, axis, mode, cval) -> typing.Any: - ... - -def _output_len() -> typing.Any: - 'The output length that results from a given input' - ... - -def _pad_test() -> typing.Any: - '1D test function for signal extension modes.\n\n Returns ``data extended by ``npre``, ``npost`` at the beginning, end.\n ' - ... - -def mode_enum() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/sigtools.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/sigtools.pyi deleted file mode 100644 index c7e91b8f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/sigtools.pyi +++ /dev/null @@ -1,37 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.signal.sigtools, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def _convolve2d(in1, in2, flip, mode, boundary, fillvalue) -> typing.Any: - 'out = _convolve2d(in1, in2, flip, mode, boundary, fillvalue)' - ... - -def _correlateND(a, kernel, mode) -> typing.Any: - "out = _correlateND(a,kernel,mode) \n\n mode = 0 - 'valid', 1 - 'same', \n 2 - 'full' (default)" - ... - -def _linear_filter() -> typing.Any: - '(y,Vf) = _linear_filter(b,a,X,Dim=-1,Vi=None) implemented using Direct Form II transposed flow diagram. If Vi is not given, Vf is not returned.' - ... - -def _medfilt2d() -> typing.Any: - 'filt = _median2d(data, size)' - ... - -def _order_filterND(a, domain, order) -> typing.Any: - 'out = _order_filterND(a,domain,order)' - ... - -def _remez(numtaps, bands, des, weight, type, fs, maxiter, grid_density) -> typing.Any: - 'h = _remez(numtaps, bands, des, weight, type, fs, maxiter, grid_density)\n returns the optimal (in the Chebyshev/minimax sense) FIR filter impulse\n response given a set of band edges, the desired response on those bands,\n and the weight given to the error in those bands. Bands is a monotonic\n vector with band edges given in frequency domain where fs is the sampling\n frequency.' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/spline.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/spline.pyi deleted file mode 100644 index e9935fa7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/signal/spline.pyi +++ /dev/null @@ -1,34 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.signal.spline, version: 0.2 -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__version__: str -def cspline2d(input, lambda_=..., precision=...) -> typing.Any: - 'out = cspline2d(input, lambda=0.0, precision=-1.0)\n\n Coefficients for 2-D cubic (3rd order) B-spline.\n\n Return the third-order B-spline coefficients over a regularly spaced\n input grid for the two-dimensional input image.\n\n Parameters\n ----------\n input : ndarray\n The input signal.\n lambda : float\n Specifies the amount of smoothing in the transfer function.\n precision : float\n Specifies the precision for computing the infinite sum needed to apply mirror-\n symmetric boundary conditions.\n\n Returns\n -------\n output : ndarray\n The filtered signal.\n\n Examples\n --------\n Examples are given :ref:`in the tutorial `.\n\n' - ... - -def qspline2d(input, lambda_=..., precision=...) -> typing.Any: - 'out = qspline2d(input, lambda=0.0, precision=-1.0)\n\n Coefficients for 2-D quadratic (2nd order) B-spline:\n\n Return the second-order B-spline coefficients over a regularly spaced\n input grid for the two-dimensional input image.\n\n Parameters\n ----------\n input : ndarray\n The input signal.\n lambda : float\n Specifies the amount of smoothing in the transfer function.\n precision : float\n Specifies the precision for computing the infinite sum needed to apply mirror-\n symmetric boundary conditions.\n\n Returns\n -------\n output : ndarray\n The filtered signal.\n\n Examples\n --------\n Examples are given :ref:`in the tutorial `.\n\n' - ... - -def sepfir2d(input, hrow, hcol) -> typing.Any: - 'out = sepfir2d(input, hrow, hcol)\n\n Convolve with a 2-D separable FIR filter.\n\n Convolve the rank-2 input array with the separable filter defined by the\n rank-1 arrays hrow, and hcol. Mirror symmetric boundary conditions are\n assumed. This function can be used to find an image given its B-spline\n representation.\n\n Parameters\n ----------\n input : ndarray\n The input signal. Must be a rank-2 array.\n hrow : ndarray\n A rank-1 array defining the row direction of the filter.\n Must be odd-length\n hcol : ndarray\n A rank-1 array defining the column direction of the filter.\n Must be odd-length\n\n Returns\n -------\n output : ndarray\n The filtered signal.\n\n Examples\n --------\n Examples are given :ref:`in the tutorial `.\n\n' - ... - -def symiirorder1(input, c0, z1, precision=...) -> typing.Any: - 'out = symiirorder1(input, c0, z1, precision=-1.0)\n\n Implement a smoothing IIR filter with mirror-symmetric boundary conditions\n using a cascade of first-order sections. The second section uses a\n reversed sequence. This implements a system with the following\n transfer function and mirror-symmetric boundary conditions::\n\n c0 \n H(z) = --------------------- \n (1-z1/z) (1 - z1 z) \n\n The resulting signal will have mirror symmetric boundary conditions as well.\n\n Parameters\n ----------\n input : ndarray\n The input signal.\n c0, z1 : scalar\n Parameters in the transfer function.\n precision :\n Specifies the precision for calculating initial conditions\n of the recursive filter based on mirror-symmetric input.\n\n Returns\n -------\n output : ndarray\n The filtered signal.' - ... - -def symiirorder2(input, r, omega, precision=...) -> typing.Any: - 'out = symiirorder2(input, r, omega, precision=-1.0)\n\n Implement a smoothing IIR filter with mirror-symmetric boundary conditions\n using a cascade of second-order sections. The second section uses a\n reversed sequence. This implements the following transfer function::\n\n cs^2\n H(z) = ---------------------------------------\n (1 - a2/z - a3/z^2) (1 - a2 z - a3 z^2 )\n\n where::\n\n a2 = (2 r cos omega)\n a3 = - r^2\n cs = 1 - 2 r cos omega + r^2\n\n Parameters\n ----------\n input : ndarray\n The input signal.\n r, omega : float\n Parameters in the transfer function.\n precision : float\n Specifies the precision for calculating initial conditions\n of the recursive filter based on mirror-symmetric input.\n\n Returns\n -------\n output : ndarray\n The filtered signal.' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/_csparsetools.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/_csparsetools.pyi deleted file mode 100644 index 7c10ba17..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/_csparsetools.pyi +++ /dev/null @@ -1,190 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.sparse._csparsetools, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def _lil_fancy_get_int32() -> typing.Any: - ... - -def _lil_fancy_get_int64() -> typing.Any: - ... - -def _lil_fancy_set_int32_bool_() -> typing.Any: - ... - -def _lil_fancy_set_int32_clongdouble() -> typing.Any: - ... - -def _lil_fancy_set_int32_complex128() -> typing.Any: - ... - -def _lil_fancy_set_int32_complex64() -> typing.Any: - ... - -def _lil_fancy_set_int32_float32() -> typing.Any: - ... - -def _lil_fancy_set_int32_float64() -> typing.Any: - ... - -def _lil_fancy_set_int32_int16() -> typing.Any: - ... - -def _lil_fancy_set_int32_int32() -> typing.Any: - ... - -def _lil_fancy_set_int32_int64() -> typing.Any: - ... - -def _lil_fancy_set_int32_int8() -> typing.Any: - ... - -def _lil_fancy_set_int32_longdouble() -> typing.Any: - ... - -def _lil_fancy_set_int32_uint16() -> typing.Any: - ... - -def _lil_fancy_set_int32_uint32() -> typing.Any: - ... - -def _lil_fancy_set_int32_uint64() -> typing.Any: - ... - -def _lil_fancy_set_int32_uint8() -> typing.Any: - ... - -def _lil_fancy_set_int64_bool_() -> typing.Any: - ... - -def _lil_fancy_set_int64_clongdouble() -> typing.Any: - ... - -def _lil_fancy_set_int64_complex128() -> typing.Any: - ... - -def _lil_fancy_set_int64_complex64() -> typing.Any: - ... - -def _lil_fancy_set_int64_float32() -> typing.Any: - ... - -def _lil_fancy_set_int64_float64() -> typing.Any: - ... - -def _lil_fancy_set_int64_int16() -> typing.Any: - ... - -def _lil_fancy_set_int64_int32() -> typing.Any: - ... - -def _lil_fancy_set_int64_int64() -> typing.Any: - ... - -def _lil_fancy_set_int64_int8() -> typing.Any: - ... - -def _lil_fancy_set_int64_longdouble() -> typing.Any: - ... - -def _lil_fancy_set_int64_uint16() -> typing.Any: - ... - -def _lil_fancy_set_int64_uint32() -> typing.Any: - ... - -def _lil_fancy_set_int64_uint64() -> typing.Any: - ... - -def _lil_fancy_set_int64_uint8() -> typing.Any: - ... - -def _lil_flatten_to_array_bool_() -> typing.Any: - ... - -def _lil_flatten_to_array_clongdouble() -> typing.Any: - ... - -def _lil_flatten_to_array_complex128() -> typing.Any: - ... - -def _lil_flatten_to_array_complex64() -> typing.Any: - ... - -def _lil_flatten_to_array_float32() -> typing.Any: - ... - -def _lil_flatten_to_array_float64() -> typing.Any: - ... - -def _lil_flatten_to_array_int16() -> typing.Any: - ... - -def _lil_flatten_to_array_int32() -> typing.Any: - ... - -def _lil_flatten_to_array_int64() -> typing.Any: - ... - -def _lil_flatten_to_array_int8() -> typing.Any: - ... - -def _lil_flatten_to_array_longdouble() -> typing.Any: - ... - -def _lil_flatten_to_array_uint16() -> typing.Any: - ... - -def _lil_flatten_to_array_uint32() -> typing.Any: - ... - -def _lil_flatten_to_array_uint64() -> typing.Any: - ... - -def _lil_flatten_to_array_uint8() -> typing.Any: - ... - -def _lil_get_lengths_int32() -> typing.Any: - ... - -def _lil_get_lengths_int64() -> typing.Any: - ... - -def lil_fancy_get() -> typing.Any: - '\n Get multiple items at given indices in LIL matrix and store to\n another LIL.\n\n Parameters\n ----------\n M, N, rows, data\n LIL matrix data, initially empty\n new_rows, new_idx\n Data for LIL matrix to insert to.\n Must be preallocated to shape `i_idx.shape`!\n i_idx, j_idx\n Indices of elements to insert to the new LIL matrix.\n\n ' - ... - -def lil_fancy_set() -> typing.Any: - '\n Set multiple items to a LIL matrix.\n\n Checks for zero elements and deletes them.\n\n Parameters\n ----------\n M, N, rows, data\n LIL matrix data\n i_idx, j_idx\n Indices of elements to insert to the new LIL matrix.\n values\n Values of items to set.\n\n ' - ... - -def lil_flatten_to_array() -> typing.Any: - ... - -def lil_get1() -> typing.Any: - "\n Get a single item from LIL matrix.\n\n Doesn't do output type conversion. Checks for bounds errors.\n\n Parameters\n ----------\n M, N, rows, datas\n Shape and data arrays for a LIL matrix\n i, j : int\n Indices at which to get\n\n Returns\n -------\n x\n Value at indices.\n\n " - ... - -def lil_get_lengths() -> typing.Any: - ... - -def lil_get_row_ranges() -> typing.Any: - '\n Column-slicing fast path for LIL matrices.\n Extracts values from rows/datas and inserts in to\n new_rows/new_datas.\n Parameters\n ----------\n M, N\n Shape of input array\n rows, datas\n LIL data for input array, shape (M, N)\n new_rows, new_datas\n LIL data for output array, shape (len(irows), nj)\n irows : iterator\n Iterator yielding row indices\n j_start, j_stop, j_stride\n Column range(j_start, j_stop, j_stride) to get\n nj : int\n Number of columns corresponding to j_* variables.\n ' - ... - -def lil_insert() -> typing.Any: - '\n Insert a single item to LIL matrix.\n\n Checks for bounds errors and deletes item if x is zero.\n\n Parameters\n ----------\n M, N, rows, datas\n Shape and data arrays for a LIL matrix\n i, j : int\n Indices at which to get\n x\n Value to insert.\n\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/_sparsetools.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/_sparsetools.pyi deleted file mode 100644 index 4cce5c74..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/_sparsetools.pyi +++ /dev/null @@ -1,247 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.sparse._sparsetools, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def bsr_diagonal() -> typing.Any: - ... - -def bsr_eldiv_bsr() -> typing.Any: - ... - -def bsr_elmul_bsr() -> typing.Any: - ... - -def bsr_ge_bsr() -> typing.Any: - ... - -def bsr_gt_bsr() -> typing.Any: - ... - -def bsr_le_bsr() -> typing.Any: - ... - -def bsr_lt_bsr() -> typing.Any: - ... - -def bsr_matmat() -> typing.Any: - ... - -def bsr_matvec() -> typing.Any: - ... - -def bsr_matvecs() -> typing.Any: - ... - -def bsr_maximum_bsr() -> typing.Any: - ... - -def bsr_minimum_bsr() -> typing.Any: - ... - -def bsr_minus_bsr() -> typing.Any: - ... - -def bsr_ne_bsr() -> typing.Any: - ... - -def bsr_plus_bsr() -> typing.Any: - ... - -def bsr_scale_columns() -> typing.Any: - ... - -def bsr_scale_rows() -> typing.Any: - ... - -def bsr_sort_indices() -> typing.Any: - ... - -def bsr_tocsr() -> typing.Any: - ... - -def bsr_transpose() -> typing.Any: - ... - -def coo_matvec() -> typing.Any: - ... - -def coo_tocsr() -> typing.Any: - ... - -def coo_todense() -> typing.Any: - ... - -def cs_graph_components() -> typing.Any: - ... - -def csc_diagonal() -> typing.Any: - ... - -def csc_eldiv_csc() -> typing.Any: - ... - -def csc_elmul_csc() -> typing.Any: - ... - -def csc_ge_csc() -> typing.Any: - ... - -def csc_gt_csc() -> typing.Any: - ... - -def csc_le_csc() -> typing.Any: - ... - -def csc_lt_csc() -> typing.Any: - ... - -def csc_matmat() -> typing.Any: - ... - -def csc_matmat_maxnnz() -> typing.Any: - ... - -def csc_matvec() -> typing.Any: - ... - -def csc_matvecs() -> typing.Any: - ... - -def csc_maximum_csc() -> typing.Any: - ... - -def csc_minimum_csc() -> typing.Any: - ... - -def csc_minus_csc() -> typing.Any: - ... - -def csc_ne_csc() -> typing.Any: - ... - -def csc_plus_csc() -> typing.Any: - ... - -def csc_tocsr() -> typing.Any: - ... - -def csr_column_index1() -> typing.Any: - ... - -def csr_column_index2() -> typing.Any: - ... - -def csr_count_blocks() -> typing.Any: - ... - -def csr_diagonal() -> typing.Any: - ... - -def csr_eldiv_csr() -> typing.Any: - ... - -def csr_eliminate_zeros() -> typing.Any: - ... - -def csr_elmul_csr() -> typing.Any: - ... - -def csr_ge_csr() -> typing.Any: - ... - -def csr_gt_csr() -> typing.Any: - ... - -def csr_has_canonical_format() -> typing.Any: - ... - -def csr_has_sorted_indices() -> typing.Any: - ... - -def csr_le_csr() -> typing.Any: - ... - -def csr_lt_csr() -> typing.Any: - ... - -def csr_matmat() -> typing.Any: - ... - -def csr_matmat_maxnnz() -> typing.Any: - ... - -def csr_matvec() -> typing.Any: - ... - -def csr_matvecs() -> typing.Any: - ... - -def csr_maximum_csr() -> typing.Any: - ... - -def csr_minimum_csr() -> typing.Any: - ... - -def csr_minus_csr() -> typing.Any: - ... - -def csr_ne_csr() -> typing.Any: - ... - -def csr_plus_csr() -> typing.Any: - ... - -def csr_row_index() -> typing.Any: - ... - -def csr_row_slice() -> typing.Any: - ... - -def csr_sample_offsets() -> typing.Any: - ... - -def csr_sample_values() -> typing.Any: - ... - -def csr_scale_columns() -> typing.Any: - ... - -def csr_scale_rows() -> typing.Any: - ... - -def csr_sort_indices() -> typing.Any: - ... - -def csr_sum_duplicates() -> typing.Any: - ... - -def csr_tobsr() -> typing.Any: - ... - -def csr_tocsc() -> typing.Any: - ... - -def csr_todense() -> typing.Any: - ... - -def dia_matvec() -> typing.Any: - ... - -def expandptr() -> typing.Any: - ... - -def get_csr_submatrix() -> typing.Any: - ... - -def test_throw_error() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_flow.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_flow.pyi deleted file mode 100644 index 153326ae..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_flow.pyi +++ /dev/null @@ -1,68 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.sparse.csgraph._flow, version: unspecified -import typing -import builtins as _mod_builtins -import numpy as _mod_numpy -import scipy.sparse.csr as _mod_scipy_sparse_csr - -DTYPE = _mod_numpy.float64 -ITYPE = _mod_numpy.int32 -class MaximumFlowResult(_mod_builtins.object): - 'Represents the result of a maximum flow calculation.\n\n Attributes\n ----------\n flow_value : int\n The value of the maximum flow.\n residual : csr_matrix\n The residual graph with respect to the maximum flow.\n ' - __dict__: typing.Dict[str, typing.Any] - def __init__(self, flow_value, residual) -> None: - 'Represents the result of a maximum flow calculation.\n\n Attributes\n ----------\n flow_value : int\n The value of the maximum flow.\n residual : csr_matrix\n The residual graph with respect to the maximum flow.\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - def __repr__(self) -> str: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def _add_reverse_edges() -> typing.Any: - 'Add reversed edges to all edges in a graph.\n\n This adds to a given directed weighted graph all edges in the reverse\n direction and give them weight 0, unless they already exist.\n\n Parameters\n ----------\n a : csr_matrix\n The square matrix in CSR format representing a directed graph\n\n Returns\n -------\n res : csr_matrix\n A new matrix in CSR format in which the missing edges are represented\n by explicit zeros.\n\n ' - ... - -def _make_edge_pointers() -> typing.Any: - 'Create for each edge pointers to its reverse and its tail.' - ... - -csr_matrix = _mod_scipy_sparse_csr.csr_matrix -def isspmatrix_csr(x) -> typing.Any: - 'Is x of csr_matrix type?\n\n Parameters\n ----------\n x\n object to check for being a csr matrix\n\n Returns\n -------\n bool\n True if x is a csr matrix, False otherwise\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix, isspmatrix_csr\n >>> isspmatrix_csr(csr_matrix([[5]]))\n True\n\n >>> from scipy.sparse import csc_matrix, csr_matrix, isspmatrix_csc\n >>> isspmatrix_csr(csc_matrix([[5]]))\n False\n ' - ... - -def maximum_flow(csgraph, source, sink) -> typing.Any: - "\n maximum_flow(csgraph, source, sink)\n\n Maximize the flow between two vertices in a graph.\n\n .. versionadded:: 1.4.0\n\n Parameters\n ----------\n csgraph : csr_matrix\n The square matrix representing a directed graph whose (i, j)'th entry\n is an integer representing the capacity of the edge between\n vertices i and j.\n source : int\n The source vertex from which the flow flows.\n sink : int\n The sink vertex to which the flow flows.\n\n Returns\n -------\n res : MaximumFlowResult\n A maximum flow represented by a ``MaximumFlowResult``\n which includes the value of the flow in ``flow_value``,\n and the residual graph in ``residual``.\n\n Raises\n ------\n TypeError:\n if the input graph is not in CSR format.\n\n ValueError:\n if the capacity values are not integers, or the source or sink are out\n of bounds.\n\n Notes\n -----\n This solves the maximum flow problem on a given directed weighted graph:\n A flow associates to every edge a value, also called a flow, less than the\n capacity of the edge, so that for every vertex (apart from the source and\n the sink vertices), the total incoming flow is equal to the total outgoing\n flow. The value of a flow is the sum of the flow of all edges leaving the\n source vertex, and the maximum flow problem consists of finding a flow\n whose value is maximal.\n\n By the max-flow min-cut theorem, the maximal value of the flow is also the\n total weight of the edges in a minimum cut.\n\n To solve the problem, we use the Edmonds--Karp algorithm. [1]_ This\n particular implementation strives to exploit sparsity. Its time complexity\n is :math:`O(VE^2)` and its space complexity is :math:`O(E)`.\n\n The maximum flow problem is usually defined with real valued capacities,\n but we require that all capacities are integral to ensure convergence. When\n dealing with rational capacities, or capacities belonging to\n :math:`x\\mathbb{Q}` for some fixed :math:`x \\in \\mathbb{R}`, it is possible\n to reduce the problem to the integral case by scaling all capacities\n accordingly.\n\n Solving a maximum-flow problem can be used for example for graph cuts\n optimization in computer vision [3]_.\n\n References\n ----------\n .. [1] Edmonds, J. and Karp, R. M.\n Theoretical improvements in algorithmic efficiency for network flow\n problems. 1972. Journal of the ACM. 19 (2): pp. 248-264\n .. [2] Cormen, T. H. and Leiserson, C. E. and Rivest, R. L. and Stein C.\n Introduction to Algorithms. Second Edition. 2001. MIT Press.\n .. [3] https://en.wikipedia.org/wiki/Graph_cuts_in_computer_vision\n\n Examples\n --------\n Perhaps the simplest flow problem is that of a graph of only two vertices\n with an edge from source (0) to sink (1)::\n\n (0) --5--> (1)\n\n Here, the maximum flow is simply the capacity of the edge:\n\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import maximum_flow\n >>> graph = csr_matrix([[0, 5], [0, 0]])\n >>> maximum_flow(graph, 0, 1).flow_value\n 5\n\n If, on the other hand, there is a bottleneck between source and sink, that\n can reduce the maximum flow::\n\n (0) --5--> (1) --3--> (2)\n\n >>> graph = csr_matrix([[0, 5, 0], [0, 0, 3], [0, 0, 0]])\n >>> maximum_flow(graph, 0, 2).flow_value\n 3\n\n A less trivial example is given in [2]_, Chapter 26.1:\n\n >>> graph = csr_matrix([[0, 16, 13, 0, 0, 0],\n ... [0, 10, 0, 12, 0, 0],\n ... [0, 4, 0, 0, 14, 0],\n ... [0, 0, 9, 0, 0, 20],\n ... [0, 0, 0, 7, 0, 4],\n ... [0, 0, 0, 0, 0, 0]])\n >>> maximum_flow(graph, 0, 5).flow_value\n 23\n\n It is possible to reduce the problem of finding a maximum matching in a\n bipartite graph to a maximum flow problem: Let :math:`G = ((U, V), E)` be a\n bipartite graph. Then, add to the graph a source vertex with edges to every\n vertex in :math:`U` and a sink vertex with edges from every vertex in\n :math:`V`. Finally, give every edge in the resulting graph a capacity of 1.\n Then, a maximum flow in the new graph gives a maximum matching in the\n original graph consisting of the edges in :math:`E` whose flow is positive.\n\n Assume that the edges are represented by a\n :math:`\\lvert U \\rvert \\times \\lvert V \\rvert` matrix in CSR format whose\n :math:`(i, j)`'th entry is 1 if there is an edge from :math:`i \\in U` to\n :math:`j \\in V` and 0 otherwise; that is, the input is of the form required\n by :func:`maximum_bipartite_matching`. Then the CSR representation of the\n graph constructed above contains this matrix as a block. Here's an example:\n\n >>> graph = csr_matrix([[0, 1, 0, 1], [1, 0, 1, 0], [0, 1, 1, 0]])\n >>> print(graph.toarray())\n [[0 1 0 1]\n [1 0 1 0]\n [0 1 1 0]]\n >>> i, j = graph.shape\n >>> n = graph.nnz\n >>> indptr = np.concatenate([[0],\n ... graph.indptr + i,\n ... np.arange(n + i + 1, n + i + j + 1),\n ... [n + i + j]])\n >>> indices = np.concatenate([np.arange(1, i + 1),\n ... graph.indices + i + 1,\n ... np.repeat(i + j + 1, j)])\n >>> data = np.ones(n + i + j, dtype=int)\n >>>\n >>> graph_flow = csr_matrix((data, indices, indptr))\n >>> print(graph_flow.toarray())\n [[0 1 1 1 0 0 0 0 0]\n [0 0 0 0 0 1 0 1 0]\n [0 0 0 0 1 0 1 0 0]\n [0 0 0 0 0 1 1 0 0]\n [0 0 0 0 0 0 0 0 1]\n [0 0 0 0 0 0 0 0 1]\n [0 0 0 0 0 0 0 0 1]\n [0 0 0 0 0 0 0 0 1]\n [0 0 0 0 0 0 0 0 0]]\n\n At this point, we can find the maximum flow between the added sink and the\n added source and the desired matching can be obtained by restricting the\n residual graph to the block corresponding to the original graph:\n\n >>> flow = maximum_flow(graph_flow, 0, i+j+1)\n >>> matching = flow.residual[1:i+1, i+1:i+j+1]\n >>> print(matching.toarray())\n [[0 1 0 0]\n [1 0 0 0]\n [0 0 1 0]]\n\n This tells us that the first, second, and third vertex in :math:`U` are\n matched with the second, first, and third vertex in :math:`V` respectively.\n\n While this solves the maximum bipartite matching problem in general, note\n that algorithms specialized to that problem, such as\n :func:`maximum_bipartite_matching`, will generally perform better.\n\n This approach can also be used to solve various common generalizations of\n the maximum bipartite matching problem. If, for instance, some vertices can\n be matched with more than one other vertex, this may be handled by\n modifying the capacities of the new graph appropriately.\n\n " - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_matching.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_matching.pyi deleted file mode 100644 index 4f29d871..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_matching.pyi +++ /dev/null @@ -1,43 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.sparse.csgraph._matching, version: unspecified -import typing -import builtins as _mod_builtins -import numpy as _mod_numpy -import scipy.sparse.csr as _mod_scipy_sparse_csr - -BTYPE = _mod_numpy.uint8 -DTYPE = _mod_numpy.float64 -ITYPE = _mod_numpy.int32 -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -csr_matrix = _mod_scipy_sparse_csr.csr_matrix -def isspmatrix_coo(x) -> typing.Any: - 'Is x of coo_matrix type?\n\n Parameters\n ----------\n x\n object to check for being a coo matrix\n\n Returns\n -------\n bool\n True if x is a coo matrix, False otherwise\n\n Examples\n --------\n >>> from scipy.sparse import coo_matrix, isspmatrix_coo\n >>> isspmatrix_coo(coo_matrix([[5]]))\n True\n\n >>> from scipy.sparse import coo_matrix, csr_matrix, isspmatrix_coo\n >>> isspmatrix_coo(csr_matrix([[5]]))\n False\n ' - ... - -def isspmatrix_csc(x) -> typing.Any: - 'Is x of csc_matrix type?\n\n Parameters\n ----------\n x\n object to check for being a csc matrix\n\n Returns\n -------\n bool\n True if x is a csc matrix, False otherwise\n\n Examples\n --------\n >>> from scipy.sparse import csc_matrix, isspmatrix_csc\n >>> isspmatrix_csc(csc_matrix([[5]]))\n True\n\n >>> from scipy.sparse import csc_matrix, csr_matrix, isspmatrix_csc\n >>> isspmatrix_csc(csr_matrix([[5]]))\n False\n ' - ... - -def isspmatrix_csr(x) -> typing.Any: - 'Is x of csr_matrix type?\n\n Parameters\n ----------\n x\n object to check for being a csr matrix\n\n Returns\n -------\n bool\n True if x is a csr matrix, False otherwise\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix, isspmatrix_csr\n >>> isspmatrix_csr(csr_matrix([[5]]))\n True\n\n >>> from scipy.sparse import csc_matrix, csr_matrix, isspmatrix_csc\n >>> isspmatrix_csr(csc_matrix([[5]]))\n False\n ' - ... - -def maximum_bipartite_matching(graph, perm_type=...) -> typing.Any: - '\n maximum_bipartite_matching(graph, perm_type=\'row\')\n\n Returns a matching of a bipartite graph whose cardinality is as least that\n of any given matching of the graph.\n\n Parameters\n ----------\n graph : sparse matrix\n Input sparse in CSR format whose rows represent one partition of the\n graph and whose columns represent the other partition. An edge between\n two vertices is indicated by the corresponding entry in the matrix\n existing in its sparse representation.\n perm_type : str, {\'row\', \'column\'}\n Which partition to return the matching in terms of: If ``\'row\'``, the\n function produces an array whose length is the number of columns in the\n input, and whose :math:`j`\'th element is the row matched to the\n :math:`j`\'th column. Conversely, if ``perm_type`` is ``\'column\'``, this\n returns the columns matched to each row.\n\n Returns\n -------\n perm : ndarray\n A matching of the vertices in one of the two partitions. Unmatched\n vertices are represented by a ``-1`` in the result.\n\n Notes\n -----\n This function implements the Hopcroft--Karp algorithm [1]_. Its time\n complexity is :math:`O(\\lvert E \\rvert \\sqrt{\\lvert V \\rvert})`, and its\n space complexity is linear in the number of rows. In practice, this\n asymmetry between rows and columns means that it can be more efficient to\n transpose the input if it contains more columns than rows.\n\n By Konig\'s theorem, the cardinality of the matching is also the number of\n vertices appearing in a minimum vertex cover of the graph.\n\n Note that if the sparse representation contains explicit zeros, these are\n still counted as edges.\n\n The implementation was changed in SciPy 1.4.0 to allow matching of general\n bipartite graphs, where previous versions would assume that a perfect\n matching existed. As such, code written against 1.4.0 will not necessarily\n work on older versions.\n\n References\n ----------\n .. [1] John E. Hopcroft and Richard M. Karp. "An n^{5 / 2} Algorithm for\n Maximum Matchings in Bipartite Graphs" In: SIAM Journal of Computing\n 2.4 (1973), pp. 225--231. :doi:`10.1137/0202019`\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import maximum_bipartite_matching\n\n As a simple example, consider a bipartite graph in which the partitions\n contain 2 and 3 elements respectively. Suppose that one partition contains\n vertices labelled 0 and 1, and that the other partition contains vertices\n labelled A, B, and C. Suppose that there are edges connecting 0 and C,\n 1 and A, and 1 and B. This graph would then be represented by the following\n sparse matrix:\n\n >>> graph = csr_matrix([[0, 0, 1], [1, 1, 0]])\n\n Here, the 1s could be anything, as long as they end up being stored as\n elements in the sparse matrix. We can now calculate maximum matchings as\n follows:\n\n >>> print(maximum_bipartite_matching(graph, perm_type=\'column\'))\n [2 0]\n >>> print(maximum_bipartite_matching(graph, perm_type=\'row\'))\n [ 1 -1 0]\n\n The first output tells us that 1 and 2 are matched with C and A\n respectively, and the second output tells us that A, B, and C are matched\n with 1, nothing, and 0 respectively.\n\n Note that explicit zeros are still converted to edges. This means that a\n different way to represent the above graph is by using the CSR structure\n directly as follows:\n\n >>> data = [0, 0, 0]\n >>> indices = [2, 0, 1]\n >>> indptr = [0, 1, 3]\n >>> graph = csr_matrix((data, indices, indptr))\n >>> print(maximum_bipartite_matching(graph, perm_type=\'column\'))\n [2 0]\n >>> print(maximum_bipartite_matching(graph, perm_type=\'row\'))\n [ 1 -1 0]\n\n When one or both of the partitions are empty, the matching is empty as\n well:\n\n >>> graph = csr_matrix((2, 0))\n >>> print(maximum_bipartite_matching(graph, perm_type=\'column\'))\n [-1 -1]\n >>> print(maximum_bipartite_matching(graph, perm_type=\'row\'))\n []\n\n When the input matrix is square, and the graph is known to admit a perfect\n matching, i.e. a matching with the property that every vertex in the graph\n belongs to some edge in the matching, then one can view the output as the\n permutation of rows (or columns) turning the input matrix into one with the\n property that all diagonal elements are non-empty:\n\n >>> a = [[0, 1, 2, 0], [1, 0, 0, 1], [2, 0, 0, 3], [0, 1, 3, 0]]\n >>> graph = csr_matrix(a)\n >>> perm = maximum_bipartite_matching(graph, perm_type=\'row\')\n >>> print(graph[perm].toarray())\n [[1 0 0 1]\n [0 1 2 0]\n [0 1 3 0]\n [2 0 0 3]]\n\n ' - ... - -def min_weight_full_bipartite_matching(biadjacency_matrix, maximize=...) -> typing.Any: - '\n min_weight_full_bipartite_matching(biadjacency_matrix, maximize=False)\n\n Returns the minimum weight full matching of a bipartite graph.\n\n .. versionadded:: 1.6.0\n\n Parameters\n ----------\n biadjacency_matrix : sparse matrix\n Biadjacency matrix of the bipartite graph: A sparse matrix in CSR, CSC,\n or COO format whose rows represent one partition of the graph and whose\n columns represent the other partition. An edge between two vertices is\n indicated by the corresponding entry in the matrix, and the weight of\n the edge is given by the value of that entry. This should not be\n confused with the full adjacency matrix of the graph, as we only need\n the submatrix defining the bipartite structure.\n\n maximize : bool (default: False)\n Calculates a maximum weight matching if true.\n\n Returns\n -------\n row_ind, col_ind : array\n An array of row indices and one of corresponding column indices giving\n the optimal matching. The total weight of the matching can be computed\n as ``graph[row_ind, col_ind].sum()``. The row indices will be\n sorted; in the case of a square matrix they will be equal to\n ``numpy.arange(graph.shape[0])``.\n\n Notes\n -----\n\n Let :math:`G = ((U, V), E)` be a weighted bipartite graph with non-zero\n weights :math:`w : E \\to \\mathbb{R} \\setminus \\{0\\}`. This function then\n produces a matching :math:`M \\subseteq E` with cardinality\n\n .. math::\n \\lvert M \\rvert = \\min(\\lvert U \\rvert, \\lvert V \\rvert),\n\n which minimizes the sum of the weights of the edges included in the\n matching, :math:`\\sum_{e \\in M} w(e)`, or raises an error if no such\n matching exists.\n\n When :math:`\\lvert U \\rvert = \\lvert V \\rvert`, this is commonly\n referred to as a perfect matching; here, since we allow\n :math:`\\lvert U \\rvert` and :math:`\\lvert V \\rvert` to differ, we\n follow Karp [1]_ and refer to the matching as *full*.\n\n This function implements the LAPJVsp algorithm [2]_, short for "Linear\n assignment problem, Jonker--Volgenant, sparse".\n\n The problem it solves is equivalent to the rectangular linear assignment\n problem. [3]_ As such, this function can be used to solve the same problems\n as :func:`scipy.optimize.linear_sum_assignment`. That function may perform\n better when the input is dense, or for certain particular types of inputs,\n such as those for which the :math:`(i, j)`\'th entry is the distance between\n two points in Euclidean space.\n\n If no full matching exists, this function raises a ``ValueError``. For\n determining the size of the largest matching in the graph, see\n :func:`maximum_bipartite_matching`.\n\n We require that weights are non-zero only to avoid issues with the handling\n of explicit zeros when converting between different sparse representations.\n Zero weights can be handled by adding a constant to all weights, so that\n the resulting matrix contains no zeros.\n\n References\n ----------\n .. [1] Richard Manning Karp:\n An algorithm to Solve the m x n Assignment Problem in Expected Time\n O(mn log n).\n Networks, 10(2):143-152, 1980.\n .. [2] Roy Jonker and Anton Volgenant:\n A Shortest Augmenting Path Algorithm for Dense and Sparse Linear\n Assignment Problems.\n Computing 38:325-340, 1987.\n .. [3] https://en.wikipedia.org/wiki/Assignment_problem\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import min_weight_full_bipartite_matching\n\n Let us first consider an example in which all weights are equal:\n\n >>> biadjacency_matrix = csr_matrix([[1, 1, 1], [1, 0, 0], [0, 1, 0]])\n\n Here, all we get is a perfect matching of the graph:\n\n >>> print(min_weight_full_bipartite_matching(biadjacency_matrix)[1])\n [2 0 1]\n\n That is, the first, second, and third rows are matched with the third,\n first, and second column respectively. Note that in this example, the 0\n in the input matrix does *not* correspond to an edge with weight 0, but\n rather a pair of vertices not paired by an edge.\n\n Note also that in this case, the output matches the result of applying\n :func:`maximum_bipartite_matching`:\n\n >>> from scipy.sparse.csgraph import maximum_bipartite_matching\n >>> biadjacency = csr_matrix([[1, 1, 1], [1, 0, 0], [0, 1, 0]])\n >>> print(maximum_bipartite_matching(biadjacency, perm_type=\'column\'))\n [2 0 1]\n\n When multiple edges are available, the ones with lowest weights are\n preferred:\n\n >>> biadjacency = csr_matrix([[3, 3, 6], [4, 3, 5], [10, 1, 8]])\n >>> row_ind, col_ind = min_weight_full_bipartite_matching(biadjacency)\n >>> print(col_ind)\n [0 2 1]\n\n The total weight in this case is :math:`3 + 5 + 1 = 9`:\n\n >>> print(biadjacency[row_ind, col_ind].sum())\n 9\n\n When the matrix is not square, i.e. when the two partitions have different\n cardinalities, the matching is as large as the smaller of the two\n partitions:\n\n >>> biadjacency = csr_matrix([[0, 1, 1], [0, 2, 3]])\n >>> row_ind, col_ind = min_weight_full_bipartite_matching(biadjacency)\n >>> print(row_ind, col_ind)\n [0 1] [2 1]\n >>> biadjacency = csr_matrix([[0, 1], [3, 1], [1, 4]])\n >>> row_ind, col_ind = min_weight_full_bipartite_matching(biadjacency)\n >>> print(row_ind, col_ind)\n [0 2] [1 0]\n\n When one or both of the partitions are empty, the matching is empty as\n well:\n\n >>> biadjacency = csr_matrix((2, 0))\n >>> row_ind, col_ind = min_weight_full_bipartite_matching(biadjacency)\n >>> print(row_ind, col_ind)\n [] []\n\n In general, we will always reach the same sum of weights as if we had used\n :func:`scipy.optimize.linear_sum_assignment` but note that for that one,\n missing edges are represented by a matrix entry of ``float(\'inf\')``. Let us\n generate a random sparse matrix with integer entries between 1 and 10:\n\n >>> import numpy as np\n >>> from scipy.sparse import random\n >>> from scipy.optimize import linear_sum_assignment\n >>> sparse = random(10, 10, random_state=42, density=.5, format=\'coo\') * 10\n >>> sparse.data = np.ceil(sparse.data)\n >>> dense = sparse.toarray()\n >>> dense = np.full(sparse.shape, np.inf)\n >>> dense[sparse.row, sparse.col] = sparse.data\n >>> sparse = sparse.tocsr()\n >>> row_ind, col_ind = linear_sum_assignment(dense)\n >>> print(dense[row_ind, col_ind].sum())\n 28.0\n >>> row_ind, col_ind = min_weight_full_bipartite_matching(sparse)\n >>> print(sparse[row_ind, col_ind].sum())\n 28.0\n\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_min_spanning_tree.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_min_spanning_tree.pyi deleted file mode 100644 index 5ccf51aa..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_min_spanning_tree.pyi +++ /dev/null @@ -1,38 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.sparse.csgraph._min_spanning_tree, version: unspecified -import typing -import builtins as _mod_builtins -import numpy as _mod_numpy -import scipy.sparse.csr as _mod_scipy_sparse_csr - -DTYPE = _mod_numpy.float64 -ITYPE = _mod_numpy.int32 -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -csr_matrix = _mod_scipy_sparse_csr.csr_matrix -def isspmatrix(x) -> typing.Any: - 'Is x of a sparse matrix type?\n\n Parameters\n ----------\n x\n object to check for being a sparse matrix\n\n Returns\n -------\n bool\n True if x is a sparse matrix, False otherwise\n\n Notes\n -----\n issparse and isspmatrix are aliases for the same function.\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix, isspmatrix\n >>> isspmatrix(csr_matrix([[5]]))\n True\n\n >>> from scipy.sparse import isspmatrix\n >>> isspmatrix(5)\n False\n ' - ... - -def isspmatrix_csc(x) -> typing.Any: - 'Is x of csc_matrix type?\n\n Parameters\n ----------\n x\n object to check for being a csc matrix\n\n Returns\n -------\n bool\n True if x is a csc matrix, False otherwise\n\n Examples\n --------\n >>> from scipy.sparse import csc_matrix, isspmatrix_csc\n >>> isspmatrix_csc(csc_matrix([[5]]))\n True\n\n >>> from scipy.sparse import csc_matrix, csr_matrix, isspmatrix_csc\n >>> isspmatrix_csc(csr_matrix([[5]]))\n False\n ' - ... - -def minimum_spanning_tree(csgraph, overwrite=...) -> typing.Any: - '\n minimum_spanning_tree(csgraph, overwrite=False)\n\n Return a minimum spanning tree of an undirected graph\n\n A minimum spanning tree is a graph consisting of the subset of edges\n which together connect all connected nodes, while minimizing the total\n sum of weights on the edges. This is computed using the Kruskal algorithm.\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n csgraph : array_like or sparse matrix, 2 dimensions\n The N x N matrix representing an undirected graph over N nodes\n (see notes below).\n overwrite : bool, optional\n if true, then parts of the input graph will be overwritten for\n efficiency.\n\n Returns\n -------\n span_tree : csr matrix\n The N x N compressed-sparse representation of the undirected minimum\n spanning tree over the input (see notes below).\n\n Notes\n -----\n This routine uses undirected graphs as input and output. That is, if\n graph[i, j] and graph[j, i] are both zero, then nodes i and j do not\n have an edge connecting them. If either is nonzero, then the two are\n connected by the minimum nonzero value of the two.\n\n This routine loses precision when users input a dense matrix.\n Small elements < 1E-8 of the dense matrix are rounded to zero.\n All users should input sparse matrices if possible to avoid it.\n\n\n Examples\n --------\n The following example shows the computation of a minimum spanning tree\n over a simple four-component graph::\n\n input graph minimum spanning tree\n\n (0) (0)\n / \\ /\n 3 8 3\n / \\ /\n (3)---5---(1) (3)---5---(1)\n \\ / /\n 6 2 2\n \\ / /\n (2) (2)\n\n It is easy to see from inspection that the minimum spanning tree involves\n removing the edges with weights 8 and 6. In compressed sparse\n representation, the solution looks like this:\n\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import minimum_spanning_tree\n >>> X = csr_matrix([[0, 8, 0, 3],\n ... [0, 0, 2, 5],\n ... [0, 0, 0, 6],\n ... [0, 0, 0, 0]])\n >>> Tcsr = minimum_spanning_tree(X)\n >>> Tcsr.toarray().astype(int)\n array([[0, 0, 0, 3],\n [0, 0, 2, 5],\n [0, 0, 0, 0],\n [0, 0, 0, 0]])\n ' - ... - -def validate_graph(csgraph, directed, dtype, csr_output, dense_output, copy_if_dense, copy_if_sparse, null_value_in, null_value_out, infinity_null, nan_null) -> typing.Any: - 'Routine for validation and conversion of csgraph inputs' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_reordering.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_reordering.pyi deleted file mode 100644 index 053a11e0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_reordering.pyi +++ /dev/null @@ -1,62 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.sparse.csgraph._reordering, version: unspecified -import typing -import builtins as _mod_builtins -import numpy as _mod_numpy -import scipy.sparse.base as _mod_scipy_sparse_base -import scipy.sparse.csc as _mod_scipy_sparse_csc -import scipy.sparse.csr as _mod_scipy_sparse_csr - -DTYPE = _mod_numpy.float64 -ITYPE = _mod_numpy.int32 -SparseEfficiencyWarning = _mod_scipy_sparse_base.SparseEfficiencyWarning -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def _reverse_cuthill_mckee(ind, ptr, num_rows) -> typing.Any: - '\n Reverse Cuthill-McKee ordering of a sparse symmetric CSR or CSC matrix. \n We follow the original Cuthill-McKee paper and always start the routine\n at a node of lowest degree for each connected component.\n ' - ... - -csc_matrix = _mod_scipy_sparse_csc.csc_matrix -csr_matrix = _mod_scipy_sparse_csr.csr_matrix -def isspmatrix(x) -> typing.Any: - 'Is x of a sparse matrix type?\n\n Parameters\n ----------\n x\n object to check for being a sparse matrix\n\n Returns\n -------\n bool\n True if x is a sparse matrix, False otherwise\n\n Notes\n -----\n issparse and isspmatrix are aliases for the same function.\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix, isspmatrix\n >>> isspmatrix(csr_matrix([[5]]))\n True\n\n >>> from scipy.sparse import isspmatrix\n >>> isspmatrix(5)\n False\n ' - ... - -def isspmatrix_coo(x) -> typing.Any: - 'Is x of coo_matrix type?\n\n Parameters\n ----------\n x\n object to check for being a coo matrix\n\n Returns\n -------\n bool\n True if x is a coo matrix, False otherwise\n\n Examples\n --------\n >>> from scipy.sparse import coo_matrix, isspmatrix_coo\n >>> isspmatrix_coo(coo_matrix([[5]]))\n True\n\n >>> from scipy.sparse import coo_matrix, csr_matrix, isspmatrix_coo\n >>> isspmatrix_coo(csr_matrix([[5]]))\n False\n ' - ... - -def isspmatrix_csc(x) -> typing.Any: - 'Is x of csc_matrix type?\n\n Parameters\n ----------\n x\n object to check for being a csc matrix\n\n Returns\n -------\n bool\n True if x is a csc matrix, False otherwise\n\n Examples\n --------\n >>> from scipy.sparse import csc_matrix, isspmatrix_csc\n >>> isspmatrix_csc(csc_matrix([[5]]))\n True\n\n >>> from scipy.sparse import csc_matrix, csr_matrix, isspmatrix_csc\n >>> isspmatrix_csc(csr_matrix([[5]]))\n False\n ' - ... - -def isspmatrix_csr(x) -> typing.Any: - 'Is x of csr_matrix type?\n\n Parameters\n ----------\n x\n object to check for being a csr matrix\n\n Returns\n -------\n bool\n True if x is a csr matrix, False otherwise\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix, isspmatrix_csr\n >>> isspmatrix_csr(csr_matrix([[5]]))\n True\n\n >>> from scipy.sparse import csc_matrix, csr_matrix, isspmatrix_csc\n >>> isspmatrix_csr(csc_matrix([[5]]))\n False\n ' - ... - -def maximum_bipartite_matching(graph, perm_type=...) -> typing.Any: - '\n maximum_bipartite_matching(graph, perm_type=\'row\')\n\n Returns a matching of a bipartite graph whose cardinality is as least that\n of any given matching of the graph.\n\n Parameters\n ----------\n graph : sparse matrix\n Input sparse in CSR format whose rows represent one partition of the\n graph and whose columns represent the other partition. An edge between\n two vertices is indicated by the corresponding entry in the matrix\n existing in its sparse representation.\n perm_type : str, {\'row\', \'column\'}\n Which partition to return the matching in terms of: If ``\'row\'``, the\n function produces an array whose length is the number of columns in the\n input, and whose :math:`j`\'th element is the row matched to the\n :math:`j`\'th column. Conversely, if ``perm_type`` is ``\'column\'``, this\n returns the columns matched to each row.\n\n Returns\n -------\n perm : ndarray\n A matching of the vertices in one of the two partitions. Unmatched\n vertices are represented by a ``-1`` in the result.\n\n Notes\n -----\n This function implements the Hopcroft--Karp algorithm [1]_. Its time\n complexity is :math:`O(\\lvert E \\rvert \\sqrt{\\lvert V \\rvert})`, and its\n space complexity is linear in the number of rows. In practice, this\n asymmetry between rows and columns means that it can be more efficient to\n transpose the input if it contains more columns than rows.\n\n By Konig\'s theorem, the cardinality of the matching is also the number of\n vertices appearing in a minimum vertex cover of the graph.\n\n Note that if the sparse representation contains explicit zeros, these are\n still counted as edges.\n\n The implementation was changed in SciPy 1.4.0 to allow matching of general\n bipartite graphs, where previous versions would assume that a perfect\n matching existed. As such, code written against 1.4.0 will not necessarily\n work on older versions.\n\n References\n ----------\n .. [1] John E. Hopcroft and Richard M. Karp. "An n^{5 / 2} Algorithm for\n Maximum Matchings in Bipartite Graphs" In: SIAM Journal of Computing\n 2.4 (1973), pp. 225--231. :doi:`10.1137/0202019`\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import maximum_bipartite_matching\n\n As a simple example, consider a bipartite graph in which the partitions\n contain 2 and 3 elements respectively. Suppose that one partition contains\n vertices labelled 0 and 1, and that the other partition contains vertices\n labelled A, B, and C. Suppose that there are edges connecting 0 and C,\n 1 and A, and 1 and B. This graph would then be represented by the following\n sparse matrix:\n\n >>> graph = csr_matrix([[0, 0, 1], [1, 1, 0]])\n\n Here, the 1s could be anything, as long as they end up being stored as\n elements in the sparse matrix. We can now calculate maximum matchings as\n follows:\n\n >>> print(maximum_bipartite_matching(graph, perm_type=\'column\'))\n [2 0]\n >>> print(maximum_bipartite_matching(graph, perm_type=\'row\'))\n [ 1 -1 0]\n\n The first output tells us that 1 and 2 are matched with C and A\n respectively, and the second output tells us that A, B, and C are matched\n with 1, nothing, and 0 respectively.\n\n Note that explicit zeros are still converted to edges. This means that a\n different way to represent the above graph is by using the CSR structure\n directly as follows:\n\n >>> data = [0, 0, 0]\n >>> indices = [2, 0, 1]\n >>> indptr = [0, 1, 3]\n >>> graph = csr_matrix((data, indices, indptr))\n >>> print(maximum_bipartite_matching(graph, perm_type=\'column\'))\n [2 0]\n >>> print(maximum_bipartite_matching(graph, perm_type=\'row\'))\n [ 1 -1 0]\n\n When one or both of the partitions are empty, the matching is empty as\n well:\n\n >>> graph = csr_matrix((2, 0))\n >>> print(maximum_bipartite_matching(graph, perm_type=\'column\'))\n [-1 -1]\n >>> print(maximum_bipartite_matching(graph, perm_type=\'row\'))\n []\n\n When the input matrix is square, and the graph is known to admit a perfect\n matching, i.e. a matching with the property that every vertex in the graph\n belongs to some edge in the matching, then one can view the output as the\n permutation of rows (or columns) turning the input matrix into one with the\n property that all diagonal elements are non-empty:\n\n >>> a = [[0, 1, 2, 0], [1, 0, 0, 1], [2, 0, 0, 3], [0, 1, 3, 0]]\n >>> graph = csr_matrix(a)\n >>> perm = maximum_bipartite_matching(graph, perm_type=\'row\')\n >>> print(graph[perm].toarray())\n [[1 0 0 1]\n [0 1 2 0]\n [0 1 3 0]\n [2 0 0 3]]\n\n ' - ... - -def reverse_cuthill_mckee(graph, symmetric_mode=...) -> typing.Any: - '\n reverse_cuthill_mckee(graph, symmetric_mode=False)\n \n Returns the permutation array that orders a sparse CSR or CSC matrix\n in Reverse-Cuthill McKee ordering. \n \n It is assumed by default, ``symmetric_mode=False``, that the input matrix \n is not symmetric and works on the matrix ``A+A.T``. If you are \n guaranteed that the matrix is symmetric in structure (values of matrix \n elements do not matter) then set ``symmetric_mode=True``.\n \n Parameters\n ----------\n graph : sparse matrix\n Input sparse in CSC or CSR sparse matrix format.\n symmetric_mode : bool, optional\n Is input matrix guaranteed to be symmetric.\n\n Returns\n -------\n perm : ndarray\n Array of permuted row and column indices.\n \n Notes\n -----\n .. versionadded:: 0.15.0\n\n References\n ----------\n E. Cuthill and J. McKee, "Reducing the Bandwidth of Sparse Symmetric Matrices",\n ACM \'69 Proceedings of the 1969 24th national conference, (1969).\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import reverse_cuthill_mckee\n\n >>> graph = [\n ... [0, 1 , 2, 0],\n ... [0, 0, 0, 1],\n ... [2, 0, 0, 3],\n ... [0, 0, 0, 0]\n ... ]\n >>> graph = csr_matrix(graph)\n >>> print(graph)\n (0, 1)\t1\n (0, 2)\t2\n (1, 3)\t1\n (2, 0)\t2\n (2, 3)\t3\n\n >>> reverse_cuthill_mckee(graph)\n array([3, 2, 1, 0], dtype=int32)\n \n ' - ... - -def structural_rank(graph) -> typing.Any: - '\n structural_rank(graph)\n \n Compute the structural rank of a graph (matrix) with a given \n sparsity pattern.\n\n The structural rank of a matrix is the number of entries in the maximum \n transversal of the corresponding bipartite graph, and is an upper bound \n on the numerical rank of the matrix. A graph has full structural rank \n if it is possible to permute the elements to make the diagonal zero-free.\n\n .. versionadded:: 0.19.0\n\n Parameters\n ----------\n graph : sparse matrix\n Input sparse matrix.\n\n Returns\n -------\n rank : int\n The structural rank of the sparse graph.\n \n References\n ----------\n .. [1] I. S. Duff, "Computing the Structural Index", SIAM J. Alg. Disc. \n Meth., Vol. 7, 594 (1986).\n \n .. [2] http://www.cise.ufl.edu/research/sparse/matrices/legend.html\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import structural_rank\n\n >>> graph = [\n ... [0, 1, 2, 0],\n ... [1, 0, 0, 1],\n ... [2, 0, 0, 3],\n ... [0, 1, 3, 0]\n ... ]\n >>> graph = csr_matrix(graph)\n >>> print(graph)\n (0, 1)\t1\n (0, 2)\t2\n (1, 0)\t1\n (1, 3)\t1\n (2, 0)\t2\n (2, 3)\t3\n (3, 1)\t1\n (3, 2)\t3\n\n >>> structural_rank(graph)\n 4\n\n ' - ... - -def warn(message, category, stacklevel, source) -> typing.Any: - 'Issue a warning, or maybe ignore it or raise an exception.' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_shortest_path.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_shortest_path.pyi deleted file mode 100644 index 3bf73942..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_shortest_path.pyi +++ /dev/null @@ -1,83 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.sparse.csgraph._shortest_path, version: unspecified -import typing -import builtins as _mod_builtins -import numpy as _mod_numpy -import scipy.sparse.csr as _mod_scipy_sparse_csr - -DTYPE = _mod_numpy.float64 -ITYPE = _mod_numpy.int32 -class NegativeCycleError(_mod_builtins.Exception): - __dict__: typing.Dict[str, typing.Any] - def __init__(self, message) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: str -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def bellman_ford(csgraph, directed=..., indices=..., return_predecessors=..., unweighted=...) -> typing.Any: - "\n bellman_ford(csgraph, directed=True, indices=None, return_predecessors=False,\n unweighted=False)\n\n Compute the shortest path lengths using the Bellman-Ford algorithm.\n\n The Bellman-Ford algorithm can robustly deal with graphs with negative\n weights. If a negative cycle is detected, an error is raised. For\n graphs without negative edge weights, Dijkstra's algorithm may be faster.\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n csgraph : array, matrix, or sparse matrix, 2 dimensions\n The N x N array of distances representing the input graph.\n directed : bool, optional\n If True (default), then find the shortest path on a directed graph:\n only move from point i to point j along paths csgraph[i, j].\n If False, then find the shortest path on an undirected graph: the\n algorithm can progress from point i to j along csgraph[i, j] or\n csgraph[j, i]\n indices : array_like or int, optional\n if specified, only compute the paths from the points at the given\n indices.\n return_predecessors : bool, optional\n If True, return the size (N, N) predecesor matrix\n unweighted : bool, optional\n If True, then find unweighted distances. That is, rather than finding\n the path between each point such that the sum of weights is minimized,\n find the path such that the number of edges is minimized.\n\n Returns\n -------\n dist_matrix : ndarray\n The N x N matrix of distances between graph nodes. dist_matrix[i,j]\n gives the shortest distance from point i to point j along the graph.\n\n predecessors : ndarray\n Returned only if return_predecessors == True.\n The N x N matrix of predecessors, which can be used to reconstruct\n the shortest paths. Row i of the predecessor matrix contains\n information on the shortest paths from point i: each entry\n predecessors[i, j] gives the index of the previous node in the\n path from point i to point j. If no path exists between point\n i and j, then predecessors[i, j] = -9999\n\n Raises\n ------\n NegativeCycleError:\n if there are negative cycles in the graph\n\n Notes\n -----\n This routine is specially designed for graphs with negative edge weights.\n If all edge weights are positive, then Dijkstra's algorithm is a better\n choice.\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import bellman_ford\n\n >>> graph = [\n ... [0, 1 ,2, 0],\n ... [0, 0, 0, 1],\n ... [2, 0, 0, 3],\n ... [0, 0, 0, 0]\n ... ]\n >>> graph = csr_matrix(graph)\n >>> print(graph)\n (0, 1)\t1\n (0, 2)\t2\n (1, 3)\t1\n (2, 0)\t2\n (2, 3)\t3\n\n >>> dist_matrix, predecessors = bellman_ford(csgraph=graph, directed=False, indices=0, return_predecessors=True)\n >>> dist_matrix\n array([ 0., 1., 2., 2.])\n >>> predecessors\n array([-9999, 0, 0, 1], dtype=int32)\n\n " - ... - -csr_matrix = _mod_scipy_sparse_csr.csr_matrix -def dijkstra(csgraph, directed=..., indices=..., return_predecessors=..., unweighted=..., limit=..., min_only=...) -> typing.Any: - "\n dijkstra(csgraph, directed=True, indices=None, return_predecessors=False,\n unweighted=False, limit=np.inf, min_only=False)\n\n Dijkstra algorithm using Fibonacci Heaps\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n csgraph : array, matrix, or sparse matrix, 2 dimensions\n The N x N array of non-negative distances representing the input graph.\n directed : bool, optional\n If True (default), then find the shortest path on a directed graph:\n only move from point i to point j along paths csgraph[i, j] and from\n point j to i along paths csgraph[j, i].\n If False, then find the shortest path on an undirected graph: the\n algorithm can progress from point i to j or j to i along either\n csgraph[i, j] or csgraph[j, i].\n indices : array_like or int, optional\n if specified, only compute the paths from the points at the given\n indices.\n return_predecessors : bool, optional\n If True, return the size (N, N) predecesor matrix\n unweighted : bool, optional\n If True, then find unweighted distances. That is, rather than finding\n the path between each point such that the sum of weights is minimized,\n find the path such that the number of edges is minimized.\n limit : float, optional\n The maximum distance to calculate, must be >= 0. Using a smaller limit\n will decrease computation time by aborting calculations between pairs\n that are separated by a distance > limit. For such pairs, the distance\n will be equal to np.inf (i.e., not connected).\n\n .. versionadded:: 0.14.0\n min_only : bool, optional\n If False (default), for every node in the graph, find the shortest path\n from every node in indices.\n If True, for every node in the graph, find the shortest path from any\n of the nodes in indices (which can be substantially faster).\n\n .. versionadded:: 1.3.0\n\n Returns\n -------\n dist_matrix : ndarray, shape ([n_indices, ]n_nodes,)\n The matrix of distances between graph nodes. If min_only=False,\n dist_matrix has shape (n_indices, n_nodes) and dist_matrix[i, j]\n gives the shortest distance from point i to point j along the graph.\n If min_only=True, dist_matrix has shape (n_nodes,) and contains for\n a given node the shortest path to that node from any of the nodes\n in indices.\n predecessors : ndarray, shape ([n_indices, ]n_nodes,)\n If min_only=False, this has shape (n_indices, n_nodes),\n otherwise it has shape (n_nodes,).\n Returned only if return_predecessors == True.\n The matrix of predecessors, which can be used to reconstruct\n the shortest paths. Row i of the predecessor matrix contains\n information on the shortest paths from point i: each entry\n predecessors[i, j] gives the index of the previous node in the\n path from point i to point j. If no path exists between point\n i and j, then predecessors[i, j] = -9999\n\n sources : ndarray, shape (n_nodes,)\n Returned only if min_only=True and return_predecessors=True.\n Contains the index of the source which had the shortest path\n to each target. If no path exists within the limit,\n this will contain -9999. The value at the indices passed\n will be equal to that index (i.e. the fastest way to reach\n node i, is to start on node i).\n\n Notes\n -----\n As currently implemented, Dijkstra's algorithm does not work for\n graphs with direction-dependent distances when directed == False.\n i.e., if csgraph[i,j] and csgraph[j,i] are not equal and\n both are nonzero, setting directed=False will not yield the correct\n result.\n\n Also, this routine does not work for graphs with negative\n distances. Negative distances can lead to infinite cycles that must\n be handled by specialized algorithms such as Bellman-Ford's algorithm\n or Johnson's algorithm.\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import dijkstra\n\n >>> graph = [\n ... [0, 1, 2, 0],\n ... [0, 0, 0, 1],\n ... [0, 0, 0, 3],\n ... [0, 0, 0, 0]\n ... ]\n >>> graph = csr_matrix(graph)\n >>> print(graph)\n (0, 1)\t1\n (0, 2)\t2\n (1, 3)\t1\n (2, 3)\t3\n\n >>> dist_matrix, predecessors = dijkstra(csgraph=graph, directed=False, indices=0, return_predecessors=True)\n >>> dist_matrix\n array([ 0., 1., 2., 2.])\n >>> predecessors\n array([-9999, 0, 0, 1], dtype=int32)\n\n " - ... - -def floyd_warshall(csgraph, directed=..., return_predecessors=..., unweighted=..., overwrite=...) -> typing.Any: - '\n floyd_warshall(csgraph, directed=True, return_predecessors=False,\n unweighted=False, overwrite=False)\n\n Compute the shortest path lengths using the Floyd-Warshall algorithm\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n csgraph : array, matrix, or sparse matrix, 2 dimensions\n The N x N array of distances representing the input graph.\n directed : bool, optional\n If True (default), then find the shortest path on a directed graph:\n only move from point i to point j along paths csgraph[i, j].\n If False, then find the shortest path on an undirected graph: the\n algorithm can progress from point i to j along csgraph[i, j] or\n csgraph[j, i]\n return_predecessors : bool, optional\n If True, return the size (N, N) predecesor matrix\n unweighted : bool, optional\n If True, then find unweighted distances. That is, rather than finding\n the path between each point such that the sum of weights is minimized,\n find the path such that the number of edges is minimized.\n overwrite : bool, optional\n If True, overwrite csgraph with the result. This applies only if\n csgraph is a dense, c-ordered array with dtype=float64.\n\n Returns\n -------\n dist_matrix : ndarray\n The N x N matrix of distances between graph nodes. dist_matrix[i,j]\n gives the shortest distance from point i to point j along the graph.\n\n predecessors : ndarray\n Returned only if return_predecessors == True.\n The N x N matrix of predecessors, which can be used to reconstruct\n the shortest paths. Row i of the predecessor matrix contains\n information on the shortest paths from point i: each entry\n predecessors[i, j] gives the index of the previous node in the\n path from point i to point j. If no path exists between point\n i and j, then predecessors[i, j] = -9999\n\n Raises\n ------\n NegativeCycleError:\n if there are negative cycles in the graph\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import floyd_warshall\n\n >>> graph = [\n ... [0, 1 , 2, 0],\n ... [0, 0, 0, 1],\n ... [2, 0, 0, 3],\n ... [0, 0, 0, 0]\n ... ]\n >>> graph = csr_matrix(graph)\n >>> print(graph)\n (0, 1)\t1\n (0, 2)\t2\n (1, 3)\t1\n (2, 0)\t2\n (2, 3)\t3\n\n\n >>> dist_matrix, predecessors = floyd_warshall(csgraph=graph, directed=False, return_predecessors=True)\n >>> dist_matrix\n array([[ 0., 1., 2., 2.],\n [ 1., 0., 3., 1.],\n [ 2., 3., 0., 3.],\n [ 2., 1., 3., 0.]])\n >>> predecessors\n array([[-9999, 0, 0, 1],\n [ 1, -9999, 0, 1],\n [ 2, 0, -9999, 2],\n [ 1, 3, 3, -9999]], dtype=int32)\n\n ' - ... - -def isspmatrix(x) -> typing.Any: - 'Is x of a sparse matrix type?\n\n Parameters\n ----------\n x\n object to check for being a sparse matrix\n\n Returns\n -------\n bool\n True if x is a sparse matrix, False otherwise\n\n Notes\n -----\n issparse and isspmatrix are aliases for the same function.\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix, isspmatrix\n >>> isspmatrix(csr_matrix([[5]]))\n True\n\n >>> from scipy.sparse import isspmatrix\n >>> isspmatrix(5)\n False\n ' - ... - -def isspmatrix_csc(x) -> typing.Any: - 'Is x of csc_matrix type?\n\n Parameters\n ----------\n x\n object to check for being a csc matrix\n\n Returns\n -------\n bool\n True if x is a csc matrix, False otherwise\n\n Examples\n --------\n >>> from scipy.sparse import csc_matrix, isspmatrix_csc\n >>> isspmatrix_csc(csc_matrix([[5]]))\n True\n\n >>> from scipy.sparse import csc_matrix, csr_matrix, isspmatrix_csc\n >>> isspmatrix_csc(csr_matrix([[5]]))\n False\n ' - ... - -def isspmatrix_csr(x) -> typing.Any: - 'Is x of csr_matrix type?\n\n Parameters\n ----------\n x\n object to check for being a csr matrix\n\n Returns\n -------\n bool\n True if x is a csr matrix, False otherwise\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix, isspmatrix_csr\n >>> isspmatrix_csr(csr_matrix([[5]]))\n True\n\n >>> from scipy.sparse import csc_matrix, csr_matrix, isspmatrix_csc\n >>> isspmatrix_csr(csc_matrix([[5]]))\n False\n ' - ... - -def johnson(csgraph, directed=..., indices=..., return_predecessors=..., unweighted=...) -> typing.Any: - "\n johnson(csgraph, directed=True, indices=None, return_predecessors=False,\n unweighted=False)\n\n Compute the shortest path lengths using Johnson's algorithm.\n\n Johnson's algorithm combines the Bellman-Ford algorithm and Dijkstra's\n algorithm to quickly find shortest paths in a way that is robust to\n the presence of negative cycles. If a negative cycle is detected,\n an error is raised. For graphs without negative edge weights,\n dijkstra may be faster.\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n csgraph : array, matrix, or sparse matrix, 2 dimensions\n The N x N array of distances representing the input graph.\n directed : bool, optional\n If True (default), then find the shortest path on a directed graph:\n only move from point i to point j along paths csgraph[i, j].\n If False, then find the shortest path on an undirected graph: the\n algorithm can progress from point i to j along csgraph[i, j] or\n csgraph[j, i]\n indices : array_like or int, optional\n if specified, only compute the paths from the points at the given\n indices.\n return_predecessors : bool, optional\n If True, return the size (N, N) predecesor matrix\n unweighted : bool, optional\n If True, then find unweighted distances. That is, rather than finding\n the path between each point such that the sum of weights is minimized,\n find the path such that the number of edges is minimized.\n\n Returns\n -------\n dist_matrix : ndarray\n The N x N matrix of distances between graph nodes. dist_matrix[i,j]\n gives the shortest distance from point i to point j along the graph.\n\n predecessors : ndarray\n Returned only if return_predecessors == True.\n The N x N matrix of predecessors, which can be used to reconstruct\n the shortest paths. Row i of the predecessor matrix contains\n information on the shortest paths from point i: each entry\n predecessors[i, j] gives the index of the previous node in the\n path from point i to point j. If no path exists between point\n i and j, then predecessors[i, j] = -9999\n\n Raises\n ------\n NegativeCycleError:\n if there are negative cycles in the graph\n\n Notes\n -----\n This routine is specially designed for graphs with negative edge weights.\n If all edge weights are positive, then Dijkstra's algorithm is a better\n choice.\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import johnson\n\n >>> graph = [\n ... [0, 1, 2, 0],\n ... [0, 0, 0, 1],\n ... [2, 0, 0, 3],\n ... [0, 0, 0, 0]\n ... ]\n >>> graph = csr_matrix(graph)\n >>> print(graph)\n (0, 1)\t1\n (0, 2)\t2\n (1, 3)\t1\n (2, 0)\t2\n (2, 3)\t3\n\n >>> dist_matrix, predecessors = johnson(csgraph=graph, directed=False, indices=0, return_predecessors=True)\n >>> dist_matrix\n array([ 0., 1., 2., 2.])\n >>> predecessors\n array([-9999, 0, 0, 1], dtype=int32)\n\n " - ... - -def shortest_path(csgraph, method=..., directed=..., return_predecessors=..., unweighted=..., overwrite=..., indices=...) -> typing.Any: - "\n shortest_path(csgraph, method='auto', directed=True, return_predecessors=False,\n unweighted=False, overwrite=False, indices=None)\n\n Perform a shortest-path graph search on a positive directed or\n undirected graph.\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n csgraph : array, matrix, or sparse matrix, 2 dimensions\n The N x N array of distances representing the input graph.\n method : string ['auto'|'FW'|'D'], optional\n Algorithm to use for shortest paths. Options are:\n\n 'auto' -- (default) select the best among 'FW', 'D', 'BF', or 'J'\n based on the input data.\n\n 'FW' -- Floyd-Warshall algorithm. Computational cost is\n approximately ``O[N^3]``. The input csgraph will be\n converted to a dense representation.\n\n 'D' -- Dijkstra's algorithm with Fibonacci heaps. Computational\n cost is approximately ``O[N(N*k + N*log(N))]``, where\n ``k`` is the average number of connected edges per node.\n The input csgraph will be converted to a csr\n representation.\n\n 'BF' -- Bellman-Ford algorithm. This algorithm can be used when\n weights are negative. If a negative cycle is encountered,\n an error will be raised. Computational cost is\n approximately ``O[N(N^2 k)]``, where ``k`` is the average\n number of connected edges per node. The input csgraph will\n be converted to a csr representation.\n\n 'J' -- Johnson's algorithm. Like the Bellman-Ford algorithm,\n Johnson's algorithm is designed for use when the weights\n are negative. It combines the Bellman-Ford algorithm\n with Dijkstra's algorithm for faster computation.\n\n directed : bool, optional\n If True (default), then find the shortest path on a directed graph:\n only move from point i to point j along paths csgraph[i, j].\n If False, then find the shortest path on an undirected graph: the\n algorithm can progress from point i to j along csgraph[i, j] or\n csgraph[j, i]\n return_predecessors : bool, optional\n If True, return the size (N, N) predecesor matrix\n unweighted : bool, optional\n If True, then find unweighted distances. That is, rather than finding\n the path between each point such that the sum of weights is minimized,\n find the path such that the number of edges is minimized.\n overwrite : bool, optional\n If True, overwrite csgraph with the result. This applies only if\n method == 'FW' and csgraph is a dense, c-ordered array with\n dtype=float64.\n indices : array_like or int, optional\n If specified, only compute the paths from the points at the given\n indices. Incompatible with method == 'FW'.\n\n Returns\n -------\n dist_matrix : ndarray\n The N x N matrix of distances between graph nodes. dist_matrix[i,j]\n gives the shortest distance from point i to point j along the graph.\n predecessors : ndarray\n Returned only if return_predecessors == True.\n The N x N matrix of predecessors, which can be used to reconstruct\n the shortest paths. Row i of the predecessor matrix contains\n information on the shortest paths from point i: each entry\n predecessors[i, j] gives the index of the previous node in the\n path from point i to point j. If no path exists between point\n i and j, then predecessors[i, j] = -9999\n\n Raises\n ------\n NegativeCycleError:\n if there are negative cycles in the graph\n\n Notes\n -----\n As currently implemented, Dijkstra's algorithm and Johnson's algorithm\n do not work for graphs with direction-dependent distances when\n directed == False. i.e., if csgraph[i,j] and csgraph[j,i] are non-equal\n edges, method='D' may yield an incorrect result.\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import shortest_path\n\n >>> graph = [\n ... [0, 1, 2, 0],\n ... [0, 0, 0, 1],\n ... [2, 0, 0, 3],\n ... [0, 0, 0, 0]\n ... ]\n >>> graph = csr_matrix(graph)\n >>> print(graph)\n (0, 1)\t1\n (0, 2)\t2\n (1, 3)\t1\n (2, 0)\t2\n (2, 3)\t3\n\n >>> dist_matrix, predecessors = shortest_path(csgraph=graph, directed=False, indices=0, return_predecessors=True)\n >>> dist_matrix\n array([ 0., 1., 2., 2.])\n >>> predecessors\n array([-9999, 0, 0, 1], dtype=int32)\n\n " - ... - -def validate_graph(csgraph, directed, dtype, csr_output, dense_output, copy_if_dense, copy_if_sparse, null_value_in, null_value_out, infinity_null, nan_null) -> typing.Any: - 'Routine for validation and conversion of csgraph inputs' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_tools.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_tools.pyi deleted file mode 100644 index c3fa8dbd..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_tools.pyi +++ /dev/null @@ -1,63 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.sparse.csgraph._tools, version: unspecified -import typing -import builtins as _mod_builtins -import numpy as _mod_numpy -import scipy.sparse.csr as _mod_scipy_sparse_csr - -DTYPE = _mod_numpy.float64 -ITYPE = _mod_numpy.int32 -__doc__: str -__file__: str -__name__: str -__package__: str -__test__: dict -def construct_dist_matrix(graph, predecessors, directed=..., null_value=...) -> typing.Any: - '\n construct_dist_matrix(graph, predecessors, directed=True, null_value=np.inf)\n\n Construct distance matrix from a predecessor matrix\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n graph : array_like or sparse\n The N x N matrix representation of a directed or undirected graph.\n If dense, then non-edges are indicated by zeros or infinities.\n predecessors : array_like\n The N x N matrix of predecessors of each node (see Notes below).\n directed : bool, optional\n If True (default), then operate on a directed graph: only move from\n point i to point j along paths csgraph[i, j].\n If False, then operate on an undirected graph: the algorithm can\n progress from point i to j along csgraph[i, j] or csgraph[j, i].\n null_value : bool, optional\n value to use for distances between unconnected nodes. Default is\n np.inf\n\n Returns\n -------\n dist_matrix : ndarray\n The N x N matrix of distances between nodes along the path specified\n by the predecessor matrix. If no path exists, the distance is zero.\n\n Notes\n -----\n The predecessor matrix is of the form returned by\n `shortest_path`. Row i of the predecessor matrix contains\n information on the shortest paths from point i: each entry\n predecessors[i, j] gives the index of the previous node in the path from\n point i to point j. If no path exists between point i and j, then\n predecessors[i, j] = -9999\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import construct_dist_matrix\n\n >>> graph = [\n ... [0, 1 , 2, 0],\n ... [0, 0, 0, 1],\n ... [0, 0, 0, 3],\n ... [0, 0, 0, 0]\n ... ]\n >>> graph = csr_matrix(graph)\n >>> print(graph)\n (0, 1)\t1\n (0, 2)\t2\n (1, 3)\t1\n (2, 3)\t3\n\n >>> pred = np.array([[-9999, 0, 0, 2],\n ... [1, -9999, 0, 1],\n ... [2, 0, -9999, 2],\n ... [1, 3, 3, -9999]], dtype=np.int32)\n\n >>> construct_dist_matrix(graph=graph, predecessors=pred, directed=False)\n array([[ 0., 1., 2., 5.],\n [ 1., 0., 3., 1.],\n [ 2., 3., 0., 3.],\n [ 2., 1., 3., 0.]])\n\n ' - ... - -def csgraph_from_dense(graph, null_value=..., nan_null=..., infinity_null=...) -> typing.Any: - "\n csgraph_from_dense(graph, null_value=0, nan_null=True, infinity_null=True)\n\n Construct a CSR-format sparse graph from a dense matrix.\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n graph : array_like\n Input graph. Shape should be (n_nodes, n_nodes).\n null_value : float or None (optional)\n Value that denotes non-edges in the graph. Default is zero.\n infinity_null : bool\n If True (default), then infinite entries (both positive and negative)\n are treated as null edges.\n nan_null : bool\n If True (default), then NaN entries are treated as non-edges\n\n Returns\n -------\n csgraph : csr_matrix\n Compressed sparse representation of graph,\n\n Examples\n --------\n >>> from scipy.sparse.csgraph import csgraph_from_dense\n\n >>> graph = [\n ... [0, 1 , 2, 0],\n ... [0, 0, 0, 1],\n ... [0, 0, 0, 3],\n ... [0, 0, 0, 0]\n ... ]\n\n >>> csgraph_from_dense(graph)\n <4x4 sparse matrix of type ''\n with 4 stored elements in Compressed Sparse Row format>\n\n " - ... - -def csgraph_from_masked(graph) -> typing.Any: - "\n csgraph_from_masked(graph)\n\n Construct a CSR-format graph from a masked array.\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n graph : MaskedArray\n Input graph. Shape should be (n_nodes, n_nodes).\n\n Returns\n -------\n csgraph : csr_matrix\n Compressed sparse representation of graph,\n\n Examples\n --------\n >>> import numpy as np\n >>> from scipy.sparse.csgraph import csgraph_from_masked\n\n >>> graph_masked = np.ma.masked_array(data =[\n ... [0, 1 , 2, 0],\n ... [0, 0, 0, 1],\n ... [0, 0, 0, 3],\n ... [0, 0, 0, 0]\n ... ],\n ... mask=[[ True, False, False , True],\n ... [ True, True , True, False],\n ... [ True , True, True ,False],\n ... [ True ,True , True , True]],\n ... fill_value = 0)\n\n >>> csgraph_from_masked(graph_masked)\n <4x4 sparse matrix of type ''\n with 4 stored elements in Compressed Sparse Row format>\n\n " - ... - -def csgraph_masked_from_dense(graph, null_value=..., nan_null=..., infinity_null=..., copy=...) -> typing.Any: - '\n csgraph_masked_from_dense(graph, null_value=0, nan_null=True,\n infinity_null=True, copy=True)\n\n Construct a masked array graph representation from a dense matrix.\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n graph : array_like\n Input graph. Shape should be (n_nodes, n_nodes).\n null_value : float or None (optional)\n Value that denotes non-edges in the graph. Default is zero.\n infinity_null : bool\n If True (default), then infinite entries (both positive and negative)\n are treated as null edges.\n nan_null : bool\n If True (default), then NaN entries are treated as non-edges\n\n Returns\n -------\n csgraph : MaskedArray\n masked array representation of graph\n\n Examples\n --------\n >>> from scipy.sparse.csgraph import csgraph_masked_from_dense\n\n >>> graph = [\n ... [0, 1 , 2, 0],\n ... [0, 0, 0, 1],\n ... [0, 0, 0, 3],\n ... [0, 0, 0, 0]\n ... ]\n\n >>> csgraph_masked_from_dense(graph)\n masked_array(\n data=[[--, 1, 2, --],\n [--, --, --, 1],\n [--, --, --, 3],\n [--, --, --, --]],\n mask=[[ True, False, False, True],\n [ True, True, True, False],\n [ True, True, True, False],\n [ True, True, True, True]],\n fill_value=0)\n\n ' - ... - -def csgraph_to_dense(csgraph, null_value=...) -> typing.Any: - "\n csgraph_to_dense(csgraph, null_value=0)\n\n Convert a sparse graph representation to a dense representation\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n csgraph : csr_matrix, csc_matrix, or lil_matrix\n Sparse representation of a graph.\n null_value : float, optional\n The value used to indicate null edges in the dense representation.\n Default is 0.\n\n Returns\n -------\n graph : ndarray\n The dense representation of the sparse graph.\n\n Notes\n -----\n For normal sparse graph representations, calling csgraph_to_dense with\n null_value=0 produces an equivalent result to using dense format\n conversions in the main sparse package. When the sparse representations\n have repeated values, however, the results will differ. The tools in\n scipy.sparse will add repeating values to obtain a final value. This\n function will select the minimum among repeating values to obtain a\n final value. For example, here we'll create a two-node directed sparse\n graph with multiple edges from node 0 to node 1, of weights 2 and 3.\n This illustrates the difference in behavior:\n\n >>> from scipy.sparse import csr_matrix, csgraph\n >>> data = np.array([2, 3])\n >>> indices = np.array([1, 1])\n >>> indptr = np.array([0, 2, 2])\n >>> M = csr_matrix((data, indices, indptr), shape=(2, 2))\n >>> M.toarray()\n array([[0, 5],\n [0, 0]])\n >>> csgraph.csgraph_to_dense(M)\n array([[0., 2.],\n [0., 0.]])\n\n The reason for this difference is to allow a compressed sparse graph to\n represent multiple edges between any two nodes. As most sparse graph\n algorithms are concerned with the single lowest-cost edge between any\n two nodes, the default scipy.sparse behavior of summming multiple weights\n does not make sense in this context.\n\n The other reason for using this routine is to allow for graphs with\n zero-weight edges. Let's look at the example of a two-node directed\n graph, connected by an edge of weight zero:\n\n >>> from scipy.sparse import csr_matrix, csgraph\n >>> data = np.array([0.0])\n >>> indices = np.array([1])\n >>> indptr = np.array([0, 1, 1])\n >>> M = csr_matrix((data, indices, indptr), shape=(2, 2))\n >>> M.toarray()\n array([[0, 0],\n [0, 0]])\n >>> csgraph.csgraph_to_dense(M, np.inf)\n array([[ inf, 0.],\n [ inf, inf]])\n\n In the first case, the zero-weight edge gets lost in the dense\n representation. In the second case, we can choose a different null value\n and see the true form of the graph.\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import csgraph_to_dense\n\n >>> graph = csr_matrix( [\n ... [0, 1 , 2, 0],\n ... [0, 0, 0, 1],\n ... [0, 0, 0, 3],\n ... [0, 0, 0, 0]\n ... ])\n >>> graph\n <4x4 sparse matrix of type ''\n with 4 stored elements in Compressed Sparse Row format>\n\n >>> csgraph_to_dense(graph)\n array([[ 0., 1., 2., 0.],\n [ 0., 0., 0., 1.],\n [ 0., 0., 0., 3.],\n [ 0., 0., 0., 0.]])\n\n " - ... - -def csgraph_to_masked(csgraph) -> typing.Any: - "\n csgraph_to_masked(csgraph)\n\n Convert a sparse graph representation to a masked array representation\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n csgraph : csr_matrix, csc_matrix, or lil_matrix\n Sparse representation of a graph.\n\n Returns\n -------\n graph : MaskedArray\n The masked dense representation of the sparse graph.\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import csgraph_to_masked\n\n >>> graph = csr_matrix( [\n ... [0, 1 , 2, 0],\n ... [0, 0, 0, 1],\n ... [0, 0, 0, 3],\n ... [0, 0, 0, 0]\n ... ])\n >>> graph\n <4x4 sparse matrix of type ''\n with 4 stored elements in Compressed Sparse Row format>\n\n >>> csgraph_to_masked(graph)\n masked_array(\n data=[[--, 1.0, 2.0, --],\n [--, --, --, 1.0],\n [--, --, --, 3.0],\n [--, --, --, --]],\n mask=[[ True, False, False, True],\n [ True, True, True, False],\n [ True, True, True, False],\n [ True, True, True, True]],\n fill_value=1e+20)\n\n " - ... - -csr_matrix = _mod_scipy_sparse_csr.csr_matrix -def isspmatrix(x) -> typing.Any: - 'Is x of a sparse matrix type?\n\n Parameters\n ----------\n x\n object to check for being a sparse matrix\n\n Returns\n -------\n bool\n True if x is a sparse matrix, False otherwise\n\n Notes\n -----\n issparse and isspmatrix are aliases for the same function.\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix, isspmatrix\n >>> isspmatrix(csr_matrix([[5]]))\n True\n\n >>> from scipy.sparse import isspmatrix\n >>> isspmatrix(5)\n False\n ' - ... - -def isspmatrix_csc(x) -> typing.Any: - 'Is x of csc_matrix type?\n\n Parameters\n ----------\n x\n object to check for being a csc matrix\n\n Returns\n -------\n bool\n True if x is a csc matrix, False otherwise\n\n Examples\n --------\n >>> from scipy.sparse import csc_matrix, isspmatrix_csc\n >>> isspmatrix_csc(csc_matrix([[5]]))\n True\n\n >>> from scipy.sparse import csc_matrix, csr_matrix, isspmatrix_csc\n >>> isspmatrix_csc(csr_matrix([[5]]))\n False\n ' - ... - -def isspmatrix_csr(x) -> typing.Any: - 'Is x of csr_matrix type?\n\n Parameters\n ----------\n x\n object to check for being a csr matrix\n\n Returns\n -------\n bool\n True if x is a csr matrix, False otherwise\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix, isspmatrix_csr\n >>> isspmatrix_csr(csr_matrix([[5]]))\n True\n\n >>> from scipy.sparse import csc_matrix, csr_matrix, isspmatrix_csc\n >>> isspmatrix_csr(csc_matrix([[5]]))\n False\n ' - ... - -def isspmatrix_lil(x) -> typing.Any: - 'Is x of lil_matrix type?\n\n Parameters\n ----------\n x\n object to check for being a lil matrix\n\n Returns\n -------\n bool\n True if x is a lil matrix, False otherwise\n\n Examples\n --------\n >>> from scipy.sparse import lil_matrix, isspmatrix_lil\n >>> isspmatrix_lil(lil_matrix([[5]]))\n True\n\n >>> from scipy.sparse import lil_matrix, csr_matrix, isspmatrix_lil\n >>> isspmatrix_lil(csr_matrix([[5]]))\n False\n ' - ... - -def reconstruct_path(csgraph, predecessors, directed=...) -> typing.Any: - '\n reconstruct_path(csgraph, predecessors, directed=True)\n\n Construct a tree from a graph and a predecessor list.\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n csgraph : array_like or sparse matrix\n The N x N matrix representing the directed or undirected graph\n from which the predecessors are drawn.\n predecessors : array_like, one dimension\n The length-N array of indices of predecessors for the tree. The\n index of the parent of node i is given by predecessors[i].\n directed : bool, optional\n If True (default), then operate on a directed graph: only move from\n point i to point j along paths csgraph[i, j].\n If False, then operate on an undirected graph: the algorithm can\n progress from point i to j along csgraph[i, j] or csgraph[j, i].\n\n Returns\n -------\n cstree : csr matrix\n The N x N directed compressed-sparse representation of the tree drawn\n from csgraph which is encoded by the predecessor list.\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import reconstruct_path\n\n >>> graph = [\n ... [0, 1 , 2, 0],\n ... [0, 0, 0, 1],\n ... [0, 0, 0, 3],\n ... [0, 0, 0, 0]\n ... ]\n >>> graph = csr_matrix(graph)\n >>> print(graph)\n (0, 1)\t1\n (0, 2)\t2\n (1, 3)\t1\n (2, 3)\t3\n\n >>> pred = np.array([-9999, 0, 0, 1], dtype=np.int32)\n\n >>> cstree = reconstruct_path(csgraph=graph, predecessors=pred, directed=False)\n >>> cstree.todense()\n matrix([[ 0., 1., 2., 0.],\n [ 0., 0., 0., 1.],\n [ 0., 0., 0., 0.],\n [ 0., 0., 0., 0.]])\n\n ' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_traversal.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_traversal.pyi deleted file mode 100644 index 0817304d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/csgraph/_traversal.pyi +++ /dev/null @@ -1,59 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.sparse.csgraph._traversal, version: unspecified -import typing -import builtins as _mod_builtins -import numpy as _mod_numpy -import scipy.sparse.csr as _mod_scipy_sparse_csr - -DTYPE = _mod_numpy.float64 -ITYPE = _mod_numpy.int32 -__doc__: str -__file__: str -__name__: str -__package__: str -__test__: dict -def breadth_first_order(csgraph, i_start, directed=..., return_predecessors=...) -> typing.Any: - '\n breadth_first_order(csgraph, i_start, directed=True, return_predecessors=True)\n\n Return a breadth-first ordering starting with specified node.\n\n Note that a breadth-first order is not unique, but the tree which it\n generates is unique.\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n csgraph : array_like or sparse matrix\n The N x N compressed sparse graph. The input csgraph will be\n converted to csr format for the calculation.\n i_start : int\n The index of starting node.\n directed : bool, optional\n If True (default), then operate on a directed graph: only\n move from point i to point j along paths csgraph[i, j].\n If False, then find the shortest path on an undirected graph: the\n algorithm can progress from point i to j along csgraph[i, j] or\n csgraph[j, i].\n return_predecessors : bool, optional\n If True (default), then return the predecesor array (see below).\n\n Returns\n -------\n node_array : ndarray, one dimension\n The breadth-first list of nodes, starting with specified node. The\n length of node_array is the number of nodes reachable from the\n specified node.\n predecessors : ndarray, one dimension\n Returned only if return_predecessors is True.\n The length-N list of predecessors of each node in a breadth-first\n tree. If node i is in the tree, then its parent is given by\n predecessors[i]. If node i is not in the tree (and for the parent\n node) then predecessors[i] = -9999.\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import breadth_first_order\n\n >>> graph = [\n ... [0, 1 , 2, 0],\n ... [0, 0, 0, 1],\n ... [2, 0, 0, 3],\n ... [0, 0, 0, 0]\n ... ]\n >>> graph = csr_matrix(graph)\n >>> print(graph)\n (0, 1) 1\n (0, 2) 2\n (1, 3) 1\n (2, 0) 2\n (2, 3) 3\n\n >>> breadth_first_order(graph,0)\n (array([0, 1, 2, 3], dtype=int32), array([-9999, 0, 0, 1], dtype=int32))\n\n ' - ... - -def breadth_first_tree(csgraph, i_start, directed=...) -> typing.Any: - '\n breadth_first_tree(csgraph, i_start, directed=True)\n\n Return the tree generated by a breadth-first search\n\n Note that a breadth-first tree from a specified node is unique.\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n csgraph : array_like or sparse matrix\n The N x N matrix representing the compressed sparse graph. The input\n csgraph will be converted to csr format for the calculation.\n i_start : int\n The index of starting node.\n directed : bool, optional\n If True (default), then operate on a directed graph: only\n move from point i to point j along paths csgraph[i, j].\n If False, then find the shortest path on an undirected graph: the\n algorithm can progress from point i to j along csgraph[i, j] or\n csgraph[j, i].\n\n Returns\n -------\n cstree : csr matrix\n The N x N directed compressed-sparse representation of the breadth-\n first tree drawn from csgraph, starting at the specified node.\n\n Examples\n --------\n The following example shows the computation of a depth-first tree\n over a simple four-component graph, starting at node 0::\n\n input graph breadth first tree from (0)\n\n (0) (0)\n / \\ / \\\n 3 8 3 8\n / \\ / \\\n (3)---5---(1) (3) (1)\n \\ / /\n 6 2 2\n \\ / /\n (2) (2)\n\n In compressed sparse representation, the solution looks like this:\n\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import breadth_first_tree\n >>> X = csr_matrix([[0, 8, 0, 3],\n ... [0, 0, 2, 5],\n ... [0, 0, 0, 6],\n ... [0, 0, 0, 0]])\n >>> Tcsr = breadth_first_tree(X, 0, directed=False)\n >>> Tcsr.toarray().astype(int)\n array([[0, 8, 0, 3],\n [0, 0, 2, 0],\n [0, 0, 0, 0],\n [0, 0, 0, 0]])\n\n Note that the resulting graph is a Directed Acyclic Graph which spans\n the graph. A breadth-first tree from a given node is unique.\n ' - ... - -def connected_components(csgraph, directed=..., connection=..., return_labels=...) -> typing.Any: - '\n connected_components(csgraph, directed=True, connection=\'weak\',\n return_labels=True)\n\n Analyze the connected components of a sparse graph\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n csgraph : array_like or sparse matrix\n The N x N matrix representing the compressed sparse graph. The input\n csgraph will be converted to csr format for the calculation.\n directed : bool, optional\n If True (default), then operate on a directed graph: only\n move from point i to point j along paths csgraph[i, j].\n If False, then find the shortest path on an undirected graph: the\n algorithm can progress from point i to j along csgraph[i, j] or\n csgraph[j, i].\n connection : str, optional\n [\'weak\'|\'strong\']. For directed graphs, the type of connection to\n use. Nodes i and j are strongly connected if a path exists both\n from i to j and from j to i. A directed graph is weakly connected\n if replacing all of its directed edges with undirected edges produces\n a connected (undirected) graph. If directed == False, this keyword\n is not referenced.\n return_labels : bool, optional\n If True (default), then return the labels for each of the connected\n components.\n\n Returns\n -------\n n_components: int\n The number of connected components.\n labels: ndarray\n The length-N array of labels of the connected components.\n\n References\n ----------\n .. [1] D. J. Pearce, "An Improved Algorithm for Finding the Strongly\n Connected Components of a Directed Graph", Technical Report, 2005\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import connected_components\n\n >>> graph = [\n ... [ 0, 1 , 1, 0 , 0 ],\n ... [ 0, 0 , 1 , 0 ,0 ],\n ... [ 0, 0, 0, 0, 0],\n ... [0, 0 , 0, 0, 1],\n ... [0, 0, 0, 0, 0]\n ... ]\n >>> graph = csr_matrix(graph)\n >>> print(graph)\n (0, 1)\t1\n (0, 2)\t1\n (1, 2)\t1\n (3, 4)\t1\n\n >>> n_components, labels = connected_components(csgraph=graph, directed=False, return_labels=True)\n >>> n_components\n 2\n >>> labels\n array([0, 0, 0, 1, 1], dtype=int32)\n\n ' - ... - -csr_matrix = _mod_scipy_sparse_csr.csr_matrix -def depth_first_order(csgraph, i_start, directed=..., return_predecessors=...) -> typing.Any: - '\n depth_first_order(csgraph, i_start, directed=True, return_predecessors=True)\n\n Return a depth-first ordering starting with specified node.\n\n Note that a depth-first order is not unique. Furthermore, for graphs\n with cycles, the tree generated by a depth-first search is not\n unique either.\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n csgraph : array_like or sparse matrix\n The N x N compressed sparse graph. The input csgraph will be\n converted to csr format for the calculation.\n i_start : int\n The index of starting node.\n directed : bool, optional\n If True (default), then operate on a directed graph: only\n move from point i to point j along paths csgraph[i, j].\n If False, then find the shortest path on an undirected graph: the\n algorithm can progress from point i to j along csgraph[i, j] or\n csgraph[j, i].\n return_predecessors : bool, optional\n If True (default), then return the predecesor array (see below).\n\n Returns\n -------\n node_array : ndarray, one dimension\n The depth-first list of nodes, starting with specified node. The\n length of node_array is the number of nodes reachable from the\n specified node.\n predecessors : ndarray, one dimension\n Returned only if return_predecessors is True.\n The length-N list of predecessors of each node in a depth-first\n tree. If node i is in the tree, then its parent is given by\n predecessors[i]. If node i is not in the tree (and for the parent\n node) then predecessors[i] = -9999.\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import depth_first_order\n\n >>> graph = [\n ... [0, 1 , 2, 0],\n ... [0, 0, 0, 1],\n ... [2, 0, 0, 3],\n ... [0, 0, 0, 0]\n ... ]\n >>> graph = csr_matrix(graph)\n >>> print(graph)\n (0, 1)\t1\n (0, 2)\t2\n (1, 3)\t1\n (2, 0)\t2\n (2, 3)\t3\n\n >>> depth_first_order(graph,0)\n (array([0, 1, 3, 2], dtype=int32), array([-9999, 0, 0, 1], dtype=int32))\n\n ' - ... - -def depth_first_tree(csgraph, i_start, directed=...) -> typing.Any: - '\n depth_first_tree(csgraph, i_start, directed=True)\n\n Return a tree generated by a depth-first search.\n\n Note that a tree generated by a depth-first search is not unique:\n it depends on the order that the children of each node are searched.\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n csgraph : array_like or sparse matrix\n The N x N matrix representing the compressed sparse graph. The input\n csgraph will be converted to csr format for the calculation.\n i_start : int\n The index of starting node.\n directed : bool, optional\n If True (default), then operate on a directed graph: only\n move from point i to point j along paths csgraph[i, j].\n If False, then find the shortest path on an undirected graph: the\n algorithm can progress from point i to j along csgraph[i, j] or\n csgraph[j, i].\n\n Returns\n -------\n cstree : csr matrix\n The N x N directed compressed-sparse representation of the depth-\n first tree drawn from csgraph, starting at the specified node.\n\n Examples\n --------\n The following example shows the computation of a depth-first tree\n over a simple four-component graph, starting at node 0::\n\n input graph depth first tree from (0)\n\n (0) (0)\n / \\ \\\n 3 8 8\n / \\ \\\n (3)---5---(1) (3) (1)\n \\ / \\ /\n 6 2 6 2\n \\ / \\ /\n (2) (2)\n\n In compressed sparse representation, the solution looks like this:\n\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import depth_first_tree\n >>> X = csr_matrix([[0, 8, 0, 3],\n ... [0, 0, 2, 5],\n ... [0, 0, 0, 6],\n ... [0, 0, 0, 0]])\n >>> Tcsr = depth_first_tree(X, 0, directed=False)\n >>> Tcsr.toarray().astype(int)\n array([[0, 8, 0, 0],\n [0, 0, 2, 0],\n [0, 0, 0, 6],\n [0, 0, 0, 0]])\n\n Note that the resulting graph is a Directed Acyclic Graph which spans\n the graph. Unlike a breadth-first tree, a depth-first tree of a given\n graph is not unique if the graph contains cycles. If the above solution\n had begun with the edge connecting nodes 0 and 3, the result would have\n been different.\n ' - ... - -def isspmatrix(x) -> typing.Any: - 'Is x of a sparse matrix type?\n\n Parameters\n ----------\n x\n object to check for being a sparse matrix\n\n Returns\n -------\n bool\n True if x is a sparse matrix, False otherwise\n\n Notes\n -----\n issparse and isspmatrix are aliases for the same function.\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix, isspmatrix\n >>> isspmatrix(csr_matrix([[5]]))\n True\n\n >>> from scipy.sparse import isspmatrix\n >>> isspmatrix(5)\n False\n ' - ... - -def isspmatrix_csc(x) -> typing.Any: - 'Is x of csc_matrix type?\n\n Parameters\n ----------\n x\n object to check for being a csc matrix\n\n Returns\n -------\n bool\n True if x is a csc matrix, False otherwise\n\n Examples\n --------\n >>> from scipy.sparse import csc_matrix, isspmatrix_csc\n >>> isspmatrix_csc(csc_matrix([[5]]))\n True\n\n >>> from scipy.sparse import csc_matrix, csr_matrix, isspmatrix_csc\n >>> isspmatrix_csc(csr_matrix([[5]]))\n False\n ' - ... - -def isspmatrix_csr(x) -> typing.Any: - 'Is x of csr_matrix type?\n\n Parameters\n ----------\n x\n object to check for being a csr matrix\n\n Returns\n -------\n bool\n True if x is a csr matrix, False otherwise\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix, isspmatrix_csr\n >>> isspmatrix_csr(csr_matrix([[5]]))\n True\n\n >>> from scipy.sparse import csc_matrix, csr_matrix, isspmatrix_csc\n >>> isspmatrix_csr(csc_matrix([[5]]))\n False\n ' - ... - -def reconstruct_path(csgraph, predecessors, directed=...) -> typing.Any: - '\n reconstruct_path(csgraph, predecessors, directed=True)\n\n Construct a tree from a graph and a predecessor list.\n\n .. versionadded:: 0.11.0\n\n Parameters\n ----------\n csgraph : array_like or sparse matrix\n The N x N matrix representing the directed or undirected graph\n from which the predecessors are drawn.\n predecessors : array_like, one dimension\n The length-N array of indices of predecessors for the tree. The\n index of the parent of node i is given by predecessors[i].\n directed : bool, optional\n If True (default), then operate on a directed graph: only move from\n point i to point j along paths csgraph[i, j].\n If False, then operate on an undirected graph: the algorithm can\n progress from point i to j along csgraph[i, j] or csgraph[j, i].\n\n Returns\n -------\n cstree : csr matrix\n The N x N directed compressed-sparse representation of the tree drawn\n from csgraph which is encoded by the predecessor list.\n\n Examples\n --------\n >>> from scipy.sparse import csr_matrix\n >>> from scipy.sparse.csgraph import reconstruct_path\n\n >>> graph = [\n ... [0, 1 , 2, 0],\n ... [0, 0, 0, 1],\n ... [0, 0, 0, 3],\n ... [0, 0, 0, 0]\n ... ]\n >>> graph = csr_matrix(graph)\n >>> print(graph)\n (0, 1)\t1\n (0, 2)\t2\n (1, 3)\t1\n (2, 3)\t3\n\n >>> pred = np.array([-9999, 0, 0, 1], dtype=np.int32)\n\n >>> cstree = reconstruct_path(csgraph=graph, predecessors=pred, directed=False)\n >>> cstree.todense()\n matrix([[ 0., 1., 2., 0.],\n [ 0., 0., 0., 1.],\n [ 0., 0., 0., 0.],\n [ 0., 0., 0., 0.]])\n\n ' - ... - -def validate_graph(csgraph, directed, dtype, csr_output, dense_output, copy_if_dense, copy_if_sparse, null_value_in, null_value_out, infinity_null, nan_null) -> typing.Any: - 'Routine for validation and conversion of csgraph inputs' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/linalg/_eigen/lobpcg/lobpcg.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/linalg/_eigen/lobpcg/lobpcg.pyi deleted file mode 100644 index 57e50426..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/linalg/_eigen/lobpcg/lobpcg.pyi +++ /dev/null @@ -1,171 +0,0 @@ -import typing - - -def lobpcg( - A, - X, - B=..., - M=..., - Y=..., - tol=..., - maxiter=..., - largest=..., - verbosityLevel=..., - retLambdaHistory=..., - retResidualNormsHistory=..., -)-> typing.Any: - """Locally Optimal Block Preconditioned Conjugate Gradient Method (LOBPCG) - - LOBPCG is a preconditioned eigensolver for large symmetric positive - definite (SPD) generalized eigenproblems. - - Parameters - ---------- - A : {sparse matrix, dense matrix, LinearOperator} - The symmetric linear operator of the problem, usually a - sparse matrix. Often called the "stiffness matrix". - X : ndarray, float32 or float64 - Initial approximation to the ``k`` eigenvectors (non-sparse). If `A` - has ``shape=(n,n)`` then `X` should have shape ``shape=(n,k)``. - B : {dense matrix, sparse matrix, LinearOperator}, optional - The right hand side operator in a generalized eigenproblem. - By default, ``B = Identity``. Often called the "mass matrix". - M : {dense matrix, sparse matrix, LinearOperator}, optional - Preconditioner to `A`; by default ``M = Identity``. - `M` should approximate the inverse of `A`. - Y : ndarray, float32 or float64, optional - n-by-sizeY matrix of constraints (non-sparse), sizeY < n - The iterations will be performed in the B-orthogonal complement - of the column-space of Y. Y must be full rank. - tol : scalar, optional - Solver tolerance (stopping criterion). - The default is ``tol=n*sqrt(eps)``. - maxiter : int, optional - Maximum number of iterations. The default is ``maxiter = 20``. - largest : bool, optional - When True, solve for the largest eigenvalues, otherwise the smallest. - verbosityLevel : int, optional - Controls solver output. The default is ``verbosityLevel=0``. - retLambdaHistory : bool, optional - Whether to return eigenvalue history. Default is False. - retResidualNormsHistory : bool, optional - Whether to return history of residual norms. Default is False. - - Returns - ------- - w : ndarray - Array of ``k`` eigenvalues - v : ndarray - An array of ``k`` eigenvectors. `v` has the same shape as `X`. - lambdas : list of ndarray, optional - The eigenvalue history, if `retLambdaHistory` is True. - rnorms : list of ndarray, optional - The history of residual norms, if `retResidualNormsHistory` is True. - - Notes - ----- - If both ``retLambdaHistory`` and ``retResidualNormsHistory`` are True, - the return tuple has the following format - ``(lambda, V, lambda history, residual norms history)``. - - In the following ``n`` denotes the matrix size and ``m`` the number - of required eigenvalues (smallest or largest). - - The LOBPCG code internally solves eigenproblems of the size ``3m`` on every - iteration by calling the "standard" dense eigensolver, so if ``m`` is not - small enough compared to ``n``, it does not make sense to call the LOBPCG - code, but rather one should use the "standard" eigensolver, e.g. numpy or - scipy function in this case. - If one calls the LOBPCG algorithm for ``5m > n``, it will most likely break - internally, so the code tries to call the standard function instead. - - It is not that ``n`` should be large for the LOBPCG to work, but rather the - ratio ``n / m`` should be large. It you call LOBPCG with ``m=1`` - and ``n=10``, it works though ``n`` is small. The method is intended - for extremely large ``n / m``. - - The convergence speed depends basically on two factors: - - 1. How well relatively separated the seeking eigenvalues are from the rest - of the eigenvalues. One can try to vary ``m`` to make this better. - - 2. How well conditioned the problem is. This can be changed by using proper - preconditioning. For example, a rod vibration test problem (under tests - directory) is ill-conditioned for large ``n``, so convergence will be - slow, unless efficient preconditioning is used. For this specific - problem, a good simple preconditioner function would be a linear solve - for `A`, which is easy to code since A is tridiagonal. - - References - ---------- - .. [1] A. V. Knyazev (2001), - Toward the Optimal Preconditioned Eigensolver: Locally Optimal - Block Preconditioned Conjugate Gradient Method. - SIAM Journal on Scientific Computing 23, no. 2, - pp. 517-541. :doi:`10.1137/S1064827500366124` - - .. [2] A. V. Knyazev, I. Lashuk, M. E. Argentati, and E. Ovchinnikov - (2007), Block Locally Optimal Preconditioned Eigenvalue Xolvers - (BLOPEX) in hypre and PETSc. :arxiv:`0705.2626` - - .. [3] A. V. Knyazev's C and MATLAB implementations: - https://github.com/lobpcg/blopex - - Examples - -------- - - Solve ``A x = lambda x`` with constraints and preconditioning. - - >>> import numpy as np - >>> from scipy.sparse import spdiags, issparse - >>> from scipy.sparse.linalg import lobpcg, LinearOperator - >>> n = 100 - >>> vals = np.arange(1, n + 1) - >>> A = spdiags(vals, 0, n, n) - >>> A.toarray() - array([[ 1., 0., 0., ..., 0., 0., 0.], - [ 0., 2., 0., ..., 0., 0., 0.], - [ 0., 0., 3., ..., 0., 0., 0.], - ..., - [ 0., 0., 0., ..., 98., 0., 0.], - [ 0., 0., 0., ..., 0., 99., 0.], - [ 0., 0., 0., ..., 0., 0., 100.]]) - - Constraints: - - >>> Y = np.eye(n, 3) - - Initial guess for eigenvectors, should have linearly independent - columns. Column dimension = number of requested eigenvalues. - - >>> rng = np.random.default_rng() - >>> X = rng.random((n, 3)) - - Preconditioner in the inverse of A in this example: - - >>> invA = spdiags([1./vals], 0, n, n) - - The preconditiner must be defined by a function: - - >>> def precond( x ): - ... return invA @ x - - The argument x of the preconditioner function is a matrix inside `lobpcg`, - thus the use of matrix-matrix product ``@``. - - The preconditioner function is passed to lobpcg as a `LinearOperator`: - - >>> M = LinearOperator(matvec=precond, matmat=precond, - ... shape=(n, n), dtype=np.float64) - - Let us now solve the eigenvalue problem for the matrix A: - - >>> eigenvalues, _ = lobpcg(A, X, Y=Y, M=M, largest=False) - >>> eigenvalues - array([4., 5., 6.]) - - Note that the vectors passed in Y are the eigenvectors of the 3 smallest - eigenvalues. The results returned are orthogonal to those. - - """ - ... \ No newline at end of file diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/linalg/dsolve/_superlu.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/linalg/dsolve/_superlu.pyi deleted file mode 100644 index 46235001..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/linalg/dsolve/_superlu.pyi +++ /dev/null @@ -1,22 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.sparse.linalg.dsolve._superlu, version: unspecified -import typing -import builtins as _mod_builtins - -SuperLU = _mod_builtins.SuperLU -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def gssv() -> typing.Any: - 'Direct inversion of sparse matrix.\n\nX = gssv(A,B) solves A*X = B for X.' - ... - -def gstrf() -> typing.Any: - "gstrf(A, ...)\n\nperforms a factorization of the sparse matrix A=*(N,nnz,nzvals,rowind,colptr) and \nreturns a factored_lu object.\n\narguments\n---------\n\nMatrix to be factorized is represented as N,nnz,nzvals,rowind,colptr\n as separate arguments. This is compressed sparse column representation.\n\nN number of rows and columns \nnnz number of non-zero elements\nnzvals non-zero values \nrowind row-index for this column (same size as nzvals)\ncolptr index into rowind for first non-zero value in this column\n size is (N+1). Last value should be nnz. \n\nadditional keyword arguments:\n-----------------------------\noptions specifies additional options for SuperLU\n (same keys and values as in superlu_options_t C structure,\n and additionally 'Relax' and 'PanelSize')\n\nilu whether to perform an incomplete LU decomposition\n (default: false)\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/linalg/eigen/arpack/_arpack.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/linalg/eigen/arpack/_arpack.pyi deleted file mode 100644 index ac37ec0e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/linalg/eigen/arpack/_arpack.pyi +++ /dev/null @@ -1,70 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.sparse.linalg.eigen.arpack._arpack, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def cnaupd(ido, bmat, which, nev, tol, resid, v, iparam, ipntr, workd, workl, rwork, info, n=..., ncv=..., ldv=..., lworkl=...) -> typing.Any: - "ido,tol,resid,v,iparam,ipntr,info = cnaupd(ido,bmat,which,nev,tol,resid,v,iparam,ipntr,workd,workl,rwork,info,[n,ncv,ldv,lworkl])\n\nWrapper for ``cnaupd``.\n\nParameters\n----------\nido : input int\nbmat : input string(len=1)\nwhich : input string(len=2)\nnev : input int\ntol : input float\nresid : input rank-1 array('F') with bounds (n)\nv : input rank-2 array('F') with bounds (ldv,ncv)\niparam : input rank-1 array('i') with bounds (11)\nipntr : input rank-1 array('i') with bounds (14)\nworkd : in/output rank-1 array('F') with bounds (3 * n)\nworkl : in/output rank-1 array('F') with bounds (lworkl)\nrwork : in/output rank-1 array('f') with bounds (ncv)\ninfo : input int\n\nOther Parameters\n----------------\nn : input int, optional\n Default: len(resid)\nncv : input int, optional\n Default: shape(v,1)\nldv : input int, optional\n Default: shape(v,0)\nlworkl : input int, optional\n Default: len(workl)\n\nReturns\n-------\nido : int\ntol : float\nresid : rank-1 array('F') with bounds (n)\nv : rank-2 array('F') with bounds (ldv,ncv)\niparam : rank-1 array('i') with bounds (11)\nipntr : rank-1 array('i') with bounds (14)\ninfo : int\n" - ... - -def cneupd(rvec, howmny, select, sigma, workev, bmat, which, nev, tol, resid, v, iparam, ipntr, workd, workl, rwork, info, ldz=..., n=..., ncv=..., ldv=..., lworkl=...) -> typing.Any: - "d,z,info = cneupd(rvec,howmny,select,sigma,workev,bmat,which,nev,tol,resid,v,iparam,ipntr,workd,workl,rwork,info,[ldz,n,ncv,ldv,lworkl])\n\nWrapper for ``cneupd``.\n\nParameters\n----------\nrvec : input int\nhowmny : input string(len=1)\nselect : input rank-1 array('i') with bounds (ncv)\nsigma : input complex\nworkev : input rank-1 array('F') with bounds (3 * ncv)\nbmat : input string(len=1)\nwhich : input string(len=2)\nnev : input int\ntol : input float\nresid : input rank-1 array('F') with bounds (n)\nv : input rank-2 array('F') with bounds (ldv,ncv)\niparam : input rank-1 array('i') with bounds (11)\nipntr : input rank-1 array('i') with bounds (14)\nworkd : input rank-1 array('F') with bounds (3 * n)\nworkl : input rank-1 array('F') with bounds (lworkl)\nrwork : input rank-1 array('f') with bounds (ncv)\ninfo : input int\n\nOther Parameters\n----------------\nldz : input int, optional\n Default: shape(z,0)\nn : input int, optional\n Default: len(resid)\nncv : input int, optional\n Default: len(select)\nldv : input int, optional\n Default: shape(v,0)\nlworkl : input int, optional\n Default: len(workl)\n\nReturns\n-------\nd : rank-1 array('F') with bounds (nev)\nz : rank-2 array('F') with bounds (n,nev)\ninfo : int\n" - ... - -def debug() -> typing.Any: - "'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n" - ... - -def dnaupd(ido, bmat, which, nev, tol, resid, v, iparam, ipntr, workd, workl, info, n=..., ncv=..., ldv=..., lworkl=...) -> typing.Any: - "ido,tol,resid,v,iparam,ipntr,info = dnaupd(ido,bmat,which,nev,tol,resid,v,iparam,ipntr,workd,workl,info,[n,ncv,ldv,lworkl])\n\nWrapper for ``dnaupd``.\n\nParameters\n----------\nido : input int\nbmat : input string(len=1)\nwhich : input string(len=2)\nnev : input int\ntol : input float\nresid : input rank-1 array('d') with bounds (n)\nv : input rank-2 array('d') with bounds (ldv,ncv)\niparam : input rank-1 array('i') with bounds (11)\nipntr : input rank-1 array('i') with bounds (14)\nworkd : in/output rank-1 array('d') with bounds (3 * n)\nworkl : in/output rank-1 array('d') with bounds (lworkl)\ninfo : input int\n\nOther Parameters\n----------------\nn : input int, optional\n Default: len(resid)\nncv : input int, optional\n Default: shape(v,1)\nldv : input int, optional\n Default: shape(v,0)\nlworkl : input int, optional\n Default: len(workl)\n\nReturns\n-------\nido : int\ntol : float\nresid : rank-1 array('d') with bounds (n)\nv : rank-2 array('d') with bounds (ldv,ncv)\niparam : rank-1 array('i') with bounds (11)\nipntr : rank-1 array('i') with bounds (14)\ninfo : int\n" - ... - -def dneupd(rvec, howmny, select, sigmar, sigmai, workev, bmat, which, nev, tol, resid, v, iparam, ipntr, workd, workl, info, ldz=..., n=..., ncv=..., ldv=..., lworkl=...) -> typing.Any: - "dr,di,z,info = dneupd(rvec,howmny,select,sigmar,sigmai,workev,bmat,which,nev,tol,resid,v,iparam,ipntr,workd,workl,info,[ldz,n,ncv,ldv,lworkl])\n\nWrapper for ``dneupd``.\n\nParameters\n----------\nrvec : input int\nhowmny : input string(len=1)\nselect : input rank-1 array('i') with bounds (ncv)\nsigmar : input float\nsigmai : input float\nworkev : input rank-1 array('d') with bounds (3 * ncv)\nbmat : input string(len=1)\nwhich : input string(len=2)\nnev : input int\ntol : input float\nresid : input rank-1 array('d') with bounds (n)\nv : input rank-2 array('d') with bounds (n,ncv)\niparam : input rank-1 array('i') with bounds (11)\nipntr : input rank-1 array('i') with bounds (14)\nworkd : input rank-1 array('d') with bounds (3 * n)\nworkl : input rank-1 array('d') with bounds (lworkl)\ninfo : input int\n\nOther Parameters\n----------------\nldz : input int, optional\n Default: shape(z,0)\nn : input int, optional\n Default: len(resid)\nncv : input int, optional\n Default: len(select)\nldv : input int, optional\n Default: shape(v,0)\nlworkl : input int, optional\n Default: len(workl)\n\nReturns\n-------\ndr : rank-1 array('d') with bounds (nev + 1)\ndi : rank-1 array('d') with bounds (nev + 1)\nz : rank-2 array('d') with bounds (n,nev + 1)\ninfo : int\n" - ... - -def dsaupd(ido, bmat, which, nev, tol, resid, v, iparam, ipntr, workd, workl, info, n=..., ncv=..., ldv=..., lworkl=...) -> typing.Any: - "ido,tol,resid,v,iparam,ipntr,info = dsaupd(ido,bmat,which,nev,tol,resid,v,iparam,ipntr,workd,workl,info,[n,ncv,ldv,lworkl])\n\nWrapper for ``dsaupd``.\n\nParameters\n----------\nido : input int\nbmat : input string(len=1)\nwhich : input string(len=2)\nnev : input int\ntol : input float\nresid : input rank-1 array('d') with bounds (n)\nv : input rank-2 array('d') with bounds (ldv,ncv)\niparam : input rank-1 array('i') with bounds (11)\nipntr : input rank-1 array('i') with bounds (11)\nworkd : in/output rank-1 array('d') with bounds (3 * n)\nworkl : in/output rank-1 array('d') with bounds (lworkl)\ninfo : input int\n\nOther Parameters\n----------------\nn : input int, optional\n Default: len(resid)\nncv : input int, optional\n Default: shape(v,1)\nldv : input int, optional\n Default: shape(v,0)\nlworkl : input int, optional\n Default: len(workl)\n\nReturns\n-------\nido : int\ntol : float\nresid : rank-1 array('d') with bounds (n)\nv : rank-2 array('d') with bounds (ldv,ncv)\niparam : rank-1 array('i') with bounds (11)\nipntr : rank-1 array('i') with bounds (11)\ninfo : int\n" - ... - -def dseupd(rvec, howmny, select, sigma, bmat, which, nev, tol, resid, v, iparam, ipntr, workd, workl, info, ldz=..., n=..., ncv=..., ldv=..., lworkl=...) -> typing.Any: - "d,z,info = dseupd(rvec,howmny,select,sigma,bmat,which,nev,tol,resid,v,iparam,ipntr,workd,workl,info,[ldz,n,ncv,ldv,lworkl])\n\nWrapper for ``dseupd``.\n\nParameters\n----------\nrvec : input int\nhowmny : input string(len=1)\nselect : input rank-1 array('i') with bounds (ncv)\nsigma : input float\nbmat : input string(len=1)\nwhich : input string(len=2)\nnev : input int\ntol : input float\nresid : input rank-1 array('d') with bounds (n)\nv : input rank-2 array('d') with bounds (ldv,ncv)\niparam : input rank-1 array('i') with bounds (7)\nipntr : input rank-1 array('i') with bounds (11)\nworkd : input rank-1 array('d') with bounds (2 * n)\nworkl : input rank-1 array('d') with bounds (lworkl)\ninfo : input int\n\nOther Parameters\n----------------\nldz : input int, optional\n Default: shape(z,0)\nn : input int, optional\n Default: len(resid)\nncv : input int, optional\n Default: len(select)\nldv : input int, optional\n Default: shape(v,0)\nlworkl : input int, optional\n Default: len(workl)\n\nReturns\n-------\nd : rank-1 array('d') with bounds (nev)\nz : rank-2 array('d') with bounds (n,nev)\ninfo : int\n" - ... - -def snaupd(ido, bmat, which, nev, tol, resid, v, iparam, ipntr, workd, workl, info, n=..., ncv=..., ldv=..., lworkl=...) -> typing.Any: - "ido,tol,resid,v,iparam,ipntr,info = snaupd(ido,bmat,which,nev,tol,resid,v,iparam,ipntr,workd,workl,info,[n,ncv,ldv,lworkl])\n\nWrapper for ``snaupd``.\n\nParameters\n----------\nido : input int\nbmat : input string(len=1)\nwhich : input string(len=2)\nnev : input int\ntol : input float\nresid : input rank-1 array('f') with bounds (n)\nv : input rank-2 array('f') with bounds (ldv,ncv)\niparam : input rank-1 array('i') with bounds (11)\nipntr : input rank-1 array('i') with bounds (14)\nworkd : in/output rank-1 array('f') with bounds (3 * n)\nworkl : in/output rank-1 array('f') with bounds (lworkl)\ninfo : input int\n\nOther Parameters\n----------------\nn : input int, optional\n Default: len(resid)\nncv : input int, optional\n Default: shape(v,1)\nldv : input int, optional\n Default: shape(v,0)\nlworkl : input int, optional\n Default: len(workl)\n\nReturns\n-------\nido : int\ntol : float\nresid : rank-1 array('f') with bounds (n)\nv : rank-2 array('f') with bounds (ldv,ncv)\niparam : rank-1 array('i') with bounds (11)\nipntr : rank-1 array('i') with bounds (14)\ninfo : int\n" - ... - -def sneupd(rvec, howmny, select, sigmar, sigmai, workev, bmat, which, nev, tol, resid, v, iparam, ipntr, workd, workl, info, ldz=..., n=..., ncv=..., ldv=..., lworkl=...) -> typing.Any: - "dr,di,z,info = sneupd(rvec,howmny,select,sigmar,sigmai,workev,bmat,which,nev,tol,resid,v,iparam,ipntr,workd,workl,info,[ldz,n,ncv,ldv,lworkl])\n\nWrapper for ``sneupd``.\n\nParameters\n----------\nrvec : input int\nhowmny : input string(len=1)\nselect : input rank-1 array('i') with bounds (ncv)\nsigmar : input float\nsigmai : input float\nworkev : input rank-1 array('f') with bounds (3 * ncv)\nbmat : input string(len=1)\nwhich : input string(len=2)\nnev : input int\ntol : input float\nresid : input rank-1 array('f') with bounds (n)\nv : input rank-2 array('f') with bounds (n,ncv)\niparam : input rank-1 array('i') with bounds (11)\nipntr : input rank-1 array('i') with bounds (14)\nworkd : input rank-1 array('f') with bounds (3 * n)\nworkl : input rank-1 array('f') with bounds (lworkl)\ninfo : input int\n\nOther Parameters\n----------------\nldz : input int, optional\n Default: shape(z,0)\nn : input int, optional\n Default: len(resid)\nncv : input int, optional\n Default: len(select)\nldv : input int, optional\n Default: shape(v,0)\nlworkl : input int, optional\n Default: len(workl)\n\nReturns\n-------\ndr : rank-1 array('f') with bounds (nev + 1)\ndi : rank-1 array('f') with bounds (nev + 1)\nz : rank-2 array('f') with bounds (n,nev + 1)\ninfo : int\n" - ... - -def ssaupd(ido, bmat, which, nev, tol, resid, v, iparam, ipntr, workd, workl, info, n=..., ncv=..., ldv=..., lworkl=...) -> typing.Any: - "ido,tol,resid,v,iparam,ipntr,info = ssaupd(ido,bmat,which,nev,tol,resid,v,iparam,ipntr,workd,workl,info,[n,ncv,ldv,lworkl])\n\nWrapper for ``ssaupd``.\n\nParameters\n----------\nido : input int\nbmat : input string(len=1)\nwhich : input string(len=2)\nnev : input int\ntol : input float\nresid : input rank-1 array('f') with bounds (n)\nv : input rank-2 array('f') with bounds (ldv,ncv)\niparam : input rank-1 array('i') with bounds (11)\nipntr : input rank-1 array('i') with bounds (11)\nworkd : in/output rank-1 array('f') with bounds (3 * n)\nworkl : in/output rank-1 array('f') with bounds (lworkl)\ninfo : input int\n\nOther Parameters\n----------------\nn : input int, optional\n Default: len(resid)\nncv : input int, optional\n Default: shape(v,1)\nldv : input int, optional\n Default: shape(v,0)\nlworkl : input int, optional\n Default: len(workl)\n\nReturns\n-------\nido : int\ntol : float\nresid : rank-1 array('f') with bounds (n)\nv : rank-2 array('f') with bounds (ldv,ncv)\niparam : rank-1 array('i') with bounds (11)\nipntr : rank-1 array('i') with bounds (11)\ninfo : int\n" - ... - -def sseupd(rvec, howmny, select, sigma, bmat, which, nev, tol, resid, v, iparam, ipntr, workd, workl, info, ldz=..., n=..., ncv=..., ldv=..., lworkl=...) -> typing.Any: - "d,z,info = sseupd(rvec,howmny,select,sigma,bmat,which,nev,tol,resid,v,iparam,ipntr,workd,workl,info,[ldz,n,ncv,ldv,lworkl])\n\nWrapper for ``sseupd``.\n\nParameters\n----------\nrvec : input int\nhowmny : input string(len=1)\nselect : input rank-1 array('i') with bounds (ncv)\nsigma : input float\nbmat : input string(len=1)\nwhich : input string(len=2)\nnev : input int\ntol : input float\nresid : input rank-1 array('f') with bounds (n)\nv : input rank-2 array('f') with bounds (ldv,ncv)\niparam : input rank-1 array('i') with bounds (7)\nipntr : input rank-1 array('i') with bounds (11)\nworkd : input rank-1 array('f') with bounds (2 * n)\nworkl : input rank-1 array('f') with bounds (lworkl)\ninfo : input int\n\nOther Parameters\n----------------\nldz : input int, optional\n Default: shape(z,0)\nn : input int, optional\n Default: len(resid)\nncv : input int, optional\n Default: len(select)\nldv : input int, optional\n Default: shape(v,0)\nlworkl : input int, optional\n Default: len(workl)\n\nReturns\n-------\nd : rank-1 array('f') with bounds (nev)\nz : rank-2 array('f') with bounds (n,nev)\ninfo : int\n" - ... - -def timing() -> typing.Any: - "'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'i'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n'f'-scalar\n" - ... - -def znaupd(ido, bmat, which, nev, tol, resid, v, iparam, ipntr, workd, workl, rwork, info, n=..., ncv=..., ldv=..., lworkl=...) -> typing.Any: - "ido,tol,resid,v,iparam,ipntr,info = znaupd(ido,bmat,which,nev,tol,resid,v,iparam,ipntr,workd,workl,rwork,info,[n,ncv,ldv,lworkl])\n\nWrapper for ``znaupd``.\n\nParameters\n----------\nido : input int\nbmat : input string(len=1)\nwhich : input string(len=2)\nnev : input int\ntol : input float\nresid : input rank-1 array('D') with bounds (n)\nv : input rank-2 array('D') with bounds (ldv,ncv)\niparam : input rank-1 array('i') with bounds (11)\nipntr : input rank-1 array('i') with bounds (14)\nworkd : in/output rank-1 array('D') with bounds (3 * n)\nworkl : in/output rank-1 array('D') with bounds (lworkl)\nrwork : in/output rank-1 array('d') with bounds (ncv)\ninfo : input int\n\nOther Parameters\n----------------\nn : input int, optional\n Default: len(resid)\nncv : input int, optional\n Default: shape(v,1)\nldv : input int, optional\n Default: shape(v,0)\nlworkl : input int, optional\n Default: len(workl)\n\nReturns\n-------\nido : int\ntol : float\nresid : rank-1 array('D') with bounds (n)\nv : rank-2 array('D') with bounds (ldv,ncv)\niparam : rank-1 array('i') with bounds (11)\nipntr : rank-1 array('i') with bounds (14)\ninfo : int\n" - ... - -def zneupd(rvec, howmny, select, sigma, workev, bmat, which, nev, tol, resid, v, iparam, ipntr, workd, workl, rwork, info, ldz=..., n=..., ncv=..., ldv=..., lworkl=...) -> typing.Any: - "d,z,info = zneupd(rvec,howmny,select,sigma,workev,bmat,which,nev,tol,resid,v,iparam,ipntr,workd,workl,rwork,info,[ldz,n,ncv,ldv,lworkl])\n\nWrapper for ``zneupd``.\n\nParameters\n----------\nrvec : input int\nhowmny : input string(len=1)\nselect : input rank-1 array('i') with bounds (ncv)\nsigma : input complex\nworkev : input rank-1 array('D') with bounds (3 * ncv)\nbmat : input string(len=1)\nwhich : input string(len=2)\nnev : input int\ntol : input float\nresid : input rank-1 array('D') with bounds (n)\nv : input rank-2 array('D') with bounds (ldv,ncv)\niparam : input rank-1 array('i') with bounds (11)\nipntr : input rank-1 array('i') with bounds (14)\nworkd : input rank-1 array('D') with bounds (3 * n)\nworkl : input rank-1 array('D') with bounds (lworkl)\nrwork : input rank-1 array('d') with bounds (ncv)\ninfo : input int\n\nOther Parameters\n----------------\nldz : input int, optional\n Default: shape(z,0)\nn : input int, optional\n Default: len(resid)\nncv : input int, optional\n Default: len(select)\nldv : input int, optional\n Default: shape(v,0)\nlworkl : input int, optional\n Default: len(workl)\n\nReturns\n-------\nd : rank-1 array('D') with bounds (nev)\nz : rank-2 array('D') with bounds (n,nev)\ninfo : int\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/linalg/isolve/_iterative.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/linalg/isolve/_iterative.pyi deleted file mode 100644 index 0b3968d4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/sparse/linalg/isolve/_iterative.pyi +++ /dev/null @@ -1,110 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.sparse.linalg.isolve._iterative, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def cbicgrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = cbicgrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``cbicgrevcom``.\n\nParameters\n----------\nb : input rank-1 array('F') with bounds (n)\nx : input rank-1 array('F') with bounds (n)\nwork : in/output rank-1 array('F') with bounds (6 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('F') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : complex\nsclr2 : complex\nijob : int\n" - ... - -def cbicgstabrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = cbicgstabrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``cbicgstabrevcom``.\n\nParameters\n----------\nb : input rank-1 array('F') with bounds (n)\nx : input rank-1 array('F') with bounds (n)\nwork : in/output rank-1 array('F') with bounds (7 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('F') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : complex\nsclr2 : complex\nijob : int\n" - ... - -def ccgrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = ccgrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``ccgrevcom``.\n\nParameters\n----------\nb : input rank-1 array('F') with bounds (n)\nx : input rank-1 array('F') with bounds (n)\nwork : in/output rank-1 array('F') with bounds (4 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('F') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : complex\nsclr2 : complex\nijob : int\n" - ... - -def ccgsrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = ccgsrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``ccgsrevcom``.\n\nParameters\n----------\nb : input rank-1 array('F') with bounds (n)\nx : input rank-1 array('F') with bounds (n)\nwork : in/output rank-1 array('F') with bounds (7 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('F') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : complex\nsclr2 : complex\nijob : int\n" - ... - -def cgmresrevcom(b, x, restrt, work, work2, iter, resid, info, ndx1, ndx2, ijob, tol) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = cgmresrevcom(b,x,restrt,work,work2,iter,resid,info,ndx1,ndx2,ijob,tol)\n\nWrapper for ``cgmresrevcom``.\n\nParameters\n----------\nb : input rank-1 array('F') with bounds (n)\nx : input rank-1 array('F') with bounds (n)\nrestrt : input int\nwork : in/output rank-1 array('F') with bounds (ldw*(6+restrt))\nwork2 : in/output rank-1 array('F') with bounds (ldw2*(2*restrt+2))\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\ntol : input float\n\nReturns\n-------\nx : rank-1 array('F') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : complex\nsclr2 : complex\nijob : int\n" - ... - -def cqmrrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = cqmrrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``cqmrrevcom``.\n\nParameters\n----------\nb : input rank-1 array('F') with bounds (n)\nx : input rank-1 array('F') with bounds (n)\nwork : in/output rank-1 array('F') with bounds (11 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('F') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : complex\nsclr2 : complex\nijob : int\n" - ... - -def dbicgrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = dbicgrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``dbicgrevcom``.\n\nParameters\n----------\nb : input rank-1 array('d') with bounds (n)\nx : input rank-1 array('d') with bounds (n)\nwork : in/output rank-1 array('d') with bounds (6 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('d') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : float\nsclr2 : float\nijob : int\n" - ... - -def dbicgstabrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = dbicgstabrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``dbicgstabrevcom``.\n\nParameters\n----------\nb : input rank-1 array('d') with bounds (n)\nx : input rank-1 array('d') with bounds (n)\nwork : in/output rank-1 array('d') with bounds (7 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('d') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : float\nsclr2 : float\nijob : int\n" - ... - -def dcgrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = dcgrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``dcgrevcom``.\n\nParameters\n----------\nb : input rank-1 array('d') with bounds (n)\nx : input rank-1 array('d') with bounds (n)\nwork : in/output rank-1 array('d') with bounds (4 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('d') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : float\nsclr2 : float\nijob : int\n" - ... - -def dcgsrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = dcgsrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``dcgsrevcom``.\n\nParameters\n----------\nb : input rank-1 array('d') with bounds (n)\nx : input rank-1 array('d') with bounds (n)\nwork : in/output rank-1 array('d') with bounds (7 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('d') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : float\nsclr2 : float\nijob : int\n" - ... - -def dgmresrevcom(b, x, restrt, work, work2, iter, resid, info, ndx1, ndx2, ijob, tol) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = dgmresrevcom(b,x,restrt,work,work2,iter,resid,info,ndx1,ndx2,ijob,tol)\n\nWrapper for ``dgmresrevcom``.\n\nParameters\n----------\nb : input rank-1 array('d') with bounds (n)\nx : input rank-1 array('d') with bounds (n)\nrestrt : input int\nwork : in/output rank-1 array('d') with bounds (ldw*(6+restrt))\nwork2 : in/output rank-1 array('d') with bounds (ldw2*(2*restrt+2))\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\ntol : input float\n\nReturns\n-------\nx : rank-1 array('d') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : float\nsclr2 : float\nijob : int\n" - ... - -def dqmrrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = dqmrrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``dqmrrevcom``.\n\nParameters\n----------\nb : input rank-1 array('d') with bounds (n)\nx : input rank-1 array('d') with bounds (n)\nwork : in/output rank-1 array('d') with bounds (11 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('d') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : float\nsclr2 : float\nijob : int\n" - ... - -def sbicgrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = sbicgrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``sbicgrevcom``.\n\nParameters\n----------\nb : input rank-1 array('f') with bounds (n)\nx : input rank-1 array('f') with bounds (n)\nwork : in/output rank-1 array('f') with bounds (6 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('f') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : float\nsclr2 : float\nijob : int\n" - ... - -def sbicgstabrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = sbicgstabrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``sbicgstabrevcom``.\n\nParameters\n----------\nb : input rank-1 array('f') with bounds (n)\nx : input rank-1 array('f') with bounds (n)\nwork : in/output rank-1 array('f') with bounds (7 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('f') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : float\nsclr2 : float\nijob : int\n" - ... - -def scgrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = scgrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``scgrevcom``.\n\nParameters\n----------\nb : input rank-1 array('f') with bounds (n)\nx : input rank-1 array('f') with bounds (n)\nwork : in/output rank-1 array('f') with bounds (4 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('f') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : float\nsclr2 : float\nijob : int\n" - ... - -def scgsrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = scgsrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``scgsrevcom``.\n\nParameters\n----------\nb : input rank-1 array('f') with bounds (n)\nx : input rank-1 array('f') with bounds (n)\nwork : in/output rank-1 array('f') with bounds (7 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('f') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : float\nsclr2 : float\nijob : int\n" - ... - -def sgmresrevcom(b, x, restrt, work, work2, iter, resid, info, ndx1, ndx2, ijob, tol) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = sgmresrevcom(b,x,restrt,work,work2,iter,resid,info,ndx1,ndx2,ijob,tol)\n\nWrapper for ``sgmresrevcom``.\n\nParameters\n----------\nb : input rank-1 array('f') with bounds (n)\nx : input rank-1 array('f') with bounds (n)\nrestrt : input int\nwork : in/output rank-1 array('f') with bounds (ldw*(6+restrt))\nwork2 : in/output rank-1 array('f') with bounds (ldw2*(2*restrt+2))\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\ntol : input float\n\nReturns\n-------\nx : rank-1 array('f') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : float\nsclr2 : float\nijob : int\n" - ... - -def sqmrrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = sqmrrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``sqmrrevcom``.\n\nParameters\n----------\nb : input rank-1 array('f') with bounds (n)\nx : input rank-1 array('f') with bounds (n)\nwork : in/output rank-1 array('f') with bounds (11 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('f') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : float\nsclr2 : float\nijob : int\n" - ... - -def zbicgrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = zbicgrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``zbicgrevcom``.\n\nParameters\n----------\nb : input rank-1 array('D') with bounds (n)\nx : input rank-1 array('D') with bounds (n)\nwork : in/output rank-1 array('D') with bounds (6 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('D') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : complex\nsclr2 : complex\nijob : int\n" - ... - -def zbicgstabrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = zbicgstabrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``zbicgstabrevcom``.\n\nParameters\n----------\nb : input rank-1 array('D') with bounds (n)\nx : input rank-1 array('D') with bounds (n)\nwork : in/output rank-1 array('D') with bounds (7 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('D') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : complex\nsclr2 : complex\nijob : int\n" - ... - -def zcgrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = zcgrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``zcgrevcom``.\n\nParameters\n----------\nb : input rank-1 array('D') with bounds (n)\nx : input rank-1 array('D') with bounds (n)\nwork : in/output rank-1 array('D') with bounds (4 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('D') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : complex\nsclr2 : complex\nijob : int\n" - ... - -def zcgsrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = zcgsrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``zcgsrevcom``.\n\nParameters\n----------\nb : input rank-1 array('D') with bounds (n)\nx : input rank-1 array('D') with bounds (n)\nwork : in/output rank-1 array('D') with bounds (7 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('D') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : complex\nsclr2 : complex\nijob : int\n" - ... - -def zgmresrevcom(b, x, restrt, work, work2, iter, resid, info, ndx1, ndx2, ijob, tol) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = zgmresrevcom(b,x,restrt,work,work2,iter,resid,info,ndx1,ndx2,ijob,tol)\n\nWrapper for ``zgmresrevcom``.\n\nParameters\n----------\nb : input rank-1 array('D') with bounds (n)\nx : input rank-1 array('D') with bounds (n)\nrestrt : input int\nwork : in/output rank-1 array('D') with bounds (ldw*(6+restrt))\nwork2 : in/output rank-1 array('D') with bounds (ldw2*(2*restrt+2))\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\ntol : input float\n\nReturns\n-------\nx : rank-1 array('D') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : complex\nsclr2 : complex\nijob : int\n" - ... - -def zqmrrevcom(b, x, work, iter, resid, info, ndx1, ndx2, ijob) -> typing.Any: - "x,iter,resid,info,ndx1,ndx2,sclr1,sclr2,ijob = zqmrrevcom(b,x,work,iter,resid,info,ndx1,ndx2,ijob)\n\nWrapper for ``zqmrrevcom``.\n\nParameters\n----------\nb : input rank-1 array('D') with bounds (n)\nx : input rank-1 array('D') with bounds (n)\nwork : in/output rank-1 array('D') with bounds (11 * ldw)\niter : input int\nresid : input float\ninfo : input int\nndx1 : input int\nndx2 : input int\nijob : input int\n\nReturns\n-------\nx : rank-1 array('D') with bounds (n)\niter : int\nresid : float\ninfo : int\nndx1 : int\nndx2 : int\nsclr1 : complex\nsclr2 : complex\nijob : int\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/_distance_wrap.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/_distance_wrap.pyi deleted file mode 100644 index 0e9e85cf..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/_distance_wrap.pyi +++ /dev/null @@ -1,175 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.spatial._distance_wrap, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def cdist_braycurtis_double_wrap() -> typing.Any: - ... - -def cdist_canberra_double_wrap() -> typing.Any: - ... - -def cdist_chebyshev_double_wrap() -> typing.Any: - ... - -def cdist_cityblock_double_wrap() -> typing.Any: - ... - -def cdist_correlation_double_wrap(XA, XB, dm, **kwargs) -> typing.Any: - ... - -def cdist_cosine_double_wrap() -> typing.Any: - ... - -def cdist_dice_bool_wrap() -> typing.Any: - ... - -def cdist_euclidean_double_wrap() -> typing.Any: - ... - -def cdist_hamming_bool_wrap() -> typing.Any: - ... - -def cdist_hamming_double_wrap() -> typing.Any: - ... - -def cdist_jaccard_bool_wrap() -> typing.Any: - ... - -def cdist_jaccard_double_wrap() -> typing.Any: - ... - -def cdist_jensenshannon_double_wrap() -> typing.Any: - ... - -def cdist_kulsinski_bool_wrap() -> typing.Any: - ... - -def cdist_mahalanobis_double_wrap() -> typing.Any: - ... - -def cdist_minkowski_double_wrap() -> typing.Any: - ... - -def cdist_old_weighted_minkowski_double_wrap() -> typing.Any: - ... - -def cdist_rogerstanimoto_bool_wrap() -> typing.Any: - ... - -def cdist_russellrao_bool_wrap() -> typing.Any: - ... - -def cdist_seuclidean_double_wrap() -> typing.Any: - ... - -def cdist_sokalmichener_bool_wrap() -> typing.Any: - ... - -def cdist_sokalsneath_bool_wrap() -> typing.Any: - ... - -def cdist_sqeuclidean_double_wrap() -> typing.Any: - ... - -def cdist_weighted_chebyshev_double_wrap() -> typing.Any: - ... - -def cdist_weighted_minkowski_double_wrap() -> typing.Any: - ... - -def cdist_yule_bool_wrap() -> typing.Any: - ... - -def pdist_braycurtis_double_wrap() -> typing.Any: - ... - -def pdist_canberra_double_wrap() -> typing.Any: - ... - -def pdist_chebyshev_double_wrap() -> typing.Any: - ... - -def pdist_cityblock_double_wrap() -> typing.Any: - ... - -def pdist_correlation_double_wrap(X, dm, **kwargs) -> typing.Any: - ... - -def pdist_cosine_double_wrap() -> typing.Any: - ... - -def pdist_dice_bool_wrap() -> typing.Any: - ... - -def pdist_euclidean_double_wrap() -> typing.Any: - ... - -def pdist_hamming_bool_wrap() -> typing.Any: - ... - -def pdist_hamming_double_wrap() -> typing.Any: - ... - -def pdist_jaccard_bool_wrap() -> typing.Any: - ... - -def pdist_jaccard_double_wrap() -> typing.Any: - ... - -def pdist_jensenshannon_double_wrap() -> typing.Any: - ... - -def pdist_kulsinski_bool_wrap() -> typing.Any: - ... - -def pdist_mahalanobis_double_wrap() -> typing.Any: - ... - -def pdist_minkowski_double_wrap() -> typing.Any: - ... - -def pdist_old_weighted_minkowski_double_wrap() -> typing.Any: - ... - -def pdist_rogerstanimoto_bool_wrap() -> typing.Any: - ... - -def pdist_russellrao_bool_wrap() -> typing.Any: - ... - -def pdist_seuclidean_double_wrap() -> typing.Any: - ... - -def pdist_sokalmichener_bool_wrap() -> typing.Any: - ... - -def pdist_sokalsneath_bool_wrap() -> typing.Any: - ... - -def pdist_sqeuclidean_double_wrap() -> typing.Any: - ... - -def pdist_weighted_chebyshev_double_wrap() -> typing.Any: - ... - -def pdist_weighted_minkowski_double_wrap() -> typing.Any: - ... - -def pdist_yule_bool_wrap() -> typing.Any: - ... - -def to_squareform_from_vector_wrap() -> typing.Any: - ... - -def to_vector_from_squareform_wrap() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/_hausdorff.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/_hausdorff.pyi deleted file mode 100644 index a80a721c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/_hausdorff.pyi +++ /dev/null @@ -1,21 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.spatial._hausdorff, version: unspecified -import typing -import builtins as _mod_builtins - -__all__: list -__doc__: str -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def directed_hausdorff() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/_voronoi.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/_voronoi.pyi deleted file mode 100644 index b00f360b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/_voronoi.pyi +++ /dev/null @@ -1,21 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.spatial._voronoi, version: unspecified -import typing -import builtins as _mod_builtins - -__all__: list -__doc__: str -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def sort_vertices_of_regions() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/ckdtree.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/ckdtree.pyi deleted file mode 100644 index 456c3c6a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/ckdtree.pyi +++ /dev/null @@ -1,263 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.spatial.ckdtree, version: unspecified -import typing -import builtins as _mod_builtins - -__all__: list -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -def __pyx_unpickle_cKDTreeNode() -> typing.Any: - ... - -__test__: dict -class cKDTree(_mod_builtins.object): - '\n cKDTree(data, leafsize=16, compact_nodes=True, copy_data=False,\n balanced_tree=True, boxsize=None)\n\n kd-tree for quick nearest-neighbor lookup\n\n This class provides an index into a set of k-dimensional points\n which can be used to rapidly look up the nearest neighbors of any\n point.\n\n Parameters\n ----------\n data : array_like, shape (n,m)\n The n data points of dimension m to be indexed. This array is\n not copied unless this is necessary to produce a contiguous\n array of doubles, and so modifying this data will result in\n bogus results. The data are also copied if the kd-tree is built\n with copy_data=True.\n leafsize : positive int, optional\n The number of points at which the algorithm switches over to\n brute-force. Default: 16.\n compact_nodes : bool, optional\n If True, the kd-tree is built to shrink the hyperrectangles to\n the actual data range. This usually gives a more compact tree that\n is robust against degenerated input data and gives faster queries\n at the expense of longer build time. Default: True.\n copy_data : bool, optional\n If True the data is always copied to protect the kd-tree against\n data corruption. Default: False.\n balanced_tree : bool, optional\n If True, the median is used to split the hyperrectangles instead of\n the midpoint. This usually gives a more compact tree and\n faster queries at the expense of longer build time. Default: True.\n boxsize : array_like or scalar, optional\n Apply a m-d toroidal topology to the KDTree.. The topology is generated\n by :math:`x_i + n_i L_i` where :math:`n_i` are integers and :math:`L_i`\n is the boxsize along i-th dimension. The input data shall be wrapped\n into :math:`[0, L_i)`. A ValueError is raised if any of the data is\n outside of this bound.\n\n Notes\n -----\n The algorithm used is described in Maneewongvatana and Mount 1999.\n The general idea is that the kd-tree is a binary tree, each of whose\n nodes represents an axis-aligned hyperrectangle. Each node specifies\n an axis and splits the set of points based on whether their coordinate\n along that axis is greater than or less than a particular value.\n\n During construction, the axis and splitting point are chosen by the\n "sliding midpoint" rule, which ensures that the cells do not all\n become long and thin.\n\n The tree can be queried for the r closest neighbors of any given point\n (optionally returning only those within some maximum distance of the\n point). It can also be queried, with a substantial gain in efficiency,\n for the r approximate closest neighbors.\n\n For large dimensions (20 is already large) do not expect this to run\n significantly faster than brute force. High-dimensional nearest-neighbor\n queries are a substantial open problem in computer science.\n\n Attributes\n ----------\n data : ndarray, shape (n,m)\n The n data points of dimension m to be indexed. This array is\n not copied unless this is necessary to produce a contiguous\n array of doubles. The data are also copied if the kd-tree is built\n with `copy_data=True`.\n leafsize : positive int\n The number of points at which the algorithm switches over to\n brute-force.\n m : int\n The dimension of a single data-point.\n n : int\n The number of data points.\n maxes : ndarray, shape (m,)\n The maximum value in each dimension of the n data points.\n mins : ndarray, shape (m,)\n The minimum value in each dimension of the n data points.\n tree : object, class cKDTreeNode\n This attribute exposes a Python view of the root node in the cKDTree\n object. A full Python view of the kd-tree is created dynamically\n on the first access. This attribute allows you to create your own\n query functions in Python.\n size : int\n The number of nodes in the tree.\n\n ' - def __getstate__(self) -> typing.Any: - ... - - def __init__(self, data, leafsize=..., compact_nodes=..., copy_data=..., balanced_tree=..., boxsize=...) -> None: - '\n cKDTree(data, leafsize=16, compact_nodes=True, copy_data=False,\n balanced_tree=True, boxsize=None)\n\n kd-tree for quick nearest-neighbor lookup\n\n This class provides an index into a set of k-dimensional points\n which can be used to rapidly look up the nearest neighbors of any\n point.\n\n Parameters\n ----------\n data : array_like, shape (n,m)\n The n data points of dimension m to be indexed. This array is\n not copied unless this is necessary to produce a contiguous\n array of doubles, and so modifying this data will result in\n bogus results. The data are also copied if the kd-tree is built\n with copy_data=True.\n leafsize : positive int, optional\n The number of points at which the algorithm switches over to\n brute-force. Default: 16.\n compact_nodes : bool, optional\n If True, the kd-tree is built to shrink the hyperrectangles to\n the actual data range. This usually gives a more compact tree that\n is robust against degenerated input data and gives faster queries\n at the expense of longer build time. Default: True.\n copy_data : bool, optional\n If True the data is always copied to protect the kd-tree against\n data corruption. Default: False.\n balanced_tree : bool, optional\n If True, the median is used to split the hyperrectangles instead of\n the midpoint. This usually gives a more compact tree and\n faster queries at the expense of longer build time. Default: True.\n boxsize : array_like or scalar, optional\n Apply a m-d toroidal topology to the KDTree.. The topology is generated\n by :math:`x_i + n_i L_i` where :math:`n_i` are integers and :math:`L_i`\n is the boxsize along i-th dimension. The input data shall be wrapped\n into :math:`[0, L_i)`. A ValueError is raised if any of the data is\n outside of this bound.\n\n Notes\n -----\n The algorithm used is described in Maneewongvatana and Mount 1999.\n The general idea is that the kd-tree is a binary tree, each of whose\n nodes represents an axis-aligned hyperrectangle. Each node specifies\n an axis and splits the set of points based on whether their coordinate\n along that axis is greater than or less than a particular value.\n\n During construction, the axis and splitting point are chosen by the\n "sliding midpoint" rule, which ensures that the cells do not all\n become long and thin.\n\n The tree can be queried for the r closest neighbors of any given point\n (optionally returning only those within some maximum distance of the\n point). It can also be queried, with a substantial gain in efficiency,\n for the r approximate closest neighbors.\n\n For large dimensions (20 is already large) do not expect this to run\n significantly faster than brute force. High-dimensional nearest-neighbor\n queries are a substantial open problem in computer science.\n\n Attributes\n ----------\n data : ndarray, shape (n,m)\n The n data points of dimension m to be indexed. This array is\n not copied unless this is necessary to produce a contiguous\n array of doubles. The data are also copied if the kd-tree is built\n with `copy_data=True`.\n leafsize : positive int\n The number of points at which the algorithm switches over to\n brute-force.\n m : int\n The dimension of a single data-point.\n n : int\n The number of data points.\n maxes : ndarray, shape (m,)\n The maximum value in each dimension of the n data points.\n mins : ndarray, shape (m,)\n The minimum value in each dimension of the n data points.\n tree : object, class cKDTreeNode\n This attribute exposes a Python view of the root node in the cKDTree\n object. A full Python view of the kd-tree is created dynamically\n on the first access. This attribute allows you to create your own\n query functions in Python.\n size : int\n The number of nodes in the tree.\n\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __reduce_cython__(self) -> typing.Any: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - def __setstate_cython__(self) -> typing.Any: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def _build_weights(self, weights) -> typing.Any: - '\n _build_weights(weights)\n\n Compute weights of nodes from weights of data points. This will sum\n up the total weight per node. This function is used internally.\n\n Parameters\n ----------\n weights : array_like\n weights of data points; must be the same length as the data points.\n currently only scalar weights are supported. Therefore the weights\n array must be 1 dimensional.\n\n Returns\n -------\n node_weights : array_like\n total weight for each KD-Tree node.\n\n ' - ... - - @property - def boxsize(self) -> typing.Any: - ... - - def count_neighbors(self, other, r, p=..., weights=..., cumulative=...) -> typing.Any: - '\n count_neighbors(self, other, r, p=2., weights=None, cumulative=True)\n\n Count how many nearby pairs can be formed.\n\n Count the number of pairs ``(x1,x2)`` can be formed, with ``x1`` drawn\n from ``self`` and ``x2`` drawn from ``other``, and where\n ``distance(x1, x2, p) <= r``.\n\n Data points on ``self`` and ``other`` are optionally weighted by the\n ``weights`` argument. (See below)\n\n This is adapted from the "two-point correlation" algorithm described by\n Gray and Moore [1]_. See notes for further discussion.\n\n Parameters\n ----------\n other : cKDTree instance\n The other tree to draw points from, can be the same tree as self.\n r : float or one-dimensional array of floats\n The radius to produce a count for. Multiple radii are searched with\n a single tree traversal.\n If the count is non-cumulative(``cumulative=False``), ``r`` defines\n the edges of the bins, and must be non-decreasing.\n p : float, optional\n 1<=p<=infinity.\n Which Minkowski p-norm to use.\n Default 2.0.\n A finite large p may cause a ValueError if overflow can occur.\n weights : tuple, array_like, or None, optional\n If None, the pair-counting is unweighted.\n If given as a tuple, weights[0] is the weights of points in ``self``, and\n weights[1] is the weights of points in ``other``; either can be None to\n indicate the points are unweighted.\n If given as an array_like, weights is the weights of points in ``self``\n and ``other``. For this to make sense, ``self`` and ``other`` must be the\n same tree. If ``self`` and ``other`` are two different trees, a ``ValueError``\n is raised.\n Default: None\n cumulative : bool, optional\n Whether the returned counts are cumulative. When cumulative is set to ``False``\n the algorithm is optimized to work with a large number of bins (>10) specified\n by ``r``. When ``cumulative`` is set to True, the algorithm is optimized to work\n with a small number of ``r``. Default: True\n\n Returns\n -------\n result : scalar or 1-D array\n The number of pairs. For unweighted counts, the result is integer.\n For weighted counts, the result is float.\n If cumulative is False, ``result[i]`` contains the counts with\n ``(-inf if i == 0 else r[i-1]) < R <= r[i]``\n\n Notes\n -----\n Pair-counting is the basic operation used to calculate the two point\n correlation functions from a data set composed of position of objects.\n\n Two point correlation function measures the clustering of objects and\n is widely used in cosmology to quantify the large scale structure\n in our Universe, but it may be useful for data analysis in other fields\n where self-similar assembly of objects also occur.\n\n The Landy-Szalay estimator for the two point correlation function of\n ``D`` measures the clustering signal in ``D``. [2]_\n\n For example, given the position of two sets of objects,\n\n - objects ``D`` (data) contains the clustering signal, and\n\n - objects ``R`` (random) that contains no signal,\n\n .. math::\n\n \\xi(r) = \\frac{ - 2 f + f^2}{f^2},\n\n where the brackets represents counting pairs between two data sets\n in a finite bin around ``r`` (distance), corresponding to setting\n `cumulative=False`, and ``f = float(len(D)) / float(len(R))`` is the\n ratio between number of objects from data and random.\n\n The algorithm implemented here is loosely based on the dual-tree\n algorithm described in [1]_. We switch between two different\n pair-cumulation scheme depending on the setting of ``cumulative``.\n The computing time of the method we use when for\n ``cumulative == False`` does not scale with the total number of bins.\n The algorithm for ``cumulative == True`` scales linearly with the\n number of bins, though it is slightly faster when only\n 1 or 2 bins are used. [5]_.\n\n As an extension to the naive pair-counting,\n weighted pair-counting counts the product of weights instead\n of number of pairs.\n Weighted pair-counting is used to estimate marked correlation functions\n ([3]_, section 2.2),\n or to properly calculate the average of data per distance bin\n (e.g. [4]_, section 2.1 on redshift).\n\n .. [1] Gray and Moore,\n "N-body problems in statistical learning",\n Mining the sky, 2000, :arxiv:`astro-ph/0012333`\n\n .. [2] Landy and Szalay,\n "Bias and variance of angular correlation functions",\n The Astrophysical Journal, 1993, :doi:`10.1086/172900`\n\n .. [3] Sheth, Connolly and Skibba,\n "Marked correlations in galaxy formation models",\n 2005, :arxiv:`astro-ph/0511773`\n\n .. [4] Hawkins, et al.,\n "The 2dF Galaxy Redshift Survey: correlation functions,\n peculiar velocities and the matter density of the Universe",\n Monthly Notices of the Royal Astronomical Society, 2002,\n :doi:`10.1046/j.1365-2966.2003.07063.x`\n\n .. [5] https://github.com/scipy/scipy/pull/5647#issuecomment-168474926\n\n Examples\n --------\n You can count neighbors number between two kd-trees within a distance:\n\n >>> import numpy as np\n >>> from scipy.spatial import cKDTree\n >>> np.random.seed(21701)\n >>> points1 = np.random.random((5, 2))\n >>> points2 = np.random.random((5, 2))\n >>> kd_tree1 = cKDTree(points1)\n >>> kd_tree2 = cKDTree(points2)\n >>> kd_tree1.count_neighbors(kd_tree2, 0.2)\n 9\n\n This number is same as the total pair number calculated by\n `query_ball_tree`:\n\n >>> indexes = kd_tree1.query_ball_tree(kd_tree2, r=0.2)\n >>> sum([len(i) for i in indexes])\n 9\n\n ' - ... - - @property - def data(self) -> typing.Any: - ... - - @property - def indices(self) -> typing.Any: - ... - - @property - def leafsize(self) -> typing.Any: - ... - - @property - def m(self) -> typing.Any: - ... - - @property - def maxes(self) -> typing.Any: - ... - - @property - def mins(self) -> typing.Any: - ... - - @property - def n(self) -> typing.Any: - ... - - def query(self, x, k=..., eps=..., p=..., distance_upper_bound=..., workers=...) -> typing.Any: - '\n query(self, x, k=1, eps=0, p=2, distance_upper_bound=np.inf, workers=1)\n\n Query the kd-tree for nearest neighbors\n\n Parameters\n ----------\n x : array_like, last dimension self.m\n An array of points to query.\n k : list of integer or integer\n The list of k-th nearest neighbors to return. If k is an\n integer it is treated as a list of [1, ... k] (range(1, k+1)).\n Note that the counting starts from 1.\n eps : non-negative float\n Return approximate nearest neighbors; the k-th returned value\n is guaranteed to be no further than (1+eps) times the\n distance to the real k-th nearest neighbor.\n p : float, 1<=p<=infinity\n Which Minkowski p-norm to use.\n 1 is the sum-of-absolute-values "Manhattan" distance\n 2 is the usual Euclidean distance\n infinity is the maximum-coordinate-difference distance\n A finite large p may cause a ValueError if overflow can occur.\n distance_upper_bound : nonnegative float\n Return only neighbors within this distance. This is used to prune\n tree searches, so if you are doing a series of nearest-neighbor\n queries, it may help to supply the distance to the nearest neighbor\n of the most recent point.\n workers : int, optional\n Number of workers to use for parallel processing. If -1 is given\n all CPU threads are used. Default: 1.\n\n .. versionchanged:: 1.6.0\n The "n_jobs" argument was renamed "workers". The old name\n "n_jobs" is deprecated and will stop working in SciPy 1.8.0.\n\n Returns\n -------\n d : array of floats\n The distances to the nearest neighbors.\n If ``x`` has shape ``tuple+(self.m,)``, then ``d`` has shape ``tuple+(k,)``.\n When k == 1, the last dimension of the output is squeezed.\n Missing neighbors are indicated with infinite distances.\n i : ndarray of ints\n The index of each neighbor in ``self.data``.\n If ``x`` has shape ``tuple+(self.m,)``, then ``i`` has shape ``tuple+(k,)``.\n When k == 1, the last dimension of the output is squeezed.\n Missing neighbors are indicated with ``self.n``.\n\n Notes\n -----\n If the KD-Tree is periodic, the position ``x`` is wrapped into the\n box.\n\n When the input k is a list, a query for arange(max(k)) is performed, but\n only columns that store the requested values of k are preserved. This is\n implemented in a manner that reduces memory usage.\n\n Examples\n --------\n\n >>> import numpy as np\n >>> from scipy.spatial import cKDTree\n >>> x, y = np.mgrid[0:5, 2:8]\n >>> tree = cKDTree(np.c_[x.ravel(), y.ravel()])\n\n To query the nearest neighbours and return squeezed result, use\n\n >>> dd, ii = tree.query([[0, 0], [2.1, 2.9]], k=1)\n >>> print(dd, ii)\n [2. 0.14142136] [ 0 13]\n\n To query the nearest neighbours and return unsqueezed result, use\n\n >>> dd, ii = tree.query([[0, 0], [2.1, 2.9]], k=[1])\n >>> print(dd, ii)\n [[2. ]\n [0.14142136]] [[ 0]\n [13]]\n\n To query the second nearest neighbours and return unsqueezed result, use\n\n >>> dd, ii = tree.query([[0, 0], [2.1, 2.9]], k=[2])\n >>> print(dd, ii)\n [[2.23606798]\n [0.90553851]] [[ 6]\n [12]]\n\n To query the first and second nearest neighbours, use\n\n >>> dd, ii = tree.query([[0, 0], [2.1, 2.9]], k=2)\n >>> print(dd, ii)\n [[2. 2.23606798]\n [0.14142136 0.90553851]] [[ 0 6]\n [13 12]]\n\n or, be more specific\n\n >>> dd, ii = tree.query([[0, 0], [2.1, 2.9]], k=[1, 2])\n >>> print(dd, ii)\n [[2. 2.23606798]\n [0.14142136 0.90553851]] [[ 0 6]\n [13 12]]\n\n ' - ... - - def query_ball_point(self, x, r, p=..., eps=..., workers=..., return_sorted=..., return_length=...) -> typing.Any: - '\n query_ball_point(self, x, r, p=2., eps=0, workers=1, return_sorted=None,\n return_length=False)\n\n Find all points within distance r of point(s) x.\n\n Parameters\n ----------\n x : array_like, shape tuple + (self.m,)\n The point or points to search for neighbors of.\n r : array_like, float\n The radius of points to return, shall broadcast to the length of x.\n p : float, optional\n Which Minkowski p-norm to use. Should be in the range [1, inf].\n A finite large p may cause a ValueError if overflow can occur.\n eps : nonnegative float, optional\n Approximate search. Branches of the tree are not explored if their\n nearest points are further than ``r / (1 + eps)``, and branches are\n added in bulk if their furthest points are nearer than\n ``r * (1 + eps)``.\n workers : int, optional\n Number of jobs to schedule for parallel processing. If -1 is given\n all processors are used. Default: 1.\n\n .. versionchanged:: 1.6.0\n The "n_jobs" argument was renamed "workers". The old name\n "n_jobs" is deprecated and will stop working in SciPy 1.8.0.\n\n return_sorted : bool, optional\n Sorts returned indicies if True and does not sort them if False. If\n None, does not sort single point queries, but does sort\n multi-point queries which was the behavior before this option\n was added.\n\n .. versionadded:: 1.2.0\n return_length: bool, optional\n Return the number of points inside the radius instead of a list\n of the indices.\n .. versionadded:: 1.3.0\n\n Returns\n -------\n results : list or array of lists\n If `x` is a single point, returns a list of the indices of the\n neighbors of `x`. If `x` is an array of points, returns an object\n array of shape tuple containing lists of neighbors.\n\n Notes\n -----\n If you have many points whose neighbors you want to find, you may save\n substantial amounts of time by putting them in a cKDTree and using\n query_ball_tree.\n\n Examples\n --------\n >>> from scipy import spatial\n >>> x, y = np.mgrid[0:4, 0:4]\n >>> points = np.c_[x.ravel(), y.ravel()]\n >>> tree = spatial.cKDTree(points)\n >>> tree.query_ball_point([2, 0], 1)\n [4, 8, 9, 12]\n\n Query multiple points and plot the results:\n\n >>> import matplotlib.pyplot as plt\n >>> points = np.asarray(points)\n >>> plt.plot(points[:,0], points[:,1], \'.\')\n >>> for results in tree.query_ball_point(([2, 0], [3, 3]), 1):\n ... nearby_points = points[results]\n ... plt.plot(nearby_points[:,0], nearby_points[:,1], \'o\')\n >>> plt.margins(0.1, 0.1)\n >>> plt.show()\n\n ' - ... - - def query_ball_tree(self, other, r, p=..., eps=...) -> typing.Any: - '\n query_ball_tree(self, other, r, p=2., eps=0)\n\n Find all pairs of points between `self` and `other` whose distance is at most r\n\n Parameters\n ----------\n other : cKDTree instance\n The tree containing points to search against.\n r : float\n The maximum distance, has to be positive.\n p : float, optional\n Which Minkowski norm to use. `p` has to meet the condition\n ``1 <= p <= infinity``.\n A finite large p may cause a ValueError if overflow can occur.\n eps : float, optional\n Approximate search. Branches of the tree are not explored\n if their nearest points are further than ``r/(1+eps)``, and\n branches are added in bulk if their furthest points are nearer\n than ``r * (1+eps)``. `eps` has to be non-negative.\n\n Returns\n -------\n results : list of lists\n For each element ``self.data[i]`` of this tree, ``results[i]`` is a\n list of the indices of its neighbors in ``other.data``.\n\n Examples\n --------\n You can search all pairs of points between two kd-trees within a distance:\n\n >>> import matplotlib.pyplot as plt\n >>> import numpy as np\n >>> from scipy.spatial import cKDTree\n >>> np.random.seed(21701)\n >>> points1 = np.random.random((15, 2))\n >>> points2 = np.random.random((15, 2))\n >>> plt.figure(figsize=(6, 6))\n >>> plt.plot(points1[:, 0], points1[:, 1], "xk", markersize=14)\n >>> plt.plot(points2[:, 0], points2[:, 1], "og", markersize=14)\n >>> kd_tree1 = cKDTree(points1)\n >>> kd_tree2 = cKDTree(points2)\n >>> indexes = kd_tree1.query_ball_tree(kd_tree2, r=0.2)\n >>> for i in range(len(indexes)):\n ... for j in indexes[i]:\n ... plt.plot([points1[i, 0], points2[j, 0]],\n ... [points1[i, 1], points2[j, 1]], "-r")\n >>> plt.show()\n\n ' - ... - - def query_pairs(self, r, p=..., eps=...) -> typing.Any: - '\n query_pairs(self, r, p=2., eps=0)\n\n Find all pairs of points in `self` whose distance is at most r.\n\n Parameters\n ----------\n r : positive float\n The maximum distance.\n p : float, optional\n Which Minkowski norm to use. ``p`` has to meet the condition\n ``1 <= p <= infinity``.\n A finite large p may cause a ValueError if overflow can occur.\n eps : float, optional\n Approximate search. Branches of the tree are not explored\n if their nearest points are further than ``r/(1+eps)``, and\n branches are added in bulk if their furthest points are nearer\n than ``r * (1+eps)``. `eps` has to be non-negative.\n output_type : string, optional\n Choose the output container, \'set\' or \'ndarray\'. Default: \'set\'\n\n Returns\n -------\n results : set or ndarray\n Set of pairs ``(i,j)``, with ``i < j``, for which the corresponding\n positions are close. If output_type is \'ndarray\', an ndarry is\n returned instead of a set.\n\n Examples\n --------\n You can search all pairs of points in a kd-tree within a distance:\n\n >>> import matplotlib.pyplot as plt\n >>> import numpy as np\n >>> from scipy.spatial import cKDTree\n >>> np.random.seed(21701)\n >>> points = np.random.random((20, 2))\n >>> plt.figure(figsize=(6, 6))\n >>> plt.plot(points[:, 0], points[:, 1], "xk", markersize=14)\n >>> kd_tree = cKDTree(points)\n >>> pairs = kd_tree.query_pairs(r=0.2)\n >>> for (i, j) in pairs:\n ... plt.plot([points[i, 0], points[j, 0]],\n ... [points[i, 1], points[j, 1]], "-r")\n >>> plt.show()\n\n ' - ... - - @property - def size(self) -> typing.Any: - ... - - def sparse_distance_matrix(self, other, max_distance, p=...) -> typing.Any: - '\n sparse_distance_matrix(self, other, max_distance, p=2.)\n\n Compute a sparse distance matrix\n\n Computes a distance matrix between two cKDTrees, leaving as zero\n any distance greater than max_distance.\n\n Parameters\n ----------\n other : cKDTree\n\n max_distance : positive float\n\n p : float, 1<=p<=infinity\n Which Minkowski p-norm to use.\n A finite large p may cause a ValueError if overflow can occur.\n\n output_type : string, optional\n Which container to use for output data. Options: \'dok_matrix\',\n \'coo_matrix\', \'dict\', or \'ndarray\'. Default: \'dok_matrix\'.\n\n Returns\n -------\n result : dok_matrix, coo_matrix, dict or ndarray\n Sparse matrix representing the results in "dictionary of keys"\n format. If a dict is returned the keys are (i,j) tuples of indices.\n If output_type is \'ndarray\' a record array with fields \'i\', \'j\',\n and \'v\' is returned,\n\n Examples\n --------\n You can compute a sparse distance matrix between two kd-trees:\n\n >>> import numpy as np\n >>> from scipy.spatial import cKDTree\n >>> np.random.seed(21701)\n >>> points1 = np.random.random((5, 2))\n >>> points2 = np.random.random((5, 2))\n >>> kd_tree1 = cKDTree(points1)\n >>> kd_tree2 = cKDTree(points2)\n >>> sdm = kd_tree1.sparse_distance_matrix(kd_tree2, 0.3)\n >>> sdm.toarray()\n array([[0.20220215, 0.14538496, 0., 0.10257199, 0. ],\n [0.13491385, 0.27251306, 0., 0.18793787, 0. ],\n [0.19262396, 0., 0., 0.25795122, 0. ],\n [0.14859639, 0.07076002, 0., 0.04065851, 0. ],\n [0.17308768, 0., 0., 0.24823138, 0. ]])\n\n You can check distances above the `max_distance` are zeros:\n\n >>> from scipy.spatial import distance_matrix\n >>> distance_matrix(points1, points2)\n array([[0.20220215, 0.14538496, 0.43588092, 0.10257199, 0.4555495 ],\n [0.13491385, 0.27251306, 0.65944131, 0.18793787, 0.68184154],\n [0.19262396, 0.34121593, 0.72176889, 0.25795122, 0.74538858],\n [0.14859639, 0.07076002, 0.48505773, 0.04065851, 0.50043591],\n [0.17308768, 0.32837991, 0.72760803, 0.24823138, 0.75017239]])\n\n ' - ... - - @property - def tree(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class cKDTreeNode(_mod_builtins.object): - "\n class cKDTreeNode\n\n This class exposes a Python view of a node in the cKDTree object.\n\n All attributes are read-only.\n\n Attributes\n ----------\n level : int\n The depth of the node. 0 is the level of the root node.\n split_dim : int\n The dimension along which this node is split. If this value is -1\n the node is a leafnode in the kd-tree. Leafnodes are not split further\n and scanned by brute force.\n split : float\n The value used to separate split this node. Points with value >= split\n in the split_dim dimension are sorted to the 'greater' subnode\n whereas those with value < split are sorted to the 'lesser' subnode.\n children : int\n The number of data points sorted to this node.\n data_points : ndarray of float64\n An array with the data points sorted to this node.\n indices : ndarray of intp\n An array with the indices of the data points sorted to this node. The\n indices refer to the position in the data set used to construct the\n kd-tree.\n lesser : cKDTreeNode or None\n Subnode with the 'lesser' data points. This attribute is None for\n leafnodes.\n greater : cKDTreeNode or None\n Subnode with the 'greater' data points. This attribute is None for\n leafnodes.\n\n " - def __init__(self, *args, **kwargs) -> None: - "\n class cKDTreeNode\n\n This class exposes a Python view of a node in the cKDTree object.\n\n All attributes are read-only.\n\n Attributes\n ----------\n level : int\n The depth of the node. 0 is the level of the root node.\n split_dim : int\n The dimension along which this node is split. If this value is -1\n the node is a leafnode in the kd-tree. Leafnodes are not split further\n and scanned by brute force.\n split : float\n The value used to separate split this node. Points with value >= split\n in the split_dim dimension are sorted to the 'greater' subnode\n whereas those with value < split are sorted to the 'lesser' subnode.\n children : int\n The number of data points sorted to this node.\n data_points : ndarray of float64\n An array with the data points sorted to this node.\n indices : ndarray of intp\n An array with the indices of the data points sorted to this node. The\n indices refer to the position in the data set used to construct the\n kd-tree.\n lesser : cKDTreeNode or None\n Subnode with the 'lesser' data points. This attribute is None for\n leafnodes.\n greater : cKDTreeNode or None\n Subnode with the 'greater' data points. This attribute is None for\n leafnodes.\n\n " - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __pyx_vtable__: PyCapsule - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def children(self) -> typing.Any: - ... - - @property - def data_points(self) -> typing.Any: - ... - - @property - def end_idx(self) -> typing.Any: - ... - - @property - def greater(self) -> typing.Any: - ... - - @property - def indices(self) -> typing.Any: - ... - - @property - def lesser(self) -> typing.Any: - ... - - @property - def level(self) -> typing.Any: - ... - - @property - def split(self) -> typing.Any: - ... - - @property - def split_dim(self) -> typing.Any: - ... - - @property - def start_idx(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class coo_entries(_mod_builtins.object): - @property - def __array_interface__(self) -> typing.Any: - ... - - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def coo_matrix(self) -> typing.Any: - ... - - def dict(self) -> typing.Any: - ... - - def dok_matrix(self) -> typing.Any: - ... - - def ndarray(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class ordered_pairs(_mod_builtins.object): - @property - def __array_interface__(self) -> typing.Any: - ... - - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def ndarray(self) -> typing.Any: - ... - - def set(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/qhull.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/qhull.pyi deleted file mode 100644 index 6a382781..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/qhull.pyi +++ /dev/null @@ -1,317 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.spatial.qhull, version: unspecified -import typing -import builtins as _mod_builtins - -class ConvexHull(_QhullUser): - '\n ConvexHull(points, incremental=False, qhull_options=None)\n\n Convex hulls in N dimensions.\n\n .. versionadded:: 0.12.0\n\n Parameters\n ----------\n points : ndarray of floats, shape (npoints, ndim)\n Coordinates of points to construct a convex hull from\n incremental : bool, optional\n Allow adding new points incrementally. This takes up some additional\n resources.\n qhull_options : str, optional\n Additional options to pass to Qhull. See Qhull manual\n for details. (Default: "Qx" for ndim > 4 and "" otherwise)\n Option "Qt" is always enabled.\n\n Attributes\n ----------\n points : ndarray of double, shape (npoints, ndim)\n Coordinates of input points.\n vertices : ndarray of ints, shape (nvertices,)\n Indices of points forming the vertices of the convex hull.\n For 2-D convex hulls, the vertices are in counterclockwise order.\n For other dimensions, they are in input order.\n simplices : ndarray of ints, shape (nfacet, ndim)\n Indices of points forming the simplical facets of the convex hull.\n neighbors : ndarray of ints, shape (nfacet, ndim)\n Indices of neighbor facets for each facet.\n The kth neighbor is opposite to the kth vertex.\n -1 denotes no neighbor.\n equations : ndarray of double, shape (nfacet, ndim+1)\n [normal, offset] forming the hyperplane equation of the facet\n (see `Qhull documentation `__ for more).\n coplanar : ndarray of int, shape (ncoplanar, 3)\n Indices of coplanar points and the corresponding indices of\n the nearest facets and nearest vertex indices. Coplanar\n points are input points which were *not* included in the\n triangulation due to numerical precision issues.\n\n If option "Qc" is not specified, this list is not computed.\n good : ndarray of bool or None\n A one-dimensional Boolean array indicating which facets are\n good. Used with options that compute good facets, e.g. QGn\n and QG-n. Good facets are defined as those that are\n visible (n) or invisible (-n) from point n, where\n n is the nth point in \'points\'. The \'good\' attribute may be\n used as an index into \'simplices\' to return the good (visible)\n facets: simplices[good]. A facet is visible from the outside\n of the hull only, and neither coplanarity nor degeneracy count\n as cases of visibility.\n\n If a "QGn" or "QG-n" option is not specified, None is returned.\n\n .. versionadded:: 1.3.0\n area : float\n Surface area of the convex hull when input dimension > 2. \n When input `points` are 2-dimensional, this is the perimeter of the convex hull.\n\n .. versionadded:: 0.17.0\n volume : float\n Volume of the convex hull when input dimension > 2. \n When input `points` are 2-dimensional, this is the area of the convex hull. \n\n .. versionadded:: 0.17.0\n\n Raises\n ------\n QhullError\n Raised when Qhull encounters an error condition, such as\n geometrical degeneracy when options to resolve are not enabled.\n ValueError\n Raised if an incompatible array is given as input.\n\n Notes\n -----\n The convex hull is computed using the\n `Qhull library `__.\n\n Examples\n --------\n\n Convex hull of a random set of points:\n\n >>> from scipy.spatial import ConvexHull, convex_hull_plot_2d\n >>> points = np.random.rand(30, 2) # 30 random points in 2-D\n >>> hull = ConvexHull(points)\n\n Plot it:\n\n >>> import matplotlib.pyplot as plt\n >>> plt.plot(points[:,0], points[:,1], \'o\')\n >>> for simplex in hull.simplices:\n ... plt.plot(points[simplex, 0], points[simplex, 1], \'k-\')\n\n We could also have directly used the vertices of the hull, which\n for 2-D are guaranteed to be in counterclockwise order:\n\n >>> plt.plot(points[hull.vertices,0], points[hull.vertices,1], \'r--\', lw=2)\n >>> plt.plot(points[hull.vertices[0],0], points[hull.vertices[0],1], \'ro\')\n >>> plt.show()\n\n Facets visible from a point:\n\n Create a square and add a point above the square.\n\n >>> generators = np.array([[0.2, 0.2],\n ... [0.2, 0.4],\n ... [0.4, 0.4],\n ... [0.4, 0.2],\n ... [0.3, 0.6]])\n\n Call ConvexHull with the QG option. QG4 means\n compute the portions of the hull not including\n point 4, indicating the facets that are visible\n from point 4.\n\n >>> hull = ConvexHull(points=generators,\n ... qhull_options=\'QG4\')\n\n The "good" array indicates which facets are\n visible from point 4.\n\n >>> print(hull.simplices)\n [[1 0]\n [1 2]\n [3 0]\n [3 2]]\n >>> print(hull.good)\n [False True False False]\n\n Now plot it, highlighting the visible facets.\n\n >>> fig = plt.figure()\n >>> ax = fig.add_subplot(1,1,1)\n >>> for visible_facet in hull.simplices[hull.good]:\n ... ax.plot(hull.points[visible_facet, 0],\n ... hull.points[visible_facet, 1],\n ... color=\'violet\',\n ... lw=6)\n >>> convex_hull_plot_2d(hull, ax=ax)\n
# may vary\n >>> plt.show()\n\n References\n ----------\n .. [Qhull] http://www.qhull.org/\n\n ' - __dict__: typing.Dict[str, typing.Any] - def __init__(self, points, incremental=..., qhull_options=...) -> None: - '\n ConvexHull(points, incremental=False, qhull_options=None)\n\n Convex hulls in N dimensions.\n\n .. versionadded:: 0.12.0\n\n Parameters\n ----------\n points : ndarray of floats, shape (npoints, ndim)\n Coordinates of points to construct a convex hull from\n incremental : bool, optional\n Allow adding new points incrementally. This takes up some additional\n resources.\n qhull_options : str, optional\n Additional options to pass to Qhull. See Qhull manual\n for details. (Default: "Qx" for ndim > 4 and "" otherwise)\n Option "Qt" is always enabled.\n\n Attributes\n ----------\n points : ndarray of double, shape (npoints, ndim)\n Coordinates of input points.\n vertices : ndarray of ints, shape (nvertices,)\n Indices of points forming the vertices of the convex hull.\n For 2-D convex hulls, the vertices are in counterclockwise order.\n For other dimensions, they are in input order.\n simplices : ndarray of ints, shape (nfacet, ndim)\n Indices of points forming the simplical facets of the convex hull.\n neighbors : ndarray of ints, shape (nfacet, ndim)\n Indices of neighbor facets for each facet.\n The kth neighbor is opposite to the kth vertex.\n -1 denotes no neighbor.\n equations : ndarray of double, shape (nfacet, ndim+1)\n [normal, offset] forming the hyperplane equation of the facet\n (see `Qhull documentation `__ for more).\n coplanar : ndarray of int, shape (ncoplanar, 3)\n Indices of coplanar points and the corresponding indices of\n the nearest facets and nearest vertex indices. Coplanar\n points are input points which were *not* included in the\n triangulation due to numerical precision issues.\n\n If option "Qc" is not specified, this list is not computed.\n good : ndarray of bool or None\n A one-dimensional Boolean array indicating which facets are\n good. Used with options that compute good facets, e.g. QGn\n and QG-n. Good facets are defined as those that are\n visible (n) or invisible (-n) from point n, where\n n is the nth point in \'points\'. The \'good\' attribute may be\n used as an index into \'simplices\' to return the good (visible)\n facets: simplices[good]. A facet is visible from the outside\n of the hull only, and neither coplanarity nor degeneracy count\n as cases of visibility.\n\n If a "QGn" or "QG-n" option is not specified, None is returned.\n\n .. versionadded:: 1.3.0\n area : float\n Surface area of the convex hull when input dimension > 2. \n When input `points` are 2-dimensional, this is the perimeter of the convex hull.\n\n .. versionadded:: 0.17.0\n volume : float\n Volume of the convex hull when input dimension > 2. \n When input `points` are 2-dimensional, this is the area of the convex hull. \n\n .. versionadded:: 0.17.0\n\n Raises\n ------\n QhullError\n Raised when Qhull encounters an error condition, such as\n geometrical degeneracy when options to resolve are not enabled.\n ValueError\n Raised if an incompatible array is given as input.\n\n Notes\n -----\n The convex hull is computed using the\n `Qhull library `__.\n\n Examples\n --------\n\n Convex hull of a random set of points:\n\n >>> from scipy.spatial import ConvexHull, convex_hull_plot_2d\n >>> points = np.random.rand(30, 2) # 30 random points in 2-D\n >>> hull = ConvexHull(points)\n\n Plot it:\n\n >>> import matplotlib.pyplot as plt\n >>> plt.plot(points[:,0], points[:,1], \'o\')\n >>> for simplex in hull.simplices:\n ... plt.plot(points[simplex, 0], points[simplex, 1], \'k-\')\n\n We could also have directly used the vertices of the hull, which\n for 2-D are guaranteed to be in counterclockwise order:\n\n >>> plt.plot(points[hull.vertices,0], points[hull.vertices,1], \'r--\', lw=2)\n >>> plt.plot(points[hull.vertices[0],0], points[hull.vertices[0],1], \'ro\')\n >>> plt.show()\n\n Facets visible from a point:\n\n Create a square and add a point above the square.\n\n >>> generators = np.array([[0.2, 0.2],\n ... [0.2, 0.4],\n ... [0.4, 0.4],\n ... [0.4, 0.2],\n ... [0.3, 0.6]])\n\n Call ConvexHull with the QG option. QG4 means\n compute the portions of the hull not including\n point 4, indicating the facets that are visible\n from point 4.\n\n >>> hull = ConvexHull(points=generators,\n ... qhull_options=\'QG4\')\n\n The "good" array indicates which facets are\n visible from point 4.\n\n >>> print(hull.simplices)\n [[1 0]\n [1 2]\n [3 0]\n [3 2]]\n >>> print(hull.good)\n [False True False False]\n\n Now plot it, highlighting the visible facets.\n\n >>> fig = plt.figure()\n >>> ax = fig.add_subplot(1,1,1)\n >>> for visible_facet in hull.simplices[hull.good]:\n ... ax.plot(hull.points[visible_facet, 0],\n ... hull.points[visible_facet, 1],\n ... color=\'violet\',\n ... lw=6)\n >>> convex_hull_plot_2d(hull, ax=ax)\n
# may vary\n >>> plt.show()\n\n References\n ----------\n .. [Qhull] http://www.qhull.org/\n\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def _update(self, qhull) -> typing.Any: - ... - - def add_points(self, points, restart) -> typing.Any: - '\n add_points(points, restart=False)\n\n Process a set of additional new points.\n\n Parameters\n ----------\n points : ndarray\n New points to add. The dimensionality should match that of the\n initial points.\n restart : bool, optional\n Whether to restart processing from scratch, rather than\n adding points incrementally.\n\n Raises\n ------\n QhullError\n Raised when Qhull encounters an error condition, such as\n geometrical degeneracy when options to resolve are not enabled.\n\n See Also\n --------\n close\n\n Notes\n -----\n You need to specify ``incremental=True`` when constructing the\n object to be able to add points incrementally. Incremental addition\n of points is also not possible after `close` has been called.\n\n ' - ... - - points: property - vertices: property - def __getattr__(self, name) -> typing.Any: - ... - - -class Delaunay(_QhullUser): - '\n Delaunay(points, furthest_site=False, incremental=False, qhull_options=None)\n\n Delaunay tessellation in N dimensions.\n\n .. versionadded:: 0.9\n\n Parameters\n ----------\n points : ndarray of floats, shape (npoints, ndim)\n Coordinates of points to triangulate\n furthest_site : bool, optional\n Whether to compute a furthest-site Delaunay triangulation.\n Default: False\n\n .. versionadded:: 0.12.0\n incremental : bool, optional\n Allow adding new points incrementally. This takes up some additional\n resources.\n qhull_options : str, optional\n Additional options to pass to Qhull. See Qhull manual for\n details. Option "Qt" is always enabled.\n Default:"Qbb Qc Qz Qx Q12" for ndim > 4 and "Qbb Qc Qz Q12" otherwise.\n Incremental mode omits "Qz".\n\n .. versionadded:: 0.12.0\n\n Attributes\n ----------\n points : ndarray of double, shape (npoints, ndim)\n Coordinates of input points.\n simplices : ndarray of ints, shape (nsimplex, ndim+1)\n Indices of the points forming the simplices in the triangulation.\n For 2-D, the points are oriented counterclockwise.\n neighbors : ndarray of ints, shape (nsimplex, ndim+1)\n Indices of neighbor simplices for each simplex.\n The kth neighbor is opposite to the kth vertex.\n For simplices at the boundary, -1 denotes no neighbor.\n equations : ndarray of double, shape (nsimplex, ndim+2)\n [normal, offset] forming the hyperplane equation of the facet\n on the paraboloid\n (see `Qhull documentation `__ for more).\n paraboloid_scale, paraboloid_shift : float\n Scale and shift for the extra paraboloid dimension\n (see `Qhull documentation `__ for more).\n transform : ndarray of double, shape (nsimplex, ndim+1, ndim)\n Affine transform from ``x`` to the barycentric coordinates ``c``.\n This is defined by::\n\n T c = x - r\n\n At vertex ``j``, ``c_j = 1`` and the other coordinates zero.\n\n For simplex ``i``, ``transform[i,:ndim,:ndim]`` contains\n inverse of the matrix ``T``, and ``transform[i,ndim,:]``\n contains the vector ``r``.\n\n If the simplex is degenerate or nearly degenerate, its\n barycentric transform contains NaNs.\n vertex_to_simplex : ndarray of int, shape (npoints,)\n Lookup array, from a vertex, to some simplex which it is a part of.\n If qhull option "Qc" was not specified, the list will contain -1\n for points that are not vertices of the tessellation.\n convex_hull : ndarray of int, shape (nfaces, ndim)\n Vertices of facets forming the convex hull of the point set.\n The array contains the indices of the points belonging to\n the (N-1)-dimensional facets that form the convex hull\n of the triangulation.\n\n .. note::\n\n Computing convex hulls via the Delaunay triangulation is\n inefficient and subject to increased numerical instability.\n Use `ConvexHull` instead.\n coplanar : ndarray of int, shape (ncoplanar, 3)\n Indices of coplanar points and the corresponding indices of\n the nearest facet and the nearest vertex. Coplanar\n points are input points which were *not* included in the\n triangulation due to numerical precision issues.\n\n If option "Qc" is not specified, this list is not computed.\n\n .. versionadded:: 0.12.0\n vertices\n Same as `simplices`, but deprecated.\n vertex_neighbor_vertices : tuple of two ndarrays of int; (indptr, indices)\n Neighboring vertices of vertices. The indices of neighboring\n vertices of vertex `k` are ``indices[indptr[k]:indptr[k+1]]``.\n furthest_site\n True if this was a furthest site triangulation and False if not.\n\n .. versionadded:: 1.4.0\n\n Raises\n ------\n QhullError\n Raised when Qhull encounters an error condition, such as\n geometrical degeneracy when options to resolve are not enabled.\n ValueError\n Raised if an incompatible array is given as input.\n\n Notes\n -----\n The tessellation is computed using the Qhull library\n `Qhull library `__.\n\n .. note::\n\n Unless you pass in the Qhull option "QJ", Qhull does not\n guarantee that each input point appears as a vertex in the\n Delaunay triangulation. Omitted points are listed in the\n `coplanar` attribute.\n\n Examples\n --------\n Triangulation of a set of points:\n\n >>> points = np.array([[0, 0], [0, 1.1], [1, 0], [1, 1]])\n >>> from scipy.spatial import Delaunay\n >>> tri = Delaunay(points)\n\n We can plot it:\n\n >>> import matplotlib.pyplot as plt\n >>> plt.triplot(points[:,0], points[:,1], tri.simplices)\n >>> plt.plot(points[:,0], points[:,1], \'o\')\n >>> plt.show()\n\n Point indices and coordinates for the two triangles forming the\n triangulation:\n\n >>> tri.simplices\n array([[2, 3, 0], # may vary\n [3, 1, 0]], dtype=int32)\n\n Note that depending on how rounding errors go, the simplices may\n be in a different order than above.\n\n >>> points[tri.simplices]\n array([[[ 1. , 0. ], # may vary\n [ 1. , 1. ],\n [ 0. , 0. ]],\n [[ 1. , 1. ],\n [ 0. , 1.1],\n [ 0. , 0. ]]])\n\n Triangle 0 is the only neighbor of triangle 1, and it\'s opposite to\n vertex 1 of triangle 1:\n\n >>> tri.neighbors[1]\n array([-1, 0, -1], dtype=int32)\n >>> points[tri.simplices[1,1]]\n array([ 0. , 1.1])\n\n We can find out which triangle points are in:\n\n >>> p = np.array([(0.1, 0.2), (1.5, 0.5), (0.5, 1.05)])\n >>> tri.find_simplex(p)\n array([ 1, -1, 1], dtype=int32)\n\n The returned integers in the array are the indices of the simplex the\n corresponding point is in. If -1 is returned, the point is in no simplex.\n Be aware that the shortcut in the following example only works corretcly\n for valid points as invalid points result in -1 which is itself a valid\n index for the last simplex in the list.\n\n >>> p_valids = np.array([(0.1, 0.2), (0.5, 1.05)])\n >>> tri.simplices[tri.find_simplex(p_valids)]\n array([[3, 1, 0], # may vary\n [3, 1, 0]], dtype=int32)\n\n We can also compute barycentric coordinates in triangle 1 for\n these points:\n\n >>> b = tri.transform[1,:2].dot(np.transpose(p - tri.transform[1,2]))\n >>> np.c_[np.transpose(b), 1 - b.sum(axis=0)]\n array([[ 0.1 , 0.09090909, 0.80909091],\n [ 1.5 , -0.90909091, 0.40909091],\n [ 0.5 , 0.5 , 0. ]])\n\n The coordinates for the first point are all positive, meaning it\n is indeed inside the triangle. The third point is on a vertex,\n hence its null third coordinate.\n\n ' - __dict__: typing.Dict[str, typing.Any] - def __init__(self, points, furthest_site=..., incremental=..., qhull_options=...) -> None: - '\n Delaunay(points, furthest_site=False, incremental=False, qhull_options=None)\n\n Delaunay tessellation in N dimensions.\n\n .. versionadded:: 0.9\n\n Parameters\n ----------\n points : ndarray of floats, shape (npoints, ndim)\n Coordinates of points to triangulate\n furthest_site : bool, optional\n Whether to compute a furthest-site Delaunay triangulation.\n Default: False\n\n .. versionadded:: 0.12.0\n incremental : bool, optional\n Allow adding new points incrementally. This takes up some additional\n resources.\n qhull_options : str, optional\n Additional options to pass to Qhull. See Qhull manual for\n details. Option "Qt" is always enabled.\n Default:"Qbb Qc Qz Qx Q12" for ndim > 4 and "Qbb Qc Qz Q12" otherwise.\n Incremental mode omits "Qz".\n\n .. versionadded:: 0.12.0\n\n Attributes\n ----------\n points : ndarray of double, shape (npoints, ndim)\n Coordinates of input points.\n simplices : ndarray of ints, shape (nsimplex, ndim+1)\n Indices of the points forming the simplices in the triangulation.\n For 2-D, the points are oriented counterclockwise.\n neighbors : ndarray of ints, shape (nsimplex, ndim+1)\n Indices of neighbor simplices for each simplex.\n The kth neighbor is opposite to the kth vertex.\n For simplices at the boundary, -1 denotes no neighbor.\n equations : ndarray of double, shape (nsimplex, ndim+2)\n [normal, offset] forming the hyperplane equation of the facet\n on the paraboloid\n (see `Qhull documentation `__ for more).\n paraboloid_scale, paraboloid_shift : float\n Scale and shift for the extra paraboloid dimension\n (see `Qhull documentation `__ for more).\n transform : ndarray of double, shape (nsimplex, ndim+1, ndim)\n Affine transform from ``x`` to the barycentric coordinates ``c``.\n This is defined by::\n\n T c = x - r\n\n At vertex ``j``, ``c_j = 1`` and the other coordinates zero.\n\n For simplex ``i``, ``transform[i,:ndim,:ndim]`` contains\n inverse of the matrix ``T``, and ``transform[i,ndim,:]``\n contains the vector ``r``.\n\n If the simplex is degenerate or nearly degenerate, its\n barycentric transform contains NaNs.\n vertex_to_simplex : ndarray of int, shape (npoints,)\n Lookup array, from a vertex, to some simplex which it is a part of.\n If qhull option "Qc" was not specified, the list will contain -1\n for points that are not vertices of the tessellation.\n convex_hull : ndarray of int, shape (nfaces, ndim)\n Vertices of facets forming the convex hull of the point set.\n The array contains the indices of the points belonging to\n the (N-1)-dimensional facets that form the convex hull\n of the triangulation.\n\n .. note::\n\n Computing convex hulls via the Delaunay triangulation is\n inefficient and subject to increased numerical instability.\n Use `ConvexHull` instead.\n coplanar : ndarray of int, shape (ncoplanar, 3)\n Indices of coplanar points and the corresponding indices of\n the nearest facet and the nearest vertex. Coplanar\n points are input points which were *not* included in the\n triangulation due to numerical precision issues.\n\n If option "Qc" is not specified, this list is not computed.\n\n .. versionadded:: 0.12.0\n vertices\n Same as `simplices`, but deprecated.\n vertex_neighbor_vertices : tuple of two ndarrays of int; (indptr, indices)\n Neighboring vertices of vertices. The indices of neighboring\n vertices of vertex `k` are ``indices[indptr[k]:indptr[k+1]]``.\n furthest_site\n True if this was a furthest site triangulation and False if not.\n\n .. versionadded:: 1.4.0\n\n Raises\n ------\n QhullError\n Raised when Qhull encounters an error condition, such as\n geometrical degeneracy when options to resolve are not enabled.\n ValueError\n Raised if an incompatible array is given as input.\n\n Notes\n -----\n The tessellation is computed using the Qhull library\n `Qhull library `__.\n\n .. note::\n\n Unless you pass in the Qhull option "QJ", Qhull does not\n guarantee that each input point appears as a vertex in the\n Delaunay triangulation. Omitted points are listed in the\n `coplanar` attribute.\n\n Examples\n --------\n Triangulation of a set of points:\n\n >>> points = np.array([[0, 0], [0, 1.1], [1, 0], [1, 1]])\n >>> from scipy.spatial import Delaunay\n >>> tri = Delaunay(points)\n\n We can plot it:\n\n >>> import matplotlib.pyplot as plt\n >>> plt.triplot(points[:,0], points[:,1], tri.simplices)\n >>> plt.plot(points[:,0], points[:,1], \'o\')\n >>> plt.show()\n\n Point indices and coordinates for the two triangles forming the\n triangulation:\n\n >>> tri.simplices\n array([[2, 3, 0], # may vary\n [3, 1, 0]], dtype=int32)\n\n Note that depending on how rounding errors go, the simplices may\n be in a different order than above.\n\n >>> points[tri.simplices]\n array([[[ 1. , 0. ], # may vary\n [ 1. , 1. ],\n [ 0. , 0. ]],\n [[ 1. , 1. ],\n [ 0. , 1.1],\n [ 0. , 0. ]]])\n\n Triangle 0 is the only neighbor of triangle 1, and it\'s opposite to\n vertex 1 of triangle 1:\n\n >>> tri.neighbors[1]\n array([-1, 0, -1], dtype=int32)\n >>> points[tri.simplices[1,1]]\n array([ 0. , 1.1])\n\n We can find out which triangle points are in:\n\n >>> p = np.array([(0.1, 0.2), (1.5, 0.5), (0.5, 1.05)])\n >>> tri.find_simplex(p)\n array([ 1, -1, 1], dtype=int32)\n\n The returned integers in the array are the indices of the simplex the\n corresponding point is in. If -1 is returned, the point is in no simplex.\n Be aware that the shortcut in the following example only works corretcly\n for valid points as invalid points result in -1 which is itself a valid\n index for the last simplex in the list.\n\n >>> p_valids = np.array([(0.1, 0.2), (0.5, 1.05)])\n >>> tri.simplices[tri.find_simplex(p_valids)]\n array([[3, 1, 0], # may vary\n [3, 1, 0]], dtype=int32)\n\n We can also compute barycentric coordinates in triangle 1 for\n these points:\n\n >>> b = tri.transform[1,:2].dot(np.transpose(p - tri.transform[1,2]))\n >>> np.c_[np.transpose(b), 1 - b.sum(axis=0)]\n array([[ 0.1 , 0.09090909, 0.80909091],\n [ 1.5 , -0.90909091, 0.40909091],\n [ 0.5 , 0.5 , 0. ]])\n\n The coordinates for the first point are all positive, meaning it\n is indeed inside the triangle. The third point is on a vertex,\n hence its null third coordinate.\n\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def _update(self, qhull) -> typing.Any: - ... - - def add_points(self, points, restart) -> typing.Any: - '\n add_points(points, restart=False)\n\n Process a set of additional new points.\n\n Parameters\n ----------\n points : ndarray\n New points to add. The dimensionality should match that of the\n initial points.\n restart : bool, optional\n Whether to restart processing from scratch, rather than\n adding points incrementally.\n\n Raises\n ------\n QhullError\n Raised when Qhull encounters an error condition, such as\n geometrical degeneracy when options to resolve are not enabled.\n\n See Also\n --------\n close\n\n Notes\n -----\n You need to specify ``incremental=True`` when constructing the\n object to be able to add points incrementally. Incremental addition\n of points is also not possible after `close` has been called.\n\n ' - ... - - convex_hull: property - def find_simplex(self, xi, bruteforce, tol) -> typing.Any: - "\n find_simplex(self, xi, bruteforce=False, tol=None)\n\n Find the simplices containing the given points.\n\n Parameters\n ----------\n tri : DelaunayInfo\n Delaunay triangulation\n xi : ndarray of double, shape (..., ndim)\n Points to locate\n bruteforce : bool, optional\n Whether to only perform a brute-force search\n tol : float, optional\n Tolerance allowed in the inside-triangle check.\n Default is ``100*eps``.\n\n Returns\n -------\n i : ndarray of int, same shape as `xi`\n Indices of simplices containing each point.\n Points outside the triangulation get the value -1.\n\n Notes\n -----\n This uses an algorithm adapted from Qhull's ``qh_findbestfacet``,\n which makes use of the connection between a convex hull and a\n Delaunay triangulation. After finding the simplex closest to\n the point in N+1 dimensions, the algorithm falls back to\n directed search in N dimensions.\n\n " - ... - - def lift_points(self, x) -> typing.Any: - '\n lift_points(self, x)\n\n Lift points to the Qhull paraboloid.\n\n ' - ... - - def plane_distance(self, xi) -> typing.Any: - '\n plane_distance(self, xi)\n\n Compute hyperplane distances to the point `xi` from all simplices.\n\n ' - ... - - points: property - transform: property - vertex_neighbor_vertices: property - vertex_to_simplex: property - def __getattr__(self, name) -> typing.Any: - ... - - -class HalfspaceIntersection(_QhullUser): - '\n HalfspaceIntersection(halfspaces, interior_point, incremental=False, qhull_options=None)\n\n Halfspace intersections in N dimensions.\n\n .. versionadded:: 0.19.0\n\n Parameters\n ----------\n halfspaces : ndarray of floats, shape (nineq, ndim+1)\n Stacked Inequalities of the form Ax + b <= 0 in format [A; b]\n interior_point : ndarray of floats, shape (ndim,)\n Point clearly inside the region defined by halfspaces. Also called a feasible\n point, it can be obtained by linear programming.\n incremental : bool, optional\n Allow adding new halfspaces incrementally. This takes up some additional\n resources.\n qhull_options : str, optional\n Additional options to pass to Qhull. See Qhull manual\n for details. (Default: "Qx" for ndim > 4 and "" otherwise)\n Option "H" is always enabled.\n\n Attributes\n ----------\n halfspaces : ndarray of double, shape (nineq, ndim+1)\n Input halfspaces.\n interior_point :ndarray of floats, shape (ndim,)\n Input interior point.\n intersections : ndarray of double, shape (ninter, ndim)\n Intersections of all halfspaces.\n dual_points : ndarray of double, shape (nineq, ndim)\n Dual points of the input halfspaces.\n dual_facets : list of lists of ints\n Indices of points forming the (non necessarily simplicial) facets of\n the dual convex hull.\n dual_vertices : ndarray of ints, shape (nvertices,)\n Indices of halfspaces forming the vertices of the dual convex hull.\n For 2-D convex hulls, the vertices are in counterclockwise order.\n For other dimensions, they are in input order.\n dual_equations : ndarray of double, shape (nfacet, ndim+1)\n [normal, offset] forming the hyperplane equation of the dual facet\n (see `Qhull documentation `__ for more).\n dual_area : float\n Area of the dual convex hull\n dual_volume : float\n Volume of the dual convex hull\n\n Raises\n ------\n QhullError\n Raised when Qhull encounters an error condition, such as\n geometrical degeneracy when options to resolve are not enabled.\n ValueError\n Raised if an incompatible array is given as input.\n\n Notes\n -----\n The intersections are computed using the\n `Qhull library `__.\n This reproduces the "qhalf" functionality of Qhull.\n\n Examples\n --------\n\n Halfspace intersection of planes forming some polygon\n\n >>> from scipy.spatial import HalfspaceIntersection\n >>> halfspaces = np.array([[-1, 0., 0.],\n ... [0., -1., 0.],\n ... [2., 1., -4.],\n ... [-0.5, 1., -2.]])\n >>> feasible_point = np.array([0.5, 0.5])\n >>> hs = HalfspaceIntersection(halfspaces, feasible_point)\n\n Plot halfspaces as filled regions and intersection points:\n\n >>> import matplotlib.pyplot as plt\n >>> fig = plt.figure()\n >>> ax = fig.add_subplot(1, 1, 1, aspect=\'equal\')\n >>> xlim, ylim = (-1, 3), (-1, 3)\n >>> ax.set_xlim(xlim)\n >>> ax.set_ylim(ylim)\n >>> x = np.linspace(-1, 3, 100)\n >>> symbols = [\'-\', \'+\', \'x\', \'*\']\n >>> signs = [0, 0, -1, -1]\n >>> fmt = {"color": None, "edgecolor": "b", "alpha": 0.5}\n >>> for h, sym, sign in zip(halfspaces, symbols, signs):\n ... hlist = h.tolist()\n ... fmt["hatch"] = sym\n ... if h[1]== 0:\n ... ax.axvline(-h[2]/h[0], label=\'{}x+{}y+{}=0\'.format(*hlist))\n ... xi = np.linspace(xlim[sign], -h[2]/h[0], 100)\n ... ax.fill_between(xi, ylim[0], ylim[1], **fmt)\n ... else:\n ... ax.plot(x, (-h[2]-h[0]*x)/h[1], label=\'{}x+{}y+{}=0\'.format(*hlist))\n ... ax.fill_between(x, (-h[2]-h[0]*x)/h[1], ylim[sign], **fmt)\n >>> x, y = zip(*hs.intersections)\n >>> ax.plot(x, y, \'o\', markersize=8)\n\n By default, qhull does not provide with a way to compute an interior point.\n This can easily be computed using linear programming. Considering halfspaces\n of the form :math:`Ax + b \\leq 0`, solving the linear program:\n\n .. math::\n\n max \\: y\n\n s.t. Ax + y ||A_i|| \\leq -b\n\n With :math:`A_i` being the rows of A, i.e. the normals to each plane.\n\n Will yield a point x that is furthest inside the convex polyhedron. To\n be precise, it is the center of the largest hypersphere of radius y\n inscribed in the polyhedron. This point is called the Chebyshev center\n of the polyhedron (see [1]_ 4.3.1, pp148-149). The\n equations outputted by Qhull are always normalized.\n\n >>> from scipy.optimize import linprog\n >>> from matplotlib.patches import Circle\n >>> norm_vector = np.reshape(np.linalg.norm(halfspaces[:, :-1], axis=1),\n ... (halfspaces.shape[0], 1))\n >>> c = np.zeros((halfspaces.shape[1],))\n >>> c[-1] = -1\n >>> A = np.hstack((halfspaces[:, :-1], norm_vector))\n >>> b = - halfspaces[:, -1:]\n >>> res = linprog(c, A_ub=A, b_ub=b, bounds=(None, None))\n >>> x = res.x[:-1]\n >>> y = res.x[-1]\n >>> circle = Circle(x, radius=y, alpha=0.3)\n >>> ax.add_patch(circle)\n >>> plt.legend(bbox_to_anchor=(1.6, 1.0))\n >>> plt.show()\n\n References\n ----------\n .. [Qhull] http://www.qhull.org/\n .. [1] S. Boyd, L. Vandenberghe, Convex Optimization, available\n at http://stanford.edu/~boyd/cvxbook/\n\n ' - __dict__: typing.Dict[str, typing.Any] - def __init__(self, halfspaces, interior_point, incremental=..., qhull_options=...) -> None: - '\n HalfspaceIntersection(halfspaces, interior_point, incremental=False, qhull_options=None)\n\n Halfspace intersections in N dimensions.\n\n .. versionadded:: 0.19.0\n\n Parameters\n ----------\n halfspaces : ndarray of floats, shape (nineq, ndim+1)\n Stacked Inequalities of the form Ax + b <= 0 in format [A; b]\n interior_point : ndarray of floats, shape (ndim,)\n Point clearly inside the region defined by halfspaces. Also called a feasible\n point, it can be obtained by linear programming.\n incremental : bool, optional\n Allow adding new halfspaces incrementally. This takes up some additional\n resources.\n qhull_options : str, optional\n Additional options to pass to Qhull. See Qhull manual\n for details. (Default: "Qx" for ndim > 4 and "" otherwise)\n Option "H" is always enabled.\n\n Attributes\n ----------\n halfspaces : ndarray of double, shape (nineq, ndim+1)\n Input halfspaces.\n interior_point :ndarray of floats, shape (ndim,)\n Input interior point.\n intersections : ndarray of double, shape (ninter, ndim)\n Intersections of all halfspaces.\n dual_points : ndarray of double, shape (nineq, ndim)\n Dual points of the input halfspaces.\n dual_facets : list of lists of ints\n Indices of points forming the (non necessarily simplicial) facets of\n the dual convex hull.\n dual_vertices : ndarray of ints, shape (nvertices,)\n Indices of halfspaces forming the vertices of the dual convex hull.\n For 2-D convex hulls, the vertices are in counterclockwise order.\n For other dimensions, they are in input order.\n dual_equations : ndarray of double, shape (nfacet, ndim+1)\n [normal, offset] forming the hyperplane equation of the dual facet\n (see `Qhull documentation `__ for more).\n dual_area : float\n Area of the dual convex hull\n dual_volume : float\n Volume of the dual convex hull\n\n Raises\n ------\n QhullError\n Raised when Qhull encounters an error condition, such as\n geometrical degeneracy when options to resolve are not enabled.\n ValueError\n Raised if an incompatible array is given as input.\n\n Notes\n -----\n The intersections are computed using the\n `Qhull library `__.\n This reproduces the "qhalf" functionality of Qhull.\n\n Examples\n --------\n\n Halfspace intersection of planes forming some polygon\n\n >>> from scipy.spatial import HalfspaceIntersection\n >>> halfspaces = np.array([[-1, 0., 0.],\n ... [0., -1., 0.],\n ... [2., 1., -4.],\n ... [-0.5, 1., -2.]])\n >>> feasible_point = np.array([0.5, 0.5])\n >>> hs = HalfspaceIntersection(halfspaces, feasible_point)\n\n Plot halfspaces as filled regions and intersection points:\n\n >>> import matplotlib.pyplot as plt\n >>> fig = plt.figure()\n >>> ax = fig.add_subplot(1, 1, 1, aspect=\'equal\')\n >>> xlim, ylim = (-1, 3), (-1, 3)\n >>> ax.set_xlim(xlim)\n >>> ax.set_ylim(ylim)\n >>> x = np.linspace(-1, 3, 100)\n >>> symbols = [\'-\', \'+\', \'x\', \'*\']\n >>> signs = [0, 0, -1, -1]\n >>> fmt = {"color": None, "edgecolor": "b", "alpha": 0.5}\n >>> for h, sym, sign in zip(halfspaces, symbols, signs):\n ... hlist = h.tolist()\n ... fmt["hatch"] = sym\n ... if h[1]== 0:\n ... ax.axvline(-h[2]/h[0], label=\'{}x+{}y+{}=0\'.format(*hlist))\n ... xi = np.linspace(xlim[sign], -h[2]/h[0], 100)\n ... ax.fill_between(xi, ylim[0], ylim[1], **fmt)\n ... else:\n ... ax.plot(x, (-h[2]-h[0]*x)/h[1], label=\'{}x+{}y+{}=0\'.format(*hlist))\n ... ax.fill_between(x, (-h[2]-h[0]*x)/h[1], ylim[sign], **fmt)\n >>> x, y = zip(*hs.intersections)\n >>> ax.plot(x, y, \'o\', markersize=8)\n\n By default, qhull does not provide with a way to compute an interior point.\n This can easily be computed using linear programming. Considering halfspaces\n of the form :math:`Ax + b \\leq 0`, solving the linear program:\n\n .. math::\n\n max \\: y\n\n s.t. Ax + y ||A_i|| \\leq -b\n\n With :math:`A_i` being the rows of A, i.e. the normals to each plane.\n\n Will yield a point x that is furthest inside the convex polyhedron. To\n be precise, it is the center of the largest hypersphere of radius y\n inscribed in the polyhedron. This point is called the Chebyshev center\n of the polyhedron (see [1]_ 4.3.1, pp148-149). The\n equations outputted by Qhull are always normalized.\n\n >>> from scipy.optimize import linprog\n >>> from matplotlib.patches import Circle\n >>> norm_vector = np.reshape(np.linalg.norm(halfspaces[:, :-1], axis=1),\n ... (halfspaces.shape[0], 1))\n >>> c = np.zeros((halfspaces.shape[1],))\n >>> c[-1] = -1\n >>> A = np.hstack((halfspaces[:, :-1], norm_vector))\n >>> b = - halfspaces[:, -1:]\n >>> res = linprog(c, A_ub=A, b_ub=b, bounds=(None, None))\n >>> x = res.x[:-1]\n >>> y = res.x[-1]\n >>> circle = Circle(x, radius=y, alpha=0.3)\n >>> ax.add_patch(circle)\n >>> plt.legend(bbox_to_anchor=(1.6, 1.0))\n >>> plt.show()\n\n References\n ----------\n .. [Qhull] http://www.qhull.org/\n .. [1] S. Boyd, L. Vandenberghe, Convex Optimization, available\n at http://stanford.edu/~boyd/cvxbook/\n\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def _update(self, qhull) -> typing.Any: - ... - - def add_halfspaces(self, halfspaces, restart) -> typing.Any: - '\n add_halfspaces(halfspaces, restart=False)\n\n Process a set of additional new halfspaces.\n\n Parameters\n ----------\n halfspaces : ndarray\n New halfspaces to add. The dimensionality should match that of the\n initial halfspaces.\n restart : bool, optional\n Whether to restart processing from scratch, rather than\n adding halfspaces incrementally.\n\n Raises\n ------\n QhullError\n Raised when Qhull encounters an error condition, such as\n geometrical degeneracy when options to resolve are not enabled.\n\n See Also\n --------\n close\n\n Notes\n -----\n You need to specify ``incremental=True`` when constructing the\n object to be able to add halfspaces incrementally. Incremental addition\n of halfspaces is also not possible after `close` has been called.\n\n ' - ... - - dual_vertices: property - halfspaces: property - def __getattr__(self, name) -> typing.Any: - ... - - -class QhullError(_mod_builtins.RuntimeError): - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class Voronoi(_QhullUser): - '\n Voronoi(points, furthest_site=False, incremental=False, qhull_options=None)\n\n Voronoi diagrams in N dimensions.\n\n .. versionadded:: 0.12.0\n\n Parameters\n ----------\n points : ndarray of floats, shape (npoints, ndim)\n Coordinates of points to construct a convex hull from\n furthest_site : bool, optional\n Whether to compute a furthest-site Voronoi diagram. Default: False\n incremental : bool, optional\n Allow adding new points incrementally. This takes up some additional\n resources.\n qhull_options : str, optional\n Additional options to pass to Qhull. See Qhull manual\n for details. (Default: "Qbb Qc Qz Qx" for ndim > 4 and\n "Qbb Qc Qz" otherwise. Incremental mode omits "Qz".)\n\n Attributes\n ----------\n points : ndarray of double, shape (npoints, ndim)\n Coordinates of input points.\n vertices : ndarray of double, shape (nvertices, ndim)\n Coordinates of the Voronoi vertices.\n ridge_points : ndarray of ints, shape ``(nridges, 2)``\n Indices of the points between which each Voronoi ridge lies.\n ridge_vertices : list of list of ints, shape ``(nridges, *)``\n Indices of the Voronoi vertices forming each Voronoi ridge.\n regions : list of list of ints, shape ``(nregions, *)``\n Indices of the Voronoi vertices forming each Voronoi region.\n -1 indicates vertex outside the Voronoi diagram.\n point_region : list of ints, shape (npoints)\n Index of the Voronoi region for each input point.\n If qhull option "Qc" was not specified, the list will contain -1\n for points that are not associated with a Voronoi region.\n furthest_site\n True if this was a furthest site triangulation and False if not.\n\n .. versionadded:: 1.4.0\n\n Raises\n ------\n QhullError\n Raised when Qhull encounters an error condition, such as\n geometrical degeneracy when options to resolve are not enabled.\n ValueError\n Raised if an incompatible array is given as input.\n\n Notes\n -----\n The Voronoi diagram is computed using the\n `Qhull library `__.\n\n Examples\n --------\n Voronoi diagram for a set of point:\n\n >>> points = np.array([[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2],\n ... [2, 0], [2, 1], [2, 2]])\n >>> from scipy.spatial import Voronoi, voronoi_plot_2d\n >>> vor = Voronoi(points)\n\n Plot it:\n\n >>> import matplotlib.pyplot as plt\n >>> fig = voronoi_plot_2d(vor)\n >>> plt.show()\n\n The Voronoi vertices:\n\n >>> vor.vertices\n array([[0.5, 0.5],\n [0.5, 1.5],\n [1.5, 0.5],\n [1.5, 1.5]])\n\n There is a single finite Voronoi region, and four finite Voronoi\n ridges:\n\n >>> vor.regions\n [[], [-1, 0], [-1, 1], [1, -1, 0], [3, -1, 2], [-1, 3], [-1, 2], [0, 1, 3, 2], [2, -1, 0], [3, -1, 1]]\n >>> vor.ridge_vertices\n [[-1, 0], [-1, 0], [-1, 1], [-1, 1], [0, 1], [-1, 3], [-1, 2], [2, 3], [-1, 3], [-1, 2], [1, 3], [0, 2]]\n\n The ridges are perpendicular between lines drawn between the following\n input points:\n\n >>> vor.ridge_points\n array([[0, 3],\n [0, 1],\n [2, 5],\n [2, 1],\n [1, 4],\n [7, 8],\n [7, 6],\n [7, 4],\n [8, 5],\n [6, 3],\n [4, 5],\n [4, 3]], dtype=int32)\n\n ' - __dict__: typing.Dict[str, typing.Any] - def __init__(self, points, furthest_site=..., incremental=..., qhull_options=...) -> None: - '\n Voronoi(points, furthest_site=False, incremental=False, qhull_options=None)\n\n Voronoi diagrams in N dimensions.\n\n .. versionadded:: 0.12.0\n\n Parameters\n ----------\n points : ndarray of floats, shape (npoints, ndim)\n Coordinates of points to construct a convex hull from\n furthest_site : bool, optional\n Whether to compute a furthest-site Voronoi diagram. Default: False\n incremental : bool, optional\n Allow adding new points incrementally. This takes up some additional\n resources.\n qhull_options : str, optional\n Additional options to pass to Qhull. See Qhull manual\n for details. (Default: "Qbb Qc Qz Qx" for ndim > 4 and\n "Qbb Qc Qz" otherwise. Incremental mode omits "Qz".)\n\n Attributes\n ----------\n points : ndarray of double, shape (npoints, ndim)\n Coordinates of input points.\n vertices : ndarray of double, shape (nvertices, ndim)\n Coordinates of the Voronoi vertices.\n ridge_points : ndarray of ints, shape ``(nridges, 2)``\n Indices of the points between which each Voronoi ridge lies.\n ridge_vertices : list of list of ints, shape ``(nridges, *)``\n Indices of the Voronoi vertices forming each Voronoi ridge.\n regions : list of list of ints, shape ``(nregions, *)``\n Indices of the Voronoi vertices forming each Voronoi region.\n -1 indicates vertex outside the Voronoi diagram.\n point_region : list of ints, shape (npoints)\n Index of the Voronoi region for each input point.\n If qhull option "Qc" was not specified, the list will contain -1\n for points that are not associated with a Voronoi region.\n furthest_site\n True if this was a furthest site triangulation and False if not.\n\n .. versionadded:: 1.4.0\n\n Raises\n ------\n QhullError\n Raised when Qhull encounters an error condition, such as\n geometrical degeneracy when options to resolve are not enabled.\n ValueError\n Raised if an incompatible array is given as input.\n\n Notes\n -----\n The Voronoi diagram is computed using the\n `Qhull library `__.\n\n Examples\n --------\n Voronoi diagram for a set of point:\n\n >>> points = np.array([[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2],\n ... [2, 0], [2, 1], [2, 2]])\n >>> from scipy.spatial import Voronoi, voronoi_plot_2d\n >>> vor = Voronoi(points)\n\n Plot it:\n\n >>> import matplotlib.pyplot as plt\n >>> fig = voronoi_plot_2d(vor)\n >>> plt.show()\n\n The Voronoi vertices:\n\n >>> vor.vertices\n array([[0.5, 0.5],\n [0.5, 1.5],\n [1.5, 0.5],\n [1.5, 1.5]])\n\n There is a single finite Voronoi region, and four finite Voronoi\n ridges:\n\n >>> vor.regions\n [[], [-1, 0], [-1, 1], [1, -1, 0], [3, -1, 2], [-1, 3], [-1, 2], [0, 1, 3, 2], [2, -1, 0], [3, -1, 1]]\n >>> vor.ridge_vertices\n [[-1, 0], [-1, 0], [-1, 1], [-1, 1], [0, 1], [-1, 3], [-1, 2], [2, 3], [-1, 3], [-1, 2], [1, 3], [0, 2]]\n\n The ridges are perpendicular between lines drawn between the following\n input points:\n\n >>> vor.ridge_points\n array([[0, 3],\n [0, 1],\n [2, 5],\n [2, 1],\n [1, 4],\n [7, 8],\n [7, 6],\n [7, 4],\n [8, 5],\n [6, 3],\n [4, 5],\n [4, 3]], dtype=int32)\n\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def _update(self, qhull) -> typing.Any: - ... - - def add_points(self, points, restart) -> typing.Any: - '\n add_points(points, restart=False)\n\n Process a set of additional new points.\n\n Parameters\n ----------\n points : ndarray\n New points to add. The dimensionality should match that of the\n initial points.\n restart : bool, optional\n Whether to restart processing from scratch, rather than\n adding points incrementally.\n\n Raises\n ------\n QhullError\n Raised when Qhull encounters an error condition, such as\n geometrical degeneracy when options to resolve are not enabled.\n\n See Also\n --------\n close\n\n Notes\n -----\n You need to specify ``incremental=True`` when constructing the\n object to be able to add points incrementally. Incremental addition\n of points is also not possible after `close` has been called.\n\n ' - ... - - points: property - ridge_dict: property - def __getattr__(self, name) -> typing.Any: - ... - - -class _Qhull(_mod_builtins.object): - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __reduce__(self) -> typing.Union[str, typing.Tuple[typing.Any, ...]]: - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - def add_points(self) -> typing.Any: - ... - - def check_active(self) -> typing.Any: - ... - - def close(self) -> typing.Any: - '\n Uninitialize this instance\n ' - ... - - @property - def furthest_site(self) -> typing.Any: - ... - - def get_extremes_2d(self) -> typing.Any: - '\n Compute the extremal points in a 2-D convex hull, i.e. the\n vertices of the convex hull, ordered counterclockwise.\n\n See qhull/io.c:qh_printextremes_2d\n\n ' - ... - - def get_hull_facets(self) -> typing.Any: - 'Returns the facets contained in the current Qhull.\n This function does not assume that the hull is simplicial,\n meaning that facets will have different number of vertices.\n It is thus less efficient but more general than get_simplex_facet_array.\n\n Returns\n -------\n facets: list of lists of ints\n The indices of the vertices forming each facet.\n ' - ... - - def get_hull_points(self) -> typing.Any: - 'Returns all points currently contained in Qhull.\n It is equivalent to retrieving the input in most cases, except in\n halfspace mode, where the points are in fact the points of the dual\n hull.\n\n Returns\n -------\n points: array of double, shape (nrpoints, ndim)\n The array of points contained in Qhull.\n\n ' - ... - - def get_paraboloid_shift_scale(self) -> typing.Any: - ... - - def get_points(self) -> typing.Any: - ... - - def get_simplex_facet_array(self) -> typing.Any: - '\n Return array of simplical facets currently in Qhull.\n\n Returns\n -------\n facets : array of int, shape (nfacets, ndim+1)\n Indices of coordinates of vertices forming the simplical facets\n neighbors : array of int, shape (nfacets, ndim)\n Indices of neighboring facets. The kth neighbor is opposite\n the kth vertex, and the first neighbor is the horizon facet\n for the first vertex.\n\n Facets extending to infinity are denoted with index -1.\n equations : array of double, shape (nfacets, ndim+2)\n\n ' - ... - - def get_voronoi_diagram(self) -> typing.Any: - '\n Return the voronoi diagram currently in Qhull.\n\n Returns\n -------\n voronoi_vertices : array of double, shape (nvoronoi_vertices, ndim)\n Coordinates of the Voronoi vertices\n\n ridge_points : array of double, shape (nridges, 2)\n Voronoi ridges, as indices to the points array.\n\n ridge_vertices : list of lists, shape (nridges, *)\n Voronoi vertices for each Voronoi ridge, as indices to\n the Voronoi vertices array.\n Infinity is indicated by index ``-1``.\n\n regions : list of lists, shape (nregion, *)\n Voronoi vertices of all regions.\n\n point_region : array of int, shape (npoint,)\n Index of the Voronoi region for each input point.\n\n ' - ... - - @property - def mode_option(self) -> typing.Any: - ... - - @property - def ndim(self) -> typing.Any: - ... - - @property - def options(self) -> typing.Any: - ... - - def triangulate(self) -> typing.Any: - ... - - def volume_area(self) -> typing.Any: - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class _QhullUser(_mod_builtins.object): - '\n Takes care of basic dealings with the Qhull objects\n ' - def __del__(self) -> None: - ... - - __dict__: typing.Dict[str, typing.Any] - def __init__(self, qhull, incremental) -> None: - '\n Takes care of basic dealings with the Qhull objects\n ' - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def _add_points(self, points, restart, interior_point) -> typing.Any: - '\n add_points(points, restart=False)\n\n Process a set of additional new points.\n\n Parameters\n ----------\n points : ndarray\n New points to add. The dimensionality should match that of the\n initial points.\n restart : bool, optional\n Whether to restart processing from scratch, rather than\n adding points incrementally.\n\n Raises\n ------\n QhullError\n Raised when Qhull encounters an error condition, such as\n geometrical degeneracy when options to resolve are not enabled.\n\n See Also\n --------\n close\n\n Notes\n -----\n You need to specify ``incremental=True`` when constructing the\n object to be able to add points incrementally. Incremental addition\n of points is also not possible after `close` has been called.\n\n ' - ... - - _qhull: typing.Any - def _update(self, qhull) -> typing.Any: - ... - - def close(self) -> typing.Any: - '\n close()\n\n Finish incremental processing.\n\n Call this to free resources taken up by Qhull, when using the\n incremental mode. After calling this, adding more points is no\n longer possible.\n ' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__all__: list -__doc__: str -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def _copy_docstr() -> typing.Any: - ... - -def _get_barycentric_transforms() -> typing.Any: - '\n Compute barycentric affine coordinate transformations for given\n simplices.\n\n Returns\n -------\n Tinvs : array, shape (nsimplex, ndim+1, ndim)\n Barycentric transforms for each simplex.\n\n Tinvs[i,:ndim,:ndim] contains inverse of the matrix ``T``,\n and Tinvs[i,ndim,:] contains the vector ``r_n`` (see below).\n\n Notes\n -----\n Barycentric transform from ``x`` to ``c`` is defined by::\n\n T c = x - r_n\n\n where the ``r_1, ..., r_n`` are the vertices of the simplex.\n The matrix ``T`` is defined by the condition::\n\n T e_j = r_j - r_n\n\n where ``e_j`` is the unit axis vector, e.g, ``e_2 = [0,1,0,0,...]``\n This implies that ``T_ij = (r_j - r_n)_i``.\n\n For the barycentric transforms, we need to compute the inverse\n matrix ``T^-1`` and store the vectors ``r_n`` for each vertex.\n These are stacked into the `Tinvs` returned.\n\n ' - ... - -def asbytes(s) -> typing.Any: - ... - -def tsearch(tri, xi) -> typing.Any: - "\n tsearch(tri, xi)\n\n Find simplices containing the given points. This function does the\n same thing as `Delaunay.find_simplex`.\n\n .. versionadded:: 0.9\n\n See Also\n --------\n Delaunay.find_simplex\n\n\n Examples\n --------\n\n >>> import numpy as np\n >>> import matplotlib.pyplot as plt\n >>> from scipy.spatial import Delaunay, delaunay_plot_2d, tsearch\n\n The Delaunay triangulation of a set of random points:\n\n >>> pts = np.random.rand(20, 2)\n >>> tri = Delaunay(pts)\n >>> _ = delaunay_plot_2d(tri)\n\n Find the simplices containing a given set of points:\n\n >>> loc = np.random.uniform(0.2, 0.8, (5, 2))\n >>> s = tsearch(tri, loc)\n >>> plt.triplot(pts[:, 0], pts[:, 1], tri.simplices[s], 'b-', mask=s==-1)\n >>> plt.scatter(loc[:, 0], loc[:, 1], c='r', marker='x')\n >>> plt.show()\n\n " - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/transform/rotation.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/transform/rotation.pyi deleted file mode 100644 index b8855ba1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/spatial/transform/rotation.pyi +++ /dev/null @@ -1,196 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.spatial.transform.rotation, version: unspecified -import typing -import builtins as _mod_builtins - -class Rotation(_mod_builtins.object): - "Rotation in 3 dimensions.\n\n This class provides an interface to initialize from and represent rotations\n with:\n\n - Quaternions\n - Rotation Matrices\n - Rotation Vectors\n - Modified Rodrigues Parameters\n - Euler Angles\n\n The following operations on rotations are supported:\n\n - Application on vectors\n - Rotation Composition\n - Rotation Inversion\n - Rotation Indexing\n\n Indexing within a rotation is supported since multiple rotation transforms\n can be stored within a single `Rotation` instance.\n\n To create `Rotation` objects use ``from_...`` methods (see examples below).\n ``Rotation(...)`` is not supposed to be instantiated directly.\n\n Attributes\n ----------\n single\n\n Methods\n -------\n __len__\n from_quat\n from_matrix\n from_rotvec\n from_mrp\n from_euler\n as_quat\n as_matrix\n as_rotvec\n as_mrp\n as_euler\n apply\n __mul__\n inv\n magnitude\n mean\n reduce\n create_group\n __getitem__\n identity\n random\n align_vectors\n\n See Also\n --------\n Slerp\n\n Notes\n -----\n .. versionadded: 1.2.0\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n\n A `Rotation` instance can be initialized in any of the above formats and\n converted to any of the others. The underlying object is independent of the\n representation used for initialization.\n\n Consider a counter-clockwise rotation of 90 degrees about the z-axis. This\n corresponds to the following quaternion (in scalar-last format):\n\n >>> r = R.from_quat([0, 0, np.sin(np.pi/4), np.cos(np.pi/4)])\n\n The rotation can be expressed in any of the other formats:\n\n >>> r.as_matrix()\n array([[ 2.22044605e-16, -1.00000000e+00, 0.00000000e+00],\n [ 1.00000000e+00, 2.22044605e-16, 0.00000000e+00],\n [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])\n >>> r.as_rotvec()\n array([0. , 0. , 1.57079633])\n >>> r.as_euler('zyx', degrees=True)\n array([90., 0., 0.])\n\n The same rotation can be initialized using a rotation matrix:\n\n >>> r = R.from_matrix([[0, -1, 0],\n ... [1, 0, 0],\n ... [0, 0, 1]])\n\n Representation in other formats:\n\n >>> r.as_quat()\n array([0. , 0. , 0.70710678, 0.70710678])\n >>> r.as_rotvec()\n array([0. , 0. , 1.57079633])\n >>> r.as_euler('zyx', degrees=True)\n array([90., 0., 0.])\n\n The rotation vector corresponding to this rotation is given by:\n\n >>> r = R.from_rotvec(np.pi/2 * np.array([0, 0, 1]))\n\n Representation in other formats:\n\n >>> r.as_quat()\n array([0. , 0. , 0.70710678, 0.70710678])\n >>> r.as_matrix()\n array([[ 2.22044605e-16, -1.00000000e+00, 0.00000000e+00],\n [ 1.00000000e+00, 2.22044605e-16, 0.00000000e+00],\n [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])\n >>> r.as_euler('zyx', degrees=True)\n array([90., 0., 0.])\n\n The ``from_euler`` method is quite flexible in the range of input formats\n it supports. Here we initialize a single rotation about a single axis:\n\n >>> r = R.from_euler('z', 90, degrees=True)\n\n Again, the object is representation independent and can be converted to any\n other format:\n\n >>> r.as_quat()\n array([0. , 0. , 0.70710678, 0.70710678])\n >>> r.as_matrix()\n array([[ 2.22044605e-16, -1.00000000e+00, 0.00000000e+00],\n [ 1.00000000e+00, 2.22044605e-16, 0.00000000e+00],\n [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])\n >>> r.as_rotvec()\n array([0. , 0. , 1.57079633])\n\n It is also possible to initialize multiple rotations in a single instance\n using any of the `from_...` functions. Here we initialize a stack of 3\n rotations using the ``from_euler`` method:\n\n >>> r = R.from_euler('zyx', [\n ... [90, 0, 0],\n ... [0, 45, 0],\n ... [45, 60, 30]], degrees=True)\n\n The other representations also now return a stack of 3 rotations. For\n example:\n\n >>> r.as_quat()\n array([[0. , 0. , 0.70710678, 0.70710678],\n [0. , 0.38268343, 0. , 0.92387953],\n [0.39190384, 0.36042341, 0.43967974, 0.72331741]])\n\n Applying the above rotations onto a vector:\n\n >>> v = [1, 2, 3]\n >>> r.apply(v)\n array([[-2. , 1. , 3. ],\n [ 2.82842712, 2. , 1.41421356],\n [ 2.24452282, 0.78093109, 2.89002836]])\n\n A `Rotation` instance can be indexed and sliced as if it were a single\n 1D array or list:\n\n >>> r.as_quat()\n array([[0. , 0. , 0.70710678, 0.70710678],\n [0. , 0.38268343, 0. , 0.92387953],\n [0.39190384, 0.36042341, 0.43967974, 0.72331741]])\n >>> p = r[0]\n >>> p.as_matrix()\n array([[ 2.22044605e-16, -1.00000000e+00, 0.00000000e+00],\n [ 1.00000000e+00, 2.22044605e-16, 0.00000000e+00],\n [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])\n >>> q = r[1:3]\n >>> q.as_quat()\n array([[0. , 0.38268343, 0. , 0.92387953],\n [0.39190384, 0.36042341, 0.43967974, 0.72331741]])\n\n In fact it can be converted to numpy.array:\n\n >>> r_array = np.asarray(r)\n >>> r_array.shape\n (3,)\n >>> r_array[0].as_matrix()\n array([[ 2.22044605e-16, -1.00000000e+00, 0.00000000e+00],\n [ 1.00000000e+00, 2.22044605e-16, 0.00000000e+00],\n [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])\n\n Multiple rotations can be composed using the ``*`` operator:\n\n >>> r1 = R.from_euler('z', 90, degrees=True)\n >>> r2 = R.from_rotvec([np.pi/4, 0, 0])\n >>> v = [1, 2, 3]\n >>> r2.apply(r1.apply(v))\n array([-2. , -1.41421356, 2.82842712])\n >>> r3 = r2 * r1 # Note the order\n >>> r3.apply(v)\n array([-2. , -1.41421356, 2.82842712])\n\n Finally, it is also possible to invert rotations:\n\n >>> r1 = R.from_euler('z', [90, 45], degrees=True)\n >>> r2 = r1.inv()\n >>> r2.as_euler('zyx', degrees=True)\n array([[-90., 0., 0.],\n [-45., 0., 0.]])\n\n These examples serve as an overview into the `Rotation` class and highlight\n major functionalities. For more thorough examples of the range of input and\n output formats supported, consult the individual method's examples.\n\n " - def __getitem__(self, index: int) -> typing.Any: - 'Extract rotation(s) at given index(es) from object.\n\n Create a new `Rotation` instance containing a subset of rotations\n stored in this object.\n\n Parameters\n ----------\n indexer : index, slice, or index array\n Specifies which rotation(s) to extract. A single indexer must be\n specified, i.e. as if indexing a 1 dimensional array or list.\n\n Returns\n -------\n rotation : `Rotation` instance\n Contains\n - a single rotation, if `indexer` is a single index\n - a stack of rotation(s), if `indexer` is a slice, or and index\n array.\n\n Raises\n ------\n TypeError if the instance was created as a single rotation.\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n >>> r = R.from_quat([\n ... [1, 1, 0, 0],\n ... [0, 1, 0, 1],\n ... [1, 1, -1, 0]])\n >>> r.as_quat()\n array([[ 0.70710678, 0.70710678, 0. , 0. ],\n [ 0. , 0.70710678, 0. , 0.70710678],\n [ 0.57735027, 0.57735027, -0.57735027, 0. ]])\n\n Indexing using a single index:\n\n >>> p = r[0]\n >>> p.as_quat()\n array([0.70710678, 0.70710678, 0. , 0. ])\n\n Array slicing:\n\n >>> q = r[1:3]\n >>> q.as_quat()\n array([[ 0. , 0.70710678, 0. , 0.70710678],\n [ 0.57735027, 0.57735027, -0.57735027, 0. ]])\n\n ' - ... - - def __getstate__(self) -> typing.Any: - ... - - def __init__(self, *args, **kwargs) -> None: - "Rotation in 3 dimensions.\n\n This class provides an interface to initialize from and represent rotations\n with:\n\n - Quaternions\n - Rotation Matrices\n - Rotation Vectors\n - Modified Rodrigues Parameters\n - Euler Angles\n\n The following operations on rotations are supported:\n\n - Application on vectors\n - Rotation Composition\n - Rotation Inversion\n - Rotation Indexing\n\n Indexing within a rotation is supported since multiple rotation transforms\n can be stored within a single `Rotation` instance.\n\n To create `Rotation` objects use ``from_...`` methods (see examples below).\n ``Rotation(...)`` is not supposed to be instantiated directly.\n\n Attributes\n ----------\n single\n\n Methods\n -------\n __len__\n from_quat\n from_matrix\n from_rotvec\n from_mrp\n from_euler\n as_quat\n as_matrix\n as_rotvec\n as_mrp\n as_euler\n apply\n __mul__\n inv\n magnitude\n mean\n reduce\n create_group\n __getitem__\n identity\n random\n align_vectors\n\n See Also\n --------\n Slerp\n\n Notes\n -----\n .. versionadded: 1.2.0\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n\n A `Rotation` instance can be initialized in any of the above formats and\n converted to any of the others. The underlying object is independent of the\n representation used for initialization.\n\n Consider a counter-clockwise rotation of 90 degrees about the z-axis. This\n corresponds to the following quaternion (in scalar-last format):\n\n >>> r = R.from_quat([0, 0, np.sin(np.pi/4), np.cos(np.pi/4)])\n\n The rotation can be expressed in any of the other formats:\n\n >>> r.as_matrix()\n array([[ 2.22044605e-16, -1.00000000e+00, 0.00000000e+00],\n [ 1.00000000e+00, 2.22044605e-16, 0.00000000e+00],\n [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])\n >>> r.as_rotvec()\n array([0. , 0. , 1.57079633])\n >>> r.as_euler('zyx', degrees=True)\n array([90., 0., 0.])\n\n The same rotation can be initialized using a rotation matrix:\n\n >>> r = R.from_matrix([[0, -1, 0],\n ... [1, 0, 0],\n ... [0, 0, 1]])\n\n Representation in other formats:\n\n >>> r.as_quat()\n array([0. , 0. , 0.70710678, 0.70710678])\n >>> r.as_rotvec()\n array([0. , 0. , 1.57079633])\n >>> r.as_euler('zyx', degrees=True)\n array([90., 0., 0.])\n\n The rotation vector corresponding to this rotation is given by:\n\n >>> r = R.from_rotvec(np.pi/2 * np.array([0, 0, 1]))\n\n Representation in other formats:\n\n >>> r.as_quat()\n array([0. , 0. , 0.70710678, 0.70710678])\n >>> r.as_matrix()\n array([[ 2.22044605e-16, -1.00000000e+00, 0.00000000e+00],\n [ 1.00000000e+00, 2.22044605e-16, 0.00000000e+00],\n [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])\n >>> r.as_euler('zyx', degrees=True)\n array([90., 0., 0.])\n\n The ``from_euler`` method is quite flexible in the range of input formats\n it supports. Here we initialize a single rotation about a single axis:\n\n >>> r = R.from_euler('z', 90, degrees=True)\n\n Again, the object is representation independent and can be converted to any\n other format:\n\n >>> r.as_quat()\n array([0. , 0. , 0.70710678, 0.70710678])\n >>> r.as_matrix()\n array([[ 2.22044605e-16, -1.00000000e+00, 0.00000000e+00],\n [ 1.00000000e+00, 2.22044605e-16, 0.00000000e+00],\n [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])\n >>> r.as_rotvec()\n array([0. , 0. , 1.57079633])\n\n It is also possible to initialize multiple rotations in a single instance\n using any of the `from_...` functions. Here we initialize a stack of 3\n rotations using the ``from_euler`` method:\n\n >>> r = R.from_euler('zyx', [\n ... [90, 0, 0],\n ... [0, 45, 0],\n ... [45, 60, 30]], degrees=True)\n\n The other representations also now return a stack of 3 rotations. For\n example:\n\n >>> r.as_quat()\n array([[0. , 0. , 0.70710678, 0.70710678],\n [0. , 0.38268343, 0. , 0.92387953],\n [0.39190384, 0.36042341, 0.43967974, 0.72331741]])\n\n Applying the above rotations onto a vector:\n\n >>> v = [1, 2, 3]\n >>> r.apply(v)\n array([[-2. , 1. , 3. ],\n [ 2.82842712, 2. , 1.41421356],\n [ 2.24452282, 0.78093109, 2.89002836]])\n\n A `Rotation` instance can be indexed and sliced as if it were a single\n 1D array or list:\n\n >>> r.as_quat()\n array([[0. , 0. , 0.70710678, 0.70710678],\n [0. , 0.38268343, 0. , 0.92387953],\n [0.39190384, 0.36042341, 0.43967974, 0.72331741]])\n >>> p = r[0]\n >>> p.as_matrix()\n array([[ 2.22044605e-16, -1.00000000e+00, 0.00000000e+00],\n [ 1.00000000e+00, 2.22044605e-16, 0.00000000e+00],\n [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])\n >>> q = r[1:3]\n >>> q.as_quat()\n array([[0. , 0.38268343, 0. , 0.92387953],\n [0.39190384, 0.36042341, 0.43967974, 0.72331741]])\n\n In fact it can be converted to numpy.array:\n\n >>> r_array = np.asarray(r)\n >>> r_array.shape\n (3,)\n >>> r_array[0].as_matrix()\n array([[ 2.22044605e-16, -1.00000000e+00, 0.00000000e+00],\n [ 1.00000000e+00, 2.22044605e-16, 0.00000000e+00],\n [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])\n\n Multiple rotations can be composed using the ``*`` operator:\n\n >>> r1 = R.from_euler('z', 90, degrees=True)\n >>> r2 = R.from_rotvec([np.pi/4, 0, 0])\n >>> v = [1, 2, 3]\n >>> r2.apply(r1.apply(v))\n array([-2. , -1.41421356, 2.82842712])\n >>> r3 = r2 * r1 # Note the order\n >>> r3.apply(v)\n array([-2. , -1.41421356, 2.82842712])\n\n Finally, it is also possible to invert rotations:\n\n >>> r1 = R.from_euler('z', [90, 45], degrees=True)\n >>> r2 = r1.inv()\n >>> r2.as_euler('zyx', degrees=True)\n array([[-90., 0., 0.],\n [-45., 0., 0.]])\n\n These examples serve as an overview into the `Rotation` class and highlight\n major functionalities. For more thorough examples of the range of input and\n output formats supported, consult the individual method's examples.\n\n " - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - def __len__(self) -> int: - 'Number of rotations contained in this object.\n\n Multiple rotations can be stored in a single instance.\n\n Returns\n -------\n length : int\n Number of rotations stored in object.\n\n Raises\n ------\n TypeError if the instance was created as a single rotation.\n ' - ... - - def __mul__(self) -> Rotation: - "Compose this rotation with the other.\n\n If `p` and `q` are two rotations, then the composition of 'q followed\n by p' is equivalent to `p * q`. In terms of rotation matrices,\n the composition can be expressed as\n ``p.as_matrix().dot(q.as_matrix())``.\n\n Parameters\n ----------\n other : `Rotation` instance\n Object containing the rotations to be composed with this one. Note\n that rotation compositions are not commutative, so ``p * q`` is\n different from ``q * p``.\n\n Returns\n -------\n composition : `Rotation` instance\n This function supports composition of multiple rotations at a time.\n The following cases are possible:\n\n - Either ``p`` or ``q`` contains a single rotation. In this case\n `composition` contains the result of composing each rotation in\n the other object with the single rotation.\n - Both ``p`` and ``q`` contain ``N`` rotations. In this case each\n rotation ``p[i]`` is composed with the corresponding rotation\n ``q[i]`` and `output` contains ``N`` rotations.\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n\n Composition of two single rotations:\n\n >>> p = R.from_quat([0, 0, 1, 1])\n >>> q = R.from_quat([1, 0, 0, 1])\n >>> p.as_matrix()\n array([[ 0., -1., 0.],\n [ 1., 0., 0.],\n [ 0., 0., 1.]])\n >>> q.as_matrix()\n array([[ 1., 0., 0.],\n [ 0., 0., -1.],\n [ 0., 1., 0.]])\n >>> r = p * q\n >>> r.as_matrix()\n array([[0., 0., 1.],\n [1., 0., 0.],\n [0., 1., 0.]])\n\n Composition of two objects containing equal number of rotations:\n\n >>> p = R.from_quat([[0, 0, 1, 1], [1, 0, 0, 1]])\n >>> q = R.from_rotvec([[np.pi/4, 0, 0], [-np.pi/4, 0, np.pi/4]])\n >>> p.as_quat()\n array([[0. , 0. , 0.70710678, 0.70710678],\n [0.70710678, 0. , 0. , 0.70710678]])\n >>> q.as_quat()\n array([[ 0.38268343, 0. , 0. , 0.92387953],\n [-0.37282173, 0. , 0.37282173, 0.84971049]])\n >>> r = p * q\n >>> r.as_quat()\n array([[ 0.27059805, 0.27059805, 0.65328148, 0.65328148],\n [ 0.33721128, -0.26362477, 0.26362477, 0.86446082]])\n\n " - ... - - def __reduce_cython__(self) -> typing.Any: - ... - - def __rmul__(self, value) -> Rotation: - 'Return value*self.' - ... - - def __setstate__(self, state: typing.Any) -> None: - ... - - def __setstate_cython__(self) -> typing.Any: - ... - - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @classmethod - def align_vectors(cls) -> typing.Any: - 'Estimate a rotation to optimally align two sets of vectors.\n\n Find a rotation between frames A and B which best aligns a set of\n vectors `a` and `b` observed in these frames. The following loss\n function is minimized to solve for the rotation matrix\n :math:`C`:\n\n .. math::\n\n L(C) = \\frac{1}{2} \\sum_{i = 1}^{n} w_i \\lVert \\mathbf{a}_i -\n C \\mathbf{b}_i \\rVert^2 ,\n\n where :math:`w_i`\'s are the `weights` corresponding to each vector.\n\n The rotation is estimated with Kabsch algorithm [1]_.\n\n Parameters\n ----------\n a : array_like, shape (N, 3)\n Vector components observed in initial frame A. Each row of `a`\n denotes a vector.\n b : array_like, shape (N, 3)\n Vector components observed in another frame B. Each row of `b`\n denotes a vector.\n weights : array_like shape (N,), optional\n Weights describing the relative importance of the vector\n observations. If None (default), then all values in `weights` are\n assumed to be 1.\n return_sensitivity : bool, optional\n Whether to return the sensitivity matrix. See Notes for details.\n Default is False.\n\n Returns\n -------\n estimated_rotation : `Rotation` instance\n Best estimate of the rotation that transforms `b` to `a`.\n rmsd : float\n Root mean square distance (weighted) between the given set of\n vectors after alignment. It is equal to ``sqrt(2 * minimum_loss)``,\n where ``minimum_loss`` is the loss function evaluated for the\n found optimal rotation.\n sensitivity_matrix : ndarray, shape (3, 3)\n Sensitivity matrix of the estimated rotation estimate as explained\n in Notes. Returned only when `return_sensitivity` is True.\n\n Notes\n -----\n This method can also compute the sensitivity of the estimated rotation\n to small perturbations of the vector measurements. Specifically we\n consider the rotation estimate error as a small rotation vector of\n frame A. The sensitivity matrix is proportional to the covariance of\n this rotation vector assuming that the vectors in `a` was measured with\n errors significantly less than their lengths. To get the true\n covariance matrix, the returned sensitivity matrix must be multiplied\n by harmonic mean [3]_ of variance in each observation. Note that\n `weights` are supposed to be inversely proportional to the observation\n variances to get consistent results. For example, if all vectors are\n measured with the same accuracy of 0.01 (`weights` must be all equal),\n then you should multiple the sensitivity matrix by 0.01**2 to get the\n covariance.\n\n Refer to [2]_ for more rigorous discussion of the covariance\n estimation.\n\n References\n ----------\n .. [1] https://en.wikipedia.org/wiki/Kabsch_algorithm\n .. [2] F. Landis Markley,\n "Attitude determination using vector observations: a fast\n optimal matrix algorithm", Journal of Astronautical Sciences,\n Vol. 41, No.2, 1993, pp. 261-280.\n .. [3] https://en.wikipedia.org/wiki/Harmonic_mean\n ' - ... - - def apply(self) -> typing.Any: - "Apply this rotation to a set of vectors.\n\n If the original frame rotates to the final frame by this rotation, then\n its application to a vector can be seen in two ways:\n\n - As a projection of vector components expressed in the final frame\n to the original frame.\n - As the physical rotation of a vector being glued to the original\n frame as it rotates. In this case the vector components are\n expressed in the original frame before and after the rotation.\n\n In terms of rotation matricies, this application is the same as\n ``self.as_matrix().dot(vectors)``.\n\n Parameters\n ----------\n vectors : array_like, shape (3,) or (N, 3)\n Each `vectors[i]` represents a vector in 3D space. A single vector\n can either be specified with shape `(3, )` or `(1, 3)`. The number\n of rotations and number of vectors given must follow standard numpy\n broadcasting rules: either one of them equals unity or they both\n equal each other.\n inverse : boolean, optional\n If True then the inverse of the rotation(s) is applied to the input\n vectors. Default is False.\n\n Returns\n -------\n rotated_vectors : ndarray, shape (3,) or (N, 3)\n Result of applying rotation on input vectors.\n Shape depends on the following cases:\n\n - If object contains a single rotation (as opposed to a stack\n with a single rotation) and a single vector is specified with\n shape ``(3,)``, then `rotated_vectors` has shape ``(3,)``.\n - In all other cases, `rotated_vectors` has shape ``(N, 3)``,\n where ``N`` is either the number of rotations or vectors.\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n\n Single rotation applied on a single vector:\n\n >>> vector = np.array([1, 0, 0])\n >>> r = R.from_rotvec([0, 0, np.pi/2])\n >>> r.as_matrix()\n array([[ 2.22044605e-16, -1.00000000e+00, 0.00000000e+00],\n [ 1.00000000e+00, 2.22044605e-16, 0.00000000e+00],\n [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])\n >>> r.apply(vector)\n array([2.22044605e-16, 1.00000000e+00, 0.00000000e+00])\n >>> r.apply(vector).shape\n (3,)\n\n Single rotation applied on multiple vectors:\n\n >>> vectors = np.array([\n ... [1, 0, 0],\n ... [1, 2, 3]])\n >>> r = R.from_rotvec([0, 0, np.pi/4])\n >>> r.as_matrix()\n array([[ 0.70710678, -0.70710678, 0. ],\n [ 0.70710678, 0.70710678, 0. ],\n [ 0. , 0. , 1. ]])\n >>> r.apply(vectors)\n array([[ 0.70710678, 0.70710678, 0. ],\n [-0.70710678, 2.12132034, 3. ]])\n >>> r.apply(vectors).shape\n (2, 3)\n\n Multiple rotations on a single vector:\n\n >>> r = R.from_rotvec([[0, 0, np.pi/4], [np.pi/2, 0, 0]])\n >>> vector = np.array([1,2,3])\n >>> r.as_matrix()\n array([[[ 7.07106781e-01, -7.07106781e-01, 0.00000000e+00],\n [ 7.07106781e-01, 7.07106781e-01, 0.00000000e+00],\n [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]],\n [[ 1.00000000e+00, 0.00000000e+00, 0.00000000e+00],\n [ 0.00000000e+00, 2.22044605e-16, -1.00000000e+00],\n [ 0.00000000e+00, 1.00000000e+00, 2.22044605e-16]]])\n >>> r.apply(vector)\n array([[-0.70710678, 2.12132034, 3. ],\n [ 1. , -3. , 2. ]])\n >>> r.apply(vector).shape\n (2, 3)\n\n Multiple rotations on multiple vectors. Each rotation is applied on the\n corresponding vector:\n\n >>> r = R.from_euler('zxy', [\n ... [0, 0, 90],\n ... [45, 30, 60]], degrees=True)\n >>> vectors = [\n ... [1, 2, 3],\n ... [1, 0, -1]]\n >>> r.apply(vectors)\n array([[ 3. , 2. , -1. ],\n [-0.09026039, 1.11237244, -0.86860844]])\n >>> r.apply(vectors).shape\n (2, 3)\n\n It is also possible to apply the inverse rotation:\n\n >>> r = R.from_euler('zxy', [\n ... [0, 0, 90],\n ... [45, 30, 60]], degrees=True)\n >>> vectors = [\n ... [1, 2, 3],\n ... [1, 0, -1]]\n >>> r.apply(vectors, inverse=True)\n array([[-3. , 2. , 1. ],\n [ 1.09533535, -0.8365163 , 0.3169873 ]])\n\n " - ... - - def as_euler(self) -> typing.Any: - 'Represent as Euler angles.\n\n Any orientation can be expressed as a composition of 3 elementary\n rotations. Once the axis sequence has been chosen, Euler angles define\n the angle of rotation around each respective axis [1]_.\n\n The algorithm from [2]_ has been used to calculate Euler angles for the\n rotation about a given sequence of axes.\n\n Euler angles suffer from the problem of gimbal lock [3]_, where the\n representation loses a degree of freedom and it is not possible to\n determine the first and third angles uniquely. In this case,\n a warning is raised, and the third angle is set to zero. Note however\n that the returned angles still represent the correct rotation.\n\n Parameters\n ----------\n seq : string, length 3\n 3 characters belonging to the set {\'X\', \'Y\', \'Z\'} for intrinsic\n rotations, or {\'x\', \'y\', \'z\'} for extrinsic rotations [1]_.\n Adjacent axes cannot be the same.\n Extrinsic and intrinsic rotations cannot be mixed in one function\n call.\n degrees : boolean, optional\n Returned angles are in degrees if this flag is True, else they are\n in radians. Default is False.\n\n Returns\n -------\n angles : ndarray, shape (3,) or (N, 3)\n Shape depends on shape of inputs used to initialize object.\n The returned angles are in the range:\n\n - First angle belongs to [-180, 180] degrees (both inclusive)\n - Third angle belongs to [-180, 180] degrees (both inclusive)\n - Second angle belongs to:\n\n - [-90, 90] degrees if all axes are different (like xyz)\n - [0, 180] degrees if first and third axes are the same\n (like zxz)\n\n References\n ----------\n .. [1] https://en.wikipedia.org/wiki/Euler_angles#Definition_by_intrinsic_rotations\n .. [2] Malcolm D. Shuster, F. Landis Markley, "General formula for\n extraction the Euler angles", Journal of guidance, control, and\n dynamics, vol. 29.1, pp. 215-221. 2006\n .. [3] https://en.wikipedia.org/wiki/Gimbal_lock#In_applied_mathematics\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n\n Represent a single rotation:\n\n >>> r = R.from_rotvec([0, 0, np.pi/2])\n >>> r.as_euler(\'zxy\', degrees=True)\n array([90., 0., 0.])\n >>> r.as_euler(\'zxy\', degrees=True).shape\n (3,)\n\n Represent a stack of single rotation:\n\n >>> r = R.from_rotvec([[0, 0, np.pi/2]])\n >>> r.as_euler(\'zxy\', degrees=True)\n array([[90., 0., 0.]])\n >>> r.as_euler(\'zxy\', degrees=True).shape\n (1, 3)\n\n Represent multiple rotations in a single object:\n\n >>> r = R.from_rotvec([\n ... [0, 0, np.pi/2],\n ... [0, -np.pi/3, 0],\n ... [np.pi/4, 0, 0]])\n >>> r.as_euler(\'zxy\', degrees=True)\n array([[ 90., 0., 0.],\n [ 0., 0., -60.],\n [ 0., 45., 0.]])\n >>> r.as_euler(\'zxy\', degrees=True).shape\n (3, 3)\n\n ' - ... - - def as_matrix(self) -> typing.Any: - 'Represent as rotation matrix.\n\n 3D rotations can be represented using rotation matrices, which\n are 3 x 3 real orthogonal matrices with determinant equal to +1 [1]_.\n\n Returns\n -------\n matrix : ndarray, shape (3, 3) or (N, 3, 3)\n Shape depends on shape of inputs used for initialization.\n\n References\n ----------\n .. [1] https://en.wikipedia.org/wiki/Rotation_matrix#In_three_dimensions\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n\n Represent a single rotation:\n\n >>> r = R.from_rotvec([0, 0, np.pi/2])\n >>> r.as_matrix()\n array([[ 2.22044605e-16, -1.00000000e+00, 0.00000000e+00],\n [ 1.00000000e+00, 2.22044605e-16, 0.00000000e+00],\n [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])\n >>> r.as_matrix().shape\n (3, 3)\n\n Represent a stack with a single rotation:\n\n >>> r = R.from_quat([[1, 1, 0, 0]])\n >>> r.as_matrix()\n array([[[ 0., 1., 0.],\n [ 1., 0., 0.],\n [ 0., 0., -1.]]])\n >>> r.as_matrix().shape\n (1, 3, 3)\n\n Represent multiple rotations:\n\n >>> r = R.from_rotvec([[np.pi/2, 0, 0], [0, 0, np.pi/2]])\n >>> r.as_matrix()\n array([[[ 1.00000000e+00, 0.00000000e+00, 0.00000000e+00],\n [ 0.00000000e+00, 2.22044605e-16, -1.00000000e+00],\n [ 0.00000000e+00, 1.00000000e+00, 2.22044605e-16]],\n [[ 2.22044605e-16, -1.00000000e+00, 0.00000000e+00],\n [ 1.00000000e+00, 2.22044605e-16, 0.00000000e+00],\n [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]]])\n >>> r.as_matrix().shape\n (2, 3, 3)\n\n Notes\n -----\n This function was called as_dcm before.\n\n .. versionadded:: 1.4.0\n ' - ... - - def as_mrp(self) -> typing.Any: - 'Represent as Modified Rodrigues Parameters (MRPs).\n\n MRPs are a 3 dimensional vector co-directional to the axis of rotation and whose\n magnitude is equal to ``tan(theta / 4)``, where ``theta`` is the angle of rotation\n (in radians) [1]_.\n\n MRPs have a singuarity at 360 degrees which can be avoided by ensuring the angle of\n rotation does not exceed 180 degrees, i.e. switching the direction of the rotation when\n it is past 180 degrees. This function will always return MRPs corresponding to a rotation\n of less than or equal to 180 degrees.\n\n Returns\n -------\n mrps : ndarray, shape (3,) or (N, 3)\n Shape depends on shape of inputs used for initialization.\n\n References\n ----------\n .. [1] Shuster, M. D. "A Survery of Attitude Representations",\n The Journal of Astronautical Sciences, Vol. 41, No.4, 1993,\n pp. 475-476\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n\n Represent a single rotation:\n\n >>> r = R.from_rotvec([0, 0, np.pi])\n >>> r.as_mrp()\n array([0. , 0. , 1. ])\n >>> r.as_mrp().shape\n (3,)\n\n Represent a stack with a single rotation:\n\n >>> r = R.from_euler(\'xyz\', [[180, 0, 0]], degrees=True)\n >>> r.as_mrp()\n array([[1. , 0. , 0. ]])\n >>> r.as_mrp().shape\n (1, 3)\n\n Represent multiple rotations:\n\n >>> r = R.from_rotvec([[np.pi/2, 0, 0], [0, 0, np.pi/2]])\n >>> r.as_mrp()\n array([[0.41421356, 0. , 0. ],\n [0. , 0. , 0.41421356]])\n >>> r.as_mrp().shape\n (2, 3)\n\n Notes\n -----\n\n .. versionadded:: 1.6.0\n ' - ... - - def as_quat(self) -> typing.Any: - 'Represent as quaternions.\n\n Rotations in 3 dimensions can be represented using unit norm\n quaternions [1]_. The mapping from quaternions to rotations is\n two-to-one, i.e. quaternions ``q`` and ``-q``, where ``-q`` simply\n reverses the sign of each component, represent the same spatial\n rotation. The returned value is in scalar-last (x, y, z, w) format.\n\n Returns\n -------\n quat : `numpy.ndarray`, shape (4,) or (N, 4)\n Shape depends on shape of inputs used for initialization.\n\n References\n ----------\n .. [1] https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n\n Represent a single rotation:\n\n >>> r = R.from_matrix([[0, -1, 0],\n ... [1, 0, 0],\n ... [0, 0, 1]])\n >>> r.as_quat()\n array([0. , 0. , 0.70710678, 0.70710678])\n >>> r.as_quat().shape\n (4,)\n\n Represent a stack with a single rotation:\n\n >>> r = R.from_quat([[0, 0, 0, 1]])\n >>> r.as_quat().shape\n (1, 4)\n\n Represent multiple rotations in a single object:\n\n >>> r = R.from_rotvec([[np.pi, 0, 0], [0, 0, np.pi/2]])\n >>> r.as_quat().shape\n (2, 4)\n\n ' - ... - - def as_rotvec(self) -> typing.Any: - "Represent as rotation vectors.\n\n A rotation vector is a 3 dimensional vector which is co-directional to\n the axis of rotation and whose norm gives the angle of rotation (in\n radians) [1]_.\n\n Returns\n -------\n rotvec : ndarray, shape (3,) or (N, 3)\n Shape depends on shape of inputs used for initialization.\n\n References\n ----------\n .. [1] https://en.wikipedia.org/wiki/Axis%E2%80%93angle_representation#Rotation_vector\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n\n Represent a single rotation:\n\n >>> r = R.from_euler('z', 90, degrees=True)\n >>> r.as_rotvec()\n array([0. , 0. , 1.57079633])\n >>> r.as_rotvec().shape\n (3,)\n\n Represent a stack with a single rotation:\n\n >>> r = R.from_quat([[0, 0, 1, 1]])\n >>> r.as_rotvec()\n array([[0. , 0. , 1.57079633]])\n >>> r.as_rotvec().shape\n (1, 3)\n\n Represent multiple rotations in a single object:\n\n >>> r = R.from_quat([[0, 0, 1, 1], [1, 1, 0, 1]])\n >>> r.as_rotvec()\n array([[0. , 0. , 1.57079633],\n [1.35102172, 1.35102172, 0. ]])\n >>> r.as_rotvec().shape\n (2, 3)\n\n " - ... - - @classmethod - def create_group(cls) -> typing.Any: - "Create a 3D rotation group.\n\n Parameters\n ----------\n group : string\n The name of the group. Must be one of 'I', 'O', 'T', 'Dn', 'Cn',\n where `n` is a positive integer. The groups are:\n\n * I: Icosahedral group\n * O: Octahedral group\n * T: Tetrahedral group\n * D: Dicyclic group\n * C: Cyclic group\n\n axis : integer\n The cyclic rotation axis. Must be one of ['X', 'Y', 'Z'] (or\n lowercase). Default is 'Z'. Ignored for groups 'I', 'O', and 'T'.\n\n Returns\n -------\n rotation : `Rotation` instance\n Object containing the elements of the rotation group.\n\n Notes\n -----\n This method generates rotation groups only. The full 3-dimensional\n point groups [PointGroups]_ also contain reflections.\n\n References\n ----------\n .. [PointGroups] `Point groups\n `_\n on Wikipedia.\n " - ... - - @classmethod - def from_euler(cls) -> typing.Any: - "Initialize from Euler angles.\n\n Rotations in 3-D can be represented by a sequence of 3\n rotations around a sequence of axes. In theory, any three axes spanning\n the 3-D Euclidean space are enough. In practice, the axes of rotation are\n chosen to be the basis vectors.\n\n The three rotations can either be in a global frame of reference\n (extrinsic) or in a body centred frame of reference (intrinsic), which\n is attached to, and moves with, the object under rotation [1]_.\n\n Parameters\n ----------\n seq : string\n Specifies sequence of axes for rotations. Up to 3 characters\n belonging to the set {'X', 'Y', 'Z'} for intrinsic rotations, or\n {'x', 'y', 'z'} for extrinsic rotations. Extrinsic and intrinsic\n rotations cannot be mixed in one function call.\n angles : float or array_like, shape (N,) or (N, [1 or 2 or 3])\n Euler angles specified in radians (`degrees` is False) or degrees\n (`degrees` is True).\n For a single character `seq`, `angles` can be:\n\n - a single value\n - array_like with shape (N,), where each `angle[i]`\n corresponds to a single rotation\n - array_like with shape (N, 1), where each `angle[i, 0]`\n corresponds to a single rotation\n\n For 2- and 3-character wide `seq`, `angles` can be:\n\n - array_like with shape (W,) where `W` is the width of\n `seq`, which corresponds to a single rotation with `W` axes\n - array_like with shape (N, W) where each `angle[i]`\n corresponds to a sequence of Euler angles describing a single\n rotation\n\n degrees : bool, optional\n If True, then the given angles are assumed to be in degrees.\n Default is False.\n\n Returns\n -------\n rotation : `Rotation` instance\n Object containing the rotation represented by the sequence of\n rotations around given axes with given angles.\n\n References\n ----------\n .. [1] https://en.wikipedia.org/wiki/Euler_angles#Definition_by_intrinsic_rotations\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n\n Initialize a single rotation along a single axis:\n\n >>> r = R.from_euler('x', 90, degrees=True)\n >>> r.as_quat().shape\n (4,)\n\n Initialize a single rotation with a given axis sequence:\n\n >>> r = R.from_euler('zyx', [90, 45, 30], degrees=True)\n >>> r.as_quat().shape\n (4,)\n\n Initialize a stack with a single rotation around a single axis:\n\n >>> r = R.from_euler('x', [90], degrees=True)\n >>> r.as_quat().shape\n (1, 4)\n\n Initialize a stack with a single rotation with an axis sequence:\n\n >>> r = R.from_euler('zyx', [[90, 45, 30]], degrees=True)\n >>> r.as_quat().shape\n (1, 4)\n\n Initialize multiple elementary rotations in one object:\n\n >>> r = R.from_euler('x', [90, 45, 30], degrees=True)\n >>> r.as_quat().shape\n (3, 4)\n\n Initialize multiple rotations in one object:\n\n >>> r = R.from_euler('zyx', [[90, 45, 30], [35, 45, 90]], degrees=True)\n >>> r.as_quat().shape\n (2, 4)\n\n " - ... - - @classmethod - def from_matrix(cls) -> typing.Any: - 'Initialize from rotation matrix.\n\n Rotations in 3 dimensions can be represented with 3 x 3 proper\n orthogonal matrices [1]_. If the input is not proper orthogonal,\n an approximation is created using the method described in [2]_.\n\n Parameters\n ----------\n matrix : array_like, shape (N, 3, 3) or (3, 3)\n A single matrix or a stack of matrices, where ``matrix[i]`` is\n the i-th matrix.\n\n Returns\n -------\n rotation : `Rotation` instance\n Object containing the rotations represented by the rotation\n matrices.\n\n References\n ----------\n .. [1] https://en.wikipedia.org/wiki/Rotation_matrix#In_three_dimensions\n .. [2] F. Landis Markley, "Unit Quaternion from Rotation Matrix",\n Journal of guidance, control, and dynamics vol. 31.2, pp.\n 440-442, 2008.\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n\n Initialize a single rotation:\n\n >>> r = R.from_matrix([\n ... [0, -1, 0],\n ... [1, 0, 0],\n ... [0, 0, 1]])\n >>> r.as_matrix().shape\n (3, 3)\n\n Initialize multiple rotations in a single object:\n\n >>> r = R.from_matrix([\n ... [\n ... [0, -1, 0],\n ... [1, 0, 0],\n ... [0, 0, 1],\n ... ],\n ... [\n ... [1, 0, 0],\n ... [0, 0, -1],\n ... [0, 1, 0],\n ... ]])\n >>> r.as_matrix().shape\n (2, 3, 3)\n\n If input matrices are not special orthogonal (orthogonal with\n determinant equal to +1), then a special orthogonal estimate is stored:\n\n >>> a = np.array([\n ... [0, -0.5, 0],\n ... [0.5, 0, 0],\n ... [0, 0, 0.5]])\n >>> np.linalg.det(a)\n 0.12500000000000003\n >>> r = R.from_matrix(a)\n >>> matrix = r.as_matrix()\n >>> matrix\n array([[-0.38461538, -0.92307692, 0. ],\n [ 0.92307692, -0.38461538, 0. ],\n [ 0. , 0. , 1. ]])\n >>> np.linalg.det(matrix)\n 1.0000000000000002\n\n It is also possible to have a stack containing a single rotation:\n\n >>> r = R.from_matrix([[\n ... [0, -1, 0],\n ... [1, 0, 0],\n ... [0, 0, 1]]])\n >>> r.as_matrix()\n array([[[ 0., -1., 0.],\n [ 1., 0., 0.],\n [ 0., 0., 1.]]])\n >>> r.as_matrix().shape\n (1, 3, 3)\n\n Notes\n -----\n This function was called from_dcm before.\n\n .. versionadded:: 1.4.0\n ' - ... - - @classmethod - def from_mrp(cls) -> typing.Any: - 'Initialize from Modified Rodrigues Parameters (MRPs).\n\n MRPs are a 3 dimensional vector co-directional to the axis of rotation and whose\n magnitude is equal to ``tan(theta / 4)``, where ``theta`` is the angle of rotation\n (in radians) [1]_.\n\n MRPs have a singuarity at 360 degrees which can be avoided by ensuring the angle of\n rotation does not exceed 180 degrees, i.e. switching the direction of the rotation when\n it is past 180 degrees.\n\n Parameters\n ----------\n mrp : array_like, shape (N, 3) or (3,)\n A single vector or a stack of vectors, where `mrp[i]` gives\n the ith set of MRPs.\n\n Returns\n -------\n rotation : `Rotation` instance\n Object containing the rotations represented by input MRPs.\n\n References\n ----------\n .. [1] Shuster, M. D. "A Survery of Attitude Representations",\n The Journal of Astronautical Sciences, Vol. 41, No.4, 1993,\n pp. 475-476\n\n Notes\n -----\n\n .. versionadded:: 1.6.0\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n\n Initialize a single rotation:\n\n >>> r = R.from_mrp([0, 0, 1])\n >>> r.as_euler(\'xyz\', degrees=True)\n array([0. , 0. , 180. ])\n >>> r.as_euler(\'xyz\').shape\n (3,)\n\n Initialize multiple rotations in one object:\n\n >>> r = R.from_mrp([\n ... [0, 0, 1],\n ... [1, 0, 0]])\n >>> r.as_euler(\'xyz\', degrees=True)\n array([[0. , 0. , 180. ],\n [180.0 , 0. , 0. ]])\n >>> r.as_euler(\'xyz\').shape\n (2, 3)\n\n It is also possible to have a stack of a single rotation:\n\n >>> r = R.from_mrp([[0, 0, np.pi/2]])\n >>> r.as_euler(\'xyz\').shape\n (1, 3)\n\n ' - ... - - @classmethod - def from_quat(cls) -> typing.Any: - 'Initialize from quaternions.\n\n 3D rotations can be represented using unit-norm quaternions [1]_.\n\n Parameters\n ----------\n quat : array_like, shape (N, 4) or (4,)\n Each row is a (possibly non-unit norm) quaternion in scalar-last\n (x, y, z, w) format. Each quaternion will be normalized to unit\n norm.\n\n Returns\n -------\n rotation : `Rotation` instance\n Object containing the rotations represented by input quaternions.\n\n References\n ----------\n .. [1] https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n\n Initialize a single rotation:\n\n >>> r = R.from_quat([1, 0, 0, 0])\n >>> r.as_quat()\n array([1., 0., 0., 0.])\n >>> r.as_quat().shape\n (4,)\n\n Initialize multiple rotations in a single object:\n\n >>> r = R.from_quat([\n ... [1, 0, 0, 0],\n ... [0, 0, 0, 1]\n ... ])\n >>> r.as_quat()\n array([[1., 0., 0., 0.],\n [0., 0., 0., 1.]])\n >>> r.as_quat().shape\n (2, 4)\n\n It is also possible to have a stack of a single rotation:\n\n >>> r = R.from_quat([[0, 0, 0, 1]])\n >>> r.as_quat()\n array([[0., 0., 0., 1.]])\n >>> r.as_quat().shape\n (1, 4)\n\n Quaternions are normalized before initialization.\n\n >>> r = R.from_quat([0, 0, 1, 1])\n >>> r.as_quat()\n array([0. , 0. , 0.70710678, 0.70710678])\n ' - ... - - @classmethod - def from_rotvec(cls) -> typing.Any: - 'Initialize from rotation vectors.\n\n A rotation vector is a 3 dimensional vector which is co-directional to\n the axis of rotation and whose norm gives the angle of rotation (in\n radians) [1]_.\n\n Parameters\n ----------\n rotvec : array_like, shape (N, 3) or (3,)\n A single vector or a stack of vectors, where `rot_vec[i]` gives\n the ith rotation vector.\n\n Returns\n -------\n rotation : `Rotation` instance\n Object containing the rotations represented by input rotation\n vectors.\n\n References\n ----------\n .. [1] https://en.wikipedia.org/wiki/Axis%E2%80%93angle_representation#Rotation_vector\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n\n Initialize a single rotation:\n\n >>> r = R.from_rotvec(np.pi/2 * np.array([0, 0, 1]))\n >>> r.as_rotvec()\n array([0. , 0. , 1.57079633])\n >>> r.as_rotvec().shape\n (3,)\n\n Initialize multiple rotations in one object:\n\n >>> r = R.from_rotvec([\n ... [0, 0, np.pi/2],\n ... [np.pi/2, 0, 0]])\n >>> r.as_rotvec()\n array([[0. , 0. , 1.57079633],\n [1.57079633, 0. , 0. ]])\n >>> r.as_rotvec().shape\n (2, 3)\n\n It is also possible to have a stack of a single rotaton:\n\n >>> r = R.from_rotvec([[0, 0, np.pi/2]])\n >>> r.as_rotvec().shape\n (1, 3)\n\n ' - ... - - @classmethod - def identity(cls) -> typing.Any: - 'Get identity rotation(s).\n\n Composition with the identity rotation has no effect.\n\n Parameters\n ----------\n num : int or None, optional\n Number of identity rotations to generate. If None (default), then a\n single rotation is generated.\n\n Returns\n -------\n identity : Rotation object\n The identity rotation.\n ' - ... - - def inv(self) -> typing.Any: - "Invert this rotation.\n\n Composition of a rotation with its inverse results in an identity\n transformation.\n\n Returns\n -------\n inverse : `Rotation` instance\n Object containing inverse of the rotations in the current instance.\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n\n Inverting a single rotation:\n\n >>> p = R.from_euler('z', 45, degrees=True)\n >>> q = p.inv()\n >>> q.as_euler('zyx', degrees=True)\n array([-45., 0., 0.])\n\n Inverting multiple rotations:\n\n >>> p = R.from_rotvec([[0, 0, np.pi/3], [-np.pi/4, 0, 0]])\n >>> q = p.inv()\n >>> q.as_rotvec()\n array([[-0. , -0. , -1.04719755],\n [ 0.78539816, -0. , -0. ]])\n\n " - ... - - def magnitude(self) -> typing.Any: - 'Get the magnitude(s) of the rotation(s).\n\n Returns\n -------\n magnitude : ndarray or float\n Angle(s) in radians, float if object contains a single rotation\n and ndarray if object contains multiple rotations.\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n >>> r = R.from_quat(np.eye(4))\n >>> r.magnitude()\n array([3.14159265, 3.14159265, 3.14159265, 0. ])\n\n Magnitude of a single rotation:\n\n >>> r[0].magnitude()\n 3.141592653589793\n ' - ... - - def mean(self) -> typing.Any: - "Get the mean of the rotations.\n\n Parameters\n ----------\n weights : array_like shape (N,), optional\n Weights describing the relative importance of the rotations. If\n None (default), then all values in `weights` are assumed to be\n equal.\n\n Returns\n -------\n mean : `Rotation` instance\n Object containing the mean of the rotations in the current\n instance.\n\n Notes\n -----\n The mean used is the chordal L2 mean (also called the projected or\n induced arithmetic mean). If ``p`` is a set of rotations with mean\n ``m``, then ``m`` is the rotation which minimizes\n ``(weights[:, None, None] * (p.as_matrix() - m.as_matrix())**2).sum()``.\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n >>> r = R.from_euler('zyx', [[0, 0, 0],\n ... [1, 0, 0],\n ... [0, 1, 0],\n ... [0, 0, 1]], degrees=True)\n >>> r.mean().as_euler('zyx', degrees=True)\n array([0.24945696, 0.25054542, 0.24945696])\n " - ... - - @classmethod - def random(cls) -> typing.Any: - "Generate uniformly distributed rotations.\n\n Parameters\n ----------\n num : int or None, optional\n Number of random rotations to generate. If None (default), then a\n single rotation is generated.\n random_state : int, RandomState instance or None, optional\n Accepts an integer as a seed for the random generator or a\n RandomState object. If None (default), uses global `numpy.random`\n random state.\n\n Returns\n -------\n random_rotation : `Rotation` instance\n Contains a single rotation if `num` is None. Otherwise contains a\n stack of `num` rotations.\n\n Notes\n -----\n This function is optimized for efficiently sampling random rotation\n matrices in three dimensions. For generating random rotation matrices\n in higher dimensions, see `scipy.stats.special_ortho_group`.\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n\n Sample a single rotation:\n\n >>> R.random(random_state=1234).as_euler('zxy', degrees=True)\n array([-110.5976185 , 55.32758512, 76.3289269 ])\n\n Sample a stack of rotations:\n\n >>> R.random(5, random_state=1234).as_euler('zxy', degrees=True)\n array([[-110.5976185 , 55.32758512, 76.3289269 ],\n [ -91.59132005, -14.3629884 , -93.91933182],\n [ 25.23835501, 45.02035145, -121.67867086],\n [ -51.51414184, -15.29022692, -172.46870023],\n [ -81.63376847, -27.39521579, 2.60408416]])\n\n See Also\n --------\n scipy.stats.special_ortho_group\n\n " - ... - - def reduce(self) -> typing.Any: - 'Reduce this rotation with the provided rotation groups.\n\n Reduction of a rotation ``p`` is a transformation of the form\n ``q = l * p * r``, where ``l`` and ``r`` are chosen from `left` and\n `right` respectively, such that rotation ``q`` has the smallest\n magnitude.\n\n If `left` and `right` are rotation groups representing symmetries of\n two objects rotated by ``p``, then ``q`` is the rotation of the\n smallest magnitude to align these objects considering their symmetries.\n\n Parameters\n ----------\n left : `Rotation` instance, optional\n Object containing the left rotation(s). Default value (None)\n corresponds to the identity rotation.\n right : `Rotation` instance, optional\n Object containing the right rotation(s). Default value (None)\n corresponds to the identity rotation.\n return_indices : bool, optional\n Whether to return the indices of the rotations from `left` and\n `right` used for reduction.\n\n Returns\n -------\n reduced : `Rotation` instance\n Object containing reduced rotations.\n left_best, right_best: integer ndarray\n Indices of elements from `left` and `right` used for reduction.\n ' - ... - - @property - def single(self) -> typing.Any: - 'Whether this instance represents a single rotation.' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -class Slerp(_mod_builtins.object): - "Spherical Linear Interpolation of Rotations.\n\n The interpolation between consecutive rotations is performed as a rotation\n around a fixed axis with a constant angular velocity [1]_. This ensures\n that the interpolated rotations follow the shortest path between initial\n and final orientations.\n\n Parameters\n ----------\n times : array_like, shape (N,)\n Times of the known rotations. At least 2 times must be specified.\n rotations : `Rotation` instance\n Rotations to perform the interpolation between. Must contain N\n rotations.\n\n Methods\n -------\n __call__\n\n See Also\n --------\n Rotation\n\n Notes\n -----\n .. versionadded:: 1.2.0\n\n References\n ----------\n .. [1] https://en.wikipedia.org/wiki/Slerp#Quaternion_Slerp\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n >>> from scipy.spatial.transform import Slerp\n\n Setup the fixed keyframe rotations and times:\n\n >>> key_rots = R.random(5, random_state=2342345)\n >>> key_times = [0, 1, 2, 3, 4]\n\n Create the interpolator object:\n\n >>> slerp = Slerp(key_times, key_rots)\n\n Interpolate the rotations at the given times:\n\n >>> times = [0, 0.5, 0.25, 1, 1.5, 2, 2.75, 3, 3.25, 3.60, 4]\n >>> interp_rots = slerp(times)\n\n The keyframe rotations expressed as Euler angles:\n\n >>> key_rots.as_euler('xyz', degrees=True)\n array([[ 14.31443779, -27.50095894, -3.7275787 ],\n [ -1.79924227, -24.69421529, 164.57701743],\n [146.15020772, 43.22849451, -31.34891088],\n [ 46.39959442, 11.62126073, -45.99719267],\n [-88.94647804, -49.64400082, -65.80546984]])\n\n The interpolated rotations expressed as Euler angles. These agree with the\n keyframe rotations at both endpoints of the range of keyframe times.\n\n >>> interp_rots.as_euler('xyz', degrees=True)\n array([[ 14.31443779, -27.50095894, -3.7275787 ],\n [ 4.74588574, -32.44683966, 81.25139984],\n [ 10.71094749, -31.56690154, 38.06896408],\n [ -1.79924227, -24.69421529, 164.57701743],\n [ 11.72796022, 51.64207311, -171.7374683 ],\n [ 146.15020772, 43.22849451, -31.34891088],\n [ 68.10921869, 20.67625074, -48.74886034],\n [ 46.39959442, 11.62126073, -45.99719267],\n [ 12.35552615, 4.21525086, -64.89288124],\n [ -30.08117143, -19.90769513, -78.98121326],\n [ -88.94647804, -49.64400082, -65.80546984]])\n\n " - def __call__(self, times) -> typing.Any: - 'Interpolate rotations.\n\n Compute the interpolated rotations at the given `times`.\n\n Parameters\n ----------\n times : array_like\n Times to compute the interpolations at. Can be a scalar or\n 1-dimensional.\n\n Returns\n -------\n interpolated_rotation : `Rotation` instance\n Object containing the rotations computed at given `times`.\n\n ' - ... - - __dict__: typing.Dict[str, typing.Any] - def __init__(self, times, rotations) -> None: - "Spherical Linear Interpolation of Rotations.\n\n The interpolation between consecutive rotations is performed as a rotation\n around a fixed axis with a constant angular velocity [1]_. This ensures\n that the interpolated rotations follow the shortest path between initial\n and final orientations.\n\n Parameters\n ----------\n times : array_like, shape (N,)\n Times of the known rotations. At least 2 times must be specified.\n rotations : `Rotation` instance\n Rotations to perform the interpolation between. Must contain N\n rotations.\n\n Methods\n -------\n __call__\n\n See Also\n --------\n Rotation\n\n Notes\n -----\n .. versionadded:: 1.2.0\n\n References\n ----------\n .. [1] https://en.wikipedia.org/wiki/Slerp#Quaternion_Slerp\n\n Examples\n --------\n >>> from scipy.spatial.transform import Rotation as R\n >>> from scipy.spatial.transform import Slerp\n\n Setup the fixed keyframe rotations and times:\n\n >>> key_rots = R.random(5, random_state=2342345)\n >>> key_times = [0, 1, 2, 3, 4]\n\n Create the interpolator object:\n\n >>> slerp = Slerp(key_times, key_rots)\n\n Interpolate the rotations at the given times:\n\n >>> times = [0, 0.5, 0.25, 1, 1.5, 2, 2.75, 3, 3.25, 3.60, 4]\n >>> interp_rots = slerp(times)\n\n The keyframe rotations expressed as Euler angles:\n\n >>> key_rots.as_euler('xyz', degrees=True)\n array([[ 14.31443779, -27.50095894, -3.7275787 ],\n [ -1.79924227, -24.69421529, 164.57701743],\n [146.15020772, 43.22849451, -31.34891088],\n [ 46.39959442, 11.62126073, -45.99719267],\n [-88.94647804, -49.64400082, -65.80546984]])\n\n The interpolated rotations expressed as Euler angles. These agree with the\n keyframe rotations at both endpoints of the range of keyframe times.\n\n >>> interp_rots.as_euler('xyz', degrees=True)\n array([[ 14.31443779, -27.50095894, -3.7275787 ],\n [ 4.74588574, -32.44683966, 81.25139984],\n [ 10.71094749, -31.56690154, 38.06896408],\n [ -1.79924227, -24.69421529, 164.57701743],\n [ 11.72796022, 51.64207311, -171.7374683 ],\n [ 146.15020772, 43.22849451, -31.34891088],\n [ 68.10921869, 20.67625074, -48.74886034],\n [ 46.39959442, 11.62126073, -45.99719267],\n [ 12.35552615, 4.21525086, -64.89288124],\n [ -30.08117143, -19.90769513, -78.98121326],\n [ -88.94647804, -49.64400082, -65.80546984]])\n\n " - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -def __pyx_unpickle_Rotation() -> typing.Any: - ... - -__test__: dict -def check_random_state(seed) -> typing.Any: - 'Turn seed into a np.random.RandomState instance\n\n If seed is None (or np.random), return the RandomState singleton used\n by np.random.\n If seed is an int, return a new RandomState instance seeded with seed.\n If seed is already a RandomState instance, return it.\n If seed is a new-style np.random.Generator, return it.\n Otherwise, raise ValueError.\n ' - ... - -def create_group(cls, group, axis) -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_comb.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_comb.pyi deleted file mode 100644 index f81c6ff0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_comb.pyi +++ /dev/null @@ -1,17 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.special._comb, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__test__: dict -def _comb_int() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_ellip_harm_2.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_ellip_harm_2.pyi deleted file mode 100644 index 50252fe6..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_ellip_harm_2.pyi +++ /dev/null @@ -1,24 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.special._ellip_harm_2, version: unspecified -import typing -import builtins as _mod_builtins -import scipy._lib._ccallback as _mod_scipy__lib__ccallback - -LowLevelCallable = _mod_scipy__lib__ccallback.LowLevelCallable -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -__test__: dict -def _ellipsoid() -> typing.Any: - ... - -def _ellipsoid_norm() -> typing.Any: - ... - -nan: float -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_test_round.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_test_round.pyi deleted file mode 100644 index cc6ae34d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_test_round.pyi +++ /dev/null @@ -1,30 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.special._test_round, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def assert_(val, msg) -> typing.Any: - '\n Assert that works in release mode.\n Accepts callable msg to allow deferring evaluation until failure.\n\n The Python built-in ``assert`` does not work when executing code in\n optimized mode (the ``-O`` flag) - no byte-code is generated for it.\n\n For documentation on usage, refer to the Python documentation.\n\n ' - ... - -def have_fenv() -> typing.Any: - ... - -def random_double() -> typing.Any: - ... - -def test_add_round() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_ufuncs.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_ufuncs.pyi deleted file mode 100644 index 33e01a20..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_ufuncs.pyi +++ /dev/null @@ -1,1062 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.special._ufuncs, version: unspecified -import typing -import builtins as _mod_builtins - -__all__: list -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__test__: dict -def _cospi(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_cospi(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, do not use." - ... - -def _ellip_harm(x1, x2, x3, x4, x5, x6, x7, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_ellip_harm(x1, x2, x3, x4, x5, x6, x7, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, use `ellip_harm` instead." - ... - -def _factorial(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_factorial(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, do not use." - ... - -def _igam_fac(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_igam_fac(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, do not use." - ... - -def _kolmogc(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_kolmogc(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, do not use." - ... - -def _kolmogci(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_kolmogci(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, do not use." - ... - -def _kolmogp(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_kolmogp(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, do not use." - ... - -def _lambertw(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_lambertw(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, use `lambertw` instead." - ... - -def _lanczos_sum_expg_scaled(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_lanczos_sum_expg_scaled(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, do not use." - ... - -def _lgam1p(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_lgam1p(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, do not use." - ... - -def _log1pmx(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_log1pmx(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, do not use." - ... - -def _riemann_zeta(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_riemann_zeta(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, use `zeta` instead." - ... - -_sf_error_action_map: dict -_sf_error_code_map: dict -def _sf_error_test_function(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_sf_error_test_function(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nPrivate function; do not use." - ... - -def _sinpi(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_sinpi(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, do not use." - ... - -def _smirnovc(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_smirnovc(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\n_smirnovc(n, d)\n Internal function, do not use." - ... - -def _smirnovci(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_smirnovci(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, do not use." - ... - -def _smirnovp(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_smirnovp(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\n_smirnovp(n, p)\n Internal function, do not use." - ... - -def _spherical_in(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_spherical_in(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, use `spherical_in` instead." - ... - -def _spherical_in_d(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_spherical_in_d(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, use `spherical_in` instead." - ... - -def _spherical_jn(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_spherical_jn(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, use `spherical_jn` instead." - ... - -def _spherical_jn_d(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_spherical_jn_d(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, use `spherical_jn` instead." - ... - -def _spherical_kn(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_spherical_kn(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, use `spherical_kn` instead." - ... - -def _spherical_kn_d(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_spherical_kn_d(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, use `spherical_kn` instead." - ... - -def _spherical_yn(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_spherical_yn(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, use `spherical_yn` instead." - ... - -def _spherical_yn_d(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_spherical_yn_d(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInternal function, use `spherical_yn` instead." - ... - -def _struve_asymp_large_z(x1, x2, x3, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_struve_asymp_large_z(x1, x2, x3[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\n_struve_asymp_large_z(v, z, is_h)\n\nInternal function for testing `struve` & `modstruve`\n\nEvaluates using asymptotic expansion\n\nReturns\n-------\nv, err" - ... - -def _struve_bessel_series(x1, x2, x3, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_struve_bessel_series(x1, x2, x3[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\n_struve_bessel_series(v, z, is_h)\n\nInternal function for testing `struve` & `modstruve`\n\nEvaluates using Bessel function series\n\nReturns\n-------\nv, err" - ... - -def _struve_power_series(x1, x2, x3, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_struve_power_series(x1, x2, x3[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\n_struve_power_series(v, z, is_h)\n\nInternal function for testing `struve` & `modstruve`\n\nEvaluates using power series\n\nReturns\n-------\nv, err" - ... - -def _zeta(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "_zeta(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\n_zeta(x, q)\n\nInternal function, Hurwitz zeta." - ... - -def agm(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'agm(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nagm(a, b)\n\nCompute the arithmetic-geometric mean of `a` and `b`.\n\nStart with a_0 = a and b_0 = b and iteratively compute::\n\n a_{n+1} = (a_n + b_n)/2\n b_{n+1} = sqrt(a_n*b_n)\n\na_n and b_n converge to the same limit as n increases; their common\nlimit is agm(a, b).\n\nParameters\n----------\na, b : array_like\n Real values only. If the values are both negative, the result\n is negative. If one value is negative and the other is positive,\n `nan` is returned.\n\nReturns\n-------\nfloat\n The arithmetic-geometric mean of `a` and `b`.\n\nExamples\n--------\n>>> from scipy.special import agm\n>>> a, b = 24.0, 6.0\n>>> agm(a, b)\n13.458171481725614\n\nCompare that result to the iteration:\n\n>>> while a != b:\n... a, b = (a + b)/2, np.sqrt(a*b)\n... print("a = %19.16f b=%19.16f" % (a, b))\n...\na = 15.0000000000000000 b=12.0000000000000000\na = 13.5000000000000000 b=13.4164078649987388\na = 13.4582039324993694 b=13.4581390309909850\na = 13.4581714817451772 b=13.4581714817060547\na = 13.4581714817256159 b=13.4581714817256159\n\nWhen array-like arguments are given, broadcasting applies:\n\n>>> a = np.array([[1.5], [3], [6]]) # a has shape (3, 1).\n>>> b = np.array([6, 12, 24, 48]) # b has shape (4,).\n>>> agm(a, b)\narray([[ 3.36454287, 5.42363427, 9.05798751, 15.53650756],\n [ 4.37037309, 6.72908574, 10.84726853, 18.11597502],\n [ 6. , 8.74074619, 13.45817148, 21.69453707]])' - ... - -def airy(x, out1=..., out2=..., out3=..., out4=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'airy(x[, out1, out2, out3, out4], / [, out=(None, None, None, None)], *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nairy(z)\n\nAiry functions and their derivatives.\n\nParameters\n----------\nz : array_like\n Real or complex argument.\n\nReturns\n-------\nAi, Aip, Bi, Bip : ndarrays\n Airy functions Ai and Bi, and their derivatives Aip and Bip.\n\nNotes\n-----\nThe Airy functions Ai and Bi are two independent solutions of\n\n.. math:: y\'\'(x) = x y(x).\n\nFor real `z` in [-10, 10], the computation is carried out by calling\nthe Cephes [1]_ `airy` routine, which uses power series summation\nfor small `z` and rational minimax approximations for large `z`.\n\nOutside this range, the AMOS [2]_ `zairy` and `zbiry` routines are\nemployed. They are computed using power series for :math:`|z| < 1` and\nthe following relations to modified Bessel functions for larger `z`\n(where :math:`t \\equiv 2 z^{3/2}/3`):\n\n.. math::\n\n Ai(z) = \\frac{1}{\\pi \\sqrt{3}} K_{1/3}(t)\n\n Ai\'(z) = -\\frac{z}{\\pi \\sqrt{3}} K_{2/3}(t)\n\n Bi(z) = \\sqrt{\\frac{z}{3}} \\left(I_{-1/3}(t) + I_{1/3}(t) \\right)\n\n Bi\'(z) = \\frac{z}{\\sqrt{3}} \\left(I_{-2/3}(t) + I_{2/3}(t)\\right)\n\nSee also\n--------\nairye : exponentially scaled Airy functions.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/\n.. [2] Donald E. Amos, "AMOS, A Portable Package for Bessel Functions\n of a Complex Argument and Nonnegative Order",\n http://netlib.org/amos/\n\nExamples\n--------\nCompute the Airy functions on the interval [-15, 5].\n\n>>> from scipy import special\n>>> x = np.linspace(-15, 5, 201)\n>>> ai, aip, bi, bip = special.airy(x)\n\nPlot Ai(x) and Bi(x).\n\n>>> import matplotlib.pyplot as plt\n>>> plt.plot(x, ai, \'r\', label=\'Ai(x)\')\n>>> plt.plot(x, bi, \'b--\', label=\'Bi(x)\')\n>>> plt.ylim(-0.5, 1.0)\n>>> plt.grid()\n>>> plt.legend(loc=\'upper left\')\n>>> plt.show()' - ... - -def airye(x, out1=..., out2=..., out3=..., out4=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'airye(x[, out1, out2, out3, out4], / [, out=(None, None, None, None)], *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nairye(z)\n\nExponentially scaled Airy functions and their derivatives.\n\nScaling::\n\n eAi = Ai * exp(2.0/3.0*z*sqrt(z))\n eAip = Aip * exp(2.0/3.0*z*sqrt(z))\n eBi = Bi * exp(-abs(2.0/3.0*(z*sqrt(z)).real))\n eBip = Bip * exp(-abs(2.0/3.0*(z*sqrt(z)).real))\n\nParameters\n----------\nz : array_like\n Real or complex argument.\n\nReturns\n-------\neAi, eAip, eBi, eBip : array_like\n Exponentially scaled Airy functions eAi and eBi, and their derivatives \n eAip and eBip\n\nNotes\n-----\nWrapper for the AMOS [1]_ routines `zairy` and `zbiry`.\n\nSee also\n--------\nairy\n\nReferences\n----------\n.. [1] Donald E. Amos, "AMOS, A Portable Package for Bessel Functions\n of a Complex Argument and Nonnegative Order",\n http://netlib.org/amos/\n\nExamples\n--------\nWe can compute exponentially scaled Airy functions and their derivatives:\n\n>>> from scipy.special import airye\n>>> import matplotlib.pyplot as plt\n>>> z = np.linspace(0, 50, 500)\n>>> eAi, eAip, eBi, eBip = airye(z)\n>>> f, ax = plt.subplots(2, 1, sharex=True)\n>>> for ind, data in enumerate([[eAi, eAip, ["eAi", "eAip"]],\n... [eBi, eBip, ["eBi", "eBip"]]]):\n... ax[ind].plot(z, data[0], "-r", z, data[1], "-b")\n... ax[ind].legend(data[2])\n... ax[ind].grid(True)\n>>> plt.show()\n\nWe can compute these using usual non-scaled Airy functions by:\n\n>>> from scipy.special import airy\n>>> Ai, Aip, Bi, Bip = airy(z)\n>>> np.allclose(eAi, Ai * np.exp(2.0 / 3.0 * z * np.sqrt(z)))\nTrue\n>>> np.allclose(eAip, Aip * np.exp(2.0 / 3.0 * z * np.sqrt(z)))\nTrue\n>>> np.allclose(eBi, Bi * np.exp(-abs(np.real(2.0 / 3.0 * z * np.sqrt(z)))))\nTrue\n>>> np.allclose(eBip, Bip * np.exp(-abs(np.real(2.0 / 3.0 * z * np.sqrt(z)))))\nTrue\n\nComparing non-scaled and exponentially scaled ones, the usual non-scaled \nfunction quickly underflows for large values, whereas the exponentially\nscaled function does not.\n\n>>> airy(200)\n(0.0, 0.0, nan, nan)\n>>> airye(200)\n(0.07501041684381093, -1.0609012305109042, 0.15003188417418148, 2.1215836725571093)' - ... - -def bdtr(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "bdtr(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nbdtr(k, n, p)\n\nBinomial distribution cumulative distribution function.\n\nSum of the terms 0 through `floor(k)` of the Binomial probability density.\n\n.. math::\n \\mathrm{bdtr}(k, n, p) = \\sum_{j=0}^{\\lfloor k \\rfloor} {{n}\\choose{j}} p^j (1-p)^{n-j}\n\nParameters\n----------\nk : array_like\n Number of successes (double), rounded down to the nearest integer.\nn : array_like\n Number of events (int).\np : array_like\n Probability of success in a single event (float).\n\nReturns\n-------\ny : ndarray\n Probability of `floor(k)` or fewer successes in `n` independent events with\n success probabilities of `p`.\n\nNotes\n-----\nThe terms are not summed directly; instead the regularized incomplete beta\nfunction is employed, according to the formula,\n\n.. math::\n \\mathrm{bdtr}(k, n, p) = I_{1 - p}(n - \\lfloor k \\rfloor, \\lfloor k \\rfloor + 1).\n\nWrapper for the Cephes [1]_ routine `bdtr`.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def bdtrc(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "bdtrc(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nbdtrc(k, n, p)\n\nBinomial distribution survival function.\n\nSum of the terms `floor(k) + 1` through `n` of the binomial probability\ndensity,\n\n.. math::\n \\mathrm{bdtrc}(k, n, p) = \\sum_{j=\\lfloor k \\rfloor +1}^n {{n}\\choose{j}} p^j (1-p)^{n-j}\n\nParameters\n----------\nk : array_like\n Number of successes (double), rounded down to nearest integer.\nn : array_like\n Number of events (int)\np : array_like\n Probability of success in a single event.\n\nReturns\n-------\ny : ndarray\n Probability of `floor(k) + 1` or more successes in `n` independent\n events with success probabilities of `p`.\n\nSee also\n--------\nbdtr\nbetainc\n\nNotes\n-----\nThe terms are not summed directly; instead the regularized incomplete beta\nfunction is employed, according to the formula,\n\n.. math::\n \\mathrm{bdtrc}(k, n, p) = I_{p}(\\lfloor k \\rfloor + 1, n - \\lfloor k \\rfloor).\n\nWrapper for the Cephes [1]_ routine `bdtrc`.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def bdtri(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "bdtri(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nbdtri(k, n, y)\n\nInverse function to `bdtr` with respect to `p`.\n\nFinds the event probability `p` such that the sum of the terms 0 through\n`k` of the binomial probability density is equal to the given cumulative\nprobability `y`.\n\nParameters\n----------\nk : array_like\n Number of successes (float), rounded down to the nearest integer.\nn : array_like\n Number of events (float)\ny : array_like\n Cumulative probability (probability of `k` or fewer successes in `n`\n events).\n\nReturns\n-------\np : ndarray\n The event probability such that `bdtr(\\lfloor k \\rfloor, n, p) = y`.\n\nSee also\n--------\nbdtr\nbetaincinv\n\nNotes\n-----\nThe computation is carried out using the inverse beta integral function\nand the relation,::\n\n 1 - p = betaincinv(n - k, k + 1, y).\n\nWrapper for the Cephes [1]_ routine `bdtri`.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def bdtrik(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "bdtrik(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nbdtrik(y, n, p)\n\nInverse function to `bdtr` with respect to `k`.\n\nFinds the number of successes `k` such that the sum of the terms 0 through\n`k` of the Binomial probability density for `n` events with probability\n`p` is equal to the given cumulative probability `y`.\n\nParameters\n----------\ny : array_like\n Cumulative probability (probability of `k` or fewer successes in `n`\n events).\nn : array_like\n Number of events (float).\np : array_like\n Success probability (float).\n\nReturns\n-------\nk : ndarray\n The number of successes `k` such that `bdtr(k, n, p) = y`.\n\nSee also\n--------\nbdtr\n\nNotes\n-----\nFormula 26.5.24 of [1]_ is used to reduce the binomial distribution to the\ncumulative incomplete beta distribution.\n\nComputation of `k` involves a search for a value that produces the desired\nvalue of `y`. The search relies on the monotonicity of `y` with `k`.\n\nWrapper for the CDFLIB [2]_ Fortran routine `cdfbin`.\n\nReferences\n----------\n.. [1] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972.\n.. [2] Barry Brown, James Lovato, and Kathy Russell,\n CDFLIB: Library of Fortran Routines for Cumulative Distribution\n Functions, Inverses, and Other Parameters." - ... - -def bdtrin(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "bdtrin(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nbdtrin(k, y, p)\n\nInverse function to `bdtr` with respect to `n`.\n\nFinds the number of events `n` such that the sum of the terms 0 through\n`k` of the Binomial probability density for events with probability `p` is\nequal to the given cumulative probability `y`.\n\nParameters\n----------\nk : array_like\n Number of successes (float).\ny : array_like\n Cumulative probability (probability of `k` or fewer successes in `n`\n events).\np : array_like\n Success probability (float).\n\nReturns\n-------\nn : ndarray\n The number of events `n` such that `bdtr(k, n, p) = y`.\n\nSee also\n--------\nbdtr\n\nNotes\n-----\nFormula 26.5.24 of [1]_ is used to reduce the binomial distribution to the\ncumulative incomplete beta distribution.\n\nComputation of `n` involves a search for a value that produces the desired\nvalue of `y`. The search relies on the monotonicity of `y` with `n`.\n\nWrapper for the CDFLIB [2]_ Fortran routine `cdfbin`.\n\nReferences\n----------\n.. [1] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972.\n.. [2] Barry Brown, James Lovato, and Kathy Russell,\n CDFLIB: Library of Fortran Routines for Cumulative Distribution\n Functions, Inverses, and Other Parameters." - ... - -def bei(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "bei(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nbei(x, out=None)\n\nKelvin function bei.\n\nDefined as\n\n.. math::\n\n \\mathrm{bei}(x) = \\Im[J_0(x e^{3 \\pi i / 4})]\n\nwhere :math:`J_0` is the Bessel function of the first kind of\norder zero (see `jv`). See [dlmf]_ for more details.\n\nParameters\n----------\nx : array_like\n Real argument.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n Values of the Kelvin function.\n\nSee Also\n--------\nber : the corresponding real part\nbeip : the derivative of bei\njv : Bessel function of the first kind\n\nReferences\n----------\n.. [dlmf] NIST, Digital Library of Mathematical Functions,\n https://dlmf.nist.gov/10.61\n\nExamples\n--------\nIt can be expressed using Bessel functions.\n\n>>> import scipy.special as sc\n>>> x = np.array([1.0, 2.0, 3.0, 4.0])\n>>> sc.jv(0, x * np.exp(3 * np.pi * 1j / 4)).imag\narray([0.24956604, 0.97229163, 1.93758679, 2.29269032])\n>>> sc.bei(x)\narray([0.24956604, 0.97229163, 1.93758679, 2.29269032])" - ... - -def beip(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "beip(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nbeip(x, out=None)\n\nDerivative of the Kelvin function bei.\n\nParameters\n----------\nx : array_like\n Real argument.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n The values of the derivative of bei.\n\nSee Also\n--------\nbei\n\nReferences\n----------\n.. [dlmf] NIST, Digital Library of Mathematical Functions,\n https://dlmf.nist.gov/10#PT5" - ... - -def ber(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "ber(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nber(x, out=None)\n\nKelvin function ber.\n\nDefined as\n\n.. math::\n\n \\mathrm{ber}(x) = \\Re[J_0(x e^{3 \\pi i / 4})]\n\nwhere :math:`J_0` is the Bessel function of the first kind of\norder zero (see `jv`). See [dlmf]_ for more details.\n\nParameters\n----------\nx : array_like\n Real argument.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n Values of the Kelvin function.\n\nSee Also\n--------\nbei : the corresponding real part\nberp : the derivative of bei\njv : Bessel function of the first kind\n\nReferences\n----------\n.. [dlmf] NIST, Digital Library of Mathematical Functions,\n https://dlmf.nist.gov/10.61\n\nExamples\n--------\nIt can be expressed using Bessel functions.\n\n>>> import scipy.special as sc\n>>> x = np.array([1.0, 2.0, 3.0, 4.0])\n>>> sc.jv(0, x * np.exp(3 * np.pi * 1j / 4)).real\narray([ 0.98438178, 0.75173418, -0.22138025, -2.56341656])\n>>> sc.ber(x)\narray([ 0.98438178, 0.75173418, -0.22138025, -2.56341656])" - ... - -def berp(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "berp(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nberp(x, out=None)\n\nDerivative of the Kelvin function ber.\n\nParameters\n----------\nx : array_like\n Real argument.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n The values of the derivative of ber.\n\nSee Also\n--------\nber\n\nReferences\n----------\n.. [dlmf] NIST, Digital Library of Mathematical Functions,\n https://dlmf.nist.gov/10#PT5" - ... - -def besselpoly(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "besselpoly(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nbesselpoly(a, lmb, nu, out=None)\n\nWeighted integral of the Bessel function of the first kind.\n\nComputes\n\n.. math::\n\n \\int_0^1 x^\\lambda J_\\nu(2 a x) \\, dx\n\nwhere :math:`J_\\nu` is a Bessel function and :math:`\\lambda=lmb`,\n:math:`\\nu=nu`.\n\nParameters\n----------\na : array_like\n Scale factor inside the Bessel function.\nlmb : array_like\n Power of `x`\nnu : array_like\n Order of the Bessel function.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n Value of the integral." - ... - -def beta(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "beta(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nbeta(a, b, out=None)\n\nBeta function.\n\nThis function is defined in [1]_ as\n\n.. math::\n\n B(a, b) = \\int_0^1 t^{a-1}(1-t)^{b-1}dt\n = \\frac{\\Gamma(a)\\Gamma(b)}{\\Gamma(a+b)},\n\nwhere :math:`\\Gamma` is the gamma function.\n\nParameters\n----------\na, b : array-like\n Real-valued arguments\nout : ndarray, optional\n Optional output array for the function result\n\nReturns\n-------\nscalar or ndarray\n Value of the beta function\n\nSee Also\n--------\ngamma : the gamma function\nbetainc : the incomplete beta function\nbetaln : the natural logarithm of the absolute\n value of the beta function\n\nReferences\n----------\n.. [1] NIST Digital Library of Mathematical Functions,\n Eq. 5.12.1. https://dlmf.nist.gov/5.12\n\nExamples\n--------\n>>> import scipy.special as sc\n\nThe beta function relates to the gamma function by the\ndefinition given above:\n\n>>> sc.beta(2, 3)\n0.08333333333333333\n>>> sc.gamma(2)*sc.gamma(3)/sc.gamma(2 + 3)\n0.08333333333333333\n\nAs this relationship demonstrates, the beta function\nis symmetric:\n\n>>> sc.beta(1.7, 2.4)\n0.16567527689031739\n>>> sc.beta(2.4, 1.7)\n0.16567527689031739\n\nThis function satisfies :math:`B(1, b) = 1/b`:\n\n>>> sc.beta(1, 4)\n0.25" - ... - -def betainc(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "betainc(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nbetainc(a, b, x, out=None)\n\nIncomplete beta function.\n\nComputes the incomplete beta function, defined as [1]_:\n\n.. math::\n\n I_x(a, b) = \\frac{\\Gamma(a+b)}{\\Gamma(a)\\Gamma(b)} \\int_0^x\n t^{a-1}(1-t)^{b-1}dt,\n\nfor :math:`0 \\leq x \\leq 1`.\n\nParameters\n----------\na, b : array-like\n Positive, real-valued parameters\nx : array-like\n Real-valued such that :math:`0 \\leq x \\leq 1`,\n the upper limit of integration\nout : ndarray, optional\n Optional output array for the function values\n\nReturns\n-------\narray-like\n Value of the incomplete beta function\n\nSee Also\n--------\nbeta : beta function\nbetaincinv : inverse of the incomplete beta function\n\nNotes\n-----\nThe incomplete beta function is also sometimes defined\nwithout the `gamma` terms, in which case the above\ndefinition is the so-called regularized incomplete beta\nfunction. Under this definition, you can get the incomplete\nbeta function by multiplying the result of the SciPy\nfunction by `beta`.\n\nReferences\n----------\n.. [1] NIST Digital Library of Mathematical Functions\n https://dlmf.nist.gov/8.17\n\nExamples\n--------\n\nLet :math:`B(a, b)` be the `beta` function.\n\n>>> import scipy.special as sc\n\nThe coefficient in terms of `gamma` is equal to\n:math:`1/B(a, b)`. Also, when :math:`x=1`\nthe integral is equal to :math:`B(a, b)`.\nTherefore, :math:`I_{x=1}(a, b) = 1` for any :math:`a, b`.\n\n>>> sc.betainc(0.2, 3.5, 1.0)\n1.0\n\nIt satisfies\n:math:`I_x(a, b) = x^a F(a, 1-b, a+1, x)/ (aB(a, b))`,\nwhere :math:`F` is the hypergeometric function `hyp2f1`:\n\n>>> a, b, x = 1.4, 3.1, 0.5\n>>> x**a * sc.hyp2f1(a, 1 - b, a + 1, x)/(a * sc.beta(a, b))\n0.8148904036225295\n>>> sc.betainc(a, b, x)\n0.8148904036225296\n\nThis functions satisfies the relationship\n:math:`I_x(a, b) = 1 - I_{1-x}(b, a)`:\n\n>>> sc.betainc(2.2, 3.1, 0.4)\n0.49339638807619446\n>>> 1 - sc.betainc(3.1, 2.2, 1 - 0.4)\n0.49339638807619446" - ... - -def betaincinv(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "betaincinv(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nbetaincinv(a, b, y, out=None)\n\nInverse of the incomplete beta function.\n\nComputes :math:`x` such that:\n\n.. math::\n\n y = I_x(a, b) = \\frac{\\Gamma(a+b)}{\\Gamma(a)\\Gamma(b)}\n \\int_0^x t^{a-1}(1-t)^{b-1}dt,\n\nwhere :math:`I_x` is the normalized incomplete beta\nfunction `betainc` and\n:math:`\\Gamma` is the `gamma` function [1]_.\n\nParameters\n----------\na, b : array-like\n Positive, real-valued parameters\ny : array-like\n Real-valued input\nout : ndarray, optional\n Optional output array for function values\n\nReturns\n-------\narray-like\n Value of the inverse of the incomplete beta function\n\nSee Also\n--------\nbetainc : incomplete beta function\ngamma : gamma function\n\nReferences\n----------\n.. [1] NIST Digital Library of Mathematical Functions\n https://dlmf.nist.gov/8.17\n\nExamples\n--------\n>>> import scipy.special as sc\n\nThis function is the inverse of `betainc` for fixed\nvalues of :math:`a` and :math:`b`.\n\n>>> a, b = 1.2, 3.1\n>>> y = sc.betainc(a, b, 0.2)\n>>> sc.betaincinv(a, b, y)\n0.2\n>>>\n>>> a, b = 7.5, 0.4\n>>> x = sc.betaincinv(a, b, 0.5)\n>>> sc.betainc(a, b, x)\n0.5" - ... - -def betaln(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "betaln(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nbetaln(a, b)\n\nNatural logarithm of absolute value of beta function.\n\nComputes ``ln(abs(beta(a, b)))``." - ... - -def binom(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "binom(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nbinom(n, k)\n\nBinomial coefficient\n\nSee Also\n--------\ncomb : The number of combinations of N things taken k at a time." - ... - -def boxcox(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "boxcox(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nboxcox(x, lmbda)\n\nCompute the Box-Cox transformation.\n\nThe Box-Cox transformation is::\n\n y = (x**lmbda - 1) / lmbda if lmbda != 0\n log(x) if lmbda == 0\n\nReturns `nan` if ``x < 0``.\nReturns `-inf` if ``x == 0`` and ``lmbda < 0``.\n\nParameters\n----------\nx : array_like\n Data to be transformed.\nlmbda : array_like\n Power parameter of the Box-Cox transform.\n\nReturns\n-------\ny : array\n Transformed data.\n\nNotes\n-----\n\n.. versionadded:: 0.14.0\n\nExamples\n--------\n>>> from scipy.special import boxcox\n>>> boxcox([1, 4, 10], 2.5)\narray([ 0. , 12.4 , 126.09110641])\n>>> boxcox(2, [0, 1, 2])\narray([ 0.69314718, 1. , 1.5 ])" - ... - -def boxcox1p(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "boxcox1p(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nboxcox1p(x, lmbda)\n\nCompute the Box-Cox transformation of 1 + `x`.\n\nThe Box-Cox transformation computed by `boxcox1p` is::\n\n y = ((1+x)**lmbda - 1) / lmbda if lmbda != 0\n log(1+x) if lmbda == 0\n\nReturns `nan` if ``x < -1``.\nReturns `-inf` if ``x == -1`` and ``lmbda < 0``.\n\nParameters\n----------\nx : array_like\n Data to be transformed.\nlmbda : array_like\n Power parameter of the Box-Cox transform.\n\nReturns\n-------\ny : array\n Transformed data.\n\nNotes\n-----\n\n.. versionadded:: 0.14.0\n\nExamples\n--------\n>>> from scipy.special import boxcox1p\n>>> boxcox1p(1e-4, [0, 0.5, 1])\narray([ 9.99950003e-05, 9.99975001e-05, 1.00000000e-04])\n>>> boxcox1p([0.01, 0.1], 0.25)\narray([ 0.00996272, 0.09645476])" - ... - -def btdtr(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "btdtr(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nbtdtr(a, b, x)\n\nCumulative distribution function of the beta distribution.\n\nReturns the integral from zero to `x` of the beta probability density\nfunction,\n\n.. math::\n I = \\int_0^x \\frac{\\Gamma(a + b)}{\\Gamma(a)\\Gamma(b)} t^{a-1} (1-t)^{b-1}\\,dt\n\nwhere :math:`\\Gamma` is the gamma function.\n\nParameters\n----------\na : array_like\n Shape parameter (a > 0).\nb : array_like\n Shape parameter (b > 0).\nx : array_like\n Upper limit of integration, in [0, 1].\n\nReturns\n-------\nI : ndarray\n Cumulative distribution function of the beta distribution with\n parameters `a` and `b` at `x`.\n\nSee Also\n--------\nbetainc\n\nNotes\n-----\nThis function is identical to the incomplete beta integral function\n`betainc`.\n\nWrapper for the Cephes [1]_ routine `btdtr`.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def btdtri(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "btdtri(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nbtdtri(a, b, p)\n\nThe `p`-th quantile of the beta distribution.\n\nThis function is the inverse of the beta cumulative distribution function,\n`btdtr`, returning the value of `x` for which `btdtr(a, b, x) = p`, or\n\n.. math::\n p = \\int_0^x \\frac{\\Gamma(a + b)}{\\Gamma(a)\\Gamma(b)} t^{a-1} (1-t)^{b-1}\\,dt\n\nParameters\n----------\na : array_like\n Shape parameter (`a` > 0).\nb : array_like\n Shape parameter (`b` > 0).\np : array_like\n Cumulative probability, in [0, 1].\n\nReturns\n-------\nx : ndarray\n The quantile corresponding to `p`.\n\nSee Also\n--------\nbetaincinv\nbtdtr\n\nNotes\n-----\nThe value of `x` is found by interval halving or Newton iterations.\n\nWrapper for the Cephes [1]_ routine `incbi`, which solves the equivalent\nproblem of finding the inverse of the incomplete beta integral.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def btdtria(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "btdtria(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nbtdtria(p, b, x)\n\nInverse of `btdtr` with respect to `a`.\n\nThis is the inverse of the beta cumulative distribution function, `btdtr`,\nconsidered as a function of `a`, returning the value of `a` for which\n`btdtr(a, b, x) = p`, or\n\n.. math::\n p = \\int_0^x \\frac{\\Gamma(a + b)}{\\Gamma(a)\\Gamma(b)} t^{a-1} (1-t)^{b-1}\\,dt\n\nParameters\n----------\np : array_like\n Cumulative probability, in [0, 1].\nb : array_like\n Shape parameter (`b` > 0).\nx : array_like\n The quantile, in [0, 1].\n\nReturns\n-------\na : ndarray\n The value of the shape parameter `a` such that `btdtr(a, b, x) = p`.\n\nSee Also\n--------\nbtdtr : Cumulative distribution function of the beta distribution.\nbtdtri : Inverse with respect to `x`.\nbtdtrib : Inverse with respect to `b`.\n\nNotes\n-----\nWrapper for the CDFLIB [1]_ Fortran routine `cdfbet`.\n\nThe cumulative distribution function `p` is computed using a routine by\nDiDinato and Morris [2]_. Computation of `a` involves a search for a value\nthat produces the desired value of `p`. The search relies on the\nmonotonicity of `p` with `a`.\n\nReferences\n----------\n.. [1] Barry Brown, James Lovato, and Kathy Russell,\n CDFLIB: Library of Fortran Routines for Cumulative Distribution\n Functions, Inverses, and Other Parameters.\n.. [2] DiDinato, A. R. and Morris, A. H.,\n Algorithm 708: Significant Digit Computation of the Incomplete Beta\n Function Ratios. ACM Trans. Math. Softw. 18 (1993), 360-373." - ... - -def btdtrib(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "btdtrib(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nbtdtria(a, p, x)\n\nInverse of `btdtr` with respect to `b`.\n\nThis is the inverse of the beta cumulative distribution function, `btdtr`,\nconsidered as a function of `b`, returning the value of `b` for which\n`btdtr(a, b, x) = p`, or\n\n.. math::\n p = \\int_0^x \\frac{\\Gamma(a + b)}{\\Gamma(a)\\Gamma(b)} t^{a-1} (1-t)^{b-1}\\,dt\n\nParameters\n----------\na : array_like\n Shape parameter (`a` > 0).\np : array_like\n Cumulative probability, in [0, 1].\nx : array_like\n The quantile, in [0, 1].\n\nReturns\n-------\nb : ndarray\n The value of the shape parameter `b` such that `btdtr(a, b, x) = p`.\n\nSee Also\n--------\nbtdtr : Cumulative distribution function of the beta distribution.\nbtdtri : Inverse with respect to `x`.\nbtdtria : Inverse with respect to `a`.\n\nNotes\n-----\nWrapper for the CDFLIB [1]_ Fortran routine `cdfbet`.\n\nThe cumulative distribution function `p` is computed using a routine by\nDiDinato and Morris [2]_. Computation of `b` involves a search for a value\nthat produces the desired value of `p`. The search relies on the\nmonotonicity of `p` with `b`.\n\nReferences\n----------\n.. [1] Barry Brown, James Lovato, and Kathy Russell,\n CDFLIB: Library of Fortran Routines for Cumulative Distribution\n Functions, Inverses, and Other Parameters.\n.. [2] DiDinato, A. R. and Morris, A. H.,\n Algorithm 708: Significant Digit Computation of the Incomplete Beta\n Function Ratios. ACM Trans. Math. Softw. 18 (1993), 360-373." - ... - -def cbrt(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "cbrt(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ncbrt(x)\n\nElement-wise cube root of `x`.\n\nParameters\n----------\nx : array_like\n `x` must contain real numbers.\n\nReturns\n-------\nfloat\n The cube root of each value in `x`.\n\nExamples\n--------\n>>> from scipy.special import cbrt\n\n>>> cbrt(8)\n2.0\n>>> cbrt([-8, -3, 0.125, 1.331])\narray([-2. , -1.44224957, 0.5 , 1.1 ])" - ... - -def chdtr(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "chdtr(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nchdtr(v, x, out=None)\n\nChi square cumulative distribution function.\n\nReturns the area under the left tail (from 0 to `x`) of the Chi\nsquare probability density function with `v` degrees of freedom:\n\n.. math::\n\n \\frac{1}{2^{v/2} \\Gamma(v/2)} \\int_0^x t^{v/2 - 1} e^{-t/2} dt\n\nHere :math:`\\Gamma` is the Gamma function; see `gamma`. This\nintegral can be expressed in terms of the regularized lower\nincomplete gamma function `gammainc` as\n``gammainc(v / 2, x / 2)``. [1]_\n\nParameters\n----------\nv : array_like\n Degrees of freedom.\nx : array_like\n Upper bound of the integral.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n Values of the cumulative distribution function.\n\nSee Also\n--------\nchdtrc, chdtri, chdtriv, gammainc\n\nReferences\n----------\n.. [1] Chi-Square distribution,\n https://www.itl.nist.gov/div898/handbook/eda/section3/eda3666.htm\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt can be expressed in terms of the regularized lower incomplete\ngamma function.\n\n>>> v = 1\n>>> x = np.arange(4)\n>>> sc.chdtr(v, x)\narray([0. , 0.68268949, 0.84270079, 0.91673548])\n>>> sc.gammainc(v / 2, x / 2)\narray([0. , 0.68268949, 0.84270079, 0.91673548])" - ... - -def chdtrc(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "chdtrc(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nchdtrc(v, x, out=None)\n\nChi square survival function.\n\nReturns the area under the right hand tail (from `x` to infinity)\nof the Chi square probability density function with `v` degrees of\nfreedom:\n\n.. math::\n\n \\frac{1}{2^{v/2} \\Gamma(v/2)} \\int_x^\\infty t^{v/2 - 1} e^{-t/2} dt\n\nHere :math:`\\Gamma` is the Gamma function; see `gamma`. This\nintegral can be expressed in terms of the regularized upper\nincomplete gamma function `gammaincc` as\n``gammaincc(v / 2, x / 2)``. [1]_\n\nParameters\n----------\nv : array_like\n Degrees of freedom.\nx : array_like\n Lower bound of the integral.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n Values of the survival function.\n\nSee Also\n--------\nchdtr, chdtri, chdtriv, gammaincc\n\nReferences\n----------\n.. [1] Chi-Square distribution,\n https://www.itl.nist.gov/div898/handbook/eda/section3/eda3666.htm\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt can be expressed in terms of the regularized upper incomplete\ngamma function.\n\n>>> v = 1\n>>> x = np.arange(4)\n>>> sc.chdtrc(v, x)\narray([1. , 0.31731051, 0.15729921, 0.08326452])\n>>> sc.gammaincc(v / 2, x / 2)\narray([1. , 0.31731051, 0.15729921, 0.08326452])" - ... - -def chdtri(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "chdtri(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nchdtri(v, p, out=None)\n\nInverse to `chdtrc` with respect to `x`.\n\nReturns `x` such that ``chdtrc(v, x) == p``.\n\nParameters\n----------\nv : array_like\n Degrees of freedom.\np : array_like\n Probability.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nx : scalar or ndarray\n Value so that the probability a Chi square random variable\n with `v` degrees of freedom is greater than `x` equals `p`.\n\nSee Also\n--------\nchdtrc, chdtr, chdtriv\n\nReferences\n----------\n.. [1] Chi-Square distribution,\n https://www.itl.nist.gov/div898/handbook/eda/section3/eda3666.htm\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt inverts `chdtrc`.\n\n>>> v, p = 1, 0.3\n>>> sc.chdtrc(v, sc.chdtri(v, p))\n0.3\n>>> x = 1\n>>> sc.chdtri(v, sc.chdtrc(v, x))\n1.0" - ... - -def chdtriv(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "chdtriv(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nchdtriv(p, x, out=None)\n\nInverse to `chdtr` with respect to `v`.\n\nReturns `v` such that ``chdtr(v, x) == p``.\n\nParameters\n----------\np : array_like\n Probability that the Chi square random variable is less than\n or equal to `x`.\nx : array_like\n Nonnegative input.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n Degrees of freedom.\n\nSee Also\n--------\nchdtr, chdtrc, chdtri\n\nReferences\n----------\n.. [1] Chi-Square distribution,\n https://www.itl.nist.gov/div898/handbook/eda/section3/eda3666.htm\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt inverts `chdtr`.\n\n>>> p, x = 0.5, 1\n>>> sc.chdtr(sc.chdtriv(p, x), x)\n0.5000000000202172\n>>> v = 1\n>>> sc.chdtriv(sc.chdtr(v, x), v)\n1.0000000000000013" - ... - -def chndtr(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "chndtr(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nchndtr(x, df, nc)\n\nNon-central chi square cumulative distribution function" - ... - -def chndtridf(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "chndtridf(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nchndtridf(x, p, nc)\n\nInverse to `chndtr` vs `df`" - ... - -def chndtrinc(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "chndtrinc(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nchndtrinc(x, df, p)\n\nInverse to `chndtr` vs `nc`" - ... - -def chndtrix(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "chndtrix(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nchndtrix(p, df, nc)\n\nInverse to `chndtr` vs `x`" - ... - -def cosdg(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "cosdg(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ncosdg(x, out=None)\n\nCosine of the angle `x` given in degrees.\n\nParameters\n----------\nx : array_like\n Angle, given in degrees.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n Cosine of the input.\n\nSee Also\n--------\nsindg, tandg, cotdg\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt is more accurate than using cosine directly.\n\n>>> x = 90 + 180 * np.arange(3)\n>>> sc.cosdg(x)\narray([-0., 0., -0.])\n>>> np.cos(x * np.pi / 180)\narray([ 6.1232340e-17, -1.8369702e-16, 3.0616170e-16])" - ... - -def cosm1(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "cosm1(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ncosm1(x, out=None)\n\ncos(x) - 1 for use when `x` is near zero.\n\nParameters\n----------\nx : array_like\n Real valued argument.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n Values of ``cos(x) - 1``.\n\nSee Also\n--------\nexpm1, log1p\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt is more accurate than computing ``cos(x) - 1`` directly for\n``x`` around 0.\n\n>>> x = 1e-30\n>>> np.cos(x) - 1\n0.0\n>>> sc.cosm1(x)\n-5.0000000000000005e-61" - ... - -def cotdg(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "cotdg(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ncotdg(x, out=None)\n\nCotangent of the angle `x` given in degrees.\n\nParameters\n----------\nx : array_like\n Angle, given in degrees.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n Cotangent at the input.\n\nSee Also\n--------\nsindg, cosdg, tandg\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt is more accurate than using cotangent directly.\n\n>>> x = 90 + 180 * np.arange(3)\n>>> sc.cotdg(x)\narray([0., 0., 0.])\n>>> 1 / np.tan(x * np.pi / 180)\narray([6.1232340e-17, 1.8369702e-16, 3.0616170e-16])" - ... - -def dawsn(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "dawsn(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ndawsn(x)\n\nDawson's integral.\n\nComputes::\n\n exp(-x**2) * integral(exp(t**2), t=0..x).\n\nSee Also\n--------\nwofz, erf, erfc, erfcx, erfi\n\nReferences\n----------\n.. [1] Steven G. Johnson, Faddeeva W function implementation.\n http://ab-initio.mit.edu/Faddeeva\n\nExamples\n--------\n>>> from scipy import special\n>>> import matplotlib.pyplot as plt\n>>> x = np.linspace(-15, 15, num=1000)\n>>> plt.plot(x, special.dawsn(x))\n>>> plt.xlabel('$x$')\n>>> plt.ylabel('$dawsn(x)$')\n>>> plt.show()" - ... - -def ellipe(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "ellipe(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nellipe(m)\n\nComplete elliptic integral of the second kind\n\nThis function is defined as\n\n.. math:: E(m) = \\int_0^{\\pi/2} [1 - m \\sin(t)^2]^{1/2} dt\n\nParameters\n----------\nm : array_like\n Defines the parameter of the elliptic integral.\n\nReturns\n-------\nE : ndarray\n Value of the elliptic integral.\n\nNotes\n-----\nWrapper for the Cephes [1]_ routine `ellpe`.\n\nFor `m > 0` the computation uses the approximation,\n\n.. math:: E(m) \\approx P(1-m) - (1-m) \\log(1-m) Q(1-m),\n\nwhere :math:`P` and :math:`Q` are tenth-order polynomials. For\n`m < 0`, the relation\n\n.. math:: E(m) = E(m/(m - 1)) \\sqrt(1-m)\n\nis used.\n\nThe parameterization in terms of :math:`m` follows that of section\n17.2 in [2]_. Other parameterizations in terms of the\ncomplementary parameter :math:`1 - m`, modular angle\n:math:`\\sin^2(\\alpha) = m`, or modulus :math:`k^2 = m` are also\nused, so be careful that you choose the correct parameter.\n\nSee Also\n--------\nellipkm1 : Complete elliptic integral of the first kind, near `m` = 1\nellipk : Complete elliptic integral of the first kind\nellipkinc : Incomplete elliptic integral of the first kind\nellipeinc : Incomplete elliptic integral of the second kind\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/\n.. [2] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972.\n\nExamples\n--------\nThis function is used in finding the circumference of an\nellipse with semi-major axis `a` and semi-minor axis `b`.\n\n>>> from scipy import special\n\n>>> a = 3.5\n>>> b = 2.1\n>>> e_sq = 1.0 - b**2/a**2 # eccentricity squared\n\nThen the circumference is found using the following:\n\n>>> C = 4*a*special.ellipe(e_sq) # circumference formula\n>>> C\n17.868899204378693\n\nWhen `a` and `b` are the same (meaning eccentricity is 0),\nthis reduces to the circumference of a circle.\n\n>>> 4*a*special.ellipe(0.0) # formula for ellipse with a = b\n21.991148575128552\n>>> 2*np.pi*a # formula for circle of radius a\n21.991148575128552" - ... - -def ellipeinc(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "ellipeinc(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nellipeinc(phi, m)\n\nIncomplete elliptic integral of the second kind\n\nThis function is defined as\n\n.. math:: E(\\phi, m) = \\int_0^{\\phi} [1 - m \\sin(t)^2]^{1/2} dt\n\nParameters\n----------\nphi : array_like\n amplitude of the elliptic integral.\n\nm : array_like\n parameter of the elliptic integral.\n\nReturns\n-------\nE : ndarray\n Value of the elliptic integral.\n\nNotes\n-----\nWrapper for the Cephes [1]_ routine `ellie`.\n\nComputation uses arithmetic-geometric means algorithm.\n\nThe parameterization in terms of :math:`m` follows that of section\n17.2 in [2]_. Other parameterizations in terms of the\ncomplementary parameter :math:`1 - m`, modular angle\n:math:`\\sin^2(\\alpha) = m`, or modulus :math:`k^2 = m` are also\nused, so be careful that you choose the correct parameter.\n\nSee Also\n--------\nellipkm1 : Complete elliptic integral of the first kind, near `m` = 1\nellipk : Complete elliptic integral of the first kind\nellipkinc : Incomplete elliptic integral of the first kind\nellipe : Complete elliptic integral of the second kind\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/\n.. [2] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972." - ... - -def ellipj(x1, x2, out1=..., out2=..., out3=..., out4=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "ellipj(x1, x2[, out1, out2, out3, out4], / [, out=(None, None, None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nellipj(u, m)\n\nJacobian elliptic functions\n\nCalculates the Jacobian elliptic functions of parameter `m` between\n0 and 1, and real argument `u`.\n\nParameters\n----------\nm : array_like\n Parameter.\nu : array_like\n Argument.\n\nReturns\n-------\nsn, cn, dn, ph : ndarrays\n The returned functions::\n\n sn(u|m), cn(u|m), dn(u|m)\n\n The value `ph` is such that if `u = ellipkinc(ph, m)`,\n then `sn(u|m) = sin(ph)` and `cn(u|m) = cos(ph)`.\n\nNotes\n-----\nWrapper for the Cephes [1]_ routine `ellpj`.\n\nThese functions are periodic, with quarter-period on the real axis\nequal to the complete elliptic integral `ellipk(m)`.\n\nRelation to incomplete elliptic integral: If `u = ellipkinc(phi,m)`, then\n`sn(u|m) = sin(phi)`, and `cn(u|m) = cos(phi)`. The `phi` is called\nthe amplitude of `u`.\n\nComputation is by means of the arithmetic-geometric mean algorithm,\nexcept when `m` is within 1e-9 of 0 or 1. In the latter case with `m`\nclose to 1, the approximation applies only for `phi < pi/2`.\n\nSee also\n--------\nellipk : Complete elliptic integral of the first kind\nellipkinc : Incomplete elliptic integral of the first kind\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def ellipk(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "ellipk(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nellipk(m)\n\nComplete elliptic integral of the first kind.\n\nThis function is defined as\n\n.. math:: K(m) = \\int_0^{\\pi/2} [1 - m \\sin(t)^2]^{-1/2} dt\n\nParameters\n----------\nm : array_like\n The parameter of the elliptic integral.\n\nReturns\n-------\nK : array_like\n Value of the elliptic integral.\n\nNotes\n-----\nFor more precision around point m = 1, use `ellipkm1`, which this\nfunction calls.\n\nThe parameterization in terms of :math:`m` follows that of section\n17.2 in [1]_. Other parameterizations in terms of the\ncomplementary parameter :math:`1 - m`, modular angle\n:math:`\\sin^2(\\alpha) = m`, or modulus :math:`k^2 = m` are also\nused, so be careful that you choose the correct parameter.\n\nSee Also\n--------\nellipkm1 : Complete elliptic integral of the first kind around m = 1\nellipkinc : Incomplete elliptic integral of the first kind\nellipe : Complete elliptic integral of the second kind\nellipeinc : Incomplete elliptic integral of the second kind\n\nReferences\n----------\n.. [1] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972." - ... - -def ellipkinc(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "ellipkinc(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nellipkinc(phi, m)\n\nIncomplete elliptic integral of the first kind\n\nThis function is defined as\n\n.. math:: K(\\phi, m) = \\int_0^{\\phi} [1 - m \\sin(t)^2]^{-1/2} dt\n\nThis function is also called `F(phi, m)`.\n\nParameters\n----------\nphi : array_like\n amplitude of the elliptic integral\n\nm : array_like\n parameter of the elliptic integral\n\nReturns\n-------\nK : ndarray\n Value of the elliptic integral\n\nNotes\n-----\nWrapper for the Cephes [1]_ routine `ellik`. The computation is\ncarried out using the arithmetic-geometric mean algorithm.\n\nThe parameterization in terms of :math:`m` follows that of section\n17.2 in [2]_. Other parameterizations in terms of the\ncomplementary parameter :math:`1 - m`, modular angle\n:math:`\\sin^2(\\alpha) = m`, or modulus :math:`k^2 = m` are also\nused, so be careful that you choose the correct parameter.\n\nSee Also\n--------\nellipkm1 : Complete elliptic integral of the first kind, near `m` = 1\nellipk : Complete elliptic integral of the first kind\nellipe : Complete elliptic integral of the second kind\nellipeinc : Incomplete elliptic integral of the second kind\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/\n.. [2] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972." - ... - -def ellipkm1(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "ellipkm1(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nellipkm1(p)\n\nComplete elliptic integral of the first kind around `m` = 1\n\nThis function is defined as\n\n.. math:: K(p) = \\int_0^{\\pi/2} [1 - m \\sin(t)^2]^{-1/2} dt\n\nwhere `m = 1 - p`.\n\nParameters\n----------\np : array_like\n Defines the parameter of the elliptic integral as `m = 1 - p`.\n\nReturns\n-------\nK : ndarray\n Value of the elliptic integral.\n\nNotes\n-----\nWrapper for the Cephes [1]_ routine `ellpk`.\n\nFor `p <= 1`, computation uses the approximation,\n\n.. math:: K(p) \\approx P(p) - \\log(p) Q(p),\n\nwhere :math:`P` and :math:`Q` are tenth-order polynomials. The\nargument `p` is used internally rather than `m` so that the logarithmic\nsingularity at `m = 1` will be shifted to the origin; this preserves\nmaximum accuracy. For `p > 1`, the identity\n\n.. math:: K(p) = K(1/p)/\\sqrt(p)\n\nis used.\n\nSee Also\n--------\nellipk : Complete elliptic integral of the first kind\nellipkinc : Incomplete elliptic integral of the first kind\nellipe : Complete elliptic integral of the second kind\nellipeinc : Incomplete elliptic integral of the second kind\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def entr(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "entr(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nentr(x)\n\nElementwise function for computing entropy.\n\n.. math:: \\text{entr}(x) = \\begin{cases} - x \\log(x) & x > 0 \\\\ 0 & x = 0 \\\\ -\\infty & \\text{otherwise} \\end{cases}\n\nParameters\n----------\nx : ndarray\n Input array.\n\nReturns\n-------\nres : ndarray\n The value of the elementwise entropy function at the given points `x`.\n\nSee Also\n--------\nkl_div, rel_entr\n\nNotes\n-----\nThis function is concave.\n\n.. versionadded:: 0.15.0" - ... - -def erf(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "erf(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nerf(z)\n\nReturns the error function of complex argument.\n\nIt is defined as ``2/sqrt(pi)*integral(exp(-t**2), t=0..z)``.\n\nParameters\n----------\nx : ndarray\n Input array.\n\nReturns\n-------\nres : ndarray\n The values of the error function at the given points `x`.\n\nSee Also\n--------\nerfc, erfinv, erfcinv, wofz, erfcx, erfi\n\nNotes\n-----\nThe cumulative of the unit normal distribution is given by\n``Phi(z) = 1/2[1 + erf(z/sqrt(2))]``.\n\nReferences\n----------\n.. [1] https://en.wikipedia.org/wiki/Error_function\n.. [2] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover,\n 1972. http://www.math.sfu.ca/~cbm/aands/page_297.htm\n.. [3] Steven G. Johnson, Faddeeva W function implementation.\n http://ab-initio.mit.edu/Faddeeva\n\nExamples\n--------\n>>> from scipy import special\n>>> import matplotlib.pyplot as plt\n>>> x = np.linspace(-3, 3)\n>>> plt.plot(x, special.erf(x))\n>>> plt.xlabel('$x$')\n>>> plt.ylabel('$erf(x)$')\n>>> plt.show()" - ... - -def erfc(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "erfc(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nerfc(x, out=None)\n\nComplementary error function, ``1 - erf(x)``.\n\nParameters\n----------\nx : array_like\n Real or complex valued argument\nout : ndarray, optional\n Optional output array for the function results\n\nReturns\n-------\nscalar or ndarray\n Values of the complementary error function\n\nSee Also\n--------\nerf, erfi, erfcx, dawsn, wofz\n\nReferences\n----------\n.. [1] Steven G. Johnson, Faddeeva W function implementation.\n http://ab-initio.mit.edu/Faddeeva\n\nExamples\n--------\n>>> from scipy import special\n>>> import matplotlib.pyplot as plt\n>>> x = np.linspace(-3, 3)\n>>> plt.plot(x, special.erfc(x))\n>>> plt.xlabel('$x$')\n>>> plt.ylabel('$erfc(x)$')\n>>> plt.show()" - ... - -def erfcinv(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "erfcinv(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInverse of the complementary error function.\n\n Computes the inverse of the complementary error function.\n\n In the complex domain, there is no unique complex number w satisfying\n erfc(w)=z. This indicates a true inverse function would have multi-value.\n When the domain restricts to the real, 0 < x < 2, there is a unique real\n number satisfying erfc(erfcinv(x)) = erfcinv(erfc(x)).\n\n It is related to inverse of the error function by erfcinv(1-x) = erfinv(x)\n\n Parameters\n ----------\n y : ndarray\n Argument at which to evaluate. Domain: [0, 2]\n\n Returns\n -------\n erfcinv : ndarray\n The inverse of erfc of y, element-wise\n\n See Also\n --------\n erf : Error function of a complex argument\n erfc : Complementary error function, ``1 - erf(x)``\n erfinv : Inverse of the error function\n\n Examples\n --------\n 1) evaluating a float number\n\n >>> from scipy import special\n >>> special.erfcinv(0.5)\n 0.4769362762044698\n\n 2) evaluating an ndarray\n\n >>> from scipy import special\n >>> y = np.linspace(0.0, 2.0, num=11)\n >>> special.erfcinv(y)\n array([ inf, 0.9061938 , 0.59511608, 0.37080716, 0.17914345,\n -0. , -0.17914345, -0.37080716, -0.59511608, -0.9061938 ,\n -inf])" - ... - -def erfcx(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "erfcx(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nerfcx(x, out=None)\n\nScaled complementary error function, ``exp(x**2) * erfc(x)``.\n\nParameters\n----------\nx : array_like\n Real or complex valued argument\nout : ndarray, optional\n Optional output array for the function results\n\nReturns\n-------\nscalar or ndarray\n Values of the scaled complementary error function\n\n\nSee Also\n--------\nerf, erfc, erfi, dawsn, wofz\n\nNotes\n-----\n\n.. versionadded:: 0.12.0\n\nReferences\n----------\n.. [1] Steven G. Johnson, Faddeeva W function implementation.\n http://ab-initio.mit.edu/Faddeeva\n\nExamples\n--------\n>>> from scipy import special\n>>> import matplotlib.pyplot as plt\n>>> x = np.linspace(-3, 3)\n>>> plt.plot(x, special.erfcx(x))\n>>> plt.xlabel('$x$')\n>>> plt.ylabel('$erfcx(x)$')\n>>> plt.show()" - ... - -def erfi(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "erfi(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nerfi(z, out=None)\n\nImaginary error function, ``-i erf(i z)``.\n\nParameters\n----------\nz : array_like\n Real or complex valued argument\nout : ndarray, optional\n Optional output array for the function results\n\nReturns\n-------\nscalar or ndarray\n Values of the imaginary error function\n\nSee Also\n--------\nerf, erfc, erfcx, dawsn, wofz\n\nNotes\n-----\n\n.. versionadded:: 0.12.0\n\nReferences\n----------\n.. [1] Steven G. Johnson, Faddeeva W function implementation.\n http://ab-initio.mit.edu/Faddeeva\n\nExamples\n--------\n>>> from scipy import special\n>>> import matplotlib.pyplot as plt\n>>> x = np.linspace(-3, 3)\n>>> plt.plot(x, special.erfi(x))\n>>> plt.xlabel('$x$')\n>>> plt.ylabel('$erfi(x)$')\n>>> plt.show()" - ... - -def erfinv(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "erfinv(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nInverse of the error function.\n\n Computes the inverse of the error function.\n\n In the complex domain, there is no unique complex number w satisfying\n erf(w)=z. This indicates a true inverse function would have multi-value.\n When the domain restricts to the real, -1 < x < 1, there is a unique real\n number satisfying erf(erfinv(x)) = x.\n\n Parameters\n ----------\n y : ndarray\n Argument at which to evaluate. Domain: [-1, 1]\n\n Returns\n -------\n erfinv : ndarray\n The inverse of erf of y, element-wise)\n\n See Also\n --------\n erf : Error function of a complex argument\n erfc : Complementary error function, ``1 - erf(x)``\n erfcinv : Inverse of the complementary error function\n\n Examples\n --------\n 1) evaluating a float number\n\n >>> from scipy import special\n >>> special.erfinv(0.5)\n 0.4769362762044698\n\n 2) evaluating an ndarray\n\n >>> from scipy import special\n >>> y = np.linspace(-1.0, 1.0, num=10)\n >>> special.erfinv(y)\n array([ -inf, -0.86312307, -0.5407314 , -0.30457019, -0.0987901 ,\n 0.0987901 , 0.30457019, 0.5407314 , 0.86312307, inf])" - ... - -class errstate(_mod_builtins.object): - "Context manager for special-function error handling.\n\n Using an instance of `errstate` as a context manager allows\n statements in that context to execute with a known error handling\n behavior. Upon entering the context the error handling is set with\n `seterr`, and upon exiting it is restored to what it was before.\n\n Parameters\n ----------\n kwargs : {all, singular, underflow, overflow, slow, loss, no_result, domain, arg, other}\n Keyword arguments. The valid keywords are possible\n special-function errors. Each keyword should have a string\n value that defines the treatement for the particular type of\n error. Values must be 'ignore', 'warn', or 'other'. See\n `seterr` for details.\n\n See Also\n --------\n geterr : get the current way of handling special-function errors\n seterr : set how special-function errors are handled\n numpy.errstate : similar numpy function for floating-point errors\n\n Examples\n --------\n >>> import scipy.special as sc\n >>> from pytest import raises\n >>> sc.gammaln(0)\n inf\n >>> with sc.errstate(singular='raise'):\n ... with raises(sc.SpecialFunctionError):\n ... sc.gammaln(0)\n ...\n >>> sc.gammaln(0)\n inf\n\n We can also raise on every category except one.\n\n >>> with sc.errstate(all='raise', singular='ignore'):\n ... sc.gammaln(0)\n ... with raises(sc.SpecialFunctionError):\n ... sc.spence(-1)\n ...\n inf\n\n " - __dict__: typing.Dict[str, typing.Any] - def __enter__(self) -> typing.Any: - ... - - def __exit__(self, exc_type, exc_value, traceback) -> typing.Any: - ... - - def __init__(self, **kwargs) -> None: - "Context manager for special-function error handling.\n\n Using an instance of `errstate` as a context manager allows\n statements in that context to execute with a known error handling\n behavior. Upon entering the context the error handling is set with\n `seterr`, and upon exiting it is restored to what it was before.\n\n Parameters\n ----------\n kwargs : {all, singular, underflow, overflow, slow, loss, no_result, domain, arg, other}\n Keyword arguments. The valid keywords are possible\n special-function errors. Each keyword should have a string\n value that defines the treatement for the particular type of\n error. Values must be 'ignore', 'warn', or 'other'. See\n `seterr` for details.\n\n See Also\n --------\n geterr : get the current way of handling special-function errors\n seterr : set how special-function errors are handled\n numpy.errstate : similar numpy function for floating-point errors\n\n Examples\n --------\n >>> import scipy.special as sc\n >>> from pytest import raises\n >>> sc.gammaln(0)\n inf\n >>> with sc.errstate(singular='raise'):\n ... with raises(sc.SpecialFunctionError):\n ... sc.gammaln(0)\n ...\n >>> sc.gammaln(0)\n inf\n\n We can also raise on every category except one.\n\n >>> with sc.errstate(all='raise', singular='ignore'):\n ... sc.gammaln(0)\n ... with raises(sc.SpecialFunctionError):\n ... sc.spence(-1)\n ...\n inf\n\n " - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -def eval_chebyc(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "eval_chebyc(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\neval_chebyc(n, x, out=None)\n\nEvaluate Chebyshev polynomial of the first kind on [-2, 2] at a\npoint.\n\nThese polynomials are defined as\n\n.. math::\n\n C_n(x) = 2 T_n(x/2)\n\nwhere :math:`T_n` is a Chebyshev polynomial of the first kind. See\n22.5.11 in [AS]_ for details.\n\nParameters\n----------\nn : array_like\n Degree of the polynomial. If not an integer, the result is\n determined via the relation to `eval_chebyt`.\nx : array_like\n Points at which to evaluate the Chebyshev polynomial\n\nReturns\n-------\nC : ndarray\n Values of the Chebyshev polynomial\n\nSee Also\n--------\nroots_chebyc : roots and quadrature weights of Chebyshev\n polynomials of the first kind on [-2, 2]\nchebyc : Chebyshev polynomial object\nnumpy.polynomial.chebyshev.Chebyshev : Chebyshev series\neval_chebyt : evaluate Chebycshev polynomials of the first kind\n\nReferences\n----------\n.. [AS] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972.\n\nExamples\n--------\n>>> import scipy.special as sc\n\nThey are a scaled version of the Chebyshev polynomials of the\nfirst kind.\n\n>>> x = np.linspace(-2, 2, 6)\n>>> sc.eval_chebyc(3, x)\narray([-2. , 1.872, 1.136, -1.136, -1.872, 2. ])\n>>> 2 * sc.eval_chebyt(3, x / 2)\narray([-2. , 1.872, 1.136, -1.136, -1.872, 2. ])" - ... - -def eval_chebys(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "eval_chebys(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\neval_chebys(n, x, out=None)\n\nEvaluate Chebyshev polynomial of the second kind on [-2, 2] at a\npoint.\n\nThese polynomials are defined as\n\n.. math::\n\n S_n(x) = U_n(x/2)\n\nwhere :math:`U_n` is a Chebyshev polynomial of the second\nkind. See 22.5.13 in [AS]_ for details.\n\nParameters\n----------\nn : array_like\n Degree of the polynomial. If not an integer, the result is\n determined via the relation to `eval_chebyu`.\nx : array_like\n Points at which to evaluate the Chebyshev polynomial\n\nReturns\n-------\nS : ndarray\n Values of the Chebyshev polynomial\n\nSee Also\n--------\nroots_chebys : roots and quadrature weights of Chebyshev\n polynomials of the second kind on [-2, 2]\nchebys : Chebyshev polynomial object\neval_chebyu : evaluate Chebyshev polynomials of the second kind\n\nReferences\n----------\n.. [AS] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972.\n\nExamples\n--------\n>>> import scipy.special as sc\n\nThey are a scaled version of the Chebyshev polynomials of the\nsecond kind.\n\n>>> x = np.linspace(-2, 2, 6)\n>>> sc.eval_chebys(3, x)\narray([-4. , 0.672, 0.736, -0.736, -0.672, 4. ])\n>>> sc.eval_chebyu(3, x / 2)\narray([-4. , 0.672, 0.736, -0.736, -0.672, 4. ])" - ... - -def eval_chebyt(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "eval_chebyt(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\neval_chebyt(n, x, out=None)\n\nEvaluate Chebyshev polynomial of the first kind at a point.\n\nThe Chebyshev polynomials of the first kind can be defined via the\nGauss hypergeometric function :math:`{}_2F_1` as\n\n.. math::\n\n T_n(x) = {}_2F_1(n, -n; 1/2; (1 - x)/2).\n\nWhen :math:`n` is an integer the result is a polynomial of degree\n:math:`n`. See 22.5.47 in [AS]_ for details.\n\nParameters\n----------\nn : array_like\n Degree of the polynomial. If not an integer, the result is\n determined via the relation to the Gauss hypergeometric\n function.\nx : array_like\n Points at which to evaluate the Chebyshev polynomial\n\nReturns\n-------\nT : ndarray\n Values of the Chebyshev polynomial\n\nSee Also\n--------\nroots_chebyt : roots and quadrature weights of Chebyshev\n polynomials of the first kind\nchebyu : Chebychev polynomial object\neval_chebyu : evaluate Chebyshev polynomials of the second kind\nhyp2f1 : Gauss hypergeometric function\nnumpy.polynomial.chebyshev.Chebyshev : Chebyshev series\n\nNotes\n-----\nThis routine is numerically stable for `x` in ``[-1, 1]`` at least\nup to order ``10000``.\n\nReferences\n----------\n.. [AS] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972." - ... - -def eval_chebyu(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "eval_chebyu(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\neval_chebyu(n, x, out=None)\n\nEvaluate Chebyshev polynomial of the second kind at a point.\n\nThe Chebyshev polynomials of the second kind can be defined via\nthe Gauss hypergeometric function :math:`{}_2F_1` as\n\n.. math::\n\n U_n(x) = (n + 1) {}_2F_1(-n, n + 2; 3/2; (1 - x)/2).\n\nWhen :math:`n` is an integer the result is a polynomial of degree\n:math:`n`. See 22.5.48 in [AS]_ for details.\n\nParameters\n----------\nn : array_like\n Degree of the polynomial. If not an integer, the result is\n determined via the relation to the Gauss hypergeometric\n function.\nx : array_like\n Points at which to evaluate the Chebyshev polynomial\n\nReturns\n-------\nU : ndarray\n Values of the Chebyshev polynomial\n\nSee Also\n--------\nroots_chebyu : roots and quadrature weights of Chebyshev\n polynomials of the second kind\nchebyu : Chebyshev polynomial object\neval_chebyt : evaluate Chebyshev polynomials of the first kind\nhyp2f1 : Gauss hypergeometric function\n\nReferences\n----------\n.. [AS] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972." - ... - -def eval_gegenbauer(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "eval_gegenbauer(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\neval_gegenbauer(n, alpha, x, out=None)\n\nEvaluate Gegenbauer polynomial at a point.\n\nThe Gegenbauer polynomials can be defined via the Gauss\nhypergeometric function :math:`{}_2F_1` as\n\n.. math::\n\n C_n^{(\\alpha)} = \\frac{(2\\alpha)_n}{\\Gamma(n + 1)}\n {}_2F_1(-n, 2\\alpha + n; \\alpha + 1/2; (1 - z)/2).\n\nWhen :math:`n` is an integer the result is a polynomial of degree\n:math:`n`. See 22.5.46 in [AS]_ for details.\n\nParameters\n----------\nn : array_like\n Degree of the polynomial. If not an integer, the result is\n determined via the relation to the Gauss hypergeometric\n function.\nalpha : array_like\n Parameter\nx : array_like\n Points at which to evaluate the Gegenbauer polynomial\n\nReturns\n-------\nC : ndarray\n Values of the Gegenbauer polynomial\n\nSee Also\n--------\nroots_gegenbauer : roots and quadrature weights of Gegenbauer\n polynomials\ngegenbauer : Gegenbauer polynomial object\nhyp2f1 : Gauss hypergeometric function\n\nReferences\n----------\n.. [AS] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972." - ... - -def eval_genlaguerre(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "eval_genlaguerre(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\neval_genlaguerre(n, alpha, x, out=None)\n\nEvaluate generalized Laguerre polynomial at a point.\n\nThe generalized Laguerre polynomials can be defined via the\nconfluent hypergeometric function :math:`{}_1F_1` as\n\n.. math::\n\n L_n^{(\\alpha)}(x) = \\binom{n + \\alpha}{n}\n {}_1F_1(-n, \\alpha + 1, x).\n\nWhen :math:`n` is an integer the result is a polynomial of degree\n:math:`n`. See 22.5.54 in [AS]_ for details. The Laguerre\npolynomials are the special case where :math:`\\alpha = 0`.\n\nParameters\n----------\nn : array_like\n Degree of the polynomial. If not an integer, the result is\n determined via the relation to the confluent hypergeometric\n function.\nalpha : array_like\n Parameter; must have ``alpha > -1``\nx : array_like\n Points at which to evaluate the generalized Laguerre\n polynomial\n\nReturns\n-------\nL : ndarray\n Values of the generalized Laguerre polynomial\n\nSee Also\n--------\nroots_genlaguerre : roots and quadrature weights of generalized\n Laguerre polynomials\ngenlaguerre : generalized Laguerre polynomial object\nhyp1f1 : confluent hypergeometric function\neval_laguerre : evaluate Laguerre polynomials\n\nReferences\n----------\n.. [AS] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972." - ... - -def eval_hermite(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "eval_hermite(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\neval_hermite(n, x, out=None)\n\nEvaluate physicist's Hermite polynomial at a point.\n\nDefined by\n\n.. math::\n\n H_n(x) = (-1)^n e^{x^2} \\frac{d^n}{dx^n} e^{-x^2};\n\n:math:`H_n` is a polynomial of degree :math:`n`. See 22.11.7 in\n[AS]_ for details.\n\nParameters\n----------\nn : array_like\n Degree of the polynomial\nx : array_like\n Points at which to evaluate the Hermite polynomial\n\nReturns\n-------\nH : ndarray\n Values of the Hermite polynomial\n\nSee Also\n--------\nroots_hermite : roots and quadrature weights of physicist's\n Hermite polynomials\nhermite : physicist's Hermite polynomial object\nnumpy.polynomial.hermite.Hermite : Physicist's Hermite series\neval_hermitenorm : evaluate Probabilist's Hermite polynomials\n\nReferences\n----------\n.. [AS] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972." - ... - -def eval_hermitenorm(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "eval_hermitenorm(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\neval_hermitenorm(n, x, out=None)\n\nEvaluate probabilist's (normalized) Hermite polynomial at a\npoint.\n\nDefined by\n\n.. math::\n\n He_n(x) = (-1)^n e^{x^2/2} \\frac{d^n}{dx^n} e^{-x^2/2};\n\n:math:`He_n` is a polynomial of degree :math:`n`. See 22.11.8 in\n[AS]_ for details.\n\nParameters\n----------\nn : array_like\n Degree of the polynomial\nx : array_like\n Points at which to evaluate the Hermite polynomial\n\nReturns\n-------\nHe : ndarray\n Values of the Hermite polynomial\n\nSee Also\n--------\nroots_hermitenorm : roots and quadrature weights of probabilist's\n Hermite polynomials\nhermitenorm : probabilist's Hermite polynomial object\nnumpy.polynomial.hermite_e.HermiteE : Probabilist's Hermite series\neval_hermite : evaluate physicist's Hermite polynomials\n\nReferences\n----------\n.. [AS] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972." - ... - -def eval_jacobi(x1, x2, x3, x4, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "eval_jacobi(x1, x2, x3, x4, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\neval_jacobi(n, alpha, beta, x, out=None)\n\nEvaluate Jacobi polynomial at a point.\n\nThe Jacobi polynomials can be defined via the Gauss hypergeometric\nfunction :math:`{}_2F_1` as\n\n.. math::\n\n P_n^{(\\alpha, \\beta)}(x) = \\frac{(\\alpha + 1)_n}{\\Gamma(n + 1)}\n {}_2F_1(-n, 1 + \\alpha + \\beta + n; \\alpha + 1; (1 - z)/2)\n\nwhere :math:`(\\cdot)_n` is the Pochhammer symbol; see `poch`. When\n:math:`n` is an integer the result is a polynomial of degree\n:math:`n`. See 22.5.42 in [AS]_ for details.\n\nParameters\n----------\nn : array_like\n Degree of the polynomial. If not an integer the result is\n determined via the relation to the Gauss hypergeometric\n function.\nalpha : array_like\n Parameter\nbeta : array_like\n Parameter\nx : array_like\n Points at which to evaluate the polynomial\n\nReturns\n-------\nP : ndarray\n Values of the Jacobi polynomial\n\nSee Also\n--------\nroots_jacobi : roots and quadrature weights of Jacobi polynomials\njacobi : Jacobi polynomial object\nhyp2f1 : Gauss hypergeometric function\n\nReferences\n----------\n.. [AS] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972." - ... - -def eval_laguerre(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "eval_laguerre(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\neval_laguerre(n, x, out=None)\n\nEvaluate Laguerre polynomial at a point.\n\nThe Laguerre polynomials can be defined via the confluent\nhypergeometric function :math:`{}_1F_1` as\n\n.. math::\n\n L_n(x) = {}_1F_1(-n, 1, x).\n\nSee 22.5.16 and 22.5.54 in [AS]_ for details. When :math:`n` is an\ninteger the result is a polynomial of degree :math:`n`.\n\nParameters\n----------\nn : array_like\n Degree of the polynomial. If not an integer the result is\n determined via the relation to the confluent hypergeometric\n function.\nx : array_like\n Points at which to evaluate the Laguerre polynomial\n\nReturns\n-------\nL : ndarray\n Values of the Laguerre polynomial\n\nSee Also\n--------\nroots_laguerre : roots and quadrature weights of Laguerre\n polynomials\nlaguerre : Laguerre polynomial object\nnumpy.polynomial.laguerre.Laguerre : Laguerre series\neval_genlaguerre : evaluate generalized Laguerre polynomials\n\nReferences\n----------\n.. [AS] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972." - ... - -def eval_legendre(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'eval_legendre(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\neval_legendre(n, x, out=None)\n\nEvaluate Legendre polynomial at a point.\n\nThe Legendre polynomials can be defined via the Gauss\nhypergeometric function :math:`{}_2F_1` as\n\n.. math::\n\n P_n(x) = {}_2F_1(-n, n + 1; 1; (1 - x)/2).\n\nWhen :math:`n` is an integer the result is a polynomial of degree\n:math:`n`. See 22.5.49 in [AS]_ for details.\n\nParameters\n----------\nn : array_like\n Degree of the polynomial. If not an integer, the result is\n determined via the relation to the Gauss hypergeometric\n function.\nx : array_like\n Points at which to evaluate the Legendre polynomial\n\nReturns\n-------\nP : ndarray\n Values of the Legendre polynomial\n\nSee Also\n--------\nroots_legendre : roots and quadrature weights of Legendre\n polynomials\nlegendre : Legendre polynomial object\nhyp2f1 : Gauss hypergeometric function\nnumpy.polynomial.legendre.Legendre : Legendre series\n\nReferences\n----------\n.. [AS] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972.\n\nExamples\n--------\n>>> from scipy.special import eval_legendre\n\nEvaluate the zero-order Legendre polynomial at x = 0\n\n>>> eval_legendre(0, 0)\n1.0\n\nEvaluate the first-order Legendre polynomial between -1 and 1\n\n>>> import numpy as np\n>>> X = np.linspace(-1, 1, 5) # Domain of Legendre polynomials\n>>> eval_legendre(1, X)\narray([-1. , -0.5, 0. , 0.5, 1. ])\n\nEvaluate Legendre polynomials of order 0 through 4 at x = 0\n\n>>> N = range(0, 5)\n>>> eval_legendre(N, 0)\narray([ 1. , 0. , -0.5 , 0. , 0.375])\n\nPlot Legendre polynomials of order 0 through 4\n\n>>> X = np.linspace(-1, 1)\n\n>>> import matplotlib.pyplot as plt\n>>> for n in range(0, 5):\n... y = eval_legendre(n, X)\n... plt.plot(X, y, label=r\'$P_{}(x)$\'.format(n))\n\n>>> plt.title("Legendre Polynomials")\n>>> plt.xlabel("x")\n>>> plt.ylabel(r\'$P_n(x)$\')\n>>> plt.legend(loc=\'lower right\')\n>>> plt.show()' - ... - -def eval_sh_chebyt(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "eval_sh_chebyt(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\neval_sh_chebyt(n, x, out=None)\n\nEvaluate shifted Chebyshev polynomial of the first kind at a\npoint.\n\nThese polynomials are defined as\n\n.. math::\n\n T_n^*(x) = T_n(2x - 1)\n\nwhere :math:`T_n` is a Chebyshev polynomial of the first kind. See\n22.5.14 in [AS]_ for details.\n\nParameters\n----------\nn : array_like\n Degree of the polynomial. If not an integer, the result is\n determined via the relation to `eval_chebyt`.\nx : array_like\n Points at which to evaluate the shifted Chebyshev polynomial\n\nReturns\n-------\nT : ndarray\n Values of the shifted Chebyshev polynomial\n\nSee Also\n--------\nroots_sh_chebyt : roots and quadrature weights of shifted\n Chebyshev polynomials of the first kind\nsh_chebyt : shifted Chebyshev polynomial object\neval_chebyt : evaluate Chebyshev polynomials of the first kind\nnumpy.polynomial.chebyshev.Chebyshev : Chebyshev series\n\nReferences\n----------\n.. [AS] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972." - ... - -def eval_sh_chebyu(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "eval_sh_chebyu(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\neval_sh_chebyu(n, x, out=None)\n\nEvaluate shifted Chebyshev polynomial of the second kind at a\npoint.\n\nThese polynomials are defined as\n\n.. math::\n\n U_n^*(x) = U_n(2x - 1)\n\nwhere :math:`U_n` is a Chebyshev polynomial of the first kind. See\n22.5.15 in [AS]_ for details.\n\nParameters\n----------\nn : array_like\n Degree of the polynomial. If not an integer, the result is\n determined via the relation to `eval_chebyu`.\nx : array_like\n Points at which to evaluate the shifted Chebyshev polynomial\n\nReturns\n-------\nU : ndarray\n Values of the shifted Chebyshev polynomial\n\nSee Also\n--------\nroots_sh_chebyu : roots and quadrature weights of shifted\n Chebychev polynomials of the second kind\nsh_chebyu : shifted Chebyshev polynomial object\neval_chebyu : evaluate Chebyshev polynomials of the second kind\n\nReferences\n----------\n.. [AS] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972." - ... - -def eval_sh_jacobi(x1, x2, x3, x4, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "eval_sh_jacobi(x1, x2, x3, x4, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\neval_sh_jacobi(n, p, q, x, out=None)\n\nEvaluate shifted Jacobi polynomial at a point.\n\nDefined by\n\n.. math::\n\n G_n^{(p, q)}(x)\n = \\binom{2n + p - 1}{n}^{-1} P_n^{(p - q, q - 1)}(2x - 1),\n\nwhere :math:`P_n^{(\\cdot, \\cdot)}` is the n-th Jacobi\npolynomial. See 22.5.2 in [AS]_ for details.\n\nParameters\n----------\nn : int\n Degree of the polynomial. If not an integer, the result is\n determined via the relation to `binom` and `eval_jacobi`.\np : float\n Parameter\nq : float\n Parameter\n\nReturns\n-------\nG : ndarray\n Values of the shifted Jacobi polynomial.\n\nSee Also\n--------\nroots_sh_jacobi : roots and quadrature weights of shifted Jacobi\n polynomials\nsh_jacobi : shifted Jacobi polynomial object\neval_jacobi : evaluate Jacobi polynomials\n\nReferences\n----------\n.. [AS] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972." - ... - -def eval_sh_legendre(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "eval_sh_legendre(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\neval_sh_legendre(n, x, out=None)\n\nEvaluate shifted Legendre polynomial at a point.\n\nThese polynomials are defined as\n\n.. math::\n\n P_n^*(x) = P_n(2x - 1)\n\nwhere :math:`P_n` is a Legendre polynomial. See 2.2.11 in [AS]_\nfor details.\n\nParameters\n----------\nn : array_like\n Degree of the polynomial. If not an integer, the value is\n determined via the relation to `eval_legendre`.\nx : array_like\n Points at which to evaluate the shifted Legendre polynomial\n\nReturns\n-------\nP : ndarray\n Values of the shifted Legendre polynomial\n\nSee Also\n--------\nroots_sh_legendre : roots and quadrature weights of shifted\n Legendre polynomials\nsh_legendre : shifted Legendre polynomial object\neval_legendre : evaluate Legendre polynomials\nnumpy.polynomial.legendre.Legendre : Legendre series\n\nReferences\n----------\n.. [AS] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972." - ... - -def exp1(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "exp1(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nexp1(z, out=None)\n\nExponential integral E1.\n\nFor complex :math:`z \\ne 0` the exponential integral can be defined as\n[1]_\n\n.. math::\n\n E_1(z) = \\int_z^\\infty \\frac{e^{-t}}{t} dt,\n\nwhere the path of the integral does not cross the negative real\naxis or pass through the origin.\n\nParameters\n----------\nz: array_like\n Real or complex argument.\nout: ndarray, optional\n Optional output array for the function results\n\nReturns\n-------\nscalar or ndarray\n Values of the exponential integral E1\n\nSee Also\n--------\nexpi : exponential integral :math:`Ei`\nexpn : generalization of :math:`E_1`\n\nNotes\n-----\nFor :math:`x > 0` it is related to the exponential integral\n:math:`Ei` (see `expi`) via the relation\n\n.. math::\n\n E_1(x) = -Ei(-x).\n\nReferences\n----------\n.. [1] Digital Library of Mathematical Functions, 6.2.1\n https://dlmf.nist.gov/6.2#E1\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt has a pole at 0.\n\n>>> sc.exp1(0)\ninf\n\nIt has a branch cut on the negative real axis.\n\n>>> sc.exp1(-1)\nnan\n>>> sc.exp1(complex(-1, 0))\n(-1.8951178163559368-3.141592653589793j)\n>>> sc.exp1(complex(-1, -0.0))\n(-1.8951178163559368+3.141592653589793j)\n\nIt approaches 0 along the positive real axis.\n\n>>> sc.exp1([1, 10, 100, 1000])\narray([2.19383934e-01, 4.15696893e-06, 3.68359776e-46, 0.00000000e+00])\n\nIt is related to `expi`.\n\n>>> x = np.array([1, 2, 3, 4])\n>>> sc.exp1(x)\narray([0.21938393, 0.04890051, 0.01304838, 0.00377935])\n>>> -sc.expi(-x)\narray([0.21938393, 0.04890051, 0.01304838, 0.00377935])" - ... - -def exp10(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "exp10(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nexp10(x)\n\nCompute ``10**x`` element-wise.\n\nParameters\n----------\nx : array_like\n `x` must contain real numbers.\n\nReturns\n-------\nfloat\n ``10**x``, computed element-wise.\n\nExamples\n--------\n>>> from scipy.special import exp10\n\n>>> exp10(3)\n1000.0\n>>> x = np.array([[-1, -0.5, 0], [0.5, 1, 1.5]])\n>>> exp10(x)\narray([[ 0.1 , 0.31622777, 1. ],\n [ 3.16227766, 10. , 31.6227766 ]])" - ... - -def exp2(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "exp2(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nexp2(x)\n\nCompute ``2**x`` element-wise.\n\nParameters\n----------\nx : array_like\n `x` must contain real numbers.\n\nReturns\n-------\nfloat\n ``2**x``, computed element-wise.\n\nExamples\n--------\n>>> from scipy.special import exp2\n\n>>> exp2(3)\n8.0\n>>> x = np.array([[-1, -0.5, 0], [0.5, 1, 1.5]])\n>>> exp2(x)\narray([[ 0.5 , 0.70710678, 1. ],\n [ 1.41421356, 2. , 2.82842712]])" - ... - -def expi(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "expi(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nexpi(x, out=None)\n\nExponential integral Ei.\n\nFor real :math:`x`, the exponential integral is defined as [1]_\n\n.. math::\n\n Ei(x) = \\int_{-\\infty}^x \\frac{e^t}{t} dt.\n\nFor :math:`x > 0` the integral is understood as a Cauchy principle\nvalue.\n\nIt is extended to the complex plane by analytic continuation of\nthe function on the interval :math:`(0, \\infty)`. The complex\nvariant has a branch cut on the negative real axis.\n\nParameters\n----------\nx: array_like\n Real or complex valued argument\nout: ndarray, optional\n Optional output array for the function results\n\nReturns\n-------\nscalar or ndarray\n Values of the exponential integral\n\nNotes\n-----\nThe exponential integrals :math:`E_1` and :math:`Ei` satisfy the\nrelation\n\n.. math::\n\n E_1(x) = -Ei(-x)\n\nfor :math:`x > 0`.\n\nSee Also\n--------\nexp1 : Exponential integral :math:`E_1`\nexpn : Generalized exponential integral :math:`E_n`\n\nReferences\n----------\n.. [1] Digital Library of Mathematical Functions, 6.2.5\n https://dlmf.nist.gov/6.2#E5\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt is related to `exp1`.\n\n>>> x = np.array([1, 2, 3, 4])\n>>> -sc.expi(-x)\narray([0.21938393, 0.04890051, 0.01304838, 0.00377935])\n>>> sc.exp1(x)\narray([0.21938393, 0.04890051, 0.01304838, 0.00377935])\n\nThe complex variant has a branch cut on the negative real axis.\n\n>>> import scipy.special as sc\n>>> sc.expi(-1 + 1e-12j)\n(-0.21938393439552062+3.1415926535894254j)\n>>> sc.expi(-1 - 1e-12j)\n(-0.21938393439552062-3.1415926535894254j)\n\nAs the complex variant approaches the branch cut, the real parts\napproach the value of the real variant.\n\n>>> sc.expi(-1)\n-0.21938393439552062\n\nThe SciPy implementation returns the real variant for complex\nvalues on the branch cut.\n\n>>> sc.expi(complex(-1, 0.0))\n(-0.21938393439552062-0j)\n>>> sc.expi(complex(-1, -0.0))\n(-0.21938393439552062-0j)" - ... - -def expit(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "expit(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nexpit(x)\n\nExpit (a.k.a. logistic sigmoid) ufunc for ndarrays.\n\nThe expit function, also known as the logistic sigmoid function, is\ndefined as ``expit(x) = 1/(1+exp(-x))``. It is the inverse of the\nlogit function.\n\nParameters\n----------\nx : ndarray\n The ndarray to apply expit to element-wise.\n\nReturns\n-------\nout : ndarray\n An ndarray of the same shape as x. Its entries\n are `expit` of the corresponding entry of x.\n\nSee Also\n--------\nlogit\n\nNotes\n-----\nAs a ufunc expit takes a number of optional\nkeyword arguments. For more information\nsee `ufuncs `_\n\n.. versionadded:: 0.10.0\n\nExamples\n--------\n>>> from scipy.special import expit, logit\n\n>>> expit([-np.inf, -1.5, 0, 1.5, np.inf])\narray([ 0. , 0.18242552, 0.5 , 0.81757448, 1. ])\n\n`logit` is the inverse of `expit`:\n\n>>> logit(expit([-2.5, 0, 3.1, 5.0]))\narray([-2.5, 0. , 3.1, 5. ])\n\nPlot expit(x) for x in [-6, 6]:\n\n>>> import matplotlib.pyplot as plt\n>>> x = np.linspace(-6, 6, 121)\n>>> y = expit(x)\n>>> plt.plot(x, y)\n>>> plt.grid()\n>>> plt.xlim(-6, 6)\n>>> plt.xlabel('x')\n>>> plt.title('expit(x)')\n>>> plt.show()" - ... - -def expm1(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'expm1(x, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nexpm1(x)\n\nCompute ``exp(x) - 1``.\n\nWhen `x` is near zero, ``exp(x)`` is near 1, so the numerical calculation\nof ``exp(x) - 1`` can suffer from catastrophic loss of precision.\n``expm1(x)`` is implemented to avoid the loss of precision that occurs when\n`x` is near zero.\n\nParameters\n----------\nx : array_like\n `x` must contain real numbers.\n\nReturns\n-------\nfloat\n ``exp(x) - 1`` computed element-wise.\n\nExamples\n--------\n>>> from scipy.special import expm1\n\n>>> expm1(1.0)\n1.7182818284590451\n>>> expm1([-0.2, -0.1, 0, 0.1, 0.2])\narray([-0.18126925, -0.09516258, 0. , 0.10517092, 0.22140276])\n\nThe exact value of ``exp(7.5e-13) - 1`` is::\n\n 7.5000000000028125000000007031250000001318...*10**-13.\n\nHere is what ``expm1(7.5e-13)`` gives:\n\n>>> expm1(7.5e-13)\n7.5000000000028135e-13\n\nCompare that to ``exp(7.5e-13) - 1``, where the subtraction results in\na "catastrophic" loss of precision:\n\n>>> np.exp(7.5e-13) - 1\n7.5006667543675576e-13' - ... - -def expn(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "expn(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nexpn(n, x, out=None)\n\nGeneralized exponential integral En.\n\nFor integer :math:`n \\geq 0` and real :math:`x \\geq 0` the\ngeneralized exponential integral is defined as [dlmf]_\n\n.. math::\n\n E_n(x) = x^{n - 1} \\int_x^\\infty \\frac{e^{-t}}{t^n} dt.\n\nParameters\n----------\nn: array_like\n Non-negative integers\nx: array_like\n Real argument\nout: ndarray, optional\n Optional output array for the function results\n\nReturns\n-------\nscalar or ndarray\n Values of the generalized exponential integral\n\nSee Also\n--------\nexp1 : special case of :math:`E_n` for :math:`n = 1`\nexpi : related to :math:`E_n` when :math:`n = 1`\n\nReferences\n----------\n.. [dlmf] Digital Library of Mathematical Functions, 8.19.2\n https://dlmf.nist.gov/8.19#E2\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIts domain is nonnegative n and x.\n\n>>> sc.expn(-1, 1.0), sc.expn(1, -1.0)\n(nan, nan)\n\nIt has a pole at ``x = 0`` for ``n = 1, 2``; for larger ``n`` it\nis equal to ``1 / (n - 1)``.\n\n>>> sc.expn([0, 1, 2, 3, 4], 0)\narray([ inf, inf, 1. , 0.5 , 0.33333333])\n\nFor n equal to 0 it reduces to ``exp(-x) / x``.\n\n>>> x = np.array([1, 2, 3, 4])\n>>> sc.expn(0, x)\narray([0.36787944, 0.06766764, 0.01659569, 0.00457891])\n>>> np.exp(-x) / x\narray([0.36787944, 0.06766764, 0.01659569, 0.00457891])\n\nFor n equal to 1 it reduces to `exp1`.\n\n>>> sc.expn(1, x)\narray([0.21938393, 0.04890051, 0.01304838, 0.00377935])\n>>> sc.exp1(x)\narray([0.21938393, 0.04890051, 0.01304838, 0.00377935])" - ... - -def exprel(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "exprel(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nexprel(x)\n\nRelative error exponential, ``(exp(x) - 1)/x``.\n\nWhen `x` is near zero, ``exp(x)`` is near 1, so the numerical calculation\nof ``exp(x) - 1`` can suffer from catastrophic loss of precision.\n``exprel(x)`` is implemented to avoid the loss of precision that occurs when\n`x` is near zero.\n\nParameters\n----------\nx : ndarray\n Input array. `x` must contain real numbers.\n\nReturns\n-------\nfloat\n ``(exp(x) - 1)/x``, computed element-wise.\n\nSee Also\n--------\nexpm1\n\nNotes\n-----\n.. versionadded:: 0.17.0\n\nExamples\n--------\n>>> from scipy.special import exprel\n\n>>> exprel(0.01)\n1.0050167084168056\n>>> exprel([-0.25, -0.1, 0, 0.1, 0.25])\narray([ 0.88479687, 0.95162582, 1. , 1.05170918, 1.13610167])\n\nCompare ``exprel(5e-9)`` to the naive calculation. The exact value\nis ``1.00000000250000000416...``.\n\n>>> exprel(5e-9)\n1.0000000025\n\n>>> (np.exp(5e-9) - 1)/5e-9\n0.99999999392252903" - ... - -def fdtr(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "fdtr(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nfdtr(dfn, dfd, x)\n\nF cumulative distribution function.\n\nReturns the value of the cumulative distribution function of the\nF-distribution, also known as Snedecor's F-distribution or the\nFisher-Snedecor distribution.\n\nThe F-distribution with parameters :math:`d_n` and :math:`d_d` is the\ndistribution of the random variable,\n\n.. math::\n X = \\frac{U_n/d_n}{U_d/d_d},\n\nwhere :math:`U_n` and :math:`U_d` are random variables distributed\n:math:`\\chi^2`, with :math:`d_n` and :math:`d_d` degrees of freedom,\nrespectively.\n\nParameters\n----------\ndfn : array_like\n First parameter (positive float).\ndfd : array_like\n Second parameter (positive float).\nx : array_like\n Argument (nonnegative float).\n\nReturns\n-------\ny : ndarray\n The CDF of the F-distribution with parameters `dfn` and `dfd` at `x`.\n\nNotes\n-----\nThe regularized incomplete beta function is used, according to the\nformula,\n\n.. math::\n F(d_n, d_d; x) = I_{xd_n/(d_d + xd_n)}(d_n/2, d_d/2).\n\nWrapper for the Cephes [1]_ routine `fdtr`.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def fdtrc(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "fdtrc(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nfdtrc(dfn, dfd, x)\n\nF survival function.\n\nReturns the complemented F-distribution function (the integral of the\ndensity from `x` to infinity).\n\nParameters\n----------\ndfn : array_like\n First parameter (positive float).\ndfd : array_like\n Second parameter (positive float).\nx : array_like\n Argument (nonnegative float).\n\nReturns\n-------\ny : ndarray\n The complemented F-distribution function with parameters `dfn` and\n `dfd` at `x`.\n\nSee also\n--------\nfdtr\n\nNotes\n-----\nThe regularized incomplete beta function is used, according to the\nformula,\n\n.. math::\n F(d_n, d_d; x) = I_{d_d/(d_d + xd_n)}(d_d/2, d_n/2).\n\nWrapper for the Cephes [1]_ routine `fdtrc`.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def fdtri(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "fdtri(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nfdtri(dfn, dfd, p)\n\nThe `p`-th quantile of the F-distribution.\n\nThis function is the inverse of the F-distribution CDF, `fdtr`, returning\nthe `x` such that `fdtr(dfn, dfd, x) = p`.\n\nParameters\n----------\ndfn : array_like\n First parameter (positive float).\ndfd : array_like\n Second parameter (positive float).\np : array_like\n Cumulative probability, in [0, 1].\n\nReturns\n-------\nx : ndarray\n The quantile corresponding to `p`.\n\nNotes\n-----\nThe computation is carried out using the relation to the inverse\nregularized beta function, :math:`I^{-1}_x(a, b)`. Let\n:math:`z = I^{-1}_p(d_d/2, d_n/2).` Then,\n\n.. math::\n x = \\frac{d_d (1 - z)}{d_n z}.\n\nIf `p` is such that :math:`x < 0.5`, the following relation is used\ninstead for improved stability: let\n:math:`z' = I^{-1}_{1 - p}(d_n/2, d_d/2).` Then,\n\n.. math::\n x = \\frac{d_d z'}{d_n (1 - z')}.\n\nWrapper for the Cephes [1]_ routine `fdtri`.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def fdtridfd(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "fdtridfd(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nfdtridfd(dfn, p, x)\n\nInverse to `fdtr` vs dfd\n\nFinds the F density argument dfd such that ``fdtr(dfn, dfd, x) == p``." - ... - -def fresnel(x, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "fresnel(x[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nfresnel(z, out=None)\n\nFresnel integrals.\n\nThe Fresnel integrals are defined as\n\n.. math::\n\n S(z) &= \\int_0^z \\sin(\\pi t^2 /2) dt \\\\\n C(z) &= \\int_0^z \\cos(\\pi t^2 /2) dt.\n\nSee [dlmf]_ for details.\n\nParameters\n----------\nz : array_like\n Real or complex valued argument\nout : 2-tuple of ndarrays, optional\n Optional output arrays for the function results\n\nReturns\n-------\nS, C : 2-tuple of scalar or ndarray\n Values of the Fresnel integrals\n\nSee Also\n--------\nfresnel_zeros : zeros of the Fresnel integrals\n\nReferences\n----------\n.. [dlmf] NIST Digital Library of Mathematical Functions\n https://dlmf.nist.gov/7.2#iii\n\nExamples\n--------\n>>> import scipy.special as sc\n\nAs z goes to infinity along the real axis, S and C converge to 0.5.\n\n>>> S, C = sc.fresnel([0.1, 1, 10, 100, np.inf])\n>>> S\narray([0.00052359, 0.43825915, 0.46816998, 0.4968169 , 0.5 ])\n>>> C\narray([0.09999753, 0.7798934 , 0.49989869, 0.4999999 , 0.5 ])\n\nThey are related to the error function `erf`.\n\n>>> z = np.array([1, 2, 3, 4])\n>>> zeta = 0.5 * np.sqrt(np.pi) * (1 - 1j) * z\n>>> S, C = sc.fresnel(z)\n>>> C + 1j*S\narray([0.7798934 +0.43825915j, 0.48825341+0.34341568j,\n 0.60572079+0.496313j , 0.49842603+0.42051575j])\n>>> 0.5 * (1 + 1j) * sc.erf(zeta)\narray([0.7798934 +0.43825915j, 0.48825341+0.34341568j,\n 0.60572079+0.496313j , 0.49842603+0.42051575j])" - ... - -def gamma(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "gamma(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ngamma(z)\n\ngamma function.\n\nThe gamma function is defined as\n\n.. math::\n\n \\Gamma(z) = \\int_0^\\infty t^{z-1} e^{-t} dt\n\nfor :math:`\\Re(z) > 0` and is extended to the rest of the complex\nplane by analytic continuation. See [dlmf]_ for more details.\n\nParameters\n----------\nz : array_like\n Real or complex valued argument\n\nReturns\n-------\nscalar or ndarray\n Values of the gamma function\n\nNotes\n-----\nThe gamma function is often referred to as the generalized\nfactorial since :math:`\\Gamma(n + 1) = n!` for natural numbers\n:math:`n`. More generally it satisfies the recurrence relation\n:math:`\\Gamma(z + 1) = z \\cdot \\Gamma(z)` for complex :math:`z`,\nwhich, combined with the fact that :math:`\\Gamma(1) = 1`, implies\nthe above identity for :math:`z = n`.\n\nReferences\n----------\n.. [dlmf] NIST Digital Library of Mathematical Functions\n https://dlmf.nist.gov/5.2#E1\n\nExamples\n--------\n>>> from scipy.special import gamma, factorial\n\n>>> gamma([0, 0.5, 1, 5])\narray([ inf, 1.77245385, 1. , 24. ])\n\n>>> z = 2.5 + 1j\n>>> gamma(z)\n(0.77476210455108352+0.70763120437959293j)\n>>> gamma(z+1), z*gamma(z) # Recurrence property\n((1.2292740569981171+2.5438401155000685j),\n (1.2292740569981158+2.5438401155000658j))\n\n>>> gamma(0.5)**2 # gamma(0.5) = sqrt(pi)\n3.1415926535897927\n\nPlot gamma(x) for real x\n\n>>> x = np.linspace(-3.5, 5.5, 2251)\n>>> y = gamma(x)\n\n>>> import matplotlib.pyplot as plt\n>>> plt.plot(x, y, 'b', alpha=0.6, label='gamma(x)')\n>>> k = np.arange(1, 7)\n>>> plt.plot(k, factorial(k-1), 'k*', alpha=0.6,\n... label='(x-1)!, x = 1, 2, ...')\n>>> plt.xlim(-3.5, 5.5)\n>>> plt.ylim(-10, 25)\n>>> plt.grid()\n>>> plt.xlabel('x')\n>>> plt.legend(loc='lower right')\n>>> plt.show()" - ... - -def gammainc(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'gammainc(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\ngammainc(a, x)\n\nRegularized lower incomplete gamma function.\n\nIt is defined as\n\n.. math::\n\n P(a, x) = \\frac{1}{\\Gamma(a)} \\int_0^x t^{a - 1}e^{-t} dt\n\nfor :math:`a > 0` and :math:`x \\geq 0`. See [dlmf]_ for details.\n\nParameters\n----------\na : array_like\n Positive parameter\nx : array_like\n Nonnegative argument\n\nReturns\n-------\nscalar or ndarray\n Values of the lower incomplete gamma function\n\nNotes\n-----\nThe function satisfies the relation ``gammainc(a, x) +\ngammaincc(a, x) = 1`` where `gammaincc` is the regularized upper\nincomplete gamma function.\n\nThe implementation largely follows that of [boost]_.\n\nSee also\n--------\ngammaincc : regularized upper incomplete gamma function\ngammaincinv : inverse of the regularized lower incomplete gamma\n function with respect to `x`\ngammainccinv : inverse of the regularized upper incomplete gamma\n function with respect to `x`\n\nReferences\n----------\n.. [dlmf] NIST Digital Library of Mathematical functions\n https://dlmf.nist.gov/8.2#E4\n.. [boost] Maddock et. al., "Incomplete Gamma Functions",\n https://www.boost.org/doc/libs/1_61_0/libs/math/doc/html/math_toolkit/sf_gamma/igamma.html\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt is the CDF of the gamma distribution, so it starts at 0 and\nmonotonically increases to 1.\n\n>>> sc.gammainc(0.5, [0, 1, 10, 100])\narray([0. , 0.84270079, 0.99999226, 1. ])\n\nIt is equal to one minus the upper incomplete gamma function.\n\n>>> a, x = 0.5, 0.4\n>>> sc.gammainc(a, x)\n0.6289066304773024\n>>> 1 - sc.gammaincc(a, x)\n0.6289066304773024' - ... - -def gammaincc(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'gammaincc(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\ngammaincc(a, x)\n\nRegularized upper incomplete gamma function.\n\nIt is defined as\n\n.. math::\n\n Q(a, x) = \\frac{1}{\\Gamma(a)} \\int_x^\\infty t^{a - 1}e^{-t} dt\n\nfor :math:`a > 0` and :math:`x \\geq 0`. See [dlmf]_ for details.\n\nParameters\n----------\na : array_like\n Positive parameter\nx : array_like\n Nonnegative argument\n\nReturns\n-------\nscalar or ndarray\n Values of the upper incomplete gamma function\n\nNotes\n-----\nThe function satisfies the relation ``gammainc(a, x) +\ngammaincc(a, x) = 1`` where `gammainc` is the regularized lower\nincomplete gamma function.\n\nThe implementation largely follows that of [boost]_.\n\nSee also\n--------\ngammainc : regularized lower incomplete gamma function\ngammaincinv : inverse of the regularized lower incomplete gamma\n function with respect to `x`\ngammainccinv : inverse to of the regularized upper incomplete\n gamma function with respect to `x`\n\nReferences\n----------\n.. [dlmf] NIST Digital Library of Mathematical functions\n https://dlmf.nist.gov/8.2#E4\n.. [boost] Maddock et. al., "Incomplete Gamma Functions",\n https://www.boost.org/doc/libs/1_61_0/libs/math/doc/html/math_toolkit/sf_gamma/igamma.html\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt is the survival function of the gamma distribution, so it\nstarts at 1 and monotonically decreases to 0.\n\n>>> sc.gammaincc(0.5, [0, 1, 10, 100, 1000])\narray([1.00000000e+00, 1.57299207e-01, 7.74421643e-06, 2.08848758e-45,\n 0.00000000e+00])\n\nIt is equal to one minus the lower incomplete gamma function.\n\n>>> a, x = 0.5, 0.4\n>>> sc.gammaincc(a, x)\n0.37109336952269756\n>>> 1 - sc.gammainc(a, x)\n0.37109336952269756' - ... - -def gammainccinv(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "gammainccinv(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ngammainccinv(a, y)\n\nInverse of the upper incomplete gamma function with respect to `x`\n\nGiven an input :math:`y` between 0 and 1, returns :math:`x` such\nthat :math:`y = Q(a, x)`. Here :math:`Q` is the upper incomplete\ngamma function; see `gammaincc`. This is well-defined because the\nupper incomplete gamma function is monotonic as can be seen from\nits definition in [dlmf]_.\n\nParameters\n----------\na : array_like\n Positive parameter\ny : array_like\n Argument between 0 and 1, inclusive\n\nReturns\n-------\nscalar or ndarray\n Values of the inverse of the upper incomplete gamma function\n\nSee Also\n--------\ngammaincc : regularized upper incomplete gamma function\ngammainc : regularized lower incomplete gamma function\ngammaincinv : inverse of the regularized lower incomplete gamma\n function with respect to `x`\n\nReferences\n----------\n.. [dlmf] NIST Digital Library of Mathematical Functions\n https://dlmf.nist.gov/8.2#E4\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt starts at infinity and monotonically decreases to 0.\n\n>>> sc.gammainccinv(0.5, [0, 0.1, 0.5, 1])\narray([ inf, 1.35277173, 0.22746821, 0. ])\n\nIt inverts the upper incomplete gamma function.\n\n>>> a, x = 0.5, [0, 0.1, 0.5, 1]\n>>> sc.gammaincc(a, sc.gammainccinv(a, x))\narray([0. , 0.1, 0.5, 1. ])\n\n>>> a, x = 0.5, [0, 10, 50]\n>>> sc.gammainccinv(a, sc.gammaincc(a, x))\narray([ 0., 10., 50.])" - ... - -def gammaincinv(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "gammaincinv(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ngammaincinv(a, y)\n\nInverse to the lower incomplete gamma function with respect to `x`.\n\nGiven an input :math:`y` between 0 and 1, returns :math:`x` such\nthat :math:`y = P(a, x)`. Here :math:`P` is the regularized lower\nincomplete gamma function; see `gammainc`. This is well-defined\nbecause the lower incomplete gamma function is monotonic as can be\nseen from its definition in [dlmf]_.\n\nParameters\n----------\na : array_like\n Positive parameter\ny : array_like\n Parameter between 0 and 1, inclusive\n\nReturns\n-------\nscalar or ndarray\n Values of the inverse of the lower incomplete gamma function\n\nSee Also\n--------\ngammainc : regularized lower incomplete gamma function\ngammaincc : regularized upper incomplete gamma function\ngammainccinv : inverse of the regualizred upper incomplete gamma\n function with respect to `x`\n\nReferences\n----------\n.. [dlmf] NIST Digital Library of Mathematical Functions\n https://dlmf.nist.gov/8.2#E4\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt starts at 0 and monotonically increases to infinity.\n\n>>> sc.gammaincinv(0.5, [0, 0.1 ,0.5, 1])\narray([0. , 0.00789539, 0.22746821, inf])\n\nIt inverts the lower incomplete gamma function.\n\n>>> a, x = 0.5, [0, 0.1, 0.5, 1]\n>>> sc.gammainc(a, sc.gammaincinv(a, x))\narray([0. , 0.1, 0.5, 1. ])\n\n>>> a, x = 0.5, [0, 10, 25]\n>>> sc.gammaincinv(a, sc.gammainc(a, x))\narray([ 0. , 10. , 25.00001465])" - ... - -def gammaln(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "gammaln(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ngammaln(x, out=None)\n\nLogarithm of the absolute value of the gamma function.\n\nDefined as\n\n.. math::\n\n \\ln(\\lvert\\Gamma(x)\\rvert)\n\nwhere :math:`\\Gamma` is the gamma function. For more details on\nthe gamma function, see [dlmf]_.\n\nParameters\n----------\nx : array_like\n Real argument\nout : ndarray, optional\n Optional output array for the function results\n\nReturns\n-------\nscalar or ndarray\n Values of the log of the absolute value of gamma\n\nSee Also\n--------\ngammasgn : sign of the gamma function\nloggamma : principal branch of the logarithm of the gamma function\n\nNotes\n-----\nIt is the same function as the Python standard library function\n:func:`math.lgamma`.\n\nWhen used in conjunction with `gammasgn`, this function is useful\nfor working in logspace on the real axis without having to deal\nwith complex numbers via the relation ``exp(gammaln(x)) =\ngammasgn(x) * gamma(x)``.\n\nFor complex-valued log-gamma, use `loggamma` instead of `gammaln`.\n\nReferences\n----------\n.. [dlmf] NIST Digital Library of Mathematical Functions\n https://dlmf.nist.gov/5\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt has two positive zeros.\n\n>>> sc.gammaln([1, 2])\narray([0., 0.])\n\nIt has poles at nonpositive integers.\n\n>>> sc.gammaln([0, -1, -2, -3, -4])\narray([inf, inf, inf, inf, inf])\n\nIt asymptotically approaches ``x * log(x)`` (Stirling's formula).\n\n>>> x = np.array([1e10, 1e20, 1e40, 1e80])\n>>> sc.gammaln(x)\narray([2.20258509e+11, 4.50517019e+21, 9.11034037e+41, 1.83206807e+82])\n>>> x * np.log(x)\narray([2.30258509e+11, 4.60517019e+21, 9.21034037e+41, 1.84206807e+82])" - ... - -def gammasgn(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "gammasgn(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ngammasgn(x)\n\nSign of the gamma function.\n\nIt is defined as\n\n.. math::\n\n \\text{gammasgn}(x) =\n \\begin{cases}\n +1 & \\Gamma(x) > 0 \\\\\n -1 & \\Gamma(x) < 0\n \\end{cases}\n\nwhere :math:`\\Gamma` is the gamma function; see `gamma`. This\ndefinition is complete since the gamma function is never zero;\nsee the discussion after [dlmf]_.\n\nParameters\n----------\nx : array_like\n Real argument\n\nReturns\n-------\nscalar or ndarray\n Sign of the gamma function\n\nNotes\n-----\nThe gamma function can be computed as ``gammasgn(x) *\nnp.exp(gammaln(x))``.\n\nSee Also\n--------\ngamma : the gamma function\ngammaln : log of the absolute value of the gamma function\nloggamma : analytic continuation of the log of the gamma function\n\nReferences\n----------\n.. [dlmf] NIST Digital Library of Mathematical Functions\n https://dlmf.nist.gov/5.2#E1\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt is 1 for `x > 0`.\n\n>>> sc.gammasgn([1, 2, 3, 4])\narray([1., 1., 1., 1.])\n\nIt alternates between -1 and 1 for negative integers.\n\n>>> sc.gammasgn([-0.5, -1.5, -2.5, -3.5])\narray([-1., 1., -1., 1.])\n\nIt can be used to compute the gamma function.\n\n>>> x = [1.5, 0.5, -0.5, -1.5]\n>>> sc.gammasgn(x) * np.exp(sc.gammaln(x))\narray([ 0.88622693, 1.77245385, -3.5449077 , 2.3632718 ])\n>>> sc.gamma(x)\narray([ 0.88622693, 1.77245385, -3.5449077 , 2.3632718 ])" - ... - -def gdtr(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "gdtr(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ngdtr(a, b, x)\n\nGamma distribution cumulative distribution function.\n\nReturns the integral from zero to `x` of the gamma probability density\nfunction,\n\n.. math::\n\n F = \\int_0^x \\frac{a^b}{\\Gamma(b)} t^{b-1} e^{-at}\\,dt,\n\nwhere :math:`\\Gamma` is the gamma function.\n\nParameters\n----------\na : array_like\n The rate parameter of the gamma distribution, sometimes denoted\n :math:`\\beta` (float). It is also the reciprocal of the scale\n parameter :math:`\\theta`.\nb : array_like\n The shape parameter of the gamma distribution, sometimes denoted\n :math:`\\alpha` (float).\nx : array_like\n The quantile (upper limit of integration; float).\n\nSee also\n--------\ngdtrc : 1 - CDF of the gamma distribution.\n\nReturns\n-------\nF : ndarray\n The CDF of the gamma distribution with parameters `a` and `b`\n evaluated at `x`.\n\nNotes\n-----\nThe evaluation is carried out using the relation to the incomplete gamma\nintegral (regularized gamma function).\n\nWrapper for the Cephes [1]_ routine `gdtr`.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def gdtrc(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "gdtrc(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ngdtrc(a, b, x)\n\nGamma distribution survival function.\n\nIntegral from `x` to infinity of the gamma probability density function,\n\n.. math::\n\n F = \\int_x^\\infty \\frac{a^b}{\\Gamma(b)} t^{b-1} e^{-at}\\,dt,\n\nwhere :math:`\\Gamma` is the gamma function.\n\nParameters\n----------\na : array_like\n The rate parameter of the gamma distribution, sometimes denoted\n :math:`\\beta` (float). It is also the reciprocal of the scale\n parameter :math:`\\theta`.\nb : array_like\n The shape parameter of the gamma distribution, sometimes denoted\n :math:`\\alpha` (float).\nx : array_like\n The quantile (lower limit of integration; float).\n\nReturns\n-------\nF : ndarray\n The survival function of the gamma distribution with parameters `a`\n and `b` evaluated at `x`.\n\nSee Also\n--------\ngdtr, gdtrix\n\nNotes\n-----\nThe evaluation is carried out using the relation to the incomplete gamma\nintegral (regularized gamma function).\n\nWrapper for the Cephes [1]_ routine `gdtrc`.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def gdtria(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'gdtria(x1, x2, x3, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\ngdtria(p, b, x, out=None)\n\nInverse of `gdtr` vs a.\n\nReturns the inverse with respect to the parameter `a` of ``p =\ngdtr(a, b, x)``, the cumulative distribution function of the gamma\ndistribution.\n\nParameters\n----------\np : array_like\n Probability values.\nb : array_like\n `b` parameter values of `gdtr(a, b, x)`. `b` is the "shape" parameter\n of the gamma distribution.\nx : array_like\n Nonnegative real values, from the domain of the gamma distribution.\nout : ndarray, optional\n If a fourth argument is given, it must be a numpy.ndarray whose size\n matches the broadcast result of `a`, `b` and `x`. `out` is then the\n array returned by the function.\n\nReturns\n-------\na : ndarray\n Values of the `a` parameter such that `p = gdtr(a, b, x)`. `1/a`\n is the "scale" parameter of the gamma distribution.\n\nSee Also\n--------\ngdtr : CDF of the gamma distribution.\ngdtrib : Inverse with respect to `b` of `gdtr(a, b, x)`.\ngdtrix : Inverse with respect to `x` of `gdtr(a, b, x)`.\n\nNotes\n-----\nWrapper for the CDFLIB [1]_ Fortran routine `cdfgam`.\n\nThe cumulative distribution function `p` is computed using a routine by\nDiDinato and Morris [2]_. Computation of `a` involves a search for a value\nthat produces the desired value of `p`. The search relies on the\nmonotonicity of `p` with `a`.\n\nReferences\n----------\n.. [1] Barry Brown, James Lovato, and Kathy Russell,\n CDFLIB: Library of Fortran Routines for Cumulative Distribution\n Functions, Inverses, and Other Parameters.\n.. [2] DiDinato, A. R. and Morris, A. H.,\n Computation of the incomplete gamma function ratios and their\n inverse. ACM Trans. Math. Softw. 12 (1986), 377-393.\n\nExamples\n--------\nFirst evaluate `gdtr`.\n\n>>> from scipy.special import gdtr, gdtria\n>>> p = gdtr(1.2, 3.4, 5.6)\n>>> print(p)\n0.94378087442\n\nVerify the inverse.\n\n>>> gdtria(p, 3.4, 5.6)\n1.2' - ... - -def gdtrib(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'gdtrib(x1, x2, x3, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\ngdtrib(a, p, x, out=None)\n\nInverse of `gdtr` vs b.\n\nReturns the inverse with respect to the parameter `b` of ``p =\ngdtr(a, b, x)``, the cumulative distribution function of the gamma\ndistribution.\n\nParameters\n----------\na : array_like\n `a` parameter values of `gdtr(a, b, x)`. `1/a` is the "scale"\n parameter of the gamma distribution.\np : array_like\n Probability values.\nx : array_like\n Nonnegative real values, from the domain of the gamma distribution.\nout : ndarray, optional\n If a fourth argument is given, it must be a numpy.ndarray whose size\n matches the broadcast result of `a`, `b` and `x`. `out` is then the\n array returned by the function.\n\nReturns\n-------\nb : ndarray\n Values of the `b` parameter such that `p = gdtr(a, b, x)`. `b` is\n the "shape" parameter of the gamma distribution.\n\nSee Also\n--------\ngdtr : CDF of the gamma distribution.\ngdtria : Inverse with respect to `a` of `gdtr(a, b, x)`.\ngdtrix : Inverse with respect to `x` of `gdtr(a, b, x)`.\n\nNotes\n-----\nWrapper for the CDFLIB [1]_ Fortran routine `cdfgam`.\n\nThe cumulative distribution function `p` is computed using a routine by\nDiDinato and Morris [2]_. Computation of `b` involves a search for a value\nthat produces the desired value of `p`. The search relies on the\nmonotonicity of `p` with `b`.\n\nReferences\n----------\n.. [1] Barry Brown, James Lovato, and Kathy Russell,\n CDFLIB: Library of Fortran Routines for Cumulative Distribution\n Functions, Inverses, and Other Parameters.\n.. [2] DiDinato, A. R. and Morris, A. H.,\n Computation of the incomplete gamma function ratios and their\n inverse. ACM Trans. Math. Softw. 12 (1986), 377-393.\n\nExamples\n--------\nFirst evaluate `gdtr`.\n\n>>> from scipy.special import gdtr, gdtrib\n>>> p = gdtr(1.2, 3.4, 5.6)\n>>> print(p)\n0.94378087442\n\nVerify the inverse.\n\n>>> gdtrib(1.2, p, 5.6)\n3.3999999999723882' - ... - -def gdtrix(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'gdtrix(x1, x2, x3, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\ngdtrix(a, b, p, out=None)\n\nInverse of `gdtr` vs x.\n\nReturns the inverse with respect to the parameter `x` of ``p =\ngdtr(a, b, x)``, the cumulative distribution function of the gamma\ndistribution. This is also known as the pth quantile of the\ndistribution.\n\nParameters\n----------\na : array_like\n `a` parameter values of `gdtr(a, b, x)`. `1/a` is the "scale"\n parameter of the gamma distribution.\nb : array_like\n `b` parameter values of `gdtr(a, b, x)`. `b` is the "shape" parameter\n of the gamma distribution.\np : array_like\n Probability values.\nout : ndarray, optional\n If a fourth argument is given, it must be a numpy.ndarray whose size\n matches the broadcast result of `a`, `b` and `x`. `out` is then the\n array returned by the function.\n\nReturns\n-------\nx : ndarray\n Values of the `x` parameter such that `p = gdtr(a, b, x)`.\n\nSee Also\n--------\ngdtr : CDF of the gamma distribution.\ngdtria : Inverse with respect to `a` of `gdtr(a, b, x)`.\ngdtrib : Inverse with respect to `b` of `gdtr(a, b, x)`.\n\nNotes\n-----\nWrapper for the CDFLIB [1]_ Fortran routine `cdfgam`.\n\nThe cumulative distribution function `p` is computed using a routine by\nDiDinato and Morris [2]_. Computation of `x` involves a search for a value\nthat produces the desired value of `p`. The search relies on the\nmonotonicity of `p` with `x`.\n\nReferences\n----------\n.. [1] Barry Brown, James Lovato, and Kathy Russell,\n CDFLIB: Library of Fortran Routines for Cumulative Distribution\n Functions, Inverses, and Other Parameters.\n.. [2] DiDinato, A. R. and Morris, A. H.,\n Computation of the incomplete gamma function ratios and their\n inverse. ACM Trans. Math. Softw. 12 (1986), 377-393.\n\nExamples\n--------\nFirst evaluate `gdtr`.\n\n>>> from scipy.special import gdtr, gdtrix\n>>> p = gdtr(1.2, 3.4, 5.6)\n>>> print(p)\n0.94378087442\n\nVerify the inverse.\n\n>>> gdtrix(1.2, 3.4, p)\n5.5999999999999996' - ... - -def geterr() -> typing.Any: - 'Get the current way of handling special-function errors.\n\n Returns\n -------\n err : dict\n A dictionary with keys "singular", "underflow", "overflow",\n "slow", "loss", "no_result", "domain", "arg", and "other",\n whose values are from the strings "ignore", "warn", and\n "raise". The keys represent possible special-function errors,\n and the values define how these errors are handled.\n\n See Also\n --------\n seterr : set how special-function errors are handled\n errstate : context manager for special-function error handling\n numpy.geterr : similar numpy function for floating-point errors\n\n Notes\n -----\n For complete documentation of the types of special-function errors\n and treatment options, see `seterr`.\n\n Examples\n --------\n By default all errors are ignored.\n\n >>> import scipy.special as sc\n >>> for key, value in sorted(sc.geterr().items()):\n ... print("{}: {}".format(key, value))\n ...\n arg: ignore\n domain: ignore\n loss: ignore\n no_result: ignore\n other: ignore\n overflow: ignore\n singular: ignore\n slow: ignore\n underflow: ignore\n\n ' - ... - -def hankel1(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'hankel1(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nhankel1(v, z)\n\nHankel function of the first kind\n\nParameters\n----------\nv : array_like\n Order (float).\nz : array_like\n Argument (float or complex).\n\nReturns\n-------\nout : Values of the Hankel function of the first kind.\n\nNotes\n-----\nA wrapper for the AMOS [1]_ routine `zbesh`, which carries out the\ncomputation using the relation,\n\n.. math:: H^{(1)}_v(z) = \\frac{2}{\\imath\\pi} \\exp(-\\imath \\pi v/2) K_v(z \\exp(-\\imath\\pi/2))\n\nwhere :math:`K_v` is the modified Bessel function of the second kind.\nFor negative orders, the relation\n\n.. math:: H^{(1)}_{-v}(z) = H^{(1)}_v(z) \\exp(\\imath\\pi v)\n\nis used.\n\nSee also\n--------\nhankel1e : this function with leading exponential behavior stripped off.\n\nReferences\n----------\n.. [1] Donald E. Amos, "AMOS, A Portable Package for Bessel Functions\n of a Complex Argument and Nonnegative Order",\n http://netlib.org/amos/' - ... - -def hankel1e(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'hankel1e(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nhankel1e(v, z)\n\nExponentially scaled Hankel function of the first kind\n\nDefined as::\n\n hankel1e(v, z) = hankel1(v, z) * exp(-1j * z)\n\nParameters\n----------\nv : array_like\n Order (float).\nz : array_like\n Argument (float or complex).\n\nReturns\n-------\nout : Values of the exponentially scaled Hankel function.\n\nNotes\n-----\nA wrapper for the AMOS [1]_ routine `zbesh`, which carries out the\ncomputation using the relation,\n\n.. math:: H^{(1)}_v(z) = \\frac{2}{\\imath\\pi} \\exp(-\\imath \\pi v/2) K_v(z \\exp(-\\imath\\pi/2))\n\nwhere :math:`K_v` is the modified Bessel function of the second kind.\nFor negative orders, the relation\n\n.. math:: H^{(1)}_{-v}(z) = H^{(1)}_v(z) \\exp(\\imath\\pi v)\n\nis used.\n\nReferences\n----------\n.. [1] Donald E. Amos, "AMOS, A Portable Package for Bessel Functions\n of a Complex Argument and Nonnegative Order",\n http://netlib.org/amos/' - ... - -def hankel2(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'hankel2(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nhankel2(v, z)\n\nHankel function of the second kind\n\nParameters\n----------\nv : array_like\n Order (float).\nz : array_like\n Argument (float or complex).\n\nReturns\n-------\nout : Values of the Hankel function of the second kind.\n\nNotes\n-----\nA wrapper for the AMOS [1]_ routine `zbesh`, which carries out the\ncomputation using the relation,\n\n.. math:: H^{(2)}_v(z) = -\\frac{2}{\\imath\\pi} \\exp(\\imath \\pi v/2) K_v(z \\exp(\\imath\\pi/2))\n\nwhere :math:`K_v` is the modified Bessel function of the second kind.\nFor negative orders, the relation\n\n.. math:: H^{(2)}_{-v}(z) = H^{(2)}_v(z) \\exp(-\\imath\\pi v)\n\nis used.\n\nSee also\n--------\nhankel2e : this function with leading exponential behavior stripped off.\n\nReferences\n----------\n.. [1] Donald E. Amos, "AMOS, A Portable Package for Bessel Functions\n of a Complex Argument and Nonnegative Order",\n http://netlib.org/amos/' - ... - -def hankel2e(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'hankel2e(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nhankel2e(v, z)\n\nExponentially scaled Hankel function of the second kind\n\nDefined as::\n\n hankel2e(v, z) = hankel2(v, z) * exp(1j * z)\n\nParameters\n----------\nv : array_like\n Order (float).\nz : array_like\n Argument (float or complex).\n\nReturns\n-------\nout : Values of the exponentially scaled Hankel function of the second kind.\n\nNotes\n-----\nA wrapper for the AMOS [1]_ routine `zbesh`, which carries out the\ncomputation using the relation,\n\n.. math:: H^{(2)}_v(z) = -\\frac{2}{\\imath\\pi} \\exp(\\frac{\\imath \\pi v}{2}) K_v(z exp(\\frac{\\imath\\pi}{2}))\n\nwhere :math:`K_v` is the modified Bessel function of the second kind.\nFor negative orders, the relation\n\n.. math:: H^{(2)}_{-v}(z) = H^{(2)}_v(z) \\exp(-\\imath\\pi v)\n\nis used.\n\nReferences\n----------\n.. [1] Donald E. Amos, "AMOS, A Portable Package for Bessel Functions\n of a Complex Argument and Nonnegative Order",\n http://netlib.org/amos/' - ... - -def huber(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "huber(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nhuber(delta, r)\n\nHuber loss function.\n\n.. math:: \\text{huber}(\\delta, r) = \\begin{cases} \\infty & \\delta < 0 \\\\ \\frac{1}{2}r^2 & 0 \\le \\delta, | r | \\le \\delta \\\\ \\delta ( |r| - \\frac{1}{2}\\delta ) & \\text{otherwise} \\end{cases}\n\nParameters\n----------\ndelta : ndarray\n Input array, indicating the quadratic vs. linear loss changepoint.\nr : ndarray\n Input array, possibly representing residuals.\n\nReturns\n-------\nres : ndarray\n The computed Huber loss function values.\n\nNotes\n-----\nThis function is convex in r.\n\n.. versionadded:: 0.15.0" - ... - -def hyp0f1(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'hyp0f1(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nhyp0f1(v, z, out=None)\n\nConfluent hypergeometric limit function 0F1.\n\nParameters\n----------\nv : array_like\n Real-valued parameter\nz : array_like\n Real- or complex-valued argument\nout : ndarray, optional\n Optional output array for the function results\n\nReturns\n-------\nscalar or ndarray\n The confluent hypergeometric limit function\n\nNotes\n-----\nThis function is defined as:\n\n.. math:: _0F_1(v, z) = \\sum_{k=0}^{\\infty}\\frac{z^k}{(v)_k k!}.\n\nIt\'s also the limit as :math:`q \\to \\infty` of :math:`_1F_1(q; v; z/q)`,\nand satisfies the differential equation :math:`f\'\'(z) + vf\'(z) =\nf(z)`. See [1]_ for more information.\n\nReferences\n----------\n.. [1] Wolfram MathWorld, "Confluent Hypergeometric Limit Function",\n http://mathworld.wolfram.com/ConfluentHypergeometricLimitFunction.html\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt is one when `z` is zero.\n\n>>> sc.hyp0f1(1, 0)\n1.0\n\nIt is the limit of the confluent hypergeometric function as `q`\ngoes to infinity.\n\n>>> q = np.array([1, 10, 100, 1000])\n>>> v = 1\n>>> z = 1\n>>> sc.hyp1f1(q, v, z / q)\narray([2.71828183, 2.31481985, 2.28303778, 2.27992985])\n>>> sc.hyp0f1(v, z)\n2.2795853023360673\n\nIt is related to Bessel functions.\n\n>>> n = 1\n>>> x = np.linspace(0, 1, 5)\n>>> sc.jv(n, x)\narray([0. , 0.12402598, 0.24226846, 0.3492436 , 0.44005059])\n>>> (0.5 * x)**n / sc.factorial(n) * sc.hyp0f1(n + 1, -0.25 * x**2)\narray([0. , 0.12402598, 0.24226846, 0.3492436 , 0.44005059])' - ... - -def hyp1f1(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "hyp1f1(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nhyp1f1(a, b, x, out=None)\n\nConfluent hypergeometric function 1F1.\n\nThe confluent hypergeometric function is defined by the series\n\n.. math::\n\n {}_1F_1(a; b; x) = \\sum_{k = 0}^\\infty \\frac{(a)_k}{(b)_k k!} x^k.\n\nSee [dlmf]_ for more details. Here :math:`(\\cdot)_k` is the\nPochhammer symbol; see `poch`.\n\nParameters\n----------\na, b : array_like\n Real parameters\nx : array_like\n Real or complex argument\nout : ndarray, optional\n Optional output array for the function results\n\nReturns\n-------\nscalar or ndarray\n Values of the confluent hypergeometric function\n\nSee also\n--------\nhyperu : another confluent hypergeometric function\nhyp0f1 : confluent hypergeometric limit function\nhyp2f1 : Gaussian hypergeometric function\n\nReferences\n----------\n.. [dlmf] NIST Digital Library of Mathematical Functions\n https://dlmf.nist.gov/13.2#E2\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt is one when `x` is zero:\n\n>>> sc.hyp1f1(0.5, 0.5, 0)\n1.0\n\nIt is singular when `b` is a nonpositive integer.\n\n>>> sc.hyp1f1(0.5, -1, 0)\ninf\n\nIt is a polynomial when `a` is a nonpositive integer.\n\n>>> a, b, x = -1, 0.5, np.array([1.0, 2.0, 3.0, 4.0])\n>>> sc.hyp1f1(a, b, x)\narray([-1., -3., -5., -7.])\n>>> 1 + (a / b) * x\narray([-1., -3., -5., -7.])\n\nIt reduces to the exponential function when `a = b`.\n\n>>> sc.hyp1f1(2, 2, [1, 2, 3, 4])\narray([ 2.71828183, 7.3890561 , 20.08553692, 54.59815003])\n>>> np.exp([1, 2, 3, 4])\narray([ 2.71828183, 7.3890561 , 20.08553692, 54.59815003])" - ... - -def hyp2f1(x1, x2, x3, x4, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'hyp2f1(x1, x2, x3, x4, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nhyp2f1(a, b, c, z)\n\nGauss hypergeometric function 2F1(a, b; c; z)\n\nParameters\n----------\na, b, c : array_like\n Arguments, should be real-valued.\nz : array_like\n Argument, real or complex.\n\nReturns\n-------\nhyp2f1 : scalar or ndarray\n The values of the gaussian hypergeometric function.\n\nSee also\n--------\nhyp0f1 : confluent hypergeometric limit function.\nhyp1f1 : Kummer\'s (confluent hypergeometric) function.\n\nNotes\n-----\nThis function is defined for :math:`|z| < 1` as\n\n.. math::\n\n \\mathrm{hyp2f1}(a, b, c, z) = \\sum_{n=0}^\\infty\n \\frac{(a)_n (b)_n}{(c)_n}\\frac{z^n}{n!},\n\nand defined on the rest of the complex z-plane by analytic\ncontinuation [1]_.\nHere :math:`(\\cdot)_n` is the Pochhammer symbol; see `poch`. When\n:math:`n` is an integer the result is a polynomial of degree :math:`n`.\n\nThe implementation for complex values of ``z`` is described in [2]_.\n\nReferences\n----------\n.. [1] NIST Digital Library of Mathematical Functions\n https://dlmf.nist.gov/15.2\n.. [2] S. Zhang and J.M. Jin, "Computation of Special Functions", Wiley 1996\n.. [3] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt has poles when `c` is a negative integer.\n\n>>> sc.hyp2f1(1, 1, -2, 1)\ninf\n\nIt is a polynomial when `a` or `b` is a negative integer.\n\n>>> a, b, c = -1, 1, 1.5\n>>> z = np.linspace(0, 1, 5)\n>>> sc.hyp2f1(a, b, c, z)\narray([1. , 0.83333333, 0.66666667, 0.5 , 0.33333333])\n>>> 1 + a * b * z / c\narray([1. , 0.83333333, 0.66666667, 0.5 , 0.33333333])\n\nIt is symmetric in `a` and `b`.\n\n>>> a = np.linspace(0, 1, 5)\n>>> b = np.linspace(0, 1, 5)\n>>> sc.hyp2f1(a, b, 1, 0.5)\narray([1. , 1.03997334, 1.1803406 , 1.47074441, 2. ])\n>>> sc.hyp2f1(b, a, 1, 0.5)\narray([1. , 1.03997334, 1.1803406 , 1.47074441, 2. ])\n\nIt contains many other functions as special cases.\n\n>>> z = 0.5\n>>> sc.hyp2f1(1, 1, 2, z)\n1.3862943611198901\n>>> -np.log(1 - z) / z\n1.3862943611198906\n\n>>> sc.hyp2f1(0.5, 1, 1.5, z**2)\n1.098612288668109\n>>> np.log((1 + z) / (1 - z)) / (2 * z)\n1.0986122886681098\n\n>>> sc.hyp2f1(0.5, 1, 1.5, -z**2)\n0.9272952180016117\n>>> np.arctan(z) / z\n0.9272952180016123' - ... - -def hyperu(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "hyperu(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nhyperu(a, b, x, out=None)\n\nConfluent hypergeometric function U\n\nIt is defined as the solution to the equation\n\n.. math::\n\n x \\frac{d^2w}{dx^2} + (b - x) \\frac{dw}{dx} - aw = 0\n\nwhich satisfies the property\n\n.. math::\n\n U(a, b, x) \\sim x^{-a}\n\nas :math:`x \\to \\infty`. See [dlmf]_ for more details.\n\nParameters\n----------\na, b : array_like\n Real-valued parameters\nx : array_like\n Real-valued argument\nout : ndarray\n Optional output array for the function values\n\nReturns\n-------\nscalar or ndarray\n Values of `U`\n\nReferences\n----------\n.. [dlmf] NIST Digital Library of Mathematics Functions\n https://dlmf.nist.gov/13.2#E6\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt has a branch cut along the negative `x` axis.\n\n>>> x = np.linspace(-0.1, -10, 5)\n>>> sc.hyperu(1, 1, x)\narray([nan, nan, nan, nan, nan])\n\nIt approaches zero as `x` goes to infinity.\n\n>>> x = np.array([1, 10, 100])\n>>> sc.hyperu(1, 1, x)\narray([0.59634736, 0.09156333, 0.00990194])\n\nIt satisfies Kummer's transformation.\n\n>>> a, b, x = 2, 1, 1\n>>> sc.hyperu(a, b, x)\n0.1926947246463881\n>>> x**(1 - b) * sc.hyperu(a - b + 1, 2 - b, x)\n0.1926947246463881" - ... - -def i0(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "i0(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ni0(x)\n\nModified Bessel function of order 0.\n\nDefined as,\n\n.. math::\n I_0(x) = \\sum_{k=0}^\\infty \\frac{(x^2/4)^k}{(k!)^2} = J_0(\\imath x),\n\nwhere :math:`J_0` is the Bessel function of the first kind of order 0.\n\nParameters\n----------\nx : array_like\n Argument (float)\n\nReturns\n-------\nI : ndarray\n Value of the modified Bessel function of order 0 at `x`.\n\nNotes\n-----\nThe range is partitioned into the two intervals [0, 8] and (8, infinity).\nChebyshev polynomial expansions are employed in each interval.\n\nThis function is a wrapper for the Cephes [1]_ routine `i0`.\n\nSee also\n--------\niv\ni0e\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def i0e(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "i0e(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ni0e(x)\n\nExponentially scaled modified Bessel function of order 0.\n\nDefined as::\n\n i0e(x) = exp(-abs(x)) * i0(x).\n\nParameters\n----------\nx : array_like\n Argument (float)\n\nReturns\n-------\nI : ndarray\n Value of the exponentially scaled modified Bessel function of order 0\n at `x`.\n\nNotes\n-----\nThe range is partitioned into the two intervals [0, 8] and (8, infinity).\nChebyshev polynomial expansions are employed in each interval. The\npolynomial expansions used are the same as those in `i0`, but\nthey are not multiplied by the dominant exponential factor.\n\nThis function is a wrapper for the Cephes [1]_ routine `i0e`.\n\nSee also\n--------\niv\ni0\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def i1(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "i1(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ni1(x)\n\nModified Bessel function of order 1.\n\nDefined as,\n\n.. math::\n I_1(x) = \\frac{1}{2}x \\sum_{k=0}^\\infty \\frac{(x^2/4)^k}{k! (k + 1)!}\n = -\\imath J_1(\\imath x),\n\nwhere :math:`J_1` is the Bessel function of the first kind of order 1.\n\nParameters\n----------\nx : array_like\n Argument (float)\n\nReturns\n-------\nI : ndarray\n Value of the modified Bessel function of order 1 at `x`.\n\nNotes\n-----\nThe range is partitioned into the two intervals [0, 8] and (8, infinity).\nChebyshev polynomial expansions are employed in each interval.\n\nThis function is a wrapper for the Cephes [1]_ routine `i1`.\n\nSee also\n--------\niv\ni1e\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def i1e(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "i1e(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ni1e(x)\n\nExponentially scaled modified Bessel function of order 1.\n\nDefined as::\n\n i1e(x) = exp(-abs(x)) * i1(x)\n\nParameters\n----------\nx : array_like\n Argument (float)\n\nReturns\n-------\nI : ndarray\n Value of the exponentially scaled modified Bessel function of order 1\n at `x`.\n\nNotes\n-----\nThe range is partitioned into the two intervals [0, 8] and (8, infinity).\nChebyshev polynomial expansions are employed in each interval. The\npolynomial expansions used are the same as those in `i1`, but\nthey are not multiplied by the dominant exponential factor.\n\nThis function is a wrapper for the Cephes [1]_ routine `i1e`.\n\nSee also\n--------\niv\ni1\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def inv_boxcox(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "inv_boxcox(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ninv_boxcox(y, lmbda)\n\nCompute the inverse of the Box-Cox transformation.\n\nFind ``x`` such that::\n\n y = (x**lmbda - 1) / lmbda if lmbda != 0\n log(x) if lmbda == 0\n\nParameters\n----------\ny : array_like\n Data to be transformed.\nlmbda : array_like\n Power parameter of the Box-Cox transform.\n\nReturns\n-------\nx : array\n Transformed data.\n\nNotes\n-----\n\n.. versionadded:: 0.16.0\n\nExamples\n--------\n>>> from scipy.special import boxcox, inv_boxcox\n>>> y = boxcox([1, 4, 10], 2.5)\n>>> inv_boxcox(y, 2.5)\narray([1., 4., 10.])" - ... - -def inv_boxcox1p(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "inv_boxcox1p(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ninv_boxcox1p(y, lmbda)\n\nCompute the inverse of the Box-Cox transformation.\n\nFind ``x`` such that::\n\n y = ((1+x)**lmbda - 1) / lmbda if lmbda != 0\n log(1+x) if lmbda == 0\n\nParameters\n----------\ny : array_like\n Data to be transformed.\nlmbda : array_like\n Power parameter of the Box-Cox transform.\n\nReturns\n-------\nx : array\n Transformed data.\n\nNotes\n-----\n\n.. versionadded:: 0.16.0\n\nExamples\n--------\n>>> from scipy.special import boxcox1p, inv_boxcox1p\n>>> y = boxcox1p([1, 4, 10], 2.5)\n>>> inv_boxcox1p(y, 2.5)\narray([1., 4., 10.])" - ... - -def it2i0k0(x, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "it2i0k0(x[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nit2i0k0(x, out=None)\n\nIntegrals related to modified Bessel functions of order 0.\n\nComputes the integrals\n\n.. math::\n\n \\int_0^x \\frac{I_0(t) - 1}{t} dt \\\\\n \\int_x^\\infty \\frac{K_0(t)}{t} dt.\n\nParameters\n----------\nx : array_like\n Values at which to evaluate the integrals.\nout : tuple of ndarrays, optional\n Optional output arrays for the function results.\n\nReturns\n-------\nii0 : scalar or ndarray\n The integral for `i0`\nik0 : scalar or ndarray\n The integral for `k0`" - ... - -def it2j0y0(x, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "it2j0y0(x[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nit2j0y0(x, out=None)\n\nIntegrals related to Bessel functions of the first kind of order 0.\n\nComputes the integrals\n\n.. math::\n\n \\int_0^x \\frac{1 - J_0(t)}{t} dt \\\\\n \\int_x^\\infty \\frac{Y_0(t)}{t} dt.\n\nFor more on :math:`J_0` and :math:`Y_0` see `j0` and `y0`.\n\nParameters\n----------\nx : array_like\n Values at which to evaluate the integrals.\nout : tuple of ndarrays, optional\n Optional output arrays for the function results.\n\nReturns\n-------\nij0 : scalar or ndarray\n The integral for `j0`\niy0 : scalar or ndarray\n The integral for `y0`" - ... - -def it2struve0(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'it2struve0(x, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nit2struve0(x)\n\nIntegral related to the Struve function of order 0.\n\nReturns the integral,\n\n.. math::\n \\int_x^\\infty \\frac{H_0(t)}{t}\\,dt\n\nwhere :math:`H_0` is the Struve function of order 0.\n\nParameters\n----------\nx : array_like\n Lower limit of integration.\n\nReturns\n-------\nI : ndarray\n The value of the integral.\n\nSee also\n--------\nstruve\n\nNotes\n-----\nWrapper for a Fortran routine created by Shanjie Zhang and Jianming\nJin [1]_.\n\nReferences\n----------\n.. [1] Zhang, Shanjie and Jin, Jianming. "Computation of Special\n Functions", John Wiley and Sons, 1996.\n https://people.sc.fsu.edu/~jburkardt/f_src/special_functions/special_functions.html' - ... - -def itairy(x, out1=..., out2=..., out3=..., out4=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'itairy(x[, out1, out2, out3, out4], / [, out=(None, None, None, None)], *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nitairy(x)\n\nIntegrals of Airy functions\n\nCalculates the integrals of Airy functions from 0 to `x`.\n\nParameters\n----------\n\nx: array_like\n Upper limit of integration (float).\n\nReturns\n-------\nApt\n Integral of Ai(t) from 0 to x.\nBpt\n Integral of Bi(t) from 0 to x.\nAnt\n Integral of Ai(-t) from 0 to x.\nBnt\n Integral of Bi(-t) from 0 to x.\n\nNotes\n-----\n\nWrapper for a Fortran routine created by Shanjie Zhang and Jianming\nJin [1]_.\n\nReferences\n----------\n\n.. [1] Zhang, Shanjie and Jin, Jianming. "Computation of Special\n Functions", John Wiley and Sons, 1996.\n https://people.sc.fsu.edu/~jburkardt/f_src/special_functions/special_functions.html' - ... - -def iti0k0(x, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "iti0k0(x[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\niti0k0(x, out=None)\n\nIntegrals of modified Bessel functions of order 0.\n\nComputes the integrals\n\n.. math::\n\n \\int_0^x I_0(t) dt \\\\\n \\int_0^x K_0(t) dt.\n\nFor more on :math:`I_0` and :math:`K_0` see `i0` and `k0`.\n\nParameters\n----------\nx : array_like\n Values at which to evaluate the integrals.\nout : tuple of ndarrays, optional\n Optional output arrays for the function results.\n\nReturns\n-------\nii0 : scalar or ndarray\n The integral for `i0`\nik0 : scalar or ndarray\n The integral for `k0`" - ... - -def itj0y0(x, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "itj0y0(x[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nitj0y0(x, out=None)\n\nIntegrals of Bessel functions of the first kind of order 0.\n\nComputes the integrals\n\n.. math::\n\n \\int_0^x J_0(t) dt \\\\\n \\int_0^x Y_0(t) dt.\n\nFor more on :math:`J_0` and :math:`Y_0` see `j0` and `y0`.\n\nParameters\n----------\nx : array_like\n Values at which to evaluate the integrals.\nout : tuple of ndarrays, optional\n Optional output arrays for the function results.\n\nReturns\n-------\nij0 : scalar or ndarray\n The integral of `j0`\niy0 : scalar or ndarray\n The integral of `y0`" - ... - -def itmodstruve0(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'itmodstruve0(x, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nitmodstruve0(x)\n\nIntegral of the modified Struve function of order 0.\n\n.. math::\n I = \\int_0^x L_0(t)\\,dt\n\nParameters\n----------\nx : array_like\n Upper limit of integration (float).\n\nReturns\n-------\nI : ndarray\n The integral of :math:`L_0` from 0 to `x`.\n\nNotes\n-----\nWrapper for a Fortran routine created by Shanjie Zhang and Jianming\nJin [1]_.\n\nReferences\n----------\n.. [1] Zhang, Shanjie and Jin, Jianming. "Computation of Special\n Functions", John Wiley and Sons, 1996.\n https://people.sc.fsu.edu/~jburkardt/f_src/special_functions/special_functions.html' - ... - -def itstruve0(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'itstruve0(x, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nitstruve0(x)\n\nIntegral of the Struve function of order 0.\n\n.. math::\n I = \\int_0^x H_0(t)\\,dt\n\nParameters\n----------\nx : array_like\n Upper limit of integration (float).\n\nReturns\n-------\nI : ndarray\n The integral of :math:`H_0` from 0 to `x`.\n\nSee also\n--------\nstruve\n\nNotes\n-----\nWrapper for a Fortran routine created by Shanjie Zhang and Jianming\nJin [1]_.\n\nReferences\n----------\n.. [1] Zhang, Shanjie and Jin, Jianming. "Computation of Special\n Functions", John Wiley and Sons, 1996.\n https://people.sc.fsu.edu/~jburkardt/f_src/special_functions/special_functions.html' - ... - -def iv(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'iv(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\niv(v, z)\n\nModified Bessel function of the first kind of real order.\n\nParameters\n----------\nv : array_like\n Order. If `z` is of real type and negative, `v` must be integer\n valued.\nz : array_like of float or complex\n Argument.\n\nReturns\n-------\nout : ndarray\n Values of the modified Bessel function.\n\nNotes\n-----\nFor real `z` and :math:`v \\in [-50, 50]`, the evaluation is carried out\nusing Temme\'s method [1]_. For larger orders, uniform asymptotic\nexpansions are applied.\n\nFor complex `z` and positive `v`, the AMOS [2]_ `zbesi` routine is\ncalled. It uses a power series for small `z`, the asymptotic expansion\nfor large `abs(z)`, the Miller algorithm normalized by the Wronskian\nand a Neumann series for intermediate magnitudes, and the uniform\nasymptotic expansions for :math:`I_v(z)` and :math:`J_v(z)` for large\norders. Backward recurrence is used to generate sequences or reduce\norders when necessary.\n\nThe calculations above are done in the right half plane and continued\ninto the left half plane by the formula,\n\n.. math:: I_v(z \\exp(\\pm\\imath\\pi)) = \\exp(\\pm\\pi v) I_v(z)\n\n(valid when the real part of `z` is positive). For negative `v`, the\nformula\n\n.. math:: I_{-v}(z) = I_v(z) + \\frac{2}{\\pi} \\sin(\\pi v) K_v(z)\n\nis used, where :math:`K_v(z)` is the modified Bessel function of the\nsecond kind, evaluated using the AMOS routine `zbesk`.\n\nSee also\n--------\nkve : This function with leading exponential behavior stripped off.\n\nReferences\n----------\n.. [1] Temme, Journal of Computational Physics, vol 21, 343 (1976)\n.. [2] Donald E. Amos, "AMOS, A Portable Package for Bessel Functions\n of a Complex Argument and Nonnegative Order",\n http://netlib.org/amos/' - ... - -def ive(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'ive(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nive(v, z)\n\nExponentially scaled modified Bessel function of the first kind\n\nDefined as::\n\n ive(v, z) = iv(v, z) * exp(-abs(z.real))\n\nParameters\n----------\nv : array_like of float\n Order.\nz : array_like of float or complex\n Argument.\n\nReturns\n-------\nout : ndarray\n Values of the exponentially scaled modified Bessel function.\n\nNotes\n-----\nFor positive `v`, the AMOS [1]_ `zbesi` routine is called. It uses a\npower series for small `z`, the asymptotic expansion for large\n`abs(z)`, the Miller algorithm normalized by the Wronskian and a\nNeumann series for intermediate magnitudes, and the uniform asymptotic\nexpansions for :math:`I_v(z)` and :math:`J_v(z)` for large orders.\nBackward recurrence is used to generate sequences or reduce orders when\nnecessary.\n\nThe calculations above are done in the right half plane and continued\ninto the left half plane by the formula,\n\n.. math:: I_v(z \\exp(\\pm\\imath\\pi)) = \\exp(\\pm\\pi v) I_v(z)\n\n(valid when the real part of `z` is positive). For negative `v`, the\nformula\n\n.. math:: I_{-v}(z) = I_v(z) + \\frac{2}{\\pi} \\sin(\\pi v) K_v(z)\n\nis used, where :math:`K_v(z)` is the modified Bessel function of the\nsecond kind, evaluated using the AMOS routine `zbesk`.\n\nReferences\n----------\n.. [1] Donald E. Amos, "AMOS, A Portable Package for Bessel Functions\n of a Complex Argument and Nonnegative Order",\n http://netlib.org/amos/' - ... - -def j0(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "j0(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nj0(x)\n\nBessel function of the first kind of order 0.\n\nParameters\n----------\nx : array_like\n Argument (float).\n\nReturns\n-------\nJ : ndarray\n Value of the Bessel function of the first kind of order 0 at `x`.\n\nNotes\n-----\nThe domain is divided into the intervals [0, 5] and (5, infinity). In the\nfirst interval the following rational approximation is used:\n\n.. math::\n\n J_0(x) \\approx (w - r_1^2)(w - r_2^2) \\frac{P_3(w)}{Q_8(w)},\n\nwhere :math:`w = x^2` and :math:`r_1`, :math:`r_2` are the zeros of\n:math:`J_0`, and :math:`P_3` and :math:`Q_8` are polynomials of degrees 3\nand 8, respectively.\n\nIn the second interval, the Hankel asymptotic expansion is employed with\ntwo rational functions of degree 6/6 and 7/7.\n\nThis function is a wrapper for the Cephes [1]_ routine `j0`.\nIt should not be confused with the spherical Bessel functions (see\n`spherical_jn`).\n\nSee also\n--------\njv : Bessel function of real order and complex argument.\nspherical_jn : spherical Bessel functions.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def j1(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "j1(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nj1(x)\n\nBessel function of the first kind of order 1.\n\nParameters\n----------\nx : array_like\n Argument (float).\n\nReturns\n-------\nJ : ndarray\n Value of the Bessel function of the first kind of order 1 at `x`.\n\nNotes\n-----\nThe domain is divided into the intervals [0, 8] and (8, infinity). In the\nfirst interval a 24 term Chebyshev expansion is used. In the second, the\nasymptotic trigonometric representation is employed using two rational\nfunctions of degree 5/5.\n\nThis function is a wrapper for the Cephes [1]_ routine `j1`.\nIt should not be confused with the spherical Bessel functions (see\n`spherical_jn`).\n\nSee also\n--------\njv\nspherical_jn : spherical Bessel functions.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def jn(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'jv(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\njv(v, z)\n\nBessel function of the first kind of real order and complex argument.\n\nParameters\n----------\nv : array_like\n Order (float).\nz : array_like\n Argument (float or complex).\n\nReturns\n-------\nJ : ndarray\n Value of the Bessel function, :math:`J_v(z)`.\n\nNotes\n-----\nFor positive `v` values, the computation is carried out using the AMOS\n[1]_ `zbesj` routine, which exploits the connection to the modified\nBessel function :math:`I_v`,\n\n.. math::\n J_v(z) = \\exp(v\\pi\\imath/2) I_v(-\\imath z)\\qquad (\\Im z > 0)\n\n J_v(z) = \\exp(-v\\pi\\imath/2) I_v(\\imath z)\\qquad (\\Im z < 0)\n\nFor negative `v` values the formula,\n\n.. math:: J_{-v}(z) = J_v(z) \\cos(\\pi v) - Y_v(z) \\sin(\\pi v)\n\nis used, where :math:`Y_v(z)` is the Bessel function of the second\nkind, computed using the AMOS routine `zbesy`. Note that the second\nterm is exactly zero for integer `v`; to improve accuracy the second\nterm is explicitly omitted for `v` values such that `v = floor(v)`.\n\nNot to be confused with the spherical Bessel functions (see `spherical_jn`).\n\nSee also\n--------\njve : :math:`J_v` with leading exponential behavior stripped off.\nspherical_jn : spherical Bessel functions.\n\nReferences\n----------\n.. [1] Donald E. Amos, "AMOS, A Portable Package for Bessel Functions\n of a Complex Argument and Nonnegative Order",\n http://netlib.org/amos/' - ... - -def jv(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'jv(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\njv(v, z)\n\nBessel function of the first kind of real order and complex argument.\n\nParameters\n----------\nv : array_like\n Order (float).\nz : array_like\n Argument (float or complex).\n\nReturns\n-------\nJ : ndarray\n Value of the Bessel function, :math:`J_v(z)`.\n\nNotes\n-----\nFor positive `v` values, the computation is carried out using the AMOS\n[1]_ `zbesj` routine, which exploits the connection to the modified\nBessel function :math:`I_v`,\n\n.. math::\n J_v(z) = \\exp(v\\pi\\imath/2) I_v(-\\imath z)\\qquad (\\Im z > 0)\n\n J_v(z) = \\exp(-v\\pi\\imath/2) I_v(\\imath z)\\qquad (\\Im z < 0)\n\nFor negative `v` values the formula,\n\n.. math:: J_{-v}(z) = J_v(z) \\cos(\\pi v) - Y_v(z) \\sin(\\pi v)\n\nis used, where :math:`Y_v(z)` is the Bessel function of the second\nkind, computed using the AMOS routine `zbesy`. Note that the second\nterm is exactly zero for integer `v`; to improve accuracy the second\nterm is explicitly omitted for `v` values such that `v = floor(v)`.\n\nNot to be confused with the spherical Bessel functions (see `spherical_jn`).\n\nSee also\n--------\njve : :math:`J_v` with leading exponential behavior stripped off.\nspherical_jn : spherical Bessel functions.\n\nReferences\n----------\n.. [1] Donald E. Amos, "AMOS, A Portable Package for Bessel Functions\n of a Complex Argument and Nonnegative Order",\n http://netlib.org/amos/' - ... - -def jve(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'jve(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\njve(v, z)\n\nExponentially scaled Bessel function of order `v`.\n\nDefined as::\n\n jve(v, z) = jv(v, z) * exp(-abs(z.imag))\n\nParameters\n----------\nv : array_like\n Order (float).\nz : array_like\n Argument (float or complex).\n\nReturns\n-------\nJ : ndarray\n Value of the exponentially scaled Bessel function.\n\nNotes\n-----\nFor positive `v` values, the computation is carried out using the AMOS\n[1]_ `zbesj` routine, which exploits the connection to the modified\nBessel function :math:`I_v`,\n\n.. math::\n J_v(z) = \\exp(v\\pi\\imath/2) I_v(-\\imath z)\\qquad (\\Im z > 0)\n\n J_v(z) = \\exp(-v\\pi\\imath/2) I_v(\\imath z)\\qquad (\\Im z < 0)\n\nFor negative `v` values the formula,\n\n.. math:: J_{-v}(z) = J_v(z) \\cos(\\pi v) - Y_v(z) \\sin(\\pi v)\n\nis used, where :math:`Y_v(z)` is the Bessel function of the second\nkind, computed using the AMOS routine `zbesy`. Note that the second\nterm is exactly zero for integer `v`; to improve accuracy the second\nterm is explicitly omitted for `v` values such that `v = floor(v)`.\n\nReferences\n----------\n.. [1] Donald E. Amos, "AMOS, A Portable Package for Bessel Functions\n of a Complex Argument and Nonnegative Order",\n http://netlib.org/amos/' - ... - -def k0(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "k0(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nk0(x)\n\nModified Bessel function of the second kind of order 0, :math:`K_0`.\n\nThis function is also sometimes referred to as the modified Bessel\nfunction of the third kind of order 0.\n\nParameters\n----------\nx : array_like\n Argument (float).\n\nReturns\n-------\nK : ndarray\n Value of the modified Bessel function :math:`K_0` at `x`.\n\nNotes\n-----\nThe range is partitioned into the two intervals [0, 2] and (2, infinity).\nChebyshev polynomial expansions are employed in each interval.\n\nThis function is a wrapper for the Cephes [1]_ routine `k0`.\n\nSee also\n--------\nkv\nk0e\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def k0e(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "k0e(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nk0e(x)\n\nExponentially scaled modified Bessel function K of order 0\n\nDefined as::\n\n k0e(x) = exp(x) * k0(x).\n\nParameters\n----------\nx : array_like\n Argument (float)\n\nReturns\n-------\nK : ndarray\n Value of the exponentially scaled modified Bessel function K of order\n 0 at `x`.\n\nNotes\n-----\nThe range is partitioned into the two intervals [0, 2] and (2, infinity).\nChebyshev polynomial expansions are employed in each interval.\n\nThis function is a wrapper for the Cephes [1]_ routine `k0e`.\n\nSee also\n--------\nkv\nk0\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def k1(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "k1(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nk1(x)\n\nModified Bessel function of the second kind of order 1, :math:`K_1(x)`.\n\nParameters\n----------\nx : array_like\n Argument (float)\n\nReturns\n-------\nK : ndarray\n Value of the modified Bessel function K of order 1 at `x`.\n\nNotes\n-----\nThe range is partitioned into the two intervals [0, 2] and (2, infinity).\nChebyshev polynomial expansions are employed in each interval.\n\nThis function is a wrapper for the Cephes [1]_ routine `k1`.\n\nSee also\n--------\nkv\nk1e\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def k1e(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "k1e(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nk1e(x)\n\nExponentially scaled modified Bessel function K of order 1\n\nDefined as::\n\n k1e(x) = exp(x) * k1(x)\n\nParameters\n----------\nx : array_like\n Argument (float)\n\nReturns\n-------\nK : ndarray\n Value of the exponentially scaled modified Bessel function K of order\n 1 at `x`.\n\nNotes\n-----\nThe range is partitioned into the two intervals [0, 2] and (2, infinity).\nChebyshev polynomial expansions are employed in each interval.\n\nThis function is a wrapper for the Cephes [1]_ routine `k1e`.\n\nSee also\n--------\nkv\nk1\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def kei(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "kei(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nkei(x, out=None)\n\nKelvin function kei.\n\nDefined as\n\n.. math::\n\n \\mathrm{kei}(x) = \\Im[K_0(x e^{\\pi i / 4})]\n\nwhere :math:`K_0` is the modified Bessel function of the second\nkind (see `kv`). See [dlmf]_ for more details.\n\nParameters\n----------\nx : array_like\n Real argument.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n Values of the Kelvin function.\n\nSee Also\n--------\nker : the corresponding real part\nkeip : the derivative of kei\nkv : modified Bessel function of the second kind\n\nReferences\n----------\n.. [dlmf] NIST, Digital Library of Mathematical Functions,\n https://dlmf.nist.gov/10.61\n\nExamples\n--------\nIt can be expressed using the modified Bessel function of the\nsecond kind.\n\n>>> import scipy.special as sc\n>>> x = np.array([1.0, 2.0, 3.0, 4.0])\n>>> sc.kv(0, x * np.exp(np.pi * 1j / 4)).imag\narray([-0.49499464, -0.20240007, -0.05112188, 0.0021984 ])\n>>> sc.kei(x)\narray([-0.49499464, -0.20240007, -0.05112188, 0.0021984 ])" - ... - -def keip(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "keip(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nkeip(x, out=None)\n\nDerivative of the Kelvin function kei.\n\nParameters\n----------\nx : array_like\n Real argument.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n The values of the derivative of kei.\n\nSee Also\n--------\nkei\n\nReferences\n----------\n.. [dlmf] NIST, Digital Library of Mathematical Functions,\n https://dlmf.nist.gov/10#PT5" - ... - -def kelvin(x, out1=..., out2=..., out3=..., out4=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "kelvin(x[, out1, out2, out3, out4], / [, out=(None, None, None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nkelvin(x)\n\nKelvin functions as complex numbers\n\nReturns\n-------\nBe, Ke, Bep, Kep\n The tuple (Be, Ke, Bep, Kep) contains complex numbers\n representing the real and imaginary Kelvin functions and their\n derivatives evaluated at `x`. For example, kelvin(x)[0].real =\n ber x and kelvin(x)[0].imag = bei x with similar relationships\n for ker and kei." - ... - -def ker(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "ker(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nker(x, out=None)\n\nKelvin function ker.\n\nDefined as\n\n.. math::\n\n \\mathrm{ker}(x) = \\Re[K_0(x e^{\\pi i / 4})]\n\nWhere :math:`K_0` is the modified Bessel function of the second\nkind (see `kv`). See [dlmf]_ for more details.\n\nParameters\n----------\nx : array_like\n Real argument.\nout : ndarray, optional\n Optional output array for the function results.\n\nSee Also\n--------\nkei : the corresponding imaginary part\nkerp : the derivative of ker\nkv : modified Bessel function of the second kind\n\nReturns\n-------\nscalar or ndarray\n Values of the Kelvin function.\n\nReferences\n----------\n.. [dlmf] NIST, Digital Library of Mathematical Functions,\n https://dlmf.nist.gov/10.61\n\nExamples\n--------\nIt can be expressed using the modified Bessel function of the\nsecond kind.\n\n>>> import scipy.special as sc\n>>> x = np.array([1.0, 2.0, 3.0, 4.0])\n>>> sc.kv(0, x * np.exp(np.pi * 1j / 4)).real\narray([ 0.28670621, -0.04166451, -0.06702923, -0.03617885])\n>>> sc.ker(x)\narray([ 0.28670621, -0.04166451, -0.06702923, -0.03617885])" - ... - -def kerp(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "kerp(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nkerp(x, out=None)\n\nDerivative of the Kelvin function ker.\n\nParameters\n----------\nx : array_like\n Real argument.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n Values of the derivative of ker.\n\nSee Also\n--------\nker\n\nReferences\n----------\n.. [dlmf] NIST, Digital Library of Mathematical Functions,\n https://dlmf.nist.gov/10#PT5" - ... - -def kl_div(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'kl_div(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nkl_div(x, y, out=None)\n\nElementwise function for computing Kullback-Leibler divergence.\n\n.. math::\n\n \\mathrm{kl\\_div}(x, y) =\n \\begin{cases}\n x \\log(x / y) - x + y & x > 0, y > 0 \\\\\n y & x = 0, y \\ge 0 \\\\\n \\infty & \\text{otherwise}\n \\end{cases}\n\nParameters\n----------\nx, y : array_like\n Real arguments\nout : ndarray, optional\n Optional output array for the function results\n\nReturns\n-------\nscalar or ndarray\n Values of the Kullback-Liebler divergence.\n\nSee Also\n--------\nentr, rel_entr\n\nNotes\n-----\n.. versionadded:: 0.15.0\n\nThis function is non-negative and is jointly convex in `x` and `y`.\n\nThe origin of this function is in convex programming; see [1]_ for\ndetails. This is why the the function contains the extra :math:`-x\n+ y` terms over what might be expected from the Kullback-Leibler\ndivergence. For a version of the function without the extra terms,\nsee `rel_entr`.\n\nReferences\n----------\n.. [1] Grant, Boyd, and Ye, "CVX: Matlab Software for Disciplined Convex\n Programming", http://cvxr.com/cvx/' - ... - -def kn(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'kn(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nkn(n, x)\n\nModified Bessel function of the second kind of integer order `n`\n\nReturns the modified Bessel function of the second kind for integer order\n`n` at real `z`.\n\nThese are also sometimes called functions of the third kind, Basset\nfunctions, or Macdonald functions.\n\nParameters\n----------\nn : array_like of int\n Order of Bessel functions (floats will truncate with a warning)\nz : array_like of float\n Argument at which to evaluate the Bessel functions\n\nReturns\n-------\nout : ndarray\n The results\n\nNotes\n-----\nWrapper for AMOS [1]_ routine `zbesk`. For a discussion of the\nalgorithm used, see [2]_ and the references therein.\n\nSee Also\n--------\nkv : Same function, but accepts real order and complex argument\nkvp : Derivative of this function\n\nReferences\n----------\n.. [1] Donald E. Amos, "AMOS, A Portable Package for Bessel Functions\n of a Complex Argument and Nonnegative Order",\n http://netlib.org/amos/\n.. [2] Donald E. Amos, "Algorithm 644: A portable package for Bessel\n functions of a complex argument and nonnegative order", ACM\n TOMS Vol. 12 Issue 3, Sept. 1986, p. 265\n\nExamples\n--------\nPlot the function of several orders for real input:\n\n>>> from scipy.special import kn\n>>> import matplotlib.pyplot as plt\n>>> x = np.linspace(0, 5, 1000)\n>>> for N in range(6):\n... plt.plot(x, kn(N, x), label=\'$K_{}(x)$\'.format(N))\n>>> plt.ylim(0, 10)\n>>> plt.legend()\n>>> plt.title(r\'Modified Bessel function of the second kind $K_n(x)$\')\n>>> plt.show()\n\nCalculate for a single value at multiple orders:\n\n>>> kn([4, 5, 6], 1)\narray([ 44.23241585, 360.9605896 , 3653.83831186])' - ... - -def kolmogi(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "kolmogi(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nkolmogi(p)\n\nInverse Survival Function of Kolmogorov distribution\n\nIt is the inverse function to `kolmogorov`.\nReturns y such that ``kolmogorov(y) == p``.\n\nParameters\n----------\np : float array_like\n Probability\n\nReturns\n-------\nfloat\n The value(s) of kolmogi(p)\n\nNotes\n-----\n`kolmogorov` is used by `stats.kstest` in the application of the\nKolmogorov-Smirnov Goodness of Fit test. For historial reasons this\nfunction is exposed in `scpy.special`, but the recommended way to achieve\nthe most accurate CDF/SF/PDF/PPF/ISF computations is to use the\n`stats.kstwobign` distribution.\n\nSee Also\n--------\nkolmogorov : The Survival Function for the distribution\nscipy.stats.kstwobign : Provides the functionality as a continuous distribution\nsmirnov, smirnovi : Functions for the one-sided distribution\n\nExamples\n--------\n>>> from scipy.special import kolmogi\n>>> kolmogi([0, 0.1, 0.25, 0.5, 0.75, 0.9, 1.0])\narray([ inf, 1.22384787, 1.01918472, 0.82757356, 0.67644769,\n 0.57117327, 0. ])" - ... - -def kolmogorov(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "kolmogorov(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nkolmogorov(y)\n\nComplementary cumulative distribution (Survival Function) function of\nKolmogorov distribution.\n\nReturns the complementary cumulative distribution function of\nKolmogorov's limiting distribution (``D_n*\\sqrt(n)`` as n goes to infinity)\nof a two-sided test for equality between an empirical and a theoretical\ndistribution. It is equal to the (limit as n->infinity of the)\nprobability that ``sqrt(n) * max absolute deviation > y``.\n\nParameters\n----------\ny : float array_like\n Absolute deviation between the Empirical CDF (ECDF) and the target CDF,\n multiplied by sqrt(n).\n\nReturns\n-------\nfloat\n The value(s) of kolmogorov(y)\n\nNotes\n-----\n`kolmogorov` is used by `stats.kstest` in the application of the\nKolmogorov-Smirnov Goodness of Fit test. For historial reasons this\nfunction is exposed in `scpy.special`, but the recommended way to achieve\nthe most accurate CDF/SF/PDF/PPF/ISF computations is to use the\n`stats.kstwobign` distribution.\n\nSee Also\n--------\nkolmogi : The Inverse Survival Function for the distribution\nscipy.stats.kstwobign : Provides the functionality as a continuous distribution\nsmirnov, smirnovi : Functions for the one-sided distribution\n\nExamples\n--------\nShow the probability of a gap at least as big as 0, 0.5 and 1.0.\n\n>>> from scipy.special import kolmogorov\n>>> from scipy.stats import kstwobign\n>>> kolmogorov([0, 0.5, 1.0])\narray([ 1. , 0.96394524, 0.26999967])\n\nCompare a sample of size 1000 drawn from a Laplace(0, 1) distribution against\nthe target distribution, a Normal(0, 1) distribution.\n\n>>> from scipy.stats import norm, laplace\n>>> n = 1000\n>>> np.random.seed(seed=233423)\n>>> lap01 = laplace(0, 1)\n>>> x = np.sort(lap01.rvs(n))\n>>> np.mean(x), np.std(x)\n(-0.083073685397609842, 1.3676426568399822)\n\nConstruct the Empirical CDF and the K-S statistic Dn.\n\n>>> target = norm(0,1) # Normal mean 0, stddev 1\n>>> cdfs = target.cdf(x)\n>>> ecdfs = np.arange(n+1, dtype=float)/n\n>>> gaps = np.column_stack([cdfs - ecdfs[:n], ecdfs[1:] - cdfs])\n>>> Dn = np.max(gaps)\n>>> Kn = np.sqrt(n) * Dn\n>>> print('Dn=%f, sqrt(n)*Dn=%f' % (Dn, Kn))\nDn=0.058286, sqrt(n)*Dn=1.843153\n>>> print(chr(10).join(['For a sample of size n drawn from a N(0, 1) distribution:',\n... ' the approximate Kolmogorov probability that sqrt(n)*Dn>=%f is %f' % (Kn, kolmogorov(Kn)),\n... ' the approximate Kolmogorov probability that sqrt(n)*Dn<=%f is %f' % (Kn, kstwobign.cdf(Kn))]))\nFor a sample of size n drawn from a N(0, 1) distribution:\n the approximate Kolmogorov probability that sqrt(n)*Dn>=1.843153 is 0.002240\n the approximate Kolmogorov probability that sqrt(n)*Dn<=1.843153 is 0.997760\n\nPlot the Empirical CDF against the target N(0, 1) CDF.\n\n>>> import matplotlib.pyplot as plt\n>>> plt.step(np.concatenate([[-3], x]), ecdfs, where='post', label='Empirical CDF')\n>>> x3 = np.linspace(-3, 3, 100)\n>>> plt.plot(x3, target.cdf(x3), label='CDF for N(0, 1)')\n>>> plt.ylim([0, 1]); plt.grid(True); plt.legend();\n>>> # Add vertical lines marking Dn+ and Dn-\n>>> iminus, iplus = np.argmax(gaps, axis=0)\n>>> plt.vlines([x[iminus]], ecdfs[iminus], cdfs[iminus], color='r', linestyle='dashed', lw=4)\n>>> plt.vlines([x[iplus]], cdfs[iplus], ecdfs[iplus+1], color='r', linestyle='dashed', lw=4)\n>>> plt.show()" - ... - -def kv(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'kv(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nkv(v, z)\n\nModified Bessel function of the second kind of real order `v`\n\nReturns the modified Bessel function of the second kind for real order\n`v` at complex `z`.\n\nThese are also sometimes called functions of the third kind, Basset\nfunctions, or Macdonald functions. They are defined as those solutions\nof the modified Bessel equation for which,\n\n.. math::\n K_v(x) \\sim \\sqrt{\\pi/(2x)} \\exp(-x)\n\nas :math:`x \\to \\infty` [3]_.\n\nParameters\n----------\nv : array_like of float\n Order of Bessel functions\nz : array_like of complex\n Argument at which to evaluate the Bessel functions\n\nReturns\n-------\nout : ndarray\n The results. Note that input must be of complex type to get complex\n output, e.g. ``kv(3, -2+0j)`` instead of ``kv(3, -2)``.\n\nNotes\n-----\nWrapper for AMOS [1]_ routine `zbesk`. For a discussion of the\nalgorithm used, see [2]_ and the references therein.\n\nSee Also\n--------\nkve : This function with leading exponential behavior stripped off.\nkvp : Derivative of this function\n\nReferences\n----------\n.. [1] Donald E. Amos, "AMOS, A Portable Package for Bessel Functions\n of a Complex Argument and Nonnegative Order",\n http://netlib.org/amos/\n.. [2] Donald E. Amos, "Algorithm 644: A portable package for Bessel\n functions of a complex argument and nonnegative order", ACM\n TOMS Vol. 12 Issue 3, Sept. 1986, p. 265\n.. [3] NIST Digital Library of Mathematical Functions,\n Eq. 10.25.E3. https://dlmf.nist.gov/10.25.E3\n\nExamples\n--------\nPlot the function of several orders for real input:\n\n>>> from scipy.special import kv\n>>> import matplotlib.pyplot as plt\n>>> x = np.linspace(0, 5, 1000)\n>>> for N in np.linspace(0, 6, 5):\n... plt.plot(x, kv(N, x), label=\'$K_{{{}}}(x)$\'.format(N))\n>>> plt.ylim(0, 10)\n>>> plt.legend()\n>>> plt.title(r\'Modified Bessel function of the second kind $K_\\nu(x)$\')\n>>> plt.show()\n\nCalculate for a single value at multiple orders:\n\n>>> kv([4, 4.5, 5], 1+2j)\narray([ 0.1992+2.3892j, 2.3493+3.6j , 7.2827+3.8104j])' - ... - -def kve(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'kve(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nkve(v, z)\n\nExponentially scaled modified Bessel function of the second kind.\n\nReturns the exponentially scaled, modified Bessel function of the\nsecond kind (sometimes called the third kind) for real order `v` at\ncomplex `z`::\n\n kve(v, z) = kv(v, z) * exp(z)\n\nParameters\n----------\nv : array_like of float\n Order of Bessel functions\nz : array_like of complex\n Argument at which to evaluate the Bessel functions\n\nReturns\n-------\nout : ndarray\n The exponentially scaled modified Bessel function of the second kind.\n\nNotes\n-----\nWrapper for AMOS [1]_ routine `zbesk`. For a discussion of the\nalgorithm used, see [2]_ and the references therein.\n\nReferences\n----------\n.. [1] Donald E. Amos, "AMOS, A Portable Package for Bessel Functions\n of a Complex Argument and Nonnegative Order",\n http://netlib.org/amos/\n.. [2] Donald E. Amos, "Algorithm 644: A portable package for Bessel\n functions of a complex argument and nonnegative order", ACM\n TOMS Vol. 12 Issue 3, Sept. 1986, p. 265' - ... - -def log1p(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "log1p(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nlog1p(x, out=None)\n\nCalculates log(1 + x) for use when `x` is near zero.\n\nParameters\n----------\nx : array_like\n Real or complex valued input.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n Values of ``log(1 + x)``.\n\nSee Also\n--------\nexpm1, cosm1\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt is more accurate than using ``log(1 + x)`` directly for ``x``\nnear 0. Note that in the below example ``1 + 1e-17 == 1`` to\ndouble precision.\n\n>>> sc.log1p(1e-17)\n1e-17\n>>> np.log(1 + 1e-17)\n0.0" - ... - -def log_ndtr(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "log_ndtr(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nlog_ndtr(x)\n\nLogarithm of Gaussian cumulative distribution function.\n\nReturns the log of the area under the standard Gaussian probability\ndensity function, integrated from minus infinity to `x`::\n\n log(1/sqrt(2*pi) * integral(exp(-t**2 / 2), t=-inf..x))\n\nParameters\n----------\nx : array_like, real or complex\n Argument\n\nReturns\n-------\nndarray\n The value of the log of the normal CDF evaluated at `x`\n\nSee Also\n--------\nerf\nerfc\nscipy.stats.norm\nndtr" - ... - -def loggamma(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "loggamma(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nloggamma(z, out=None)\n\nPrincipal branch of the logarithm of the gamma function.\n\nDefined to be :math:`\\log(\\Gamma(x))` for :math:`x > 0` and\nextended to the complex plane by analytic continuation. The\nfunction has a single branch cut on the negative real axis.\n\n.. versionadded:: 0.18.0\n\nParameters\n----------\nz : array-like\n Values in the complex plain at which to compute ``loggamma``\nout : ndarray, optional\n Output array for computed values of ``loggamma``\n\nReturns\n-------\nloggamma : ndarray\n Values of ``loggamma`` at z.\n\nNotes\n-----\nIt is not generally true that :math:`\\log\\Gamma(z) =\n\\log(\\Gamma(z))`, though the real parts of the functions do\nagree. The benefit of not defining `loggamma` as\n:math:`\\log(\\Gamma(z))` is that the latter function has a\ncomplicated branch cut structure whereas `loggamma` is analytic\nexcept for on the negative real axis.\n\nThe identities\n\n.. math::\n \\exp(\\log\\Gamma(z)) &= \\Gamma(z) \\\\\n \\log\\Gamma(z + 1) &= \\log(z) + \\log\\Gamma(z)\n\nmake `loggamma` useful for working in complex logspace.\n\nOn the real line `loggamma` is related to `gammaln` via\n``exp(loggamma(x + 0j)) = gammasgn(x)*exp(gammaln(x))``, up to\nrounding error.\n\nThe implementation here is based on [hare1997]_.\n\nSee also\n--------\ngammaln : logarithm of the absolute value of the gamma function\ngammasgn : sign of the gamma function\n\nReferences\n----------\n.. [hare1997] D.E.G. Hare,\n *Computing the Principal Branch of log-Gamma*,\n Journal of Algorithms, Volume 25, Issue 2, November 1997, pages 221-236." - ... - -def logit(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "logit(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nlogit(x)\n\nLogit ufunc for ndarrays.\n\nThe logit function is defined as logit(p) = log(p/(1-p)).\nNote that logit(0) = -inf, logit(1) = inf, and logit(p)\nfor p<0 or p>1 yields nan.\n\nParameters\n----------\nx : ndarray\n The ndarray to apply logit to element-wise.\n\nReturns\n-------\nout : ndarray\n An ndarray of the same shape as x. Its entries\n are logit of the corresponding entry of x.\n\nSee Also\n--------\nexpit\n\nNotes\n-----\nAs a ufunc logit takes a number of optional\nkeyword arguments. For more information\nsee `ufuncs `_\n\n.. versionadded:: 0.10.0\n\nExamples\n--------\n>>> from scipy.special import logit, expit\n\n>>> logit([0, 0.25, 0.5, 0.75, 1])\narray([ -inf, -1.09861229, 0. , 1.09861229, inf])\n\n`expit` is the inverse of `logit`:\n\n>>> expit(logit([0.1, 0.75, 0.999]))\narray([ 0.1 , 0.75 , 0.999])\n\nPlot logit(x) for x in [0, 1]:\n\n>>> import matplotlib.pyplot as plt\n>>> x = np.linspace(0, 1, 501)\n>>> y = logit(x)\n>>> plt.plot(x, y)\n>>> plt.grid()\n>>> plt.ylim(-6, 6)\n>>> plt.xlabel('x')\n>>> plt.title('logit(x)')\n>>> plt.show()" - ... - -def lpmv(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'lpmv(x1, x2, x3, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nlpmv(m, v, x)\n\nAssociated Legendre function of integer order and real degree.\n\nDefined as\n\n.. math::\n\n P_v^m = (-1)^m (1 - x^2)^{m/2} \\frac{d^m}{dx^m} P_v(x)\n\nwhere\n\n.. math::\n\n P_v = \\sum_{k = 0}^\\infty \\frac{(-v)_k (v + 1)_k}{(k!)^2}\n \\left(\\frac{1 - x}{2}\\right)^k\n\nis the Legendre function of the first kind. Here :math:`(\\cdot)_k`\nis the Pochhammer symbol; see `poch`.\n\nParameters\n----------\nm : array_like\n Order (int or float). If passed a float not equal to an\n integer the function returns NaN.\nv : array_like\n Degree (float).\nx : array_like\n Argument (float). Must have ``|x| <= 1``.\n\nReturns\n-------\npmv : ndarray\n Value of the associated Legendre function.\n\nSee Also\n--------\nlpmn : Compute the associated Legendre function for all orders\n ``0, ..., m`` and degrees ``0, ..., n``.\nclpmn : Compute the associated Legendre function at complex\n arguments.\n\nNotes\n-----\nNote that this implementation includes the Condon-Shortley phase.\n\nReferences\n----------\n.. [1] Zhang, Jin, "Computation of Special Functions", John Wiley\n and Sons, Inc, 1996.' - ... - -def mathieu_a(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "mathieu_a(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nmathieu_a(m, q)\n\nCharacteristic value of even Mathieu functions\n\nReturns the characteristic value for the even solution,\n``ce_m(z, q)``, of Mathieu's equation." - ... - -def mathieu_b(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "mathieu_b(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nmathieu_b(m, q)\n\nCharacteristic value of odd Mathieu functions\n\nReturns the characteristic value for the odd solution,\n``se_m(z, q)``, of Mathieu's equation." - ... - -def mathieu_cem(x1, x2, x3, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "mathieu_cem(x1, x2, x3[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nmathieu_cem(m, q, x)\n\nEven Mathieu function and its derivative\n\nReturns the even Mathieu function, ``ce_m(x, q)``, of order `m` and\nparameter `q` evaluated at `x` (given in degrees). Also returns the\nderivative with respect to `x` of ce_m(x, q)\n\nParameters\n----------\nm\n Order of the function\nq\n Parameter of the function\nx\n Argument of the function, *given in degrees, not radians*\n\nReturns\n-------\ny\n Value of the function\nyp\n Value of the derivative vs x" - ... - -def mathieu_modcem1(x1, x2, x3, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "mathieu_modcem1(x1, x2, x3[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nmathieu_modcem1(m, q, x)\n\nEven modified Mathieu function of the first kind and its derivative\n\nEvaluates the even modified Mathieu function of the first kind,\n``Mc1m(x, q)``, and its derivative at `x` for order `m` and parameter\n`q`.\n\nReturns\n-------\ny\n Value of the function\nyp\n Value of the derivative vs x" - ... - -def mathieu_modcem2(x1, x2, x3, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "mathieu_modcem2(x1, x2, x3[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nmathieu_modcem2(m, q, x)\n\nEven modified Mathieu function of the second kind and its derivative\n\nEvaluates the even modified Mathieu function of the second kind,\nMc2m(x, q), and its derivative at `x` (given in degrees) for order `m`\nand parameter `q`.\n\nReturns\n-------\ny\n Value of the function\nyp\n Value of the derivative vs x" - ... - -def mathieu_modsem1(x1, x2, x3, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "mathieu_modsem1(x1, x2, x3[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nmathieu_modsem1(m, q, x)\n\nOdd modified Mathieu function of the first kind and its derivative\n\nEvaluates the odd modified Mathieu function of the first kind,\nMs1m(x, q), and its derivative at `x` (given in degrees) for order `m`\nand parameter `q`.\n\nReturns\n-------\ny\n Value of the function\nyp\n Value of the derivative vs x" - ... - -def mathieu_modsem2(x1, x2, x3, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "mathieu_modsem2(x1, x2, x3[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nmathieu_modsem2(m, q, x)\n\nOdd modified Mathieu function of the second kind and its derivative\n\nEvaluates the odd modified Mathieu function of the second kind,\nMs2m(x, q), and its derivative at `x` (given in degrees) for order `m`\nand parameter q.\n\nReturns\n-------\ny\n Value of the function\nyp\n Value of the derivative vs x" - ... - -def mathieu_sem(x1, x2, x3, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "mathieu_sem(x1, x2, x3[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nmathieu_sem(m, q, x)\n\nOdd Mathieu function and its derivative\n\nReturns the odd Mathieu function, se_m(x, q), of order `m` and\nparameter `q` evaluated at `x` (given in degrees). Also returns the\nderivative with respect to `x` of se_m(x, q).\n\nParameters\n----------\nm\n Order of the function\nq\n Parameter of the function\nx\n Argument of the function, *given in degrees, not radians*.\n\nReturns\n-------\ny\n Value of the function\nyp\n Value of the derivative vs x" - ... - -def modfresnelm(x, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "modfresnelm(x[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nmodfresnelm(x)\n\nModified Fresnel negative integrals\n\nReturns\n-------\nfm\n Integral ``F_-(x)``: ``integral(exp(-1j*t*t), t=x..inf)``\nkm\n Integral ``K_-(x)``: ``1/sqrt(pi)*exp(1j*(x*x+pi/4))*fp``" - ... - -def modfresnelp(x, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "modfresnelp(x[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nmodfresnelp(x)\n\nModified Fresnel positive integrals\n\nReturns\n-------\nfp\n Integral ``F_+(x)``: ``integral(exp(1j*t*t), t=x..inf)``\nkp\n Integral ``K_+(x)``: ``1/sqrt(pi)*exp(-1j*(x*x+pi/4))*fp``" - ... - -def modstruve(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "modstruve(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nmodstruve(v, x)\n\nModified Struve function.\n\nReturn the value of the modified Struve function of order `v` at `x`. The\nmodified Struve function is defined as,\n\n.. math::\n L_v(x) = -\\imath \\exp(-\\pi\\imath v/2) H_v(\\imath x),\n\nwhere :math:`H_v` is the Struve function.\n\nParameters\n----------\nv : array_like\n Order of the modified Struve function (float).\nx : array_like\n Argument of the Struve function (float; must be positive unless `v` is\n an integer).\n\nReturns\n-------\nL : ndarray\n Value of the modified Struve function of order `v` at `x`.\n\nNotes\n-----\nThree methods discussed in [1]_ are used to evaluate the function:\n\n- power series\n- expansion in Bessel functions (if :math:`|x| < |v| + 20`)\n- asymptotic large-x expansion (if :math:`x \\geq 0.7v + 12`)\n\nRounding errors are estimated based on the largest terms in the sums, and\nthe result associated with the smallest error is returned.\n\nSee also\n--------\nstruve\n\nReferences\n----------\n.. [1] NIST Digital Library of Mathematical Functions\n https://dlmf.nist.gov/11" - ... - -def nbdtr(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "nbdtr(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nnbdtr(k, n, p)\n\nNegative binomial cumulative distribution function.\n\nReturns the sum of the terms 0 through `k` of the negative binomial\ndistribution probability mass function,\n\n.. math::\n\n F = \\sum_{j=0}^k {{n + j - 1}\\choose{j}} p^n (1 - p)^j.\n\nIn a sequence of Bernoulli trials with individual success probabilities\n`p`, this is the probability that `k` or fewer failures precede the nth\nsuccess.\n\nParameters\n----------\nk : array_like\n The maximum number of allowed failures (nonnegative int).\nn : array_like\n The target number of successes (positive int).\np : array_like\n Probability of success in a single event (float).\n\nReturns\n-------\nF : ndarray\n The probability of `k` or fewer failures before `n` successes in a\n sequence of events with individual success probability `p`.\n\nSee also\n--------\nnbdtrc\n\nNotes\n-----\nIf floating point values are passed for `k` or `n`, they will be truncated\nto integers.\n\nThe terms are not summed directly; instead the regularized incomplete beta\nfunction is employed, according to the formula,\n\n.. math::\n \\mathrm{nbdtr}(k, n, p) = I_{p}(n, k + 1).\n\nWrapper for the Cephes [1]_ routine `nbdtr`.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def nbdtrc(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "nbdtrc(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nnbdtrc(k, n, p)\n\nNegative binomial survival function.\n\nReturns the sum of the terms `k + 1` to infinity of the negative binomial\ndistribution probability mass function,\n\n.. math::\n\n F = \\sum_{j=k + 1}^\\infty {{n + j - 1}\\choose{j}} p^n (1 - p)^j.\n\nIn a sequence of Bernoulli trials with individual success probabilities\n`p`, this is the probability that more than `k` failures precede the nth\nsuccess.\n\nParameters\n----------\nk : array_like\n The maximum number of allowed failures (nonnegative int).\nn : array_like\n The target number of successes (positive int).\np : array_like\n Probability of success in a single event (float).\n\nReturns\n-------\nF : ndarray\n The probability of `k + 1` or more failures before `n` successes in a\n sequence of events with individual success probability `p`.\n\nNotes\n-----\nIf floating point values are passed for `k` or `n`, they will be truncated\nto integers.\n\nThe terms are not summed directly; instead the regularized incomplete beta\nfunction is employed, according to the formula,\n\n.. math::\n \\mathrm{nbdtrc}(k, n, p) = I_{1 - p}(k + 1, n).\n\nWrapper for the Cephes [1]_ routine `nbdtrc`.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def nbdtri(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "nbdtri(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nnbdtri(k, n, y)\n\nInverse of `nbdtr` vs `p`.\n\nReturns the inverse with respect to the parameter `p` of\n`y = nbdtr(k, n, p)`, the negative binomial cumulative distribution\nfunction.\n\nParameters\n----------\nk : array_like\n The maximum number of allowed failures (nonnegative int).\nn : array_like\n The target number of successes (positive int).\ny : array_like\n The probability of `k` or fewer failures before `n` successes (float).\n\nReturns\n-------\np : ndarray\n Probability of success in a single event (float) such that\n `nbdtr(k, n, p) = y`.\n\nSee also\n--------\nnbdtr : Cumulative distribution function of the negative binomial.\nnbdtrik : Inverse with respect to `k` of `nbdtr(k, n, p)`.\nnbdtrin : Inverse with respect to `n` of `nbdtr(k, n, p)`.\n\nNotes\n-----\nWrapper for the Cephes [1]_ routine `nbdtri`.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def nbdtrik(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "nbdtrik(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nnbdtrik(y, n, p)\n\nInverse of `nbdtr` vs `k`.\n\nReturns the inverse with respect to the parameter `k` of\n`y = nbdtr(k, n, p)`, the negative binomial cumulative distribution\nfunction.\n\nParameters\n----------\ny : array_like\n The probability of `k` or fewer failures before `n` successes (float).\nn : array_like\n The target number of successes (positive int).\np : array_like\n Probability of success in a single event (float).\n\nReturns\n-------\nk : ndarray\n The maximum number of allowed failures such that `nbdtr(k, n, p) = y`.\n\nSee also\n--------\nnbdtr : Cumulative distribution function of the negative binomial.\nnbdtri : Inverse with respect to `p` of `nbdtr(k, n, p)`.\nnbdtrin : Inverse with respect to `n` of `nbdtr(k, n, p)`.\n\nNotes\n-----\nWrapper for the CDFLIB [1]_ Fortran routine `cdfnbn`.\n\nFormula 26.5.26 of [2]_,\n\n.. math::\n \\sum_{j=k + 1}^\\infty {{n + j - 1}\\choose{j}} p^n (1 - p)^j = I_{1 - p}(k + 1, n),\n\nis used to reduce calculation of the cumulative distribution function to\nthat of a regularized incomplete beta :math:`I`.\n\nComputation of `k` involves a search for a value that produces the desired\nvalue of `y`. The search relies on the monotonicity of `y` with `k`.\n\nReferences\n----------\n.. [1] Barry Brown, James Lovato, and Kathy Russell,\n CDFLIB: Library of Fortran Routines for Cumulative Distribution\n Functions, Inverses, and Other Parameters.\n.. [2] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972." - ... - -def nbdtrin(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "nbdtrin(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nnbdtrin(k, y, p)\n\nInverse of `nbdtr` vs `n`.\n\nReturns the inverse with respect to the parameter `n` of\n`y = nbdtr(k, n, p)`, the negative binomial cumulative distribution\nfunction.\n\nParameters\n----------\nk : array_like\n The maximum number of allowed failures (nonnegative int).\ny : array_like\n The probability of `k` or fewer failures before `n` successes (float).\np : array_like\n Probability of success in a single event (float).\n\nReturns\n-------\nn : ndarray\n The number of successes `n` such that `nbdtr(k, n, p) = y`.\n\nSee also\n--------\nnbdtr : Cumulative distribution function of the negative binomial.\nnbdtri : Inverse with respect to `p` of `nbdtr(k, n, p)`.\nnbdtrik : Inverse with respect to `k` of `nbdtr(k, n, p)`.\n\nNotes\n-----\nWrapper for the CDFLIB [1]_ Fortran routine `cdfnbn`.\n\nFormula 26.5.26 of [2]_,\n\n.. math::\n \\sum_{j=k + 1}^\\infty {{n + j - 1}\\choose{j}} p^n (1 - p)^j = I_{1 - p}(k + 1, n),\n\nis used to reduce calculation of the cumulative distribution function to\nthat of a regularized incomplete beta :math:`I`.\n\nComputation of `n` involves a search for a value that produces the desired\nvalue of `y`. The search relies on the monotonicity of `y` with `n`.\n\nReferences\n----------\n.. [1] Barry Brown, James Lovato, and Kathy Russell,\n CDFLIB: Library of Fortran Routines for Cumulative Distribution\n Functions, Inverses, and Other Parameters.\n.. [2] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972." - ... - -def ncfdtr(x1, x2, x3, x4, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "ncfdtr(x1, x2, x3, x4, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nncfdtr(dfn, dfd, nc, f)\n\nCumulative distribution function of the non-central F distribution.\n\nThe non-central F describes the distribution of,\n\n.. math::\n Z = \\frac{X/d_n}{Y/d_d}\n\nwhere :math:`X` and :math:`Y` are independently distributed, with\n:math:`X` distributed non-central :math:`\\chi^2` with noncentrality\nparameter `nc` and :math:`d_n` degrees of freedom, and :math:`Y`\ndistributed :math:`\\chi^2` with :math:`d_d` degrees of freedom.\n\nParameters\n----------\ndfn : array_like\n Degrees of freedom of the numerator sum of squares. Range (0, inf).\ndfd : array_like\n Degrees of freedom of the denominator sum of squares. Range (0, inf).\nnc : array_like\n Noncentrality parameter. Should be in range (0, 1e4).\nf : array_like\n Quantiles, i.e. the upper limit of integration.\n\nReturns\n-------\ncdf : float or ndarray\n The calculated CDF. If all inputs are scalar, the return will be a\n float. Otherwise it will be an array.\n\nSee Also\n--------\nncfdtri : Quantile function; inverse of `ncfdtr` with respect to `f`.\nncfdtridfd : Inverse of `ncfdtr` with respect to `dfd`.\nncfdtridfn : Inverse of `ncfdtr` with respect to `dfn`.\nncfdtrinc : Inverse of `ncfdtr` with respect to `nc`.\n\nNotes\n-----\nWrapper for the CDFLIB [1]_ Fortran routine `cdffnc`.\n\nThe cumulative distribution function is computed using Formula 26.6.20 of\n[2]_:\n\n.. math::\n F(d_n, d_d, n_c, f) = \\sum_{j=0}^\\infty e^{-n_c/2} \\frac{(n_c/2)^j}{j!} I_{x}(\\frac{d_n}{2} + j, \\frac{d_d}{2}),\n\nwhere :math:`I` is the regularized incomplete beta function, and\n:math:`x = f d_n/(f d_n + d_d)`.\n\nThe computation time required for this routine is proportional to the\nnoncentrality parameter `nc`. Very large values of this parameter can\nconsume immense computer resources. This is why the search range is\nbounded by 10,000.\n\nReferences\n----------\n.. [1] Barry Brown, James Lovato, and Kathy Russell,\n CDFLIB: Library of Fortran Routines for Cumulative Distribution\n Functions, Inverses, and Other Parameters.\n.. [2] Milton Abramowitz and Irene A. Stegun, eds.\n Handbook of Mathematical Functions with Formulas,\n Graphs, and Mathematical Tables. New York: Dover, 1972.\n\nExamples\n--------\n>>> from scipy import special\n>>> from scipy import stats\n>>> import matplotlib.pyplot as plt\n\nPlot the CDF of the non-central F distribution, for nc=0. Compare with the\nF-distribution from scipy.stats:\n\n>>> x = np.linspace(-1, 8, num=500)\n>>> dfn = 3\n>>> dfd = 2\n>>> ncf_stats = stats.f.cdf(x, dfn, dfd)\n>>> ncf_special = special.ncfdtr(dfn, dfd, 0, x)\n\n>>> fig = plt.figure()\n>>> ax = fig.add_subplot(111)\n>>> ax.plot(x, ncf_stats, 'b-', lw=3)\n>>> ax.plot(x, ncf_special, 'r-')\n>>> plt.show()" - ... - -def ncfdtri(x1, x2, x3, x4, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "ncfdtri(x1, x2, x3, x4, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nncfdtri(dfn, dfd, nc, p)\n\nInverse with respect to `f` of the CDF of the non-central F distribution.\n\nSee `ncfdtr` for more details.\n\nParameters\n----------\ndfn : array_like\n Degrees of freedom of the numerator sum of squares. Range (0, inf).\ndfd : array_like\n Degrees of freedom of the denominator sum of squares. Range (0, inf).\nnc : array_like\n Noncentrality parameter. Should be in range (0, 1e4).\np : array_like\n Value of the cumulative distribution function. Must be in the\n range [0, 1].\n\nReturns\n-------\nf : float\n Quantiles, i.e., the upper limit of integration.\n\nSee Also\n--------\nncfdtr : CDF of the non-central F distribution.\nncfdtridfd : Inverse of `ncfdtr` with respect to `dfd`.\nncfdtridfn : Inverse of `ncfdtr` with respect to `dfn`.\nncfdtrinc : Inverse of `ncfdtr` with respect to `nc`.\n\nExamples\n--------\n>>> from scipy.special import ncfdtr, ncfdtri\n\nCompute the CDF for several values of `f`:\n\n>>> f = [0.5, 1, 1.5]\n>>> p = ncfdtr(2, 3, 1.5, f)\n>>> p\narray([ 0.20782291, 0.36107392, 0.47345752])\n\nCompute the inverse. We recover the values of `f`, as expected:\n\n>>> ncfdtri(2, 3, 1.5, p)\narray([ 0.5, 1. , 1.5])" - ... - -def ncfdtridfd(x1, x2, x3, x4, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "ncfdtridfd(x1, x2, x3, x4, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nncfdtridfd(dfn, p, nc, f)\n\nCalculate degrees of freedom (denominator) for the noncentral F-distribution.\n\nThis is the inverse with respect to `dfd` of `ncfdtr`.\nSee `ncfdtr` for more details.\n\nParameters\n----------\ndfn : array_like\n Degrees of freedom of the numerator sum of squares. Range (0, inf).\np : array_like\n Value of the cumulative distribution function. Must be in the\n range [0, 1].\nnc : array_like\n Noncentrality parameter. Should be in range (0, 1e4).\nf : array_like\n Quantiles, i.e., the upper limit of integration.\n\nReturns\n-------\ndfd : float\n Degrees of freedom of the denominator sum of squares.\n\nSee Also\n--------\nncfdtr : CDF of the non-central F distribution.\nncfdtri : Quantile function; inverse of `ncfdtr` with respect to `f`.\nncfdtridfn : Inverse of `ncfdtr` with respect to `dfn`.\nncfdtrinc : Inverse of `ncfdtr` with respect to `nc`.\n\nNotes\n-----\nThe value of the cumulative noncentral F distribution is not necessarily\nmonotone in either degrees of freedom. There thus may be two values that\nprovide a given CDF value. This routine assumes monotonicity and will\nfind an arbitrary one of the two values.\n\nExamples\n--------\n>>> from scipy.special import ncfdtr, ncfdtridfd\n\nCompute the CDF for several values of `dfd`:\n\n>>> dfd = [1, 2, 3]\n>>> p = ncfdtr(2, dfd, 0.25, 15)\n>>> p\narray([ 0.8097138 , 0.93020416, 0.96787852])\n\nCompute the inverse. We recover the values of `dfd`, as expected:\n\n>>> ncfdtridfd(2, p, 0.25, 15)\narray([ 1., 2., 3.])" - ... - -def ncfdtridfn(x1, x2, x3, x4, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "ncfdtridfn(x1, x2, x3, x4, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nncfdtridfn(p, dfd, nc, f)\n\nCalculate degrees of freedom (numerator) for the noncentral F-distribution.\n\nThis is the inverse with respect to `dfn` of `ncfdtr`.\nSee `ncfdtr` for more details.\n\nParameters\n----------\np : array_like\n Value of the cumulative distribution function. Must be in the\n range [0, 1].\ndfd : array_like\n Degrees of freedom of the denominator sum of squares. Range (0, inf).\nnc : array_like\n Noncentrality parameter. Should be in range (0, 1e4).\nf : float\n Quantiles, i.e., the upper limit of integration.\n\nReturns\n-------\ndfn : float\n Degrees of freedom of the numerator sum of squares.\n\nSee Also\n--------\nncfdtr : CDF of the non-central F distribution.\nncfdtri : Quantile function; inverse of `ncfdtr` with respect to `f`.\nncfdtridfd : Inverse of `ncfdtr` with respect to `dfd`.\nncfdtrinc : Inverse of `ncfdtr` with respect to `nc`.\n\nNotes\n-----\nThe value of the cumulative noncentral F distribution is not necessarily\nmonotone in either degrees of freedom. There thus may be two values that\nprovide a given CDF value. This routine assumes monotonicity and will\nfind an arbitrary one of the two values.\n\nExamples\n--------\n>>> from scipy.special import ncfdtr, ncfdtridfn\n\nCompute the CDF for several values of `dfn`:\n\n>>> dfn = [1, 2, 3]\n>>> p = ncfdtr(dfn, 2, 0.25, 15)\n>>> p\narray([ 0.92562363, 0.93020416, 0.93188394])\n\nCompute the inverse. We recover the values of `dfn`, as expected:\n\n>>> ncfdtridfn(p, 2, 0.25, 15)\narray([ 1., 2., 3.])" - ... - -def ncfdtrinc(x1, x2, x3, x4, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "ncfdtrinc(x1, x2, x3, x4, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nncfdtrinc(dfn, dfd, p, f)\n\nCalculate non-centrality parameter for non-central F distribution.\n\nThis is the inverse with respect to `nc` of `ncfdtr`.\nSee `ncfdtr` for more details.\n\nParameters\n----------\ndfn : array_like\n Degrees of freedom of the numerator sum of squares. Range (0, inf).\ndfd : array_like\n Degrees of freedom of the denominator sum of squares. Range (0, inf).\np : array_like\n Value of the cumulative distribution function. Must be in the\n range [0, 1].\nf : array_like\n Quantiles, i.e., the upper limit of integration.\n\nReturns\n-------\nnc : float\n Noncentrality parameter.\n\nSee Also\n--------\nncfdtr : CDF of the non-central F distribution.\nncfdtri : Quantile function; inverse of `ncfdtr` with respect to `f`.\nncfdtridfd : Inverse of `ncfdtr` with respect to `dfd`.\nncfdtridfn : Inverse of `ncfdtr` with respect to `dfn`.\n\nExamples\n--------\n>>> from scipy.special import ncfdtr, ncfdtrinc\n\nCompute the CDF for several values of `nc`:\n\n>>> nc = [0.5, 1.5, 2.0]\n>>> p = ncfdtr(2, 3, nc, 15)\n>>> p\narray([ 0.96309246, 0.94327955, 0.93304098])\n\nCompute the inverse. We recover the values of `nc`, as expected:\n\n>>> ncfdtrinc(2, 3, p, 15)\narray([ 0.5, 1.5, 2. ])" - ... - -def nctdtr(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "nctdtr(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nnctdtr(df, nc, t)\n\nCumulative distribution function of the non-central `t` distribution.\n\nParameters\n----------\ndf : array_like\n Degrees of freedom of the distribution. Should be in range (0, inf).\nnc : array_like\n Noncentrality parameter. Should be in range (-1e6, 1e6).\nt : array_like\n Quantiles, i.e., the upper limit of integration.\n\nReturns\n-------\ncdf : float or ndarray\n The calculated CDF. If all inputs are scalar, the return will be a\n float. Otherwise, it will be an array.\n\nSee Also\n--------\nnctdtrit : Inverse CDF (iCDF) of the non-central t distribution.\nnctdtridf : Calculate degrees of freedom, given CDF and iCDF values.\nnctdtrinc : Calculate non-centrality parameter, given CDF iCDF values.\n\nExamples\n--------\n>>> from scipy import special\n>>> from scipy import stats\n>>> import matplotlib.pyplot as plt\n\nPlot the CDF of the non-central t distribution, for nc=0. Compare with the\nt-distribution from scipy.stats:\n\n>>> x = np.linspace(-5, 5, num=500)\n>>> df = 3\n>>> nct_stats = stats.t.cdf(x, df)\n>>> nct_special = special.nctdtr(df, 0, x)\n\n>>> fig = plt.figure()\n>>> ax = fig.add_subplot(111)\n>>> ax.plot(x, nct_stats, 'b-', lw=3)\n>>> ax.plot(x, nct_special, 'r-')\n>>> plt.show()" - ... - -def nctdtridf(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "nctdtridf(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nnctdtridf(p, nc, t)\n\nCalculate degrees of freedom for non-central t distribution.\n\nSee `nctdtr` for more details.\n\nParameters\n----------\np : array_like\n CDF values, in range (0, 1].\nnc : array_like\n Noncentrality parameter. Should be in range (-1e6, 1e6).\nt : array_like\n Quantiles, i.e., the upper limit of integration." - ... - -def nctdtrinc(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "nctdtrinc(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nnctdtrinc(df, p, t)\n\nCalculate non-centrality parameter for non-central t distribution.\n\nSee `nctdtr` for more details.\n\nParameters\n----------\ndf : array_like\n Degrees of freedom of the distribution. Should be in range (0, inf).\np : array_like\n CDF values, in range (0, 1].\nt : array_like\n Quantiles, i.e., the upper limit of integration." - ... - -def nctdtrit(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "nctdtrit(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nnctdtrit(df, nc, p)\n\nInverse cumulative distribution function of the non-central t distribution.\n\nSee `nctdtr` for more details.\n\nParameters\n----------\ndf : array_like\n Degrees of freedom of the distribution. Should be in range (0, inf).\nnc : array_like\n Noncentrality parameter. Should be in range (-1e6, 1e6).\np : array_like\n CDF values, in range (0, 1]." - ... - -def ndtr(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "ndtr(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nndtr(x)\n\nGaussian cumulative distribution function.\n\nReturns the area under the standard Gaussian probability\ndensity function, integrated from minus infinity to `x`\n\n.. math::\n\n \\frac{1}{\\sqrt{2\\pi}} \\int_{-\\infty}^x \\exp(-t^2/2) dt\n\nParameters\n----------\nx : array_like, real or complex\n Argument\n\nReturns\n-------\nndarray\n The value of the normal CDF evaluated at `x`\n\nSee Also\n--------\nerf\nerfc\nscipy.stats.norm\nlog_ndtr" - ... - -def ndtri(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "ndtri(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nndtri(y)\n\nInverse of `ndtr` vs x\n\nReturns the argument x for which the area under the Gaussian\nprobability density function (integrated from minus infinity to `x`)\nis equal to y." - ... - -def nrdtrimn(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "nrdtrimn(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nnrdtrimn(p, x, std)\n\nCalculate mean of normal distribution given other params.\n\nParameters\n----------\np : array_like\n CDF values, in range (0, 1].\nx : array_like\n Quantiles, i.e. the upper limit of integration.\nstd : array_like\n Standard deviation.\n\nReturns\n-------\nmn : float or ndarray\n The mean of the normal distribution.\n\nSee Also\n--------\nnrdtrimn, ndtr" - ... - -def nrdtrisd(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "nrdtrisd(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nnrdtrisd(p, x, mn)\n\nCalculate standard deviation of normal distribution given other params.\n\nParameters\n----------\np : array_like\n CDF values, in range (0, 1].\nx : array_like\n Quantiles, i.e. the upper limit of integration.\nmn : float or ndarray\n The mean of the normal distribution.\n\nReturns\n-------\nstd : array_like\n Standard deviation.\n\nSee Also\n--------\nndtr" - ... - -def obl_ang1(x1, x2, x3, x4, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "obl_ang1(x1, x2, x3, x4[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nobl_ang1(m, n, c, x)\n\nOblate spheroidal angular function of the first kind and its derivative\n\nComputes the oblate spheroidal angular function of the first kind\nand its derivative (with respect to `x`) for mode parameters m>=0\nand n>=m, spheroidal parameter `c` and ``|x| < 1.0``.\n\nReturns\n-------\ns\n Value of the function\nsp\n Value of the derivative vs x" - ... - -def obl_ang1_cv(x1, x2, x3, x4, x5, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "obl_ang1_cv(x1, x2, x3, x4, x5[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nobl_ang1_cv(m, n, c, cv, x)\n\nOblate spheroidal angular function obl_ang1 for precomputed characteristic value\n\nComputes the oblate spheroidal angular function of the first kind\nand its derivative (with respect to `x`) for mode parameters m>=0\nand n>=m, spheroidal parameter `c` and ``|x| < 1.0``. Requires\npre-computed characteristic value.\n\nReturns\n-------\ns\n Value of the function\nsp\n Value of the derivative vs x" - ... - -def obl_cv(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "obl_cv(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nobl_cv(m, n, c)\n\nCharacteristic value of oblate spheroidal function\n\nComputes the characteristic value of oblate spheroidal wave\nfunctions of order `m`, `n` (n>=m) and spheroidal parameter `c`." - ... - -def obl_rad1(x1, x2, x3, x4, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "obl_rad1(x1, x2, x3, x4[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nobl_rad1(m, n, c, x)\n\nOblate spheroidal radial function of the first kind and its derivative\n\nComputes the oblate spheroidal radial function of the first kind\nand its derivative (with respect to `x`) for mode parameters m>=0\nand n>=m, spheroidal parameter `c` and ``|x| < 1.0``.\n\nReturns\n-------\ns\n Value of the function\nsp\n Value of the derivative vs x" - ... - -def obl_rad1_cv(x1, x2, x3, x4, x5, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "obl_rad1_cv(x1, x2, x3, x4, x5[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nobl_rad1_cv(m, n, c, cv, x)\n\nOblate spheroidal radial function obl_rad1 for precomputed characteristic value\n\nComputes the oblate spheroidal radial function of the first kind\nand its derivative (with respect to `x`) for mode parameters m>=0\nand n>=m, spheroidal parameter `c` and ``|x| < 1.0``. Requires\npre-computed characteristic value.\n\nReturns\n-------\ns\n Value of the function\nsp\n Value of the derivative vs x" - ... - -def obl_rad2(x1, x2, x3, x4, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "obl_rad2(x1, x2, x3, x4[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nobl_rad2(m, n, c, x)\n\nOblate spheroidal radial function of the second kind and its derivative.\n\nComputes the oblate spheroidal radial function of the second kind\nand its derivative (with respect to `x`) for mode parameters m>=0\nand n>=m, spheroidal parameter `c` and ``|x| < 1.0``.\n\nReturns\n-------\ns\n Value of the function\nsp\n Value of the derivative vs x" - ... - -def obl_rad2_cv(x1, x2, x3, x4, x5, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "obl_rad2_cv(x1, x2, x3, x4, x5[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nobl_rad2_cv(m, n, c, cv, x)\n\nOblate spheroidal radial function obl_rad2 for precomputed characteristic value\n\nComputes the oblate spheroidal radial function of the second kind\nand its derivative (with respect to `x`) for mode parameters m>=0\nand n>=m, spheroidal parameter `c` and ``|x| < 1.0``. Requires\npre-computed characteristic value.\n\nReturns\n-------\ns\n Value of the function\nsp\n Value of the derivative vs x" - ... - -def owens_t(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'owens_t(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nowens_t(h, a)\n\nOwen\'s T Function.\n\nThe function T(h, a) gives the probability of the event\n(X > h and 0 < Y < a * X) where X and Y are independent\nstandard normal random variables.\n\nParameters\n----------\nh: array_like\n Input value.\na: array_like\n Input value.\n\nReturns\n-------\nt: scalar or ndarray\n Probability of the event (X > h and 0 < Y < a * X),\n where X and Y are independent standard normal random variables.\n\nExamples\n--------\n>>> from scipy import special\n>>> a = 3.5\n>>> h = 0.78\n>>> special.owens_t(h, a)\n0.10877216734852274\n\nReferences\n----------\n.. [1] M. Patefield and D. Tandy, "Fast and accurate calculation of\n Owen\'s T Function", Statistical Software vol. 5, pp. 1-25, 2000.' - ... - -def pbdv(x1, x2, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "pbdv(x1, x2[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\npbdv(v, x)\n\nParabolic cylinder function D\n\nReturns (d, dp) the parabolic cylinder function Dv(x) in d and the\nderivative, Dv'(x) in dp.\n\nReturns\n-------\nd\n Value of the function\ndp\n Value of the derivative vs x" - ... - -def pbvv(x1, x2, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "pbvv(x1, x2[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\npbvv(v, x)\n\nParabolic cylinder function V\n\nReturns the parabolic cylinder function Vv(x) in v and the\nderivative, Vv'(x) in vp.\n\nReturns\n-------\nv\n Value of the function\nvp\n Value of the derivative vs x" - ... - -def pbwa(x1, x2, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'pbwa(x1, x2[, out1, out2], / [, out=(None, None)], *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\npbwa(a, x)\n\nParabolic cylinder function W.\n\nThe function is a particular solution to the differential equation\n\n.. math::\n\n y\'\' + \\left(\\frac{1}{4}x^2 - a\\right)y = 0,\n\nfor a full definition see section 12.14 in [1]_.\n\nParameters\n----------\na : array_like\n Real parameter\nx : array_like\n Real argument\n\nReturns\n-------\nw : scalar or ndarray\n Value of the function\nwp : scalar or ndarray\n Value of the derivative in x\n\nNotes\n-----\nThe function is a wrapper for a Fortran routine by Zhang and Jin\n[2]_. The implementation is accurate only for ``|a|, |x| < 5`` and\nreturns NaN outside that range.\n\nReferences\n----------\n.. [1] Digital Library of Mathematical Functions, 14.30.\n https://dlmf.nist.gov/14.30\n.. [2] Zhang, Shanjie and Jin, Jianming. "Computation of Special\n Functions", John Wiley and Sons, 1996.\n https://people.sc.fsu.edu/~jburkardt/f_src/special_functions/special_functions.html' - ... - -def pdtr(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "pdtr(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\npdtr(k, m, out=None)\n\nPoisson cumulative distribution function.\n\nDefined as the probability that a Poisson-distributed random\nvariable with event rate :math:`m` is less than or equal to\n:math:`k`. More concretely, this works out to be [1]_\n\n.. math::\n\n \\exp(-m) \\sum_{j = 0}^{\\lfloor{k}\\rfloor} \\frac{m^j}{m!}.\n\nParameters\n----------\nk : array_like\n Nonnegative real argument\nm : array_like\n Nonnegative real shape parameter\nout : ndarray\n Optional output array for the function results\n\nSee Also\n--------\npdtrc : Poisson survival function\npdtrik : inverse of `pdtr` with respect to `k`\npdtri : inverse of `pdtr` with respect to `m`\n\nReturns\n-------\nscalar or ndarray\n Values of the Poisson cumulative distribution function\n\nReferences\n----------\n.. [1] https://en.wikipedia.org/wiki/Poisson_distribution\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt is a cumulative distribution function, so it converges to 1\nmonotonically as `k` goes to infinity.\n\n>>> sc.pdtr([1, 10, 100, np.inf], 1)\narray([0.73575888, 0.99999999, 1. , 1. ])\n\nIt is discontinuous at integers and constant between integers.\n\n>>> sc.pdtr([1, 1.5, 1.9, 2], 1)\narray([0.73575888, 0.73575888, 0.73575888, 0.9196986 ])" - ... - -def pdtrc(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "pdtrc(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\npdtrc(k, m)\n\nPoisson survival function\n\nReturns the sum of the terms from k+1 to infinity of the Poisson\ndistribution: sum(exp(-m) * m**j / j!, j=k+1..inf) = gammainc(\nk+1, m). Arguments must both be non-negative doubles." - ... - -def pdtri(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "pdtri(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\npdtri(k, y)\n\nInverse to `pdtr` vs m\n\nReturns the Poisson variable `m` such that the sum from 0 to `k` of\nthe Poisson density is equal to the given probability `y`:\ncalculated by gammaincinv(k+1, y). `k` must be a nonnegative\ninteger and `y` between 0 and 1." - ... - -def pdtrik(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "pdtrik(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\npdtrik(p, m)\n\nInverse to `pdtr` vs k\n\nReturns the quantile k such that ``pdtr(k, m) = p``" - ... - -def poch(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "poch(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\npoch(z, m)\n\nPochhammer symbol.\n\nThe Pochhammer symbol (rising factorial) is defined as\n\n.. math::\n\n (z)_m = \\frac{\\Gamma(z + m)}{\\Gamma(z)}\n\nFor positive integer `m` it reads\n\n.. math::\n\n (z)_m = z (z + 1) ... (z + m - 1)\n\nSee [dlmf]_ for more details.\n\nParameters\n----------\nz, m : array_like\n Real-valued arguments.\n\nReturns\n-------\nscalar or ndarray\n The value of the function.\n\nReferences\n----------\n.. [dlmf] Nist, Digital Library of Mathematical Functions\n https://dlmf.nist.gov/5.2#iii\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt is 1 when m is 0.\n\n>>> sc.poch([1, 2, 3, 4], 0)\narray([1., 1., 1., 1.])\n\nFor z equal to 1 it reduces to the factorial function.\n\n>>> sc.poch(1, 5)\n120.0\n>>> 1 * 2 * 3 * 4 * 5\n120\n\nIt can be expressed in terms of the gamma function.\n\n>>> z, m = 3.7, 2.1\n>>> sc.poch(z, m)\n20.529581933776953\n>>> sc.gamma(z + m) / sc.gamma(z)\n20.52958193377696" - ... - -def pro_ang1(x1, x2, x3, x4, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "pro_ang1(x1, x2, x3, x4[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\npro_ang1(m, n, c, x)\n\nProlate spheroidal angular function of the first kind and its derivative\n\nComputes the prolate spheroidal angular function of the first kind\nand its derivative (with respect to `x`) for mode parameters m>=0\nand n>=m, spheroidal parameter `c` and ``|x| < 1.0``.\n\nReturns\n-------\ns\n Value of the function\nsp\n Value of the derivative vs x" - ... - -def pro_ang1_cv(x1, x2, x3, x4, x5, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "pro_ang1_cv(x1, x2, x3, x4, x5[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\npro_ang1_cv(m, n, c, cv, x)\n\nProlate spheroidal angular function pro_ang1 for precomputed characteristic value\n\nComputes the prolate spheroidal angular function of the first kind\nand its derivative (with respect to `x`) for mode parameters m>=0\nand n>=m, spheroidal parameter `c` and ``|x| < 1.0``. Requires\npre-computed characteristic value.\n\nReturns\n-------\ns\n Value of the function\nsp\n Value of the derivative vs x" - ... - -def pro_cv(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "pro_cv(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\npro_cv(m, n, c)\n\nCharacteristic value of prolate spheroidal function\n\nComputes the characteristic value of prolate spheroidal wave\nfunctions of order `m`, `n` (n>=m) and spheroidal parameter `c`." - ... - -def pro_rad1(x1, x2, x3, x4, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "pro_rad1(x1, x2, x3, x4[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\npro_rad1(m, n, c, x)\n\nProlate spheroidal radial function of the first kind and its derivative\n\nComputes the prolate spheroidal radial function of the first kind\nand its derivative (with respect to `x`) for mode parameters m>=0\nand n>=m, spheroidal parameter `c` and ``|x| < 1.0``.\n\nReturns\n-------\ns\n Value of the function\nsp\n Value of the derivative vs x" - ... - -def pro_rad1_cv(x1, x2, x3, x4, x5, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "pro_rad1_cv(x1, x2, x3, x4, x5[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\npro_rad1_cv(m, n, c, cv, x)\n\nProlate spheroidal radial function pro_rad1 for precomputed characteristic value\n\nComputes the prolate spheroidal radial function of the first kind\nand its derivative (with respect to `x`) for mode parameters m>=0\nand n>=m, spheroidal parameter `c` and ``|x| < 1.0``. Requires\npre-computed characteristic value.\n\nReturns\n-------\ns\n Value of the function\nsp\n Value of the derivative vs x" - ... - -def pro_rad2(x1, x2, x3, x4, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "pro_rad2(x1, x2, x3, x4[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\npro_rad2(m, n, c, x)\n\nProlate spheroidal radial function of the second kind and its derivative\n\nComputes the prolate spheroidal radial function of the second kind\nand its derivative (with respect to `x`) for mode parameters m>=0\nand n>=m, spheroidal parameter `c` and ``|x| < 1.0``.\n\nReturns\n-------\ns\n Value of the function\nsp\n Value of the derivative vs x" - ... - -def pro_rad2_cv(x1, x2, x3, x4, x5, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "pro_rad2_cv(x1, x2, x3, x4, x5[, out1, out2], / [, out=(None, None)], *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\npro_rad2_cv(m, n, c, cv, x)\n\nProlate spheroidal radial function pro_rad2 for precomputed characteristic value\n\nComputes the prolate spheroidal radial function of the second kind\nand its derivative (with respect to `x`) for mode parameters m>=0\nand n>=m, spheroidal parameter `c` and ``|x| < 1.0``. Requires\npre-computed characteristic value.\n\nReturns\n-------\ns\n Value of the function\nsp\n Value of the derivative vs x" - ... - -def pseudo_huber(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "pseudo_huber(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\npseudo_huber(delta, r)\n\nPseudo-Huber loss function.\n\n.. math:: \\mathrm{pseudo\\_huber}(\\delta, r) = \\delta^2 \\left( \\sqrt{ 1 + \\left( \\frac{r}{\\delta} \\right)^2 } - 1 \\right)\n\nParameters\n----------\ndelta : ndarray\n Input array, indicating the soft quadratic vs. linear loss changepoint.\nr : ndarray\n Input array, possibly representing residuals.\n\nReturns\n-------\nres : ndarray\n The computed Pseudo-Huber loss function values.\n\nNotes\n-----\nThis function is convex in :math:`r`.\n\n.. versionadded:: 0.15.0" - ... - -def psi(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'psi(x, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\npsi(z, out=None)\n\nThe digamma function.\n\nThe logarithmic derivative of the gamma function evaluated at ``z``.\n\nParameters\n----------\nz : array_like\n Real or complex argument.\nout : ndarray, optional\n Array for the computed values of ``psi``.\n\nReturns\n-------\ndigamma : ndarray\n Computed values of ``psi``.\n\nNotes\n-----\nFor large values not close to the negative real axis, ``psi`` is\ncomputed using the asymptotic series (5.11.2) from [1]_. For small\narguments not close to the negative real axis, the recurrence\nrelation (5.5.2) from [1]_ is used until the argument is large\nenough to use the asymptotic series. For values close to the\nnegative real axis, the reflection formula (5.5.4) from [1]_ is\nused first. Note that ``psi`` has a family of zeros on the\nnegative real axis which occur between the poles at nonpositive\nintegers. Around the zeros the reflection formula suffers from\ncancellation and the implementation loses precision. The sole\npositive zero and the first negative zero, however, are handled\nseparately by precomputing series expansions using [2]_, so the\nfunction should maintain full accuracy around the origin.\n\nReferences\n----------\n.. [1] NIST Digital Library of Mathematical Functions\n https://dlmf.nist.gov/5\n.. [2] Fredrik Johansson and others.\n "mpmath: a Python library for arbitrary-precision floating-point arithmetic"\n (Version 0.19) http://mpmath.org/' - ... - -def radian(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "radian(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nradian(d, m, s, out=None)\n\nConvert from degrees to radians.\n\nReturns the angle given in (d)egrees, (m)inutes, and (s)econds in\nradians.\n\nParameters\n----------\nd : array_like\n Degrees, can be real-valued.\nm : array_like\n Minutes, can be real-valued.\ns : array_like\n Seconds, can be real-valued.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n Values of the inputs in radians.\n\nExamples\n--------\n>>> import scipy.special as sc\n\nThere are many ways to specify an angle.\n\n>>> sc.radian(90, 0, 0)\n1.5707963267948966\n>>> sc.radian(0, 60 * 90, 0)\n1.5707963267948966\n>>> sc.radian(0, 0, 60**2 * 90)\n1.5707963267948966\n\nThe inputs can be real-valued.\n\n>>> sc.radian(1.5, 0, 0)\n0.02617993877991494\n>>> sc.radian(1, 30, 0)\n0.02617993877991494" - ... - -def rel_entr(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'rel_entr(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nrel_entr(x, y, out=None)\n\nElementwise function for computing relative entropy.\n\n.. math::\n\n \\mathrm{rel\\_entr}(x, y) =\n \\begin{cases}\n x \\log(x / y) & x > 0, y > 0 \\\\\n 0 & x = 0, y \\ge 0 \\\\\n \\infty & \\text{otherwise}\n \\end{cases}\n\nParameters\n----------\nx, y : array_like\n Input arrays\nout : ndarray, optional\n Optional output array for the function results\n\nReturns\n-------\nscalar or ndarray\n Relative entropy of the inputs\n\nSee Also\n--------\nentr, kl_div\n\nNotes\n-----\n.. versionadded:: 0.15.0\n\nThis function is jointly convex in x and y.\n\nThe origin of this function is in convex programming; see\n[1]_. Given two discrete probability distributions :math:`p_1,\n\\ldots, p_n` and :math:`q_1, \\ldots, q_n`, to get the relative\nentropy of statistics compute the sum\n\n.. math::\n\n \\sum_{i = 1}^n \\mathrm{rel\\_entr}(p_i, q_i).\n\nSee [2]_ for details.\n\nReferences\n----------\n.. [1] Grant, Boyd, and Ye, "CVX: Matlab Software for Disciplined Convex\n Programming", http://cvxr.com/cvx/\n.. [2] Kullback-Leibler divergence,\n https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence' - ... - -def rgamma(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "rgamma(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nrgamma(z, out=None)\n\nReciprocal of the gamma function.\n\nDefined as :math:`1 / \\Gamma(z)`, where :math:`\\Gamma` is the\ngamma function. For more on the gamma function see `gamma`.\n\nParameters\n----------\nz : array_like\n Real or complex valued input\nout : ndarray, optional\n Optional output array for the function results\n\nReturns\n-------\nscalar or ndarray\n Function results\n\nNotes\n-----\nThe gamma function has no zeros and has simple poles at\nnonpositive integers, so `rgamma` is an entire function with zeros\nat the nonpositive integers. See the discussion in [dlmf]_ for\nmore details.\n\nSee Also\n--------\ngamma, gammaln, loggamma\n\nReferences\n----------\n.. [dlmf] Nist, Digital Library of Mathematical functions,\n https://dlmf.nist.gov/5.2#i\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt is the reciprocal of the gamma function.\n\n>>> sc.rgamma([1, 2, 3, 4])\narray([1. , 1. , 0.5 , 0.16666667])\n>>> 1 / sc.gamma([1, 2, 3, 4])\narray([1. , 1. , 0.5 , 0.16666667])\n\nIt is zero at nonpositive integers.\n\n>>> sc.rgamma([0, -1, -2, -3])\narray([0., 0., 0., 0.])\n\nIt rapidly underflows to zero along the positive real axis.\n\n>>> sc.rgamma([10, 100, 179])\narray([2.75573192e-006, 1.07151029e-156, 0.00000000e+000])" - ... - -def round(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "round(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nround(x, out=None)\n\nRound to the nearest integer.\n\nReturns the nearest integer to `x`. If `x` ends in 0.5 exactly,\nthe nearest even integer is chosen.\n\nParameters\n----------\nx : array_like\n Real valued input.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n The nearest integers to the elements of `x`. The result is of\n floating type, not integer type.\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt rounds to even.\n\n>>> sc.round([0.5, 1.5])\narray([0., 2.])" - ... - -def seterr() -> typing.Any: - "Set how special-function errors are handled.\n\n Parameters\n ----------\n all : {'ignore', 'warn' 'raise'}, optional\n Set treatment for all type of special-function errors at\n once. The options are:\n\n - 'ignore' Take no action when the error occurs\n - 'warn' Print a `SpecialFunctionWarning` when the error\n occurs (via the Python `warnings` module)\n - 'raise' Raise a `SpecialFunctionError` when the error\n occurs.\n\n The default is to not change the current behavior. If\n behaviors for additional categories of special-function errors\n are specified, then ``all`` is applied first, followed by the\n additional categories.\n singular : {'ignore', 'warn', 'raise'}, optional\n Treatment for singularities.\n underflow : {'ignore', 'warn', 'raise'}, optional\n Treatment for underflow.\n overflow : {'ignore', 'warn', 'raise'}, optional\n Treatment for overflow.\n slow : {'ignore', 'warn', 'raise'}, optional\n Treatment for slow convergence.\n loss : {'ignore', 'warn', 'raise'}, optional\n Treatment for loss of accuracy.\n no_result : {'ignore', 'warn', 'raise'}, optional\n Treatment for failing to find a result.\n domain : {'ignore', 'warn', 'raise'}, optional\n Treatment for an invalid argument to a function.\n arg : {'ignore', 'warn', 'raise'}, optional\n Treatment for an invalid parameter to a function.\n other : {'ignore', 'warn', 'raise'}, optional\n Treatment for an unknown error.\n\n Returns\n -------\n olderr : dict\n Dictionary containing the old settings.\n\n See Also\n --------\n geterr : get the current way of handling special-function errors\n errstate : context manager for special-function error handling\n numpy.seterr : similar numpy function for floating-point errors\n\n Examples\n --------\n >>> import scipy.special as sc\n >>> from pytest import raises\n >>> sc.gammaln(0)\n inf\n >>> olderr = sc.seterr(singular='raise')\n >>> with raises(sc.SpecialFunctionError):\n ... sc.gammaln(0)\n ...\n >>> _ = sc.seterr(**olderr)\n\n We can also raise for every category except one.\n\n >>> olderr = sc.seterr(all='raise', singular='ignore')\n >>> sc.gammaln(0)\n inf\n >>> with raises(sc.SpecialFunctionError):\n ... sc.spence(-1)\n ...\n >>> _ = sc.seterr(**olderr)\n\n " - ... - -def shichi(x, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'shichi(x[, out1, out2], / [, out=(None, None)], *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nshichi(x, out=None)\n\nHyperbolic sine and cosine integrals.\n\nThe hyperbolic sine integral is\n\n.. math::\n\n \\int_0^x \\frac{\\sinh{t}}{t}dt\n\nand the hyperbolic cosine integral is\n\n.. math::\n\n \\gamma + \\log(x) + \\int_0^x \\frac{\\cosh{t} - 1}{t} dt\n\nwhere :math:`\\gamma` is Euler\'s constant and :math:`\\log` is the\nprinciple branch of the logarithm.\n\nParameters\n----------\nx : array_like\n Real or complex points at which to compute the hyperbolic sine\n and cosine integrals.\n\nReturns\n-------\nsi : ndarray\n Hyperbolic sine integral at ``x``\nci : ndarray\n Hyperbolic cosine integral at ``x``\n\nNotes\n-----\nFor real arguments with ``x < 0``, ``chi`` is the real part of the\nhyperbolic cosine integral. For such points ``chi(x)`` and ``chi(x\n+ 0j)`` differ by a factor of ``1j*pi``.\n\nFor real arguments the function is computed by calling Cephes\'\n[1]_ *shichi* routine. For complex arguments the algorithm is based\non Mpmath\'s [2]_ *shi* and *chi* routines.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/\n.. [2] Fredrik Johansson and others.\n "mpmath: a Python library for arbitrary-precision floating-point arithmetic"\n (Version 0.19) http://mpmath.org/' - ... - -def sici(x, out1=..., out2=..., out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'sici(x[, out1, out2], / [, out=(None, None)], *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nsici(x, out=None)\n\nSine and cosine integrals.\n\nThe sine integral is\n\n.. math::\n\n \\int_0^x \\frac{\\sin{t}}{t}dt\n\nand the cosine integral is\n\n.. math::\n\n \\gamma + \\log(x) + \\int_0^x \\frac{\\cos{t} - 1}{t}dt\n\nwhere :math:`\\gamma` is Euler\'s constant and :math:`\\log` is the\nprinciple branch of the logarithm.\n\nParameters\n----------\nx : array_like\n Real or complex points at which to compute the sine and cosine\n integrals.\n\nReturns\n-------\nsi : ndarray\n Sine integral at ``x``\nci : ndarray\n Cosine integral at ``x``\n\nNotes\n-----\nFor real arguments with ``x < 0``, ``ci`` is the real part of the\ncosine integral. For such points ``ci(x)`` and ``ci(x + 0j)``\ndiffer by a factor of ``1j*pi``.\n\nFor real arguments the function is computed by calling Cephes\'\n[1]_ *sici* routine. For complex arguments the algorithm is based\non Mpmath\'s [2]_ *si* and *ci* routines.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/\n.. [2] Fredrik Johansson and others.\n "mpmath: a Python library for arbitrary-precision floating-point arithmetic"\n (Version 0.19) http://mpmath.org/' - ... - -def sindg(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "sindg(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nsindg(x, out=None)\n\nSine of the angle `x` given in degrees.\n\nParameters\n----------\nx : array_like\n Angle, given in degrees.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n Sine at the input.\n\nSee Also\n--------\ncosdg, tandg, cotdg\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt is more accurate than using sine directly.\n\n>>> x = 180 * np.arange(3)\n>>> sc.sindg(x)\narray([ 0., -0., 0.])\n>>> np.sin(x * np.pi / 180)\narray([ 0.0000000e+00, 1.2246468e-16, -2.4492936e-16])" - ... - -def smirnov(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "smirnov(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nsmirnov(n, d)\n\nKolmogorov-Smirnov complementary cumulative distribution function\n\nReturns the exact Kolmogorov-Smirnov complementary cumulative\ndistribution function,(aka the Survival Function) of Dn+ (or Dn-)\nfor a one-sided test of equality between an empirical and a\ntheoretical distribution. It is equal to the probability that the\nmaximum difference between a theoretical distribution and an empirical\none based on `n` samples is greater than d.\n\nParameters\n----------\nn : int\n Number of samples\nd : float array_like\n Deviation between the Empirical CDF (ECDF) and the target CDF.\n\nReturns\n-------\nfloat\n The value(s) of smirnov(n, d), Prob(Dn+ >= d) (Also Prob(Dn- >= d))\n\nNotes\n-----\n`smirnov` is used by `stats.kstest` in the application of the\nKolmogorov-Smirnov Goodness of Fit test. For historial reasons this\nfunction is exposed in `scpy.special`, but the recommended way to achieve\nthe most accurate CDF/SF/PDF/PPF/ISF computations is to use the\n`stats.ksone` distribution.\n\nSee Also\n--------\nsmirnovi : The Inverse Survival Function for the distribution\nscipy.stats.ksone : Provides the functionality as a continuous distribution\nkolmogorov, kolmogi : Functions for the two-sided distribution\n\nExamples\n--------\n>>> from scipy.special import smirnov\n\nShow the probability of a gap at least as big as 0, 0.5 and 1.0 for a sample of size 5\n\n>>> smirnov(5, [0, 0.5, 1.0])\narray([ 1. , 0.056, 0. ])\n\nCompare a sample of size 5 drawn from a source N(0.5, 1) distribution against\na target N(0, 1) CDF.\n\n>>> from scipy.stats import norm\n>>> n = 5\n>>> gendist = norm(0.5, 1) # Normal distribution, mean 0.5, stddev 1\n>>> np.random.seed(seed=233423) # Set the seed for reproducibility\n>>> x = np.sort(gendist.rvs(size=n))\n>>> x\narray([-0.20946287, 0.71688765, 0.95164151, 1.44590852, 3.08880533])\n>>> target = norm(0, 1)\n>>> cdfs = target.cdf(x)\n>>> cdfs\narray([ 0.41704346, 0.76327829, 0.82936059, 0.92589857, 0.99899518])\n# Construct the Empirical CDF and the K-S statistics (Dn+, Dn-, Dn)\n>>> ecdfs = np.arange(n+1, dtype=float)/n\n>>> cols = np.column_stack([x, ecdfs[1:], cdfs, cdfs - ecdfs[:n], ecdfs[1:] - cdfs])\n>>> np.set_printoptions(precision=3)\n>>> cols\narray([[ -2.095e-01, 2.000e-01, 4.170e-01, 4.170e-01, -2.170e-01],\n [ 7.169e-01, 4.000e-01, 7.633e-01, 5.633e-01, -3.633e-01],\n [ 9.516e-01, 6.000e-01, 8.294e-01, 4.294e-01, -2.294e-01],\n [ 1.446e+00, 8.000e-01, 9.259e-01, 3.259e-01, -1.259e-01],\n [ 3.089e+00, 1.000e+00, 9.990e-01, 1.990e-01, 1.005e-03]])\n>>> gaps = cols[:, -2:]\n>>> Dnpm = np.max(gaps, axis=0)\n>>> print('Dn-=%f, Dn+=%f' % (Dnpm[0], Dnpm[1]))\nDn-=0.563278, Dn+=0.001005\n>>> probs = smirnov(n, Dnpm)\n>>> print(chr(10).join(['For a sample of size %d drawn from a N(0, 1) distribution:' % n,\n... ' Smirnov n=%d: Prob(Dn- >= %f) = %.4f' % (n, Dnpm[0], probs[0]),\n... ' Smirnov n=%d: Prob(Dn+ >= %f) = %.4f' % (n, Dnpm[1], probs[1])]))\nFor a sample of size 5 drawn from a N(0, 1) distribution:\n Smirnov n=5: Prob(Dn- >= 0.563278) = 0.0250\n Smirnov n=5: Prob(Dn+ >= 0.001005) = 0.9990\n\nPlot the Empirical CDF against the target N(0, 1) CDF\n\n>>> import matplotlib.pyplot as plt\n>>> plt.step(np.concatenate([[-3], x]), ecdfs, where='post', label='Empirical CDF')\n>>> x3 = np.linspace(-3, 3, 100)\n>>> plt.plot(x3, target.cdf(x3), label='CDF for N(0, 1)')\n>>> plt.ylim([0, 1]); plt.grid(True); plt.legend();\n# Add vertical lines marking Dn+ and Dn-\n>>> iminus, iplus = np.argmax(gaps, axis=0)\n>>> plt.vlines([x[iminus]], ecdfs[iminus], cdfs[iminus], color='r', linestyle='dashed', lw=4)\n>>> plt.vlines([x[iplus]], cdfs[iplus], ecdfs[iplus+1], color='m', linestyle='dashed', lw=4)\n>>> plt.show()" - ... - -def smirnovi(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "smirnovi(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nsmirnovi(n, p)\n\nInverse to `smirnov`\n\nReturns `d` such that ``smirnov(n, d) == p``, the critical value\ncorresponding to `p`.\n\nParameters\n----------\nn : int\n Number of samples\np : float array_like\n Probability\n\nReturns\n-------\nfloat\n The value(s) of smirnovi(n, p), the critical values.\n\nNotes\n-----\n`smirnov` is used by `stats.kstest` in the application of the\nKolmogorov-Smirnov Goodness of Fit test. For historial reasons this\nfunction is exposed in `scpy.special`, but the recommended way to achieve\nthe most accurate CDF/SF/PDF/PPF/ISF computations is to use the\n`stats.ksone` distribution.\n\nSee Also\n--------\nsmirnov : The Survival Function (SF) for the distribution\nscipy.stats.ksone : Provides the functionality as a continuous distribution\nkolmogorov, kolmogi, scipy.stats.kstwobign : Functions for the two-sided distribution" - ... - -def spence(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "spence(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nspence(z, out=None)\n\nSpence's function, also known as the dilogarithm.\n\nIt is defined to be\n\n.. math::\n \\int_0^z \\frac{\\log(t)}{1 - t}dt\n\nfor complex :math:`z`, where the contour of integration is taken\nto avoid the branch cut of the logarithm. Spence's function is\nanalytic everywhere except the negative real axis where it has a\nbranch cut.\n\nParameters\n----------\nz : array_like\n Points at which to evaluate Spence's function\n\nReturns\n-------\ns : ndarray\n Computed values of Spence's function\n\nNotes\n-----\nThere is a different convention which defines Spence's function by\nthe integral\n\n.. math::\n -\\int_0^z \\frac{\\log(1 - t)}{t}dt;\n\nthis is our ``spence(1 - z)``." - ... - -def sph_harm(x1, x2, x3, x4, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "sph_harm(x1, x2, x3, x4, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nsph_harm(m, n, theta, phi)\n\nCompute spherical harmonics.\n\nThe spherical harmonics are defined as\n\n.. math::\n\n Y^m_n(\\theta,\\phi) = \\sqrt{\\frac{2n+1}{4\\pi} \\frac{(n-m)!}{(n+m)!}}\n e^{i m \\theta} P^m_n(\\cos(\\phi))\n\nwhere :math:`P_n^m` are the associated Legendre functions; see `lpmv`.\n\nParameters\n----------\nm : array_like\n Order of the harmonic (int); must have ``|m| <= n``.\nn : array_like\n Degree of the harmonic (int); must have ``n >= 0``. This is\n often denoted by ``l`` (lower case L) in descriptions of\n spherical harmonics.\ntheta : array_like\n Azimuthal (longitudinal) coordinate; must be in ``[0, 2*pi]``.\nphi : array_like\n Polar (colatitudinal) coordinate; must be in ``[0, pi]``.\n\nReturns\n-------\ny_mn : complex float\n The harmonic :math:`Y^m_n` sampled at ``theta`` and ``phi``.\n\nNotes\n-----\nThere are different conventions for the meanings of the input\narguments ``theta`` and ``phi``. In SciPy ``theta`` is the\nazimuthal angle and ``phi`` is the polar angle. It is common to\nsee the opposite convention, that is, ``theta`` as the polar angle\nand ``phi`` as the azimuthal angle.\n\nNote that SciPy's spherical harmonics include the Condon-Shortley\nphase [2]_ because it is part of `lpmv`.\n\nWith SciPy's conventions, the first several spherical harmonics\nare\n\n.. math::\n\n Y_0^0(\\theta, \\phi) &= \\frac{1}{2} \\sqrt{\\frac{1}{\\pi}} \\\\\n Y_1^{-1}(\\theta, \\phi) &= \\frac{1}{2} \\sqrt{\\frac{3}{2\\pi}}\n e^{-i\\theta} \\sin(\\phi) \\\\\n Y_1^0(\\theta, \\phi) &= \\frac{1}{2} \\sqrt{\\frac{3}{\\pi}}\n \\cos(\\phi) \\\\\n Y_1^1(\\theta, \\phi) &= -\\frac{1}{2} \\sqrt{\\frac{3}{2\\pi}}\n e^{i\\theta} \\sin(\\phi).\n\nReferences\n----------\n.. [1] Digital Library of Mathematical Functions, 14.30.\n https://dlmf.nist.gov/14.30\n.. [2] https://en.wikipedia.org/wiki/Spherical_harmonics#Condon.E2.80.93Shortley_phase" - ... - -def stdtr(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "stdtr(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nstdtr(df, t)\n\nStudent t distribution cumulative distribution function\n\nReturns the integral from minus infinity to t of the Student t\ndistribution with df > 0 degrees of freedom::\n\n gamma((df+1)/2)/(sqrt(df*pi)*gamma(df/2)) *\n integral((1+x**2/df)**(-df/2-1/2), x=-inf..t)" - ... - -def stdtridf(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "stdtridf(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nstdtridf(p, t)\n\nInverse of `stdtr` vs df\n\nReturns the argument df such that stdtr(df, t) is equal to `p`." - ... - -def stdtrit(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "stdtrit(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nstdtrit(df, p)\n\nInverse of `stdtr` vs `t`\n\nReturns the argument `t` such that stdtr(df, t) is equal to `p`." - ... - -def struve(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "struve(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nstruve(v, x)\n\nStruve function.\n\nReturn the value of the Struve function of order `v` at `x`. The Struve\nfunction is defined as,\n\n.. math::\n H_v(x) = (z/2)^{v + 1} \\sum_{n=0}^\\infty \\frac{(-1)^n (z/2)^{2n}}{\\Gamma(n + \\frac{3}{2}) \\Gamma(n + v + \\frac{3}{2})},\n\nwhere :math:`\\Gamma` is the gamma function.\n\nParameters\n----------\nv : array_like\n Order of the Struve function (float).\nx : array_like\n Argument of the Struve function (float; must be positive unless `v` is\n an integer).\n\nReturns\n-------\nH : ndarray\n Value of the Struve function of order `v` at `x`.\n\nNotes\n-----\nThree methods discussed in [1]_ are used to evaluate the Struve function:\n\n- power series\n- expansion in Bessel functions (if :math:`|z| < |v| + 20`)\n- asymptotic large-z expansion (if :math:`z \\geq 0.7v + 12`)\n\nRounding errors are estimated based on the largest terms in the sums, and\nthe result associated with the smallest error is returned.\n\nSee also\n--------\nmodstruve\n\nReferences\n----------\n.. [1] NIST Digital Library of Mathematical Functions\n https://dlmf.nist.gov/11" - ... - -def tandg(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "tandg(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ntandg(x, out=None)\n\nTangent of angle `x` given in degrees.\n\nParameters\n----------\nx : array_like\n Angle, given in degrees.\nout : ndarray, optional\n Optional output array for the function results.\n\nReturns\n-------\nscalar or ndarray\n Tangent at the input.\n\nSee Also\n--------\nsindg, cosdg, cotdg\n\nExamples\n--------\n>>> import scipy.special as sc\n\nIt is more accurate than using tangent directly.\n\n>>> x = 180 * np.arange(3)\n>>> sc.tandg(x)\narray([0., 0., 0.])\n>>> np.tan(x * np.pi / 180)\narray([ 0.0000000e+00, -1.2246468e-16, -2.4492936e-16])" - ... - -def tklmbda(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "tklmbda(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ntklmbda(x, lmbda)\n\nTukey-Lambda cumulative distribution function" - ... - -def voigt_profile(x1, x2, x3, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "voigt_profile(x1, x2, x3, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nvoigt_profile(x, sigma, gamma, out=None)\n\nVoigt profile.\n\nThe Voigt profile is a convolution of a 1-D Normal distribution with\nstandard deviation ``sigma`` and a 1-D Cauchy distribution with half-width at\nhalf-maximum ``gamma``.\n\nIf ``sigma = 0``, PDF of Cauchy distribution is returned.\nConversely, if ``gamma = 0``, PDF of Normal distribution is returned.\nIf ``sigma = gamma = 0``, the return value is ``Inf`` for ``x = 0``, and ``0`` for all other ``x``.\n\nParameters\n----------\nx : array_like\n Real argument\nsigma : array_like\n The standard deviation of the Normal distribution part\ngamma : array_like\n The half-width at half-maximum of the Cauchy distribution part\nout : ndarray, optional\n Optional output array for the function values\n\nReturns\n-------\nscalar or ndarray\n The Voigt profile at the given arguments\n\nNotes\n-----\nIt can be expressed in terms of Faddeeva function\n\n.. math:: V(x; \\sigma, \\gamma) = \\frac{Re[w(z)]}{\\sigma\\sqrt{2\\pi}},\n.. math:: z = \\frac{x + i\\gamma}{\\sqrt{2}\\sigma}\n\nwhere :math:`w(z)` is the Faddeeva function.\n\nSee Also\n--------\nwofz : Faddeeva function\n\nReferences\n----------\n.. [1] https://en.wikipedia.org/wiki/Voigt_profile" - ... - -def wofz(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "wofz(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nwofz(z)\n\nFaddeeva function\n\nReturns the value of the Faddeeva function for complex argument::\n\n exp(-z**2) * erfc(-i*z)\n\nSee Also\n--------\ndawsn, erf, erfc, erfcx, erfi\n\nReferences\n----------\n.. [1] Steven G. Johnson, Faddeeva W function implementation.\n http://ab-initio.mit.edu/Faddeeva\n\nExamples\n--------\n>>> from scipy import special\n>>> import matplotlib.pyplot as plt\n\n>>> x = np.linspace(-3, 3)\n>>> z = special.wofz(x)\n\n>>> plt.plot(x, z.real, label='wofz(x).real')\n>>> plt.plot(x, z.imag, label='wofz(x).imag')\n>>> plt.xlabel('$x$')\n>>> plt.legend(framealpha=1, shadow=True)\n>>> plt.grid(alpha=0.25)\n>>> plt.show()" - ... - -def wrightomega(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'wrightomega(x, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nwrightomega(z, out=None)\n\nWright Omega function.\n\nDefined as the solution to\n\n.. math::\n\n \\omega + \\log(\\omega) = z\n\nwhere :math:`\\log` is the principal branch of the complex logarithm.\n\nParameters\n----------\nz : array_like\n Points at which to evaluate the Wright Omega function\n\nReturns\n-------\nomega : ndarray\n Values of the Wright Omega function\n\nNotes\n-----\n.. versionadded:: 0.19.0\n\nThe function can also be defined as\n\n.. math::\n\n \\omega(z) = W_{K(z)}(e^z)\n\nwhere :math:`K(z) = \\lceil (\\Im(z) - \\pi)/(2\\pi) \\rceil` is the\nunwinding number and :math:`W` is the Lambert W function.\n\nThe implementation here is taken from [1]_.\n\nSee Also\n--------\nlambertw : The Lambert W function\n\nReferences\n----------\n.. [1] Lawrence, Corless, and Jeffrey, "Algorithm 917: Complex\n Double-Precision Evaluation of the Wright :math:`\\omega`\n Function." ACM Transactions on Mathematical Software,\n 2012. :doi:`10.1145/2168773.2168779`.' - ... - -def xlog1py(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "xlog1py(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nxlog1py(x, y)\n\nCompute ``x*log1p(y)`` so that the result is 0 if ``x = 0``.\n\nParameters\n----------\nx : array_like\n Multiplier\ny : array_like\n Argument\n\nReturns\n-------\nz : array_like\n Computed x*log1p(y)\n\nNotes\n-----\n\n.. versionadded:: 0.13.0" - ... - -def xlogy(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "xlogy(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nxlogy(x, y)\n\nCompute ``x*log(y)`` so that the result is 0 if ``x = 0``.\n\nParameters\n----------\nx : array_like\n Multiplier\ny : array_like\n Argument\n\nReturns\n-------\nz : array_like\n Computed x*log(y)\n\nNotes\n-----\n\n.. versionadded:: 0.13.0" - ... - -def y0(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "y0(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ny0(x)\n\nBessel function of the second kind of order 0.\n\nParameters\n----------\nx : array_like\n Argument (float).\n\nReturns\n-------\nY : ndarray\n Value of the Bessel function of the second kind of order 0 at `x`.\n\nNotes\n-----\n\nThe domain is divided into the intervals [0, 5] and (5, infinity). In the\nfirst interval a rational approximation :math:`R(x)` is employed to\ncompute,\n\n.. math::\n\n Y_0(x) = R(x) + \\frac{2 \\log(x) J_0(x)}{\\pi},\n\nwhere :math:`J_0` is the Bessel function of the first kind of order 0.\n\nIn the second interval, the Hankel asymptotic expansion is employed with\ntwo rational functions of degree 6/6 and 7/7.\n\nThis function is a wrapper for the Cephes [1]_ routine `y0`.\n\nSee also\n--------\nj0\nyv\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def y1(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "y1(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\ny1(x)\n\nBessel function of the second kind of order 1.\n\nParameters\n----------\nx : array_like\n Argument (float).\n\nReturns\n-------\nY : ndarray\n Value of the Bessel function of the second kind of order 1 at `x`.\n\nNotes\n-----\n\nThe domain is divided into the intervals [0, 8] and (8, infinity). In the\nfirst interval a 25 term Chebyshev expansion is used, and computing\n:math:`J_1` (the Bessel function of the first kind) is required. In the\nsecond, the asymptotic trigonometric representation is employed using two\nrational functions of degree 5/5.\n\nThis function is a wrapper for the Cephes [1]_ routine `y1`.\n\nSee also\n--------\nj1\nyn\nyv\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def yn(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "yn(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nyn(n, x)\n\nBessel function of the second kind of integer order and real argument.\n\nParameters\n----------\nn : array_like\n Order (integer).\nz : array_like\n Argument (float).\n\nReturns\n-------\nY : ndarray\n Value of the Bessel function, :math:`Y_n(x)`.\n\nNotes\n-----\nWrapper for the Cephes [1]_ routine `yn`.\n\nThe function is evaluated by forward recurrence on `n`, starting with\nvalues computed by the Cephes routines `y0` and `y1`. If `n = 0` or 1,\nthe routine for `y0` or `y1` is called directly.\n\nSee also\n--------\nyv : For real order and real or complex argument.\n\nReferences\n----------\n.. [1] Cephes Mathematical Functions Library,\n http://www.netlib.org/cephes/" - ... - -def yv(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'yv(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nyv(v, z)\n\nBessel function of the second kind of real order and complex argument.\n\nParameters\n----------\nv : array_like\n Order (float).\nz : array_like\n Argument (float or complex).\n\nReturns\n-------\nY : ndarray\n Value of the Bessel function of the second kind, :math:`Y_v(x)`.\n\nNotes\n-----\nFor positive `v` values, the computation is carried out using the\nAMOS [1]_ `zbesy` routine, which exploits the connection to the Hankel\nBessel functions :math:`H_v^{(1)}` and :math:`H_v^{(2)}`,\n\n.. math:: Y_v(z) = \\frac{1}{2\\imath} (H_v^{(1)} - H_v^{(2)}).\n\nFor negative `v` values the formula,\n\n.. math:: Y_{-v}(z) = Y_v(z) \\cos(\\pi v) + J_v(z) \\sin(\\pi v)\n\nis used, where :math:`J_v(z)` is the Bessel function of the first kind,\ncomputed using the AMOS routine `zbesj`. Note that the second term is\nexactly zero for integer `v`; to improve accuracy the second term is\nexplicitly omitted for `v` values such that `v = floor(v)`.\n\nSee also\n--------\nyve : :math:`Y_v` with leading exponential behavior stripped off.\n\nReferences\n----------\n.. [1] Donald E. Amos, "AMOS, A Portable Package for Bessel Functions\n of a Complex Argument and Nonnegative Order",\n http://netlib.org/amos/' - ... - -def yve(x1, x2, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - 'yve(x1, x2, /, out=None, *, where=True, casting=\'same_kind\', order=\'K\', dtype=None, subok=True[, signature, extobj])\n\nyve(v, z)\n\nExponentially scaled Bessel function of the second kind of real order.\n\nReturns the exponentially scaled Bessel function of the second\nkind of real order `v` at complex `z`::\n\n yve(v, z) = yv(v, z) * exp(-abs(z.imag))\n\nParameters\n----------\nv : array_like\n Order (float).\nz : array_like\n Argument (float or complex).\n\nReturns\n-------\nY : ndarray\n Value of the exponentially scaled Bessel function.\n\nNotes\n-----\nFor positive `v` values, the computation is carried out using the\nAMOS [1]_ `zbesy` routine, which exploits the connection to the Hankel\nBessel functions :math:`H_v^{(1)}` and :math:`H_v^{(2)}`,\n\n.. math:: Y_v(z) = \\frac{1}{2\\imath} (H_v^{(1)} - H_v^{(2)}).\n\nFor negative `v` values the formula,\n\n.. math:: Y_{-v}(z) = Y_v(z) \\cos(\\pi v) + J_v(z) \\sin(\\pi v)\n\nis used, where :math:`J_v(z)` is the Bessel function of the first kind,\ncomputed using the AMOS routine `zbesj`. Note that the second term is\nexactly zero for integer `v`; to improve accuracy the second term is\nexplicitly omitted for `v` values such that `v = floor(v)`.\n\nReferences\n----------\n.. [1] Donald E. Amos, "AMOS, A Portable Package for Bessel Functions\n of a Complex Argument and Nonnegative Order",\n http://netlib.org/amos/' - ... - -def zetac(x, out=..., *, where=..., casting=..., order=..., dtype=..., subok=..., signature=..., extobj=...) -> typing.Any: - "zetac(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n\nzetac(x)\n\nRiemann zeta function minus 1.\n\nThis function is defined as\n\n.. math:: \\zeta(x) = \\sum_{k=2}^{\\infty} 1 / k^x,\n\nwhere ``x > 1``. For ``x < 1`` the analytic continuation is\ncomputed. For more information on the Riemann zeta function, see\n[dlmf]_.\n\nParameters\n----------\nx : array_like of float\n Values at which to compute zeta(x) - 1 (must be real).\n\nReturns\n-------\nout : array_like\n Values of zeta(x) - 1.\n\nSee Also\n--------\nzeta\n\nExamples\n--------\n>>> from scipy.special import zetac, zeta\n\nSome special values:\n\n>>> zetac(2), np.pi**2/6 - 1\n(0.64493406684822641, 0.6449340668482264)\n\n>>> zetac(-1), -1.0/12 - 1\n(-1.0833333333333333, -1.0833333333333333)\n\nCompare ``zetac(x)`` to ``zeta(x) - 1`` for large `x`:\n\n>>> zetac(60), zeta(60) - 1\n(8.673617380119933e-19, 0.0)\n\nReferences\n----------\n.. [dlmf] NIST Digital Library of Mathematical Functions\n https://dlmf.nist.gov/25" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_ufuncs_cxx.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_ufuncs_cxx.pyi deleted file mode 100644 index 6b74403e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/_ufuncs_cxx.pyi +++ /dev/null @@ -1,15 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.special._ufuncs_cxx, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -__test__: dict -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/cython_special.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/cython_special.pyi deleted file mode 100644 index ee047199..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/cython_special.pyi +++ /dev/null @@ -1,964 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.special.cython_special, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -__test__: dict -def _airy_pywrap(x0) -> typing.Any: - ... - -def _airye_pywrap(x0) -> typing.Any: - ... - -def _bench_airy_D_cy() -> typing.Any: - ... - -def _bench_airy_D_py() -> typing.Any: - ... - -def _bench_airy_d_cy() -> typing.Any: - ... - -def _bench_airy_d_py() -> typing.Any: - ... - -def _bench_beta_dd_cy() -> typing.Any: - ... - -def _bench_beta_dd_py() -> typing.Any: - ... - -def _bench_erf_D_cy() -> typing.Any: - ... - -def _bench_erf_D_py() -> typing.Any: - ... - -def _bench_erf_d_cy() -> typing.Any: - ... - -def _bench_erf_d_py() -> typing.Any: - ... - -def _bench_exprel_d_cy() -> typing.Any: - ... - -def _bench_exprel_d_py() -> typing.Any: - ... - -def _bench_gamma_D_cy() -> typing.Any: - ... - -def _bench_gamma_D_py() -> typing.Any: - ... - -def _bench_gamma_d_cy() -> typing.Any: - ... - -def _bench_gamma_d_py() -> typing.Any: - ... - -def _bench_jv_dD_cy() -> typing.Any: - ... - -def _bench_jv_dD_py() -> typing.Any: - ... - -def _bench_jv_dd_cy() -> typing.Any: - ... - -def _bench_jv_dd_py() -> typing.Any: - ... - -def _bench_loggamma_D_cy() -> typing.Any: - ... - -def _bench_loggamma_D_py() -> typing.Any: - ... - -def _bench_logit_d_cy() -> typing.Any: - ... - -def _bench_logit_d_py() -> typing.Any: - ... - -def _bench_psi_D_cy() -> typing.Any: - ... - -def _bench_psi_D_py() -> typing.Any: - ... - -def _bench_psi_d_cy() -> typing.Any: - ... - -def _bench_psi_d_py() -> typing.Any: - ... - -def _ellipj_pywrap() -> typing.Any: - ... - -def _fresnel_pywrap(x0) -> typing.Any: - ... - -def _it2i0k0_pywrap() -> typing.Any: - ... - -def _it2j0y0_pywrap() -> typing.Any: - ... - -def _itairy_pywrap() -> typing.Any: - ... - -def _iti0k0_pywrap() -> typing.Any: - ... - -def _itj0y0_pywrap() -> typing.Any: - ... - -def _kelvin_pywrap() -> typing.Any: - ... - -def _mathieu_cem_pywrap() -> typing.Any: - ... - -def _mathieu_modcem1_pywrap() -> typing.Any: - ... - -def _mathieu_modcem2_pywrap() -> typing.Any: - ... - -def _mathieu_modsem1_pywrap() -> typing.Any: - ... - -def _mathieu_modsem2_pywrap() -> typing.Any: - ... - -def _mathieu_sem_pywrap() -> typing.Any: - ... - -def _modfresnelm_pywrap() -> typing.Any: - ... - -def _modfresnelp_pywrap() -> typing.Any: - ... - -def _obl_ang1_cv_pywrap() -> typing.Any: - ... - -def _obl_ang1_pywrap() -> typing.Any: - ... - -def _obl_rad1_cv_pywrap() -> typing.Any: - ... - -def _obl_rad1_pywrap() -> typing.Any: - ... - -def _obl_rad2_cv_pywrap() -> typing.Any: - ... - -def _obl_rad2_pywrap() -> typing.Any: - ... - -def _pbdv_pywrap() -> typing.Any: - ... - -def _pbvv_pywrap() -> typing.Any: - ... - -def _pbwa_pywrap() -> typing.Any: - ... - -def _pro_ang1_cv_pywrap() -> typing.Any: - ... - -def _pro_ang1_pywrap() -> typing.Any: - ... - -def _pro_rad1_cv_pywrap() -> typing.Any: - ... - -def _pro_rad1_pywrap() -> typing.Any: - ... - -def _pro_rad2_cv_pywrap() -> typing.Any: - ... - -def _pro_rad2_pywrap() -> typing.Any: - ... - -def _shichi_pywrap(x0) -> typing.Any: - ... - -def _sici_pywrap(x0) -> typing.Any: - ... - -def agm() -> typing.Any: - 'See the documentation for scipy.special.agm' - ... - -def bdtr(x0, x1, x2) -> typing.Any: - 'See the documentation for scipy.special.bdtr' - ... - -def bdtrc(x0, x1, x2) -> typing.Any: - 'See the documentation for scipy.special.bdtrc' - ... - -def bdtri(x0, x1, x2) -> typing.Any: - 'See the documentation for scipy.special.bdtri' - ... - -def bdtrik() -> typing.Any: - 'See the documentation for scipy.special.bdtrik' - ... - -def bdtrin() -> typing.Any: - 'See the documentation for scipy.special.bdtrin' - ... - -def bei() -> typing.Any: - 'See the documentation for scipy.special.bei' - ... - -def beip() -> typing.Any: - 'See the documentation for scipy.special.beip' - ... - -def ber() -> typing.Any: - 'See the documentation for scipy.special.ber' - ... - -def berp() -> typing.Any: - 'See the documentation for scipy.special.berp' - ... - -def besselpoly() -> typing.Any: - 'See the documentation for scipy.special.besselpoly' - ... - -def beta() -> typing.Any: - 'See the documentation for scipy.special.beta' - ... - -def betainc() -> typing.Any: - 'See the documentation for scipy.special.betainc' - ... - -def betaincinv() -> typing.Any: - 'See the documentation for scipy.special.betaincinv' - ... - -def betaln() -> typing.Any: - 'See the documentation for scipy.special.betaln' - ... - -def binom() -> typing.Any: - 'See the documentation for scipy.special.binom' - ... - -def boxcox() -> typing.Any: - 'See the documentation for scipy.special.boxcox' - ... - -def boxcox1p() -> typing.Any: - 'See the documentation for scipy.special.boxcox1p' - ... - -def btdtr() -> typing.Any: - 'See the documentation for scipy.special.btdtr' - ... - -def btdtri() -> typing.Any: - 'See the documentation for scipy.special.btdtri' - ... - -def btdtria() -> typing.Any: - 'See the documentation for scipy.special.btdtria' - ... - -def btdtrib() -> typing.Any: - 'See the documentation for scipy.special.btdtrib' - ... - -def cbrt() -> typing.Any: - 'See the documentation for scipy.special.cbrt' - ... - -def chdtr() -> typing.Any: - 'See the documentation for scipy.special.chdtr' - ... - -def chdtrc() -> typing.Any: - 'See the documentation for scipy.special.chdtrc' - ... - -def chdtri() -> typing.Any: - 'See the documentation for scipy.special.chdtri' - ... - -def chdtriv() -> typing.Any: - 'See the documentation for scipy.special.chdtriv' - ... - -def chndtr() -> typing.Any: - 'See the documentation for scipy.special.chndtr' - ... - -def chndtridf() -> typing.Any: - 'See the documentation for scipy.special.chndtridf' - ... - -def chndtrinc() -> typing.Any: - 'See the documentation for scipy.special.chndtrinc' - ... - -def chndtrix() -> typing.Any: - 'See the documentation for scipy.special.chndtrix' - ... - -def cosdg() -> typing.Any: - 'See the documentation for scipy.special.cosdg' - ... - -def cosm1() -> typing.Any: - 'See the documentation for scipy.special.cosm1' - ... - -def cotdg() -> typing.Any: - 'See the documentation for scipy.special.cotdg' - ... - -def dawsn(x0) -> typing.Any: - 'See the documentation for scipy.special.dawsn' - ... - -def ellipe() -> typing.Any: - 'See the documentation for scipy.special.ellipe' - ... - -def ellipeinc() -> typing.Any: - 'See the documentation for scipy.special.ellipeinc' - ... - -def ellipk() -> typing.Any: - 'See the documentation for scipy.special.ellipk' - ... - -def ellipkinc() -> typing.Any: - 'See the documentation for scipy.special.ellipkinc' - ... - -def ellipkm1() -> typing.Any: - 'See the documentation for scipy.special.ellipkm1' - ... - -def entr() -> typing.Any: - 'See the documentation for scipy.special.entr' - ... - -def erf(x0) -> typing.Any: - 'See the documentation for scipy.special.erf' - ... - -def erfc(x0) -> typing.Any: - 'See the documentation for scipy.special.erfc' - ... - -def erfcinv() -> typing.Any: - 'See the documentation for scipy.special.erfcinv' - ... - -def erfcx(x0) -> typing.Any: - 'See the documentation for scipy.special.erfcx' - ... - -def erfi(x0) -> typing.Any: - 'See the documentation for scipy.special.erfi' - ... - -def erfinv() -> typing.Any: - 'See the documentation for scipy.special.erfinv' - ... - -def eval_chebyc(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.eval_chebyc' - ... - -def eval_chebys(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.eval_chebys' - ... - -def eval_chebyt(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.eval_chebyt' - ... - -def eval_chebyu(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.eval_chebyu' - ... - -def eval_gegenbauer(x0, x1, x2) -> typing.Any: - 'See the documentation for scipy.special.eval_gegenbauer' - ... - -def eval_genlaguerre(x0, x1, x2) -> typing.Any: - 'See the documentation for scipy.special.eval_genlaguerre' - ... - -def eval_hermite() -> typing.Any: - 'See the documentation for scipy.special.eval_hermite' - ... - -def eval_hermitenorm() -> typing.Any: - 'See the documentation for scipy.special.eval_hermitenorm' - ... - -def eval_jacobi(x0, x1, x2, x3) -> typing.Any: - 'See the documentation for scipy.special.eval_jacobi' - ... - -def eval_laguerre(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.eval_laguerre' - ... - -def eval_legendre(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.eval_legendre' - ... - -def eval_sh_chebyt(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.eval_sh_chebyt' - ... - -def eval_sh_chebyu(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.eval_sh_chebyu' - ... - -def eval_sh_jacobi(x0, x1, x2, x3) -> typing.Any: - 'See the documentation for scipy.special.eval_sh_jacobi' - ... - -def eval_sh_legendre(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.eval_sh_legendre' - ... - -def exp1(x0) -> typing.Any: - 'See the documentation for scipy.special.exp1' - ... - -def exp10() -> typing.Any: - 'See the documentation for scipy.special.exp10' - ... - -def exp2() -> typing.Any: - 'See the documentation for scipy.special.exp2' - ... - -def expi(x0) -> typing.Any: - 'See the documentation for scipy.special.expi' - ... - -def expit(x0) -> typing.Any: - 'See the documentation for scipy.special.expit' - ... - -def expm1(x0) -> typing.Any: - 'See the documentation for scipy.special.expm1' - ... - -def expn(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.expn' - ... - -def exprel() -> typing.Any: - 'See the documentation for scipy.special.exprel' - ... - -def fdtr() -> typing.Any: - 'See the documentation for scipy.special.fdtr' - ... - -def fdtrc() -> typing.Any: - 'See the documentation for scipy.special.fdtrc' - ... - -def fdtri() -> typing.Any: - 'See the documentation for scipy.special.fdtri' - ... - -def fdtridfd() -> typing.Any: - 'See the documentation for scipy.special.fdtridfd' - ... - -def gamma(x0) -> typing.Any: - 'See the documentation for scipy.special.gamma' - ... - -def gammainc() -> typing.Any: - 'See the documentation for scipy.special.gammainc' - ... - -def gammaincc() -> typing.Any: - 'See the documentation for scipy.special.gammaincc' - ... - -def gammainccinv() -> typing.Any: - 'See the documentation for scipy.special.gammainccinv' - ... - -def gammaincinv() -> typing.Any: - 'See the documentation for scipy.special.gammaincinv' - ... - -def gammaln() -> typing.Any: - 'See the documentation for scipy.special.gammaln' - ... - -def gammasgn() -> typing.Any: - 'See the documentation for scipy.special.gammasgn' - ... - -def gdtr() -> typing.Any: - 'See the documentation for scipy.special.gdtr' - ... - -def gdtrc() -> typing.Any: - 'See the documentation for scipy.special.gdtrc' - ... - -def gdtria() -> typing.Any: - 'See the documentation for scipy.special.gdtria' - ... - -def gdtrib() -> typing.Any: - 'See the documentation for scipy.special.gdtrib' - ... - -def gdtrix() -> typing.Any: - 'See the documentation for scipy.special.gdtrix' - ... - -def hankel1() -> typing.Any: - 'See the documentation for scipy.special.hankel1' - ... - -def hankel1e() -> typing.Any: - 'See the documentation for scipy.special.hankel1e' - ... - -def hankel2() -> typing.Any: - 'See the documentation for scipy.special.hankel2' - ... - -def hankel2e() -> typing.Any: - 'See the documentation for scipy.special.hankel2e' - ... - -def huber() -> typing.Any: - 'See the documentation for scipy.special.huber' - ... - -def hyp0f1(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.hyp0f1' - ... - -def hyp1f1(x0, x1, x2) -> typing.Any: - 'See the documentation for scipy.special.hyp1f1' - ... - -def hyp2f1(x0, x1, x2, x3) -> typing.Any: - 'See the documentation for scipy.special.hyp2f1' - ... - -def hyperu() -> typing.Any: - 'See the documentation for scipy.special.hyperu' - ... - -def i0() -> typing.Any: - 'See the documentation for scipy.special.i0' - ... - -def i0e() -> typing.Any: - 'See the documentation for scipy.special.i0e' - ... - -def i1() -> typing.Any: - 'See the documentation for scipy.special.i1' - ... - -def i1e() -> typing.Any: - 'See the documentation for scipy.special.i1e' - ... - -def inv_boxcox() -> typing.Any: - 'See the documentation for scipy.special.inv_boxcox' - ... - -def inv_boxcox1p() -> typing.Any: - 'See the documentation for scipy.special.inv_boxcox1p' - ... - -def it2struve0() -> typing.Any: - 'See the documentation for scipy.special.it2struve0' - ... - -def itmodstruve0() -> typing.Any: - 'See the documentation for scipy.special.itmodstruve0' - ... - -def itstruve0() -> typing.Any: - 'See the documentation for scipy.special.itstruve0' - ... - -def iv(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.iv' - ... - -def ive(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.ive' - ... - -def j0() -> typing.Any: - 'See the documentation for scipy.special.j0' - ... - -def j1() -> typing.Any: - 'See the documentation for scipy.special.j1' - ... - -def jv(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.jv' - ... - -def jve(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.jve' - ... - -def k0() -> typing.Any: - 'See the documentation for scipy.special.k0' - ... - -def k0e() -> typing.Any: - 'See the documentation for scipy.special.k0e' - ... - -def k1() -> typing.Any: - 'See the documentation for scipy.special.k1' - ... - -def k1e() -> typing.Any: - 'See the documentation for scipy.special.k1e' - ... - -def kei() -> typing.Any: - 'See the documentation for scipy.special.kei' - ... - -def keip() -> typing.Any: - 'See the documentation for scipy.special.keip' - ... - -def ker() -> typing.Any: - 'See the documentation for scipy.special.ker' - ... - -def kerp() -> typing.Any: - 'See the documentation for scipy.special.kerp' - ... - -def kl_div() -> typing.Any: - 'See the documentation for scipy.special.kl_div' - ... - -def kn(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.kn' - ... - -def kolmogi() -> typing.Any: - 'See the documentation for scipy.special.kolmogi' - ... - -def kolmogorov() -> typing.Any: - 'See the documentation for scipy.special.kolmogorov' - ... - -def kv(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.kv' - ... - -def kve(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.kve' - ... - -def log1p(x0) -> typing.Any: - 'See the documentation for scipy.special.log1p' - ... - -def log_ndtr(x0) -> typing.Any: - 'See the documentation for scipy.special.log_ndtr' - ... - -def loggamma(x0) -> typing.Any: - 'See the documentation for scipy.special.loggamma' - ... - -def logit(x0) -> typing.Any: - 'See the documentation for scipy.special.logit' - ... - -def lpmv() -> typing.Any: - 'See the documentation for scipy.special.lpmv' - ... - -def mathieu_a() -> typing.Any: - 'See the documentation for scipy.special.mathieu_a' - ... - -def mathieu_b() -> typing.Any: - 'See the documentation for scipy.special.mathieu_b' - ... - -def modstruve() -> typing.Any: - 'See the documentation for scipy.special.modstruve' - ... - -def nbdtr(x0, x1, x2) -> typing.Any: - 'See the documentation for scipy.special.nbdtr' - ... - -def nbdtrc(x0, x1, x2) -> typing.Any: - 'See the documentation for scipy.special.nbdtrc' - ... - -def nbdtri(x0, x1, x2) -> typing.Any: - 'See the documentation for scipy.special.nbdtri' - ... - -def nbdtrik() -> typing.Any: - 'See the documentation for scipy.special.nbdtrik' - ... - -def nbdtrin() -> typing.Any: - 'See the documentation for scipy.special.nbdtrin' - ... - -def ncfdtr() -> typing.Any: - 'See the documentation for scipy.special.ncfdtr' - ... - -def ncfdtri() -> typing.Any: - 'See the documentation for scipy.special.ncfdtri' - ... - -def ncfdtridfd() -> typing.Any: - 'See the documentation for scipy.special.ncfdtridfd' - ... - -def ncfdtridfn() -> typing.Any: - 'See the documentation for scipy.special.ncfdtridfn' - ... - -def ncfdtrinc() -> typing.Any: - 'See the documentation for scipy.special.ncfdtrinc' - ... - -def nctdtr() -> typing.Any: - 'See the documentation for scipy.special.nctdtr' - ... - -def nctdtridf() -> typing.Any: - 'See the documentation for scipy.special.nctdtridf' - ... - -def nctdtrinc() -> typing.Any: - 'See the documentation for scipy.special.nctdtrinc' - ... - -def nctdtrit() -> typing.Any: - 'See the documentation for scipy.special.nctdtrit' - ... - -def ndtr(x0) -> typing.Any: - 'See the documentation for scipy.special.ndtr' - ... - -def ndtri() -> typing.Any: - 'See the documentation for scipy.special.ndtri' - ... - -def nrdtrimn() -> typing.Any: - 'See the documentation for scipy.special.nrdtrimn' - ... - -def nrdtrisd() -> typing.Any: - 'See the documentation for scipy.special.nrdtrisd' - ... - -def obl_cv() -> typing.Any: - 'See the documentation for scipy.special.obl_cv' - ... - -def owens_t() -> typing.Any: - 'See the documentation for scipy.special.owens_t' - ... - -def pdtr() -> typing.Any: - 'See the documentation for scipy.special.pdtr' - ... - -def pdtrc() -> typing.Any: - 'See the documentation for scipy.special.pdtrc' - ... - -def pdtri(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.pdtri' - ... - -def pdtrik() -> typing.Any: - 'See the documentation for scipy.special.pdtrik' - ... - -def poch() -> typing.Any: - 'See the documentation for scipy.special.poch' - ... - -def pro_cv() -> typing.Any: - 'See the documentation for scipy.special.pro_cv' - ... - -def pseudo_huber() -> typing.Any: - 'See the documentation for scipy.special.pseudo_huber' - ... - -def psi(x0) -> typing.Any: - 'See the documentation for scipy.special.psi' - ... - -def radian() -> typing.Any: - 'See the documentation for scipy.special.radian' - ... - -def rel_entr() -> typing.Any: - 'See the documentation for scipy.special.rel_entr' - ... - -def rgamma(x0) -> typing.Any: - 'See the documentation for scipy.special.rgamma' - ... - -def round() -> typing.Any: - 'See the documentation for scipy.special.round' - ... - -def sindg() -> typing.Any: - 'See the documentation for scipy.special.sindg' - ... - -def smirnov(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.smirnov' - ... - -def smirnovi(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.smirnovi' - ... - -def spence(x0) -> typing.Any: - 'See the documentation for scipy.special.spence' - ... - -def sph_harm(x0, x1, x2, x3) -> typing.Any: - 'See the documentation for scipy.special.sph_harm' - ... - -def spherical_in() -> typing.Any: - 'See the documentation for scipy.special.spherical_in' - ... - -def spherical_jn() -> typing.Any: - 'See the documentation for scipy.special.spherical_jn' - ... - -def spherical_kn() -> typing.Any: - 'See the documentation for scipy.special.spherical_kn' - ... - -def spherical_yn() -> typing.Any: - 'See the documentation for scipy.special.spherical_yn' - ... - -def stdtr() -> typing.Any: - 'See the documentation for scipy.special.stdtr' - ... - -def stdtridf() -> typing.Any: - 'See the documentation for scipy.special.stdtridf' - ... - -def stdtrit() -> typing.Any: - 'See the documentation for scipy.special.stdtrit' - ... - -def struve() -> typing.Any: - 'See the documentation for scipy.special.struve' - ... - -def tandg() -> typing.Any: - 'See the documentation for scipy.special.tandg' - ... - -def tklmbda() -> typing.Any: - 'See the documentation for scipy.special.tklmbda' - ... - -def voigt_profile() -> typing.Any: - 'See the documentation for scipy.special.voigt_profile' - ... - -def wofz() -> typing.Any: - 'See the documentation for scipy.special.wofz' - ... - -def wrightomega(x0) -> typing.Any: - 'See the documentation for scipy.special.wrightomega' - ... - -def xlog1py(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.xlog1py' - ... - -def xlogy(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.xlogy' - ... - -def y0() -> typing.Any: - 'See the documentation for scipy.special.y0' - ... - -def y1() -> typing.Any: - 'See the documentation for scipy.special.y1' - ... - -def yn(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.yn' - ... - -def yv(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.yv' - ... - -def yve(x0, x1) -> typing.Any: - 'See the documentation for scipy.special.yve' - ... - -def zetac() -> typing.Any: - 'See the documentation for scipy.special.zetac' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/specfun.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/specfun.pyi deleted file mode 100644 index 8c776075..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/special/specfun.pyi +++ /dev/null @@ -1,114 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.special.specfun, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def airyzo(nt, kf=...) -> typing.Any: - "xa,xb,xc,xd = airyzo(nt,[kf])\n\nWrapper for ``airyzo``.\n\nParameters\n----------\nnt : input int\n\nOther Parameters\n----------------\nkf : input int, optional\n Default: 1\n\nReturns\n-------\nxa : rank-1 array('d') with bounds (nt)\nxb : rank-1 array('d') with bounds (nt)\nxc : rank-1 array('d') with bounds (nt)\nxd : rank-1 array('d') with bounds (nt)\n" - ... - -def bernob(n) -> typing.Any: - "bn = bernob(n)\n\nWrapper for ``bernob``.\n\nParameters\n----------\nn : input int\n\nReturns\n-------\nbn : rank-1 array('d') with bounds (n + 1)\n" - ... - -def cerzo(nt) -> typing.Any: - "zo = cerzo(nt)\n\nWrapper for ``cerzo``.\n\nParameters\n----------\nnt : input int\n\nReturns\n-------\nzo : rank-1 array('D') with bounds (nt)\n" - ... - -def clpmn(m, n, x, y, ntype) -> typing.Any: - "cpm,cpd = clpmn(m,n,x,y,ntype)\n\nWrapper for ``clpmn``.\n\nParameters\n----------\nm : input int\nn : input int\nx : input float\ny : input float\nntype : input int\n\nReturns\n-------\ncpm : rank-2 array('D') with bounds (m + 1,n + 1)\ncpd : rank-2 array('D') with bounds (m + 1,n + 1)\n" - ... - -def clpn(n, z) -> typing.Any: - "cpn,cpd = clpn(n,z)\n\nWrapper for ``clpn``.\n\nParameters\n----------\nn : input int\nz : input complex\n\nReturns\n-------\ncpn : rank-1 array('D') with bounds (n + 1)\ncpd : rank-1 array('D') with bounds (n + 1)\n" - ... - -def clqmn(m, n, z) -> typing.Any: - "cqm,cqd = clqmn(m,n,z)\n\nWrapper for ``clqmn``.\n\nParameters\n----------\nm : input int\nn : input int\nz : input complex\n\nReturns\n-------\ncqm : rank-2 array('D') with bounds (mm + 1,n + 1)\ncqd : rank-2 array('D') with bounds (mm + 1,n + 1)\n" - ... - -def clqn(n, z) -> typing.Any: - "cqn,cqd = clqn(n,z)\n\nWrapper for ``clqn``.\n\nParameters\n----------\nn : input int\nz : input complex\n\nReturns\n-------\ncqn : rank-1 array('D') with bounds (n + 1)\ncqd : rank-1 array('D') with bounds (n + 1)\n" - ... - -def cpbdn(n, z) -> typing.Any: - "cpb,cpd = cpbdn(n,z)\n\nWrapper for ``cpbdn``.\n\nParameters\n----------\nn : input int\nz : input complex\n\nReturns\n-------\ncpb : rank-1 array('D') with bounds (abs(n)+2)\ncpd : rank-1 array('D') with bounds (abs(n)+2)\n" - ... - -def cyzo(nt, kf, kc) -> typing.Any: - "zo,zv = cyzo(nt,kf,kc)\n\nWrapper for ``cyzo``.\n\nParameters\n----------\nnt : input int\nkf : input int\nkc : input int\n\nReturns\n-------\nzo : rank-1 array('D') with bounds (nt)\nzv : rank-1 array('D') with bounds (nt)\n" - ... - -def eulerb(n) -> typing.Any: - "en = eulerb(n)\n\nWrapper for ``eulerb``.\n\nParameters\n----------\nn : input int\n\nReturns\n-------\nen : rank-1 array('d') with bounds (n + 1)\n" - ... - -def fcoef(kd, m, q, a) -> typing.Any: - "fc = fcoef(kd,m,q,a)\n\nWrapper for ``fcoef``.\n\nParameters\n----------\nkd : input int\nm : input int\nq : input float\na : input float\n\nReturns\n-------\nfc : rank-1 array('d') with bounds (251)\n" - ... - -def fcszo(kf, nt) -> typing.Any: - "zo = fcszo(kf,nt)\n\nWrapper for ``fcszo``.\n\nParameters\n----------\nkf : input int\nnt : input int\n\nReturns\n-------\nzo : rank-1 array('D') with bounds (nt)\n" - ... - -def jdzo(nt) -> typing.Any: - "n,m,pcode,zo = jdzo(nt)\n\nWrapper for ``jdzo``.\n\nParameters\n----------\nnt : input int\n\nReturns\n-------\nn : rank-1 array('i') with bounds (1400)\nm : rank-1 array('i') with bounds (1400)\npcode : rank-1 array('i') with bounds (1400)\nzo : rank-1 array('d') with bounds (1401)\n" - ... - -def jyzo(n, nt) -> typing.Any: - "rj0,rj1,ry0,ry1 = jyzo(n,nt)\n\nWrapper for ``jyzo``.\n\nParameters\n----------\nn : input int\nnt : input int\n\nReturns\n-------\nrj0 : rank-1 array('d') with bounds (nt)\nrj1 : rank-1 array('d') with bounds (nt)\nry0 : rank-1 array('d') with bounds (nt)\nry1 : rank-1 array('d') with bounds (nt)\n" - ... - -def klvnzo(nt, kd) -> typing.Any: - "zo = klvnzo(nt,kd)\n\nWrapper for ``klvnzo``.\n\nParameters\n----------\nnt : input int\nkd : input int\n\nReturns\n-------\nzo : rank-1 array('d') with bounds (nt)\n" - ... - -def lamn(n, x) -> typing.Any: - "nm,bl,dl = lamn(n,x)\n\nWrapper for ``lamn``.\n\nParameters\n----------\nn : input int\nx : input float\n\nReturns\n-------\nnm : int\nbl : rank-1 array('d') with bounds (n + 1)\ndl : rank-1 array('d') with bounds (n + 1)\n" - ... - -def lamv(v, x) -> typing.Any: - "vm,vl,dl = lamv(v,x)\n\nWrapper for ``lamv``.\n\nParameters\n----------\nv : input float\nx : input float\n\nReturns\n-------\nvm : float\nvl : rank-1 array('d') with bounds ((int)v+1)\ndl : rank-1 array('d') with bounds ((int)v+1)\n" - ... - -def lpmn(m, n, x) -> typing.Any: - "pm,pd = lpmn(m,n,x)\n\nWrapper for ``lpmn``.\n\nParameters\n----------\nm : input int\nn : input int\nx : input float\n\nReturns\n-------\npm : rank-2 array('d') with bounds (m + 1,n + 1)\npd : rank-2 array('d') with bounds (m + 1,n + 1)\n" - ... - -def lpn(n, x) -> typing.Any: - "pn,pd = lpn(n,x)\n\nWrapper for ``lpn``.\n\nParameters\n----------\nn : input int\nx : input float\n\nReturns\n-------\npn : rank-1 array('d') with bounds (n + 1)\npd : rank-1 array('d') with bounds (n + 1)\n" - ... - -def lqmn(m, n, x) -> typing.Any: - "qm,qd = lqmn(m,n,x)\n\nWrapper for ``lqmn``.\n\nParameters\n----------\nm : input int\nn : input int\nx : input float\n\nReturns\n-------\nqm : rank-2 array('d') with bounds (mm + 1,n + 1)\nqd : rank-2 array('d') with bounds (mm + 1,n + 1)\n" - ... - -def lqnb(n, x) -> typing.Any: - "qn,qd = lqnb(n,x)\n\nWrapper for ``lqnb``.\n\nParameters\n----------\nn : input int\nx : input float\n\nReturns\n-------\nqn : rank-1 array('d') with bounds (n + 1)\nqd : rank-1 array('d') with bounds (n + 1)\n" - ... - -def pbdv(v, x) -> typing.Any: - "dv,dp,pdf,pdd = pbdv(v,x)\n\nWrapper for ``pbdv``.\n\nParameters\n----------\nv : input float\nx : input float\n\nReturns\n-------\ndv : rank-1 array('d') with bounds (abs((int)v)+2)\ndp : rank-1 array('d') with bounds (abs((int)v)+2)\npdf : float\npdd : float\n" - ... - -def rctj(n, x) -> typing.Any: - "nm,rj,dj = rctj(n,x)\n\nWrapper for ``rctj``.\n\nParameters\n----------\nn : input int\nx : input float\n\nReturns\n-------\nnm : int\nrj : rank-1 array('d') with bounds (n + 1)\ndj : rank-1 array('d') with bounds (n + 1)\n" - ... - -def rcty(n, x) -> typing.Any: - "nm,ry,dy = rcty(n,x)\n\nWrapper for ``rcty``.\n\nParameters\n----------\nn : input int\nx : input float\n\nReturns\n-------\nnm : int\nry : rank-1 array('d') with bounds (n + 1)\ndy : rank-1 array('d') with bounds (n + 1)\n" - ... - -def segv(m, n, c, kd) -> typing.Any: - "cv,eg = segv(m,n,c,kd)\n\nWrapper for ``segv``.\n\nParameters\n----------\nm : input int\nn : input int\nc : input float\nkd : input int\n\nReturns\n-------\ncv : float\neg : rank-1 array('d') with bounds (n-m+2)\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/stats/_stats.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/stats/_stats.pyi deleted file mode 100644 index cb92cad1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/stats/_stats.pyi +++ /dev/null @@ -1,52 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.stats._stats, version: unspecified -import typing -import builtins as _mod_builtins - -__doc__: typing.Any -__file__: str -__name__: str -__package__: str -__pyx_capi__: dict -def __pyx_unpickle_Enum() -> typing.Any: - ... - -__test__: dict -def _center_distance_matrix() -> typing.Any: - ... - -def _kendall_dis() -> typing.Any: - ... - -def _local_correlations() -> typing.Any: - ... - -def _local_covariance() -> typing.Any: - ... - -def _rank_distance_matrix() -> typing.Any: - ... - -def _toint64() -> typing.Any: - ... - -def _transform_distance_matrix() -> typing.Any: - ... - -def _weightedrankedtau(x, y, rank, weigher, additive) -> typing.Any: - ... - -def gaussian_kernel_estimate() -> typing.Any: - '\n def gaussian_kernel_estimate(points, real[:, :] values, xi, precision)\n\n Evaluate a multivariate Gaussian kernel estimate.\n\n Parameters\n ----------\n points : array_like with shape (n, d)\n Data points to estimate from in d dimenions.\n values : real[:, :] with shape (n, p)\n Multivariate values associated with the data points.\n xi : array_like with shape (m, d)\n Coordinates to evaluate the estimate at in d dimensions.\n precision : array_like with shape (d, d)\n Precision matrix for the Gaussian kernel.\n\n Returns\n -------\n estimate : double[:, :] with shape (m, p)\n Multivariate Gaussian kernel estimate evaluated at the input coordinates.\n ' - ... - -def geninvgauss_logpdf() -> typing.Any: - ... - -def von_mises_cdf() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/stats/mvn.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/stats/mvn.pyi deleted file mode 100644 index d24ef00f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/stats/mvn.pyi +++ /dev/null @@ -1,30 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.stats.mvn, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def dkblck() -> typing.Any: - "'i'-scalar\n" - ... - -def mvndst(lower, upper, infin, correl, maxpts=..., abseps=..., releps=...) -> typing.Any: - "error,value,inform = mvndst(lower,upper,infin,correl,[maxpts,abseps,releps])\n\nWrapper for ``mvndst``.\n\nParameters\n----------\nlower : input rank-1 array('d') with bounds (n)\nupper : input rank-1 array('d') with bounds (n)\ninfin : input rank-1 array('i') with bounds (n)\ncorrel : input rank-1 array('d') with bounds (n*(n-1)/2)\n\nOther Parameters\n----------------\nmaxpts : input int, optional\n Default: 2000\nabseps : input float, optional\n Default: 1e-06\nreleps : input float, optional\n Default: 1e-06\n\nReturns\n-------\nerror : float\nvalue : float\ninform : int\n" - ... - -def mvnun(lower, upper, means, covar, maxpts=..., abseps=..., releps=...) -> typing.Any: - "value,inform = mvnun(lower,upper,means,covar,[maxpts,abseps,releps])\n\nWrapper for ``mvnun``.\n\nParameters\n----------\nlower : input rank-1 array('d') with bounds (d)\nupper : input rank-1 array('d') with bounds (d)\nmeans : input rank-2 array('d') with bounds (d,n)\ncovar : input rank-2 array('d') with bounds (d,d)\n\nOther Parameters\n----------------\nmaxpts : input int, optional\n Default: d*1000\nabseps : input float, optional\n Default: 1e-06\nreleps : input float, optional\n Default: 1e-06\n\nReturns\n-------\nvalue : float\ninform : int\n" - ... - -def mvnun_weighted(lower, upper, means, weights, covar, maxpts=..., abseps=..., releps=...) -> typing.Any: - "value,inform = mvnun_weighted(lower,upper,means,weights,covar,[maxpts,abseps,releps])\n\nWrapper for ``mvnun_weighted``.\n\nParameters\n----------\nlower : input rank-1 array('d') with bounds (d)\nupper : input rank-1 array('d') with bounds (d)\nmeans : input rank-2 array('d') with bounds (d,n)\nweights : input rank-1 array('d') with bounds (n)\ncovar : input rank-2 array('d') with bounds (d,d)\n\nOther Parameters\n----------------\nmaxpts : input int, optional\n Default: d*1000\nabseps : input float, optional\n Default: 1e-06\nreleps : input float, optional\n Default: 1e-06\n\nReturns\n-------\nvalue : float\ninform : int\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/stats/statlib.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/stats/statlib.pyi deleted file mode 100644 index 42a88c53..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/scipy-stubs/stats/statlib.pyi +++ /dev/null @@ -1,26 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: scipy, version: 1.6.2 -# Module: scipy.stats.statlib, version: $Revision: $ -import typing -import builtins as _mod_builtins - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -def gscale(test, other) -> typing.Any: - "astart,a1,ifault = gscale(test,other)\n\nWrapper for ``gscale``.\n\nParameters\n----------\ntest : input int\nother : input int\n\nReturns\n-------\nastart : float\na1 : rank-1 array('f') with bounds (l1)\nifault : int\n" - ... - -def prho(n, is_) -> typing.Any: - 'ifault = prho(n,is)\n\nWrapper for ``prho``.\n\nParameters\n----------\nn : input int\nis : input int\n\nReturns\n-------\nprho : float\nifault : int\n' - ... - -def swilk(x, a, init=..., n1=...) -> typing.Any: - "a,w,pw,ifault = swilk(x,a,[init,n1])\n\nWrapper for ``swilk``.\n\nParameters\n----------\nx : input rank-1 array('f') with bounds (n)\na : input rank-1 array('f') with bounds (n2)\n\nOther Parameters\n----------------\ninit : input int, optional\n Default: 0\nn1 : input int, optional\n Default: n\n\nReturns\n-------\na : rank-1 array('f') with bounds (n2)\nw : float\npw : float\nifault : int\n" - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/seaborn-stubs/palettes.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/seaborn-stubs/palettes.pyi deleted file mode 100644 index 165b96b7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/seaborn-stubs/palettes.pyi +++ /dev/null @@ -1,44 +0,0 @@ -""" -This type stub file was generated by pyright. -""" -from typing import Any -import matplotlib as mpl - -__all__ = ["color_palette", "hls_palette", "husl_palette", "mpl_palette", "dark_palette", "light_palette", "diverging_palette", "blend_palette", "xkcd_palette", "crayon_palette", "cubehelix_palette", "set_color_codes"] -SEABORN_PALETTES: dict[str, list[str]] = ... -MPL_QUAL_PALS: dict[str, int]= ... -QUAL_PALETTE_SIZES: dict[str, int] = ... -QUAL_PALETTES: list[str] = ... - -class _ColorPalette(list): - def __enter__(self) -> _ColorPalette: ... - - def __exit__(self, *args) -> None: ... - - def as_hex(self) -> _ColorPalette: ... - - -def color_palette(palette=..., n_colors=..., desat=..., as_cmap=...) -> _ColorPalette | list[tuple[float, float, float]] | list[str] | mpl.colors.ListedColormap | mpl.colors.LinearSegmentedColormap: ... - -def hls_palette(n_colors=..., h=..., l=..., s=..., as_cmap=...) -> _ColorPalette: ... - -def husl_palette(n_colors=..., h=..., s=..., l=..., as_cmap=...) -> _ColorPalette: ... - -def mpl_palette(name, n_colors=..., as_cmap=...) -> _ColorPalette: ... - -def dark_palette(color, n_colors=..., reverse=..., as_cmap=..., input=...) -> _ColorPalette: ... - -def light_palette(color, n_colors=..., reverse=..., as_cmap=..., input=...) -> _ColorPalette: ... - -def diverging_palette(h_neg, h_pos, s=..., l=..., sep=..., n=..., center=..., as_cmap=...) -> _ColorPalette: ... - -def blend_palette(colors, n_colors=..., as_cmap=..., input=...) -> _ColorPalette: ... - -def xkcd_palette(colors) -> _ColorPalette | list[tuple[float, float, float]] | list[str]: ... - -def crayon_palette(colors) -> _ColorPalette | list[tuple[float, float, float]] | list[str]: ... - -def cubehelix_palette(n_colors=..., start=..., rot=..., gamma=..., hue=..., light=..., dark=..., reverse=..., as_cmap=...) -> _ColorPalette: ... - -def set_color_codes(palette=...) -> None: ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/seaborn-stubs/py.typed b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/seaborn-stubs/py.typed deleted file mode 100644 index b648ac92..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/seaborn-stubs/py.typed +++ /dev/null @@ -1 +0,0 @@ -partial diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/decomposition/_base.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/decomposition/_base.pyi deleted file mode 100644 index b0cd97a8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/decomposition/_base.pyi +++ /dev/null @@ -1,108 +0,0 @@ -""" -This type stub file was generated by pyright. -""" - -from typing import Any -from typing_extensions import Self -from ..base import BaseEstimator, TransformerMixin -from abc import ABCMeta, abstractmethod - -"""Principal Component Analysis Base Classes""" -class _BasePCA(TransformerMixin, BaseEstimator, metaclass=ABCMeta): - """Base class for PCA methods. - - Warning: This class should not be used directly. - Use derived classes instead. - """ - def get_covariance(self) -> Any: - """Compute data covariance with the generative model. - - ``cov = components_.T * S**2 * components_ + sigma2 * eye(n_features)`` - where S**2 contains the explained variances, and sigma2 contains the - noise variances. - - Returns - ------- - cov : array of shape=(n_features, n_features) - Estimated covariance of data. - """ - ... - - def get_precision(self) -> Any: - """Compute data precision matrix with the generative model. - - Equals the inverse of the covariance but computed with - the matrix inversion lemma for efficiency. - - Returns - ------- - precision : array, shape=(n_features, n_features) - Estimated precision of data. - """ - ... - - @abstractmethod - def fit(self, X, y=...) -> Self: - """Placeholder for fit. Subclasses should implement this method! - - Fit the model with X. - - Parameters - ---------- - X : array-like of shape (n_samples, n_features) - Training data, where `n_samples` is the number of samples and - `n_features` is the number of features. - - Returns - ------- - self : object - Returns the instance itself. - """ - ... - - def transform(self, X) -> Any: - """Apply dimensionality reduction to X. - - X is projected on the first principal components previously extracted - from a training set. - - Parameters - ---------- - X : array-like of shape (n_samples, n_features) - New data, where `n_samples` is the number of samples - and `n_features` is the number of features. - - Returns - ------- - X_new : array-like of shape (n_samples, n_components) - Projection of X in the first principal components, where `n_samples` - is the number of samples and `n_components` is the number of the components. - """ - ... - - def inverse_transform(self, X) -> Any: - """Transform data back to its original space. - - In other words, return an input `X_original` whose transform would be X. - - Parameters - ---------- - X : array-like of shape (n_samples, n_components) - New data, where `n_samples` is the number of samples - and `n_components` is the number of components. - - Returns - ------- - X_original array-like of shape (n_samples, n_features) - Original data, where `n_samples` is the number of samples - and `n_features` is the number of features. - - Notes - ----- - If whitening is enabled, inverse_transform will compute the - exact inverse operation, which includes reversing whitening. - """ - ... - - - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/decomposition/_pca.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/decomposition/_pca.pyi deleted file mode 100644 index f91601f1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/decomposition/_pca.pyi +++ /dev/null @@ -1,328 +0,0 @@ -""" -This type stub file was generated by pyright. -""" - -from typing import Any -from typing_extensions import Self -from ._base import _BasePCA - -""" Principal Component Analysis. -""" -class PCA(_BasePCA): - """Principal component analysis (PCA). - - Linear dimensionality reduction using Singular Value Decomposition of the - data to project it to a lower dimensional space. The input data is centered - but not scaled for each feature before applying the SVD. - - It uses the LAPACK implementation of the full SVD or a randomized truncated - SVD by the method of Halko et al. 2009, depending on the shape of the input - data and the number of components to extract. - - It can also use the scipy.sparse.linalg ARPACK implementation of the - truncated SVD. - - Notice that this class does not support sparse input. See - :class:`TruncatedSVD` for an alternative with sparse data. - - Read more in the :ref:`User Guide `. - - Parameters - ---------- - n_components : int, float or 'mle', default=None - Number of components to keep. - if n_components is not set all components are kept:: - - n_components == min(n_samples, n_features) - - If ``n_components == 'mle'`` and ``svd_solver == 'full'``, Minka's - MLE is used to guess the dimension. Use of ``n_components == 'mle'`` - will interpret ``svd_solver == 'auto'`` as ``svd_solver == 'full'``. - - If ``0 < n_components < 1`` and ``svd_solver == 'full'``, select the - number of components such that the amount of variance that needs to be - explained is greater than the percentage specified by n_components. - - If ``svd_solver == 'arpack'``, the number of components must be - strictly less than the minimum of n_features and n_samples. - - Hence, the None case results in:: - - n_components == min(n_samples, n_features) - 1 - - copy : bool, default=True - If False, data passed to fit are overwritten and running - fit(X).transform(X) will not yield the expected results, - use fit_transform(X) instead. - - whiten : bool, default=False - When True (False by default) the `components_` vectors are multiplied - by the square root of n_samples and then divided by the singular values - to ensure uncorrelated outputs with unit component-wise variances. - - Whitening will remove some information from the transformed signal - (the relative variance scales of the components) but can sometime - improve the predictive accuracy of the downstream estimators by - making their data respect some hard-wired assumptions. - - svd_solver : {'auto', 'full', 'arpack', 'randomized'}, default='auto' - If auto : - The solver is selected by a default policy based on `X.shape` and - `n_components`: if the input data is larger than 500x500 and the - number of components to extract is lower than 80% of the smallest - dimension of the data, then the more efficient 'randomized' - method is enabled. Otherwise the exact full SVD is computed and - optionally truncated afterwards. - If full : - run exact full SVD calling the standard LAPACK solver via - `scipy.linalg.svd` and select the components by postprocessing - If arpack : - run SVD truncated to n_components calling ARPACK solver via - `scipy.sparse.linalg.svds`. It requires strictly - 0 < n_components < min(X.shape) - If randomized : - run randomized SVD by the method of Halko et al. - - .. versionadded:: 0.18.0 - - tol : float, default=0.0 - Tolerance for singular values computed by svd_solver == 'arpack'. - Must be of range [0.0, infinity). - - .. versionadded:: 0.18.0 - - iterated_power : int or 'auto', default='auto' - Number of iterations for the power method computed by - svd_solver == 'randomized'. - Must be of range [0, infinity). - - .. versionadded:: 0.18.0 - - random_state : int, RandomState instance or None, default=None - Used when the 'arpack' or 'randomized' solvers are used. Pass an int - for reproducible results across multiple function calls. - See :term:`Glossary `. - - .. versionadded:: 0.18.0 - - Attributes - ---------- - components_ : ndarray of shape (n_components, n_features) - Principal axes in feature space, representing the directions of - maximum variance in the data. Equivalently, the right singular - vectors of the centered input data, parallel to its eigenvectors. - The components are sorted by ``explained_variance_``. - - explained_variance_ : ndarray of shape (n_components,) - The amount of variance explained by each of the selected components. - The variance estimation uses `n_samples - 1` degrees of freedom. - - Equal to n_components largest eigenvalues - of the covariance matrix of X. - - .. versionadded:: 0.18 - - explained_variance_ratio_ : ndarray of shape (n_components,) - Percentage of variance explained by each of the selected components. - - If ``n_components`` is not set then all components are stored and the - sum of the ratios is equal to 1.0. - - singular_values_ : ndarray of shape (n_components,) - The singular values corresponding to each of the selected components. - The singular values are equal to the 2-norms of the ``n_components`` - variables in the lower-dimensional space. - - .. versionadded:: 0.19 - - mean_ : ndarray of shape (n_features,) - Per-feature empirical mean, estimated from the training set. - - Equal to `X.mean(axis=0)`. - - n_components_ : int - The estimated number of components. When n_components is set - to 'mle' or a number between 0 and 1 (with svd_solver == 'full') this - number is estimated from input data. Otherwise it equals the parameter - n_components, or the lesser value of n_features and n_samples - if n_components is None. - - n_features_ : int - Number of features in the training data. - - n_samples_ : int - Number of samples in the training data. - - noise_variance_ : float - The estimated noise covariance following the Probabilistic PCA model - from Tipping and Bishop 1999. See "Pattern Recognition and - Machine Learning" by C. Bishop, 12.2.1 p. 574 or - http://www.miketipping.com/papers/met-mppca.pdf. It is required to - compute the estimated data covariance and score samples. - - Equal to the average of (min(n_features, n_samples) - n_components) - smallest eigenvalues of the covariance matrix of X. - - n_features_in_ : int - Number of features seen during :term:`fit`. - - .. versionadded:: 0.24 - - feature_names_in_ : ndarray of shape (`n_features_in_`,) - Names of features seen during :term:`fit`. Defined only when `X` - has feature names that are all strings. - - .. versionadded:: 1.0 - - See Also - -------- - KernelPCA : Kernel Principal Component Analysis. - SparsePCA : Sparse Principal Component Analysis. - TruncatedSVD : Dimensionality reduction using truncated SVD. - IncrementalPCA : Incremental Principal Component Analysis. - - References - ---------- - For n_components == 'mle', this class uses the method from: - `Minka, T. P.. "Automatic choice of dimensionality for PCA". - In NIPS, pp. 598-604 `_ - - Implements the probabilistic PCA model from: - `Tipping, M. E., and Bishop, C. M. (1999). "Probabilistic principal - component analysis". Journal of the Royal Statistical Society: - Series B (Statistical Methodology), 61(3), 611-622. - `_ - via the score and score_samples methods. - - For svd_solver == 'arpack', refer to `scipy.sparse.linalg.svds`. - - For svd_solver == 'randomized', see: - `Halko, N., Martinsson, P. G., and Tropp, J. A. (2011). - "Finding structure with randomness: Probabilistic algorithms for - constructing approximate matrix decompositions". - SIAM review, 53(2), 217-288. - `_ - and also - `Martinsson, P. G., Rokhlin, V., and Tygert, M. (2011). - "A randomized algorithm for the decomposition of matrices". - Applied and Computational Harmonic Analysis, 30(1), 47-68 - `_. - - Examples - -------- - >>> import numpy as np - >>> from sklearn.decomposition import PCA - >>> X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]]) - >>> pca = PCA(n_components=2) - >>> pca.fit(X) - PCA(n_components=2) - >>> print(pca.explained_variance_ratio_) - [0.9924... 0.0075...] - >>> print(pca.singular_values_) - [6.30061... 0.54980...] - - >>> pca = PCA(n_components=2, svd_solver='full') - >>> pca.fit(X) - PCA(n_components=2, svd_solver='full') - >>> print(pca.explained_variance_ratio_) - [0.9924... 0.00755...] - >>> print(pca.singular_values_) - [6.30061... 0.54980...] - - >>> pca = PCA(n_components=1, svd_solver='arpack') - >>> pca.fit(X) - PCA(n_components=1, svd_solver='arpack') - >>> print(pca.explained_variance_ratio_) - [0.99244...] - >>> print(pca.singular_values_) - [6.30061...] - """ - def __init__(self, n_components=..., *, copy=..., whiten=..., svd_solver=..., tol=..., iterated_power=..., random_state=...) -> None: - ... - - def fit(self, X, y=...) -> Self: - """Fit the model with X. - - Parameters - ---------- - X : array-like of shape (n_samples, n_features) - Training data, where `n_samples` is the number of samples - and `n_features` is the number of features. - - y : Ignored - Ignored. - - Returns - ------- - self : object - Returns the instance itself. - """ - ... - - def fit_transform(self, X, y=...) -> Any: - """Fit the model with X and apply the dimensionality reduction on X. - - Parameters - ---------- - X : array-like of shape (n_samples, n_features) - Training data, where `n_samples` is the number of samples - and `n_features` is the number of features. - - y : Ignored - Ignored. - - Returns - ------- - X_new : ndarray of shape (n_samples, n_components) - Transformed values. - - Notes - ----- - This method returns a Fortran-ordered array. To convert it to a - C-ordered array, use 'np.ascontiguousarray'. - """ - ... - - def score_samples(self, X) -> Any: - """Return the log-likelihood of each sample. - - See. "Pattern Recognition and Machine Learning" - by C. Bishop, 12.2.1 p. 574 - or http://www.miketipping.com/papers/met-mppca.pdf - - Parameters - ---------- - X : array-like of shape (n_samples, n_features) - The data. - - Returns - ------- - ll : ndarray of shape (n_samples,) - Log-likelihood of each sample under the current model. - """ - ... - - def score(self, X, y=...) -> Any: - """Return the average log-likelihood of all samples. - - See. "Pattern Recognition and Machine Learning" - by C. Bishop, 12.2.1 p. 574 - or http://www.miketipping.com/papers/met-mppca.pdf - - Parameters - ---------- - X : array-like of shape (n_samples, n_features) - The data. - - y : Ignored - Ignored. - - Returns - ------- - ll : float - Average log-likelihood of the samples under the current model. - """ - ... - - - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/externals/_lobpcg.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/externals/_lobpcg.pyi deleted file mode 100644 index 78371fde..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/externals/_lobpcg.pyi +++ /dev/null @@ -1,171 +0,0 @@ -from typing import Any - - -def lobpcg( - A, - X, - B=..., - M=..., - Y=..., - tol=..., - maxiter=..., - largest=..., - verbosityLevel=..., - retLambdaHistory=..., - retResidualNormsHistory=..., -) -> Any: - """Locally Optimal Block Preconditioned Conjugate Gradient Method (LOBPCG) - - LOBPCG is a preconditioned eigensolver for large symmetric positive - definite (SPD) generalized eigenproblems. - - Parameters - ---------- - A : {sparse matrix, dense matrix, LinearOperator} - The symmetric linear operator of the problem, usually a - sparse matrix. Often called the "stiffness matrix". - X : ndarray, float32 or float64 - Initial approximation to the ``k`` eigenvectors (non-sparse). If `A` - has ``shape=(n,n)`` then `X` should have shape ``shape=(n,k)``. - B : {dense matrix, sparse matrix, LinearOperator}, optional - The right hand side operator in a generalized eigenproblem. - By default, ``B = Identity``. Often called the "mass matrix". - M : {dense matrix, sparse matrix, LinearOperator}, optional - Preconditioner to `A`; by default ``M = Identity``. - `M` should approximate the inverse of `A`. - Y : ndarray, float32 or float64, optional - n-by-sizeY matrix of constraints (non-sparse), sizeY < n - The iterations will be performed in the B-orthogonal complement - of the column-space of Y. Y must be full rank. - tol : scalar, optional - Solver tolerance (stopping criterion). - The default is ``tol=n*sqrt(eps)``. - maxiter : int, optional - Maximum number of iterations. The default is ``maxiter = 20``. - largest : bool, optional - When True, solve for the largest eigenvalues, otherwise the smallest. - verbosityLevel : int, optional - Controls solver output. The default is ``verbosityLevel=0``. - retLambdaHistory : bool, optional - Whether to return eigenvalue history. Default is False. - retResidualNormsHistory : bool, optional - Whether to return history of residual norms. Default is False. - - Returns - ------- - w : ndarray - Array of ``k`` eigenvalues - v : ndarray - An array of ``k`` eigenvectors. `v` has the same shape as `X`. - lambdas : list of ndarray, optional - The eigenvalue history, if `retLambdaHistory` is True. - rnorms : list of ndarray, optional - The history of residual norms, if `retResidualNormsHistory` is True. - - Notes - ----- - If both ``retLambdaHistory`` and ``retResidualNormsHistory`` are True, - the return tuple has the following format - ``(lambda, V, lambda history, residual norms history)``. - - In the following ``n`` denotes the matrix size and ``m`` the number - of required eigenvalues (smallest or largest). - - The LOBPCG code internally solves eigenproblems of the size ``3m`` on every - iteration by calling the "standard" dense eigensolver, so if ``m`` is not - small enough compared to ``n``, it does not make sense to call the LOBPCG - code, but rather one should use the "standard" eigensolver, e.g. numpy or - scipy function in this case. - If one calls the LOBPCG algorithm for ``5m > n``, it will most likely break - internally, so the code tries to call the standard function instead. - - It is not that ``n`` should be large for the LOBPCG to work, but rather the - ratio ``n / m`` should be large. It you call LOBPCG with ``m=1`` - and ``n=10``, it works though ``n`` is small. The method is intended - for extremely large ``n / m``. - - The convergence speed depends basically on two factors: - - 1. How well relatively separated the seeking eigenvalues are from the rest - of the eigenvalues. One can try to vary ``m`` to make this better. - - 2. How well conditioned the problem is. This can be changed by using proper - preconditioning. For example, a rod vibration test problem (under tests - directory) is ill-conditioned for large ``n``, so convergence will be - slow, unless efficient preconditioning is used. For this specific - problem, a good simple preconditioner function would be a linear solve - for `A`, which is easy to code since A is tridiagonal. - - References - ---------- - .. [1] A. V. Knyazev (2001), - Toward the Optimal Preconditioned Eigensolver: Locally Optimal - Block Preconditioned Conjugate Gradient Method. - SIAM Journal on Scientific Computing 23, no. 2, - pp. 517-541. :doi:`10.1137/S1064827500366124` - - .. [2] A. V. Knyazev, I. Lashuk, M. E. Argentati, and E. Ovchinnikov - (2007), Block Locally Optimal Preconditioned Eigenvalue Xolvers - (BLOPEX) in hypre and PETSc. :arxiv:`0705.2626` - - .. [3] A. V. Knyazev's C and MATLAB implementations: - https://github.com/lobpcg/blopex - - Examples - -------- - - Solve ``A x = lambda x`` with constraints and preconditioning. - - >>> import numpy as np - >>> from scipy.sparse import spdiags, issparse - >>> from scipy.sparse.linalg import lobpcg, LinearOperator - >>> n = 100 - >>> vals = np.arange(1, n + 1) - >>> A = spdiags(vals, 0, n, n) - >>> A.toarray() - array([[ 1., 0., 0., ..., 0., 0., 0.], - [ 0., 2., 0., ..., 0., 0., 0.], - [ 0., 0., 3., ..., 0., 0., 0.], - ..., - [ 0., 0., 0., ..., 98., 0., 0.], - [ 0., 0., 0., ..., 0., 99., 0.], - [ 0., 0., 0., ..., 0., 0., 100.]]) - - Constraints: - - >>> Y = np.eye(n, 3) - - Initial guess for eigenvectors, should have linearly independent - columns. Column dimension = number of requested eigenvalues. - - >>> rng = np.random.default_rng() - >>> X = rng.random((n, 3)) - - Preconditioner in the inverse of A in this example: - - >>> invA = spdiags([1./vals], 0, n, n) - - The preconditiner must be defined by a function: - - >>> def precond( x ): - ... return invA @ x - - The argument x of the preconditioner function is a matrix inside `lobpcg`, - thus the use of matrix-matrix product ``@``. - - The preconditioner function is passed to lobpcg as a `LinearOperator`: - - >>> M = LinearOperator(matvec=precond, matmat=precond, - ... shape=(n, n), dtype=np.float64) - - Let us now solve the eigenvalue problem for the matrix A: - - >>> eigenvalues, _ = lobpcg(A, X, Y=Y, M=M, largest=False) - >>> eigenvalues - array([4., 5., 6.]) - - Note that the vectors passed in Y are the eigenvectors of the 3 smallest - eigenvalues. The results returned are orthogonal to those. - - """ - ... \ No newline at end of file diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/manifold/spectral_embedding.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/manifold/spectral_embedding.pyi deleted file mode 100644 index b9359f22..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/manifold/spectral_embedding.pyi +++ /dev/null @@ -1,102 +0,0 @@ - -from typing import Any -from typing_extensions import Self -from ..base import BaseEstimator - -def spectral_embedding( - adjacency, - *, - n_components=..., - eigen_solver=..., - random_state=..., - eigen_tol=..., - norm_laplacian=..., - drop_first=..., -) -> Any: - """Project the sample on the first eigenvectors of the graph Laplacian. - - The adjacency matrix is used to compute a normalized graph Laplacian - whose spectrum (especially the eigenvectors associated to the - smallest eigenvalues) has an interpretation in terms of minimal - number of cuts necessary to split the graph into comparably sized - components. - - This embedding can also 'work' even if the ``adjacency`` variable is - not strictly the adjacency matrix of a graph but more generally - an affinity or similarity matrix between samples (for instance the - heat kernel of a euclidean distance matrix or a k-NN matrix). - - However care must taken to always make the affinity matrix symmetric - so that the eigenvector decomposition works as expected. - - Note : Laplacian Eigenmaps is the actual algorithm implemented here. - - Read more in the :ref:`User Guide `. - - Parameters - ---------- - adjacency : {array-like, sparse graph} of shape (n_samples, n_samples) - The adjacency matrix of the graph to embed. - - n_components : int, default=8 - The dimension of the projection subspace. - - eigen_solver : {'arpack', 'lobpcg', 'amg'}, default=None - The eigenvalue decomposition strategy to use. AMG requires pyamg - to be installed. It can be faster on very large, sparse problems, - but may also lead to instabilities. If None, then ``'arpack'`` is - used. - - random_state : int, RandomState instance or None, default=None - A pseudo random number generator used for the initialization - of the lobpcg eigen vectors decomposition when `eigen_solver == - 'amg'`, and for the K-Means initialization. Use an int to make - the results deterministic across calls (See - :term:`Glossary `). - - .. note:: - When using `eigen_solver == 'amg'`, - it is necessary to also fix the global numpy seed with - `np.random.seed(int)` to get deterministic results. See - https://github.com/pyamg/pyamg/issues/139 for further - information. - - eigen_tol : float, default=0.0 - Stopping criterion for eigendecomposition of the Laplacian matrix - when using arpack eigen_solver. - - norm_laplacian : bool, default=True - If True, then compute symmetric normalized Laplacian. - - drop_first : bool, default=True - Whether to drop the first eigenvector. For spectral embedding, this - should be True as the first eigenvector should be constant vector for - connected graph, but for spectral clustering, this should be kept as - False to retain the first eigenvector. - - Returns - ------- - embedding : ndarray of shape (n_samples, n_components) - The reduced samples. - - Notes - ----- - Spectral Embedding (Laplacian Eigenmaps) is most useful when the graph - has one connected component. If there graph has many components, the first - few eigenvectors will simply uncover the connected components of the graph. - - References - ---------- - * https://en.wikipedia.org/wiki/LOBPCG - - * Toward the Optimal Preconditioned Eigensolver: Locally Optimal - Block Preconditioned Conjugate Gradient Method - Andrew V. Knyazev - https://doi.org/10.1137%2FS1064827500366124 - """ - ... - - -class SpectralEmbedding(BaseEstimator): - def fit(self, X, y=None) -> Self: ... - def fit_transform(self, X, y=None) -> Any: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/py.typed b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/py.typed deleted file mode 100644 index b648ac92..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/py.typed +++ /dev/null @@ -1 +0,0 @@ -partial diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/utils/validation.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/utils/validation.pyi deleted file mode 100644 index c1a7a987..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sklearn-stubs/utils/validation.pyi +++ /dev/null @@ -1,558 +0,0 @@ -""" -This type stub file was generated by pyright. -""" -from typing import Any, Callable, Iterable, Protocol, Sequence, TypeVar, Optional, overload, Union, Literal, Tuple, Type -from numpy.random import RandomState -import numpy as np -from numpy import ndarray -from numpy.typing import ArrayLike -from pandas import DataFrame -from joblib import Memory -from scipy.sparse import ( - csr_matrix, - csc_matrix, - coo_matrix, - lil_matrix, - bsr_matrix, - dok_matrix, - dia_matrix -) - - -"""Utilities for input validation""" -FLOAT_DTYPES: Tuple[Type[np.float64], Type[np.float32], Type[np.float16]] = ... - -_S = TypeVar('_S', bound=Callable[..., Any]) -class _JoblibMemoryLike(Protocol): - def cache(self, func: _S) -> Callable[[_S], _S]: - pass - -_Estimator = Any # TODO -_SparseMatrix = Union[csr_matrix, csc_matrix, coo_matrix, lil_matrix, bsr_matrix, dok_matrix, dia_matrix] - -_T = TypeVar('_T', bound=Callable[..., Any]) - -@overload -def _deprecate_positional_args(func: _T) -> _T: ... - -@overload -def _deprecate_positional_args(func: _T=..., *, version: str=...) -> Callable[[_T], _T]: - """Decorator for methods that issues warnings for positional arguments. - - Using the keyword-only argument syntax in pep 3102, arguments after the - * will issue a warning when passed as a positional argument. - - Parameters - ---------- - func : callable, default=None - Function to check arguments on. - version : callable, default="1.0 (renaming of 0.25)" - The version when positional arguments will result in error. - """ - ... - -def assert_all_finite(X: Union[ArrayLike, _SparseMatrix], *, allow_nan: bool = ...) -> None: - """Throw a ValueError if X contains NaN or infinity. - - Parameters - ---------- - X : {ndarray, sparse matrix} - - allow_nan : bool, default=False - """ - ... - -def as_float_array(X: Union[ArrayLike, _SparseMatrix], *, copy: bool =..., force_all_finite: Union[bool, Literal['allow-nan']] = ...) -> ndarray: - """Converts an array-like to an array of floats. - - The new dtype will be np.float32 or np.float64, depending on the original - type. The function can create a copy or modify the argument depending - on the argument copy. - - Parameters - ---------- - X : {array-like, sparse matrix} - - copy : bool, default=True - If True, a copy of X will be created. If False, a copy may still be - returned if X's dtype is not a floating point type. - - force_all_finite : bool or 'allow-nan', default=True - Whether to raise an error on np.inf, np.nan, pd.NA in X. The - possibilities are: - - - True: Force all values of X to be finite. - - False: accepts np.inf, np.nan, pd.NA in X. - - 'allow-nan': accepts only np.nan and pd.NA values in X. Values cannot - be infinite. - - .. versionadded:: 0.20 - ``force_all_finite`` accepts the string ``'allow-nan'``. - - .. versionchanged:: 0.23 - Accepts `pd.NA` and converts it into `np.nan` - - Returns - ------- - XT : {ndarray, sparse matrix} - An array of type float. - """ - ... - -def check_memory(memory: Union[_JoblibMemoryLike, str, None]) -> Memory: - """Check that ``memory`` is joblib.Memory-like. - - joblib.Memory-like means that ``memory`` can be converted into a - joblib.Memory instance (typically a str denoting the ``location``) - or has the same interface (has a ``cache`` method). - - Parameters - ---------- - memory : None, str or object with the joblib.Memory interface - - Returns - ------- - memory : object with the joblib.Memory interface - - Raises - ------ - ValueError - If ``memory`` is not joblib.Memory-like. - """ - ... - -def check_consistent_length(*arrays: Union[ArrayLike, ndarray, _SparseMatrix, DataFrame]) -> None: - """Check that all arrays have consistent first dimensions. - - Checks whether all objects in arrays have the same shape or length. - - Parameters - ---------- - *arrays : list or tuple of input objects. - Objects that will be checked for consistent length. - """ - ... - -def indexable(*iterables: Iterable[Any]) -> Tuple[Sequence[Any]]: - """Make arrays indexable for cross-validation. - - Checks consistent length, passes through None, and ensures that everything - can be indexed by converting sparse matrices to csr and converting - non-interable objects to arrays. - - Parameters - ---------- - *iterables : {lists, dataframes, ndarrays, sparse matrices} - List of objects to ensure sliceability. - """ - ... - -def check_array(array: Union[ArrayLike, ndarray, DataFrame, _SparseMatrix], - accept_sparse: Union[str, bool, Sequence[str], Tuple[str]]=..., - *, - accept_large_sparse:bool =..., - dtype: Optional[Union[Literal['numeric'], type, Sequence[type]]] =..., - order: Optional[str]=..., - copy: bool=..., - force_all_finite: Union[bool, Literal['allow-nan']]=..., - ensure_2d: bool=..., - allow_nd: bool=..., - ensure_min_samples: int=..., - ensure_min_features: int=..., - estimator: Optional[Union[str, _Estimator]]=...) -> Any: # incomplete - """Input validation on an array, list, sparse matrix or similar. - - By default, the input is checked to be a non-empty 2D array containing - only finite values. If the dtype of the array is object, attempt - converting to float, raising on failure. - - Parameters - ---------- - array : object - Input object to check / convert. - - accept_sparse : str, bool or list/tuple of str, default=False - String[s] representing allowed sparse matrix formats, such as 'csc', - 'csr', etc. If the input is sparse but not in the allowed format, - it will be converted to the first listed format. True allows the input - to be any format. False means that a sparse matrix input will - raise an error. - - accept_large_sparse : bool, default=True - If a CSR, CSC, COO or BSR sparse matrix is supplied and accepted by - accept_sparse, accept_large_sparse=False will cause it to be accepted - only if its indices are stored with a 32-bit dtype. - - .. versionadded:: 0.20 - - dtype : 'numeric', type, list of type or None, default='numeric' - Data type of result. If None, the dtype of the input is preserved. - If "numeric", dtype is preserved unless array.dtype is object. - If dtype is a list of types, conversion on the first type is only - performed if the dtype of the input is not in the list. - - order : {'F', 'C'} or None, default=None - Whether an array will be forced to be fortran or c-style. - When order is None (default), then if copy=False, nothing is ensured - about the memory layout of the output array; otherwise (copy=True) - the memory layout of the returned array is kept as close as possible - to the original array. - - copy : bool, default=False - Whether a forced copy will be triggered. If copy=False, a copy might - be triggered by a conversion. - - force_all_finite : bool or 'allow-nan', default=True - Whether to raise an error on np.inf, np.nan, pd.NA in array. The - possibilities are: - - - True: Force all values of array to be finite. - - False: accepts np.inf, np.nan, pd.NA in array. - - 'allow-nan': accepts only np.nan and pd.NA values in array. Values - cannot be infinite. - - .. versionadded:: 0.20 - ``force_all_finite`` accepts the string ``'allow-nan'``. - - .. versionchanged:: 0.23 - Accepts `pd.NA` and converts it into `np.nan` - - ensure_2d : bool, default=True - Whether to raise a value error if array is not 2D. - - allow_nd : bool, default=False - Whether to allow array.ndim > 2. - - ensure_min_samples : int, default=1 - Make sure that the array has a minimum number of samples in its first - axis (rows for a 2D array). Setting to 0 disables this check. - - ensure_min_features : int, default=1 - Make sure that the 2D array has some minimum number of features - (columns). The default value of 1 rejects empty datasets. - This check is only enforced when the input data has effectively 2 - dimensions or is originally 1D and ``ensure_2d`` is True. Setting to 0 - disables this check. - - estimator : str or estimator instance, default=None - If passed, include the name of the estimator in warning messages. - - Returns - ------- - array_converted : object - The converted and validated array. - """ - ... - -def check_X_y(X: Union[ArrayLike, ndarray, _SparseMatrix], - y: Union[ArrayLike, ndarray, _SparseMatrix], - accept_sparse: Union[str, bool, Sequence[str], Tuple[str]]=..., - *, - accept_large_sparse: bool=..., - dtype: Optional[Union[Literal['numeric'], type, Sequence[type]]] =..., - order: Optional[str]=..., - copy: bool=..., - force_all_finite: Union[bool, Literal['allow-nan']]=..., - ensure_2d: bool=..., - allow_nd: bool=..., - multi_output: bool=..., - ensure_min_samples: int=..., - ensure_min_features: int=..., - y_numeric: bool=..., - estimator: Optional[Union[str, _Estimator]]=...) -> Any: # incomplete - """Input validation for standard estimators. - - Checks X and y for consistent length, enforces X to be 2D and y 1D. By - default, X is checked to be non-empty and containing only finite values. - Standard input checks are also applied to y, such as checking that y - does not have np.nan or np.inf targets. For multi-label y, set - multi_output=True to allow 2D and sparse y. If the dtype of X is - object, attempt converting to float, raising on failure. - - Parameters - ---------- - X : {ndarray, list, sparse matrix} - Input data. - - y : {ndarray, list, sparse matrix} - Labels. - - accept_sparse : str, bool or list of str, default=False - String[s] representing allowed sparse matrix formats, such as 'csc', - 'csr', etc. If the input is sparse but not in the allowed format, - it will be converted to the first listed format. True allows the input - to be any format. False means that a sparse matrix input will - raise an error. - - accept_large_sparse : bool, default=True - If a CSR, CSC, COO or BSR sparse matrix is supplied and accepted by - accept_sparse, accept_large_sparse will cause it to be accepted only - if its indices are stored with a 32-bit dtype. - - .. versionadded:: 0.20 - - dtype : 'numeric', type, list of type or None, default='numeric' - Data type of result. If None, the dtype of the input is preserved. - If "numeric", dtype is preserved unless array.dtype is object. - If dtype is a list of types, conversion on the first type is only - performed if the dtype of the input is not in the list. - - order : {'F', 'C'}, default=None - Whether an array will be forced to be fortran or c-style. - - copy : bool, default=False - Whether a forced copy will be triggered. If copy=False, a copy might - be triggered by a conversion. - - force_all_finite : bool or 'allow-nan', default=True - Whether to raise an error on np.inf, np.nan, pd.NA in X. This parameter - does not influence whether y can have np.inf, np.nan, pd.NA values. - The possibilities are: - - - True: Force all values of X to be finite. - - False: accepts np.inf, np.nan, pd.NA in X. - - 'allow-nan': accepts only np.nan or pd.NA values in X. Values cannot - be infinite. - - .. versionadded:: 0.20 - ``force_all_finite`` accepts the string ``'allow-nan'``. - - .. versionchanged:: 0.23 - Accepts `pd.NA` and converts it into `np.nan` - - ensure_2d : bool, default=True - Whether to raise a value error if X is not 2D. - - allow_nd : bool, default=False - Whether to allow X.ndim > 2. - - multi_output : bool, default=False - Whether to allow 2D y (array or sparse matrix). If false, y will be - validated as a vector. y cannot have np.nan or np.inf values if - multi_output=True. - - ensure_min_samples : int, default=1 - Make sure that X has a minimum number of samples in its first - axis (rows for a 2D array). - - ensure_min_features : int, default=1 - Make sure that the 2D array has some minimum number of features - (columns). The default value of 1 rejects empty datasets. - This check is only enforced when X has effectively 2 dimensions or - is originally 1D and ``ensure_2d`` is True. Setting to 0 disables - this check. - - y_numeric : bool, default=False - Whether to ensure that y has a numeric type. If dtype of y is object, - it is converted to float64. Should only be used for regression - algorithms. - - estimator : str or estimator instance, default=None - If passed, include the name of the estimator in warning messages. - - Returns - ------- - X_converted : object - The converted and validated X. - - y_converted : object - The converted and validated y. - """ - ... - -def column_or_1d(y: ArrayLike, *, warn: bool=...) -> ndarray: - """ Ravel column or 1d numpy array, else raises an error. - - Parameters - ---------- - y : array-like - - warn : bool, default=False - To control display of warnings. - - Returns - ------- - y : ndarray - - """ - ... - -def check_random_state(seed: Optional[Union[int, RandomState]]) -> RandomState: - """Turn seed into a np.random.RandomState instance - - Parameters - ---------- - seed : None, int or instance of RandomState - If seed is None, return the RandomState singleton used by np.random. - If seed is an int, return a new RandomState instance seeded with seed. - If seed is already a RandomState instance, return it. - Otherwise raise ValueError. - """ - ... - -def has_fit_parameter(estimator: _Estimator, parameter: str) -> bool: - """Checks whether the estimator's fit method supports the given parameter. - - Parameters - ---------- - estimator : object - An estimator to inspect. - - parameter : str - The searched parameter. - - Returns - ------- - is_parameter: bool - Whether the parameter was found to be a named parameter of the - estimator's fit method. - - Examples - -------- - >>> from sklearn.svm import SVC - >>> has_fit_parameter(SVC(), "sample_weight") - True - - """ - ... - -@overload -def check_symmetric(array: ArrayLike, - *, - tol: float=..., - raise_warning: bool=..., - raise_exception: bool=...) -> ArrayLike: ... -@overload -def check_symmetric(array: _SparseMatrix, - *, - tol: float=..., - raise_warning: bool=..., - raise_exception: bool=...) -> _SparseMatrix: - """Make sure that array is 2D, square and symmetric. - - If the array is not symmetric, then a symmetrized version is returned. - Optionally, a warning or exception is raised if the matrix is not - symmetric. - - Parameters - ---------- - array : {ndarray, sparse matrix} - Input object to check / convert. Must be two-dimensional and square, - otherwise a ValueError will be raised. - - tol : float, default=1e-10 - Absolute tolerance for equivalence of arrays. Default = 1E-10. - - raise_warning : bool, default=True - If True then raise a warning if conversion is required. - - raise_exception : bool, default=False - If True then raise an exception if array is not symmetric. - - Returns - ------- - array_sym : {ndarray, sparse matrix} - Symmetrized version of the input array, i.e. the average of array - and array.transpose(). If sparse, then duplicate entries are first - summed and zeros are eliminated. - """ - ... - -def check_is_fitted(estimator: _Estimator, - attributes: Optional[Union[str, Sequence[str], Tuple[str]]]=..., - *, - msg: Optional[str]=..., - all_or_any:Callable[[Iterable[object]], bool]=...) -> None: - """Perform is_fitted validation for estimator. - - Checks if the estimator is fitted by verifying the presence of - fitted attributes (ending with a trailing underscore) and otherwise - raises a NotFittedError with the given message. - - This utility is meant to be used internally by estimators themselves, - typically in their own predict / transform methods. - - Parameters - ---------- - estimator : estimator instance - estimator instance for which the check is performed. - - attributes : str, list or tuple of str, default=None - Attribute name(s) given as string or a list/tuple of strings - Eg.: ``["coef_", "estimator_", ...], "coef_"`` - - If `None`, `estimator` is considered fitted if there exist an - attribute that ends with a underscore and does not start with double - underscore. - - msg : str, default=None - The default error message is, "This %(name)s instance is not fitted - yet. Call 'fit' with appropriate arguments before using this - estimator." - - For custom messages if "%(name)s" is present in the message string, - it is substituted for the estimator name. - - Eg. : "_Estimator, %(name)s, must be fitted before sparsifying". - - all_or_any : callable, {all, any}, default=all - Specify whether all or any of the given attributes must exist. - - Returns - ------- - None - - Raises - ------ - NotFittedError - If the attributes are not found. - """ - ... - -def check_non_negative(X: Union[ArrayLike, _SparseMatrix], whom: str) -> None: - """ - Check if there is any negative value in an array. - - Parameters - ---------- - X : {array-like, sparse matrix} - Input data. - - whom : str - Who passed X to this function. - """ - ... - -def check_scalar(x: object, name: str, target_type: type, *, min_val: Optional[float]=..., max_val: Optional[float]=...) -> None: - """Validate scalar parameters type and value. - - Parameters - ---------- - x : object - The scalar parameter to validate. - - name : str - The name of the parameter to be printed in error messages. - - target_type : type or tuple - Acceptable data types for the parameter. - - min_val : float or int, default=None - The minimum valid value the parameter can take. If None (default) it - is implied that the parameter does not have a lower bound. - - max_val : float or int, default=None - The maximum valid value the parameter can take. If None (default) it - is implied that the parameter does not have an upper bound. - - Raises - ------- - TypeError - If the parameter's type does not match the desired type. - - ValueError - If the parameter's value violates the given bounds. - """ - ... - -def __getattr__(name: str) -> Any: ... # incomplete \ No newline at end of file diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/core/evalf.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/core/evalf.pyi deleted file mode 100644 index 205de5d8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/core/evalf.pyi +++ /dev/null @@ -1,64 +0,0 @@ -from typing import Any, Literal, Mapping, Optional, Sequence, Tuple, Union - -import mpmath.libmp as libmp -from mpmath import inf as mpmath_inf -from mpmath.ctx_mp_python import mpnumeric -from sympy.core import Expr -from sympy.core.symbol import Symbol - -from .compatibility import SYMPY_INTS - -def bitcount(n: int) -> int: ... - -INF: float = ... -MINUS_INF: float = ... -DEFAULT_MAXPREC: float = ... - -class PrecisionExhausted(ArithmeticError): ... - -_MPF = Tuple[int, int, int, int] -_RESULT = Tuple[Optional[_MPF], Optional[_MPF], Optional[int], Optional[int]] - -def _create_evalf_table() -> None: ... - -def fastlog(x: _MPF) -> int: ... -def pure_complex(v: Expr, or_real: bool = ...) -> Tuple[Expr, Expr]: ... -def scaled_zero( - mag: Union[int, Tuple[Union[int, Sequence[int]], int, int, int], SYMPY_INTS], - sign: Literal[1, -1] = ..., -) -> _MPF: ... -def complex_accuracy(result: _RESULT) -> int: ... -def get_integer_part( - expr: Expr, no: Literal[1, -1], options: Mapping[str, Any], return_ints: bool = ... -) -> _RESULT: ... -def add_terms(terms: Expr, prec: int, target_prec: int) -> Any: ... -def evalf_trig(v: Expr, prec: int, options: Mapping[str, Any]) -> _RESULT: ... -def evalf_log(expr: Expr, prec: int, options: Mapping[str, Any]) -> _RESULT: ... -def evalf_atan(v: Expr, prec: int, options: Mapping[str, Any]) -> _RESULT: ... -def evalf_piecewise(expr: Expr, prec: int, options: Mapping[str, Any]) -> _RESULT: ... -def evalf_bernoulli(expr: Expr, prec: int, options: Mapping[str, Any]) -> _RESULT: ... -def as_mpmath(x: Expr, prec: int, options: Mapping[str, Any]) -> mpnumeric: ... -def do_integral(expr: Expr, prec: int, options: Mapping[str, Any]) -> _RESULT: ... -def evalf_integral(expr: Expr, prec: int, options: Mapping[str, Any]) -> _RESULT: ... -def check_convergence( - numer: Expr, denom: Expr, n: Expr -) -> Tuple[int, Optional[Expr], Optional[Expr]]: ... -def hypsum(expr: Expr, n: Expr, start: Expr, prec: int) -> _MPF: ... -def evalf_prod(expr: Expr, prec: int, options: Mapping[str, Any]) -> _RESULT: ... -def evalf_sum(expr: Expr, prec: int, options: Mapping[str, Any]) -> _RESULT: ... -def evalf_symbol(x: Expr, prec: int, options: Mapping[str, Any]) -> _RESULT: ... -def evalf(x: Basic, prec: int, options: Mapping[str, Any]) -> _RESULT: ... - -class EvalfMixin: - def evalf( - self, - n: int = ..., - subs: Optional[Mapping[Symbol, Expr]] = ..., - maxn: Optional[int] = ..., - chop: Optional[Union[int, bool]] = ..., - strict: Optional[bool] = ..., - quad: Optional[str] = ..., - verbose: Optional[bool] = ..., - ) -> Optional[_MPF]: ... - -def N(x: Expr, n: int = ..., **options: Any): ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/core/power.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/core/power.pyi deleted file mode 100644 index 0d93b10d..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/core/power.pyi +++ /dev/null @@ -1,52 +0,0 @@ -from typing import Number, Optional - -from .expr import Expr - -def isqrt(n: Number) -> Number: ... -def integer_nthroot(y: Number, n: Number) -> Tuple[Number, bool]: ... -def integer_log(y: Number, x: Number) -> Tuple[Number, bool]: ... - -class Pow(Expr): - is_Pow: bool = ... - @property - def base(self) -> Expr: ... - @property - def exp(self) -> Expr: ... - def __new__(cls, b: Expr, e: Expr, evaluate: Optional[bool] = ...) -> Expr: ... - def _eval_Mod(self, q: Expr) -> Expr: ... - def _eval_is_even(self) -> bool: ... - def _eval_is_negative(self) -> bool: ... - def _eval_is_positive(self) -> bool: ... - def _eval_is_extended_positive(self) -> bool: ... - def _eval_is_extended_negative(self) -> bool: ... - def _eval_is_zero(self) -> bool: ... - def _eval_is_integer(self) -> bool: ... - def _eval_is_extended_real(self) -> bool: ... - def _eval_is_complex(self) -> bool: ... - def _eval_is_imaginary(self) -> bool: ... - def _eval_is_odd(self) -> bool: ... - def _eval_is_finite(self) -> bool: ... - def _eval_is_prime(self) -> bool: ... - def _eval_is_composite(self) -> bool: ... - def _eval_is_polar(self) -> bool: ... - def _eval_subs(self, old: Expr, new: Expr) -> Expr: ... - def as_base_exp(self) -> Tuple[Number, Number]: ... - def _eval_adjoint(self) -> Expr: ... - def _eval_conjugate(self) -> Expr: ... - def _eval_transpose(self) -> Expr: ... - def _eval_expand_power_exp(self, **hints: Any) -> Expr: ... - def _eval_expand_power_base(self, **hints: Any) -> Expr: ... - def _eval_expand_multinomial(self, **hints: Any) -> Expr: ... - def _eval_derivative(self, s: Expr) -> Expr: ... - def _eval_evalf(self, prec: Expr) -> Expr: ... - def _eval_is_rational(self) -> bool: ... - def _eval_is_algebraic(self) -> bool: ... - def _eval_rewrite_as_exp(self, base: Expr, expo: Expr, **kwargs: Any) -> Expr: ... - def _sage_(self) -> Expr: ... - def _eval_rewrite_as_sin(self, base: Expr, exp: Expr) -> Expr: ... - def _eval_rewrite_as_cos(self, base: Expr, exp: Expr) -> Expr: ... - def _eval_rewrite_as_tanh(self, base: Expr, exp: Expr) -> Expr: ... - def _eval_rewrite_as_sqrt( - self, base: Expr, exp: Expr, **kwargs: Any - ) -> Optional[Expr]: ... - def _eval_difference_delta(self, n: Expr, step: Expr) -> Expr: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/py.typed b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/py.typed deleted file mode 100644 index b648ac92..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/py.typed +++ /dev/null @@ -1 +0,0 @@ -partial diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/simplify/powsimp.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/simplify/powsimp.pyi deleted file mode 100644 index 55445aba..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/simplify/powsimp.pyi +++ /dev/null @@ -1,12 +0,0 @@ -from typing import Literal, Callable - -from sympy.core import Expr - -def powsimp( - expr: Expr, - deep: bool = ..., - combine: Literal["all", "base", "exp"] = ..., - force: bool = ..., - measure: Callable[[Expr], int] = ..., -) -> Expr: ... -def powdenest(eq: Expr, force: bool = ..., polar: bool = ...) -> Expr: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/simplify/simplify.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/simplify/simplify.pyi deleted file mode 100644 index 6d552785..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/sympy-stubs/simplify/simplify.pyi +++ /dev/null @@ -1,55 +0,0 @@ -from typing import Any, Callable, Dict, Literal, Optional, Sequence, Tuple, overload - -from sympy.core import Expr, Symbol - -def separatevars( - expr: Expr, symbols: Sequence[Symbol] = ..., dict: bool = ..., force: bool = ... -) -> Any: ... -def _is_sum_surds(p: Expr) -> bool: ... -def posify(eq: Expr) -> Tuple[Expr, Dict[Symbol, Symbol]]: ... -def hypersimp(f: Expr, k: Expr) -> Optional[Expr]: ... -def hypersimilar(f: Expr, g: Expr, k: Expr) -> bool: ... -def signsimp(expr: Expr, evaluate: Optional[bool] = ...) -> Expr: ... -def simplify( - expr: Expr, - ratio: float = ..., - measure: Callable[[Expr], int] = ..., - rational: bool = ..., - inverse: bool = ..., - doit: bool = ..., - **kwargs: Any -) -> Expr: ... -def sum_simplify(s: Expr, **kwargs: Any) -> Expr: ... -def sum_combine(s_t: Sequence[Expr]) -> Expr: ... -def factor_sum( - self: Expr, - limits: Optional[Sequence[Any]] = ..., - radical: bool = ..., - clear: bool = ..., - fraction: bool = ..., - sign: bool = ..., -) -> Expr: ... -def product_simplify(s: Expr) -> Expr: ... -def logcombine(expr: Expr, force: bool = ...) -> Expr: ... -def inversecombine(expr: Expr) -> Expr: ... -def walk(e: Expr, *target: Expr) -> Expr: ... -def bottom_up( - rv: Expr, F: Callable[[Expr], Expr], atoms: bool = ..., nonbasic: bool = ... -) -> Expr: ... -def kroneckersimp(expr: Expr) -> Expr: ... -def besselsimp(expr: Expr) -> Expr: ... -def nthroot(expr: Expr, n: int, max_len: int = ..., prec: int = ...) -> Expr: ... -def nsimplify( - expr: Expr, - constants: Sequence[Expr] = ..., - tolerance: Optional[float] = ..., - full: bool = ..., - rational: Optional[bool] = ..., - rational_conversion: str = ..., -) -> Expr: ... -def clear_coefficients(expr: Expr, rhs: Expr = ...) -> Tuple[Expr, Expr]: ... -def nc_simplify(expr: Expr, deep: bool = ...) -> Expr: ... -@overload -def dotprodsimp(expr: Expr, withsimp: Literal[True] = ...) -> Tuple[Expr, bool]: ... -@overload -def dotprodsimp(expr: Expr, withsimp: Literal[False] = ...) -> Expr: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/transformers-stubs/models/auto/configuration_auto.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/transformers-stubs/models/auto/configuration_auto.pyi deleted file mode 100644 index 354a8fd2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/transformers-stubs/models/auto/configuration_auto.pyi +++ /dev/null @@ -1,19 +0,0 @@ -import os -from transformers.configuration_utils import PretrainedConfig -from typing import Any, Callable, Dict, OrderedDict, TypeVar, Union - -ALL_PRETRAINED_CONFIG_ARCHIVE_MAP: Dict[Any, Any] = ... -CONFIG_MAPPING: OrderedDict[str, PretrainedConfig] = ... -MODEL_NAMES_MAPPING: OrderedDict[str, str] = ... -F = TypeVar('F', bound=Callable[..., Any]) - -def replace_list_option_in_docstrings(config_to_class=..., use_model_types=...) -> Callable[[F], F]: ... - -class AutoConfig: - def __init__(self) -> None: ... - @classmethod - def for_model(cls, model_type: str, *args, **kwargs) -> PretrainedConfig: ... - @classmethod - def from_pretrained(cls, pretrained_model_name_or_path: Union[str, os.PathLike] = ..., **kwargs) -> Any: ... # incomplete - - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/transformers-stubs/models/auto/tokenization_auto.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/transformers-stubs/models/auto/tokenization_auto.pyi deleted file mode 100644 index 734ec697..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/transformers-stubs/models/auto/tokenization_auto.pyi +++ /dev/null @@ -1,21 +0,0 @@ -import os -import logging -from typing import Dict, Optional, OrderedDict, Sequence, Tuple, Union -from .configuration_auto import replace_list_option_in_docstrings -from transformers.tokenization_utils_fast import PreTrainedTokenizerFast -from transformers.tokenization_utils import PreTrainedTokenizer -from transformers.configuration_utils import PretrainedConfig - -logger: logging.Logger -TOKENIZER_MAPPING: OrderedDict[PretrainedConfig, Tuple[PreTrainedTokenizer, PreTrainedTokenizerFast]] = ... -NO_CONFIG_TOKENIZER: Sequence[Union[PreTrainedTokenizer, PreTrainedTokenizerFast]] = ... -SLOW_TOKENIZER_MAPPING: Dict[PretrainedConfig, Union[PreTrainedTokenizer, PreTrainedTokenizerFast]] = ... - -def tokenizer_class_from_name(class_name: str) -> Union[PreTrainedTokenizer, PreTrainedTokenizerFast]: ... - -def get_tokenizer_config(pretrained_model_name_or_path: Union[str, os.PathLike], cache_dir: Optional[Union[str, os.PathLike]] = ..., force_download: bool = ..., resume_download: bool = ..., proxies: Optional[Dict[str, str]] = ..., use_auth_token: Optional[Union[bool, str]] = ..., revision: Optional[str] = ..., local_files_only: bool = ..., **kwargs) -> Dict: ... - -class AutoTokenizer: - def __init__(self) -> None: ... - @classmethod - def from_pretrained(cls, pretrained_model_name_or_path: Union[str, os.PathLike] = ..., *inputs, **kwargs) -> Union[PreTrainedTokenizer, PreTrainedTokenizerFast]: ... diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/transformers-stubs/py.typed b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/transformers-stubs/py.typed deleted file mode 100644 index b648ac92..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/transformers-stubs/py.typed +++ /dev/null @@ -1 +0,0 @@ -partial diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/mmapfile.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/mmapfile.pyi deleted file mode 100644 index 3bd86e36..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/mmapfile.pyi +++ /dev/null @@ -1,22 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: mmapfile, version: unspecified -# Module: mmapfile, version: unspecified - -'Compiled extension module that provides access to the memory mapped file API' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.error -def mmapfile(File, Name, MaximumSize=..., FileOffset=..., NumberOfBytesToMap=...) -> typing.Any: - 'Pymmapfile=mmapfile(File,Name,MaximumSize=0,FileOffset=0,NumberOfBytesToMap=0) Creates a memory mapped file view' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/odbc.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/odbc.pyi deleted file mode 100644 index e638aa1b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/odbc.pyi +++ /dev/null @@ -1,44 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: odbc, version: unspecified -# Module: odbc, version: unspecified - -'A Python wrapper around the ODBC API.' - -import typing -import builtins as _mod_builtins -import dbi as _mod_dbi - -odbcError = _mod_builtins.type -DATE: str -NUMBER: str -RAW: str -def SQLDataSources() -> typing.Any: - ... - -SQL_FETCH_ABSOLUTE: int -SQL_FETCH_FIRST: int -SQL_FETCH_FIRST_SYSTEM: int -SQL_FETCH_FIRST_USER: int -SQL_FETCH_LAST: int -SQL_FETCH_NEXT: int -SQL_FETCH_PRIOR: int -SQL_FETCH_RELATIVE: int -STRING: str -TYPES: tuple -__doc__: str -__file__: str -__name__: str -__package__: str -dataError = _mod_dbi.dataError -error: odbcError -integrityError = _mod_dbi.integrityError -internalError = _mod_dbi.internalError -noError = _mod_dbi.noError -def odbc() -> typing.Any: - ... - -opError = _mod_dbi.opError -progError = _mod_dbi.progError -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/perfmon.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/perfmon.pyi deleted file mode 100644 index 7f08ff3c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/perfmon.pyi +++ /dev/null @@ -1,31 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: perfmon, version: unspecified -# Module: perfmon, version: unspecified - -'Contains functions and objects wrapping the Performance Monitor APIs' - -import typing -import builtins as _mod_builtins - -def CounterDefinition() -> typing.Any: - ... - -def LoadPerfCounterTextStrings() -> typing.Any: - ... - -def ObjectType() -> typing.Any: - ... - -def PerfMonManager() -> typing.Any: - ... - -def UnloadPerfCounterTextStrings() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/py.typed b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/py.typed deleted file mode 100644 index b648ac92..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/py.typed +++ /dev/null @@ -1 +0,0 @@ -partial diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/servicemanager.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/servicemanager.pyi deleted file mode 100644 index d3fc55e1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/servicemanager.pyi +++ /dev/null @@ -1,102 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: servicemanager, version: unspecified -# Module: servicemanager, version: unspecified - -'A module that interfaces with the Windows Service Control Manager.' - -import typing -import builtins as _mod_builtins - -COINIT_APARTMENTTHREADED: int -COINIT_DISABLE_OLE1DDE: int -COINIT_MULTITHREADED: int -COINIT_SPEED_OVER_MEMORY: int -def CoInitializeEx() -> typing.Any: - ... - -def CoUninitialize() -> typing.Any: - ... - -def Debugging() -> typing.Any: - ... - -EVENTLOG_AUDIT_FAILURE: int -EVENTLOG_AUDIT_SUCCESS: int -EVENTLOG_ERROR_TYPE: int -EVENTLOG_INFORMATION_TYPE: int -EVENTLOG_WARNING_TYPE: int -def Finalize() -> typing.Any: - ... - -def Initialize() -> typing.Any: - ... - -def LogErrorMsg() -> typing.Any: - ... - -def LogInfoMsg() -> typing.Any: - ... - -def LogMsg() -> typing.Any: - ... - -def LogWarningMsg() -> typing.Any: - ... - -PYS_SERVICE_STARTED: int -PYS_SERVICE_STARTING: int -PYS_SERVICE_STOPPED: int -PYS_SERVICE_STOPPING: int -def PrepareToHostMultiple() -> typing.Any: - ... - -def PrepareToHostSingle() -> typing.Any: - ... - -def PumpWaitingMessages() -> typing.Any: - ... - -def RegisterServiceCtrlHandler() -> typing.Any: - ... - -def RunningAsService() -> typing.Any: - ... - -def SetEventSourceName() -> typing.Any: - ... - -def StartServiceCtrlDispatcher() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -class startup_error(_mod_builtins.Exception): - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/timer.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/timer.pyi deleted file mode 100644 index 9aafb103..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/timer.pyi +++ /dev/null @@ -1,27 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: timer, version: 0.2 -# Module: timer, version: 0.2 - -'Extension that wraps Win32 Timer functions' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -__doc__: str -__file__: str -__name__: str -__package__: str -__version__: bytes -error = _mod_pywintypes.error -def kill_timer(timer_id) -> typing.Any: - 'boolean = kill_timer(timer_id)\nStops a timer' - ... - -def set_timer() -> typing.Any: - 'int = set_timer(milliseconds, callback}\nCreates a timer that executes a callback function' - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win2kras.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win2kras.pyi deleted file mode 100644 index 8084e28b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win2kras.pyi +++ /dev/null @@ -1,22 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win2kras, version: unspecified -# Module: win2kras, version: unspecified - -'A module encapsulating the Windows 2000 extensions to the Remote Access Service (RAS) API.' - -import typing -import builtins as _mod_builtins - -def GetEapUserIdentity() -> typing.Any: - ... - -RASEAPF_Logon: int -RASEAPF_NonInteractive: int -RASEAPF_Preview: int -__doc__: str -__file__: str -__name__: str -__package__: str -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32api.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32api.pyi deleted file mode 100644 index cacef62a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32api.pyi +++ /dev/null @@ -1,692 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32api, version: unspecified -# Module: win32api, version: unspecified - -'Wraps general API functions that are not subsumed in the more specific modules' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -def AbortSystemShutdown() -> typing.Any: - ... - -def Apply() -> typing.Any: - ... - -def Beep() -> typing.Any: - ... - -def BeginUpdateResource() -> typing.Any: - ... - -def ChangeDisplaySettings() -> typing.Any: - ... - -def ChangeDisplaySettingsEx() -> typing.Any: - ... - -def ClipCursor() -> typing.Any: - ... - -def CloseHandle() -> typing.Any: - ... - -def CommandLineToArgv() -> typing.Any: - ... - -def CopyFile() -> typing.Any: - ... - -def DebugBreak() -> typing.Any: - ... - -def DeleteFile() -> typing.Any: - ... - -def DragFinish() -> typing.Any: - ... - -def DragQueryFile() -> typing.Any: - ... - -def DuplicateHandle() -> typing.Any: - ... - -def EndUpdateResource() -> typing.Any: - ... - -def EnumDisplayDevices() -> typing.Any: - ... - -def EnumDisplayMonitors() -> typing.Any: - ... - -def EnumDisplaySettings() -> typing.Any: - ... - -def EnumDisplaySettingsEx() -> typing.Any: - ... - -def EnumResourceLanguages() -> typing.Any: - ... - -def EnumResourceNames() -> typing.Any: - ... - -def EnumResourceTypes() -> typing.Any: - ... - -def ExitWindows() -> typing.Any: - ... - -def ExitWindowsEx() -> typing.Any: - ... - -def ExpandEnvironmentStrings() -> typing.Any: - ... - -def FindCloseChangeNotification() -> typing.Any: - ... - -def FindExecutable() -> typing.Any: - ... - -def FindFiles() -> typing.Any: - ... - -def FindFirstChangeNotification() -> typing.Any: - ... - -def FindNextChangeNotification() -> typing.Any: - ... - -def FormatMessage() -> typing.Any: - ... - -def FormatMessageW() -> typing.Any: - ... - -def FreeLibrary() -> typing.Any: - ... - -def GenerateConsoleCtrlEvent() -> typing.Any: - ... - -def GetAsyncKeyState() -> typing.Any: - ... - -def GetCommandLine() -> typing.Any: - ... - -def GetComputerName() -> typing.Any: - ... - -def GetComputerNameEx() -> typing.Any: - ... - -def GetComputerObjectName() -> typing.Any: - ... - -def GetConsoleTitle() -> typing.Any: - ... - -def GetCurrentProcess() -> typing.Any: - ... - -def GetCurrentProcessId() -> typing.Any: - ... - -def GetCurrentThread() -> typing.Any: - ... - -def GetCurrentThreadId() -> typing.Any: - ... - -def GetCursorPos() -> typing.Any: - ... - -def GetDateFormat() -> typing.Any: - ... - -def GetDiskFreeSpace() -> typing.Any: - ... - -def GetDiskFreeSpaceEx() -> typing.Any: - ... - -def GetDllDirectory() -> typing.Any: - ... - -def GetDomainName() -> typing.Any: - ... - -def GetEnvironmentVariable() -> typing.Any: - ... - -def GetEnvironmentVariableW() -> typing.Any: - ... - -def GetFileAttributes() -> typing.Any: - ... - -def GetFileVersionInfo() -> typing.Any: - ... - -def GetFocus() -> typing.Any: - ... - -def GetFullPathName() -> typing.Any: - ... - -def GetHandleInformation() -> typing.Any: - ... - -def GetKeyState() -> typing.Any: - ... - -def GetKeyboardLayout() -> typing.Any: - ... - -def GetKeyboardLayoutList() -> typing.Any: - ... - -def GetKeyboardLayoutName() -> typing.Any: - ... - -def GetKeyboardState() -> typing.Any: - ... - -def GetLastError() -> typing.Any: - ... - -def GetLastInputInfo() -> typing.Any: - ... - -def GetLocalTime() -> typing.Any: - ... - -def GetLogicalDriveStrings() -> typing.Any: - ... - -def GetLogicalDrives() -> typing.Any: - ... - -def GetLongPathName() -> typing.Any: - ... - -def GetLongPathNameW() -> typing.Any: - ... - -def GetModuleFileName() -> typing.Any: - ... - -def GetModuleFileNameW() -> typing.Any: - ... - -def GetModuleHandle() -> typing.Any: - ... - -def GetMonitorInfo() -> typing.Any: - ... - -def GetNativeSystemInfo() -> typing.Any: - ... - -def GetProcAddress() -> typing.Any: - ... - -def GetProfileSection() -> typing.Any: - ... - -def GetProfileVal() -> typing.Any: - ... - -def GetPwrCapabilities() -> typing.Any: - ... - -def GetShortPathName() -> typing.Any: - ... - -def GetStdHandle() -> typing.Any: - ... - -def GetSysColor() -> typing.Any: - ... - -def GetSystemDefaultLCID() -> typing.Any: - ... - -def GetSystemDefaultLangID() -> typing.Any: - ... - -def GetSystemDirectory() -> typing.Any: - ... - -def GetSystemFileCacheSize() -> typing.Any: - ... - -def GetSystemInfo() -> typing.Any: - ... - -def GetSystemMetrics() -> typing.Any: - ... - -def GetSystemTime() -> typing.Any: - ... - -def GetTempFileName() -> typing.Any: - ... - -def GetTempPath() -> typing.Any: - ... - -def GetThreadLocale() -> typing.Any: - ... - -def GetTickCount() -> typing.Any: - ... - -def GetTimeFormat() -> typing.Any: - ... - -def GetTimeZoneInformation() -> typing.Any: - ... - -def GetUserDefaultLCID() -> typing.Any: - ... - -def GetUserDefaultLangID() -> typing.Any: - ... - -def GetUserName() -> typing.Any: - ... - -def GetUserNameEx() -> typing.Any: - ... - -def GetVersion() -> typing.Any: - ... - -def GetVersionEx() -> typing.Any: - ... - -def GetVolumeInformation() -> typing.Any: - ... - -def GetWindowLong() -> typing.Any: - ... - -def GetWindowsDirectory() -> typing.Any: - ... - -def GlobalMemoryStatus() -> typing.Any: - ... - -def GlobalMemoryStatusEx() -> typing.Any: - ... - -def HIBYTE() -> typing.Any: - ... - -def HIWORD() -> typing.Any: - ... - -def InitiateSystemShutdown() -> typing.Any: - ... - -def LOBYTE() -> typing.Any: - ... - -def LOWORD() -> typing.Any: - ... - -def LoadCursor() -> typing.Any: - ... - -def LoadKeyboardLayout() -> typing.Any: - ... - -def LoadLibrary() -> typing.Any: - ... - -def LoadLibraryEx() -> typing.Any: - ... - -def LoadResource() -> typing.Any: - ... - -def LoadString() -> typing.Any: - ... - -def MAKELANGID() -> typing.Any: - ... - -def MAKELONG() -> typing.Any: - ... - -def MAKEWORD() -> typing.Any: - ... - -def MapVirtualKey() -> typing.Any: - ... - -def MessageBeep() -> typing.Any: - ... - -def MessageBox() -> typing.Any: - ... - -def MessageBoxEx() -> typing.Any: - ... - -def MonitorFromPoint() -> typing.Any: - ... - -def MonitorFromRect() -> typing.Any: - ... - -def MonitorFromWindow() -> typing.Any: - ... - -def MoveFile() -> typing.Any: - ... - -def MoveFileEx() -> typing.Any: - ... - -NameCanonical: int -NameCanonicalEx: int -NameDisplay: int -NameFullyQualifiedDN: int -NameSamCompatible: int -NameServicePrincipal: int -NameUniqueId: int -NameUnknown: int -NameUserPrincipal: int -def OpenProcess() -> typing.Any: - ... - -def OpenThread() -> typing.Any: - ... - -def OutputDebugString() -> typing.Any: - ... - -def PostMessage() -> typing.Any: - ... - -def PostQuitMessage() -> typing.Any: - ... - -def PostThreadMessage() -> typing.Any: - ... - -PyDISPLAY_DEVICEType = _mod_builtins.PyDISPLAY_DEVICE -REG_NOTIFY_CHANGE_ATTRIBUTES: int -REG_NOTIFY_CHANGE_LAST_SET: int -REG_NOTIFY_CHANGE_NAME: int -REG_NOTIFY_CHANGE_SECURITY: int -def RGB() -> typing.Any: - ... - -def RegCloseKey() -> typing.Any: - ... - -def RegConnectRegistry() -> typing.Any: - ... - -def RegCopyTree() -> typing.Any: - ... - -def RegCreateKey() -> typing.Any: - ... - -def RegCreateKeyEx() -> typing.Any: - ... - -def RegDeleteKey() -> typing.Any: - ... - -def RegDeleteKeyEx() -> typing.Any: - ... - -def RegDeleteTree() -> typing.Any: - ... - -def RegDeleteValue() -> typing.Any: - ... - -def RegEnumKey() -> typing.Any: - ... - -def RegEnumKeyEx() -> typing.Any: - ... - -def RegEnumKeyExW() -> typing.Any: - ... - -def RegEnumValue() -> typing.Any: - ... - -def RegFlushKey() -> typing.Any: - ... - -def RegGetKeySecurity() -> typing.Any: - ... - -def RegLoadKey() -> typing.Any: - ... - -def RegNotifyChangeKeyValue() -> typing.Any: - ... - -def RegOpenCurrentUser() -> typing.Any: - ... - -def RegOpenKey() -> typing.Any: - ... - -def RegOpenKeyEx() -> typing.Any: - ... - -def RegOpenKeyTransacted() -> typing.Any: - ... - -def RegOverridePredefKey() -> typing.Any: - ... - -def RegQueryInfoKey() -> typing.Any: - ... - -def RegQueryInfoKeyW() -> typing.Any: - ... - -def RegQueryValue() -> typing.Any: - ... - -def RegQueryValueEx() -> typing.Any: - ... - -def RegRestoreKey() -> typing.Any: - ... - -def RegSaveKey() -> typing.Any: - ... - -def RegSaveKeyEx() -> typing.Any: - ... - -def RegSetKeySecurity() -> typing.Any: - ... - -def RegSetValue() -> typing.Any: - ... - -def RegSetValueEx() -> typing.Any: - ... - -def RegUnLoadKey() -> typing.Any: - ... - -def RegisterWindowMessage() -> typing.Any: - ... - -STD_ERROR_HANDLE: int -STD_INPUT_HANDLE: int -STD_OUTPUT_HANDLE: int -def SearchPath() -> typing.Any: - ... - -def SendMessage() -> typing.Any: - ... - -def SetClassLong() -> typing.Any: - ... - -def SetClassWord() -> typing.Any: - ... - -def SetConsoleCtrlHandler() -> typing.Any: - ... - -def SetConsoleTitle() -> typing.Any: - ... - -def SetCursor() -> typing.Any: - ... - -def SetCursorPos() -> typing.Any: - ... - -def SetDllDirectory() -> typing.Any: - ... - -def SetEnvironmentVariable() -> typing.Any: - ... - -def SetEnvironmentVariableW() -> typing.Any: - ... - -def SetErrorMode() -> typing.Any: - ... - -def SetFileAttributes() -> typing.Any: - ... - -def SetHandleInformation() -> typing.Any: - ... - -def SetLastError() -> typing.Any: - ... - -def SetLocalTime() -> typing.Any: - ... - -def SetStdHandle() -> typing.Any: - ... - -def SetSysColors() -> typing.Any: - ... - -def SetSystemFileCacheSize() -> typing.Any: - ... - -def SetSystemPowerState() -> typing.Any: - ... - -def SetSystemTime() -> typing.Any: - ... - -def SetThreadLocale() -> typing.Any: - ... - -def SetTimeZoneInformation() -> typing.Any: - ... - -def SetWindowLong() -> typing.Any: - ... - -def ShellExecute() -> typing.Any: - ... - -def ShowCursor() -> typing.Any: - ... - -def Sleep() -> typing.Any: - ... - -def SleepEx() -> typing.Any: - ... - -def TerminateProcess() -> typing.Any: - ... - -def ToAsciiEx() -> typing.Any: - ... - -def Unicode() -> typing.Any: - ... - -def UpdateResource() -> typing.Any: - ... - -VFT_APP: int -VFT_DLL: int -VFT_DRV: int -VFT_FONT: int -VFT_STATIC_LIB: int -VFT_UNKNOWN: int -VFT_VXD: int -VOS_DOS: int -VOS_DOS_WINDOWS16: int -VOS_DOS_WINDOWS32: int -VOS_NT: int -VOS_NT_WINDOWS32: int -VOS_OS216: int -VOS_OS216_PM16: int -VOS_OS232: int -VOS_OS232_PM32: int -VOS_UNKNOWN: int -VOS__PM16: int -VOS__PM32: int -VOS__WINDOWS16: int -VOS__WINDOWS32: int -VS_FF_DEBUG: int -VS_FF_INFOINFERRED: int -VS_FF_PATCHED: int -VS_FF_PRERELEASE: int -VS_FF_PRIVATEBUILD: int -VS_FF_SPECIALBUILD: int -def VkKeyScan() -> typing.Any: - ... - -def VkKeyScanEx() -> typing.Any: - ... - -def WinExec() -> typing.Any: - ... - -def WinHelp() -> typing.Any: - ... - -def WriteProfileSection() -> typing.Any: - ... - -def WriteProfileVal() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.error -def keybd_event() -> typing.Any: - ... - -def mouse_event() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32clipboard.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32clipboard.pyi deleted file mode 100644 index c10517a5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32clipboard.pyi +++ /dev/null @@ -1,102 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32clipboard, version: unspecified -# Module: win32clipboard, version: unspecified - -'A module which supports the Windows Clipboard API.' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -CF_BITMAP: int -CF_DIB: int -CF_DIBV5: int -CF_DIF: int -CF_DSPBITMAP: int -CF_DSPENHMETAFILE: int -CF_DSPMETAFILEPICT: int -CF_DSPTEXT: int -CF_ENHMETAFILE: int -CF_HDROP: int -CF_LOCALE: int -CF_MAX: int -CF_METAFILEPICT: int -CF_OEMTEXT: int -CF_OWNERDISPLAY: int -CF_PALETTE: int -CF_PENDATA: int -CF_RIFF: int -CF_SYLK: int -CF_TEXT: int -CF_TIFF: int -CF_UNICODETEXT: int -CF_WAVE: int -def ChangeClipboardChain() -> typing.Any: - ... - -def CloseClipboard() -> typing.Any: - ... - -def CountClipboardFormats() -> typing.Any: - ... - -def EmptyClipboard() -> typing.Any: - ... - -def EnumClipboardFormats() -> typing.Any: - ... - -def GetClipboardData() -> typing.Any: - ... - -def GetClipboardDataHandle() -> typing.Any: - ... - -def GetClipboardFormatName() -> typing.Any: - ... - -def GetClipboardOwner() -> typing.Any: - ... - -def GetClipboardSequenceNumber() -> typing.Any: - ... - -def GetClipboardViewer() -> typing.Any: - ... - -def GetGlobalMemory() -> typing.Any: - ... - -def GetOpenClipboardWindow() -> typing.Any: - ... - -def GetPriorityClipboardFormat() -> typing.Any: - ... - -def IsClipboardFormatAvailable() -> typing.Any: - ... - -def OpenClipboard() -> typing.Any: - ... - -def RegisterClipboardFormat() -> typing.Any: - ... - -def SetClipboardData() -> typing.Any: - ... - -def SetClipboardText() -> typing.Any: - ... - -def SetClipboardViewer() -> typing.Any: - ... - -UNICODE: bool -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32console.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32console.pyi deleted file mode 100644 index d988ad18..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32console.pyi +++ /dev/null @@ -1,146 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32console, version: unspecified -# Module: win32console, version: unspecified - -'Interface to the Windows Console functions for dealing with character-mode applications.' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -ATTACH_PARENT_PROCESS: int -def AddConsoleAlias() -> typing.Any: - 'Creates a new console alias' - ... - -def AllocConsole() -> typing.Any: - 'Creates a new console for the calling process' - ... - -def AttachConsole() -> typing.Any: - 'Attaches calling process to console of another process' - ... - -BACKGROUND_BLUE: int -BACKGROUND_GREEN: int -BACKGROUND_INTENSITY: int -BACKGROUND_RED: int -COMMON_LVB_GRID_HORIZONTAL: int -COMMON_LVB_GRID_LVERTICAL: int -COMMON_LVB_GRID_RVERTICAL: int -COMMON_LVB_LEADING_BYTE: int -COMMON_LVB_REVERSE_VIDEO: int -COMMON_LVB_TRAILING_BYTE: int -COMMON_LVB_UNDERSCORE: int -CONSOLE_FULLSCREEN: int -CONSOLE_FULLSCREEN_HARDWARE: int -CONSOLE_FULLSCREEN_MODE: int -CONSOLE_MOUSE_DOWN: int -CONSOLE_MOUSE_SELECTION: int -CONSOLE_NO_SELECTION: int -CONSOLE_SELECTION_IN_PROGRESS: int -CONSOLE_SELECTION_NOT_EMPTY: int -CONSOLE_TEXTMODE_BUFFER: int -CONSOLE_WINDOWED_MODE: int -CTRL_BREAK_EVENT: int -CTRL_C_EVENT: int -def CreateConsoleScreenBuffer() -> typing.Any: - 'Creates a new console screen buffer' - ... - -ENABLE_ECHO_INPUT: int -ENABLE_LINE_INPUT: int -ENABLE_MOUSE_INPUT: int -ENABLE_PROCESSED_INPUT: int -ENABLE_PROCESSED_OUTPUT: int -ENABLE_WINDOW_INPUT: int -ENABLE_WRAP_AT_EOL_OUTPUT: int -FOCUS_EVENT: int -FOREGROUND_BLUE: int -FOREGROUND_GREEN: int -FOREGROUND_INTENSITY: int -FOREGROUND_RED: int -def FreeConsole() -> typing.Any: - 'Detaches process from its console' - ... - -def GenerateConsoleCtrlEvent() -> typing.Any: - 'Sends a control signal to a group of processes attached to a common console' - ... - -def GetConsoleAliasExes() -> typing.Any: - 'Lists all executables that have console aliases defined' - ... - -def GetConsoleAliases() -> typing.Any: - 'Retrieves aliases defined under specified executable' - ... - -def GetConsoleCP() -> typing.Any: - "Returns the input code page for calling process's console" - ... - -def GetConsoleDisplayMode() -> typing.Any: - "Returns the current console's display mode" - ... - -def GetConsoleOutputCP() -> typing.Any: - "Returns the output code page for calling process's console" - ... - -def GetConsoleProcessList() -> typing.Any: - 'Returns pids of all processes attached to current console' - ... - -def GetConsoleSelectionInfo() -> typing.Any: - 'Returns info on text selection within the current console' - ... - -def GetConsoleTitle() -> typing.Any: - 'Returns the title of console to which calling process is attached' - ... - -def GetConsoleWindow() -> typing.Any: - "Returns a handle to the console's window, or 0 if none exists" - ... - -def GetNumberOfConsoleFonts() -> typing.Any: - 'Returns the number of fonts available to the console' - ... - -def GetStdHandle() -> typing.Any: - "Returns one of calling process's standard handles" - ... - -KEY_EVENT: int -LOCALE_USER_DEFAULT: int -MENU_EVENT: int -MOUSE_EVENT: int -PyCOORDType = _mod_builtins.PyCOORD -PyConsoleScreenBufferType = _mod_builtins.PyConsoleScreenBuffer -PyINPUT_RECORDType = _mod_builtins.PyINPUT_RECORD -PySMALL_RECTType = _mod_builtins.PySMALL_RECT -STD_ERROR_HANDLE: int -STD_INPUT_HANDLE: int -STD_OUTPUT_HANDLE: int -def SetConsoleCP() -> typing.Any: - "Sets the input code page for calling process's console" - ... - -def SetConsoleOutputCP() -> typing.Any: - "Sets the output code page for calling process's console" - ... - -def SetConsoleTitle() -> typing.Any: - "Sets the title of calling process's console" - ... - -WINDOW_BUFFER_SIZE_EVENT: int -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32cred.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32cred.pyi deleted file mode 100644 index 0e90ac8a..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32cred.pyi +++ /dev/null @@ -1,139 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32cred, version: unspecified -# Module: win32cred, version: unspecified - -'Interface to credentials management functions.' - -import typing -import builtins as _mod_builtins - -CREDUI_FLAGS_ALWAYS_SHOW_UI: int -CREDUI_FLAGS_COMPLETE_USERNAME: int -CREDUI_FLAGS_DO_NOT_PERSIST: int -CREDUI_FLAGS_EXCLUDE_CERTIFICATES: int -CREDUI_FLAGS_EXPECT_CONFIRMATION: int -CREDUI_FLAGS_GENERIC_CREDENTIALS: int -CREDUI_FLAGS_INCORRECT_PASSWORD: int -CREDUI_FLAGS_KEEP_USERNAME: int -CREDUI_FLAGS_PASSWORD_ONLY_OK: int -CREDUI_FLAGS_PERSIST: int -CREDUI_FLAGS_PROMPT_VALID: int -CREDUI_FLAGS_REQUEST_ADMINISTRATOR: int -CREDUI_FLAGS_REQUIRE_CERTIFICATE: int -CREDUI_FLAGS_REQUIRE_SMARTCARD: int -CREDUI_FLAGS_SERVER_CREDENTIAL: int -CREDUI_FLAGS_SHOW_SAVE_CHECK_BOX: int -CREDUI_FLAGS_USERNAME_TARGET_CREDENTIALS: int -CREDUI_FLAGS_VALIDATE_USERNAME: int -CREDUI_MAX_CAPTION_LENGTH: int -CREDUI_MAX_DOMAIN_TARGET_LENGTH: int -CREDUI_MAX_GENERIC_TARGET_LENGTH: int -CREDUI_MAX_MESSAGE_LENGTH: int -CREDUI_MAX_PASSWORD_LENGTH: int -CREDUI_MAX_USERNAME_LENGTH: int -CRED_ALLOW_NAME_RESOLUTION: int -CRED_CACHE_TARGET_INFORMATION: int -CRED_FLAGS_OWF_CRED_BLOB: int -CRED_FLAGS_PASSWORD_FOR_CERT: int -CRED_FLAGS_PROMPT_NOW: int -CRED_FLAGS_USERNAME_TARGET: int -CRED_FLAGS_VALID_FLAGS: int -CRED_MAX_ATTRIBUTES: int -CRED_MAX_DOMAIN_TARGET_NAME_LENGTH: int -CRED_MAX_GENERIC_TARGET_NAME_LENGTH: int -CRED_MAX_STRING_LENGTH: int -CRED_MAX_USERNAME_LENGTH: int -CRED_MAX_VALUE_SIZE: int -CRED_PERSIST_ENTERPRISE: int -CRED_PERSIST_LOCAL_MACHINE: int -CRED_PERSIST_NONE: int -CRED_PERSIST_SESSION: int -CRED_PRESERVE_CREDENTIAL_BLOB: int -CRED_TI_CREATE_EXPLICIT_CRED: int -CRED_TI_DOMAIN_FORMAT_UNKNOWN: int -CRED_TI_ONLY_PASSWORD_REQUIRED: int -CRED_TI_SERVER_FORMAT_UNKNOWN: int -CRED_TI_USERNAME_TARGET: int -CRED_TI_VALID_FLAGS: int -CRED_TI_WORKGROUP_MEMBER: int -CRED_TYPE_DOMAIN_CERTIFICATE: int -CRED_TYPE_DOMAIN_PASSWORD: int -CRED_TYPE_DOMAIN_VISIBLE_PASSWORD: int -CRED_TYPE_GENERIC: int -CertCredential: int -def CredDelete() -> typing.Any: - 'Deletes a stored credential' - ... - -def CredEnumerate() -> typing.Any: - 'Lists stored credentials for current logon session' - ... - -def CredGetTargetInfo() -> typing.Any: - 'Determines type and location of credential target' - ... - -def CredIsMarshaledCredential() -> typing.Any: - 'Checks if a string matches the form of a marshaled credential' - ... - -def CredMarshalCredential() -> typing.Any: - 'Marshals a credential into a unicode string' - ... - -def CredRead() -> typing.Any: - 'Retrieves a stored credential' - ... - -def CredReadDomainCredentials() -> typing.Any: - "Retrieves a user's credentials for a domain or server" - ... - -def CredRename() -> typing.Any: - 'Changes the target name of stored credentials' - ... - -def CredUICmdLinePromptForCredentials() -> typing.Any: - 'Prompt for username/passwd from a console app' - ... - -def CredUIConfirmCredentials() -> typing.Any: - 'Confirms whether credentials entered by user are valid or not' - ... - -def CredUIParseUserName() -> typing.Any: - 'Parses a full username into domain and username' - ... - -def CredUIPromptForCredentials() -> typing.Any: - 'Initiates dialog to request user credentials' - ... - -def CredUIReadSSOCredW() -> typing.Any: - 'Retrieves single sign on username' - ... - -def CredUIStoreSSOCredW() -> typing.Any: - 'Creates a single sign on credential' - ... - -def CredUnmarshalCredential() -> typing.Any: - 'Unmarshals credentials formatted using ' - ... - -def CredWrite() -> typing.Any: - 'Creates or updates a stored credential' - ... - -def CredWriteDomainCredentials() -> typing.Any: - 'Creates or updates credential for a domain or server' - ... - -UsernameTargetCredential: int -__doc__: str -__file__: str -__name__: str -__package__: str -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32crypt.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32crypt.pyi deleted file mode 100644 index 8d35dae9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32crypt.pyi +++ /dev/null @@ -1,142 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32crypt, version: unspecified -# Module: win32crypt, version: unspecified - -'Support for Windows cryptography functions' - -import typing -import builtins as _mod_builtins - -def CertAddSerializedElementToStore() -> typing.Any: - ... - -def CertAlgIdToOID() -> typing.Any: - ... - -def CertEnumPhysicalStore() -> typing.Any: - ... - -def CertEnumSystemStore() -> typing.Any: - ... - -def CertEnumSystemStoreLocation() -> typing.Any: - ... - -def CertNameToStr() -> typing.Any: - ... - -def CertOIDToAlgId() -> typing.Any: - ... - -def CertOpenStore() -> typing.Any: - ... - -def CertOpenSystemStore() -> typing.Any: - ... - -def CertRegisterSystemStore() -> typing.Any: - ... - -def CertUnregisterSystemStore() -> typing.Any: - ... - -def CryptAcquireContext() -> typing.Any: - ... - -def CryptBinaryToString() -> typing.Any: - ... - -def CryptDecodeMessage() -> typing.Any: - ... - -def CryptDecodeObjectEx() -> typing.Any: - ... - -def CryptDecryptAndVerifyMessageSignature() -> typing.Any: - ... - -def CryptDecryptMessage() -> typing.Any: - ... - -def CryptEncodeObjectEx() -> typing.Any: - ... - -def CryptEncryptMessage() -> typing.Any: - ... - -def CryptEnumKeyIdentifierProperties() -> typing.Any: - ... - -def CryptEnumOIDInfo() -> typing.Any: - ... - -def CryptEnumProviderTypes() -> typing.Any: - ... - -def CryptEnumProviders() -> typing.Any: - ... - -def CryptFindLocalizedName() -> typing.Any: - ... - -def CryptFindOIDInfo() -> typing.Any: - ... - -def CryptFormatObject() -> typing.Any: - ... - -def CryptGetDefaultProvider() -> typing.Any: - ... - -def CryptGetKeyIdentifierProperty() -> typing.Any: - ... - -def CryptGetMessageCertificates() -> typing.Any: - ... - -def CryptGetMessageSignerCount() -> typing.Any: - ... - -def CryptProtectData() -> typing.Any: - ... - -def CryptQueryObject() -> typing.Any: - ... - -def CryptSetProviderEx() -> typing.Any: - ... - -def CryptSignAndEncryptMessage() -> typing.Any: - ... - -def CryptSignMessage() -> typing.Any: - ... - -def CryptStringToBinary() -> typing.Any: - ... - -def CryptUnprotectData() -> typing.Any: - ... - -def CryptVerifyDetachedMessageSignature() -> typing.Any: - ... - -def CryptVerifyMessageSignature() -> typing.Any: - ... - -def PFXImportCertStore() -> typing.Any: - ... - -def PFXIsPFXBlob() -> typing.Any: - ... - -def PFXVerifyPassword() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32event.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32event.pyi deleted file mode 100644 index e4606f06..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32event.pyi +++ /dev/null @@ -1,111 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32event, version: unspecified -# Module: win32event, version: unspecified - -'' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -def CancelWaitableTimer() -> typing.Any: - ... - -def CreateEvent() -> typing.Any: - ... - -def CreateMutex() -> typing.Any: - ... - -def CreateSemaphore() -> typing.Any: - ... - -def CreateWaitableTimer() -> typing.Any: - ... - -EVENT_ALL_ACCESS: int -EVENT_MODIFY_STATE: int -INFINITE: int -MAXIMUM_WAIT_OBJECTS: int -def MsgWaitForMultipleObjects() -> typing.Any: - ... - -def MsgWaitForMultipleObjectsEx() -> typing.Any: - ... - -def OpenEvent() -> typing.Any: - ... - -def OpenMutex() -> typing.Any: - ... - -def OpenSemaphore() -> typing.Any: - ... - -def OpenWaitableTimer() -> typing.Any: - ... - -def PulseEvent() -> typing.Any: - ... - -QS_ALLEVENTS: int -QS_ALLINPUT: int -QS_HOTKEY: int -QS_INPUT: int -QS_KEY: int -QS_MOUSE: int -QS_MOUSEBUTTON: int -QS_MOUSEMOVE: int -QS_PAINT: int -QS_POSTMESSAGE: int -QS_SENDMESSAGE: int -QS_TIMER: int -def ReleaseMutex() -> typing.Any: - ... - -def ReleaseSemaphore() -> typing.Any: - ... - -def ResetEvent() -> typing.Any: - ... - -SYNCHRONIZE: int -def SetEvent() -> typing.Any: - ... - -def SetWaitableTimer() -> typing.Any: - ... - -def SignalObjectAndWait() -> typing.Any: - ... - -UNICODE: int -WAIT_ABANDONED: int -WAIT_ABANDONED_0: int -WAIT_FAILED: int -WAIT_IO_COMPLETION: int -WAIT_OBJECT_0: int -WAIT_TIMEOUT: int -def WaitForInputIdle() -> typing.Any: - ... - -def WaitForMultipleObjects() -> typing.Any: - ... - -def WaitForMultipleObjectsEx() -> typing.Any: - ... - -def WaitForSingleObject() -> typing.Any: - ... - -def WaitForSingleObjectEx() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32evtlog.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32evtlog.pyi deleted file mode 100644 index 771d99d5..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32evtlog.pyi +++ /dev/null @@ -1,319 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32evtlog, version: unspecified -# Module: win32evtlog, version: unspecified - -'' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -def BackupEventLog() -> typing.Any: - ... - -def ClearEventLog() -> typing.Any: - ... - -def CloseEventLog() -> typing.Any: - ... - -def DeregisterEventSource() -> typing.Any: - ... - -EVENTLOG_AUDIT_FAILURE: int -EVENTLOG_AUDIT_SUCCESS: int -EVENTLOG_BACKWARDS_READ: int -EVENTLOG_END_ALL_PAIRED_EVENTS: int -EVENTLOG_END_PAIRED_EVENT: int -EVENTLOG_ERROR_TYPE: int -EVENTLOG_FORWARDS_READ: int -EVENTLOG_INFORMATION_TYPE: int -EVENTLOG_PAIRED_EVENT_ACTIVE: int -EVENTLOG_PAIRED_EVENT_INACTIVE: int -EVENTLOG_SEEK_READ: int -EVENTLOG_SEQUENTIAL_READ: int -EVENTLOG_START_PAIRED_EVENT: int -EVENTLOG_SUCCESS: int -EVENTLOG_WARNING_TYPE: int -EventMetadataEventChannel: int -EventMetadataEventID: int -EventMetadataEventKeyword: int -EventMetadataEventLevel: int -EventMetadataEventMessageID: int -EventMetadataEventOpcode: int -EventMetadataEventTask: int -EventMetadataEventTemplate: int -EventMetadataEventVersion: int -def EvtArchiveExportedLog() -> typing.Any: - ... - -EvtChannelConfigAccess: int -EvtChannelConfigClassicEventlog: int -EvtChannelConfigEnabled: int -EvtChannelConfigIsolation: int -EvtChannelConfigOwningPublisher: int -EvtChannelConfigPropertyIdEND: int -EvtChannelConfigType: int -EvtChannelLoggingConfigAutoBackup: int -EvtChannelLoggingConfigLogFilePath: int -EvtChannelLoggingConfigMaxSize: int -EvtChannelLoggingConfigRetention: int -EvtChannelPublisherList: int -EvtChannelPublishingConfigBufferSize: int -EvtChannelPublishingConfigClockType: int -EvtChannelPublishingConfigControlGuid: int -EvtChannelPublishingConfigKeywords: int -EvtChannelPublishingConfigLatency: int -EvtChannelPublishingConfigLevel: int -EvtChannelPublishingConfigMaxBuffers: int -EvtChannelPublishingConfigMinBuffers: int -EvtChannelPublishingConfigSidType: int -def EvtClearLog() -> typing.Any: - ... - -def EvtCreateBookmark() -> typing.Any: - ... - -def EvtCreateRenderContext() -> typing.Any: - ... - -EvtEventMetadataPropertyIdEND: int -EvtEventPath: int -EvtEventPropertyIdEND: int -EvtEventQueryIDs: int -def EvtExportLog() -> typing.Any: - ... - -EvtExportLogChannelPath: int -EvtExportLogFilePath: int -EvtExportLogTolerateQueryErrors: int -def EvtFormatMessage() -> typing.Any: - ... - -EvtFormatMessageChannel: int -EvtFormatMessageEvent: int -EvtFormatMessageId: int -EvtFormatMessageKeyword: int -EvtFormatMessageLevel: int -EvtFormatMessageOpcode: int -EvtFormatMessageProvider: int -EvtFormatMessageTask: int -EvtFormatMessageXml: int -def EvtGetChannelConfigProperty() -> typing.Any: - ... - -def EvtGetEventInfo() -> typing.Any: - ... - -def EvtGetEventMetadataProperty() -> typing.Any: - ... - -def EvtGetExtendedStatus() -> typing.Any: - ... - -def EvtGetLogInfo() -> typing.Any: - ... - -def EvtGetObjectArrayProperty() -> typing.Any: - ... - -def EvtGetObjectArraySize() -> typing.Any: - ... - -def EvtGetPublisherMetadataProperty() -> typing.Any: - ... - -EvtLogAttributes: int -EvtLogCreationTime: int -EvtLogFileSize: int -EvtLogFull: int -EvtLogLastAccessTime: int -EvtLogLastWriteTime: int -EvtLogNumberOfLogRecords: int -EvtLogOldestRecordNumber: int -def EvtNext() -> typing.Any: - ... - -def EvtNextChannelPath() -> typing.Any: - ... - -def EvtNextEventMetadata() -> typing.Any: - ... - -def EvtNextPublisherId() -> typing.Any: - ... - -def EvtOpenChannelConfig() -> typing.Any: - ... - -def EvtOpenChannelEnum() -> typing.Any: - ... - -EvtOpenChannelPath: int -def EvtOpenEventMetadataEnum() -> typing.Any: - ... - -EvtOpenFilePath: int -def EvtOpenLog() -> typing.Any: - ... - -def EvtOpenPublisherEnum() -> typing.Any: - ... - -def EvtOpenPublisherMetadata() -> typing.Any: - ... - -def EvtOpenSession() -> typing.Any: - ... - -EvtPublisherMetadataChannelReferenceFlags: int -EvtPublisherMetadataChannelReferenceID: int -EvtPublisherMetadataChannelReferenceIndex: int -EvtPublisherMetadataChannelReferenceMessageID: int -EvtPublisherMetadataChannelReferencePath: int -EvtPublisherMetadataChannelReferences: int -EvtPublisherMetadataHelpLink: int -EvtPublisherMetadataKeywordMessageID: int -EvtPublisherMetadataKeywordName: int -EvtPublisherMetadataKeywordValue: int -EvtPublisherMetadataKeywords: int -EvtPublisherMetadataLevelMessageID: int -EvtPublisherMetadataLevelName: int -EvtPublisherMetadataLevelValue: int -EvtPublisherMetadataLevels: int -EvtPublisherMetadataMessageFilePath: int -EvtPublisherMetadataOpcodeMessageID: int -EvtPublisherMetadataOpcodeName: int -EvtPublisherMetadataOpcodeValue: int -EvtPublisherMetadataOpcodes: int -EvtPublisherMetadataParameterFilePath: int -EvtPublisherMetadataPropertyIdEND: int -EvtPublisherMetadataPublisherGuid: int -EvtPublisherMetadataPublisherMessageID: int -EvtPublisherMetadataResourceFilePath: int -EvtPublisherMetadataTaskEventGuid: int -EvtPublisherMetadataTaskMessageID: int -EvtPublisherMetadataTaskName: int -EvtPublisherMetadataTaskValue: int -EvtPublisherMetadataTasks: int -def EvtQuery() -> typing.Any: - ... - -EvtQueryChannelPath: int -EvtQueryFilePath: int -EvtQueryForwardDirection: int -EvtQueryReverseDirection: int -EvtQueryTolerateQueryErrors: int -def EvtRender() -> typing.Any: - ... - -EvtRenderBookmark: int -EvtRenderContextSystem: int -EvtRenderContextUser: int -EvtRenderContextValues: int -EvtRenderEventValues: int -EvtRenderEventXml: int -EvtRpcLogin: int -EvtRpcLoginAuthDefault: int -EvtRpcLoginAuthKerberos: int -EvtRpcLoginAuthNTLM: int -EvtRpcLoginAuthNegotiate: int -def EvtSeek() -> typing.Any: - ... - -EvtSeekOriginMask: int -EvtSeekRelativeToBookmark: int -EvtSeekRelativeToCurrent: int -EvtSeekRelativeToFirst: int -EvtSeekRelativeToLast: int -EvtSeekStrict: int -def EvtSubscribe() -> typing.Any: - ... - -EvtSubscribeActionDeliver: int -EvtSubscribeActionError: int -EvtSubscribeOriginMask: int -EvtSubscribeStartAfterBookmark: int -EvtSubscribeStartAtOldestRecord: int -EvtSubscribeStrict: int -EvtSubscribeToFutureEvents: int -EvtSubscribeTolerateQueryErrors: int -EvtSystemActivityID: int -EvtSystemChannel: int -EvtSystemComputer: int -EvtSystemEventID: int -EvtSystemEventRecordId: int -EvtSystemKeywords: int -EvtSystemLevel: int -EvtSystemOpcode: int -EvtSystemProcessID: int -EvtSystemPropertyIdEND: int -EvtSystemProviderGuid: int -EvtSystemProviderName: int -EvtSystemQualifiers: int -EvtSystemRelatedActivityID: int -EvtSystemTask: int -EvtSystemThreadID: int -EvtSystemTimeCreated: int -EvtSystemUserID: int -EvtSystemVersion: int -def EvtUpdateBookmark() -> typing.Any: - ... - -EvtVarTypeAnsiString: int -EvtVarTypeBinary: int -EvtVarTypeBoolean: int -EvtVarTypeByte: int -EvtVarTypeDouble: int -EvtVarTypeEvtHandle: int -EvtVarTypeEvtXml: int -EvtVarTypeFileTime: int -EvtVarTypeGuid: int -EvtVarTypeHexInt32: int -EvtVarTypeHexInt64: int -EvtVarTypeInt16: int -EvtVarTypeInt32: int -EvtVarTypeInt64: int -EvtVarTypeNull: int -EvtVarTypeSByte: int -EvtVarTypeSid: int -EvtVarTypeSingle: int -EvtVarTypeSizeT: int -EvtVarTypeString: int -EvtVarTypeSysTime: int -EvtVarTypeUInt16: int -EvtVarTypeUInt32: int -EvtVarTypeUInt64: int -def GetNumberOfEventLogRecords() -> typing.Any: - ... - -def GetOldestEventLogRecord() -> typing.Any: - ... - -def NotifyChangeEventLog() -> typing.Any: - ... - -def OpenBackupEventLog() -> typing.Any: - ... - -def OpenEventLog() -> typing.Any: - ... - -def ReadEventLog() -> typing.Any: - ... - -def RegisterEventSource() -> typing.Any: - ... - -def ReportEvent() -> typing.Any: - ... - -UNICODE: int -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32file.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32file.pyi deleted file mode 100644 index cc17c384..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32file.pyi +++ /dev/null @@ -1,640 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32file, version: unspecified -# Module: win32file, version: unspecified - -'' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -def AcceptEx() -> typing.Any: - ... - -def AddUsersToEncryptedFile() -> typing.Any: - ... - -def AllocateReadBuffer() -> typing.Any: - ... - -def AreFileApisANSI() -> typing.Any: - ... - -def BackupRead() -> typing.Any: - ... - -def BackupSeek() -> typing.Any: - ... - -def BackupWrite() -> typing.Any: - ... - -def BuildCommDCB() -> typing.Any: - ... - -CALLBACK_CHUNK_FINISHED: int -CALLBACK_STREAM_SWITCH: int -CBR_110: int -CBR_115200: int -CBR_1200: int -CBR_128000: int -CBR_14400: int -CBR_19200: int -CBR_2400: int -CBR_256000: int -CBR_300: int -CBR_38400: int -CBR_4800: int -CBR_56000: int -CBR_57600: int -CBR_600: int -CBR_9600: int -CLRBREAK: int -CLRDTR: int -CLRRTS: int -COPY_FILE_ALLOW_DECRYPTED_DESTINATION: int -COPY_FILE_FAIL_IF_EXISTS: int -COPY_FILE_OPEN_SOURCE_FOR_WRITE: int -COPY_FILE_RESTARTABLE: int -CREATE_ALWAYS: int -CREATE_FOR_DIR: int -CREATE_FOR_IMPORT: int -CREATE_NEW: int -def CalculateSocketEndPointSize() -> typing.Any: - ... - -def CancelIo() -> typing.Any: - ... - -def ClearCommBreak() -> typing.Any: - ... - -def ClearCommError() -> typing.Any: - ... - -def CloseEncryptedFileRaw() -> typing.Any: - ... - -def CloseHandle() -> typing.Any: - ... - -def ConnectEx() -> typing.Any: - ... - -def CopyFile() -> typing.Any: - ... - -def CopyFileEx() -> typing.Any: - ... - -def CopyFileW() -> typing.Any: - ... - -def CreateDirectory() -> typing.Any: - ... - -def CreateDirectoryEx() -> typing.Any: - ... - -def CreateDirectoryExW() -> typing.Any: - ... - -def CreateDirectoryW() -> typing.Any: - ... - -def CreateFile() -> typing.Any: - ... - -def CreateFileW() -> typing.Any: - ... - -def CreateHardLink() -> typing.Any: - ... - -def CreateIoCompletionPort() -> typing.Any: - ... - -def CreateMailslot() -> typing.Any: - ... - -def CreateSymbolicLink() -> typing.Any: - ... - -def DCB() -> typing.Any: - ... - -DRIVE_CDROM: int -DRIVE_FIXED: int -DRIVE_NO_ROOT_DIR: int -DRIVE_RAMDISK: int -DRIVE_REMOTE: int -DRIVE_REMOVABLE: int -DRIVE_UNKNOWN: int -DTR_CONTROL_DISABLE: int -DTR_CONTROL_ENABLE: int -DTR_CONTROL_HANDSHAKE: int -def DecryptFile() -> typing.Any: - ... - -def DefineDosDevice() -> typing.Any: - ... - -def DefineDosDeviceW() -> typing.Any: - ... - -def DeleteFile() -> typing.Any: - ... - -def DeleteFileW() -> typing.Any: - ... - -def DeleteVolumeMountPoint() -> typing.Any: - ... - -def DeviceIoControl() -> typing.Any: - ... - -def DuplicateEncryptionInfoFile() -> typing.Any: - ... - -EVENPARITY: int -EV_BREAK: int -EV_CTS: int -EV_DSR: int -EV_ERR: int -EV_RING: int -EV_RLSD: int -EV_RXCHAR: int -EV_RXFLAG: int -EV_TXEMPTY: int -def EncryptFile() -> typing.Any: - ... - -def EncryptionDisable() -> typing.Any: - ... - -def EscapeCommFunction() -> typing.Any: - ... - -FD_ACCEPT: int -FD_ADDRESS_LIST_CHANGE: int -FD_CLOSE: int -FD_CONNECT: int -FD_GROUP_QOS: int -FD_OOB: int -FD_QOS: int -FD_READ: int -FD_ROUTING_INTERFACE_CHANGE: int -FD_WRITE: int -FILE_ALL_ACCESS: int -FILE_ATTRIBUTE_ARCHIVE: int -FILE_ATTRIBUTE_COMPRESSED: int -FILE_ATTRIBUTE_DIRECTORY: int -FILE_ATTRIBUTE_HIDDEN: int -FILE_ATTRIBUTE_NORMAL: int -FILE_ATTRIBUTE_OFFLINE: int -FILE_ATTRIBUTE_READONLY: int -FILE_ATTRIBUTE_SYSTEM: int -FILE_ATTRIBUTE_TEMPORARY: int -FILE_BEGIN: int -FILE_CURRENT: int -FILE_ENCRYPTABLE: int -FILE_END: int -FILE_FLAG_BACKUP_SEMANTICS: int -FILE_FLAG_DELETE_ON_CLOSE: int -FILE_FLAG_NO_BUFFERING: int -FILE_FLAG_OPEN_REPARSE_POINT: int -FILE_FLAG_OVERLAPPED: int -FILE_FLAG_POSIX_SEMANTICS: int -FILE_FLAG_RANDOM_ACCESS: int -FILE_FLAG_SEQUENTIAL_SCAN: int -FILE_FLAG_WRITE_THROUGH: int -FILE_GENERIC_READ: int -FILE_GENERIC_WRITE: int -FILE_IS_ENCRYPTED: int -def FILE_NOTIFY_INFORMATION() -> typing.Any: - ... - -FILE_READ_ONLY: int -FILE_ROOT_DIR: int -FILE_SHARE_DELETE: int -FILE_SHARE_READ: int -FILE_SHARE_WRITE: int -FILE_SYSTEM_ATTR: int -FILE_SYSTEM_DIR: int -FILE_SYSTEM_NOT_SUPPORT: int -FILE_TYPE_CHAR: int -FILE_TYPE_DISK: int -FILE_TYPE_PIPE: int -FILE_TYPE_UNKNOWN: int -FILE_UNKNOWN: int -FILE_USER_DISALLOWED: int -FileAllocationInfo: int -FileAttributeTagInfo: int -FileBasicInfo: int -FileCompressionInfo: int -FileDispositionInfo: int -def FileEncryptionStatus() -> typing.Any: - ... - -FileEndOfFileInfo: int -FileIdBothDirectoryInfo: int -FileIdBothDirectoryRestartInfo: int -FileIdType: int -FileIoPriorityHintInfo: int -FileNameInfo: int -FileRenameInfo: int -FileStandardInfo: int -FileStreamInfo: int -def FindClose() -> typing.Any: - ... - -def FindCloseChangeNotification() -> typing.Any: - ... - -def FindFileNames() -> typing.Any: - ... - -def FindFilesIterator() -> typing.Any: - ... - -def FindFilesW() -> typing.Any: - ... - -def FindFirstChangeNotification() -> typing.Any: - ... - -def FindNextChangeNotification() -> typing.Any: - ... - -def FindStreams() -> typing.Any: - ... - -def FlushFileBuffers() -> typing.Any: - ... - -GENERIC_EXECUTE: int -GENERIC_READ: int -GENERIC_WRITE: int -def GetAcceptExSockaddrs() -> typing.Any: - ... - -def GetBinaryType() -> typing.Any: - ... - -def GetCommMask() -> typing.Any: - ... - -def GetCommModemStatus() -> typing.Any: - ... - -def GetCommState() -> typing.Any: - ... - -def GetCommTimeouts() -> typing.Any: - ... - -def GetCompressedFileSize() -> typing.Any: - ... - -def GetDiskFreeSpace() -> typing.Any: - ... - -def GetDiskFreeSpaceEx() -> typing.Any: - ... - -def GetDriveType() -> typing.Any: - ... - -def GetDriveTypeW() -> typing.Any: - ... - -def GetFileAttributes() -> typing.Any: - ... - -def GetFileAttributesEx() -> typing.Any: - ... - -def GetFileAttributesExW() -> typing.Any: - ... - -def GetFileAttributesW() -> typing.Any: - ... - -GetFileExInfoStandard: int -def GetFileInformationByHandle() -> typing.Any: - ... - -def GetFileInformationByHandleEx() -> typing.Any: - ... - -def GetFileSize() -> typing.Any: - ... - -def GetFileTime() -> typing.Any: - ... - -def GetFileType() -> typing.Any: - ... - -def GetFinalPathNameByHandle() -> typing.Any: - ... - -def GetFullPathName() -> typing.Any: - ... - -def GetLogicalDrives() -> typing.Any: - ... - -def GetLongPathName() -> typing.Any: - ... - -def GetMailslotInfo() -> typing.Any: - ... - -def GetOverlappedResult() -> typing.Any: - ... - -def GetQueuedCompletionStatus() -> typing.Any: - ... - -def GetVolumeNameForVolumeMountPoint() -> typing.Any: - ... - -def GetVolumePathName() -> typing.Any: - ... - -def GetVolumePathNamesForVolumeName() -> typing.Any: - ... - -INVALID_HANDLE_VALUE: int -IoPriorityHintLow: int -IoPriorityHintNormal: int -IoPriorityHintVeryLow: int -def LockFile() -> typing.Any: - ... - -def LockFileEx() -> typing.Any: - ... - -MARKPARITY: int -MOVEFILE_COPY_ALLOWED: int -MOVEFILE_CREATE_HARDLINK: int -MOVEFILE_DELAY_UNTIL_REBOOT: int -MOVEFILE_FAIL_IF_NOT_TRACKABLE: int -MOVEFILE_REPLACE_EXISTING: int -MOVEFILE_WRITE_THROUGH: int -def MoveFile() -> typing.Any: - ... - -def MoveFileEx() -> typing.Any: - ... - -def MoveFileExW() -> typing.Any: - ... - -def MoveFileW() -> typing.Any: - ... - -def MoveFileWithProgress() -> typing.Any: - ... - -NOPARITY: int -ODDPARITY: int -ONE5STOPBITS: int -ONESTOPBIT: int -OPEN_ALWAYS: int -OPEN_EXISTING: int -def OVERLAPPED() -> typing.Any: - ... - -OVERWRITE_HIDDEN: int -ObjectIdType: int -def OpenEncryptedFileRaw() -> typing.Any: - ... - -def OpenFileById() -> typing.Any: - ... - -PROGRESS_CANCEL: int -PROGRESS_CONTINUE: int -PROGRESS_QUIET: int -PROGRESS_STOP: int -PURGE_RXABORT: int -PURGE_RXCLEAR: int -PURGE_TXABORT: int -PURGE_TXCLEAR: int -def PostQueuedCompletionStatus() -> typing.Any: - ... - -def PurgeComm() -> typing.Any: - ... - -def QueryDosDevice() -> typing.Any: - ... - -def QueryRecoveryAgentsOnEncryptedFile() -> typing.Any: - ... - -def QueryUsersOnEncryptedFile() -> typing.Any: - ... - -REPLACEFILE_IGNORE_MERGE_ERRORS: int -REPLACEFILE_WRITE_THROUGH: int -RTS_CONTROL_DISABLE: int -RTS_CONTROL_ENABLE: int -RTS_CONTROL_HANDSHAKE: int -RTS_CONTROL_TOGGLE: int -def ReOpenFile() -> typing.Any: - ... - -def ReadDirectoryChangesW() -> typing.Any: - ... - -def ReadEncryptedFileRaw() -> typing.Any: - ... - -def ReadFile() -> typing.Any: - ... - -def RemoveDirectory() -> typing.Any: - ... - -def RemoveUsersFromEncryptedFile() -> typing.Any: - ... - -def ReplaceFile() -> typing.Any: - ... - -SCS_32BIT_BINARY: int -SCS_DOS_BINARY: int -SCS_OS216_BINARY: int -SCS_PIF_BINARY: int -SCS_POSIX_BINARY: int -SCS_WOW_BINARY: int -SECURITY_ANONYMOUS: int -SECURITY_CONTEXT_TRACKING: int -SECURITY_DELEGATION: int -SECURITY_EFFECTIVE_ONLY: int -SECURITY_IDENTIFICATION: int -SECURITY_IMPERSONATION: int -SETBREAK: int -SETDTR: int -SETRTS: int -SETXOFF: int -SETXON: int -SO_CONNECT_TIME: int -SO_UPDATE_ACCEPT_CONTEXT: int -SO_UPDATE_CONNECT_CONTEXT: int -SPACEPARITY: int -SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE: int -SYMBOLIC_LINK_FLAG_DIRECTORY: int -def SetCommBreak() -> typing.Any: - ... - -def SetCommMask() -> typing.Any: - ... - -def SetCommState() -> typing.Any: - ... - -def SetCommTimeouts() -> typing.Any: - ... - -def SetCurrentDirectory() -> typing.Any: - ... - -def SetEndOfFile() -> typing.Any: - ... - -def SetFileApisToANSI() -> typing.Any: - ... - -def SetFileApisToOEM() -> typing.Any: - ... - -def SetFileAttributes() -> typing.Any: - ... - -def SetFileAttributesW() -> typing.Any: - ... - -def SetFileInformationByHandle() -> typing.Any: - ... - -def SetFilePointer() -> typing.Any: - ... - -def SetFileShortName() -> typing.Any: - ... - -def SetFileTime() -> typing.Any: - ... - -def SetMailslotInfo() -> typing.Any: - ... - -def SetVolumeLabel() -> typing.Any: - ... - -def SetVolumeMountPoint() -> typing.Any: - ... - -def SetupComm() -> typing.Any: - ... - -def SfcGetNextProtectedFile() -> typing.Any: - ... - -def SfcIsFileProtected() -> typing.Any: - ... - -TF_DISCONNECT: int -TF_REUSE_SOCKET: int -TF_USE_DEFAULT_WORKER: int -TF_USE_KERNEL_APC: int -TF_USE_SYSTEM_THREAD: int -TF_WRITE_BEHIND: int -TRUNCATE_EXISTING: int -TWOSTOPBITS: int -def TransmitCommChar() -> typing.Any: - ... - -def TransmitFile() -> typing.Any: - ... - -UNICODE: int -def UnlockFile() -> typing.Any: - ... - -def UnlockFileEx() -> typing.Any: - ... - -def WSAAsyncSelect() -> typing.Any: - ... - -WSAECONNABORTED: int -WSAECONNRESET: int -WSAEDISCON: int -WSAEFAULT: int -WSAEINPROGRESS: int -WSAEINTR: int -WSAEINVAL: int -WSAEMSGSIZE: int -WSAENETDOWN: int -WSAENETRESET: int -WSAENOBUFS: int -WSAENOTCONN: int -WSAENOTSOCK: int -WSAEOPNOTSUPP: int -WSAESHUTDOWN: int -WSAEWOULDBLOCK: int -def WSAEnumNetworkEvents() -> typing.Any: - ... - -def WSAEventSelect() -> typing.Any: - ... - -def WSARecv() -> typing.Any: - ... - -def WSASend() -> typing.Any: - ... - -WSA_IO_PENDING: int -WSA_OPERATION_ABORTED: int -def WaitCommEvent() -> typing.Any: - ... - -def Wow64DisableWow64FsRedirection() -> typing.Any: - ... - -def Wow64RevertWow64FsRedirection() -> typing.Any: - ... - -def WriteEncryptedFileRaw() -> typing.Any: - ... - -def WriteFile() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -def _get_osfhandle() -> typing.Any: - ... - -def _getmaxstdio() -> typing.Any: - ... - -def _open_osfhandle() -> typing.Any: - ... - -def _setmaxstdio() -> typing.Any: - ... - -error = _mod_pywintypes.error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32gui.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32gui.pyi deleted file mode 100644 index 24e8de78..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32gui.pyi +++ /dev/null @@ -1,1091 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32gui, version: unspecified -# Module: win32gui, version: unspecified - -'' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -def AbortPath() -> typing.Any: - ... - -def AlphaBlend() -> typing.Any: - ... - -def AngleArc() -> typing.Any: - ... - -def AnimateWindow() -> typing.Any: - ... - -def AppendMenu() -> typing.Any: - ... - -def Arc() -> typing.Any: - ... - -def ArcTo() -> typing.Any: - ... - -def BeginPaint() -> typing.Any: - ... - -def BeginPath() -> typing.Any: - ... - -def BitBlt() -> typing.Any: - ... - -def BringWindowToTop() -> typing.Any: - ... - -CLR_NONE: int -def CallWindowProc() -> typing.Any: - ... - -def CheckMenuItem() -> typing.Any: - ... - -def CheckMenuRadioItem() -> typing.Any: - ... - -def ChildWindowFromPoint() -> typing.Any: - ... - -def ChildWindowFromPointEx() -> typing.Any: - ... - -def Chord() -> typing.Any: - ... - -def ClientToScreen() -> typing.Any: - ... - -def CloseFigure() -> typing.Any: - ... - -def CloseWindow() -> typing.Any: - ... - -def CombineRgn() -> typing.Any: - ... - -def CombineTransform() -> typing.Any: - ... - -def CommDlgExtendedError() -> typing.Any: - ... - -def CopyIcon() -> typing.Any: - ... - -def CreateAcceleratorTable() -> typing.Any: - ... - -def CreateBitmap() -> typing.Any: - ... - -def CreateBrushIndirect() -> typing.Any: - ... - -def CreateCaret() -> typing.Any: - ... - -def CreateCompatibleBitmap() -> typing.Any: - ... - -def CreateCompatibleDC() -> typing.Any: - ... - -def CreateDC() -> typing.Any: - ... - -def CreateDialogIndirect() -> typing.Any: - ... - -def CreateDialogIndirectParam() -> typing.Any: - ... - -def CreateEllipticRgnIndirect() -> typing.Any: - ... - -def CreateFontIndirect() -> typing.Any: - ... - -def CreateHatchBrush() -> typing.Any: - ... - -def CreateIconFromResource() -> typing.Any: - ... - -def CreateIconIndirect() -> typing.Any: - ... - -def CreateMenu() -> typing.Any: - ... - -def CreatePatternBrush() -> typing.Any: - ... - -def CreatePen() -> typing.Any: - ... - -def CreatePolygonRgn() -> typing.Any: - ... - -def CreatePopupMenu() -> typing.Any: - ... - -def CreateRectRgnIndirect() -> typing.Any: - ... - -def CreateRoundRectRgn() -> typing.Any: - ... - -def CreateSolidBrush() -> typing.Any: - ... - -def CreateWindow() -> typing.Any: - ... - -def CreateWindowEx() -> typing.Any: - ... - -def DefWindowProc() -> typing.Any: - ... - -def DeleteDC() -> typing.Any: - ... - -def DeleteMenu() -> typing.Any: - ... - -def DeleteObject() -> typing.Any: - ... - -def DestroyAcceleratorTable() -> typing.Any: - ... - -def DestroyCaret() -> typing.Any: - ... - -def DestroyIcon() -> typing.Any: - ... - -def DestroyMenu() -> typing.Any: - ... - -def DestroyWindow() -> typing.Any: - ... - -def DialogBox() -> typing.Any: - ... - -def DialogBoxIndirect() -> typing.Any: - ... - -def DialogBoxIndirectParam() -> typing.Any: - ... - -def DialogBoxParam() -> typing.Any: - ... - -def DispatchMessage() -> typing.Any: - ... - -def DragAcceptFiles() -> typing.Any: - ... - -def DragDetect() -> typing.Any: - ... - -def DrawAnimatedRects() -> typing.Any: - ... - -def DrawEdge() -> typing.Any: - ... - -def DrawFocusRect() -> typing.Any: - ... - -def DrawIcon() -> typing.Any: - ... - -def DrawIconEx() -> typing.Any: - ... - -def DrawMenuBar() -> typing.Any: - ... - -def DrawText() -> typing.Any: - ... - -def DrawTextW() -> typing.Any: - ... - -def Edit_GetLine() -> typing.Any: - ... - -def Ellipse() -> typing.Any: - ... - -def EnableMenuItem() -> typing.Any: - ... - -def EnableWindow() -> typing.Any: - ... - -def EndDialog() -> typing.Any: - ... - -def EndPaint() -> typing.Any: - ... - -def EndPath() -> typing.Any: - ... - -def EnumChildWindows() -> typing.Any: - ... - -def EnumFontFamilies() -> typing.Any: - ... - -def EnumPropsEx() -> typing.Any: - ... - -def EnumThreadWindows() -> typing.Any: - ... - -def EnumWindows() -> typing.Any: - ... - -def EqualRgn() -> typing.Any: - ... - -def ExtCreatePen() -> typing.Any: - ... - -def ExtFloodFill() -> typing.Any: - ... - -def ExtTextOut() -> typing.Any: - ... - -def ExtractIcon() -> typing.Any: - ... - -def ExtractIconEx() -> typing.Any: - ... - -def FillPath() -> typing.Any: - ... - -def FillRect() -> typing.Any: - ... - -def FillRgn() -> typing.Any: - ... - -def FindWindow() -> typing.Any: - ... - -def FindWindowEx() -> typing.Any: - ... - -def FlashWindow() -> typing.Any: - ... - -def FlashWindowEx() -> typing.Any: - ... - -def FlattenPath() -> typing.Any: - ... - -def FrameRect() -> typing.Any: - ... - -def FrameRgn() -> typing.Any: - ... - -def GetActiveWindow() -> typing.Any: - ... - -def GetArcDirection() -> typing.Any: - ... - -def GetBkColor() -> typing.Any: - ... - -def GetBkMode() -> typing.Any: - ... - -def GetCapture() -> typing.Any: - ... - -def GetCaretPos() -> typing.Any: - ... - -def GetClassLong() -> typing.Any: - ... - -def GetClassName() -> typing.Any: - ... - -def GetClientRect() -> typing.Any: - ... - -def GetCurrentObject() -> typing.Any: - ... - -def GetCurrentPositionEx() -> typing.Any: - ... - -def GetCursor() -> typing.Any: - ... - -def GetCursorInfo() -> typing.Any: - ... - -def GetCursorPos() -> typing.Any: - ... - -def GetDC() -> typing.Any: - ... - -def GetDesktopWindow() -> typing.Any: - ... - -def GetDlgCtrlID() -> typing.Any: - ... - -def GetDlgItem() -> typing.Any: - ... - -def GetDlgItemInt() -> typing.Any: - ... - -def GetDlgItemText() -> typing.Any: - ... - -def GetDoubleClickTime() -> typing.Any: - ... - -def GetFocus() -> typing.Any: - ... - -def GetForegroundWindow() -> typing.Any: - ... - -def GetGraphicsMode() -> typing.Any: - ... - -def GetIconInfo() -> typing.Any: - ... - -def GetLayeredWindowAttributes() -> typing.Any: - ... - -def GetLayout() -> typing.Any: - ... - -def GetMapMode() -> typing.Any: - ... - -def GetMenu() -> typing.Any: - ... - -def GetMenuDefaultItem() -> typing.Any: - ... - -def GetMenuInfo() -> typing.Any: - ... - -def GetMenuItemCount() -> typing.Any: - ... - -def GetMenuItemID() -> typing.Any: - ... - -def GetMenuItemInfo() -> typing.Any: - ... - -def GetMenuItemRect() -> typing.Any: - ... - -def GetMenuState() -> typing.Any: - ... - -def GetMessage() -> typing.Any: - ... - -def GetMiterLimit() -> typing.Any: - ... - -def GetModuleHandle() -> typing.Any: - ... - -def GetNextDlgGroupItem() -> typing.Any: - ... - -def GetNextDlgTabItem() -> typing.Any: - ... - -def GetObject() -> typing.Any: - ... - -def GetObjectType() -> typing.Any: - ... - -def GetOpenFileName() -> typing.Any: - ... - -def GetOpenFileNameW() -> typing.Any: - ... - -def GetParent() -> typing.Any: - ... - -def GetPath() -> typing.Any: - ... - -def GetPixel() -> typing.Any: - ... - -def GetPolyFillMode() -> typing.Any: - ... - -def GetROP2() -> typing.Any: - ... - -def GetRgnBox() -> typing.Any: - ... - -def GetSaveFileNameW() -> typing.Any: - ... - -def GetScrollInfo() -> typing.Any: - ... - -def GetStockObject() -> typing.Any: - ... - -def GetStretchBltMode() -> typing.Any: - ... - -def GetSubMenu() -> typing.Any: - ... - -def GetSysColor() -> typing.Any: - ... - -def GetSysColorBrush() -> typing.Any: - ... - -def GetSystemMenu() -> typing.Any: - ... - -def GetTextAlign() -> typing.Any: - ... - -def GetTextCharacterExtra() -> typing.Any: - ... - -def GetTextColor() -> typing.Any: - ... - -def GetTextExtentPoint32() -> typing.Any: - ... - -def GetTextFace() -> typing.Any: - ... - -def GetTextMetrics() -> typing.Any: - ... - -def GetUpdateRgn() -> typing.Any: - ... - -def GetViewportExtEx() -> typing.Any: - ... - -def GetViewportOrgEx() -> typing.Any: - ... - -def GetWindow() -> typing.Any: - ... - -def GetWindowDC() -> typing.Any: - ... - -def GetWindowExtEx() -> typing.Any: - ... - -def GetWindowLong() -> typing.Any: - ... - -def GetWindowOrgEx() -> typing.Any: - ... - -def GetWindowPlacement() -> typing.Any: - ... - -def GetWindowRect() -> typing.Any: - ... - -def GetWindowRgn() -> typing.Any: - ... - -def GetWindowText() -> typing.Any: - ... - -def GetWindowTextLength() -> typing.Any: - ... - -def GetWorldTransform() -> typing.Any: - ... - -def GradientFill() -> typing.Any: - ... - -def HIWORD() -> typing.Any: - ... - -def HideCaret() -> typing.Any: - ... - -ILC_COLOR: int -ILC_COLOR16: int -ILC_COLOR24: int -ILC_COLOR32: int -ILC_COLOR4: int -ILC_COLOR8: int -ILC_COLORDDB: int -ILC_MASK: int -ILD_BLEND: int -ILD_BLEND25: int -ILD_BLEND50: int -ILD_FOCUS: int -ILD_MASK: int -ILD_NORMAL: int -ILD_SELECTED: int -ILD_TRANSPARENT: int -IMAGE_BITMAP: int -IMAGE_CURSOR: int -IMAGE_ICON: int -def ImageList_Add() -> typing.Any: - ... - -def ImageList_Create() -> typing.Any: - ... - -def ImageList_Destroy() -> typing.Any: - ... - -def ImageList_Draw() -> typing.Any: - ... - -def ImageList_DrawEx() -> typing.Any: - ... - -def ImageList_GetIcon() -> typing.Any: - ... - -def ImageList_GetImageCount() -> typing.Any: - ... - -def ImageList_LoadBitmap() -> typing.Any: - ... - -def ImageList_LoadImage() -> typing.Any: - ... - -def ImageList_Remove() -> typing.Any: - ... - -def ImageList_Replace() -> typing.Any: - ... - -def ImageList_ReplaceIcon() -> typing.Any: - ... - -def ImageList_SetBkColor() -> typing.Any: - ... - -def ImageList_SetOverlayImage() -> typing.Any: - ... - -def InitCommonControls() -> typing.Any: - ... - -def InitCommonControlsEx() -> typing.Any: - ... - -def InsertMenu() -> typing.Any: - ... - -def InsertMenuItem() -> typing.Any: - ... - -def InvalidateRect() -> typing.Any: - ... - -def InvalidateRgn() -> typing.Any: - ... - -def InvertRect() -> typing.Any: - ... - -def InvertRgn() -> typing.Any: - ... - -def IsChild() -> typing.Any: - ... - -def IsIconic() -> typing.Any: - ... - -def IsWindow() -> typing.Any: - ... - -def IsWindowEnabled() -> typing.Any: - ... - -def IsWindowVisible() -> typing.Any: - ... - -def LOGFONT() -> typing.Any: - ... - -def LOWORD() -> typing.Any: - ... - -LR_CREATEDIBSECTION: int -LR_DEFAULTCOLOR: int -LR_DEFAULTSIZE: int -LR_LOADFROMFILE: int -LR_LOADMAP3DCOLORS: int -LR_LOADTRANSPARENT: int -LR_MONOCHROME: int -LR_SHARED: int -LR_VGACOLOR: int -def LineTo() -> typing.Any: - ... - -def ListView_SortItems() -> typing.Any: - ... - -def ListView_SortItemsEx() -> typing.Any: - ... - -def LoadCursor() -> typing.Any: - ... - -def LoadIcon() -> typing.Any: - ... - -def LoadImage() -> typing.Any: - ... - -def LoadMenu() -> typing.Any: - ... - -def MaskBlt() -> typing.Any: - ... - -def MessageBeep() -> typing.Any: - ... - -def MessageBox() -> typing.Any: - ... - -def ModifyMenu() -> typing.Any: - ... - -def ModifyWorldTransform() -> typing.Any: - ... - -def MoveToEx() -> typing.Any: - ... - -def MoveWindow() -> typing.Any: - ... - -NIF_ICON: int -NIF_INFO: int -NIF_MESSAGE: int -NIF_STATE: int -NIF_TIP: int -NIIF_ERROR: int -NIIF_ICON_MASK: int -NIIF_INFO: int -NIIF_NONE: int -NIIF_NOSOUND: int -NIIF_WARNING: int -NIM_ADD: int -NIM_DELETE: int -NIM_MODIFY: int -NIM_SETVERSION: int -def OffsetRgn() -> typing.Any: - ... - -def PaintDesktop() -> typing.Any: - ... - -def PaintRgn() -> typing.Any: - ... - -def PatBlt() -> typing.Any: - ... - -def PathToRegion() -> typing.Any: - ... - -def PeekMessage() -> typing.Any: - ... - -def Pie() -> typing.Any: - ... - -def PlgBlt() -> typing.Any: - ... - -def PolyBezier() -> typing.Any: - ... - -def PolyBezierTo() -> typing.Any: - ... - -def Polygon() -> typing.Any: - ... - -def Polyline() -> typing.Any: - ... - -def PolylineTo() -> typing.Any: - ... - -def PostMessage() -> typing.Any: - ... - -def PostQuitMessage() -> typing.Any: - ... - -def PostThreadMessage() -> typing.Any: - ... - -def PtInRect() -> typing.Any: - ... - -def PtInRegion() -> typing.Any: - ... - -def PumpMessages() -> typing.Any: - ... - -def PumpWaitingMessages() -> typing.Any: - ... - -def PyGetArraySignedLong() -> typing.Any: - ... - -def PyGetBufferAddressAndLen() -> typing.Any: - ... - -def PyGetMemory() -> typing.Any: - ... - -def PyGetString() -> typing.Any: - ... - -def PyMakeBuffer() -> typing.Any: - ... - -def PySetMemory() -> typing.Any: - ... - -def PySetString() -> typing.Any: - ... - -def RectInRegion() -> typing.Any: - ... - -def Rectangle() -> typing.Any: - ... - -def RedrawWindow() -> typing.Any: - ... - -def RegisterClass() -> typing.Any: - ... - -def RegisterDeviceNotification() -> typing.Any: - ... - -def RegisterHotKey() -> typing.Any: - ... - -def RegisterWindowMessage() -> typing.Any: - ... - -def ReleaseCapture() -> typing.Any: - ... - -def ReleaseDC() -> typing.Any: - ... - -def RemoveMenu() -> typing.Any: - ... - -def ReplyMessage() -> typing.Any: - ... - -def RestoreDC() -> typing.Any: - ... - -def RoundRect() -> typing.Any: - ... - -def SaveDC() -> typing.Any: - ... - -def ScreenToClient() -> typing.Any: - ... - -def ScrollWindowEx() -> typing.Any: - ... - -def SelectObject() -> typing.Any: - ... - -def SendMessage() -> typing.Any: - ... - -def SendMessageTimeout() -> typing.Any: - ... - -def SetActiveWindow() -> typing.Any: - ... - -def SetArcDirection() -> typing.Any: - ... - -def SetBkColor() -> typing.Any: - ... - -def SetBkMode() -> typing.Any: - ... - -def SetCapture() -> typing.Any: - ... - -def SetCaretPos() -> typing.Any: - ... - -def SetCursor() -> typing.Any: - ... - -def SetDlgItemInt() -> typing.Any: - ... - -def SetDlgItemText() -> typing.Any: - ... - -def SetDoubleClickTime() -> typing.Any: - ... - -def SetFocus() -> typing.Any: - ... - -def SetForegroundWindow() -> typing.Any: - ... - -def SetGraphicsMode() -> typing.Any: - ... - -def SetLayeredWindowAttributes() -> typing.Any: - ... - -def SetLayout() -> typing.Any: - ... - -def SetMapMode() -> typing.Any: - ... - -def SetMenu() -> typing.Any: - ... - -def SetMenuDefaultItem() -> typing.Any: - ... - -def SetMenuInfo() -> typing.Any: - ... - -def SetMenuItemBitmaps() -> typing.Any: - ... - -def SetMenuItemInfo() -> typing.Any: - ... - -def SetMiterLimit() -> typing.Any: - ... - -def SetParent() -> typing.Any: - ... - -def SetPixel() -> typing.Any: - ... - -def SetPixelV() -> typing.Any: - ... - -def SetPolyFillMode() -> typing.Any: - ... - -def SetROP2() -> typing.Any: - ... - -def SetRectRgn() -> typing.Any: - ... - -def SetScrollInfo() -> typing.Any: - ... - -def SetStretchBltMode() -> typing.Any: - ... - -def SetTextAlign() -> typing.Any: - ... - -def SetTextCharacterExtra() -> typing.Any: - ... - -def SetTextColor() -> typing.Any: - ... - -def SetViewportExtEx() -> typing.Any: - ... - -def SetViewportOrgEx() -> typing.Any: - ... - -def SetWindowExtEx() -> typing.Any: - ... - -def SetWindowLong() -> typing.Any: - ... - -def SetWindowOrgEx() -> typing.Any: - ... - -def SetWindowPlacement() -> typing.Any: - ... - -def SetWindowPos() -> typing.Any: - ... - -def SetWindowRgn() -> typing.Any: - ... - -def SetWindowText() -> typing.Any: - ... - -def SetWorldTransform() -> typing.Any: - ... - -def Shell_NotifyIcon() -> typing.Any: - ... - -def ShowCaret() -> typing.Any: - ... - -def ShowWindow() -> typing.Any: - ... - -def StretchBlt() -> typing.Any: - ... - -def StrokeAndFillPath() -> typing.Any: - ... - -def StrokePath() -> typing.Any: - ... - -def SystemParametersInfo() -> typing.Any: - ... - -TPM_BOTTOMALIGN: int -TPM_CENTERALIGN: int -TPM_LEFTALIGN: int -TPM_LEFTBUTTON: int -TPM_NONOTIFY: int -TPM_RETURNCMD: int -TPM_RIGHTALIGN: int -TPM_RIGHTBUTTON: int -TPM_TOPALIGN: int -TPM_VCENTERALIGN: int -def TrackPopupMenu() -> typing.Any: - ... - -def TranslateAccelerator() -> typing.Any: - ... - -def TranslateMessage() -> typing.Any: - ... - -def TransparentBlt() -> typing.Any: - ... - -UNICODE: bool -def UnregisterClass() -> typing.Any: - ... - -def UnregisterDeviceNotification() -> typing.Any: - ... - -def UpdateLayeredWindow() -> typing.Any: - ... - -def UpdateWindow() -> typing.Any: - ... - -def ValidateRect() -> typing.Any: - ... - -def ValidateRgn() -> typing.Any: - ... - -def WNDCLASS() -> typing.Any: - ... - -def WaitMessage() -> typing.Any: - ... - -def WidenPath() -> typing.Any: - ... - -def WindowFromDC() -> typing.Any: - ... - -def WindowFromPoint() -> typing.Any: - ... - -def _TrackMouseEvent() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -dllhandle: int -error = _mod_pywintypes.error -def lpstr() -> typing.Any: - ... - -def set_logger() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32help.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32help.pyi deleted file mode 100644 index 7e2ab014..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32help.pyi +++ /dev/null @@ -1,211 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32help, version: unspecified -# Module: win32help, version: unspecified - -"A module, encapsulating the Win32 help API's." - -import typing -import builtins as _mod_builtins - -HHACT_BACK: int -HHACT_CONTRACT: int -HHACT_CUSTOMIZE: int -HHACT_EXPAND: int -HHACT_FORWARD: int -HHACT_HIGHLIGHT: int -HHACT_HOME: int -HHACT_JUMP1: int -HHACT_JUMP2: int -HHACT_LAST_ENUM: int -HHACT_NOTES: int -HHACT_OPTIONS: int -HHACT_PRINT: int -HHACT_REFRESH: int -HHACT_STOP: int -HHACT_SYNC: int -HHACT_TAB_CONTENTS: int -HHACT_TAB_FAVORITES: int -HHACT_TAB_HISTORY: int -HHACT_TAB_INDEX: int -HHACT_TAB_SEARCH: int -HHACT_TOC_NEXT: int -HHACT_TOC_PREV: int -HHACT_ZOOM: int -def HHNTRACK() -> typing.Any: - ... - -HHN_FIRST: int -HHN_LAST: int -HHN_NAVCOMPLETE: int -def HHN_NOTIFY() -> typing.Any: - ... - -HHN_TRACK: int -HHN_WINDOW_CREATE: int -HHWIN_BUTTON_BACK: int -HHWIN_BUTTON_BROWSE_BCK: int -HHWIN_BUTTON_BROWSE_FWD: int -HHWIN_BUTTON_CONTENTS: int -HHWIN_BUTTON_EXPAND: int -HHWIN_BUTTON_FAVORITES: int -HHWIN_BUTTON_FORWARD: int -HHWIN_BUTTON_HISTORY: int -HHWIN_BUTTON_HOME: int -HHWIN_BUTTON_INDEX: int -HHWIN_BUTTON_JUMP1: int -HHWIN_BUTTON_JUMP2: int -HHWIN_BUTTON_NOTES: int -HHWIN_BUTTON_OPTIONS: int -HHWIN_BUTTON_PRINT: int -HHWIN_BUTTON_REFRESH: int -HHWIN_BUTTON_SEARCH: int -HHWIN_BUTTON_STOP: int -HHWIN_BUTTON_SYNC: int -HHWIN_BUTTON_TOC_NEXT: int -HHWIN_BUTTON_TOC_PREV: int -HHWIN_BUTTON_ZOOM: int -HHWIN_DEF_BUTTONS: int -HHWIN_NAVTAB_BOTTOM: int -HHWIN_NAVTAB_LEFT: int -HHWIN_NAVTAB_TOP: int -HHWIN_PARAM_CUR_TAB: int -HHWIN_PARAM_EXPANSION: int -HHWIN_PARAM_EXSTYLES: int -HHWIN_PARAM_HISTORY_COUNT: int -HHWIN_PARAM_INFOTYPES: int -HHWIN_PARAM_NAV_WIDTH: int -HHWIN_PARAM_PROPERTIES: int -HHWIN_PARAM_RECT: int -HHWIN_PARAM_SHOWSTATE: int -HHWIN_PARAM_STYLES: int -HHWIN_PARAM_TABORDER: int -HHWIN_PARAM_TABPOS: int -HHWIN_PARAM_TB_FLAGS: int -HHWIN_PROP_AUTO_SYNC: int -HHWIN_PROP_CHANGE_TITLE: int -HHWIN_PROP_MENU: int -HHWIN_PROP_NAV_ONLY_WIN: int -HHWIN_PROP_NODEF_EXSTYLES: int -HHWIN_PROP_NODEF_STYLES: int -HHWIN_PROP_NOTB_TEXT: int -HHWIN_PROP_NOTITLEBAR: int -HHWIN_PROP_NO_TOOLBAR: int -HHWIN_PROP_ONTOP: int -HHWIN_PROP_POST_QUIT: int -HHWIN_PROP_TAB_ADVSEARCH: int -HHWIN_PROP_TAB_AUTOHIDESHOW: int -HHWIN_PROP_TAB_CUSTOM1: int -HHWIN_PROP_TAB_CUSTOM2: int -HHWIN_PROP_TAB_CUSTOM3: int -HHWIN_PROP_TAB_CUSTOM4: int -HHWIN_PROP_TAB_CUSTOM5: int -HHWIN_PROP_TAB_CUSTOM6: int -HHWIN_PROP_TAB_CUSTOM7: int -HHWIN_PROP_TAB_CUSTOM8: int -HHWIN_PROP_TAB_CUSTOM9: int -HHWIN_PROP_TAB_FAVORITES: int -HHWIN_PROP_TAB_HISTORY: int -HHWIN_PROP_TAB_SEARCH: int -HHWIN_PROP_TRACKING: int -HHWIN_PROP_TRI_PANE: int -HHWIN_PROP_USER_POS: int -HHWIN_TB_MARGIN: int -def HH_AKLINK() -> typing.Any: - ... - -HH_ALINK_LOOKUP: int -HH_CLOSE_ALL: int -HH_DISPLAY_INDEX: int -HH_DISPLAY_SEARCH: int -HH_DISPLAY_TEXT_POPUP: int -HH_DISPLAY_TOC: int -HH_DISPLAY_TOPIC: int -HH_ENUM_CATEGORY: int -HH_ENUM_CATEGORY_IT: int -HH_ENUM_INFO_TYPE: int -HH_FTS_DEFAULT_PROXIMITY: int -def HH_FTS_QUERY() -> typing.Any: - ... - -HH_GET_LAST_ERROR: int -HH_GET_WIN_HANDLE: int -HH_GET_WIN_TYPE: int -HH_GPROPID_CONTENT_LANGUAGE: int -HH_GPROPID_CURRENT_SUBSET: int -HH_GPROPID_SINGLETHREAD: int -HH_GPROPID_TOOLBAR_MARGIN: int -HH_GPROPID_UI_LANGUAGE: int -HH_HELP_CONTEXT: int -HH_HELP_FINDER: int -HH_INITIALIZE: int -HH_KEYWORD_LOOKUP: int -HH_MAX_TABS_CUSTOM: int -def HH_POPUP() -> typing.Any: - ... - -HH_PRETRANSLATEMESSAGE: int -HH_RESERVED1: int -HH_RESERVED2: int -HH_RESERVED3: int -HH_RESET_IT_FILTER: int -HH_SET_EXCLUSIVE_FILTER: int -HH_SET_GLOBAL_PROPERTY: int -HH_SET_INCLUSIVE_FILTER: int -HH_SET_INFO_TYPE: int -HH_SET_WIN_TYPE: int -HH_SYNC: int -HH_TAB_AUTHOR: int -HH_TAB_CONTENTS: int -HH_TAB_CUSTOM_FIRST: int -HH_TAB_CUSTOM_LAST: int -HH_TAB_FAVORITES: int -HH_TAB_HISTORY: int -HH_TAB_INDEX: int -HH_TAB_SEARCH: int -HH_TP_HELP_CONTEXTMENU: int -HH_TP_HELP_WM_HELP: int -HH_UNINITIALIZE: int -def HH_WINTYPE() -> typing.Any: - ... - -def HtmlHelp() -> typing.Any: - ... - -IDTB_BACK: int -IDTB_BROWSE_BACK: int -IDTB_BROWSE_FWD: int -IDTB_CONTENTS: int -IDTB_CONTRACT: int -IDTB_CUSTOMIZE: int -IDTB_EXPAND: int -IDTB_FAVORITES: int -IDTB_FORWARD: int -IDTB_HISTORY: int -IDTB_HOME: int -IDTB_INDEX: int -IDTB_JUMP1: int -IDTB_JUMP2: int -IDTB_NOTES: int -IDTB_OPTIONS: int -IDTB_PRINT: int -IDTB_REFRESH: int -IDTB_SEARCH: int -IDTB_STOP: int -IDTB_SYNC: int -IDTB_TOC_NEXT: int -IDTB_TOC_PREV: int -IDTB_ZOOM: int -def NMHDR() -> typing.Any: - ... - -def WinHelp() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -debug: int -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32inet.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32inet.pyi deleted file mode 100644 index 445e30b3..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32inet.pyi +++ /dev/null @@ -1,130 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32inet, version: unspecified -# Module: win32inet, version: unspecified - -'' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -def CommitUrlCacheEntry() -> typing.Any: - ... - -def CreateUrlCacheEntry() -> typing.Any: - ... - -def CreateUrlCacheGroup() -> typing.Any: - ... - -def DeleteUrlCacheEntry() -> typing.Any: - ... - -def DeleteUrlCacheGroup() -> typing.Any: - ... - -def FindCloseUrlCache() -> typing.Any: - ... - -def FindFirstUrlCacheEntry() -> typing.Any: - ... - -def FindFirstUrlCacheEntryEx() -> typing.Any: - ... - -def FindFirstUrlCacheGroup() -> typing.Any: - ... - -def FindNextUrlCacheEntry() -> typing.Any: - ... - -def FindNextUrlCacheEntryEx() -> typing.Any: - ... - -def FindNextUrlCacheGroup() -> typing.Any: - ... - -def FtpCommand() -> typing.Any: - ... - -def FtpOpenFile() -> typing.Any: - ... - -def GetUrlCacheEntryInfo() -> typing.Any: - ... - -def GetUrlCacheGroupAttribute() -> typing.Any: - ... - -def InternetAttemptConnect() -> typing.Any: - ... - -def InternetCanonicalizeUrl() -> typing.Any: - ... - -def InternetCheckConnection() -> typing.Any: - ... - -def InternetCloseHandle() -> typing.Any: - ... - -def InternetConnect() -> typing.Any: - ... - -def InternetGetCookie() -> typing.Any: - ... - -def InternetGetLastResponseInfo() -> typing.Any: - ... - -def InternetGoOnline() -> typing.Any: - ... - -def InternetOpen() -> typing.Any: - ... - -def InternetOpenUrl() -> typing.Any: - ... - -def InternetQueryOption() -> typing.Any: - ... - -def InternetReadFile() -> typing.Any: - ... - -def InternetSetCookie() -> typing.Any: - ... - -def InternetSetOption() -> typing.Any: - ... - -def InternetWriteFile() -> typing.Any: - ... - -def SetUrlCacheEntryGroup() -> typing.Any: - ... - -def SetUrlCacheGroupAttribute() -> typing.Any: - ... - -UNICODE: int -def WinHttpGetDefaultProxyConfiguration() -> typing.Any: - ... - -def WinHttpGetIEProxyConfigForCurrentUser() -> typing.Any: - ... - -def WinHttpGetProxyForUrl() -> typing.Any: - ... - -def WinHttpOpen() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32job.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32job.pyi deleted file mode 100644 index 070f585f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32job.pyi +++ /dev/null @@ -1,104 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32job, version: unspecified -# Module: win32job, version: unspecified - -'' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -def AssignProcessToJobObject() -> typing.Any: - ... - -def CreateJobObject() -> typing.Any: - ... - -def IsProcessInJob() -> typing.Any: - ... - -JOB_OBJECT_ALL_ACCESS: int -JOB_OBJECT_ASSIGN_PROCESS: int -JOB_OBJECT_BASIC_LIMIT_VALID_FLAGS: int -JOB_OBJECT_EXTENDED_LIMIT_VALID_FLAGS: int -JOB_OBJECT_LIMIT_ACTIVE_PROCESS: int -JOB_OBJECT_LIMIT_AFFINITY: int -JOB_OBJECT_LIMIT_BREAKAWAY_OK: int -JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: int -JOB_OBJECT_LIMIT_JOB_MEMORY: int -JOB_OBJECT_LIMIT_JOB_TIME: int -JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: int -JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME: int -JOB_OBJECT_LIMIT_PRIORITY_CLASS: int -JOB_OBJECT_LIMIT_PROCESS_MEMORY: int -JOB_OBJECT_LIMIT_PROCESS_TIME: int -JOB_OBJECT_LIMIT_SCHEDULING_CLASS: int -JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK: int -JOB_OBJECT_LIMIT_VALID_FLAGS: int -JOB_OBJECT_LIMIT_WORKINGSET: int -JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS: int -JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT: int -JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO: int -JOB_OBJECT_MSG_END_OF_JOB_TIME: int -JOB_OBJECT_MSG_END_OF_PROCESS_TIME: int -JOB_OBJECT_MSG_EXIT_PROCESS: int -JOB_OBJECT_MSG_JOB_MEMORY_LIMIT: int -JOB_OBJECT_MSG_NEW_PROCESS: int -JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT: int -JOB_OBJECT_POST_AT_END_OF_JOB: int -JOB_OBJECT_QUERY: int -JOB_OBJECT_SECURITY_FILTER_TOKENS: int -JOB_OBJECT_SECURITY_NO_ADMIN: int -JOB_OBJECT_SECURITY_ONLY_TOKEN: int -JOB_OBJECT_SECURITY_RESTRICTED_TOKEN: int -JOB_OBJECT_SECURITY_VALID_FLAGS: int -JOB_OBJECT_SET_ATTRIBUTES: int -JOB_OBJECT_SET_SECURITY_ATTRIBUTES: int -JOB_OBJECT_TERMINATE: int -JOB_OBJECT_TERMINATE_AT_END_OF_JOB: int -JOB_OBJECT_UILIMIT_ALL: int -JOB_OBJECT_UILIMIT_DESKTOP: int -JOB_OBJECT_UILIMIT_DISPLAYSETTINGS: int -JOB_OBJECT_UILIMIT_EXITWINDOWS: int -JOB_OBJECT_UILIMIT_GLOBALATOMS: int -JOB_OBJECT_UILIMIT_HANDLES: int -JOB_OBJECT_UILIMIT_NONE: int -JOB_OBJECT_UILIMIT_READCLIPBOARD: int -JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS: int -JOB_OBJECT_UILIMIT_WRITECLIPBOARD: int -JOB_OBJECT_UI_VALID_FLAGS: int -JobObjectAssociateCompletionPortInformation: int -JobObjectBasicAccountingInformation: int -JobObjectBasicAndIoAccountingInformation: int -JobObjectBasicLimitInformation: int -JobObjectBasicProcessIdList: int -JobObjectBasicUIRestrictions: int -JobObjectEndOfJobTimeInformation: int -JobObjectExtendedLimitInformation: int -JobObjectJobSetInformation: int -JobObjectSecurityLimitInformation: int -MaxJobObjectInfoClass: int -def OpenJobObject() -> typing.Any: - ... - -def QueryInformationJobObject() -> typing.Any: - ... - -def SetInformationJobObject() -> typing.Any: - ... - -def TerminateJobObject() -> typing.Any: - ... - -UNICODE: int -def UserHandleGrantAccess() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32lz.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32lz.pyi deleted file mode 100644 index 837dc5c2..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32lz.pyi +++ /dev/null @@ -1,33 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32lz, version: unspecified -# Module: win32lz, version: unspecified - -'A module encapsulating the Windows LZ compression routines.' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -def Close() -> typing.Any: - ... - -def Copy() -> typing.Any: - ... - -def GetExpandedName() -> typing.Any: - ... - -def Init() -> typing.Any: - ... - -def OpenFile() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32net.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32net.pyi deleted file mode 100644 index 69cc1170..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32net.pyi +++ /dev/null @@ -1,224 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32net, version: unspecified -# Module: win32net, version: unspecified - -'A module encapsulating the Windows Network API.' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -def NetFileClose() -> typing.Any: - ... - -def NetFileEnum() -> typing.Any: - ... - -def NetFileGetInfo() -> typing.Any: - ... - -def NetGetAnyDCName() -> typing.Any: - ... - -def NetGetDCName() -> typing.Any: - ... - -def NetGetJoinInformation() -> typing.Any: - ... - -def NetGroupAdd() -> typing.Any: - ... - -def NetGroupAddUser() -> typing.Any: - ... - -def NetGroupDel() -> typing.Any: - ... - -def NetGroupDelUser() -> typing.Any: - ... - -def NetGroupEnum() -> typing.Any: - ... - -def NetGroupGetInfo() -> typing.Any: - ... - -def NetGroupGetUsers() -> typing.Any: - ... - -def NetGroupSetInfo() -> typing.Any: - ... - -def NetGroupSetUsers() -> typing.Any: - ... - -def NetLocalGroupAdd() -> typing.Any: - ... - -def NetLocalGroupAddMembers() -> typing.Any: - ... - -def NetLocalGroupDel() -> typing.Any: - ... - -def NetLocalGroupDelMembers() -> typing.Any: - ... - -def NetLocalGroupEnum() -> typing.Any: - ... - -def NetLocalGroupGetInfo() -> typing.Any: - ... - -def NetLocalGroupGetMembers() -> typing.Any: - ... - -def NetLocalGroupSetInfo() -> typing.Any: - ... - -def NetLocalGroupSetMembers() -> typing.Any: - ... - -def NetMessageBufferSend() -> typing.Any: - ... - -def NetMessageNameAdd() -> typing.Any: - ... - -def NetMessageNameDel() -> typing.Any: - ... - -def NetMessageNameEnum() -> typing.Any: - ... - -def NetServerComputerNameAdd() -> typing.Any: - ... - -def NetServerComputerNameDel() -> typing.Any: - ... - -def NetServerDiskEnum() -> typing.Any: - ... - -def NetServerEnum() -> typing.Any: - ... - -def NetServerGetInfo() -> typing.Any: - ... - -def NetServerSetInfo() -> typing.Any: - ... - -def NetSessionDel() -> typing.Any: - ... - -def NetSessionEnum() -> typing.Any: - ... - -def NetSessionGetInfo() -> typing.Any: - ... - -def NetShareAdd() -> typing.Any: - ... - -def NetShareCheck() -> typing.Any: - ... - -def NetShareDel() -> typing.Any: - ... - -def NetShareEnum() -> typing.Any: - 'Obsolete Function,Level 1 call' - ... - -def NetShareGetInfo() -> typing.Any: - ... - -def NetShareSetInfo() -> typing.Any: - ... - -def NetStatisticsGet() -> typing.Any: - ... - -def NetUseAdd() -> typing.Any: - ... - -def NetUseDel() -> typing.Any: - ... - -def NetUseEnum() -> typing.Any: - ... - -def NetUseGetInfo() -> typing.Any: - ... - -def NetUserAdd() -> typing.Any: - ... - -def NetUserChangePassword() -> typing.Any: - ... - -def NetUserDel() -> typing.Any: - ... - -def NetUserEnum() -> typing.Any: - ... - -def NetUserGetGroups() -> typing.Any: - 'Updated - New Behavior' - ... - -def NetUserGetInfo() -> typing.Any: - ... - -def NetUserGetLocalGroups() -> typing.Any: - 'Updated - New Behavior' - ... - -def NetUserModalsGet() -> typing.Any: - ... - -def NetUserModalsSet() -> typing.Any: - ... - -def NetUserSetInfo() -> typing.Any: - ... - -def NetValidateName() -> typing.Any: - ... - -def NetValidatePasswordPolicy() -> typing.Any: - ... - -def NetWkstaGetInfo() -> typing.Any: - ... - -def NetWkstaSetInfo() -> typing.Any: - ... - -def NetWkstaTransportAdd() -> typing.Any: - ... - -def NetWkstaTransportDel() -> typing.Any: - ... - -def NetWkstaTransportEnum() -> typing.Any: - ... - -def NetWkstaUserEnum() -> typing.Any: - ... - -SERVICE_SERVER: str -SERVICE_WORKSTATION: str -USE_FORCE: int -USE_LOTS_OF_FORCE: int -USE_NOFORCE: int -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32pdh.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32pdh.pyi deleted file mode 100644 index 499a4053..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32pdh.pyi +++ /dev/null @@ -1,124 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32pdh, version: unspecified -# Module: win32pdh, version: unspecified - -'A module, encapsulating the Windows Performance Data Helpers API' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -def AddCounter() -> typing.Any: - ... - -def AddEnglishCounter() -> typing.Any: - ... - -def BrowseCounters() -> typing.Any: - ... - -def CloseQuery() -> typing.Any: - ... - -def CollectQueryData() -> typing.Any: - ... - -def ConnectMachine() -> typing.Any: - ... - -def EnumObjectItems() -> typing.Any: - ... - -def EnumObjects() -> typing.Any: - ... - -def ExpandCounterPath() -> typing.Any: - ... - -def GetCounterInfo() -> typing.Any: - ... - -def GetFormattedCounterArray() -> typing.Any: - ... - -def GetFormattedCounterValue() -> typing.Any: - ... - -def LookupPerfIndexByName() -> typing.Any: - ... - -def LookupPerfNameByIndex() -> typing.Any: - ... - -def MakeCounterPath() -> typing.Any: - ... - -def OpenQuery() -> typing.Any: - ... - -PDH_FMT_1000: int -PDH_FMT_ANSI: int -PDH_FMT_DOUBLE: int -PDH_FMT_LARGE: int -PDH_FMT_LONG: int -PDH_FMT_NODATA: int -PDH_FMT_NOSCALE: int -PDH_FMT_RAW: int -PDH_FMT_UNICODE: int -PDH_MAX_SCALE: int -PDH_MIN_SCALE: int -PDH_PATH_WBEM_INPUT: int -PDH_PATH_WBEM_RESULT: int -PDH_VERSION: int -PERF_DETAIL_ADVANCED: int -PERF_DETAIL_EXPERT: int -PERF_DETAIL_NOVICE: int -PERF_DETAIL_WIZARD: int -def ParseCounterPath() -> typing.Any: - ... - -def ParseInstanceName() -> typing.Any: - ... - -def RemoveCounter() -> typing.Any: - ... - -def SetCounterScaleFactor() -> typing.Any: - ... - -def ValidatePath() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -class counter_status_error(_mod_builtins.Exception): - __dict__: typing.Dict[str, typing.Any] - def __init__(self, *args, **kwargs) -> None: - ... - - @classmethod - def __init_subclass__(cls) -> None: - 'This method is called when a class is subclassed.\n\nThe default implementation does nothing. It may be\noverridden to extend subclasses.\n' - ... - - __module__: str - @classmethod - def __subclasshook__(cls, subclass: typing.Any) -> bool: - 'Abstract classes can override this to customize issubclass().\n\nThis is invoked early on by abc.ABCMeta.__subclasscheck__().\nIt should return True, False or NotImplemented. If it returns\nNotImplemented, the normal algorithm is used. Otherwise, it\noverrides the normal algorithm (and the outcome is cached).\n' - ... - - @property - def __weakref__(self) -> typing.Any: - 'list of weak references to the object (if defined)' - ... - - def __getattr__(self, name) -> typing.Any: - ... - - -error = _mod_pywintypes.error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32pipe.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32pipe.pyi deleted file mode 100644 index 0d7b24a9..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32pipe.pyi +++ /dev/null @@ -1,95 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32pipe, version: unspecified -# Module: win32pipe, version: unspecified - -'' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -def CallNamedPipe() -> typing.Any: - ... - -def ConnectNamedPipe() -> typing.Any: - ... - -def CreateNamedPipe() -> typing.Any: - ... - -def CreatePipe() -> typing.Any: - ... - -def DisconnectNamedPipe() -> typing.Any: - ... - -def FdCreatePipe() -> typing.Any: - ... - -def GetNamedPipeClientProcessId() -> typing.Any: - ... - -def GetNamedPipeClientSessionId() -> typing.Any: - ... - -def GetNamedPipeHandleState() -> typing.Any: - ... - -def GetNamedPipeInfo() -> typing.Any: - ... - -def GetNamedPipeServerProcessId() -> typing.Any: - ... - -def GetNamedPipeServerSessionId() -> typing.Any: - ... - -def GetOverlappedResult() -> typing.Any: - ... - -NMPWAIT_NOWAIT: int -NMPWAIT_USE_DEFAULT_WAIT: int -NMPWAIT_WAIT_FOREVER: int -PIPE_ACCESS_DUPLEX: int -PIPE_ACCESS_INBOUND: int -PIPE_ACCESS_OUTBOUND: int -PIPE_NOWAIT: int -PIPE_READMODE_BYTE: int -PIPE_READMODE_MESSAGE: int -PIPE_TYPE_BYTE: int -PIPE_TYPE_MESSAGE: int -PIPE_UNLIMITED_INSTANCES: int -PIPE_WAIT: int -def PeekNamedPipe() -> typing.Any: - ... - -def SetNamedPipeHandleState() -> typing.Any: - ... - -def TransactNamedPipe() -> typing.Any: - ... - -UNICODE: int -def WaitNamedPipe() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.error -def popen() -> typing.Any: - ... - -def popen2() -> typing.Any: - ... - -def popen3() -> typing.Any: - ... - -def popen4() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32print.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32print.pyi deleted file mode 100644 index a64c34f1..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32print.pyi +++ /dev/null @@ -1,295 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32print, version: unspecified -# Module: win32print, version: unspecified - -'A module encapsulating the Windows printing API.' - -import typing -import builtins as _mod_builtins - -def AbortDoc() -> typing.Any: - ... - -def AbortPrinter() -> typing.Any: - ... - -def AddForm() -> typing.Any: - ... - -def AddJob() -> typing.Any: - ... - -def AddPrinter() -> typing.Any: - ... - -def AddPrinterConnection() -> typing.Any: - ... - -def ClosePrinter() -> typing.Any: - ... - -DEF_PRIORITY: int -DI_APPBANDING: int -DI_ROPS_READ_DESTINATION: int -DPD_DELETE_ALL_FILES: int -DPD_DELETE_SPECIFIC_VERSION: int -DPD_DELETE_UNUSED_FILES: int -DSPRINT_PENDING: int -DSPRINT_PUBLISH: int -DSPRINT_REPUBLISH: int -DSPRINT_UNPUBLISH: int -DSPRINT_UPDATE: int -def DeleteForm() -> typing.Any: - ... - -def DeletePrinter() -> typing.Any: - ... - -def DeletePrinterConnection() -> typing.Any: - ... - -def DeletePrinterDriver() -> typing.Any: - ... - -def DeletePrinterDriverEx() -> typing.Any: - ... - -def DeviceCapabilities() -> typing.Any: - ... - -def DocumentProperties() -> typing.Any: - ... - -def EndDoc() -> typing.Any: - ... - -def EndDocPrinter() -> typing.Any: - ... - -def EndPage() -> typing.Any: - ... - -def EndPagePrinter() -> typing.Any: - ... - -def EnumForms() -> typing.Any: - ... - -def EnumJobs() -> typing.Any: - ... - -def EnumMonitors() -> typing.Any: - ... - -def EnumPorts() -> typing.Any: - ... - -def EnumPrintProcessorDatatypes() -> typing.Any: - ... - -def EnumPrintProcessors() -> typing.Any: - ... - -def EnumPrinterDrivers() -> typing.Any: - ... - -def EnumPrinters() -> typing.Any: - ... - -FORM_BUILTIN: int -FORM_PRINTER: int -FORM_USER: int -def FlushPrinter() -> typing.Any: - ... - -def GetDefaultPrinter() -> typing.Any: - ... - -def GetDefaultPrinterW() -> typing.Any: - ... - -def GetDeviceCaps() -> typing.Any: - ... - -def GetForm() -> typing.Any: - ... - -def GetJob() -> typing.Any: - ... - -def GetPrintProcessorDirectory() -> typing.Any: - ... - -def GetPrinter() -> typing.Any: - ... - -def GetPrinterDriverDirectory() -> typing.Any: - ... - -JOB_ACCESS_ADMINISTER: int -JOB_ACCESS_READ: int -JOB_ALL_ACCESS: int -JOB_CONTROL_CANCEL: int -JOB_CONTROL_DELETE: int -JOB_CONTROL_LAST_PAGE_EJECTED: int -JOB_CONTROL_PAUSE: int -JOB_CONTROL_RESTART: int -JOB_CONTROL_RESUME: int -JOB_CONTROL_SENT_TO_PRINTER: int -JOB_EXECUTE: int -JOB_INFO_1: int -JOB_POSITION_UNSPECIFIED: int -JOB_READ: int -JOB_STATUS_BLOCKED_DEVQ: int -JOB_STATUS_COMPLETE: int -JOB_STATUS_DELETED: int -JOB_STATUS_DELETING: int -JOB_STATUS_ERROR: int -JOB_STATUS_OFFLINE: int -JOB_STATUS_PAPEROUT: int -JOB_STATUS_PAUSED: int -JOB_STATUS_PRINTED: int -JOB_STATUS_PRINTING: int -JOB_STATUS_RESTART: int -JOB_STATUS_SPOOLING: int -JOB_STATUS_USER_INTERVENTION: int -JOB_WRITE: int -MAX_PRIORITY: int -MIN_PRIORITY: int -def OpenPrinter() -> typing.Any: - ... - -PORT_STATUS_DOOR_OPEN: int -PORT_STATUS_NO_TONER: int -PORT_STATUS_OFFLINE: int -PORT_STATUS_OUTPUT_BIN_FULL: int -PORT_STATUS_OUT_OF_MEMORY: int -PORT_STATUS_PAPER_JAM: int -PORT_STATUS_PAPER_OUT: int -PORT_STATUS_PAPER_PROBLEM: int -PORT_STATUS_POWER_SAVE: int -PORT_STATUS_TONER_LOW: int -PORT_STATUS_TYPE_ERROR: int -PORT_STATUS_TYPE_INFO: int -PORT_STATUS_TYPE_WARNING: int -PORT_STATUS_USER_INTERVENTION: int -PORT_STATUS_WARMING_UP: int -PORT_TYPE_NET_ATTACHED: int -PORT_TYPE_READ: int -PORT_TYPE_REDIRECTED: int -PORT_TYPE_WRITE: int -PRINTER_ACCESS_ADMINISTER: int -PRINTER_ACCESS_USE: int -PRINTER_ALL_ACCESS: int -PRINTER_ATTRIBUTE_DEFAULT: int -PRINTER_ATTRIBUTE_DIRECT: int -PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST: int -PRINTER_ATTRIBUTE_ENABLE_BIDI: int -PRINTER_ATTRIBUTE_ENABLE_DEVQ: int -PRINTER_ATTRIBUTE_FAX: int -PRINTER_ATTRIBUTE_HIDDEN: int -PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS: int -PRINTER_ATTRIBUTE_LOCAL: int -PRINTER_ATTRIBUTE_NETWORK: int -PRINTER_ATTRIBUTE_PUBLISHED: int -PRINTER_ATTRIBUTE_QUEUED: int -PRINTER_ATTRIBUTE_RAW_ONLY: int -PRINTER_ATTRIBUTE_SHARED: int -PRINTER_ATTRIBUTE_TS: int -PRINTER_ATTRIBUTE_WORK_OFFLINE: int -PRINTER_CONTROL_PAUSE: int -PRINTER_CONTROL_PURGE: int -PRINTER_CONTROL_RESUME: int -PRINTER_CONTROL_SET_STATUS: int -PRINTER_ENUM_CONNECTIONS: int -PRINTER_ENUM_CONTAINER: int -PRINTER_ENUM_DEFAULT: int -PRINTER_ENUM_EXPAND: int -PRINTER_ENUM_ICON1: int -PRINTER_ENUM_ICON2: int -PRINTER_ENUM_ICON3: int -PRINTER_ENUM_ICON4: int -PRINTER_ENUM_ICON5: int -PRINTER_ENUM_ICON6: int -PRINTER_ENUM_ICON7: int -PRINTER_ENUM_ICON8: int -PRINTER_ENUM_LOCAL: int -PRINTER_ENUM_NAME: int -PRINTER_ENUM_NETWORK: int -PRINTER_ENUM_REMOTE: int -PRINTER_ENUM_SHARED: int -PRINTER_EXECUTE: int -PRINTER_INFO_1: int -PRINTER_READ: int -PRINTER_STATUS_BUSY: int -PRINTER_STATUS_DOOR_OPEN: int -PRINTER_STATUS_ERROR: int -PRINTER_STATUS_INITIALIZING: int -PRINTER_STATUS_IO_ACTIVE: int -PRINTER_STATUS_MANUAL_FEED: int -PRINTER_STATUS_NOT_AVAILABLE: int -PRINTER_STATUS_NO_TONER: int -PRINTER_STATUS_OFFLINE: int -PRINTER_STATUS_OUTPUT_BIN_FULL: int -PRINTER_STATUS_OUT_OF_MEMORY: int -PRINTER_STATUS_PAGE_PUNT: int -PRINTER_STATUS_PAPER_JAM: int -PRINTER_STATUS_PAPER_OUT: int -PRINTER_STATUS_PAPER_PROBLEM: int -PRINTER_STATUS_PAUSED: int -PRINTER_STATUS_PENDING_DELETION: int -PRINTER_STATUS_POWER_SAVE: int -PRINTER_STATUS_PRINTING: int -PRINTER_STATUS_PROCESSING: int -PRINTER_STATUS_SERVER_UNKNOWN: int -PRINTER_STATUS_TONER_LOW: int -PRINTER_STATUS_USER_INTERVENTION: int -PRINTER_STATUS_WAITING: int -PRINTER_STATUS_WARMING_UP: int -PRINTER_WRITE: int -SERVER_ACCESS_ADMINISTER: int -SERVER_ACCESS_ENUMERATE: int -SERVER_ALL_ACCESS: int -SERVER_EXECUTE: int -SERVER_READ: int -SERVER_WRITE: int -def ScheduleJob() -> typing.Any: - ... - -def SetDefaultPrinter() -> typing.Any: - ... - -def SetDefaultPrinterW() -> typing.Any: - ... - -def SetForm() -> typing.Any: - ... - -def SetJob() -> typing.Any: - ... - -def SetPrinter() -> typing.Any: - ... - -def StartDoc() -> typing.Any: - ... - -def StartDocPrinter() -> typing.Any: - ... - -def StartPage() -> typing.Any: - ... - -def StartPagePrinter() -> typing.Any: - ... - -def WritePrinter() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32process.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32process.pyi deleted file mode 100644 index 311fa41b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32process.pyi +++ /dev/null @@ -1,211 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32process, version: unspecified -# Module: win32process, version: unspecified - -'' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -ABOVE_NORMAL_PRIORITY_CLASS: int -def AttachThreadInput() -> typing.Any: - ... - -BELOW_NORMAL_PRIORITY_CLASS: int -CREATE_BREAKAWAY_FROM_JOB: int -CREATE_DEFAULT_ERROR_MODE: int -CREATE_NEW_CONSOLE: int -CREATE_NEW_PROCESS_GROUP: int -CREATE_NO_WINDOW: int -CREATE_PRESERVE_CODE_AUTHZ_LEVEL: int -CREATE_SEPARATE_WOW_VDM: int -CREATE_SHARED_WOW_VDM: int -CREATE_SUSPENDED: int -CREATE_UNICODE_ENVIRONMENT: int -def CreateProcess() -> typing.Any: - ... - -def CreateProcessAsUser() -> typing.Any: - ... - -def CreateRemoteThread() -> typing.Any: - ... - -DEBUG_ONLY_THIS_PROCESS: int -DEBUG_PROCESS: int -DETACHED_PROCESS: int -def EnumProcessModules() -> typing.Any: - ... - -def EnumProcessModulesEx() -> typing.Any: - ... - -def EnumProcesses() -> typing.Any: - ... - -def ExitProcess() -> typing.Any: - ... - -def GetCurrentProcess() -> typing.Any: - ... - -def GetCurrentProcessId() -> typing.Any: - ... - -def GetExitCodeProcess() -> typing.Any: - ... - -def GetExitCodeThread() -> typing.Any: - ... - -def GetGuiResources() -> typing.Any: - ... - -def GetModuleFileNameEx() -> typing.Any: - ... - -def GetPriorityClass() -> typing.Any: - ... - -def GetProcessAffinityMask() -> typing.Any: - ... - -def GetProcessId() -> typing.Any: - ... - -def GetProcessIoCounters() -> typing.Any: - ... - -def GetProcessMemoryInfo() -> typing.Any: - ... - -def GetProcessPriorityBoost() -> typing.Any: - ... - -def GetProcessShutdownParameters() -> typing.Any: - ... - -def GetProcessTimes() -> typing.Any: - ... - -def GetProcessVersion() -> typing.Any: - ... - -def GetProcessWindowStation() -> typing.Any: - ... - -def GetProcessWorkingSetSize() -> typing.Any: - ... - -def GetStartupInfo() -> typing.Any: - ... - -def GetThreadIOPendingFlag() -> typing.Any: - ... - -def GetThreadPriority() -> typing.Any: - ... - -def GetThreadPriorityBoost() -> typing.Any: - ... - -def GetThreadTimes() -> typing.Any: - ... - -def GetWindowThreadProcessId() -> typing.Any: - ... - -HIGH_PRIORITY_CLASS: int -IDLE_PRIORITY_CLASS: int -def IsWow64Process() -> typing.Any: - ... - -LIST_MODULES_32BIT: int -LIST_MODULES_64BIT: int -LIST_MODULES_ALL: int -LIST_MODULES_DEFAULT: int -MAXIMUM_PROCESSORS: int -NORMAL_PRIORITY_CLASS: int -REALTIME_PRIORITY_CLASS: int -def ReadProcessMemory() -> typing.Any: - ... - -def ResumeThread() -> typing.Any: - ... - -STARTF_FORCEOFFFEEDBACK: int -STARTF_FORCEONFEEDBACK: int -STARTF_RUNFULLSCREEN: int -STARTF_USECOUNTCHARS: int -STARTF_USEFILLATTRIBUTE: int -STARTF_USEPOSITION: int -STARTF_USESHOWWINDOW: int -STARTF_USESIZE: int -STARTF_USESTDHANDLES: int -def STARTUPINFO() -> typing.Any: - ... - -def SetPriorityClass() -> typing.Any: - ... - -def SetProcessAffinityMask() -> typing.Any: - ... - -def SetProcessPriorityBoost() -> typing.Any: - ... - -def SetProcessShutdownParameters() -> typing.Any: - ... - -def SetProcessWorkingSetSize() -> typing.Any: - ... - -def SetThreadAffinityMask() -> typing.Any: - ... - -def SetThreadIdealProcessor() -> typing.Any: - ... - -def SetThreadPriority() -> typing.Any: - ... - -def SetThreadPriorityBoost() -> typing.Any: - ... - -def SuspendThread() -> typing.Any: - ... - -THREAD_MODE_BACKGROUND_BEGIN: int -THREAD_MODE_BACKGROUND_END: int -THREAD_PRIORITY_ABOVE_NORMAL: int -THREAD_PRIORITY_BELOW_NORMAL: int -THREAD_PRIORITY_HIGHEST: int -THREAD_PRIORITY_IDLE: int -THREAD_PRIORITY_LOWEST: int -THREAD_PRIORITY_NORMAL: int -THREAD_PRIORITY_TIME_CRITICAL: int -def TerminateProcess() -> typing.Any: - ... - -UNICODE: int -def VirtualAllocEx() -> typing.Any: - ... - -def VirtualFreeEx() -> typing.Any: - ... - -def WriteProcessMemory() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -def beginthreadex() -> typing.Any: - ... - -error = _mod_pywintypes.error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32profile.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32profile.pyi deleted file mode 100644 index 890b66ac..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32profile.pyi +++ /dev/null @@ -1,65 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32profile, version: unspecified -# Module: win32profile, version: unspecified - -'Interface to the User Profile Api.' - -import typing -import builtins as _mod_builtins - -def CreateEnvironmentBlock() -> typing.Any: - 'Retrieves environment variables for a user' - ... - -def DeleteProfile() -> typing.Any: - "Remove a user's profile" - ... - -def ExpandEnvironmentStringsForUser() -> typing.Any: - 'Replaces environment variables in a string with per-user values' - ... - -def GetAllUsersProfileDirectory() -> typing.Any: - 'Retrieve All Users profile directory' - ... - -def GetDefaultUserProfileDirectory() -> typing.Any: - 'Retrieve profile path for Default user' - ... - -def GetEnvironmentStrings() -> typing.Any: - 'Retrieves environment variables for current process' - ... - -def GetProfileType() -> typing.Any: - "Returns type of current user's profile" - ... - -def GetProfilesDirectory() -> typing.Any: - 'Retrieves directory where user profiles are stored' - ... - -def GetUserProfileDirectory() -> typing.Any: - 'Returns profile directory for a logon token' - ... - -def LoadUserProfile() -> typing.Any: - 'Load user settings for a login token' - ... - -PI_APPLYPOLICY: int -PI_NOUI: int -PT_MANDATORY: int -PT_ROAMING: int -PT_TEMPORARY: int -def UnloadUserProfile() -> typing.Any: - 'Unload profile loaded by LoadUserProfile' - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32ras.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32ras.pyi deleted file mode 100644 index 8728305f..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32ras.pyi +++ /dev/null @@ -1,82 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32ras, version: unspecified -# Module: win32ras, version: unspecified - -'A module encapsulating the Windows Remote Access Service (RAS) API.' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -def CreatePhonebookEntry() -> typing.Any: - ... - -def Dial() -> typing.Any: - ... - -def EditPhonebookEntry() -> typing.Any: - ... - -def EnumConnections() -> typing.Any: - ... - -def EnumEntries() -> typing.Any: - ... - -def GetConnectStatus() -> typing.Any: - ... - -def GetEntryDialParams() -> typing.Any: - ... - -def GetErrorString() -> typing.Any: - ... - -def HangUp() -> typing.Any: - ... - -def IsHandleValid() -> typing.Any: - ... - -RASCS_AllDevicesConnected: int -RASCS_AuthAck: int -RASCS_AuthCallback: int -RASCS_AuthChangePassword: int -RASCS_AuthLinkSpeed: int -RASCS_AuthNotify: int -RASCS_AuthProject: int -RASCS_AuthRetry: int -RASCS_Authenticate: int -RASCS_Authenticated: int -RASCS_CallbackComplete: int -RASCS_CallbackSetByCaller: int -RASCS_ConnectDevice: int -RASCS_Connected: int -RASCS_DeviceConnected: int -RASCS_Disconnected: int -RASCS_Interactive: int -RASCS_LogonNetwork: int -RASCS_OpenPort: int -RASCS_PasswordExpired: int -RASCS_PortOpened: int -RASCS_PrepareForCallback: int -RASCS_Projected: int -RASCS_ReAuthenticate: int -RASCS_RetryAuthentication: int -RASCS_StartAuthentication: int -RASCS_WaitForCallback: int -RASCS_WaitForModemReset: int -def RASDIALEXTENSIONS() -> typing.Any: - ... - -def SetEntryDialParams() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32security.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32security.pyi deleted file mode 100644 index 54254321..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32security.pyi +++ /dev/null @@ -1,673 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32security, version: unspecified -# Module: win32security, version: unspecified - -'' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -ACCESS_ALLOWED_ACE_TYPE: int -ACCESS_ALLOWED_OBJECT_ACE_TYPE: int -ACCESS_DENIED_ACE_TYPE: int -ACCESS_DENIED_OBJECT_ACE_TYPE: int -def ACL() -> typing.Any: - ... - -ACL_REVISION: int -ACL_REVISION_DS: int -def AcceptSecurityContext() -> typing.Any: - ... - -def AcquireCredentialsHandle() -> typing.Any: - ... - -def AdjustTokenGroups() -> typing.Any: - ... - -def AdjustTokenPrivileges() -> typing.Any: - ... - -def AllocateLocallyUniqueId() -> typing.Any: - ... - -AuditCategoryAccountLogon: int -AuditCategoryAccountManagement: int -AuditCategoryDetailedTracking: int -AuditCategoryDirectoryServiceAccess: int -AuditCategoryLogon: int -AuditCategoryObjectAccess: int -AuditCategoryPolicyChange: int -AuditCategoryPrivilegeUse: int -AuditCategorySystem: int -CONTAINER_INHERIT_ACE: int -def CheckTokenMembership() -> typing.Any: - ... - -def ConvertSecurityDescriptorToStringSecurityDescriptor() -> typing.Any: - ... - -def ConvertSidToStringSid() -> typing.Any: - ... - -def ConvertStringSecurityDescriptorToSecurityDescriptor() -> typing.Any: - ... - -def ConvertStringSidToSid() -> typing.Any: - ... - -def CreateRestrictedToken() -> typing.Any: - ... - -def CreateWellKnownSid() -> typing.Any: - ... - -CredHandleType = _mod_builtins.PyCredHandle -def CryptEnumProviders() -> typing.Any: - ... - -CtxtHandleType = _mod_builtins.PyCtxtHandle -DACL_SECURITY_INFORMATION: int -DENY_ACCESS: int -DISABLE_MAX_PRIVILEGE: int -DS_SPN_ADD_SPN_OP: int -DS_SPN_DELETE_SPN_OP: int -DS_SPN_DNS_HOST: int -DS_SPN_DN_HOST: int -DS_SPN_DOMAIN: int -DS_SPN_NB_DOMAIN: int -DS_SPN_NB_HOST: int -DS_SPN_REPLACE_SPN_OP: int -DS_SPN_SERVICE: int -def DsBind() -> typing.Any: - ... - -def DsCrackNames() -> typing.Any: - ... - -def DsGetDcName() -> typing.Any: - ... - -def DsGetSpn() -> typing.Any: - ... - -def DsListDomainsInSite() -> typing.Any: - ... - -def DsListInfoForServer() -> typing.Any: - ... - -def DsListRoles() -> typing.Any: - ... - -def DsListServersForDomainInSite() -> typing.Any: - ... - -def DsListServersInSite() -> typing.Any: - ... - -def DsListSites() -> typing.Any: - ... - -def DsUnBind() -> typing.Any: - ... - -def DsWriteAccountSpn() -> typing.Any: - ... - -def DuplicateToken() -> typing.Any: - ... - -def DuplicateTokenEx() -> typing.Any: - ... - -def EnumerateSecurityPackages() -> typing.Any: - ... - -FAILED_ACCESS_ACE_FLAG: int -GRANT_ACCESS: int -GROUP_SECURITY_INFORMATION: int -def GetBinarySid() -> typing.Any: - ... - -def GetFileSecurity() -> typing.Any: - ... - -def GetKernelObjectSecurity() -> typing.Any: - ... - -def GetNamedSecurityInfo() -> typing.Any: - ... - -def GetPolicyHandle() -> typing.Any: - ... - -def GetSecurityInfo() -> typing.Any: - ... - -def GetTokenInformation() -> typing.Any: - ... - -def GetUserObjectSecurity() -> typing.Any: - ... - -INHERITED_ACE: int -INHERIT_ONLY_ACE: int -def ImpersonateAnonymousToken() -> typing.Any: - ... - -def ImpersonateLoggedOnUser() -> typing.Any: - ... - -def ImpersonateNamedPipeClient() -> typing.Any: - ... - -def ImpersonateSelf() -> typing.Any: - ... - -def InitializeSecurityContext() -> typing.Any: - ... - -def IsTokenRestricted() -> typing.Any: - ... - -LABEL_SECURITY_INFORMATION: int -LOGON32_LOGON_BATCH: int -LOGON32_LOGON_INTERACTIVE: int -LOGON32_LOGON_NETWORK: int -LOGON32_LOGON_NETWORK_CLEARTEXT: int -LOGON32_LOGON_NEW_CREDENTIALS: int -LOGON32_LOGON_SERVICE: int -LOGON32_LOGON_UNLOCK: int -LOGON32_PROVIDER_DEFAULT: int -LOGON32_PROVIDER_WINNT35: int -LOGON32_PROVIDER_WINNT40: int -LOGON32_PROVIDER_WINNT50: int -def LogonUser() -> typing.Any: - ... - -def LogonUserEx() -> typing.Any: - ... - -def LookupAccountName() -> typing.Any: - ... - -def LookupAccountSid() -> typing.Any: - ... - -def LookupPrivilegeDisplayName() -> typing.Any: - ... - -def LookupPrivilegeName() -> typing.Any: - ... - -def LookupPrivilegeValue() -> typing.Any: - ... - -def LsaAddAccountRights() -> typing.Any: - ... - -def LsaCallAuthenticationPackage() -> typing.Any: - ... - -def LsaClose() -> typing.Any: - ... - -def LsaConnectUntrusted() -> typing.Any: - ... - -def LsaDeregisterLogonProcess() -> typing.Any: - ... - -def LsaEnumerateAccountRights() -> typing.Any: - ... - -def LsaEnumerateAccountsWithUserRight() -> typing.Any: - ... - -def LsaEnumerateLogonSessions() -> typing.Any: - ... - -def LsaGetLogonSessionData() -> typing.Any: - ... - -def LsaLookupAuthenticationPackage() -> typing.Any: - ... - -def LsaOpenPolicy() -> typing.Any: - ... - -def LsaQueryInformationPolicy() -> typing.Any: - ... - -def LsaRegisterLogonProcess() -> typing.Any: - ... - -def LsaRegisterPolicyChangeNotification() -> typing.Any: - ... - -def LsaRemoveAccountRights() -> typing.Any: - ... - -def LsaRetrievePrivateData() -> typing.Any: - ... - -def LsaSetInformationPolicy() -> typing.Any: - ... - -def LsaStorePrivateData() -> typing.Any: - ... - -def LsaUnregisterPolicyChangeNotification() -> typing.Any: - ... - -MICROSOFT_KERBEROS_NAME_A: bytes -MSV1_0_PACKAGE_NAME: bytes -def MapGenericMask() -> typing.Any: - ... - -NOT_USED_ACCESS: int -NO_INHERITANCE: int -NO_PROPAGATE_INHERIT_ACE: int -OBJECT_INHERIT_ACE: int -OWNER_SECURITY_INFORMATION: int -def OpenProcessToken() -> typing.Any: - ... - -def OpenThreadToken() -> typing.Any: - ... - -POLICY_ALL_ACCESS: int -POLICY_AUDIT_EVENT_FAILURE: int -POLICY_AUDIT_EVENT_NONE: int -POLICY_AUDIT_EVENT_SUCCESS: int -POLICY_AUDIT_EVENT_UNCHANGED: int -POLICY_AUDIT_LOG_ADMIN: int -POLICY_CREATE_ACCOUNT: int -POLICY_CREATE_PRIVILEGE: int -POLICY_CREATE_SECRET: int -POLICY_EXECUTE: int -POLICY_GET_PRIVATE_INFORMATION: int -POLICY_LOOKUP_NAMES: int -POLICY_NOTIFICATION: int -POLICY_READ: int -POLICY_SERVER_ADMIN: int -POLICY_SET_AUDIT_REQUIREMENTS: int -POLICY_SET_DEFAULT_QUOTA_LIMITS: int -POLICY_TRUST_ADMIN: int -POLICY_VIEW_AUDIT_INFORMATION: int -POLICY_VIEW_LOCAL_INFORMATION: int -POLICY_WRITE: int -PROTECTED_DACL_SECURITY_INFORMATION: int -PROTECTED_SACL_SECURITY_INFORMATION: int -PolicyAccountDomainInformation: int -PolicyAuditEventsInformation: int -PolicyAuditFullQueryInformation: int -PolicyAuditFullSetInformation: int -PolicyAuditLogInformation: int -PolicyDefaultQuotaInformation: int -PolicyDnsDomainInformation: int -PolicyLsaServerRoleInformation: int -PolicyModificationInformation: int -PolicyNotifyAccountDomainInformation: int -PolicyNotifyAuditEventsInformation: int -PolicyNotifyDnsDomainInformation: int -PolicyNotifyDomainEfsInformation: int -PolicyNotifyDomainKerberosTicketInformation: int -PolicyNotifyMachineAccountPasswordInformation: int -PolicyNotifyServerRoleInformation: int -PolicyPdAccountInformation: int -PolicyPrimaryDomainInformation: int -PolicyReplicaSourceInformation: int -PolicyServerDisabled: int -PolicyServerEnabled: int -PolicyServerRoleBackup: int -PolicyServerRolePrimary: int -PyCredHandleType = _mod_builtins.PyCredHandle -PyCtxtHandleType = _mod_builtins.PyCtxtHandle -PySecBufferDescType = _mod_builtins.PySecBufferDesc -PySecBufferType = _mod_builtins.PySecBuffer -def QuerySecurityPackageInfo() -> typing.Any: - ... - -REVOKE_ACCESS: int -def RevertToSelf() -> typing.Any: - ... - -SACL_SECURITY_INFORMATION: int -SANDBOX_INERT: int -SDDL_REVISION_1: int -SECPKG_CRED_BOTH: int -SECPKG_CRED_INBOUND: int -SECPKG_CRED_OUTBOUND: int -SECPKG_FLAG_ACCEPT_WIN32_NAME: int -SECPKG_FLAG_CLIENT_ONLY: int -SECPKG_FLAG_CONNECTION: int -SECPKG_FLAG_DATAGRAM: int -SECPKG_FLAG_EXTENDED_ERROR: int -SECPKG_FLAG_IMPERSONATION: int -SECPKG_FLAG_INTEGRITY: int -SECPKG_FLAG_MULTI_REQUIRED: int -SECPKG_FLAG_PRIVACY: int -SECPKG_FLAG_STREAM: int -SECPKG_FLAG_TOKEN_ONLY: int -def SECURITY_ATTRIBUTES() -> typing.Any: - ... - -SECURITY_CREATOR_SID_AUTHORITY: int -def SECURITY_DESCRIPTOR() -> typing.Any: - ... - -SECURITY_LOCAL_SID_AUTHORITY: int -SECURITY_NON_UNIQUE_AUTHORITY: int -SECURITY_NT_AUTHORITY: int -SECURITY_NULL_SID_AUTHORITY: int -SECURITY_RESOURCE_MANAGER_AUTHORITY: int -SECURITY_WORLD_SID_AUTHORITY: int -SET_ACCESS: int -SET_AUDIT_FAILURE: int -SET_AUDIT_SUCCESS: int -SE_ASSIGNPRIMARYTOKEN_NAME: str -SE_AUDIT_NAME: str -SE_BACKUP_NAME: str -SE_BATCH_LOGON_NAME: str -SE_CHANGE_NOTIFY_NAME: str -SE_CREATE_GLOBAL_NAME: str -SE_CREATE_PAGEFILE_NAME: str -SE_CREATE_PERMANENT_NAME: str -SE_CREATE_SYMBOLIC_LINK_NAME: str -SE_CREATE_TOKEN_NAME: str -SE_DACL_AUTO_INHERITED: int -SE_DACL_DEFAULTED: int -SE_DACL_PRESENT: int -SE_DACL_PROTECTED: int -SE_DEBUG_NAME: str -SE_DENY_BATCH_LOGON_NAME: str -SE_DENY_INTERACTIVE_LOGON_NAME: str -SE_DENY_NETWORK_LOGON_NAME: str -SE_DENY_REMOTE_INTERACTIVE_LOGON_NAME: str -SE_DENY_SERVICE_LOGON_NAME: str -SE_DS_OBJECT: int -SE_DS_OBJECT_ALL: int -SE_ENABLE_DELEGATION_NAME: str -SE_FILE_OBJECT: int -SE_GROUP_DEFAULTED: int -SE_GROUP_ENABLED: int -SE_GROUP_ENABLED_BY_DEFAULT: int -SE_GROUP_INTEGRITY: int -SE_GROUP_INTEGRITY_ENABLED: int -SE_GROUP_LOGON_ID: int -SE_GROUP_MANDATORY: int -SE_GROUP_OWNER: int -SE_GROUP_RESOURCE: int -SE_GROUP_USE_FOR_DENY_ONLY: int -SE_IMPERSONATE_NAME: str -SE_INCREASE_QUOTA_NAME: str -SE_INC_BASE_PRIORITY_NAME: str -SE_INC_WORKING_SET_NAME: str -SE_INTERACTIVE_LOGON_NAME: str -SE_KERNEL_OBJECT: int -SE_LMSHARE: int -SE_LOAD_DRIVER_NAME: str -SE_LOCK_MEMORY_NAME: str -SE_MACHINE_ACCOUNT_NAME: str -SE_MANAGE_VOLUME_NAME: str -SE_NETWORK_LOGON_NAME: str -SE_OWNER_DEFAULTED: int -SE_PRINTER: int -SE_PRIVILEGE_ENABLED: int -SE_PRIVILEGE_ENABLED_BY_DEFAULT: int -SE_PRIVILEGE_REMOVED: int -SE_PRIVILEGE_USED_FOR_ACCESS: int -SE_PROF_SINGLE_PROCESS_NAME: str -SE_PROVIDER_DEFINED_OBJECT: int -SE_REGISTRY_KEY: int -SE_REGISTRY_WOW64_32KEY: int -SE_RELABEL_NAME: str -SE_REMOTE_INTERACTIVE_LOGON_NAME: str -SE_REMOTE_SHUTDOWN_NAME: str -SE_RESTORE_NAME: str -SE_SACL_AUTO_INHERITED: int -SE_SACL_DEFAULTED: int -SE_SACL_PRESENT: int -SE_SACL_PROTECTED: int -SE_SECURITY_NAME: str -SE_SELF_RELATIVE: int -SE_SERVICE: int -SE_SERVICE_LOGON_NAME: str -SE_SHUTDOWN_NAME: str -SE_SYNC_AGENT_NAME: str -SE_SYSTEMTIME_NAME: str -SE_SYSTEM_ENVIRONMENT_NAME: str -SE_SYSTEM_PROFILE_NAME: str -SE_TAKE_OWNERSHIP_NAME: str -SE_TCB_NAME: str -SE_TIME_ZONE_NAME: str -SE_TRUSTED_CREDMAN_ACCESS_NAME: str -SE_UNDOCK_NAME: str -SE_UNKNOWN_OBJECT_TYPE: int -SE_UNSOLICITED_INPUT_NAME: str -SE_WINDOW_OBJECT: int -SE_WMIGUID_OBJECT: int -def SID() -> typing.Any: - ... - -STYPE_DEVICE: int -STYPE_DISKTREE: int -STYPE_IPC: int -STYPE_PRINTQ: int -STYPE_SPECIAL: int -STYPE_TEMPORARY: int -SUB_CONTAINERS_AND_OBJECTS_INHERIT: int -SUB_CONTAINERS_ONLY_INHERIT: int -SUB_OBJECTS_ONLY_INHERIT: int -SUCCESSFUL_ACCESS_ACE_FLAG: int -SYSTEM_AUDIT_ACE_TYPE: int -SYSTEM_AUDIT_OBJECT_ACE_TYPE: int -SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP: int -SYSTEM_MANDATORY_LABEL_NO_READ_UP: int -SYSTEM_MANDATORY_LABEL_NO_WRITE_UP: int -SYSTEM_MANDATORY_LABEL_VALID_MASK: int -SecBufferDescType = _mod_builtins.PySecBufferDesc -SecBufferType = _mod_builtins.PySecBuffer -SecurityAnonymous: int -SecurityDelegation: int -SecurityIdentification: int -SecurityImpersonation: int -def SetFileSecurity() -> typing.Any: - ... - -def SetKernelObjectSecurity() -> typing.Any: - ... - -def SetNamedSecurityInfo() -> typing.Any: - ... - -def SetSecurityInfo() -> typing.Any: - ... - -def SetThreadToken() -> typing.Any: - ... - -def SetTokenInformation() -> typing.Any: - ... - -def SetUserObjectSecurity() -> typing.Any: - ... - -SidTypeAlias: int -SidTypeComputer: int -SidTypeDeletedAccount: int -SidTypeDomain: int -SidTypeGroup: int -SidTypeInvalid: int -SidTypeUnknown: int -SidTypeUser: int -SidTypeWellKnownGroup: int -TOKEN_ADJUST_DEFAULT: int -TOKEN_ADJUST_GROUPS: int -TOKEN_ADJUST_PRIVILEGES: int -TOKEN_ALL_ACCESS: int -TOKEN_ASSIGN_PRIMARY: int -TOKEN_DUPLICATE: int -TOKEN_EXECUTE: int -TOKEN_IMPERSONATE: int -TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN: int -TOKEN_MANDATORY_POLICY_NO_WRITE_UP: int -TOKEN_MANDATORY_POLICY_OFF: int -TOKEN_MANDATORY_POLICY_VALID_MASK: int -TOKEN_QUERY: int -TOKEN_QUERY_SOURCE: int -TOKEN_READ: int -TOKEN_WRITE: int -TRUSTEE_BAD_FORM: int -TRUSTEE_IS_ALIAS: int -TRUSTEE_IS_COMPUTER: int -TRUSTEE_IS_DELETED: int -TRUSTEE_IS_DOMAIN: int -TRUSTEE_IS_GROUP: int -TRUSTEE_IS_INVALID: int -TRUSTEE_IS_NAME: int -TRUSTEE_IS_OBJECTS_AND_NAME: int -TRUSTEE_IS_OBJECTS_AND_SID: int -TRUSTEE_IS_SID: int -TRUSTEE_IS_UNKNOWN: int -TRUSTEE_IS_USER: int -TRUSTEE_IS_WELL_KNOWN_GROUP: int -TokenAccessInformation: int -TokenAuditPolicy: int -TokenDefaultDacl: int -TokenElevation: int -TokenElevationType: int -TokenElevationTypeDefault: int -TokenElevationTypeFull: int -TokenElevationTypeLimited: int -TokenGroups: int -TokenGroupsAndPrivileges: int -TokenHasRestrictions: int -TokenImpersonation: int -TokenImpersonationLevel: int -TokenIntegrityLevel: int -TokenLinkedToken: int -TokenLogonSid: int -TokenMandatoryPolicy: int -TokenOrigin: int -TokenOwner: int -TokenPrimary: int -TokenPrimaryGroup: int -TokenPrivileges: int -TokenRestrictedSids: int -TokenSandBoxInert: int -TokenSessionId: int -TokenSessionReference: int -TokenSource: int -TokenStatistics: int -TokenType: int -TokenUIAccess: int -TokenUser: int -TokenVirtualizationAllowed: int -TokenVirtualizationEnabled: int -def TranslateName() -> typing.Any: - ... - -TrustedControllersInformation: int -TrustedDomainAuthInformation: int -TrustedDomainAuthInformationInternal: int -TrustedDomainFullInformation: int -TrustedDomainFullInformation2Internal: int -TrustedDomainFullInformationInternal: int -TrustedDomainInformationBasic: int -TrustedDomainInformationEx: int -TrustedDomainInformationEx2Internal: int -TrustedDomainNameInformation: int -TrustedPasswordInformation: int -TrustedPosixOffsetInformation: int -UNICODE: int -UNPROTECTED_DACL_SECURITY_INFORMATION: int -UNPROTECTED_SACL_SECURITY_INFORMATION: int -WinAccountAdministratorSid: int -WinAccountCertAdminsSid: int -WinAccountComputersSid: int -WinAccountControllersSid: int -WinAccountDomainAdminsSid: int -WinAccountDomainGuestsSid: int -WinAccountDomainUsersSid: int -WinAccountEnterpriseAdminsSid: int -WinAccountGuestSid: int -WinAccountKrbtgtSid: int -WinAccountPolicyAdminsSid: int -WinAccountRasAndIasServersSid: int -WinAccountReadonlyControllersSid: int -WinAccountSchemaAdminsSid: int -WinAnonymousSid: int -WinAuthenticatedUserSid: int -WinBatchSid: int -WinBuiltinAccountOperatorsSid: int -WinBuiltinAdministratorsSid: int -WinBuiltinAuthorizationAccessSid: int -WinBuiltinBackupOperatorsSid: int -WinBuiltinCryptoOperatorsSid: int -WinBuiltinDCOMUsersSid: int -WinBuiltinDomainSid: int -WinBuiltinEventLogReadersGroup: int -WinBuiltinGuestsSid: int -WinBuiltinIUsersSid: int -WinBuiltinIncomingForestTrustBuildersSid: int -WinBuiltinNetworkConfigurationOperatorsSid: int -WinBuiltinPerfLoggingUsersSid: int -WinBuiltinPerfMonitoringUsersSid: int -WinBuiltinPowerUsersSid: int -WinBuiltinPreWindows2000CompatibleAccessSid: int -WinBuiltinPrintOperatorsSid: int -WinBuiltinRemoteDesktopUsersSid: int -WinBuiltinReplicatorSid: int -WinBuiltinSystemOperatorsSid: int -WinBuiltinTerminalServerLicenseServersSid: int -WinBuiltinUsersSid: int -WinCacheablePrincipalsGroupSid: int -WinCreatorGroupServerSid: int -WinCreatorGroupSid: int -WinCreatorOwnerRightsSid: int -WinCreatorOwnerServerSid: int -WinCreatorOwnerSid: int -WinDialupSid: int -WinDigestAuthenticationSid: int -WinEnterpriseControllersSid: int -WinEnterpriseReadonlyControllersSid: int -WinHighLabelSid: int -WinIUserSid: int -WinInteractiveSid: int -WinLocalServiceSid: int -WinLocalSid: int -WinLocalSystemSid: int -WinLogonIdsSid: int -WinLowLabelSid: int -WinMediumLabelSid: int -WinNTLMAuthenticationSid: int -WinNetworkServiceSid: int -WinNetworkSid: int -WinNonCacheablePrincipalsGroupSid: int -WinNtAuthoritySid: int -WinNullSid: int -WinOtherOrganizationSid: int -WinProxySid: int -WinRemoteLogonIdSid: int -WinRestrictedCodeSid: int -WinSChannelAuthenticationSid: int -WinSelfSid: int -WinServiceSid: int -WinSystemLabelSid: int -WinTerminalServerSid: int -WinThisOrganizationSid: int -WinUntrustedLabelSid: int -WinWorldSid: int -WinWriteRestrictedCodeSid: int -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32service.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32service.pyi deleted file mode 100644 index 020eb007..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32service.pyi +++ /dev/null @@ -1,224 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32service, version: unspecified -# Module: win32service, version: unspecified - -'' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -def ChangeServiceConfig() -> typing.Any: - ... - -def ChangeServiceConfig2() -> typing.Any: - ... - -def CloseServiceHandle() -> typing.Any: - ... - -def ControlService() -> typing.Any: - ... - -def CreateDesktop() -> typing.Any: - ... - -def CreateService() -> typing.Any: - ... - -def CreateWindowStation() -> typing.Any: - ... - -DBT_CONFIGCHANGECANCELED: int -DBT_CONFIGCHANGED: int -DBT_CUSTOMEVENT: int -DBT_DEVICEARRIVAL: int -DBT_DEVICEQUERYREMOVE: int -DBT_DEVICEQUERYREMOVEFAILED: int -DBT_DEVICEREMOVECOMPLETE: int -DBT_DEVICEREMOVEPENDING: int -DBT_DEVICETYPESPECIFIC: int -DBT_QUERYCHANGECONFIG: int -DF_ALLOWOTHERACCOUNTHOOK: int -def DeleteService() -> typing.Any: - ... - -def EnumDependentServices() -> typing.Any: - ... - -def EnumServicesStatus() -> typing.Any: - ... - -def EnumServicesStatusEx() -> typing.Any: - ... - -def EnumWindowStations() -> typing.Any: - ... - -def GetProcessWindowStation() -> typing.Any: - ... - -def GetServiceDisplayName() -> typing.Any: - ... - -def GetServiceKeyName() -> typing.Any: - ... - -def GetThreadDesktop() -> typing.Any: - ... - -def GetUserObjectInformation() -> typing.Any: - ... - -HDESKType = _mod_builtins.PyHDESK -HWINSTAType = _mod_builtins.PyHWINSTA -def LockServiceDatabase() -> typing.Any: - ... - -def OpenDesktop() -> typing.Any: - ... - -def OpenInputDesktop() -> typing.Any: - ... - -def OpenSCManager() -> typing.Any: - ... - -def OpenService() -> typing.Any: - ... - -def OpenWindowStation() -> typing.Any: - ... - -def QueryServiceConfig() -> typing.Any: - ... - -def QueryServiceConfig2() -> typing.Any: - ... - -def QueryServiceLockStatus() -> typing.Any: - ... - -def QueryServiceObjectSecurity() -> typing.Any: - ... - -def QueryServiceStatus() -> typing.Any: - ... - -def QueryServiceStatusEx() -> typing.Any: - ... - -SC_ACTION_NONE: int -SC_ACTION_REBOOT: int -SC_ACTION_RESTART: int -SC_ACTION_RUN_COMMAND: int -SC_ENUM_PROCESS_INFO: int -SC_GROUP_IDENTIFIER: int -SC_MANAGER_ALL_ACCESS: int -SC_MANAGER_CONNECT: int -SC_MANAGER_CREATE_SERVICE: int -SC_MANAGER_ENUMERATE_SERVICE: int -SC_MANAGER_LOCK: int -SC_MANAGER_MODIFY_BOOT_CONFIG: int -SC_MANAGER_QUERY_LOCK_STATUS: int -SERVICE_ACCEPT_HARDWAREPROFILECHANGE: int -SERVICE_ACCEPT_NETBINDCHANGE: int -SERVICE_ACCEPT_PARAMCHANGE: int -SERVICE_ACCEPT_PAUSE_CONTINUE: int -SERVICE_ACCEPT_POWEREVENT: int -SERVICE_ACCEPT_PRESHUTDOWN: int -SERVICE_ACCEPT_SESSIONCHANGE: int -SERVICE_ACCEPT_SHUTDOWN: int -SERVICE_ACCEPT_STOP: int -SERVICE_ACTIVE: int -SERVICE_ALL_ACCESS: int -SERVICE_AUTO_START: int -SERVICE_BOOT_START: int -SERVICE_CHANGE_CONFIG: int -SERVICE_CONFIG_DELAYED_AUTO_START_INFO: int -SERVICE_CONFIG_DESCRIPTION: int -SERVICE_CONFIG_FAILURE_ACTIONS: int -SERVICE_CONFIG_FAILURE_ACTIONS_FLAG: int -SERVICE_CONFIG_PRESHUTDOWN_INFO: int -SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO: int -SERVICE_CONFIG_SERVICE_SID_INFO: int -SERVICE_CONTINUE_PENDING: int -SERVICE_CONTROL_CONTINUE: int -SERVICE_CONTROL_DEVICEEVENT: int -SERVICE_CONTROL_HARDWAREPROFILECHANGE: int -SERVICE_CONTROL_INTERROGATE: int -SERVICE_CONTROL_NETBINDADD: int -SERVICE_CONTROL_NETBINDDISABLE: int -SERVICE_CONTROL_NETBINDENABLE: int -SERVICE_CONTROL_NETBINDREMOVE: int -SERVICE_CONTROL_PARAMCHANGE: int -SERVICE_CONTROL_PAUSE: int -SERVICE_CONTROL_POWEREVENT: int -SERVICE_CONTROL_PRESHUTDOWN: int -SERVICE_CONTROL_SESSIONCHANGE: int -SERVICE_CONTROL_SHUTDOWN: int -SERVICE_CONTROL_STOP: int -SERVICE_DEMAND_START: int -SERVICE_DISABLED: int -SERVICE_DRIVER: int -SERVICE_ENUMERATE_DEPENDENTS: int -SERVICE_ERROR_CRITICAL: int -SERVICE_ERROR_IGNORE: int -SERVICE_ERROR_NORMAL: int -SERVICE_ERROR_SEVERE: int -SERVICE_FILE_SYSTEM_DRIVER: int -SERVICE_INACTIVE: int -SERVICE_INTERACTIVE_PROCESS: int -SERVICE_INTERROGATE: int -SERVICE_KERNEL_DRIVER: int -SERVICE_NO_CHANGE: int -SERVICE_PAUSED: int -SERVICE_PAUSE_CONTINUE: int -SERVICE_PAUSE_PENDING: int -SERVICE_QUERY_CONFIG: int -SERVICE_QUERY_STATUS: int -SERVICE_RUNNING: int -SERVICE_SID_TYPE_NONE: int -SERVICE_SID_TYPE_RESTRICTED: int -SERVICE_SID_TYPE_UNRESTRICTED: int -SERVICE_SPECIFIC_ERROR: int -SERVICE_START: int -SERVICE_START_PENDING: int -SERVICE_STATE_ALL: int -SERVICE_STOP: int -SERVICE_STOPPED: int -SERVICE_STOP_PENDING: int -SERVICE_SYSTEM_START: int -SERVICE_USER_DEFINED_CONTROL: int -SERVICE_WIN32: int -SERVICE_WIN32_OWN_PROCESS: int -SERVICE_WIN32_SHARE_PROCESS: int -def SetServiceObjectSecurity() -> typing.Any: - ... - -def SetServiceStatus() -> typing.Any: - ... - -def SetUserObjectInformation() -> typing.Any: - ... - -def StartService() -> typing.Any: - ... - -UNICODE: int -UOI_FLAGS: int -UOI_NAME: int -UOI_TYPE: int -UOI_USER_SID: int -def UnlockServiceDatabase() -> typing.Any: - ... - -WSF_VISIBLE: int -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32trace.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32trace.pyi deleted file mode 100644 index 718b36c7..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32trace.pyi +++ /dev/null @@ -1,51 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32trace, version: unspecified -# Module: win32trace, version: unspecified - -'Interface to the Windows Console functions for dealing with character-mode applications.' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -def GetHandle() -> typing.Any: - ... - -def GetTracer() -> typing.Any: - ... - -def InitRead() -> typing.Any: - ... - -def InitWrite() -> typing.Any: - ... - -def TermRead() -> typing.Any: - ... - -def TermWrite() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -def blockingread() -> typing.Any: - ... - -error = _mod_pywintypes.error -def flush() -> typing.Any: - ... - -def read() -> typing.Any: - ... - -def setprint() -> typing.Any: - ... - -def write() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32transaction.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32transaction.pyi deleted file mode 100644 index 583d27eb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32transaction.pyi +++ /dev/null @@ -1,39 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32transaction, version: unspecified -# Module: win32transaction, version: unspecified - -'Module wrapping Kernal Transaction Manager functions, as used with transacted NTFS and transacted registry functions.' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -def CommitTransaction() -> typing.Any: - ... - -def CommitTransactionAsync() -> typing.Any: - ... - -def CreateTransaction() -> typing.Any: - ... - -def GetTransactionId() -> typing.Any: - ... - -def OpenTransaction() -> typing.Any: - ... - -def RollbackTransaction() -> typing.Any: - ... - -def RollbackTransactionAsync() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32ts.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32ts.pyi deleted file mode 100644 index dae1f57e..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32ts.pyi +++ /dev/null @@ -1,166 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32ts, version: unspecified -# Module: win32ts, version: unspecified - -'Interface to the Terminal Services Api.' - -import typing -import builtins as _mod_builtins - -NOTIFY_FOR_ALL_SESSIONS: int -NOTIFY_FOR_THIS_SESSION: int -def ProcessIdToSessionId() -> typing.Any: - 'Finds the session under which a process is running' - ... - -WTSActive: int -WTSApplicationName: int -WTSClientAddress: int -WTSClientBuildNumber: int -WTSClientDirectory: int -WTSClientDisplay: int -WTSClientHardwareId: int -WTSClientName: int -WTSClientProductId: int -WTSClientProtocolType: int -def WTSCloseServer() -> typing.Any: - 'Closes a terminal server handle' - ... - -WTSConnectQuery: int -WTSConnectState: int -WTSConnected: int -def WTSDisconnectSession() -> typing.Any: - 'Disconnects a session without logging it off' - ... - -WTSDisconnected: int -WTSDomainName: int -WTSDown: int -def WTSEnumerateProcesses() -> typing.Any: - 'Lists processes on a terminal server' - ... - -def WTSEnumerateServers() -> typing.Any: - 'Lists terminal servers in a domain' - ... - -def WTSEnumerateSessions() -> typing.Any: - 'Lists sessions on a server' - ... - -def WTSGetActiveConsoleSessionId() -> typing.Any: - 'Returns the id of the console session' - ... - -WTSIdle: int -WTSInit: int -WTSInitialProgram: int -WTSListen: int -def WTSLogoffSession() -> typing.Any: - 'Logs off a user logged in through Terminal Services' - ... - -WTSOEMId: int -def WTSOpenServer() -> typing.Any: - 'Opens a handle to a terminal server' - ... - -def WTSQuerySessionInformation() -> typing.Any: - 'Retrieve information about a session' - ... - -def WTSQueryUserConfig() -> typing.Any: - 'Returns user configuration' - ... - -def WTSQueryUserToken() -> typing.Any: - 'Retrieves the access token for a session' - ... - -def WTSRegisterSessionNotification() -> typing.Any: - 'Registers a window to receive terminal service notifications' - ... - -WTSReset: int -def WTSSendMessage() -> typing.Any: - 'Sends a popup message to a terminal services session' - ... - -WTSSessionId: int -def WTSSetUserConfig() -> typing.Any: - 'Changes user configuration' - ... - -WTSShadow: int -def WTSShutdownSystem() -> typing.Any: - 'Issues a shutdown request to a terminal server' - ... - -def WTSTerminateProcess() -> typing.Any: - 'Kills a process on a terminal server' - ... - -def WTSUnRegisterSessionNotification() -> typing.Any: - 'Disables terminal service window messages' - ... - -WTSUserConfigBrokenTimeoutSettings: int -WTSUserConfigInitialProgram: int -WTSUserConfigModemCallbackPhoneNumber: int -WTSUserConfigModemCallbackSettings: int -WTSUserConfigReconnectSettings: int -WTSUserConfigShadowingSettings: int -WTSUserConfigTerminalServerHomeDir: int -WTSUserConfigTerminalServerHomeDirDrive: int -WTSUserConfigTerminalServerProfilePath: int -WTSUserConfigTimeoutSettingsConnections: int -WTSUserConfigTimeoutSettingsDisconnections: int -WTSUserConfigTimeoutSettingsIdle: int -WTSUserConfigWorkingDirectory: int -WTSUserConfigfAllowLogonTerminalServer: int -WTSUserConfigfDeviceClientDefaultPrinter: int -WTSUserConfigfDeviceClientDrives: int -WTSUserConfigfDeviceClientPrinters: int -WTSUserConfigfInheritInitialProgram: int -WTSUserConfigfTerminalServerRemoteHomeDir: int -WTSUserName: int -WTSVirtualClientData: int -WTSVirtualFileHandle: int -def WTSWaitSystemEvent() -> typing.Any: - 'Waits for an event to occur' - ... - -WTSWinStationName: int -WTSWorkingDirectory: int -WTS_CURRENT_SERVER: int -WTS_CURRENT_SERVER_HANDLE: int -WTS_CURRENT_SERVER_NAME: typing.Any -WTS_CURRENT_SESSION: int -WTS_EVENT_ALL: int -WTS_EVENT_CONNECT: int -WTS_EVENT_CREATE: int -WTS_EVENT_DELETE: int -WTS_EVENT_DISCONNECT: int -WTS_EVENT_FLUSH: int -WTS_EVENT_LICENSE: int -WTS_EVENT_LOGOFF: int -WTS_EVENT_LOGON: int -WTS_EVENT_NONE: int -WTS_EVENT_RENAME: int -WTS_EVENT_STATECHANGE: int -WTS_PROTOCOL_TYPE_CONSOLE: int -WTS_PROTOCOL_TYPE_ICA: int -WTS_PROTOCOL_TYPE_RDP: int -WTS_WSD_FASTREBOOT: int -WTS_WSD_LOGOFF: int -WTS_WSD_POWEROFF: int -WTS_WSD_REBOOT: int -WTS_WSD_SHUTDOWN: int -__doc__: str -__file__: str -__name__: str -__package__: str -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32wnet.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32wnet.pyi deleted file mode 100644 index c6c03222..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/win32wnet.pyi +++ /dev/null @@ -1,78 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32wnet, version: unspecified -# Module: win32wnet, version: unspecified - -'A module that exposes the Windows Networking API.' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -NCB = _mod_builtins.PyNCB -def NCBBuffer() -> typing.Any: - 'Creates a memory buffer' - ... - -NCBType = _mod_builtins.PyNCB -NETRESOURCE = _mod_builtins.PyNETRESOURCE -NETRESOURCEType = _mod_builtins.PyNETRESOURCE -def Netbios() -> typing.Any: - 'Calls the windows Netbios function' - ... - -def WNetAddConnection2(NetResource, Password, UserName, Flags) -> typing.Any: - 'WNetAddConnection2(NetResource, Password, UserName, Flags)' - ... - -def WNetAddConnection3(HwndParent, NetResource, Password, UserName, Flags) -> typing.Any: - 'WNetAddConnection3(HwndParent, NetResource, Password, UserName, Flags)' - ... - -def WNetCancelConnection2() -> typing.Any: - 'localname,dwflags,bforce' - ... - -def WNetCloseEnum() -> typing.Any: - 'PyHANDLE from WNetOpenEnum()' - ... - -def WNetEnumResource() -> typing.Any: - 'Enum' - ... - -def WNetGetConnection() -> typing.Any: - 'Retrieves the name of the network resource associated with a local device' - ... - -def WNetGetLastError() -> typing.Any: - 'Retrieves extended error information set by a network provider when one of the WNet* functions fails' - ... - -def WNetGetResourceInformation() -> typing.Any: - 'Finds the type and provider of a network resource' - ... - -def WNetGetResourceParent() -> typing.Any: - 'Finds the parent resource of a network resource' - ... - -def WNetGetUniversalName() -> typing.Any: - 'localPath, infoLevel=UNIVERSAL_NAME_INFO_LEVEL' - ... - -def WNetGetUser() -> typing.Any: - 'connectionName=None' - ... - -def WNetOpenEnum() -> typing.Any: - 'dwScope,dwType,dwUsage,NETRESOURCE - returns PyHANDLE' - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/winxpgui.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/winxpgui.pyi deleted file mode 100644 index 2ee7c214..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32-stubs/winxpgui.pyi +++ /dev/null @@ -1,1097 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: winxpgui, version: unspecified -# Module: winxpgui, version: unspecified - -'' - -import typing -import builtins as _mod_builtins -from .lib import pywintypes as _mod_pywintypes - -def AbortPath() -> typing.Any: - ... - -def AlphaBlend() -> typing.Any: - ... - -def AngleArc() -> typing.Any: - ... - -def AnimateWindow() -> typing.Any: - ... - -def AppendMenu() -> typing.Any: - ... - -def Arc() -> typing.Any: - ... - -def ArcTo() -> typing.Any: - ... - -def BeginPaint() -> typing.Any: - ... - -def BeginPath() -> typing.Any: - ... - -def BitBlt() -> typing.Any: - ... - -def BringWindowToTop() -> typing.Any: - ... - -CLR_NONE: int -def CallWindowProc() -> typing.Any: - ... - -def CheckMenuItem() -> typing.Any: - ... - -def CheckMenuRadioItem() -> typing.Any: - ... - -def ChildWindowFromPoint() -> typing.Any: - ... - -def ChildWindowFromPointEx() -> typing.Any: - ... - -def Chord() -> typing.Any: - ... - -def ClientToScreen() -> typing.Any: - ... - -def CloseFigure() -> typing.Any: - ... - -def CloseWindow() -> typing.Any: - ... - -def CombineRgn() -> typing.Any: - ... - -def CombineTransform() -> typing.Any: - ... - -def CommDlgExtendedError() -> typing.Any: - ... - -def CopyIcon() -> typing.Any: - ... - -def CreateAcceleratorTable() -> typing.Any: - ... - -def CreateBitmap() -> typing.Any: - ... - -def CreateBrushIndirect() -> typing.Any: - ... - -def CreateCaret() -> typing.Any: - ... - -def CreateCompatibleBitmap() -> typing.Any: - ... - -def CreateCompatibleDC() -> typing.Any: - ... - -def CreateDC() -> typing.Any: - ... - -def CreateDialogIndirect() -> typing.Any: - ... - -def CreateDialogIndirectParam() -> typing.Any: - ... - -def CreateEllipticRgnIndirect() -> typing.Any: - ... - -def CreateFontIndirect() -> typing.Any: - ... - -def CreateHatchBrush() -> typing.Any: - ... - -def CreateIconFromResource() -> typing.Any: - ... - -def CreateIconIndirect() -> typing.Any: - ... - -def CreateMenu() -> typing.Any: - ... - -def CreatePatternBrush() -> typing.Any: - ... - -def CreatePen() -> typing.Any: - ... - -def CreatePolygonRgn() -> typing.Any: - ... - -def CreatePopupMenu() -> typing.Any: - ... - -def CreateRectRgnIndirect() -> typing.Any: - ... - -def CreateRoundRectRgn() -> typing.Any: - ... - -def CreateSolidBrush() -> typing.Any: - ... - -def CreateWindow() -> typing.Any: - ... - -def CreateWindowEx() -> typing.Any: - ... - -def DefWindowProc() -> typing.Any: - ... - -def DeleteDC() -> typing.Any: - ... - -def DeleteMenu() -> typing.Any: - ... - -def DeleteObject() -> typing.Any: - ... - -def DestroyAcceleratorTable() -> typing.Any: - ... - -def DestroyCaret() -> typing.Any: - ... - -def DestroyIcon() -> typing.Any: - ... - -def DestroyMenu() -> typing.Any: - ... - -def DestroyWindow() -> typing.Any: - ... - -def DialogBox() -> typing.Any: - ... - -def DialogBoxIndirect() -> typing.Any: - ... - -def DialogBoxIndirectParam() -> typing.Any: - ... - -def DialogBoxParam() -> typing.Any: - ... - -def DispatchMessage() -> typing.Any: - ... - -def DragAcceptFiles() -> typing.Any: - ... - -def DragDetect() -> typing.Any: - ... - -def DrawAnimatedRects() -> typing.Any: - ... - -def DrawEdge() -> typing.Any: - ... - -def DrawFocusRect() -> typing.Any: - ... - -def DrawIcon() -> typing.Any: - ... - -def DrawIconEx() -> typing.Any: - ... - -def DrawMenuBar() -> typing.Any: - ... - -def DrawText() -> typing.Any: - ... - -def DrawTextW() -> typing.Any: - ... - -def Edit_GetLine() -> typing.Any: - ... - -def Ellipse() -> typing.Any: - ... - -def EnableMenuItem() -> typing.Any: - ... - -def EnableWindow() -> typing.Any: - ... - -def EndDialog() -> typing.Any: - ... - -def EndPaint() -> typing.Any: - ... - -def EndPath() -> typing.Any: - ... - -def EnumChildWindows() -> typing.Any: - ... - -def EnumFontFamilies() -> typing.Any: - ... - -def EnumPropsEx() -> typing.Any: - ... - -def EnumThreadWindows() -> typing.Any: - ... - -def EnumWindows() -> typing.Any: - ... - -def EqualRgn() -> typing.Any: - ... - -def ExtCreatePen() -> typing.Any: - ... - -def ExtFloodFill() -> typing.Any: - ... - -def ExtTextOut() -> typing.Any: - ... - -def ExtractIcon() -> typing.Any: - ... - -def ExtractIconEx() -> typing.Any: - ... - -def FillPath() -> typing.Any: - ... - -def FillRect() -> typing.Any: - ... - -def FillRgn() -> typing.Any: - ... - -def FindWindow() -> typing.Any: - ... - -def FindWindowEx() -> typing.Any: - ... - -def FlashWindow() -> typing.Any: - ... - -def FlashWindowEx() -> typing.Any: - ... - -def FlattenPath() -> typing.Any: - ... - -def FrameRect() -> typing.Any: - ... - -def FrameRgn() -> typing.Any: - ... - -def GetActiveWindow() -> typing.Any: - ... - -def GetArcDirection() -> typing.Any: - ... - -def GetBkColor() -> typing.Any: - ... - -def GetBkMode() -> typing.Any: - ... - -def GetCapture() -> typing.Any: - ... - -def GetCaretPos() -> typing.Any: - ... - -def GetClassLong() -> typing.Any: - ... - -def GetClassName() -> typing.Any: - ... - -def GetClientRect() -> typing.Any: - ... - -def GetConsoleWindow() -> typing.Any: - ... - -def GetCurrentObject() -> typing.Any: - ... - -def GetCurrentPositionEx() -> typing.Any: - ... - -def GetCursor() -> typing.Any: - ... - -def GetCursorInfo() -> typing.Any: - ... - -def GetCursorPos() -> typing.Any: - ... - -def GetDC() -> typing.Any: - ... - -def GetDesktopWindow() -> typing.Any: - ... - -def GetDlgCtrlID() -> typing.Any: - ... - -def GetDlgItem() -> typing.Any: - ... - -def GetDlgItemInt() -> typing.Any: - ... - -def GetDlgItemText() -> typing.Any: - ... - -def GetDoubleClickTime() -> typing.Any: - ... - -def GetFocus() -> typing.Any: - ... - -def GetForegroundWindow() -> typing.Any: - ... - -def GetGraphicsMode() -> typing.Any: - ... - -def GetIconInfo() -> typing.Any: - ... - -def GetLayeredWindowAttributes() -> typing.Any: - ... - -def GetLayout() -> typing.Any: - ... - -def GetMapMode() -> typing.Any: - ... - -def GetMenu() -> typing.Any: - ... - -def GetMenuDefaultItem() -> typing.Any: - ... - -def GetMenuInfo() -> typing.Any: - ... - -def GetMenuItemCount() -> typing.Any: - ... - -def GetMenuItemID() -> typing.Any: - ... - -def GetMenuItemInfo() -> typing.Any: - ... - -def GetMenuItemRect() -> typing.Any: - ... - -def GetMenuState() -> typing.Any: - ... - -def GetMessage() -> typing.Any: - ... - -def GetMiterLimit() -> typing.Any: - ... - -def GetModuleHandle() -> typing.Any: - ... - -def GetNextDlgGroupItem() -> typing.Any: - ... - -def GetNextDlgTabItem() -> typing.Any: - ... - -def GetObject() -> typing.Any: - ... - -def GetObjectType() -> typing.Any: - ... - -def GetOpenFileName() -> typing.Any: - ... - -def GetOpenFileNameW() -> typing.Any: - ... - -def GetParent() -> typing.Any: - ... - -def GetPath() -> typing.Any: - ... - -def GetPixel() -> typing.Any: - ... - -def GetPolyFillMode() -> typing.Any: - ... - -def GetROP2() -> typing.Any: - ... - -def GetRgnBox() -> typing.Any: - ... - -def GetSaveFileNameW() -> typing.Any: - ... - -def GetScrollInfo() -> typing.Any: - ... - -def GetStockObject() -> typing.Any: - ... - -def GetStretchBltMode() -> typing.Any: - ... - -def GetSubMenu() -> typing.Any: - ... - -def GetSysColor() -> typing.Any: - ... - -def GetSysColorBrush() -> typing.Any: - ... - -def GetSystemMenu() -> typing.Any: - ... - -def GetTextAlign() -> typing.Any: - ... - -def GetTextCharacterExtra() -> typing.Any: - ... - -def GetTextColor() -> typing.Any: - ... - -def GetTextExtentPoint32() -> typing.Any: - ... - -def GetTextFace() -> typing.Any: - ... - -def GetTextMetrics() -> typing.Any: - ... - -def GetUpdateRgn() -> typing.Any: - ... - -def GetViewportExtEx() -> typing.Any: - ... - -def GetViewportOrgEx() -> typing.Any: - ... - -def GetWindow() -> typing.Any: - ... - -def GetWindowDC() -> typing.Any: - ... - -def GetWindowExtEx() -> typing.Any: - ... - -def GetWindowLong() -> typing.Any: - ... - -def GetWindowOrgEx() -> typing.Any: - ... - -def GetWindowPlacement() -> typing.Any: - ... - -def GetWindowRect() -> typing.Any: - ... - -def GetWindowRgn() -> typing.Any: - ... - -def GetWindowRgnBox() -> typing.Any: - ... - -def GetWindowText() -> typing.Any: - ... - -def GetWindowTextLength() -> typing.Any: - ... - -def GetWorldTransform() -> typing.Any: - ... - -def GradientFill() -> typing.Any: - ... - -def HIWORD() -> typing.Any: - ... - -def HideCaret() -> typing.Any: - ... - -ILC_COLOR: int -ILC_COLOR16: int -ILC_COLOR24: int -ILC_COLOR32: int -ILC_COLOR4: int -ILC_COLOR8: int -ILC_COLORDDB: int -ILC_MASK: int -ILD_BLEND: int -ILD_BLEND25: int -ILD_BLEND50: int -ILD_FOCUS: int -ILD_MASK: int -ILD_NORMAL: int -ILD_SELECTED: int -ILD_TRANSPARENT: int -IMAGE_BITMAP: int -IMAGE_CURSOR: int -IMAGE_ICON: int -def ImageList_Add() -> typing.Any: - ... - -def ImageList_Create() -> typing.Any: - ... - -def ImageList_Destroy() -> typing.Any: - ... - -def ImageList_Draw() -> typing.Any: - ... - -def ImageList_DrawEx() -> typing.Any: - ... - -def ImageList_GetIcon() -> typing.Any: - ... - -def ImageList_GetImageCount() -> typing.Any: - ... - -def ImageList_LoadBitmap() -> typing.Any: - ... - -def ImageList_LoadImage() -> typing.Any: - ... - -def ImageList_Remove() -> typing.Any: - ... - -def ImageList_Replace() -> typing.Any: - ... - -def ImageList_ReplaceIcon() -> typing.Any: - ... - -def ImageList_SetBkColor() -> typing.Any: - ... - -def ImageList_SetOverlayImage() -> typing.Any: - ... - -def InitCommonControls() -> typing.Any: - ... - -def InitCommonControlsEx() -> typing.Any: - ... - -def InsertMenu() -> typing.Any: - ... - -def InsertMenuItem() -> typing.Any: - ... - -def InvalidateRect() -> typing.Any: - ... - -def InvalidateRgn() -> typing.Any: - ... - -def InvertRect() -> typing.Any: - ... - -def InvertRgn() -> typing.Any: - ... - -def IsChild() -> typing.Any: - ... - -def IsIconic() -> typing.Any: - ... - -def IsWindow() -> typing.Any: - ... - -def IsWindowEnabled() -> typing.Any: - ... - -def IsWindowVisible() -> typing.Any: - ... - -def LOGFONT() -> typing.Any: - ... - -def LOWORD() -> typing.Any: - ... - -LR_CREATEDIBSECTION: int -LR_DEFAULTCOLOR: int -LR_DEFAULTSIZE: int -LR_LOADFROMFILE: int -LR_LOADMAP3DCOLORS: int -LR_LOADTRANSPARENT: int -LR_MONOCHROME: int -LR_SHARED: int -LR_VGACOLOR: int -def LineTo() -> typing.Any: - ... - -def ListView_SortItems() -> typing.Any: - ... - -def ListView_SortItemsEx() -> typing.Any: - ... - -def LoadCursor() -> typing.Any: - ... - -def LoadIcon() -> typing.Any: - ... - -def LoadImage() -> typing.Any: - ... - -def LoadMenu() -> typing.Any: - ... - -def MaskBlt() -> typing.Any: - ... - -def MessageBeep() -> typing.Any: - ... - -def MessageBox() -> typing.Any: - ... - -def ModifyMenu() -> typing.Any: - ... - -def ModifyWorldTransform() -> typing.Any: - ... - -def MoveToEx() -> typing.Any: - ... - -def MoveWindow() -> typing.Any: - ... - -NIF_ICON: int -NIF_INFO: int -NIF_MESSAGE: int -NIF_STATE: int -NIF_TIP: int -NIIF_ERROR: int -NIIF_ICON_MASK: int -NIIF_INFO: int -NIIF_NONE: int -NIIF_NOSOUND: int -NIIF_WARNING: int -NIM_ADD: int -NIM_DELETE: int -NIM_MODIFY: int -NIM_SETVERSION: int -def OffsetRgn() -> typing.Any: - ... - -def PaintDesktop() -> typing.Any: - ... - -def PaintRgn() -> typing.Any: - ... - -def PatBlt() -> typing.Any: - ... - -def PathToRegion() -> typing.Any: - ... - -def PeekMessage() -> typing.Any: - ... - -def Pie() -> typing.Any: - ... - -def PlgBlt() -> typing.Any: - ... - -def PolyBezier() -> typing.Any: - ... - -def PolyBezierTo() -> typing.Any: - ... - -def Polygon() -> typing.Any: - ... - -def Polyline() -> typing.Any: - ... - -def PolylineTo() -> typing.Any: - ... - -def PostMessage() -> typing.Any: - ... - -def PostQuitMessage() -> typing.Any: - ... - -def PostThreadMessage() -> typing.Any: - ... - -def PtInRect() -> typing.Any: - ... - -def PtInRegion() -> typing.Any: - ... - -def PumpMessages() -> typing.Any: - ... - -def PumpWaitingMessages() -> typing.Any: - ... - -def PyGetArraySignedLong() -> typing.Any: - ... - -def PyGetBufferAddressAndLen() -> typing.Any: - ... - -def PyGetMemory() -> typing.Any: - ... - -def PyGetString() -> typing.Any: - ... - -def PyMakeBuffer() -> typing.Any: - ... - -def PySetMemory() -> typing.Any: - ... - -def PySetString() -> typing.Any: - ... - -def RectInRegion() -> typing.Any: - ... - -def Rectangle() -> typing.Any: - ... - -def RedrawWindow() -> typing.Any: - ... - -def RegisterClass() -> typing.Any: - ... - -def RegisterDeviceNotification() -> typing.Any: - ... - -def RegisterHotKey() -> typing.Any: - ... - -def RegisterWindowMessage() -> typing.Any: - ... - -def ReleaseCapture() -> typing.Any: - ... - -def ReleaseDC() -> typing.Any: - ... - -def RemoveMenu() -> typing.Any: - ... - -def ReplyMessage() -> typing.Any: - ... - -def RestoreDC() -> typing.Any: - ... - -def RoundRect() -> typing.Any: - ... - -def SaveDC() -> typing.Any: - ... - -def ScreenToClient() -> typing.Any: - ... - -def ScrollWindowEx() -> typing.Any: - ... - -def SelectObject() -> typing.Any: - ... - -def SendMessage() -> typing.Any: - ... - -def SendMessageTimeout() -> typing.Any: - ... - -def SetActiveWindow() -> typing.Any: - ... - -def SetArcDirection() -> typing.Any: - ... - -def SetBkColor() -> typing.Any: - ... - -def SetBkMode() -> typing.Any: - ... - -def SetCapture() -> typing.Any: - ... - -def SetCaretPos() -> typing.Any: - ... - -def SetCursor() -> typing.Any: - ... - -def SetDlgItemInt() -> typing.Any: - ... - -def SetDlgItemText() -> typing.Any: - ... - -def SetDoubleClickTime() -> typing.Any: - ... - -def SetFocus() -> typing.Any: - ... - -def SetForegroundWindow() -> typing.Any: - ... - -def SetGraphicsMode() -> typing.Any: - ... - -def SetLayeredWindowAttributes() -> typing.Any: - ... - -def SetLayout() -> typing.Any: - ... - -def SetMapMode() -> typing.Any: - ... - -def SetMenu() -> typing.Any: - ... - -def SetMenuDefaultItem() -> typing.Any: - ... - -def SetMenuInfo() -> typing.Any: - ... - -def SetMenuItemBitmaps() -> typing.Any: - ... - -def SetMenuItemInfo() -> typing.Any: - ... - -def SetMiterLimit() -> typing.Any: - ... - -def SetParent() -> typing.Any: - ... - -def SetPixel() -> typing.Any: - ... - -def SetPixelV() -> typing.Any: - ... - -def SetPolyFillMode() -> typing.Any: - ... - -def SetROP2() -> typing.Any: - ... - -def SetRectRgn() -> typing.Any: - ... - -def SetScrollInfo() -> typing.Any: - ... - -def SetStretchBltMode() -> typing.Any: - ... - -def SetTextAlign() -> typing.Any: - ... - -def SetTextCharacterExtra() -> typing.Any: - ... - -def SetTextColor() -> typing.Any: - ... - -def SetViewportExtEx() -> typing.Any: - ... - -def SetViewportOrgEx() -> typing.Any: - ... - -def SetWindowExtEx() -> typing.Any: - ... - -def SetWindowLong() -> typing.Any: - ... - -def SetWindowOrgEx() -> typing.Any: - ... - -def SetWindowPlacement() -> typing.Any: - ... - -def SetWindowPos() -> typing.Any: - ... - -def SetWindowRgn() -> typing.Any: - ... - -def SetWindowText() -> typing.Any: - ... - -def SetWorldTransform() -> typing.Any: - ... - -def Shell_NotifyIcon() -> typing.Any: - ... - -def ShowCaret() -> typing.Any: - ... - -def ShowWindow() -> typing.Any: - ... - -def StretchBlt() -> typing.Any: - ... - -def StrokeAndFillPath() -> typing.Any: - ... - -def StrokePath() -> typing.Any: - ... - -def SystemParametersInfo() -> typing.Any: - ... - -TPM_BOTTOMALIGN: int -TPM_CENTERALIGN: int -TPM_LEFTALIGN: int -TPM_LEFTBUTTON: int -TPM_NONOTIFY: int -TPM_RETURNCMD: int -TPM_RIGHTALIGN: int -TPM_RIGHTBUTTON: int -TPM_TOPALIGN: int -TPM_VCENTERALIGN: int -def TrackPopupMenu() -> typing.Any: - ... - -def TranslateAccelerator() -> typing.Any: - ... - -def TranslateMessage() -> typing.Any: - ... - -def TransparentBlt() -> typing.Any: - ... - -UNICODE: bool -def UnregisterClass() -> typing.Any: - ... - -def UnregisterDeviceNotification() -> typing.Any: - ... - -def UpdateLayeredWindow() -> typing.Any: - ... - -def UpdateWindow() -> typing.Any: - ... - -def ValidateRect() -> typing.Any: - ... - -def ValidateRgn() -> typing.Any: - ... - -def WNDCLASS() -> typing.Any: - ... - -def WaitMessage() -> typing.Any: - ... - -def WidenPath() -> typing.Any: - ... - -def WindowFromDC() -> typing.Any: - ... - -def WindowFromPoint() -> typing.Any: - ... - -def _TrackMouseEvent() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -dllhandle: int -error = _mod_pywintypes.error -def lpstr() -> typing.Any: - ... - -def set_logger() -> typing.Any: - ... - -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/adsi/adsi.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/adsi/adsi.pyi deleted file mode 100644 index 94a34b66..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/adsi/adsi.pyi +++ /dev/null @@ -1,81 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32comext, version: unspecified -# Module: win32comext.adsi.adsi, version: unspecified - -'' - -import typing -import builtins as _mod_builtins -import win32.lib.pywintypes as _mod_pywintypes - -_PyIID = _mod_pywintypes.IID - -def ADsBuildEnumerator() -> typing.Any: - ... - -def ADsEnumerateNext() -> typing.Any: - ... - -def ADsGetLastError() -> typing.Any: - ... - -def ADsGetObject() -> typing.Any: - ... - -def ADsOpenObject() -> typing.Any: - ... - -CLSID_ADsDSOObject: _PyIID -CLSID_AccessControlEntry: _PyIID -CLSID_AccessControlList: _PyIID -CLSID_DsObjectPicker: _PyIID -CLSID_SecurityDescriptor: _PyIID -DBGUID_LDAPDialect: _PyIID -DBPROPSET_ADSISEARCH: _PyIID -DSOP_SCOPE_INIT_INFOs = _mod_builtins.PyDSOP_SCOPE_INIT_INFOs -IID_IADs: _PyIID -IID_IADsClass: _PyIID -IID_IADsCollection: _PyIID -IID_IADsComputer: _PyIID -IID_IADsComputerOperations: _PyIID -IID_IADsContainer: _PyIID -IID_IADsDeleteOps: _PyIID -IID_IADsDomain: _PyIID -IID_IADsFileService: _PyIID -IID_IADsFileServiceOperations: _PyIID -IID_IADsFileShare: _PyIID -IID_IADsGroup: _PyIID -IID_IADsLocality: _PyIID -IID_IADsMembers: _PyIID -IID_IADsNamespaces: _PyIID -IID_IADsO: _PyIID -IID_IADsOU: _PyIID -IID_IADsOpenDSObject: _PyIID -IID_IADsPrintJob: PyIID -IID_IADsPrintJobOperations: PyIID -IID_IADsPrintQueue: _PyIID -IID_IADsPrintQueueOperations: _PyIID -IID_IADsProperty: _PyIID -IID_IADsPropertyList: _PyIID -IID_IADsResource: _PyIID -IID_IADsSearch: _PyIID -IID_IADsService: _PyIID -IID_IADsServiceOperations: _PyIID -IID_IADsSession: _PyIID -IID_IADsSyntax: _PyIID -IID_IADsUser: _PyIID -IID_IDirectoryObject: _PyIID -IID_IDirectorySearch: _PyIID -IID_IDsObjectPicker: _PyIID -LIBID_ADs: _PyIID -def StringAsDS_SELECTION_LIST() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.com_error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/authorization/authorization.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/authorization/authorization.pyi deleted file mode 100644 index 8539565c..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/authorization/authorization.pyi +++ /dev/null @@ -1,24 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32comext, version: unspecified -# Module: win32comext.authorization.authorization, version: unspecified - -'Module containing support for authorization COM interfaces.' - -import typing -import builtins as _mod_builtins -import win32.lib.pywintypes as _mod_pywintypes - -_PyIID = _mod_pywintypes.IID - -def EditSecurity() -> typing.Any: - 'Creates a security descriptor editor dialog' - ... - -IID_ISecurityInformation: _PyIID -__doc__: str -__file__: str -__name__: str -__package__: str -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/axcontrol/axcontrol.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/axcontrol/axcontrol.pyi deleted file mode 100644 index 64af2f94..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/axcontrol/axcontrol.pyi +++ /dev/null @@ -1,73 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32comext, version: unspecified -# Module: win32comext.axcontrol.axcontrol, version: unspecified - -'A module, encapsulating the ActiveX Control interfaces.' - -import typing -import builtins as _mod_builtins -import win32.lib.pywintypes as _mod_pywintypes - -_PyIID = _mod_pywintypes.IID - -EMBDHLP_CREATENOW: int -EMBDHLP_DELAYCREATE: int -EMBDHLP_INPROC_HANDLER: int -EMBDHLP_INPROC_SERVER: int -IID_IObjectWithSite: _PyIID -IID_IOleClientSite: _PyIID -IID_IOleCommandTarget: _PyIID -IID_IOleControl: _PyIID -IID_IOleControlSite: _PyIID -IID_IOleInPlaceActiveObject: _PyIID -IID_IOleInPlaceFrame: _PyIID -IID_IOleInPlaceObject: _PyIID -IID_IOleInPlaceSite: _PyIID -IID_IOleInPlaceSiteEx: _PyIID -IID_IOleInPlaceSiteWindowless: _PyIID -IID_IOleInPlaceUIWindow: _PyIID -IID_IOleLink: _PyIID -IID_IOleObject: _PyIID -IID_ISpecifyPropertyPages: _PyIID -IID_IViewObject: _PyIID -IID_IViewObject2: _PyIID -OLECLOSE_NOSAVE: int -OLECLOSE_PROMPTSAVE: int -OLECLOSE_SAVEIFDIRTY: int -OLECMDF_ENABLED: int -OLECMDF_LATCHED: int -OLECMDF_NINCHED: int -OLECMDF_SUPPORTED: int -OLECMDTEXTF_NAME: int -OLECMDTEXTF_NONE: int -OLECMDTEXTF_STATUS: int -OLECREATE_LEAVERUNNING: int -OLEIVERB_DISCARDUNDOSTATE: int -OLEIVERB_HIDE: int -OLEIVERB_INPLACEACTIVATE: int -OLEIVERB_OPEN: int -OLEIVERB_PRIMARY: int -OLEIVERB_SHOW: int -OLEIVERB_UIACTIVATE: int -def OleCreate() -> typing.Any: - ... - -def OleLoadPicture() -> typing.Any: - ... - -def OleLoadPicturePath() -> typing.Any: - ... - -def OleSetContainedObject() -> typing.Any: - ... - -def OleTranslateAccelerator() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/axscript/axscript.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/axscript/axscript.pyi deleted file mode 100644 index e75878bb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/axscript/axscript.pyi +++ /dev/null @@ -1,69 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32comext, version: unspecified -# Module: win32comext.axscript.axscript, version: unspecified - -'A module, encapsulating the ActiveX Scripting interfaces.' - -import typing -import builtins as _mod_builtins -import win32.lib.pywintypes as _mod_pywintypes - -_PyIID = _mod_pywintypes.IID - -CATID_ActiveScript: _PyIID -CATID_ActiveScriptParse: _PyIID -IID_IActiveScript: _PyIID -IID_IActiveScriptError: _PyIID -IID_IActiveScriptParse: _PyIID -IID_IActiveScriptParseProcedure: _PyIID -IID_IActiveScriptSite: _PyIID -IID_IObjectSafety: _PyIID -IID_IProvideMultipleClassInfo: _PyIID -INTERFACESAFE_FOR_UNTRUSTED_CALLER: int -INTERFACESAFE_FOR_UNTRUSTED_DATA: int -INTERFACE_USES_DISPEX: int -INTERFACE_USES_SECURITY_MANAGER: int -MULTICLASSINFO_GETIIDPRIMARY: int -MULTICLASSINFO_GETIIDSOURCE: int -MULTICLASSINFO_GETNUMRESERVEDDISPIDS: int -MULTICLASSINFO_GETTYPEINFO: int -SCRIPTINFO_ALL_FLAGS: int -SCRIPTINFO_ITYPEINFO: int -SCRIPTINFO_IUNKNOWN: int -SCRIPTINTERRUPT_ALL_FLAGS: int -SCRIPTINTERRUPT_DEBUG: int -SCRIPTINTERRUPT_RAISEEXCEPTION: int -SCRIPTITEM_ALL_FLAGS: int -SCRIPTITEM_CODEONLY: int -SCRIPTITEM_GLOBALMEMBERS: int -SCRIPTITEM_ISPERSISTENT: int -SCRIPTITEM_ISSOURCE: int -SCRIPTITEM_ISVISIBLE: int -SCRIPTITEM_NOCODE: int -SCRIPTPROC_ALL_FLAGS: int -SCRIPTPROC_HOSTMANAGESSOURCE: int -SCRIPTPROC_IMPLICIT_PARENTS: int -SCRIPTPROC_IMPLICIT_THIS: int -SCRIPTSTATE_CLOSED: int -SCRIPTSTATE_CONNECTED: int -SCRIPTSTATE_DISCONNECTED: int -SCRIPTSTATE_INITIALIZED: int -SCRIPTSTATE_STARTED: int -SCRIPTSTATE_UNINITIALIZED: int -SCRIPTTEXT_ALL_FLAGS: int -SCRIPTTEXT_ISEXPRESSION: int -SCRIPTTEXT_ISPERSISTENT: int -SCRIPTTEXT_ISVISIBLE: int -SCRIPTTHREADSTATE_NOTINSCRIPT: int -SCRIPTTHREADSTATE_RUNNING: int -SCRIPTTYPELIB_ISCONTROL: int -SCRIPTTYPELIB_ISPERSISTENT: int -SCRIPT_E_REPORTED: int -TIFLAGS_EXTENDDISPATCHONLY: int -__doc__: str -__file__: str -__name__: str -__package__: str -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/bits/bits.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/bits/bits.pyi deleted file mode 100644 index f19e1026..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/bits/bits.pyi +++ /dev/null @@ -1,78 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32comext, version: unspecified -# Module: win32comext.bits.bits, version: unspecified - -'A module, encapsulating the Background Intelligent Transfer Service (bits)' - -import typing -import builtins as _mod_builtins -import win32.lib.pywintypes as _mod_pywintypes - -_PyIID = _mod_pywintypes.IID - -BG_AUTH_SCHEME_BASIC: int -BG_AUTH_SCHEME_DIGEST: int -BG_AUTH_SCHEME_NEGOTIATE: int -BG_AUTH_SCHEME_NTLM: int -BG_AUTH_SCHEME_PASSPORT: int -BG_AUTH_TARGET_PROXY: int -BG_AUTH_TARGET_SERVER: int -BG_CERT_STORE_LOCATION_CURRENT_SERVICE: int -BG_CERT_STORE_LOCATION_CURRENT_USER: int -BG_CERT_STORE_LOCATION_CURRENT_USER_GROUP_POLICY: int -BG_CERT_STORE_LOCATION_LOCAL_MACHINE: int -BG_CERT_STORE_LOCATION_LOCAL_MACHINE_ENTERPRISE: int -BG_CERT_STORE_LOCATION_LOCAL_MACHINE_GROUP_POLICY: int -BG_CERT_STORE_LOCATION_SERVICES: int -BG_CERT_STORE_LOCATION_USERS: int -BG_ERROR_CONTEXT_GENERAL_QUEUE_MANAGER: int -BG_ERROR_CONTEXT_GENERAL_TRANSPORT: int -BG_ERROR_CONTEXT_LOCAL_FILE: int -BG_ERROR_CONTEXT_NONE: int -BG_ERROR_CONTEXT_QUEUE_MANAGER_NOTIFICATION: int -BG_ERROR_CONTEXT_REMOTE_APPLICATION: int -BG_ERROR_CONTEXT_REMOTE_FILE: int -BG_ERROR_CONTEXT_UNKNOWN: int -BG_JOB_ENUM_ALL_USERS: int -BG_JOB_PRIORITY_FOREGROUND: int -BG_JOB_PRIORITY_HIGH: int -BG_JOB_PRIORITY_LOW: int -BG_JOB_PRIORITY_NORMAL: int -BG_JOB_PROXY_USAGE_AUTODETECT: int -BG_JOB_PROXY_USAGE_NO_PROXY: int -BG_JOB_PROXY_USAGE_OVERRIDE: int -BG_JOB_PROXY_USAGE_PRECONFIG: int -BG_JOB_STATE_ACKNOWLEDGED: int -BG_JOB_STATE_CANCELLED: int -BG_JOB_STATE_CONNECTING: int -BG_JOB_STATE_ERROR: int -BG_JOB_STATE_QUEUED: int -BG_JOB_STATE_SUSPENDED: int -BG_JOB_STATE_TRANSFERRED: int -BG_JOB_STATE_TRANSFERRING: int -BG_JOB_STATE_TRANSIENT_ERROR: int -BG_JOB_TYPE_DOWNLOAD: int -BG_JOB_TYPE_UPLOAD: int -BG_JOB_TYPE_UPLOAD_REPLY: int -BG_NOTIFY_DISABLE: int -BG_NOTIFY_JOB_ERROR: int -BG_NOTIFY_JOB_MODIFICATION: int -BG_NOTIFY_JOB_TRANSFERRED: int -CLSID_BackgroundCopyManager: _PyIID -IID_IBackgroundCopyCallback: _PyIID -IID_IBackgroundCopyError: _PyIID -IID_IBackgroundCopyFile: _PyIID -IID_IBackgroundCopyFile2: _PyIID -IID_IBackgroundCopyJob: _PyIID -IID_IBackgroundCopyJob2: _PyIID -IID_IBackgroundCopyJob3: _PyIID -IID_IBackgroundCopyManager: _PyIID -IID_IEnumBackgroundCopyFiles: _PyIID -IID_IEnumBackgroundCopyJobs: _PyIID -__doc__: str -__file__: str -__name__: str -__package__: str -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/directsound/directsound.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/directsound/directsound.pyi deleted file mode 100644 index 2ff8f445..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/directsound/directsound.pyi +++ /dev/null @@ -1,148 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32comext, version: unspecified -# Module: win32comext.directsound.directsound, version: unspecified - -'A module encapsulating the DirectSound interfaces.' - -import typing -import builtins as _mod_builtins -import win32.lib.pywintypes as _mod_pywintypes - -_PyIID = _mod_pywintypes.IID - -DS3DMODE_DISABLE: int -DS3DMODE_HEADRELATIVE: int -DS3DMODE_NORMAL: int -def DSBCAPS() -> typing.Any: - ... - -DSBCAPSType = _mod_builtins.PyDSBCAPS -DSBCAPS_CTRL3D: int -DSBCAPS_CTRLFREQUENCY: int -DSBCAPS_CTRLPAN: int -DSBCAPS_CTRLPOSITIONNOTIFY: int -DSBCAPS_CTRLVOLUME: int -DSBCAPS_GETCURRENTPOSITION2: int -DSBCAPS_GLOBALFOCUS: int -DSBCAPS_LOCHARDWARE: int -DSBCAPS_LOCSOFTWARE: int -DSBCAPS_MUTE3DATMAXDISTANCE: int -DSBCAPS_PRIMARYBUFFER: int -DSBCAPS_STATIC: int -DSBCAPS_STICKYFOCUS: int -DSBFREQUENCY_MAX: int -DSBFREQUENCY_MIN: int -DSBFREQUENCY_ORIGINAL: int -DSBLOCK_ENTIREBUFFER: int -DSBLOCK_FROMWRITECURSOR: int -DSBPAN_CENTER: int -DSBPAN_LEFT: int -DSBPAN_RIGHT: int -DSBPLAY_LOOPING: int -DSBPN_OFFSETSTOP: int -DSBSIZE_MAX: int -DSBSIZE_MIN: int -DSBSTATUS_BUFFERLOST: int -DSBSTATUS_LOOPING: int -DSBSTATUS_PLAYING: int -def DSBUFFERDESC() -> typing.Any: - ... - -DSBUFFERDESCType = _mod_builtins.PyDSBUFFERDESC -DSBVOLUME_MAX: int -DSBVOLUME_MIN: int -def DSCAPS() -> typing.Any: - ... - -DSCAPSType = _mod_builtins.PyDSCAPSType -DSCAPS_CERTIFIED: int -DSCAPS_CONTINUOUSRATE: int -DSCAPS_EMULDRIVER: int -DSCAPS_PRIMARY16BIT: int -DSCAPS_PRIMARY8BIT: int -DSCAPS_PRIMARYMONO: int -DSCAPS_PRIMARYSTEREO: int -DSCAPS_SECONDARY16BIT: int -DSCAPS_SECONDARY8BIT: int -DSCAPS_SECONDARYMONO: int -DSCAPS_SECONDARYSTEREO: int -def DSCBCAPS() -> typing.Any: - ... - -DSCBCAPSType = _mod_builtins.PyDSCBCAPSType -DSCBCAPS_WAVEMAPPED: int -DSCBLOCK_ENTIREBUFFER: int -DSCBSTART_LOOPING: int -DSCBSTATUS_CAPTURING: int -DSCBSTATUS_LOOPING: int -def DSCBUFFERDESC() -> typing.Any: - ... - -DSCBUFFERDESCType = _mod_builtins.PyDSCBUFFERDESC -def DSCCAPS() -> typing.Any: - ... - -DSCCAPSType = _mod_builtins.PyDSCCAPSType -DSCCAPS_EMULDRIVER: int -DSERR_ACCESSDENIED: int -DSERR_ALLOCATED: int -DSERR_ALREADYINITIALIZED: int -DSERR_BADFORMAT: int -DSERR_BADSENDBUFFERGUID: int -DSERR_BUFFERLOST: int -DSERR_BUFFERTOOSMALL: int -DSERR_CONTROLUNAVAIL: int -DSERR_DS8_REQUIRED: int -DSERR_FXUNAVAILABLE: int -DSERR_GENERIC: int -DSERR_INVALIDCALL: int -DSERR_INVALIDPARAM: int -DSERR_NOAGGREGATION: int -DSERR_NODRIVER: int -DSERR_NOINTERFACE: int -DSERR_OBJECTNOTFOUND: int -DSERR_OTHERAPPHASPRIO: int -DSERR_OUTOFMEMORY: int -DSERR_PRIOLEVELNEEDED: int -DSERR_SENDLOOP: int -DSERR_UNINITIALIZED: int -DSERR_UNSUPPORTED: int -DSSCL_EXCLUSIVE: int -DSSCL_NORMAL: int -DSSCL_PRIORITY: int -DSSCL_WRITEPRIMARY: int -DSSPEAKER_GEOMETRY_MAX: int -DSSPEAKER_GEOMETRY_MIN: int -DSSPEAKER_GEOMETRY_NARROW: int -DSSPEAKER_GEOMETRY_WIDE: int -DSSPEAKER_HEADPHONE: int -DSSPEAKER_MONO: int -DSSPEAKER_QUAD: int -DSSPEAKER_STEREO: int -DSSPEAKER_SURROUND: int -DS_NO_VIRTUALIZATION: int -DS_OK: int -def DirectSoundCaptureCreate() -> typing.Any: - ... - -def DirectSoundCaptureEnumerate() -> typing.Any: - ... - -def DirectSoundCreate() -> typing.Any: - ... - -def DirectSoundEnumerate() -> typing.Any: - ... - -IID_IDirectSound: _PyIID -IID_IDirectSoundBuffer: _PyIID -IID_IDirectSoundCapture: _PyIID -IID_IDirectSoundCaptureBuffer: _PyIID -IID_IDirectSoundNotify: _PyIID -__doc__: str -__file__: str -__name__: str -__package__: str -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/ifilter/ifilter.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/ifilter/ifilter.pyi deleted file mode 100644 index 08fb89cb..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/ifilter/ifilter.pyi +++ /dev/null @@ -1,55 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32comext, version: unspecified -# Module: win32comext.ifilter.ifilter, version: unspecified - -'Wraps the interfaces used with Indexing Service filtering' - -import typing -import builtins as _mod_builtins -import win32.lib.pywintypes as _mod_pywintypes - -_PyIID = _mod_pywintypes.IID - -def BindIFilterFromStorage() -> typing.Any: - ... - -def BindIFilterFromStream() -> typing.Any: - ... - -CHUNK_EOC: int -CHUNK_EOP: int -CHUNK_EOS: int -CHUNK_EOW: int -CHUNK_NO_BREAK: int -CHUNK_TEXT: int -CHUNK_VALUE: int -FILTER_E_ACCESS: int -FILTER_E_EMBEDDING_UNAVAILABLE: int -FILTER_E_END_OF_CHUNKS: int -FILTER_E_LINK_UNAVAILABLE: int -FILTER_E_NO_MORE_TEXT: int -FILTER_E_NO_MORE_VALUES: int -FILTER_E_NO_TEXT: int -FILTER_E_NO_VALUES: int -FILTER_E_PASSWORD: int -FILTER_S_LAST_TEXT: int -IFILTER_FLAGS_OLE_PROPERTIES: int -IFILTER_INIT_APPLY_INDEX_ATTRIBUTES: int -IFILTER_INIT_APPLY_OTHER_ATTRIBUTES: int -IFILTER_INIT_CANON_HYPHENS: int -IFILTER_INIT_CANON_PARAGRAPHS: int -IFILTER_INIT_CANON_SPACES: int -IFILTER_INIT_HARD_LINE_BREAKS: int -IFILTER_INIT_INDEXING_ONLY: int -IFILTER_INIT_SEARCH_LINKS: int -IID_IFilter: _PyIID -def LoadIFilter() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/mapi/exchange.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/mapi/exchange.pyi deleted file mode 100644 index e6edd2b8..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/mapi/exchange.pyi +++ /dev/null @@ -1,26 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32comext, version: unspecified -# Module: win32comext.mapi.exchange, version: unspecified - -'' - -import typing -import builtins as _mod_builtins -import win32.lib.pywintypes as _mod_pywintypes - -_PyIID = _mod_pywintypes.IID - -IID_IExchangeManageStore: _PyIID -IID_IExchangeManageStoreEx: _PyIID -OPENSTORE_HOME_LOGON: int -OPENSTORE_OVERRIDE_HOME_MDB: int -OPENSTORE_PUBLIC: int -OPENSTORE_TAKE_OWNERSHIP: int -OPENSTORE_USE_ADMIN_PRIVILEGE: int -__doc__: str -__file__: str -__name__: str -__package__: str -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/mapi/mapi.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/mapi/mapi.pyi deleted file mode 100644 index 088a021b..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/mapi/mapi.pyi +++ /dev/null @@ -1,376 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32comext, version: unspecified -# Module: win32comext.mapi.mapi, version: unspecified - -'' - -import typing -import builtins as _mod_builtins -import win32.lib.pywintypes as _mod_pywintypes - -_PyIID = _mod_pywintypes.IID - -AB_NO_DIALOG: int -ATTACH_BY_REFERENCE: int -ATTACH_BY_REF_ONLY: int -ATTACH_BY_REF_RESOLVE: int -ATTACH_BY_VALUE: int -ATTACH_EMBEDDED_MSG: int -ATTACH_OLE: int -BMR_EQZ: int -BMR_NEZ: int -BOOKMARK_BEGINNING: int -BOOKMARK_CURRENT: int -BOOKMARK_END: int -def BinFromHex() -> typing.Any: - ... - -CCSF_8BITHEADERS: int -CCSF_EMBEDDED_MESSAGE: int -CCSF_INCLUDE_BCC: int -CCSF_NOHEADERS: int -CCSF_NO_MSGID: int -CCSF_PLAIN_TEXT_ONLY: int -CCSF_PRESERVE_SOURCE: int -CCSF_SMTP: int -CCSF_USE_RTF: int -CCSF_USE_TNEF: int -CLEAR_NRN_PENDING: int -CLEAR_READ_FLAG: int -CLEAR_RN_PENDING: int -CLSID_IConverterSession: _PyIID -CLSID_MailMessage: _PyIID -CONVENIENT_DEPTH: int -def CloseIMsgSession() -> typing.Any: - ... - -DELETE_HARD_DELETE: int -DEL_FOLDERS: int -DEL_MESSAGES: int -DIR_BACKWARD: int -FLUSH_ASYNC_OK: int -FLUSH_DOWNLOAD: int -FLUSH_FORCE: int -FLUSH_NO_UI: int -FLUSH_UPLOAD: int -FL_FULLSTRING: int -FL_IGNORECASE: int -FL_IGNORENONSPACE: int -FL_LOOSE: int -FL_PREFIX: int -FL_SUBSTRING: int -FOLDER_DIALOG: int -FOLDER_GENERIC: int -FOLDER_SEARCH: int -FORCE_SAVE: int -GENERATE_RECEIPT_ONLY: int -def HexFromBin() -> typing.Any: - ... - -def HrAllocAdviseSink() -> typing.Any: - ... - -def HrDispatchNotifications() -> typing.Any: - ... - -def HrGetOneProp() -> typing.Any: - ... - -def HrQueryAllRows() -> typing.Any: - ... - -def HrSetOneProp() -> typing.Any: - ... - -def HrThisThreadAdviseSink() -> typing.Any: - ... - -IID_IABContainer: _PyIID -IID_IAddrBook: _PyIID -IID_IAttachment: _PyIID -IID_IConverterSession: _PyIID -IID_IDistList: _PyIID -IID_IMAPIAdviseSink: _PyIID -IID_IMAPIContainer: _PyIID -IID_IMAPIFolder: _PyIID -IID_IMAPIProp: _PyIID -IID_IMAPISession: _PyIID -IID_IMAPIStatus: _PyIID -IID_IMAPITable: _PyIID -IID_IMailUser: _PyIID -IID_IMessage: _PyIID -IID_IMsgServiceAdmin: _PyIID -IID_IMsgServiceAdmin2: _PyIID -IID_IMsgStore: _PyIID -IID_IProfAdmin: _PyIID -IID_IProfSect: _PyIID -IID_IProviderAdmin: _PyIID -KEEP_OPEN_READONLY: int -KEEP_OPEN_READWRITE: int -MAIL_E_NAMENOTFOUND: int -def MAPIAdminProfiles() -> typing.Any: - ... - -def MAPIInitialize() -> typing.Any: - ... - -def MAPILogonEx() -> typing.Any: - ... - -def MAPIUIDFromBinary() -> typing.Any: - ... - -def MAPIUninitialize() -> typing.Any: - ... - -MAPI_ABCONT: int -MAPI_ADDRBOOK: int -MAPI_ALLOW_OTHERS: int -MAPI_ASSOCIATED: int -MAPI_ATTACH: int -MAPI_BCC: int -MAPI_BEST_ACCESS: int -MAPI_CC: int -MAPI_CREATE: int -MAPI_DEFAULT_SERVICES: int -MAPI_DEFERRED_ERRORS: int -MAPI_DIALOG: int -MAPI_DISTLIST: int -MAPI_EXPLICIT_PROFILE: int -MAPI_EXTENDED: int -MAPI_E_ACCOUNT_DISABLED: int -MAPI_E_AMBIGUOUS_RECIP: int -MAPI_E_BAD_CHARWIDTH: int -MAPI_E_BAD_COLUMN: int -MAPI_E_BAD_VALUE: int -MAPI_E_BUSY: int -MAPI_E_CALL_FAILED: int -MAPI_E_CANCEL: int -MAPI_E_COLLISION: int -MAPI_E_COMPUTED: int -MAPI_E_CORRUPT_DATA: int -MAPI_E_CORRUPT_STORE: int -MAPI_E_DECLINE_COPY: int -MAPI_E_DISK_ERROR: int -MAPI_E_END_OF_SESSION: int -MAPI_E_EXTENDED_ERROR: int -MAPI_E_FAILONEPROVIDER: int -MAPI_E_FOLDER_CYCLE: int -MAPI_E_HAS_FOLDERS: int -MAPI_E_HAS_MESSAGES: int -MAPI_E_INTERFACE_NOT_SUPPORTED: int -MAPI_E_INVALID_ACCESS_TIME: int -MAPI_E_INVALID_BOOKMARK: int -MAPI_E_INVALID_ENTRYID: int -MAPI_E_INVALID_OBJECT: int -MAPI_E_INVALID_PARAMETER: int -MAPI_E_INVALID_TYPE: int -MAPI_E_INVALID_WORKSTATION_ACCOUNT: int -MAPI_E_LOCKID_LIMIT: int -MAPI_E_LOGON_FAILED: int -MAPI_E_MISSING_REQUIRED_COLUMN: int -MAPI_E_NAMED_PROP_QUOTA_EXCEEDED: int -MAPI_E_NETWORK_ERROR: int -MAPI_E_NON_STANDARD: int -MAPI_E_NOT_ENOUGH_DISK: int -MAPI_E_NOT_ENOUGH_MEMORY: int -MAPI_E_NOT_ENOUGH_RESOURCES: int -MAPI_E_NOT_FOUND: int -MAPI_E_NOT_INITIALIZED: int -MAPI_E_NOT_IN_QUEUE: int -MAPI_E_NOT_ME: int -MAPI_E_NO_ACCESS: int -MAPI_E_NO_RECIPIENTS: int -MAPI_E_NO_SUPPORT: int -MAPI_E_NO_SUPPRESS: int -MAPI_E_OBJECT_CHANGED: int -MAPI_E_OBJECT_DELETED: int -MAPI_E_OFFLINE: int -MAPI_E_PASSWORD_CHANGE_REQUIRED: int -MAPI_E_PASSWORD_EXPIRED: int -MAPI_E_PROFILE_DELETED: int -MAPI_E_RECONNECTED: int -MAPI_E_SESSION_LIMIT: int -MAPI_E_STORE_FULL: int -MAPI_E_STRING_TOO_LONG: int -MAPI_E_SUBMITTED: int -MAPI_E_TABLE_EMPTY: int -MAPI_E_TABLE_TOO_BIG: int -MAPI_E_TIMEOUT: int -MAPI_E_TOO_BIG: int -MAPI_E_TOO_COMPLEX: int -MAPI_E_TYPE_NO_SUPPORT: int -MAPI_E_UNABLE_TO_ABORT: int -MAPI_E_UNABLE_TO_COMPLETE: int -MAPI_E_UNCONFIGURED: int -MAPI_E_UNEXPECTED_ID: int -MAPI_E_UNEXPECTED_TYPE: int -MAPI_E_UNKNOWN_CPID: int -MAPI_E_UNKNOWN_ENTRYID: int -MAPI_E_UNKNOWN_FLAGS: int -MAPI_E_UNKNOWN_LCID: int -MAPI_E_USER_CANCEL: int -MAPI_E_VERSION: int -MAPI_E_WAIT: int -MAPI_FOLDER: int -MAPI_FORCE_ACCESS: int -MAPI_FORCE_DOWNLOAD: int -MAPI_FORMINFO: int -MAPI_INIT_VERSION: int -MAPI_LOGON_UI: int -MAPI_MAILUSER: int -MAPI_MESSAGE: int -MAPI_MODIFY: int -MAPI_MOVE: int -MAPI_MULTITHREAD_NOTIFICATIONS: int -MAPI_NATIVE_BODY: int -MAPI_NATIVE_BODY_TYPE_HTML: int -MAPI_NATIVE_BODY_TYPE_PLAINTEXT: int -MAPI_NATIVE_BODY_TYPE_RTF: int -MAPI_NEW_SESSION: int -MAPI_NOREPLACE: int -MAPI_NO_IDS: int -MAPI_NO_MAIL: int -MAPI_NO_STRINGS: int -MAPI_NT_SERVICE: int -MAPI_P1: int -MAPI_PASSWORD_UI: int -MAPI_PROFSECT: int -MAPI_SERVICE_UI_ALWAYS: int -MAPI_SESSION: int -MAPI_STATUS: int -MAPI_STORE: int -MAPI_SUBMITTED: int -MAPI_TIMEOUT_SHORT: int -MAPI_TO: int -MAPI_UNICODE: int -MAPI_USE_DEFAULT: int -MAPI_W_APPROX_COUNT: int -MAPI_W_CANCEL_MESSAGE: int -MAPI_W_ERRORS_RETURNED: int -MAPI_W_NO_SERVICE: int -MAPI_W_PARTIAL_COMPLETION: int -MAPI_W_POSITION_CHANGED: int -MDB_NO_DIALOG: int -MDB_NO_MAIL: int -MDB_TEMPORARY: int -MDB_WRITE: int -MESSAGE_DIALOG: int -MODRECIP_ADD: int -MODRECIP_MODIFY: int -MODRECIP_REMOVE: int -MSPST_UID_PROVIDER: _PyIID -NO_ATTACHMENT: int -OPEN_IF_EXISTS: int -def OpenIMsgOnIStg() -> typing.Any: - ... - -def OpenIMsgSession() -> typing.Any: - ... - -def OpenStreamOnFile() -> typing.Any: - ... - -def OpenStreamOnFileW() -> typing.Any: - ... - -PSETID_Address: _PyIID -PSETID_AirSync: _PyIID -PSETID_Appointment: _PyIID -PSETID_Common: _PyIID -PSETID_Log: _PyIID -PSETID_Meeting: _PyIID -PSETID_Messaging: _PyIID -PSETID_Note: _PyIID -PSETID_PostRss: _PyIID -PSETID_Remote: _PyIID -PSETID_Report: _PyIID -PSETID_Sharing: _PyIID -PSETID_Task: _PyIID -PSETID_UnifiedMessaging: _PyIID -PSTF_BEST_ENCRYPTION: int -PSTF_COMPRESSABLE_ENCRYPTION: int -PSTF_NO_ENCRYPTION: int -PS_INTERNET_HEADERS: _PyIID -PS_MAPI: _PyIID -PS_PUBLIC_STRINGS: _PyIID -PS_ROUTING_ADDRTYPE: _PyIID -PS_ROUTING_DISPLAY_NAME: _PyIID -PS_ROUTING_EMAIL_ADDRESSES: _PyIID -PS_ROUTING_ENTRYID: _PyIID -PS_ROUTING_SEARCH_KEY: _PyIID -RELOP_EQ: int -RELOP_GE: int -RELOP_GT: int -RELOP_LE: int -RELOP_LT: int -RELOP_NE: int -RELOP_RE: int -RES_AND: int -RES_BITMASK: int -RES_COMMENT: int -RES_COMPAREPROPS: int -RES_CONTENT: int -RES_EXIST: int -RES_NOT: int -RES_OR: int -RES_PROPERTY: int -RES_SIZE: int -RES_SUBRESTRICTION: int -def RTFStreamToHTML() -> typing.Any: - ... - -def RTFSync() -> typing.Any: - ... - -RTF_SYNC_BODY_CHANGED: int -RTF_SYNC_RTF_CHANGED: int -SERVICE_UI_ALLOWED: int -SERVICE_UI_ALWAYS: int -SHOW_SOFT_DELETES: int -SOF_UNIQUEFILENAME: int -STATUS_DEFAULT_STORE: int -STATUS_FLUSH_QUEUES: int -STATUS_INBOUND_FLUSH: int -STATUS_OUTBOUND_FLUSH: int -SUPPRESS_RECEIPT: int -TABLE_CHANGED: int -TABLE_ERROR: int -TABLE_RELOAD: int -TABLE_RESTRICT_DONE: int -TABLE_ROW_ADDED: int -TABLE_ROW_DELETED: int -TABLE_ROW_MODIFIED: int -TABLE_SETCOL_DONE: int -TABLE_SORT_ASCEND: int -TABLE_SORT_COMBINE: int -TABLE_SORT_DESCEND: int -TABLE_SORT_DONE: int -TBL_ALL_COLUMNS: int -TBL_ASYNC: int -TBL_BATCH: int -def WrapCompressedRTFStream() -> typing.Any: - ... - -def WrapCompressedRTFStreamEx() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -fnevCriticalError: int -fnevExtended: int -fnevNewMail: int -fnevObjectCopied: int -fnevObjectCreated: int -fnevObjectDeleted: int -fnevObjectModified: int -fnevObjectMoved: int -fnevReservedForMapi: int -fnevSearchComplete: int -fnevStatusObjectModified: int -fnevTableModified: int -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/propsys/propsys.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/propsys/propsys.pyi deleted file mode 100644 index b2f546ba..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/propsys/propsys.pyi +++ /dev/null @@ -1,95 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32comext, version: unspecified -# Module: win32comext.propsys.propsys, version: unspecified - -'A module, encapsulating the Property System interfaces.Available on Windows Vista and later, but can also be usedon XP if Desktop Search 3 is installed.' - -import typing -import builtins as _mod_builtins -import win32.lib.pywintypes as _mod_pywintypes - -_PyIID = _mod_pywintypes.IID - -IID_IInitializeWithFile: _PyIID -IID_IInitializeWithStream: _PyIID -IID_INamedPropertyStore: _PyIID -IID_IObjectWithPropertyKey: _PyIID -IID_IPersistSerializedPropStorage: _PyIID -IID_IPropertyChange: _PyIID -IID_IPropertyChangeArray: _PyIID -IID_IPropertyDescription: _PyIID -IID_IPropertyDescriptionAliasInfo: _PyIID -IID_IPropertyDescriptionList: _PyIID -IID_IPropertyDescriptionSearchInfo: _PyIID -IID_IPropertyEnumType: _PyIID -IID_IPropertyEnumTypeList: _PyIID -IID_IPropertyStore: _PyIID -IID_IPropertyStoreCache: _PyIID -IID_IPropertyStoreCapabilities: _PyIID -IID_IPropertySystem: _PyIID -PROPVARIANTType = _mod_builtins.PyPROPVARIANT -def PSCreateMemoryPropertyStore() -> typing.Any: - ... - -def PSCreatePropertyChangeArray() -> typing.Any: - ... - -def PSCreatePropertyStoreFromPropertySetStorage() -> typing.Any: - ... - -def PSCreateSimplePropertyChange() -> typing.Any: - ... - -def PSGetItemPropertyHandler() -> typing.Any: - ... - -def PSGetNameFromPropertyKey() -> typing.Any: - ... - -def PSGetNamedPropertyFromPropertyStorage() -> typing.Any: - ... - -def PSGetPropertyDescription() -> typing.Any: - ... - -def PSGetPropertyFromPropertyStorage() -> typing.Any: - ... - -def PSGetPropertyKeyFromName() -> typing.Any: - ... - -def PSGetPropertySystem() -> typing.Any: - ... - -def PSLookupPropertyHandlerCLSID() -> typing.Any: - ... - -def PSRegisterPropertySchema() -> typing.Any: - ... - -def PSUnregisterPropertySchema() -> typing.Any: - ... - -def SHGetPropertyStoreForWindow() -> typing.Any: - ... - -def SHGetPropertyStoreFromParsingName() -> typing.Any: - ... - -def SHSetDefaultProperties() -> typing.Any: - ... - -def StgDeserializePropVariant() -> typing.Any: - ... - -def StgSerializePropVariant() -> typing.Any: - ... - -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.com_error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/py.typed b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/py.typed deleted file mode 100644 index b648ac92..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/py.typed +++ /dev/null @@ -1 +0,0 @@ -partial diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/shell/shell.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/shell/shell.pyi deleted file mode 100644 index af1f60fe..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/shell/shell.pyi +++ /dev/null @@ -1,514 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32comext, version: unspecified -# Module: win32comext.shell.shell, version: unspecified - -'A module wrapping Windows Shell functions and interfaces' - -import typing -import builtins as _mod_builtins -import win32.lib.pywintypes as _mod_pywintypes - -_PyIID = _mod_pywintypes.IID - -def AddressAsPIDL() -> typing.Any: - ... - -def AssocCreate() -> typing.Any: - ... - -def AssocCreateForClasses() -> typing.Any: - ... - -BHID_AssociationArray: _PyIID -BHID_DataObject: _PyIID -BHID_EnumItems: _PyIID -BHID_Filter: _PyIID -BHID_LinkTargetItem: _PyIID -BHID_PropertyStore: _PyIID -BHID_SFObject: _PyIID -BHID_SFUIObject: _PyIID -BHID_SFViewObject: _PyIID -BHID_Storage: _PyIID -BHID_StorageEnum: _PyIID -BHID_Stream: _PyIID -BHID_ThumbnailHandler: _PyIID -BHID_Transfer: _PyIID -CGID_DefView: _PyIID -CGID_Explorer: _PyIID -CGID_ExplorerBarDoc: _PyIID -CGID_ShellDocView: _PyIID -CGID_ShellServiceObject: _PyIID -def CIDAAsString() -> typing.Any: - ... - -CLSID_ActiveDesktop: _PyIID -CLSID_ApplicationDestinations: _PyIID -CLSID_ApplicationDocumentLists: _PyIID -CLSID_ControlPanel: _PyIID -CLSID_DestinationList: _PyIID -CLSID_DragDropHelper: _PyIID -CLSID_EnumerableObjectCollection: _PyIID -CLSID_FileOperation: _PyIID -CLSID_Internet: _PyIID -CLSID_InternetShortcut: _PyIID -CLSID_KnownFolderManager: _PyIID -CLSID_MyComputer: _PyIID -CLSID_MyDocuments: _PyIID -CLSID_NetworkDomain: _PyIID -CLSID_NetworkPlaces: _PyIID -CLSID_NetworkServer: _PyIID -CLSID_NetworkShare: _PyIID -CLSID_Printers: _PyIID -CLSID_RecycleBin: _PyIID -CLSID_ShellDesktop: _PyIID -CLSID_ShellFSFolder: _PyIID -CLSID_ShellItem: _PyIID -CLSID_ShellLibrary: _PyIID -CLSID_ShellLink: _PyIID -CLSID_TaskbarList: _PyIID -def DragQueryFile() -> typing.Any: - ... - -def DragQueryFileW() -> typing.Any: - ... - -def DragQueryPoint() -> typing.Any: - ... - -EP_AdvQueryPane: _PyIID -EP_Commands: _PyIID -EP_Commands_Organize: _PyIID -EP_Commands_View: _PyIID -EP_DetailsPane: _PyIID -EP_NavPane: _PyIID -EP_PreviewPane: _PyIID -EP_QueryPane: _PyIID -def FILEGROUPDESCRIPTORAsString() -> typing.Any: - ... - -FMTID_AudioSummaryInformation: _PyIID -FMTID_Briefcase: _PyIID -FMTID_Displaced: _PyIID -FMTID_ImageProperties: _PyIID -FMTID_ImageSummaryInformation: _PyIID -FMTID_InternetSite: _PyIID -FMTID_Intshcut: _PyIID -FMTID_MediaFileSummaryInformation: _PyIID -FMTID_Misc: _PyIID -FMTID_Query: _PyIID -FMTID_ShellDetails: _PyIID -FMTID_Storage: _PyIID -FMTID_SummaryInformation: _PyIID -FMTID_Volume: _PyIID -FMTID_WebView: _PyIID -FOLDERID_AddNewPrograms: _PyIID -FOLDERID_AdminTools: _PyIID -FOLDERID_AppUpdates: _PyIID -FOLDERID_CDBurning: _PyIID -FOLDERID_ChangeRemovePrograms: _PyIID -FOLDERID_CommonAdminTools: _PyIID -FOLDERID_CommonOEMLinks: _PyIID -FOLDERID_CommonPrograms: _PyIID -FOLDERID_CommonStartMenu: _PyIID -FOLDERID_CommonStartup: _PyIID -FOLDERID_CommonTemplates: _PyIID -FOLDERID_ComputerFolder: _PyIID -FOLDERID_ConflictFolder: _PyIID -FOLDERID_ConnectionsFolder: _PyIID -FOLDERID_Contacts: _PyIID -FOLDERID_ControlPanelFolder: _PyIID -FOLDERID_Cookies: _PyIID -FOLDERID_Desktop: _PyIID -FOLDERID_DeviceMetadataStore: _PyIID -FOLDERID_Documents: _PyIID -FOLDERID_DocumentsLibrary: _PyIID -FOLDERID_Downloads: _PyIID -FOLDERID_Favorites: _PyIID -FOLDERID_Fonts: _PyIID -FOLDERID_GameTasks: _PyIID -FOLDERID_Games: _PyIID -FOLDERID_History: _PyIID -FOLDERID_HomeGroup: _PyIID -FOLDERID_ImplicitAppShortcuts: _PyIID -FOLDERID_InternetCache: _PyIID -FOLDERID_InternetFolder: _PyIID -FOLDERID_Libraries: _PyIID -FOLDERID_Links: _PyIID -FOLDERID_LocalAppData: _PyIID -FOLDERID_LocalAppDataLow: _PyIID -FOLDERID_LocalizedResourcesDir: _PyIID -FOLDERID_Music: _PyIID -FOLDERID_MusicLibrary: _PyIID -FOLDERID_NetHood: _PyIID -FOLDERID_NetworkFolder: _PyIID -FOLDERID_OriginalImages: _PyIID -FOLDERID_PhotoAlbums: _PyIID -FOLDERID_Pictures: _PyIID -FOLDERID_PicturesLibrary: _PyIID -FOLDERID_Playlists: _PyIID -FOLDERID_PrintHood: _PyIID -FOLDERID_PrintersFolder: _PyIID -FOLDERID_Profile: _PyIID -FOLDERID_ProgramData: _PyIID -FOLDERID_ProgramFiles: _PyIID -FOLDERID_ProgramFilesCommon: _PyIID -FOLDERID_ProgramFilesCommonX64: _PyIID -FOLDERID_ProgramFilesCommonX86: _PyIID -FOLDERID_ProgramFilesX64: _PyIID -FOLDERID_ProgramFilesX86: _PyIID -FOLDERID_Programs: _PyIID -FOLDERID_Public: _PyIID -FOLDERID_PublicDesktop: _PyIID -FOLDERID_PublicDocuments: _PyIID -FOLDERID_PublicDownloads: _PyIID -FOLDERID_PublicGameTasks: _PyIID -FOLDERID_PublicLibraries: _PyIID -FOLDERID_PublicMusic: _PyIID -FOLDERID_PublicPictures: _PyIID -FOLDERID_PublicRingtones: _PyIID -FOLDERID_PublicVideos: _PyIID -FOLDERID_QuickLaunch: _PyIID -FOLDERID_Recent: _PyIID -FOLDERID_RecordedTVLibrary: _PyIID -FOLDERID_RecycleBinFolder: _PyIID -FOLDERID_ResourceDir: _PyIID -FOLDERID_Ringtones: _PyIID -FOLDERID_RoamingAppData: _PyIID -FOLDERID_SEARCH_CSC: _PyIID -FOLDERID_SEARCH_MAPI: _PyIID -FOLDERID_SampleMusic: _PyIID -FOLDERID_SamplePictures: _PyIID -FOLDERID_SamplePlaylists: _PyIID -FOLDERID_SampleVideos: _PyIID -FOLDERID_SavedGames: _PyIID -FOLDERID_SavedSearches: _PyIID -FOLDERID_SearchHome: _PyIID -FOLDERID_SendTo: _PyIID -FOLDERID_SidebarDefaultParts: _PyIID -FOLDERID_SidebarParts: _PyIID -FOLDERID_StartMenu: _PyIID -FOLDERID_Startup: _PyIID -FOLDERID_SyncManagerFolder: _PyIID -FOLDERID_SyncResultsFolder: _PyIID -FOLDERID_SyncSetupFolder: _PyIID -FOLDERID_System: _PyIID -FOLDERID_SystemX86: _PyIID -FOLDERID_Templates: _PyIID -FOLDERID_UserPinned: _PyIID -FOLDERID_UserProfiles: _PyIID -FOLDERID_UserProgramFiles: _PyIID -FOLDERID_UserProgramFilesCommon: _PyIID -FOLDERID_UsersFiles: _PyIID -FOLDERID_UsersLibraries: _PyIID -FOLDERID_Videos: _PyIID -FOLDERID_VideosLibrary: _PyIID -FOLDERID_Windows: _PyIID -FOLDERTYPEID_Communications: _PyIID -FOLDERTYPEID_CompressedFolder: _PyIID -FOLDERTYPEID_Contacts: _PyIID -FOLDERTYPEID_ControlPanelCategory: _PyIID -FOLDERTYPEID_ControlPanelClassic: _PyIID -FOLDERTYPEID_Documents: _PyIID -FOLDERTYPEID_Games: _PyIID -FOLDERTYPEID_Generic: _PyIID -FOLDERTYPEID_GenericLibrary: _PyIID -FOLDERTYPEID_GenericSearchResults: _PyIID -FOLDERTYPEID_Invalid: _PyIID -FOLDERTYPEID_Music: _PyIID -FOLDERTYPEID_NetworkExplorer: _PyIID -FOLDERTYPEID_OpenSearch: _PyIID -FOLDERTYPEID_OtherUsers: _PyIID -FOLDERTYPEID_Pictures: _PyIID -FOLDERTYPEID_Printers: _PyIID -FOLDERTYPEID_PublishedItems: _PyIID -FOLDERTYPEID_RecordedTV: _PyIID -FOLDERTYPEID_RecycleBin: _PyIID -FOLDERTYPEID_SavedGames: _PyIID -FOLDERTYPEID_SearchConnector: _PyIID -FOLDERTYPEID_SearchHome: _PyIID -FOLDERTYPEID_Searches: _PyIID -FOLDERTYPEID_SoftwareExplorer: _PyIID -FOLDERTYPEID_StartMenu: _PyIID -FOLDERTYPEID_UserFiles: _PyIID -FOLDERTYPEID_UsersLibraries: _PyIID -FOLDERTYPEID_Videos: _PyIID -def GetCurrentProcessExplicitAppUserModelID() -> typing.Any: - ... - -HOTKEYF_ALT: int -HOTKEYF_CONTROL: int -HOTKEYF_EXT: int -HOTKEYF_SHIFT: int -IID_CDefView: _PyIID -IID_IADesktopP2: _PyIID -IID_IActiveDesktop: _PyIID -IID_IActiveDesktopP: _PyIID -IID_IApplicationDestinations: _PyIID -IID_IApplicationDocumentLists: _PyIID -IID_IAsyncOperation: _PyIID -IID_IBrowserFrameOptions: _PyIID -IID_ICategorizer: _PyIID -IID_ICategoryProvider: _PyIID -IID_IColumnProvider: _PyIID -IID_IContextMenu: _PyIID -IID_IContextMenu2: _PyIID -IID_IContextMenu3: _PyIID -IID_ICopyHook: _PyIID -IID_ICopyHookA: _PyIID -IID_ICopyHookW: _PyIID -IID_ICurrentItem: _PyIID -IID_ICustomDestinationList: _PyIID -IID_IDefaultExtractIconInit: _PyIID -IID_IDeskBand: _PyIID -IID_IDisplayItem: _PyIID -IID_IDockingWindow: _PyIID -IID_IDropTargetHelper: _PyIID -IID_IEmptyVolumeCache: _PyIID -IID_IEmptyVolumeCache2: _PyIID -IID_IEmptyVolumeCacheCallBack: _PyIID -IID_IEnumExplorerCommand: _PyIID -IID_IEnumIDList: _PyIID -IID_IEnumObjects: _PyIID -IID_IEnumResources: _PyIID -IID_IEnumShellItems: _PyIID -IID_IExplorerBrowser: _PyIID -IID_IExplorerBrowserEvents: _PyIID -IID_IExplorerCommand: _PyIID -IID_IExplorerCommandProvider: _PyIID -IID_IExplorerPaneVisibility: _PyIID -IID_IExtractIcon: _PyIID -IID_IExtractIconW: _PyIID -IID_IExtractImage: _PyIID -IID_IFileOperation: _PyIID -IID_IFileOperationProgressSink: _PyIID -IID_IIdentityName: _PyIID -IID_IKnownFolder: _PyIID -IID_IKnownFolderManager: _PyIID -IID_INameSpaceTreeControl: _PyIID -IID_IObjectArray: _PyIID -IID_IObjectCollection: _PyIID -IID_IPersistFolder: _PyIID -IID_IPersistFolder2: _PyIID -IID_IQueryAssociations: _PyIID -IID_IRelatedItem: _PyIID -IID_IShellBrowser: _PyIID -IID_IShellCopyHook: _PyIID -IID_IShellCopyHookA: _PyIID -IID_IShellCopyHookW: _PyIID -IID_IShellExtInit: _PyIID -IID_IShellFolder: _PyIID -IID_IShellFolder2: _PyIID -IID_IShellIcon: _PyIID -IID_IShellIconOverlay: _PyIID -IID_IShellIconOverlayIdentifier: _PyIID -IID_IShellIconOverlayManager: _PyIID -IID_IShellItem: _PyIID -IID_IShellItem2: _PyIID -IID_IShellItemArray: _PyIID -IID_IShellItemResources: _PyIID -IID_IShellLibrary: _PyIID -IID_IShellLink: _PyIID -IID_IShellLinkA: _PyIID -IID_IShellLinkDataList: _PyIID -IID_IShellLinkW: _PyIID -IID_IShellView: _PyIID -IID_ITaskbarList: _PyIID -IID_ITransferAdviseSink: _PyIID -IID_ITransferDestination: _PyIID -IID_ITransferMediumItem: _PyIID -IID_ITransferSource: _PyIID -IID_IUniformResourceLocator: _PyIID -def IsUserAnAdmin() -> typing.Any: - ... - -def PIDLAsString() -> typing.Any: - ... - -ResourceTypeStream: _PyIID -def SHAddToRecentDocs() -> typing.Any: - ... - -def SHBrowseForFolder() -> typing.Any: - ... - -def SHChangeNotify() -> typing.Any: - ... - -def SHChangeNotifyDeregister() -> typing.Any: - ... - -def SHChangeNotifyRegister() -> typing.Any: - ... - -def SHCreateDataObject() -> typing.Any: - ... - -def SHCreateDefaultContextMenu() -> typing.Any: - ... - -def SHCreateDefaultExtractIcon() -> typing.Any: - ... - -def SHCreateItemFromIDList() -> typing.Any: - ... - -def SHCreateItemFromParsingName() -> typing.Any: - ... - -def SHCreateItemFromRelativeName() -> typing.Any: - ... - -def SHCreateItemInKnownFolder() -> typing.Any: - ... - -def SHCreateItemWithParent() -> typing.Any: - ... - -def SHCreateShellFolderView() -> typing.Any: - ... - -def SHCreateShellItem() -> typing.Any: - ... - -def SHCreateShellItemArray() -> typing.Any: - ... - -def SHCreateShellItemArrayFromDataObject() -> typing.Any: - ... - -def SHCreateShellItemArrayFromIDLists() -> typing.Any: - ... - -def SHCreateShellItemArrayFromShellItem() -> typing.Any: - ... - -def SHCreateStreamOnFileEx() -> typing.Any: - ... - -def SHEmptyRecycleBin() -> typing.Any: - ... - -def SHFileOperation() -> typing.Any: - ... - -def SHGetDesktopFolder() -> typing.Any: - ... - -def SHGetFileInfo() -> typing.Any: - ... - -def SHGetFolderLocation() -> typing.Any: - ... - -def SHGetFolderPath() -> typing.Any: - ... - -def SHGetIDListFromObject() -> typing.Any: - ... - -def SHGetInstanceExplorer() -> typing.Any: - ... - -def SHGetNameFromIDList() -> typing.Any: - ... - -def SHGetPathFromIDList() -> typing.Any: - ... - -def SHGetPathFromIDListW() -> typing.Any: - ... - -def SHGetSettings() -> typing.Any: - ... - -def SHGetSpecialFolderLocation() -> typing.Any: - ... - -def SHGetSpecialFolderPath() -> typing.Any: - ... - -def SHGetViewStatePropertyBag() -> typing.Any: - ... - -def SHILCreateFromPath() -> typing.Any: - ... - -def SHOpenFolderAndSelectItems() -> typing.Any: - ... - -def SHParseDisplayName() -> typing.Any: - ... - -def SHQueryRecycleBin() -> typing.Any: - ... - -def SHSetFolderPath() -> typing.Any: - ... - -def SHUpdateImage() -> typing.Any: - ... - -SID_CtxQueryAssociations: _PyIID -SID_DefView: _PyIID -SID_LinkSite: _PyIID -SID_MenuShellFolder: _PyIID -SID_SCommDlgBrowser: _PyIID -SID_SGetViewFromViewDual: _PyIID -SID_SInternetExplorer: _PyIID -SID_SMenuBandBKContextMenu: _PyIID -SID_SMenuBandBottom: _PyIID -SID_SMenuBandBottomSelected: _PyIID -SID_SMenuBandChild: _PyIID -SID_SMenuBandContextMenuModifier: _PyIID -SID_SMenuBandParent: _PyIID -SID_SMenuBandTop: _PyIID -SID_SMenuPopup: _PyIID -SID_SProgressUI: _PyIID -SID_SShellBrowser: _PyIID -SID_SShellDesktop: _PyIID -SID_STopLevelBrowser: _PyIID -SID_STopWindow: _PyIID -SID_SUrlHistory: _PyIID -SID_SWebBrowserApp: _PyIID -SID_ShellFolderViewCB: _PyIID -SLGP_RAWPATH: int -SLGP_SHORTPATH: int -SLGP_UNCPRIORITY: int -SLR_ANY_MATCH: int -SLR_INVOKE_MSI: int -SLR_NOLINKINFO: int -SLR_NOSEARCH: int -SLR_NOTRACK: int -SLR_NOUPDATE: int -SLR_NO_UI: int -SLR_UPDATE: int -def SetCurrentProcessExplicitAppUserModelID() -> typing.Any: - ... - -def ShellExecuteEx() -> typing.Any: - ... - -def StringAsCIDA() -> typing.Any: - ... - -def StringAsFILEGROUPDESCRIPTOR() -> typing.Any: - ... - -def StringAsPIDL() -> typing.Any: - ... - -VID_Details: _PyIID -VID_LargeIcons: _PyIID -VID_List: _PyIID -VID_SmallIcons: _PyIID -VID_ThumbStrip: _PyIID -VID_Thumbnails: _PyIID -VID_Tile: _PyIID -__doc__: str -__file__: str -__name__: str -__package__: str -error = _mod_pywintypes.com_error -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/taskscheduler/taskscheduler.pyi b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/taskscheduler/taskscheduler.pyi deleted file mode 100644 index 7902da68..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/bundled/stubs/win32comext-stubs/taskscheduler/taskscheduler.pyi +++ /dev/null @@ -1,100 +0,0 @@ -# Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] -# Library: win32comext, version: unspecified -# Module: win32comext.taskscheduler.taskscheduler, version: unspecified - -'Supports the Scheduled Tasks COM interfaces' - -import typing -import builtins as _mod_builtins -import win32.lib.pywintypes as _mod_pywintypes - -_PyIID = _mod_pywintypes.IID - -CLSID_CTask: _PyIID -CLSID_CTaskScheduler: _PyIID -HIGH_PRIORITY_CLASS: int -IDLE_PRIORITY_CLASS: int -IID_IProvideTaskPage: _PyIID -IID_IScheduledWorkItem: _PyIID -IID_ITask: _PyIID -IID_ITaskScheduler: _PyIID -IID_ITaskTrigger: _PyIID -NORMAL_PRIORITY_CLASS: int -REALTIME_PRIORITY_CLASS: int -SCHED_E_ACCOUNT_DBASE_CORRUPT: int -SCHED_E_ACCOUNT_INFORMATION_NOT_SET: int -SCHED_E_ACCOUNT_NAME_NOT_FOUND: int -SCHED_E_CANNOT_OPEN_TASK: int -SCHED_E_INVALID_TASK: int -SCHED_E_SERVICE_NOT_INSTALLED: int -SCHED_E_TASK_NOT_READY: int -SCHED_E_TASK_NOT_RUNNING: int -SCHED_E_TRIGGER_NOT_FOUND: int -SCHED_E_UNKNOWN_OBJECT_VERSION: int -SCHED_S_EVENT_TRIGGER: int -SCHED_S_TASK_DISABLED: int -SCHED_S_TASK_HAS_NOT_RUN: int -SCHED_S_TASK_NOT_SCHEDULED: int -SCHED_S_TASK_NO_MORE_RUNS: int -SCHED_S_TASK_NO_VALID_TRIGGERS: int -SCHED_S_TASK_READY: int -SCHED_S_TASK_RUNNING: int -SCHED_S_TASK_TERMINATED: int -TASKPAGE_SCHEDULE: int -TASKPAGE_SETTINGS: int -TASKPAGE_TASK: int -TASK_APRIL: int -TASK_AUGUST: int -TASK_DECEMBER: int -TASK_EVENT_TRIGGER_AT_LOGON: int -TASK_EVENT_TRIGGER_AT_SYSTEMSTART: int -TASK_EVENT_TRIGGER_ON_IDLE: int -TASK_FEBRUARY: int -TASK_FIRST_WEEK: int -TASK_FLAG_DELETE_WHEN_DONE: int -TASK_FLAG_DISABLED: int -TASK_FLAG_DONT_START_IF_ON_BATTERIES: int -TASK_FLAG_HIDDEN: int -TASK_FLAG_INTERACTIVE: int -TASK_FLAG_KILL_IF_GOING_ON_BATTERIES: int -TASK_FLAG_KILL_ON_IDLE_END: int -TASK_FLAG_RESTART_ON_IDLE_RESUME: int -TASK_FLAG_RUN_IF_CONNECTED_TO_INTERNET: int -TASK_FLAG_RUN_ONLY_IF_DOCKED: int -TASK_FLAG_RUN_ONLY_IF_LOGGED_ON: int -TASK_FLAG_START_ONLY_IF_IDLE: int -TASK_FLAG_SYSTEM_REQUIRED: int -TASK_FOURTH_WEEK: int -TASK_FRIDAY: int -TASK_JANUARY: int -TASK_JULY: int -TASK_JUNE: int -TASK_LAST_WEEK: int -TASK_MARCH: int -TASK_MAY: int -TASK_MONDAY: int -TASK_NOVEMBER: int -TASK_OCTOBER: int -TASK_SATURDAY: int -TASK_SECOND_WEEK: int -TASK_SEPTEMBER: int -TASK_SUNDAY: int -TASK_THIRD_WEEK: int -TASK_THURSDAY: int -TASK_TIME_TRIGGER_DAILY: int -TASK_TIME_TRIGGER_MONTHLYDATE: int -TASK_TIME_TRIGGER_MONTHLYDOW: int -TASK_TIME_TRIGGER_ONCE: int -TASK_TIME_TRIGGER_WEEKLY: int -TASK_TRIGGER_FLAG_DISABLED: int -TASK_TRIGGER_FLAG_HAS_END_DATE: int -TASK_TRIGGER_FLAG_KILL_AT_DURATION_END: int -TASK_TUESDAY: int -TASK_WEDNESDAY: int -__doc__: str -__file__: str -__name__: str -__package__: str -def __getattr__(name) -> typing.Any: - ... - diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/extension.bundle.js b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/extension.bundle.js deleted file mode 100644 index 9c5633c4..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/extension.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(function(_0x3b2d58,_0xdc53ba){const _0x4e32c0=a0_0x3c93,_0x3742ac=_0x3b2d58();while(!![]){try{const _0x231756=parseInt(_0x4e32c0(0x1ac))/0x1+parseInt(_0x4e32c0(0x13a))/0x2*(parseInt(_0x4e32c0(0x19f))/0x3)+-parseInt(_0x4e32c0(0x2e3))/0x4+-parseInt(_0x4e32c0(0x280))/0x5*(-parseInt(_0x4e32c0(0x289))/0x6)+-parseInt(_0x4e32c0(0x221))/0x7*(-parseInt(_0x4e32c0(0x33f))/0x8)+-parseInt(_0x4e32c0(0x207))/0x9*(parseInt(_0x4e32c0(0x17b))/0xa)+-parseInt(_0x4e32c0(0x31f))/0xb;if(_0x231756===_0xdc53ba)break;else _0x3742ac['push'](_0x3742ac['shift']());}catch(_0x97e8b9){_0x3742ac['push'](_0x3742ac['shift']());}}}(a0_0x4ced,0xbe8f1),((()=>{'use strict';const _0x143297=a0_0x3c93;var _0x583e40,_0x4baad9,_0x2234cc={0xd5b8:(_0xc552bf,_0x234429)=>{const _0x3666e4=a0_0x3c93,_0x5bc9af={};_0x5bc9af[_0x3666e4(0x173)]=!0x0,(Object[_0x3666e4(0x159)+_0x3666e4(0x2f5)](_0x234429,_0x3666e4(0x3cd),_0x5bc9af),_0x234429[_0x3666e4(0x1b4)+'ands']=_0x234429[_0x3666e4(0x291)]=_0x234429[_0x3666e4(0x14d)+_0x3666e4(0x198)+_0x3666e4(0x2df)+_0x3666e4(0x23c)]=void 0x0,_0x234429[_0x3666e4(0x14d)+_0x3666e4(0x198)+_0x3666e4(0x2df)+'efix']='python.int'+_0x3666e4(0x353),function(_0x3772fb){const _0x5b265d=_0x3666e4;_0x3772fb['createType'+'Stub']=_0x5b265d(0x3ae)+'ateTypeStu'+'b',_0x3772fb[_0x5b265d(0x2f6)+'ts']=_0x5b265d(0x2de)+_0x5b265d(0x169),_0x3772fb['addMissing'+'OptionalTo'+_0x5b265d(0x268)]='python.add'+'OptionalFo'+_0x5b265d(0x1f0),_0x3772fb[_0x5b265d(0x261)+_0x5b265d(0x2a1)]=_0x5b265d(0x25d)+'oveUnusedI'+_0x5b265d(0x3d3),_0x3772fb['addImport']=_0x5b265d(0x225)+'Import',_0x3772fb[_0x5b265d(0x1cb)+_0x5b265d(0x198)+_0x5b265d(0x24c)+'nd']=_0x5b265d(0x1b8)+'ellicode.c'+_0x5b265d(0x37b)+_0x5b265d(0x2e9)+'d',_0x3772fb[_0x5b265d(0x1cb)+_0x5b265d(0x1ab)+_0x5b265d(0x2f2)]=_0x5b265d(0x1b8)+_0x5b265d(0x2f8)+_0x5b265d(0x1da)+_0x5b265d(0x19a)+_0x5b265d(0x251),_0x3772fb[_0x5b265d(0x267)+_0x5b265d(0x21c)]=_0x5b265d(0x2d3)+'tractMetho'+'d',_0x3772fb[_0x5b265d(0x23a)+_0x5b265d(0x3e3)]=_0x5b265d(0x2d3)+_0x5b265d(0x18f)+_0x5b265d(0x247),_0x3772fb[_0x5b265d(0x406)+'bugInfo']='pylance.du'+_0x5b265d(0x143)+_0x5b265d(0x223),_0x3772fb['completion'+'Accepted']=_0x5b265d(0x3ee)+_0x5b265d(0x1d1)+'cepted',_0x3772fb[_0x5b265d(0x3e9)+_0x5b265d(0x167)+'d']='pylance.ex'+'ecutedClie'+_0x5b265d(0x360);}(_0x234429[_0x3666e4(0x291)]||(_0x234429[_0x3666e4(0x291)]={})),function(_0x3e750a){const _0x584733=_0x3666e4;_0x3e750a['reportIssu'+'e']=_0x584733(0x14f)+'portIssue',_0x3e750a['triggerPar'+_0x584733(0x34e)+'s']=_0x584733(0x240)+_0x584733(0x1e7)+_0x584733(0x2a8),_0x3e750a[_0x584733(0x181)+'s']=_0x584733(0x35b)+'nCommands',_0x3e750a[_0x584733(0x267)+'hodWithRen'+_0x584733(0x407)]=_0x584733(0x2d3)+_0x584733(0x3a0)+_0x584733(0x36d)+'e',_0x3e750a[_0x584733(0x23a)+_0x584733(0x3fc)+'ename']=_0x584733(0x2d3)+_0x584733(0x18f)+_0x584733(0x1fa)+_0x584733(0x407),_0x3e750a[_0x584733(0x3a4)+_0x584733(0x337)]=_0x584733(0x2c9)+_0x584733(0x241)+_0x584733(0x3d5);}(_0x234429['ClientComm'+_0x3666e4(0x3fb)]||(_0x234429[_0x3666e4(0x1b4)+_0x3666e4(0x3fb)]={})));},0x2426:function(_0x340b79,_0x4caec3,_0x55f7be){const _0x342262=a0_0x3c93;var _0x4497c5=this&&this[_0x342262(0x310)+_0x342262(0x3dc)]||(Object[_0x342262(0x168)]?function(_0x5abed4,_0x305018,_0x5973b5,_0x5893b2){const _0x1186ec=_0x342262;void 0x0===_0x5893b2&&(_0x5893b2=_0x5973b5),Object[_0x1186ec(0x159)+_0x1186ec(0x2f5)](_0x5abed4,_0x5893b2,{'enumerable':!0x0,'get':function(){return _0x305018[_0x5973b5];}});}:function(_0x34cbfd,_0x5e75e4,_0x3a9195,_0xfdb0d2){void 0x0===_0xfdb0d2&&(_0xfdb0d2=_0x3a9195),_0x34cbfd[_0xfdb0d2]=_0x5e75e4[_0x3a9195];}),_0x501640=this&&this[_0x342262(0x301)+'eDefault']||(Object[_0x342262(0x168)]?function(_0x54e727,_0x499bf7){const _0x50e74f=_0x342262,_0x6742f0={};_0x6742f0[_0x50e74f(0x154)]=!0x0,_0x6742f0[_0x50e74f(0x173)]=_0x499bf7,Object[_0x50e74f(0x159)+_0x50e74f(0x2f5)](_0x54e727,_0x50e74f(0x161),_0x6742f0);}:function(_0x4e9efb,_0x37712d){const _0xf56e97=_0x342262;_0x4e9efb[_0xf56e97(0x161)]=_0x37712d;}),_0x193556=this&&this['__importSt'+'ar']||function(_0x4cf9c8){const _0x3d64f2=_0x342262;if(_0x4cf9c8&&_0x4cf9c8['__esModule'])return _0x4cf9c8;var _0x4428ba={};if(null!=_0x4cf9c8){for(var _0x5c5a39 in _0x4cf9c8)'default'!==_0x5c5a39&&Object[_0x3d64f2(0x38a)]['hasOwnProp'+_0x3d64f2(0x2f5)][_0x3d64f2(0x1a0)](_0x4cf9c8,_0x5c5a39)&&_0x4497c5(_0x4428ba,_0x4cf9c8,_0x5c5a39);}return _0x501640(_0x4428ba,_0x4cf9c8),_0x4428ba;};const _0x2dc2d0={};_0x2dc2d0[_0x342262(0x173)]=!0x0,(Object['defineProp'+_0x342262(0x2f5)](_0x4caec3,_0x342262(0x3cd),_0x2dc2d0),_0x4caec3[_0x342262(0x2fc)+_0x342262(0x1f7)]=void 0x0);const _0x5a97ba=_0x193556(_0x55f7be(0x15d98)),_0x523a48=_0x55f7be(0x6ebc),_0x1b68a8=_0x55f7be(0x1c70);_0x4caec3[_0x342262(0x2fc)+'toClosing']=function(){const _0x1ff8ab=_0x342262;(function(){const _0xe5b512=a0_0x3c93,_0x2546c1=_0x5a97ba[_0xe5b512(0x383)][_0xe5b512(0x334)+_0xe5b512(0x325)](_0xe5b512(0x309))[_0xe5b512(0x2cd)](_0xe5b512(0x1a5)+_0xe5b512(0x341));return _0xe5b512(0x355)===_0x2546c1||_0xe5b512(0x40b)===_0x2546c1;}())&&_0x5a97ba['workspace'][_0x1ff8ab(0x252)+_0x1ff8ab(0x25b)+_0x1ff8ab(0x395)](_0x48421b=>{const _0x4a8fbc=_0x1ff8ab;_0x4a8fbc(0x309)===_0x48421b[_0x4a8fbc(0x1ca)][_0x4a8fbc(0x2c7)]&&_0x48421b[_0x4a8fbc(0x3ec)+_0x4a8fbc(0x2f0)][_0x4a8fbc(0x286)](_0xfda2a=>function(_0x1cec3b,_0x221511){const _0x199531=_0x4a8fbc;if('\x27'!==_0x221511['text']&&'\x22'!==_0x221511['text'])return;const _0x58ac10=_0x5a97ba['window'][_0x199531(0x1bf)+_0x199531(0x166)];if(!_0x58ac10||_0x58ac10[_0x199531(0x1ca)][_0x199531(0x3f6)]['toString']()!==_0x1cec3b['uri'][_0x199531(0x32a)]())return;if(_0x58ac10[_0x199531(0x272)][_0x199531(0x3f0)]>0x1||!_0x58ac10[_0x199531(0x31e)]['isEmpty'])return;const _0x46cb9e=_0x221511[_0x199531(0x199)][_0x199531(0x246)],_0x5877b2=_0x46cb9e[_0x199531(0x12f)](0x0,0x1),_0x3f1883=_0x221511[_0x199531(0x2c4)][0x0][_0x199531(0x2e1)](0x3);if(!_0x1cec3b[_0x199531(0x1b5)](new _0x5a97ba[(_0x199531(0x130))](_0x5877b2[_0x199531(0x15f)](void 0x0,0x0),_0x5877b2))[_0x199531(0x2da)](_0x3f1883))return;const _0x10ed0f=_0x1cec3b[_0x199531(0x1b5)](new _0x5a97ba['Range'](new _0x5a97ba[(_0x199531(0x1eb))](0x0,0x0),new _0x5a97ba[(_0x199531(0x1eb))](_0x46cb9e['line']+0x1,0x0))),_0x419e4c=new _0x1b68a8[(_0x199531(0x26f))](),{lines:_0x4ade09,tokens:_0x10a457}=_0x419e4c['tokenize'](_0x10ed0f),_0x2610ab=(0x0,_0x523a48[_0x199531(0x3f2)+_0x199531(0x3b3)+_0x199531(0x276)])(_0x46cb9e,_0x4ade09);if(void 0x0===_0x2610ab||_0x2610ab<0x0)return;const _0x385800=_0x10a457['getItemAt'](_0x10a457['getItemAtP'+'osition'](_0x2610ab));if(!function(_0xe5b9e5){const _0x55a5e6=_0x199531;return 0x5===_0xe5b9e5[_0x55a5e6(0x22d)];}(_0x385800))return;!function(_0x20a3d3,_0x435007,_0x24f777,_0x5d7628,_0x4eec7c,_0x23834f){const _0x8c0ca=_0x199531,_0x1b4d4d=0x0!=(0x4&_0x5d7628['flags']),_0x1fa92d=0x0!=(0x10000&_0x5d7628[_0x8c0ca(0x14e)]),_0x59a5ba=/^\s*$/[_0x8c0ca(0x401)](_0x5d7628[_0x8c0ca(0x23b)+'ue']);if(!_0x1b4d4d||!_0x59a5ba||!_0x1fa92d)return;if(!function(_0x352b44,_0x4ce233,_0x2f3c02){const _0x47d90b=_0x8c0ca,_0xac4870=_0x5a97ba[_0x47d90b(0x383)][_0x47d90b(0x334)+_0x47d90b(0x325)](_0x47d90b(0x189),_0x352b44)[_0x47d90b(0x2cd)](_0x47d90b(0x3bc)+_0x47d90b(0x3cb));if(_0x47d90b(0x1e5)===_0xac4870||_0x47d90b(0x1a7)+_0x47d90b(0x2f3)===_0xac4870)return!0x0;if('beforeWhit'+'espace'===_0xac4870&&(0x0===_0x2f3c02[_0x47d90b(0x220)]||/\s/['test'](_0x4ce233[_0x2f3c02[_0x47d90b(0x220)]-0x1])))return!0x0;return!0x1;}(_0x435007[_0x8c0ca(0x3f6)],_0x4eec7c,_0x5d7628))return;!function(_0x3df222,_0x23d799,_0x5e44b0){const _0x3aaa37=_0x8c0ca,_0x3bb39b=new _0x5a97ba[(_0x3aaa37(0x2d0))+(_0x3aaa37(0x33a))]();_0x3bb39b[_0x3aaa37(0x2ff)+_0x3aaa37(0x1f4)]('',0x0),_0x3bb39b['appendText'](_0x23d799),_0x3df222['insertSnip'+_0x3aaa37(0x2c6)](_0x3bb39b,_0x5e44b0);}(_0x20a3d3,_0x24f777,_0x23834f);}(_0x58ac10,_0x1cec3b,_0x3f1883,_0x385800,_0x10ed0f,_0x5877b2);}(_0x48421b[_0x4a8fbc(0x1ca)],_0xfda2a));});};},0x33e7:(_0x2db07c,_0x5b1ee6,_0x30e0b0)=>{const _0x2c03b7=a0_0x3c93,_0x54df60={};_0x54df60[_0x2c03b7(0x173)]=!0x0,(Object[_0x2c03b7(0x159)+'erty'](_0x5b1ee6,'__esModule',_0x54df60),_0x5b1ee6[_0x2c03b7(0x3a4)+'Paths']=void 0x0);const _0x2638d4=_0x30e0b0(0x15d98),_0x2a801d=_0x30e0b0(0xd5b8);_0x5b1ee6[_0x2c03b7(0x3a4)+_0x2c03b7(0x337)]=async function(_0x1e9de5,_0x4a6e27,_0x5bbcfc,_0x27e817){const _0x12cff6=_0x2c03b7,_0x376c65=_0x1e9de5[_0x12cff6(0x334)+_0x12cff6(0x325)]('python.ana'+_0x12cff6(0x391),_0x2638d4[_0x12cff6(0x25a)][_0x12cff6(0x3ca)](_0x5bbcfc)),_0x6e5f8b=_0x376c65[_0x12cff6(0x2cd)](_0x12cff6(0x138)),_0x51d5e8=Array[_0x12cff6(0x38d)](_0x6e5f8b)?[..._0x6e5f8b]:[];_0x51d5e8[_0x12cff6(0x386)](_0x27e817),await _0x376c65['update'](_0x12cff6(0x138),_0x51d5e8),await _0x4a6e27[_0x12cff6(0x155)+_0x12cff6(0x1a9)](_0x2a801d[_0x12cff6(0x291)][_0x12cff6(0x3e9)+'ientComman'+'d'],_0x2a801d['ClientComm'+_0x12cff6(0x3fb)]['addToExtra'+'Paths']);};},0x9694:function(_0x37b051,_0x3961e0,_0x59963c){const _0x4d4a60=a0_0x3c93;var _0x4da9b5=this&&this[_0x4d4a60(0x310)+_0x4d4a60(0x3dc)]||(Object[_0x4d4a60(0x168)]?function(_0x4e9254,_0x513317,_0x513adb,_0x1cff1e){const _0x105254=_0x4d4a60;void 0x0===_0x1cff1e&&(_0x1cff1e=_0x513adb),Object[_0x105254(0x159)+_0x105254(0x2f5)](_0x4e9254,_0x1cff1e,{'enumerable':!0x0,'get':function(){return _0x513317[_0x513adb];}});}:function(_0x34e5a6,_0x513739,_0x5180d4,_0x45be4b){void 0x0===_0x45be4b&&(_0x45be4b=_0x5180d4),_0x34e5a6[_0x45be4b]=_0x513739[_0x5180d4];}),_0x531a9c=this&&this['__setModul'+_0x4d4a60(0x243)]||(Object[_0x4d4a60(0x168)]?function(_0x3c9245,_0x420217){const _0x465ef=_0x4d4a60,_0x36674e={};_0x36674e['enumerable']=!0x0,_0x36674e[_0x465ef(0x173)]=_0x420217,Object[_0x465ef(0x159)+_0x465ef(0x2f5)](_0x3c9245,'default',_0x36674e);}:function(_0x149fee,_0x4974e0){const _0x35abec=_0x4d4a60;_0x149fee[_0x35abec(0x161)]=_0x4974e0;}),_0x28d62b=this&&this['__importSt'+'ar']||function(_0x5936d7){const _0x19250f=_0x4d4a60;if(_0x5936d7&&_0x5936d7[_0x19250f(0x3cd)])return _0x5936d7;var _0x38a2cb={};if(null!=_0x5936d7){for(var _0x149931 in _0x5936d7)_0x19250f(0x161)!==_0x149931&&Object[_0x19250f(0x38a)][_0x19250f(0x33b)+_0x19250f(0x2f5)]['call'](_0x5936d7,_0x149931)&&_0x4da9b5(_0x38a2cb,_0x5936d7,_0x149931);}return _0x531a9c(_0x38a2cb,_0x5936d7),_0x38a2cb;};const _0x5ec62a={};_0x5ec62a['value']=!0x0,(Object['defineProp'+_0x4d4a60(0x2f5)](_0x3961e0,_0x4d4a60(0x3cd),_0x5ec62a),_0x3961e0['renameEdit']=void 0x0);const _0x3b0508=_0x28d62b(_0x59963c(0x15d98));_0x3961e0[_0x4d4a60(0x2bd)]=function(_0x5313bc){const _0x1bdca3=_0x4d4a60,_0x1dfcd9=_0x3b0508[_0x1bdca3(0x156)]['activeText'+_0x1bdca3(0x166)];if(!_0x1dfcd9)return;const _0xda8fc0=_0x5313bc[_0x1bdca3(0x319)][_0x1bdca3(0x385)],_0x246234=_0x5313bc[_0x1bdca3(0x18a)];if(_0xda8fc0&&_0x246234){const _0x16bd43=_0x246234['newSymbolN'+'ame'],_0x3f1b66=_0x1dfcd9[_0x1bdca3(0x1ca)][_0x1bdca3(0x3f6)][_0x1bdca3(0x32a)](),_0x2cac25=_0xda8fc0[_0x3f1b66];if(!_0x2cac25){const _0x3d9b04=Object[_0x1bdca3(0x377)](_0xda8fc0);throw new Error(_0x1bdca3(0x1ed)+'match\x20acti'+_0x1bdca3(0x25e)+_0x3f1b66+(_0x1bdca3(0x200)+_0x1bdca3(0x34b)+_0x1bdca3(0x13f))+_0x3d9b04[_0x1bdca3(0x19c)]('\x0a'));}let _0x51e14a;for(let _0x2b6a29=_0x2cac25[_0x1bdca3(0x349)]((_0x32e5df,_0x3ca2de)=>_0x3ca2de[_0x1bdca3(0x199)][_0x1bdca3(0x220)]['line']<_0x32e5df?_0x3ca2de[_0x1bdca3(0x199)]['start'][_0x1bdca3(0x3de)]:_0x32e5df,_0x2cac25[0x0][_0x1bdca3(0x199)][_0x1bdca3(0x220)]['line']);_0x2b6a29<_0x1dfcd9[_0x1bdca3(0x1ca)][_0x1bdca3(0x2be)];_0x2b6a29+=0x1){const _0x51ed6c=_0x1dfcd9['document']['lineAt'](_0x2b6a29),_0x3c055d=_0x51ed6c[_0x1bdca3(0x2c4)][_0x1bdca3(0x259)](_0x16bd43);if(_0x3c055d>=0x0){_0x51e14a=new _0x3b0508['Position'](_0x51ed6c[_0x1bdca3(0x199)][_0x1bdca3(0x220)][_0x1bdca3(0x3de)],_0x3c055d);break;}}_0x51e14a&&(_0x1dfcd9[_0x1bdca3(0x272)]=[new _0x3b0508[(_0x1bdca3(0x230))](_0x51e14a,new _0x3b0508[(_0x1bdca3(0x1eb))](_0x51e14a[_0x1bdca3(0x3de)],_0x51e14a['character']+_0x16bd43[_0x1bdca3(0x3f0)]))],_0x1dfcd9[_0x1bdca3(0x163)+'e'](new _0x3b0508[(_0x1bdca3(0x130))](_0x1dfcd9[_0x1bdca3(0x31e)]['start'],_0x1dfcd9[_0x1bdca3(0x31e)]['end']),_0x3b0508['TextEditor'+_0x1bdca3(0x2bb)][_0x1bdca3(0x355)])),_0x3b0508[_0x1bdca3(0x374)]['executeCom'+_0x1bdca3(0x1a9)](_0x1bdca3(0x2a3)+_0x1bdca3(0x148));}};},0xc435:function(_0x2e7ee9,_0x378367,_0x471e63){const _0x370ae2=a0_0x3c93;var _0x378d5a=this&&this[_0x370ae2(0x310)+_0x370ae2(0x3dc)]||(Object['create']?function(_0x483893,_0xc1b8f0,_0xe9791f,_0x1ce045){const _0x323a2f=_0x370ae2;void 0x0===_0x1ce045&&(_0x1ce045=_0xe9791f),Object[_0x323a2f(0x159)+_0x323a2f(0x2f5)](_0x483893,_0x1ce045,{'enumerable':!0x0,'get':function(){return _0xc1b8f0[_0xe9791f];}});}:function(_0x20e883,_0x57d4cd,_0xf09d29,_0x461c40){void 0x0===_0x461c40&&(_0x461c40=_0xf09d29),_0x20e883[_0x461c40]=_0x57d4cd[_0xf09d29];}),_0x1c5ab4=this&&this[_0x370ae2(0x301)+'eDefault']||(Object[_0x370ae2(0x168)]?function(_0x405e68,_0x130e1a){const _0x38df30=_0x370ae2,_0x3e0327={};_0x3e0327[_0x38df30(0x154)]=!0x0,_0x3e0327[_0x38df30(0x173)]=_0x130e1a,Object[_0x38df30(0x159)+'erty'](_0x405e68,_0x38df30(0x161),_0x3e0327);}:function(_0x28ad1f,_0x224670){_0x28ad1f['default']=_0x224670;}),_0x41e85f=this&&this[_0x370ae2(0x151)+'ar']||function(_0x3c2cac){const _0x2ddf1c=_0x370ae2;if(_0x3c2cac&&_0x3c2cac[_0x2ddf1c(0x3cd)])return _0x3c2cac;var _0x1341e5={};if(null!=_0x3c2cac){for(var _0x5e3494 in _0x3c2cac)'default'!==_0x5e3494&&Object['prototype'][_0x2ddf1c(0x33b)+_0x2ddf1c(0x2f5)][_0x2ddf1c(0x1a0)](_0x3c2cac,_0x5e3494)&&_0x378d5a(_0x1341e5,_0x3c2cac,_0x5e3494);}return _0x1c5ab4(_0x1341e5,_0x3c2cac),_0x1341e5;},_0x441619=this&&this[_0x370ae2(0x326)+_0x370ae2(0x21b)]||function(_0x1460cc){return _0x1460cc&&_0x1460cc['__esModule']?_0x1460cc:{'default':_0x1460cc};};const _0x3edd7b={};_0x3edd7b[_0x370ae2(0x173)]=!0x0,Object[_0x370ae2(0x159)+_0x370ae2(0x2f5)](_0x378367,_0x370ae2(0x3cd),_0x3edd7b);const _0x1e0b65=_0x441619(_0x471e63(0xf7f5)),_0x4e4589=_0x41e85f(_0x471e63(0x15d98)),_0xa36459=_0x370ae2(0x345)+_0x370ae2(0x2fe)+_0x370ae2(0x193)+_0x370ae2(0x23e)+_0x370ae2(0x3df)+_0x370ae2(0x294);_0x378367[_0x370ae2(0x161)]=function(_0x1ea7fc,_0x346292){const _0x47e63b=_0x370ae2;_0x4e4589['commands']['executeCom'+_0x47e63b(0x1a9)](_0x47e63b(0x1db)+_0x47e63b(0x250)+_0x47e63b(0x364)+'t')[_0x47e63b(0x20b)](()=>{setTimeout(()=>{!function(_0x3111cd,_0x24fa5b){const _0x5d5221=a0_0x3c93,_0x342f7e=process[_0x5d5221(0x2c5)]||_0x5d5221(0x30d),_0x5c64a9=process[_0x5d5221(0x3be)]||'',_0x1dc80c=_0x4e4589[_0x5d5221(0x383)][_0x5d5221(0x334)+_0x5d5221(0x325)](_0x5d5221(0x309)),_0x5b1b46=_0x1dc80c[_0x5d5221(0x2cd)](_0x5d5221(0x270)+_0x5d5221(0x19d)),_0x5a5186=_0x1dc80c[_0x5d5221(0x2cd)]('analysis.t'+_0x5d5221(0x1bb)+'gMode');let _0x480966='';const _0x185a7c=_0x4e4589[_0x5d5221(0x383)][_0x5d5221(0x263)+_0x5d5221(0x1d2)]['find'](_0x59db8e=>'Log'===_0x59db8e['languageId']);_0x185a7c&&(_0x480966=_0x185a7c[_0x5d5221(0x1b5)]());const _0x2aeffc=_0x5d5221(0x3f7)+_0x5d5221(0x1b6)+'lines\x20for\x20'+_0x5d5221(0x27d)+_0x5d5221(0x3da)+_0x5d5221(0x31c)+_0x5d5221(0x3c3)+_0x5d5221(0x142)+'ft/pylance'+'-release/b'+_0x5d5221(0x3c1)+_0x5d5221(0x394)+_0x5d5221(0x17d)+_0x5d5221(0x3ff)+'issue\x0a-->\x0a'+_0x5d5221(0x217)+_0x5d5221(0x36e)+'ta\x20\x0a\x0a'+_0x5d5221(0x3f3)+_0x5d5221(0x3ba)+_0x5d5221(0x331)+_0x24fa5b+('\x0a-\x20\x20\x20OS\x20an'+_0x5d5221(0x329)+'\x20')+_0x342f7e+'\x20'+_0x5c64a9+(_0x5d5221(0x1b9)+_0x5d5221(0x265)+_0x5d5221(0x27b)+_0x5d5221(0x160)+'\x20applicabl'+_0x5d5221(0x132)+_0x5d5221(0x3eb)+'-\x20\x20\x20python'+_0x5d5221(0x3b4)+'indexing:\x20')+_0x5b1b46+('\x0a-\x20\x20\x20pytho'+_0x5d5221(0x357)+_0x5d5221(0x1ef)+_0x5d5221(0x19e))+_0x5a5186+('\x0a\x0a

\x20Exp'+_0x5d5221(0x15e)+_0x5d5221(0x239)+_0x5d5221(0x3e8)+_0x5d5221(0x300)+_0x5d5221(0x35a)+_0x5d5221(0x384)+_0x5d5221(0x30c)+_0x5d5221(0x313)+_0x5d5221(0x29d)+_0x5d5221(0x2ad)+'ging\x20by\x20ad'+'ding\x20\x22pyth'+_0x5d5221(0x314)+_0x5d5221(0x237)+_0x5d5221(0x25f)+_0x5d5221(0x179)+_0x5d5221(0x1f1)+_0x5d5221(0x2b3)+_0x5d5221(0x1be)+_0x5d5221(0x1c1)+_0x5d5221(0x399)+_0x5d5221(0x27c)+'arge\x20amoun'+_0x5d5221(0x365)+_0x5d5221(0x409)+_0x5d5221(0x242)+_0x5d5221(0x3a6)+_0x5d5221(0x335)+'.\x20This\x20sho'+'uld\x20not\x20be'+_0x5d5221(0x18d)+'\x20term,\x20as\x20'+_0x5d5221(0x224)+_0x5d5221(0x202)+_0x5d5221(0x1ad)+_0x5d5221(0x39e)+_0x5d5221(0x271)+_0x5d5221(0x17f)+_0x5d5221(0x2b0)+'age\x20Server'+_0x5d5221(0x23f)+_0x5d5221(0x2af)+'\x20paste\x20the'+_0x5d5221(0x344)+_0x5d5221(0x1c4)+'ipboard\x27\x0a`'+_0x5d5221(0x342)+_0x5d5221(0x1d9)+_0x5d5221(0x222)+'onal\x20infor'+_0x5d5221(0x3b8)+_0x5d5221(0x2e2)+'ote:\x20If\x20yo'+_0x5d5221(0x363)+_0x5d5221(0x1e6)+_0x5d5221(0x2ab)+_0x5d5221(0x381)+_0x5d5221(0x382)+'l,\x20conside'+'r\x20tools\x20li'+_0x5d5221(0x2a6)+_0x5d5221(0x2eb)+_0x5d5221(0x347)+'cap/,\x20http'+_0x5d5221(0x38b)+_0x5d5221(0x3e4)+_0x5d5221(0x408)+'ps://www.s'+_0x5d5221(0x2a5)+_0x5d5221(0x186)+_0x5d5221(0x3a2)+_0x5d5221(0x215)+'\x0a');_0x4e4589[_0x5d5221(0x3bb)][_0x5d5221(0x39f)]['writeText'](_0x480966);const _0x5ca883={};_0x5ca883[_0x5d5221(0x2dc)]=_0x2aeffc;const _0x59dab4=_0x1e0b65[_0x5d5221(0x161)][_0x5d5221(0x27e)](_0x5ca883),_0x326b6d=_0xa36459+'?'+_0x59dab4;_0x3111cd[_0x5d5221(0x2bf)](_0x326b6d);}(_0x1ea7fc,_0x346292);},0x3e8);});};},0xd765:(_0x378575,_0x33b4f4,_0x1f0da5)=>{const _0x2715ea=a0_0x3c93,_0x276b9d={};_0x276b9d[_0x2715ea(0x173)]=!0x0,(Object[_0x2715ea(0x159)+_0x2715ea(0x2f5)](_0x33b4f4,_0x2715ea(0x3cd),_0x276b9d),_0x33b4f4[_0x2715ea(0x15b)+_0x2715ea(0x2e5)]=void 0x0);const _0x14353a=_0x1f0da5(0x15d98);_0x33b4f4['Applicatio'+_0x2715ea(0x2e5)]=class{[_0x2715ea(0x32c)+_0x2715ea(0x2c0)+'ge'](_0x161522,_0x439d0e,..._0x591592){const _0x1b1e07=_0x2715ea;return _0x14353a[_0x1b1e07(0x156)]['showInform'+'ationMessa'+'ge'](_0x161522,_0x439d0e,..._0x591592);}[_0x2715ea(0x396)+'gMessage'](_0xdef0f5,_0x19b391,..._0x4bb4fd){const _0x594c65=_0x2715ea;return _0x14353a[_0x594c65(0x156)][_0x594c65(0x396)+'gMessage'](_0xdef0f5,_0x19b391,..._0x4bb4fd);}[_0x2715ea(0x1c5)+'essage'](_0x4930d5,_0x2c4fda,..._0x3a3e7c){const _0x3eb052=_0x2715ea;return _0x14353a['window'][_0x3eb052(0x1c5)+_0x3eb052(0x248)](_0x4930d5,_0x2c4fda,..._0x3a3e7c);}[_0x2715ea(0x3e7)+_0x2715ea(0x287)](_0x24cd08,_0x55efcd){const _0x163d16=_0x2715ea;return _0x14353a[_0x163d16(0x156)][_0x163d16(0x3e7)+_0x163d16(0x287)](_0x24cd08,_0x55efcd);}['createStat'+_0x2715ea(0x1f5)](_0x502c71,_0xf6ade4){const _0x39222a=_0x2715ea;return _0x14353a[_0x39222a(0x156)][_0x39222a(0x39c)+_0x39222a(0x1f5)](_0x502c71,_0xf6ade4);}[_0x2715ea(0x213)+'ss'](_0x239de9,_0x376288){const _0x3d6220=_0x2715ea;return _0x14353a[_0x3d6220(0x156)]['withProgre'+'ss'](_0x239de9,_0x376288);}[_0x2715ea(0x213)+_0x2715ea(0x332)+'on'](_0x530917,_0x5da382){const _0x4ba91c=_0x2715ea,_0x301fea=new _0x14353a[(_0x4ba91c(0x34c))+(_0x4ba91c(0x316))+(_0x4ba91c(0x260))]()[_0x4ba91c(0x31a)],_0x30a8a9=this[_0x4ba91c(0x39c)+_0x4ba91c(0x1f5)](_0x14353a['StatusBarA'+_0x4ba91c(0x3ad)][_0x4ba91c(0x303)]),_0x3af294={'report':_0x4c415c=>{_0x30a8a9['text']=_0x530917+'\x20'+_0x4c415c['message'];}};return _0x30a8a9['show'](),_0x5da382(_0x3af294,_0x301fea)[_0x4ba91c(0x20b)](_0x1e3d43=>(_0x30a8a9['dispose'](),_0x1e3d43));}[_0x2715ea(0x2cf)+_0x2715ea(0x1f6)](_0x19f6ee){const _0x5d6583=_0x2715ea;return _0x14353a[_0x5d6583(0x156)][_0x5d6583(0x2cf)+_0x5d6583(0x1f6)](_0x19f6ee);}};},0x11587:(_0xa7f3fe,_0x2f9ccd)=>{const _0x517460=a0_0x3c93,_0x183d9d={};_0x183d9d[_0x517460(0x173)]=!0x0,(Object[_0x517460(0x159)+_0x517460(0x2f5)](_0x2f9ccd,_0x517460(0x3cd),_0x183d9d),_0x2f9ccd[_0x517460(0x17a)]=void 0x0,function(_0xf934a8){const _0x3207ef=_0x517460;_0xf934a8[_0x3207ef(0x1ee)]=_0x3207ef(0x2ee),_0xf934a8['Test_Fail']='$(alert)',_0xf934a8[_0x3207ef(0x2c8)]=_0x3207ef(0x31d),_0xf934a8[_0x3207ef(0x1a8)]=_0x3207ef(0x36c)+'lash)',_0xf934a8['Downloadin'+'g']=_0x3207ef(0x258)+_0x3207ef(0x3a9),_0xf934a8[_0x3207ef(0x131)]='$(desktop-'+_0x3207ef(0x392);}(_0x2f9ccd['Octicons']||(_0x2f9ccd[_0x517460(0x17a)]={})));},0x3cbd:(_0x1b7e99,_0x1d2dcc)=>{const _0x40e5f6=a0_0x3c93,_0x1ede38={};_0x1ede38[_0x40e5f6(0x173)]=!0x0,(Object[_0x40e5f6(0x159)+_0x40e5f6(0x2f5)](_0x1d2dcc,'__esModule',_0x1ede38),_0x1d2dcc[_0x40e5f6(0x283)+'orText']=void 0x0,_0x1d2dcc[_0x40e5f6(0x283)+_0x40e5f6(0x31b)]=[_0x40e5f6(0x28d)+'stall\x20and\x20'+_0x40e5f6(0x297)+_0x40e5f6(0x323)+_0x40e5f6(0x22c)+'e\x20software'+_0x40e5f6(0x226)+'\x20Microsoft'+_0x40e5f6(0x3e1)+_0x40e5f6(0x16b),_0x40e5f6(0x1af)+_0x40e5f6(0x400)+_0x40e5f6(0x366)+_0x40e5f6(0x404)+'e,\x20Azure\x20D'+'evOps,\x20Tea'+_0x40e5f6(0x296)+_0x40e5f6(0x3d0)+_0x40e5f6(0x3d6)+_0x40e5f6(0x35d)+'soft\x20produ'+_0x40e5f6(0x144),_0x40e5f6(0x284)+'es\x20(collec'+'tively,\x20th'+'e\x20“Visual\x20'+_0x40e5f6(0x21e)+_0x40e5f6(0x26a)+_0x40e5f6(0x28f)+_0x40e5f6(0x343)+'p\x20and\x20test'+_0x40e5f6(0x18c)+'ications.','The\x20softwa'+'re\x20is\x20lice'+_0x40e5f6(0x37f)+'sold.\x20This'+_0x40e5f6(0x339)+_0x40e5f6(0x2e8)+_0x40e5f6(0x16d)+_0x40e5f6(0x307)+_0x40e5f6(0x380)+'oftware.\x20M'+_0x40e5f6(0x2fa)+'eserves\x20al'+_0x40e5f6(0x3c0)+'ghts.',_0x40e5f6(0x3b0)+'t:','work\x20aroun'+_0x40e5f6(0x1b3)+_0x40e5f6(0x3ce)+_0x40e5f6(0x35c)+'\x20the\x20softw'+_0x40e5f6(0x3f1)+_0x40e5f6(0x299)+_0x40e5f6(0x1c7)+_0x40e5f6(0x306)+_0x40e5f6(0x3a5),'reverse\x20en'+_0x40e5f6(0x402)+_0x40e5f6(0x15a)+_0x40e5f6(0x24a)+_0x40e5f6(0x233)+'tware,\x20or\x20'+_0x40e5f6(0x2b4)+_0x40e5f6(0x295)+_0x40e5f6(0x24b)+_0x40e5f6(0x312)+_0x40e5f6(0x367)+'e\x20software'+',',_0x40e5f6(0x369)+_0x40e5f6(0x137)+'tent\x20requi'+_0x40e5f6(0x32b)+_0x40e5f6(0x204)+_0x40e5f6(0x315)+_0x40e5f6(0x302)+_0x40e5f6(0x34f)+_0x40e5f6(0x3a1)+'open\x20sourc'+_0x40e5f6(0x390)+_0x40e5f6(0x18e)+'y\x20be\x20inclu'+_0x40e5f6(0x3fd)+_0x40e5f6(0x24f),_0x40e5f6(0x201)+_0x40e5f6(0x324)+'ock,\x20or\x20mo'+'dify\x20any\x20n'+_0x40e5f6(0x2e4)+'Microsoft\x20'+_0x40e5f6(0x2cb)+_0x40e5f6(0x2f4)+_0x40e5f6(0x32f)+_0x40e5f6(0x398),'use\x20the\x20so'+'ftware\x20in\x20'+'any\x20way\x20th'+'at\x20is\x20agai'+_0x40e5f6(0x1fb)+'w\x20or\x20to\x20cr'+_0x40e5f6(0x176)+_0x40e5f6(0x3ed)+_0x40e5f6(0x264),'share,\x20pub'+'lish,\x20dist'+'ribute,\x20or'+_0x40e5f6(0x1de)+'\x20software\x20'+_0x40e5f6(0x2b8)+_0x40e5f6(0x2d9)+_0x40e5f6(0x180)+_0x40e5f6(0x17e)+_0x40e5f6(0x34a)+_0x40e5f6(0x2b2)+_0x40e5f6(0x2c3),'provide\x20th'+_0x40e5f6(0x187)+'\x20as\x20a\x20stan'+_0x40e5f6(0x305)+_0x40e5f6(0x2d1)+'\x20others\x20to'+_0x40e5f6(0x371)+_0x40e5f6(0x238)+'e\x20software'+_0x40e5f6(0x285)+_0x40e5f6(0x2b6)+_0x40e5f6(0x3b5)+_0x40e5f6(0x322)][_0x40e5f6(0x19c)]('\x20'));},0x5b3a:function(_0x48f726,_0x574b0c,_0x55133e){const _0x41fa0c=a0_0x3c93;var _0x4c68b7=this&&this[_0x41fa0c(0x310)+'nding']||(Object[_0x41fa0c(0x168)]?function(_0x4c45b5,_0xc445cc,_0x35f32a,_0x1c06e6){const _0x44c454=_0x41fa0c;void 0x0===_0x1c06e6&&(_0x1c06e6=_0x35f32a),Object[_0x44c454(0x159)+_0x44c454(0x2f5)](_0x4c45b5,_0x1c06e6,{'enumerable':!0x0,'get':function(){return _0xc445cc[_0x35f32a];}});}:function(_0x107e1e,_0x5d0808,_0x336e0,_0x548225){void 0x0===_0x548225&&(_0x548225=_0x336e0),_0x107e1e[_0x548225]=_0x5d0808[_0x336e0];}),_0x36a62d=this&&this[_0x41fa0c(0x301)+_0x41fa0c(0x243)]||(Object[_0x41fa0c(0x168)]?function(_0x4d710b,_0x48ec50){const _0x48549b=_0x41fa0c,_0x30c033={};_0x30c033[_0x48549b(0x154)]=!0x0,_0x30c033[_0x48549b(0x173)]=_0x48ec50,Object[_0x48549b(0x159)+_0x48549b(0x2f5)](_0x4d710b,'default',_0x30c033);}:function(_0x1a9bb5,_0x3fee2c){_0x1a9bb5['default']=_0x3fee2c;}),_0x27ee3e=this&&this[_0x41fa0c(0x151)+'ar']||function(_0x779c77){const _0x2bd648=_0x41fa0c;if(_0x779c77&&_0x779c77[_0x2bd648(0x3cd)])return _0x779c77;var _0x2be8b0={};if(null!=_0x779c77){for(var _0x50a4dd in _0x779c77)'default'!==_0x50a4dd&&Object['prototype'][_0x2bd648(0x33b)+'erty'][_0x2bd648(0x1a0)](_0x779c77,_0x50a4dd)&&_0x4c68b7(_0x2be8b0,_0x779c77,_0x50a4dd);}return _0x36a62d(_0x2be8b0,_0x779c77),_0x2be8b0;};const _0x2562e0={};_0x2562e0[_0x41fa0c(0x173)]=!0x0,(Object['defineProp'+_0x41fa0c(0x2f5)](_0x574b0c,'__esModule',_0x2562e0),_0x574b0c[_0x41fa0c(0x1e9)+_0x41fa0c(0x2ed)]=_0x574b0c[_0x41fa0c(0x1fd)+_0x41fa0c(0x3fe)+'on']=_0x574b0c[_0x41fa0c(0x32e)]=_0x574b0c[_0x41fa0c(0x368)+'ections']=_0x574b0c[_0x41fa0c(0x373)]=_0x574b0c[_0x41fa0c(0x33d)+_0x41fa0c(0x341)]=_0x574b0c[_0x41fa0c(0x37c)]=void 0x0);const _0x38a55c=_0x55133e(0x1206d),_0x34aba8=_0x27ee3e(_0x55133e(0x15d98)),_0x2d1863=_0x55133e(0x5157),_0x1db141=_0x55133e(0xf7ea);let _0x3046f5,_0x57a63b;!function(_0x9fd942){const _0x202179=_0x41fa0c;_0x9fd942[_0x202179(0x2ca)]=_0x4ff443(_0x202179(0x229),_0x202179(0x3b2)),_0x9fd942['no']=_0x4ff443('Common.No','No'),_0x9fd942['remindMeLa'+_0x202179(0x184)]=_0x4ff443('Common.rem'+_0x202179(0x26c),_0x202179(0x3f9)+_0x202179(0x245)),_0x9fd942[_0x202179(0x1e2)]=_0x4ff443('Common.rel'+_0x202179(0x348),'ReminReloa'+'d');}(_0x574b0c[_0x41fa0c(0x37c)]||(_0x574b0c[_0x41fa0c(0x37c)]={})),function(_0x5b0c36){const _0x9509d0=_0x41fa0c;_0x5b0c36[_0x9509d0(0x3c4)]=_0x4ff443(_0x9509d0(0x33d)+_0x9509d0(0x24d)+_0x9509d0(0x26e),'Yes,\x20and\x20r'+'eload'),_0x5b0c36[_0x9509d0(0x27f)]=_0x4ff443('LanguageSe'+'rver.noTha'+_0x9509d0(0x3c5),_0x9509d0(0x3e0)),_0x5b0c36[_0x9509d0(0x27a)+'gratedMess'+_0x9509d0(0x15d)]=_0x4ff443(_0x9509d0(0x33d)+'rver.setti'+_0x9509d0(0x3ac)+'dMessage',_0x9509d0(0x136)+_0x9509d0(0x2a4)+'to\x20Microso'+_0x9509d0(0x236)+_0x9509d0(0x20f)+_0x9509d0(0x37a)+'\x20to\x20Pylanc'+_0x9509d0(0x1a6)+_0x9509d0(0x185)+_0x9509d0(0x1ba)+_0x9509d0(0x269)+'ile(s)\x20for'+_0x9509d0(0x359)),_0x5b0c36['settingsMi'+_0x9509d0(0x3f4)+'or']=_0x4ff443(_0x9509d0(0x33d)+_0x9509d0(0x13c)+_0x9509d0(0x22a)+_0x9509d0(0x16f),'The\x20follow'+_0x9509d0(0x1e1)+_0x9509d0(0x2ce)+_0x9509d0(0x389)+'ated:');}(_0x574b0c[_0x41fa0c(0x33d)+_0x41fa0c(0x341)]||(_0x574b0c[_0x41fa0c(0x33d)+_0x41fa0c(0x341)]={})),function(_0x56c0d2){const _0x1acbc8=_0x41fa0c;_0x56c0d2[_0x1acbc8(0x304)+_0x1acbc8(0x274)]=_0x4ff443(_0x1acbc8(0x216)+_0x1acbc8(0x140)+'Insiders','Downloadin'+_0x1acbc8(0x1d6)+_0x1acbc8(0x387)+_0x1acbc8(0x2b5)),_0x56c0d2[_0x1acbc8(0x318)+'Insiders']=_0x4ff443(_0x1acbc8(0x139)+_0x1acbc8(0x28c)+_0x1acbc8(0x15c),_0x1acbc8(0x131)+'\x20Pylance\x20i'+_0x1acbc8(0x1b2)+_0x1acbc8(0x172)),_0x56c0d2['installedI'+_0x1acbc8(0x15c)]=_0x4ff443(_0x1acbc8(0x139)+_0x1acbc8(0x376)+_0x1acbc8(0x2bc),_0x1acbc8(0x397)+_0x1acbc8(0x3d2)+_0x1acbc8(0x378)+_0x1acbc8(0x30f)+_0x1acbc8(0x39d)+'rs\x20build\x20o'+'f\x20Pylance.'),_0x56c0d2[_0x1acbc8(0x1ce)+_0x1acbc8(0x15c)]=_0x4ff443(_0x1acbc8(0x216)+_0x1acbc8(0x28b),_0x1acbc8(0x266)+_0x1acbc8(0x26d)+_0x1acbc8(0x3bf)+_0x1acbc8(0x1c2)+_0x1acbc8(0x196)+_0x1acbc8(0x2b7)+_0x1acbc8(0x1a3)+_0x1acbc8(0x1b2)+_0x1acbc8(0x3c8)+'led.\x20Would'+_0x1acbc8(0x29e)+'to\x20install'+_0x1acbc8(0x3a8)+_0x1acbc8(0x1ec)+_0x1acbc8(0x273)+_0x1acbc8(0x1d3));}(_0x574b0c[_0x41fa0c(0x373)]||(_0x574b0c[_0x41fa0c(0x373)]={}));let _0x4d9615,_0x334d64={};const _0x4e99a6=Object[_0x41fa0c(0x38a)][_0x41fa0c(0x33b)+_0x41fa0c(0x2f5)];function _0x4ff443(_0x1392b2,_0x161e4e){return()=>function(_0x4d3295,_0x280d79){const _0x2abdc0=a0_0x3c93;let _0x407b2c=_0x57a63b;(0x0,_0x2d1863[_0x2abdc0(0x1d8)+'ned'])(_0x407b2c),_0x3046f5&&_0x4e99a6[_0x2abdc0(0x1a0)](_0x3046f5,_0x4d3295)&&(_0x407b2c=_0x3046f5);let _0x207213=_0x407b2c[_0x4d3295];return!_0x207213&&_0x280d79&&(_0x207213=_0x280d79),(_0x334d64[_0x4d3295]=_0x207213,_0x207213);}(_0x1392b2,_0x161e4e);}async function _0x40d7d2(_0x2cc501){const _0x532639=_0x41fa0c;try{const _0xa32b80=_0x2cc501?'package.nl'+'s.'+_0x2cc501+_0x532639(0x2ec):_0x532639(0x1e8)+_0x532639(0x146),_0x217d84=_0x34aba8[_0x532639(0x25a)][_0x532639(0x1bd)]((0x0,_0x1db141[_0x532639(0x2d6)+_0x532639(0x1dc)])(),_0xa32b80),_0x1eddcd=await _0x34aba8[_0x532639(0x383)]['fs'][_0x532639(0x3d9)](_0x217d84),_0x670442=new _0x38a55c[(_0x532639(0x29a))+'r']()[_0x532639(0x212)](_0x1eddcd);return JSON['parse'](_0x670442);}catch{return{};}}_0x574b0c[_0x41fa0c(0x368)+'ections']=function(){_0x4d9615='',_0x3046f5=void 0x0,_0x334d64={};},_0x574b0c[_0x41fa0c(0x32e)]=_0x4ff443,_0x574b0c[_0x41fa0c(0x1fd)+_0x41fa0c(0x3fe)+'on']=function(){return _0x334d64;},_0x574b0c['loadLocali'+_0x41fa0c(0x2ed)]=async function(){_0x4d9615=(function(){const _0x2af744=a0_0x3c93;try{if(null===navigator||void 0x0===navigator?void 0x0:navigator[_0x2af744(0x255)])return navigator['language'][_0x2af744(0x3b1)+'e']();}catch{}const _0x3cd290=process[_0x2af744(0x3bb)][_0x2af744(0x1c8)+_0x2af744(0x30a)];return _0x3cd290?JSON[_0x2af744(0x2a0)](_0x3cd290)['locale']:_0x2af744(0x1cf);}()),_0x3046f5=await _0x40d7d2(_0x4d9615),_0x57a63b||(_0x57a63b=await _0x40d7d2());};},0x8b49:(_0xae68d7,_0x5818b8)=>{const _0x4e8c35=a0_0x3c93,_0x4c9e36={};_0x4c9e36[_0x4e8c35(0x173)]=!0x0,(Object['defineProp'+_0x4e8c35(0x2f5)](_0x5818b8,'__esModule',_0x4c9e36),_0x5818b8[_0x4e8c35(0x18b)+_0x4e8c35(0x1ea)+_0x4e8c35(0x2d8)]=_0x5818b8['Persistent'+_0x4e8c35(0x3aa)]=_0x5818b8[_0x4e8c35(0x3af)]=void 0x0,function(_0xabf31d){const _0x18997c=_0x4e8c35;_0xabf31d[_0x18997c(0x2e0)+_0x18997c(0x3ab)+'el']=_0x18997c(0x183)+'annel',_0xabf31d[_0x18997c(0x2a2)+'stUpdate']=_0x18997c(0x2e6)+_0x18997c(0x227);}(_0x5818b8[_0x4e8c35(0x3af)]||(_0x5818b8['StateKey']={})));class _0x68f949{constructor(_0x289abd,_0x3d2b8a,_0x71a378,_0x338a96){const _0x2427b1=_0x4e8c35;this[_0x2427b1(0x162)]=_0x289abd,this[_0x2427b1(0x330)]=_0x3d2b8a,this['_defaultVa'+_0x2427b1(0x2ae)]=_0x71a378,this['_expiryDur'+_0x2427b1(0x20e)]=_0x338a96;}get['value'](){const _0x5dfcf8=_0x4e8c35;if(this['_expiryDur'+_0x5dfcf8(0x20e)]){const _0x5950bf=this[_0x5dfcf8(0x162)]['get'](this[_0x5dfcf8(0x330)],{'data':this[_0x5dfcf8(0x13b)+_0x5dfcf8(0x2ae)]});return!_0x5950bf||!_0x5950bf[_0x5dfcf8(0x1c9)]||_0x5950bf[_0x5dfcf8(0x1c9)]_0x297ccd[_0x260964(0x356)](_0x1b684c)[_0x260964(0x262)+'rs'](),void 0x0,_0x47ed66[_0x260964(0x3e2)+'ons']),{'languageServerFolder':async()=>({'path':_0x452d45[_0x260964(0x19c)](_0x47ed66[_0x260964(0x170)+_0x260964(0x2d7)],_0x260964(0x292)),'version':_0x21da9c})};},_0x5f09b6[_0x1e1c0a(0x340)]=function(){};},0x15d8b:()=>{const _0x9eca73=a0_0x3c93;Promise['prototype'][_0x9eca73(0x262)+'rs']=function(){const _0x55bd72=_0x9eca73;this[_0x55bd72(0x205)](()=>{});};},0x15a14:function(_0x40c61d,_0x5873e5,_0x27aaa3){const _0x19e6da=a0_0x3c93;var _0x4e8226=this&&this[_0x19e6da(0x310)+'nding']||(Object['create']?function(_0x2ebcc1,_0x1e90c3,_0x536bdb,_0x5bac66){void 0x0===_0x5bac66&&(_0x5bac66=_0x536bdb),Object['defineProp'+'erty'](_0x2ebcc1,_0x5bac66,{'enumerable':!0x0,'get':function(){return _0x1e90c3[_0x536bdb];}});}:function(_0x4953d3,_0x9bcbc3,_0x21d184,_0x410d9a){void 0x0===_0x410d9a&&(_0x410d9a=_0x21d184),_0x4953d3[_0x410d9a]=_0x9bcbc3[_0x21d184];}),_0x3a5044=this&&this[_0x19e6da(0x301)+'eDefault']||(Object[_0x19e6da(0x168)]?function(_0xdcb375,_0x368b89){const _0x3fc9be=_0x19e6da,_0x3c710d={};_0x3c710d[_0x3fc9be(0x154)]=!0x0,_0x3c710d[_0x3fc9be(0x173)]=_0x368b89,Object['defineProp'+'erty'](_0xdcb375,_0x3fc9be(0x161),_0x3c710d);}:function(_0x5941b6,_0xd988e2){const _0x16391e=_0x19e6da;_0x5941b6[_0x16391e(0x161)]=_0xd988e2;}),_0xcfc9f3=this&&this[_0x19e6da(0x151)+'ar']||function(_0x33bf0a){const _0x3b92ed=_0x19e6da;if(_0x33bf0a&&_0x33bf0a[_0x3b92ed(0x3cd)])return _0x33bf0a;var _0x11aee8={};if(null!=_0x33bf0a){for(var _0x283f66 in _0x33bf0a)'default'!==_0x283f66&&Object['prototype'][_0x3b92ed(0x33b)+_0x3b92ed(0x2f5)][_0x3b92ed(0x1a0)](_0x33bf0a,_0x283f66)&&_0x4e8226(_0x11aee8,_0x33bf0a,_0x283f66);}return _0x3a5044(_0x11aee8,_0x33bf0a),_0x11aee8;};const _0x4048b2={};_0x4048b2[_0x19e6da(0x173)]=!0x0,(Object[_0x19e6da(0x159)+_0x19e6da(0x2f5)](_0x5873e5,_0x19e6da(0x3cd),_0x4048b2),_0x5873e5[_0x19e6da(0x38e)+_0x19e6da(0x2e7)]=void 0x0);const _0x102bbb=_0x27aaa3(0xbb89),_0xc0b102=_0xcfc9f3(_0x27aaa3(0x13d61)),_0x206176=_0x27aaa3(0x171b7);_0x5873e5['BlobStorag'+_0x19e6da(0x2e7)]=class{async[_0x19e6da(0x350)](_0x1dad1c){const _0x5c6871=_0x19e6da;let _0x5b5c7f;const _0x44b191=this[_0x5c6871(0x174)]();for await(const _0x56e189 of _0x44b191){if(_0x56e189['deleted']||_0x5c6871(0x195)!==(0x0,_0x206176[_0x5c6871(0x192)+_0x5c6871(0x251)])(_0x56e189['name']))continue;const _0x53c602=(0x0,_0x206176[_0x5c6871(0x2f7)+'xtension'])(_0x56e189[_0x5c6871(0x1d4)])['replace'](/^vscode-pylance-/,''),_0x9b76de=_0xc0b102[_0x5c6871(0x2a0)](_0x53c602);_0x9b76de&&(_0x1dad1c===!_0x9b76de['prerelease'][_0x5c6871(0x3f0)]&&(_0x5b5c7f&&!_0xc0b102['lt'](_0x5b5c7f['version'],_0x9b76de)||(_0x5b5c7f={'version':_0x9b76de,'name':_0x56e189[_0x5c6871(0x1d4)],'contentLength':_0x56e189['properties'][_0x5c6871(0x165)+_0x5c6871(0x33e)]})));}return _0x5b5c7f;}async[_0x19e6da(0x388)](_0x2ac06f,_0x56b861,_0x10742d){const _0x287c23=_0x19e6da;await this[_0x287c23(0x3e5)+'ob'](_0x2ac06f,_0x56b861,_0x10742d);}['listBlobs'](){const _0x110f42=_0x19e6da;return this[_0x110f42(0x177)+_0x110f42(0x1d7)]()[_0x110f42(0x328)+_0x110f42(0x320)]();}async[_0x19e6da(0x3e5)+'ob'](_0x14fddc,_0x3e3ef5,_0x3b82e1){const _0x2b6852=_0x19e6da,_0x4485a4={};_0x4485a4['onProgress']=_0x3b82e1,await this['_getContai'+'ner']()[_0x2b6852(0x1c0)+'ent'](_0x14fddc)[_0x2b6852(0x30e)+_0x2b6852(0x21a)](_0x3e3ef5,void 0x0,void 0x0,_0x4485a4);}[_0x19e6da(0x177)+_0x19e6da(0x1d7)](){const _0x369026=_0x19e6da;if(!this[_0x369026(0x1c6)]){const _0x1a5658=new _0x102bbb[(_0x369026(0x290))+(_0x369026(0x1a4))](_0x369026(0x3c6)+_0x369026(0x13d)+_0x369026(0x2d2)+'.net',new _0x102bbb[(_0x369026(0x1ae))+(_0x369026(0x1fe))]());this[_0x369026(0x1c6)]=_0x1a5658[_0x369026(0x3dd)+_0x369026(0x182)](_0x369026(0x2cc)+_0x369026(0x2bc));}return this[_0x369026(0x1c6)];}};},0x9a58:function(_0x254f31,_0x619d4a,_0x11f410){const _0x182308=a0_0x3c93;var _0x3a0c9b=this&&this[_0x182308(0x310)+_0x182308(0x3dc)]||(Object[_0x182308(0x168)]?function(_0x260cfb,_0x1d0217,_0xfae4e2,_0x1d5542){const _0x5a0723=_0x182308;void 0x0===_0x1d5542&&(_0x1d5542=_0xfae4e2),Object[_0x5a0723(0x159)+_0x5a0723(0x2f5)](_0x260cfb,_0x1d5542,{'enumerable':!0x0,'get':function(){return _0x1d0217[_0xfae4e2];}});}:function(_0x15e665,_0x354288,_0x1f9e0c,_0x23eff8){void 0x0===_0x23eff8&&(_0x23eff8=_0x1f9e0c),_0x15e665[_0x23eff8]=_0x354288[_0x1f9e0c];}),_0x52e6f6=this&&this[_0x182308(0x301)+_0x182308(0x243)]||(Object['create']?function(_0x1cf292,_0x49e4c9){const _0xcc6412=_0x182308,_0x537da9={};_0x537da9[_0xcc6412(0x154)]=!0x0,_0x537da9['value']=_0x49e4c9,Object[_0xcc6412(0x159)+_0xcc6412(0x2f5)](_0x1cf292,_0xcc6412(0x161),_0x537da9);}:function(_0x1d0424,_0x2073af){_0x1d0424['default']=_0x2073af;}),_0x44493e=this&&this[_0x182308(0x151)+'ar']||function(_0x4b67e3){const _0x4db3fb=_0x182308;if(_0x4b67e3&&_0x4b67e3[_0x4db3fb(0x3cd)])return _0x4b67e3;var _0x262e39={};if(null!=_0x4b67e3){for(var _0x4efc99 in _0x4b67e3)_0x4db3fb(0x161)!==_0x4efc99&&Object[_0x4db3fb(0x38a)][_0x4db3fb(0x33b)+_0x4db3fb(0x2f5)][_0x4db3fb(0x1a0)](_0x4b67e3,_0x4efc99)&&_0x3a0c9b(_0x262e39,_0x4b67e3,_0x4efc99);}return _0x52e6f6(_0x262e39,_0x4b67e3),_0x262e39;};const _0x590eb0={};_0x590eb0['value']=!0x0,(Object['defineProp'+_0x182308(0x2f5)](_0x619d4a,_0x182308(0x3cd),_0x590eb0),_0x619d4a[_0x182308(0x254)+_0x182308(0x3a3)]=_0x619d4a[_0x182308(0x1d0)+'pl']=_0x619d4a['fullPython'+_0x182308(0x352)+'annelSetti'+'ng']=_0x619d4a[_0x182308(0x141)+_0x182308(0x2b1)+'etting']=_0x619d4a['insidersCh'+_0x182308(0x197)+'ng']=void 0x0);const _0x27f7e1=_0x44493e(_0x11f410(0x11569)),_0x30c7ba=_0x44493e(_0x11f410(0x13d61)),_0x3d3725=_0x11f410(0x15d98),_0xd3c9e=_0x11f410(0x11587),_0x28b776=_0x44493e(_0x11f410(0x5b3a)),_0x4cd5d0=_0x11f410(0x8b49),_0x4facd9=_0x11f410(0x4652);_0x619d4a[_0x182308(0x183)+'annelSetti'+'ng']=_0x182308(0x183)+_0x182308(0x21f),_0x619d4a[_0x182308(0x141)+_0x182308(0x2b1)+_0x182308(0x38c)]=_0x182308(0x3d7)+_0x619d4a['insidersCh'+_0x182308(0x197)+'ng'],_0x619d4a[_0x182308(0x17c)+_0x182308(0x352)+_0x182308(0x197)+'ng']=_0x182308(0x2fd)+_0x619d4a['insidersCh'+_0x182308(0x197)+'ng'];function _0x5e345f(_0x29ea27){const _0x4c1007=_0x182308;var _0xf68c59,_0x3f7443;const _0x4c5ed4=_0x29ea27[_0x4c1007(0x277)](_0x4c1007(0x133),_0x619d4a[_0x4c1007(0x183)+'annelSetti'+'ng']),_0x3211f1=_0x29ea27[_0x4c1007(0x277)](_0x4c1007(0x309),_0x619d4a['insidersCh'+'annelSetti'+'ng']),_0x2d8754=null!==(_0x3f7443=null!==(_0xf68c59=null==_0x4c5ed4?void 0x0:_0x4c5ed4[_0x4c1007(0x39b)+'e'])&&void 0x0!==_0xf68c59?_0xf68c59:null==_0x3211f1?void 0x0:_0x3211f1[_0x4c1007(0x39b)+'e'])&&void 0x0!==_0x3f7443?_0x3f7443:null==_0x4c5ed4?void 0x0:_0x4c5ed4[_0x4c1007(0x24e)+'ue'];return _0x2d8754?_0x4c1007(0x33c)===_0x2d8754?_0x4c1007(0x33c):_0x4c1007(0x1e3):_0x4c1007(0x33c);}_0x619d4a[_0x182308(0x1d0)+'pl']=class{constructor(_0x36143d,_0x5c8560,_0x3a33f0,_0x59453d,_0x4a4925,_0x440791,_0x453adb){const _0x75c568=_0x182308;this[_0x75c568(0x278)+'ir']=_0x5c8560,this['_config']=_0x3a33f0,this[_0x75c568(0x210)]=_0x59453d,this[_0x75c568(0x22f)+'ge']=_0x440791,this['_cmdManage'+'r']=_0x453adb,this[_0x75c568(0x293)+_0x75c568(0x35f)]=_0x28b776[_0x75c568(0x373)][_0x75c568(0x1ce)+'nsiders'](),this[_0x75c568(0x188)+_0x75c568(0x39a)]=_0x28b776['Insiders'][_0x75c568(0x1f8)+'nsiders'](),this[_0x75c568(0x28a)]=_0x28b776[_0x75c568(0x37c)][_0x75c568(0x2ca)](),this[_0x75c568(0x149)+_0x75c568(0x135)]=_0x28b776['LanguageSe'+'rver']['turnItOn'](),this[_0x75c568(0x2ac)]=_0x28b776['Common']['no'](),this['labelReloa'+'d']=_0x28b776[_0x75c568(0x37c)][_0x75c568(0x1e2)](),this[_0x75c568(0x150)]=new _0x30c7ba[(_0x75c568(0x308))](_0x36143d),this[_0x75c568(0x214)+_0x75c568(0x21f)]=_0x4a4925[_0x75c568(0x234)+_0x75c568(0x209)+'ntState'](_0x4cd5d0[_0x75c568(0x3af)][_0x75c568(0x2e0)+_0x75c568(0x3ab)+'el']),this[_0x75c568(0x358)+'e']=_0x4a4925[_0x75c568(0x234)+_0x75c568(0x209)+_0x75c568(0x1fc)](_0x4cd5d0[_0x75c568(0x3af)][_0x75c568(0x2a2)+'stUpdate']);}async[_0x182308(0x1e4)](){const _0x42eaf2=_0x182308;if(this[_0x42eaf2(0x3c7)+'d']())return;const [_0x454891,_0x77a2b9]=this['_updateCha'+_0x42eaf2(0x346)]();_0x42eaf2(0x33c)!==_0x454891?(_0x77a2b9||this[_0x42eaf2(0x1bc)+_0x42eaf2(0x298)]())&&await this[_0x42eaf2(0x3b7)](!0x1):await this['_onInsider'+'sOff']();}async[_0x182308(0x356)](_0x22aa24){const _0x42cf33=_0x182308;if(this[_0x42cf33(0x3c7)+'d']())return;if(!_0x22aa24['affectsCon'+_0x42cf33(0x1b7)](_0x619d4a['fullInside'+'rsChannelS'+'etting'])&&!_0x22aa24['affectsCon'+_0x42cf33(0x1b7)](_0x619d4a['fullPython'+_0x42cf33(0x352)+_0x42cf33(0x197)+'ng']))return;const [_0xa15ca9,_0x3eaa06]=this[_0x42cf33(0x38f)+_0x42cf33(0x346)]();_0x3eaa06&&(_0x42cf33(0x33c)!==_0xa15ca9?await this[_0x42cf33(0x3b7)](!0x1):await this[_0x42cf33(0x21d)+_0x42cf33(0x3cc)]());}[_0x182308(0x3c7)+'d'](){const _0x217503=_0x182308,_0x262276=this[_0x217503(0x150)][_0x217503(0x1a2)];return 0x0!==_0x262276[_0x217503(0x3f0)]&&'pre'!==_0x262276[0x0];}[_0x182308(0x38f)+_0x182308(0x346)](){const _0x1a461b=_0x182308,_0x2b809c=_0x5e345f(this[_0x1a461b(0x3d8)]);return _0x2b809c===this['_currentCh'+_0x1a461b(0x21f)]['value']?[_0x2b809c,!0x1]:(this['_currentCh'+_0x1a461b(0x21f)][_0x1a461b(0x1cd)+'e'](_0x2b809c),[_0x2b809c,!0x0]);}[_0x182308(0x1bc)+'eck'](){const _0x27dd44=_0x182308,_0x217f30=this['_lastUpdat'+'e']['value'];return!_0x217f30||Date[_0x27dd44(0x25c)]()-_0x217f30>0x5265c00;}async[_0x182308(0x21d)+'sOff'](){const _0x29ebf0=_0x182308;this[_0x29ebf0(0x358)+'e'][_0x29ebf0(0x1cd)+'e'](void 0x0),0x0!==this[_0x29ebf0(0x150)][_0x29ebf0(0x1a2)][_0x29ebf0(0x3f0)]&&await this[_0x29ebf0(0x3cf)+_0x29ebf0(0x247)]();}async['_promptSta'+_0x182308(0x247)](){const _0xb0deb4=_0x182308;await this[_0xb0deb4(0x210)]['showInform'+'ationMessa'+'ge'](this['labelDowng'+_0xb0deb4(0x35f)],this[_0xb0deb4(0x149)+_0xb0deb4(0x135)],this['labelNo'])===this[_0xb0deb4(0x149)+_0xb0deb4(0x135)]&&await this['_update'](!0x0);}async[_0x182308(0x3b7)](_0x116b7f){const _0x148ca2=_0x182308;this[_0x148ca2(0x358)+'e'][_0x148ca2(0x1cd)+'e'](Date[_0x148ca2(0x25c)]());const _0x51e88b=await this[_0x148ca2(0x22f)+'ge'][_0x148ca2(0x350)](_0x116b7f);if(!_0x51e88b)return;if(!_0x116b7f&&_0x30c7ba[_0x148ca2(0x28e)](_0x51e88b[_0x148ca2(0x3db)],this[_0x148ca2(0x150)]))return;const _0xf62936=_0x27f7e1[_0x148ca2(0x19c)](this[_0x148ca2(0x278)+'ir'],_0x51e88b[_0x148ca2(0x1d4)]),_0x274da4=_0x51e88b[_0x148ca2(0x165)+_0x148ca2(0x33e)];if(await this['_appShell']['withProgre'+_0x148ca2(0x332)+'on'](_0xd3c9e[_0x148ca2(0x17a)][_0x148ca2(0x1df)+'g'],async _0x455a38=>{const _0x454aaf=_0x148ca2;let _0x30a0bd=0x0;return this[_0x454aaf(0x22f)+'ge']['download'](_0x51e88b['name'],_0xf62936,_0x212603=>{const _0x1807d0=_0x454aaf;let _0x44ece7;_0x274da4&&(_0x44ece7=(_0x212603[_0x1807d0(0x338)+'s']-_0x30a0bd)/_0x274da4*0x64,_0x30a0bd=_0x212603[_0x1807d0(0x338)+'s']),_0x455a38[_0x1807d0(0x3f8)]({'message':_0x28b776[_0x1807d0(0x373)][_0x1807d0(0x304)+'gInsiders'](),'increment':_0x44ece7});});}),await this['_appShell'][_0x148ca2(0x213)+_0x148ca2(0x332)+'on'](_0xd3c9e[_0x148ca2(0x17a)]['Installing'],async _0x580f0e=>(_0x580f0e[_0x148ca2(0x3f8)]({'message':_0x28b776['Insiders'][_0x148ca2(0x318)+_0x148ca2(0x373)]()}),this[_0x148ca2(0x13e)+'r'][_0x148ca2(0x155)+_0x148ca2(0x1a9)](_0x4facd9[_0x148ca2(0x235)+'and'][_0x148ca2(0x257)+_0x148ca2(0x251)],_0x3d3725[_0x148ca2(0x25a)][_0x148ca2(0x3ca)](_0xf62936)))),_0x116b7f)await this[_0x148ca2(0x13e)+'r'][_0x148ca2(0x155)+_0x148ca2(0x1a9)](_0x4facd9[_0x148ca2(0x235)+_0x148ca2(0x372)][_0x148ca2(0x333)+'ow']);else await this[_0x148ca2(0x210)][_0x148ca2(0x32c)+_0x148ca2(0x2c0)+'ge'](this[_0x148ca2(0x188)+_0x148ca2(0x39a)],this[_0x148ca2(0x157)+'d'])===this['labelReloa'+'d']&&await this[_0x148ca2(0x13e)+'r'][_0x148ca2(0x155)+_0x148ca2(0x1a9)](_0x4facd9[_0x148ca2(0x235)+_0x148ca2(0x372)]['ReloadWind'+'ow']);}},_0x619d4a[_0x182308(0x254)+'hannel']=_0x5e345f;},0x3cc6:(_0x4e43e6,_0x406ea6,_0xfb9dc6)=>{const _0x503465=a0_0x3c93,_0x3120a9={};_0x3120a9[_0x503465(0x173)]=!0x0,(Object['defineProp'+_0x503465(0x2f5)](_0x406ea6,'__esModule',_0x3120a9),_0x406ea6[_0x503465(0x3d4)+_0x503465(0x1c3)]=_0x406ea6[_0x503465(0x191)+_0x503465(0x3ef)]=_0x406ea6[_0x503465(0x27a)+_0x503465(0x194)]=void 0x0);const _0x3ce4e8=_0xfb9dc6(0x15d98),_0x3787e4=_0xfb9dc6(0x5b3a),_0x4e769d=_0xfb9dc6(0xf7ea);async function _0x1a448a(_0x797eb1,_0x15a963,_0x1ab19a){const _0xb549d8=_0x503465,_0x4345e4=_0x1ab19a[_0xb549d8(0x277)](_0xb549d8(0x309),_0x15a963);if(void 0x0!==(null==_0x4345e4?void 0x0:_0x4345e4[_0xb549d8(0x39b)+'e'])||void 0x0!==(null==_0x4345e4?void 0x0:_0x4345e4[_0xb549d8(0x36a)+'alue'])||void 0x0!==(null==_0x4345e4?void 0x0:_0x4345e4[_0xb549d8(0x279)+'olderValue']))return!0x1;const _0xceb15d=_0x1ab19a[_0xb549d8(0x277)]('python',_0x797eb1);if(!_0xceb15d)return!0x1;let _0x82bcb2,_0x41a1df;return void 0x0!==_0xceb15d[_0xb549d8(0x279)+'olderValue']?(_0x82bcb2=_0x3ce4e8['Configurat'+_0xb549d8(0x178)][_0xb549d8(0x249)+_0xb549d8(0x208)],_0x41a1df=_0xceb15d[_0xb549d8(0x279)+_0xb549d8(0x153)]):void 0x0!==_0xceb15d[_0xb549d8(0x36a)+_0xb549d8(0x2a9)]?(_0x82bcb2=_0x3ce4e8[_0xb549d8(0x22b)+_0xb549d8(0x178)][_0xb549d8(0x158)],_0x41a1df=_0xceb15d['workspaceV'+'alue']):void 0x0!==_0xceb15d[_0xb549d8(0x39b)+'e']&&(_0x82bcb2=_0x3ce4e8['Configurat'+_0xb549d8(0x178)]['Global'],_0x41a1df=_0xceb15d[_0xb549d8(0x39b)+'e']),!(!_0x82bcb2||!_0x41a1df)&&(await _0x1ab19a[_0xb549d8(0x405)+_0xb549d8(0x33a)](_0xb549d8(0x309),_0x15a963,_0x41a1df,_0x82bcb2),!0x0);}_0x406ea6[_0x503465(0x27a)+_0x503465(0x194)]=new Map([['autoComple'+_0x503465(0x16a)+_0x503465(0x3d5),_0x503465(0x3d1)+_0x503465(0x16c)],[_0x503465(0x35e)+'te.addBrac'+_0x503465(0x336),_0x503465(0x1f2)+_0x503465(0x190)+_0x503465(0x1d5)+'s']]),_0x406ea6[_0x503465(0x191)+'ettings']=async function(_0x1ee53c,_0x49d785){const _0x2797cb=_0x503465;if(!(0x0,_0x4e769d['isPylanceD'+_0x2797cb(0x244)+_0x2797cb(0x3c9)])(_0x1ee53c))return;let _0x1987f5=!0x1;const _0x278793=[];for(const [_0x52ee78,_0x5259c9]of Array['from'](_0x406ea6[_0x2797cb(0x27a)+_0x2797cb(0x194)][_0x2797cb(0x1f9)]()))try{await _0x1a448a(_0x52ee78,_0x5259c9,_0x1ee53c)&&(_0x1987f5=!0x0);}catch(_0x248035){_0x278793[_0x2797cb(0x386)](_0x5259c9+'\x20('+_0x248035['message']+')');}if(_0x1987f5||_0x278793['length']>0x0){const _0x441c84=_0x49d785['createOutp'+'utChannel'](_0x4e769d['PylanceNam'+'e']);_0x1987f5&&_0x441c84[_0x2797cb(0x275)](_0x3787e4[_0x2797cb(0x33d)+_0x2797cb(0x341)][_0x2797cb(0x27a)+_0x2797cb(0x3e6)+_0x2797cb(0x15d)]()),_0x278793['length']>0x0&&(_0x441c84[_0x2797cb(0x275)](_0x3787e4[_0x2797cb(0x33d)+_0x2797cb(0x341)]['settingsMi'+'grationErr'+'or']()),_0x441c84[_0x2797cb(0x275)]('\x20\x20\x20\x20'+_0x278793[_0x2797cb(0x19c)]()));}},_0x406ea6['migrateSet'+_0x503465(0x1c3)]=_0x1a448a;},0x151da:function(_0x1bfec8,_0x5e5568,_0x123f51){const _0x5268a5=a0_0x3c93;var _0x51d19c=this&&this[_0x5268a5(0x310)+_0x5268a5(0x3dc)]||(Object[_0x5268a5(0x168)]?function(_0x49935f,_0x4d70e5,_0x1cef9b,_0x12a4d8){const _0x522f62=_0x5268a5;void 0x0===_0x12a4d8&&(_0x12a4d8=_0x1cef9b),Object[_0x522f62(0x159)+'erty'](_0x49935f,_0x12a4d8,{'enumerable':!0x0,'get':function(){return _0x4d70e5[_0x1cef9b];}});}:function(_0x2f4bd2,_0x2d3ca6,_0x386957,_0x1f7bba){void 0x0===_0x1f7bba&&(_0x1f7bba=_0x386957),_0x2f4bd2[_0x1f7bba]=_0x2d3ca6[_0x386957];}),_0x4fc984=this&&this[_0x5268a5(0x301)+'eDefault']||(Object[_0x5268a5(0x168)]?function(_0x249b15,_0x27e8ff){const _0x5af179=_0x5268a5,_0x5f1fca={};_0x5f1fca[_0x5af179(0x154)]=!0x0,_0x5f1fca[_0x5af179(0x173)]=_0x27e8ff,Object[_0x5af179(0x159)+_0x5af179(0x2f5)](_0x249b15,_0x5af179(0x161),_0x5f1fca);}:function(_0x4f3ed7,_0x200ccc){_0x4f3ed7['default']=_0x200ccc;}),_0x480cd1=this&&this[_0x5268a5(0x151)+'ar']||function(_0x4e90f9){const _0x36ec3d=_0x5268a5;if(_0x4e90f9&&_0x4e90f9[_0x36ec3d(0x3cd)])return _0x4e90f9;var _0x43ecb4={};if(null!=_0x4e90f9){for(var _0x347c79 in _0x4e90f9)'default'!==_0x347c79&&Object[_0x36ec3d(0x38a)][_0x36ec3d(0x33b)+_0x36ec3d(0x2f5)][_0x36ec3d(0x1a0)](_0x4e90f9,_0x347c79)&&_0x51d19c(_0x43ecb4,_0x4e90f9,_0x347c79);}return _0x4fc984(_0x43ecb4,_0x4e90f9),_0x43ecb4;},_0x4b7c25=this&&this[_0x5268a5(0x326)+_0x5268a5(0x21b)]||function(_0x1b267a){const _0x545d2c=_0x5268a5;return _0x1b267a&&_0x1b267a[_0x545d2c(0x3cd)]?_0x1b267a:{'default':_0x1b267a};};const _0x413747={};_0x413747[_0x5268a5(0x173)]=!0x0,(Object[_0x5268a5(0x159)+'erty'](_0x5e5568,_0x5268a5(0x3cd),_0x413747),_0x5e5568[_0x5268a5(0x231)+_0x5268a5(0x253)]=void 0x0,_0x123f51(0x15d8b));const _0x14dc6f=_0x480cd1(_0x123f51(0x15d98)),_0x4eddab=_0x123f51(0xd5b8),_0x39f754=_0x123f51(0x2426),_0xca7d5e=_0x123f51(0x33e7),_0x2b4aea=_0x123f51(0x9694),_0x52d19f=_0x4b7c25(_0x123f51(0xc435)),_0x24a4e6=_0x123f51(0x5b3a),_0x40e6ba=_0x123f51(0xf7ea),_0x4d90a0=_0x123f51(0x2084),_0x45a731=_0x123f51(0xf21),_0x296aa8=_0x123f51(0x4652);function _0x4a547b(_0x2a3400,_0x55e468,_0x169300,_0x27ce55,_0x1e710f){const _0x309c75=_0x5268a5;_0x2a3400[_0x309c75(0x3e2)+_0x309c75(0x1b1)][_0x309c75(0x386)](_0x55e468[_0x309c75(0x152)+_0x309c75(0x2b9)](_0x169300,_0x27ce55,_0x1e710f));}_0x5e5568[_0x5268a5(0x231)+'ared']=async function(_0x615a6){const _0x7278d7=_0x5268a5;(0x0,_0x40e6ba[_0x7278d7(0x30b)+_0x7278d7(0x1dc)])(_0x615a6[_0x7278d7(0x321)+'ri']),await(0x0,_0x24a4e6[_0x7278d7(0x1e9)+_0x7278d7(0x2ed)])();const _0x473309=(function(){const _0x16608d=_0x7278d7;var _0x14eedb;const _0x9d34d6=_0x14dc6f['extensions'][_0x16608d(0x2d6)+'on'](_0x16608d(0x36f)+'vscode-pyl'+_0x16608d(0x19b));return null!==(_0x14eedb=null==_0x9d34d6?void 0x0:_0x9d34d6['packageJSO'+'N'][_0x16608d(0x3db)])&&void 0x0!==_0x14eedb?_0x14eedb:'9999.0.0-d'+'ev';}()),_0x20ddd8=new _0x4d90a0[(_0x7278d7(0x164))+(_0x7278d7(0x14b))](),_0x558027=new _0x296aa8['CommandMan'+'agerImpl'](),_0x9f9c17=new _0x45a731[(_0x7278d7(0x211))+(_0x7278d7(0x288))]();return _0x4a547b(_0x615a6,_0x558027,_0x4eddab[_0x7278d7(0x1b4)+_0x7278d7(0x3fb)]['runCommand'+'s'],(..._0x41cac1)=>{const _0x535ed5=_0x7278d7;_0x41cac1[_0x535ed5(0x286)](_0x3c1c5b=>{const _0x474e0c=_0x535ed5;var _0x261758;_0x558027['executeCom'+_0x474e0c(0x1a9)](_0x3c1c5b['command'],...null!==(_0x261758=_0x3c1c5b[_0x474e0c(0x145)])&&void 0x0!==_0x261758?_0x261758:[]);});}),_0x4a547b(_0x615a6,_0x558027,_0x4eddab[_0x7278d7(0x1b4)+_0x7278d7(0x3fb)][_0x7278d7(0x2f9)+_0x7278d7(0x34e)+'s'],_0x4cca2e=>{const _0x35405d=_0x7278d7;_0x14dc6f[_0x35405d(0x383)][_0x35405d(0x334)+_0x35405d(0x325)](_0x35405d(0x2ba)+'ameterHint'+'s',{'uri':_0x14dc6f['Uri']['parse'](_0x4cca2e),'languageId':_0x35405d(0x309)})[_0x35405d(0x2cd)](_0x35405d(0x403))&&_0x558027[_0x35405d(0x155)+_0x35405d(0x1a9)](_0x296aa8[_0x35405d(0x235)+_0x35405d(0x372)][_0x35405d(0x23d)+_0x35405d(0x34e)+'s']);}),_0x4a547b(_0x615a6,_0x558027,_0x4eddab[_0x7278d7(0x1b4)+'ands'][_0x7278d7(0x267)+_0x7278d7(0x219)+_0x7278d7(0x407)],(_0x161aab,_0x5e7e8b)=>{const _0x16dfdf=_0x7278d7;_0x14dc6f['commands']['executeCom'+_0x16dfdf(0x1a9)](_0x4eddab[_0x16dfdf(0x291)][_0x16dfdf(0x267)+_0x16dfdf(0x21c)],_0x161aab,_0x5e7e8b)[_0x16dfdf(0x20b)](_0x572e26=>{const _0x2baeb3=_0x16dfdf;_0x572e26&&(0x0,_0x2b4aea[_0x2baeb3(0x2bd)])(_0x572e26);});}),_0x4a547b(_0x615a6,_0x558027,_0x4eddab['ClientComm'+_0x7278d7(0x3fb)]['extractVar'+_0x7278d7(0x3fc)+_0x7278d7(0x3a7)],(_0x49af81,_0x5c14fb)=>{const _0x594d9f=_0x7278d7;_0x14dc6f[_0x594d9f(0x374)][_0x594d9f(0x155)+_0x594d9f(0x1a9)](_0x4eddab['Commands']['extractVar'+_0x594d9f(0x3e3)],_0x49af81,_0x5c14fb)[_0x594d9f(0x20b)](_0x3a271b=>{const _0x457591=_0x594d9f;_0x3a271b&&(0x0,_0x2b4aea[_0x457591(0x2bd)])(_0x3a271b);});}),_0x4a547b(_0x615a6,_0x558027,_0x4eddab[_0x7278d7(0x1b4)+'ands'][_0x7278d7(0x36b)+'e'],()=>{(0x0,_0x52d19f['default'])(_0x9f9c17,_0x473309);}),_0x4a547b(_0x615a6,_0x558027,_0x4eddab[_0x7278d7(0x1b4)+_0x7278d7(0x3fb)]['addToExtra'+_0x7278d7(0x337)],(_0x19b058,_0x1f553b)=>{const _0x27ab65=_0x7278d7;(0x0,_0xca7d5e[_0x27ab65(0x3a4)+'Paths'])(_0x20ddd8,_0x558027,_0x19b058,_0x1f553b);}),(0x0,_0x39f754['registerAu'+_0x7278d7(0x1f7)])(),{'version':_0x473309,'config':_0x20ddd8,'commandManager':_0x558027};};},0x2084:(_0x27ac02,_0x49e776,_0x1999ef)=>{const _0x37e39f=a0_0x3c93,_0x4a8803={};_0x4a8803[_0x37e39f(0x173)]=!0x0,(Object[_0x37e39f(0x159)+_0x37e39f(0x2f5)](_0x49e776,'__esModule',_0x4a8803),_0x49e776[_0x37e39f(0x164)+_0x37e39f(0x14b)]=void 0x0);const _0x3a2789=_0x1999ef(0x15d98);_0x49e776['AppConfigu'+_0x37e39f(0x14b)]=class{[_0x37e39f(0x20a)](_0x1bd57e,_0xf52304){const _0x130a6d=_0x37e39f;return _0x3a2789[_0x130a6d(0x383)][_0x130a6d(0x334)+'ration'](_0x1bd57e)[_0x130a6d(0x2cd)](_0xf52304);}async[_0x37e39f(0x405)+_0x37e39f(0x33a)](_0x2f1eb7,_0x7a3834,_0x3cdbfa,_0x195592){const _0x3f0116=_0x37e39f;await _0x3a2789[_0x3f0116(0x383)][_0x3f0116(0x334)+_0x3f0116(0x325)](_0x2f1eb7)[_0x3f0116(0x1cc)](_0x7a3834,_0x3cdbfa,_0x195592);}[_0x37e39f(0x277)](_0x184437,_0x1c0cdb){const _0x5f29bd=_0x37e39f;return _0x3a2789['workspace']['getConfigu'+_0x5f29bd(0x325)](_0x184437)[_0x5f29bd(0x277)](_0x1c0cdb);}[_0x37e39f(0x334)+_0x37e39f(0x325)](_0x2cddc9,_0x306050){const _0x34c019=_0x37e39f;return _0x3a2789['workspace'][_0x34c019(0x334)+_0x34c019(0x325)](_0x2cddc9,_0x306050);}};},0xf21:(_0x187570,_0x502269,_0x15375d)=>{const _0x4a8a8b=a0_0x3c93,_0x139710={};_0x139710[_0x4a8a8b(0x173)]=!0x0,(Object['defineProp'+_0x4a8a8b(0x2f5)](_0x502269,_0x4a8a8b(0x3cd),_0x139710),_0x502269[_0x4a8a8b(0x211)+_0x4a8a8b(0x288)]=_0x502269[_0x4a8a8b(0x2bf)]=void 0x0);const _0x231c78=_0x15375d(0x15d98);function _0x2ca24f(_0x4bae34){const _0x40ce80=_0x4a8a8b;_0x231c78[_0x40ce80(0x3bb)]['openExtern'+'al'](_0x231c78[_0x40ce80(0x25a)][_0x40ce80(0x2a0)](_0x4bae34));}_0x502269[_0x4a8a8b(0x2bf)]=_0x2ca24f,_0x502269[_0x4a8a8b(0x211)+_0x4a8a8b(0x288)]=class{['launch'](_0x5df252){_0x2ca24f(_0x5df252);}};},0x4652:(_0x416578,_0x5f032d,_0x687936)=>{const _0x4c0195=a0_0x3c93,_0x2a2b8c={};_0x2a2b8c['value']=!0x0,(Object[_0x4c0195(0x159)+_0x4c0195(0x2f5)](_0x5f032d,_0x4c0195(0x3cd),_0x2a2b8c),_0x5f032d[_0x4c0195(0x2fb)+'agerImpl']=_0x5f032d[_0x4c0195(0x235)+_0x4c0195(0x372)]=void 0x0);const _0x14b7a2=_0x687936(0x15d98);!function(_0x4df9ea){const _0x42e101=_0x4c0195;_0x4df9ea[_0x42e101(0x333)+'ow']=_0x42e101(0x362)+'action.rel'+_0x42e101(0x1a1),_0x4df9ea['InstallExt'+_0x42e101(0x251)]=_0x42e101(0x362)+_0x42e101(0x206)+_0x42e101(0x40a)+'tension',_0x4df9ea[_0x42e101(0x23d)+_0x42e101(0x34e)+'s']='editor.act'+_0x42e101(0x2ef)+_0x42e101(0x1e0)+_0x42e101(0x3fa);}(_0x5f032d[_0x4c0195(0x235)+_0x4c0195(0x372)]||(_0x5f032d[_0x4c0195(0x235)+_0x4c0195(0x372)]={})),_0x5f032d[_0x4c0195(0x2fb)+_0x4c0195(0x2a7)]=class{['executeCom'+_0x4c0195(0x1a9)](_0xa9135d,..._0x48fabf){const _0x141544=_0x4c0195;return _0x14b7a2[_0x141544(0x374)][_0x141544(0x155)+_0x141544(0x1a9)](_0xa9135d,..._0x48fabf);}[_0x4c0195(0x152)+'mmand'](_0x22bc22,_0x46b3c5,_0x43d482){const _0x473f9d=_0x4c0195;return _0x14b7a2[_0x473f9d(0x374)][_0x473f9d(0x152)+_0x473f9d(0x2b9)](_0x22bc22,_0x46b3c5,_0x43d482);}};},0x15d98:_0x5071e4=>{const _0x28e508=a0_0x3c93;_0x5071e4[_0x28e508(0x228)]=require('vscode');},0x9a43:_0x482f34=>{const _0x1fa259=a0_0x3c93;_0x482f34[_0x1fa259(0x228)]=require(_0x1fa259(0x1dd));},0x37dc:_0xfdb354=>{_0xfdb354['exports']=require('buffer');},0x17e1:_0x2ca498=>{const _0xd3722b=a0_0x3c93;_0x2ca498[_0xd3722b(0x228)]=require(_0xd3722b(0x232));},0x141b9:_0x44275e=>{const _0x45d242=a0_0x3c93;_0x44275e[_0x45d242(0x228)]=require(_0x45d242(0x2aa));},0xdf3b:_0x576023=>{const _0x2d5971=a0_0x3c93;_0x576023[_0x2d5971(0x228)]=require('fs');},0x3575:_0xc7fb2d=>{const _0x16d792=a0_0x3c93;_0xc7fb2d[_0x16d792(0x228)]=require(_0x16d792(0x16e));},0x175c7:_0x170c79=>{const _0x26904f=a0_0x3c93;_0x170c79[_0x26904f(0x228)]=require(_0x26904f(0x34d));},0xa350:_0xddf986=>{const _0x4e1d13=a0_0x3c93;_0xddf986[_0x4e1d13(0x228)]=require(_0x4e1d13(0x147));},0x5615:_0x2dd300=>{const _0xa20706=a0_0x3c93;_0x2dd300[_0xa20706(0x228)]=require('os');},0x11569:_0xcf8a79=>{const _0x210064=a0_0x3c93;_0xcf8a79[_0x210064(0x228)]=require('path');},0x14de5:_0x3349bc=>{const _0x2c0552=a0_0x3c93;_0x3349bc[_0x2c0552(0x228)]=require('punycode');},0xf7f5:_0x46be73=>{const _0x1c0fce=a0_0x3c93;_0x46be73[_0x1c0fce(0x228)]=require(_0x1c0fce(0x2d4)+'g');},0x31ed:_0x16ac63=>{const _0x1a9dd7=a0_0x3c93;_0x16ac63['exports']=require(_0x1a9dd7(0x3b6));},0x11798:_0xbfc799=>{const _0x27835c=a0_0x3c93;_0xbfc799[_0x27835c(0x228)]=require('string_dec'+_0x27835c(0x282));},0xd600:_0x205bc1=>{const _0x262d04=a0_0x3c93;_0x205bc1[_0x262d04(0x228)]=require('timers');},0x5f54:_0x1beeb0=>{const _0x3f3db5=a0_0x3c93;_0x1beeb0[_0x3f3db5(0x228)]=require(_0x3f3db5(0x1f3));},0xdfde:_0x902b4d=>{const _0x5a5f93=a0_0x3c93;_0x902b4d[_0x5a5f93(0x228)]=require('url');},0x1206d:_0xe339b6=>{const _0x575ac3=a0_0x3c93;_0xe339b6[_0x575ac3(0x228)]=require(_0x575ac3(0x317));},0xe994:_0x4d2dd5=>{const _0x5648df=a0_0x3c93;_0x4d2dd5[_0x5648df(0x228)]=require(_0x5648df(0x32d));}},_0x3d4feb={};function _0x17d01a(_0xce93c1){const _0xaf9373=a0_0x3c93;var _0x57a148=_0x3d4feb[_0xce93c1];if(void 0x0!==_0x57a148)return _0x57a148[_0xaf9373(0x228)];var _0x457b66=_0x3d4feb[_0xce93c1]={'id':_0xce93c1,'loaded':!0x1,'exports':{}};return _0x2234cc[_0xce93c1][_0xaf9373(0x1a0)](_0x457b66[_0xaf9373(0x228)],_0x457b66,_0x457b66[_0xaf9373(0x228)],_0x17d01a),_0x457b66['loaded']=!0x0,_0x457b66[_0xaf9373(0x228)];}const _0x3bab9b={};_0x3bab9b[_0x143297(0x354)]=_0x143297(0x2db),_0x3bab9b[_0x143297(0x171)]=_0x143297(0x370),(_0x17d01a['m']=_0x2234cc,_0x17d01a['x']=()=>{var _0x113962=_0x17d01a['O'](void 0x0,[0x2e0,0x375],()=>_0x17d01a(0x1e72));return _0x113962=_0x17d01a['O'](_0x113962);},_0x583e40=[],_0x17d01a['O']=(_0x47d77f,_0x43b724,_0x389177,_0x364543)=>{const _0x587aca=_0x143297;if(!_0x43b724){var _0x281c20=0x1/0x0;for(_0x3a581a=0x0;_0x3a581a<_0x583e40[_0x587aca(0x3f0)];_0x3a581a++){for(var [_0x43b724,_0x389177,_0x364543]=_0x583e40[_0x3a581a],_0x2259d3=!0x0,_0x11915d=0x0;_0x11915d<_0x43b724['length'];_0x11915d++)(!0x1&_0x364543||_0x281c20>=_0x364543)&&Object[_0x587aca(0x377)](_0x17d01a['O'])[_0x587aca(0x2c1)](_0x292a21=>_0x17d01a['O'][_0x292a21](_0x43b724[_0x11915d]))?_0x43b724[_0x587aca(0x256)](_0x11915d--,0x1):(_0x2259d3=!0x1,_0x364543<_0x281c20&&(_0x281c20=_0x364543));if(_0x2259d3){_0x583e40['splice'](_0x3a581a--,0x1);var _0x44855d=_0x389177();void 0x0!==_0x44855d&&(_0x47d77f=_0x44855d);}}return _0x47d77f;}_0x364543=_0x364543||0x0;for(var _0x3a581a=_0x583e40['length'];_0x3a581a>0x0&&_0x583e40[_0x3a581a-0x1][0x2]>_0x364543;_0x3a581a--)_0x583e40[_0x3a581a]=_0x583e40[_0x3a581a-0x1];_0x583e40[_0x3a581a]=[_0x43b724,_0x389177,_0x364543];},_0x17d01a['n']=_0x288342=>{const _0x42c463=_0x143297;var _0xe503a1=_0x288342&&_0x288342[_0x42c463(0x3cd)]?()=>_0x288342[_0x42c463(0x161)]:()=>_0x288342;return _0x17d01a['d'](_0xe503a1,{'a':_0xe503a1}),_0xe503a1;},_0x17d01a['d']=(_0x1304e3,_0x5ed6c5)=>{const _0x1c3845=_0x143297;for(var _0x1f34b5 in _0x5ed6c5)_0x17d01a['o'](_0x5ed6c5,_0x1f34b5)&&!_0x17d01a['o'](_0x1304e3,_0x1f34b5)&&Object[_0x1c3845(0x159)+_0x1c3845(0x2f5)](_0x1304e3,_0x1f34b5,{'enumerable':!0x0,'get':_0x5ed6c5[_0x1f34b5]});},_0x17d01a['f']={},_0x17d01a['e']=_0x2afdf9=>Promise[_0x143297(0x2f1)](Object['keys'](_0x17d01a['f'])[_0x143297(0x349)]((_0x116d25,_0x4cb0c1)=>(_0x17d01a['f'][_0x4cb0c1](_0x2afdf9,_0x116d25),_0x116d25),[])),_0x17d01a['u']=_0x291ba0=>_0x3bab9b[_0x291ba0]+'.bundle.js',_0x17d01a['o']=(_0x17834d,_0x580656)=>Object[_0x143297(0x38a)]['hasOwnProp'+_0x143297(0x2f5)][_0x143297(0x1a0)](_0x17834d,_0x580656),_0x17d01a['r']=_0x511241=>{const _0x50bf25=_0x143297,_0x8e3e56={};_0x8e3e56['value']=_0x50bf25(0x375);const _0x46d298={};_0x46d298[_0x50bf25(0x173)]=!0x0,(_0x50bf25(0x1aa)!=typeof Symbol&&Symbol[_0x50bf25(0x2c2)+'g']&&Object[_0x50bf25(0x159)+_0x50bf25(0x2f5)](_0x511241,Symbol['toStringTa'+'g'],_0x8e3e56),Object[_0x50bf25(0x159)+_0x50bf25(0x2f5)](_0x511241,_0x50bf25(0x3cd),_0x46d298));},_0x17d01a['nmd']=_0x4e9f22=>(_0x4e9f22[_0x143297(0x2ea)]=[],_0x4e9f22[_0x143297(0x2d5)]||(_0x4e9f22['children']=[]),_0x4e9f22),_0x17d01a['j']=0x382,((()=>{const _0x4e1325=_0x143297,_0x3e78df={};_0x3e78df[_0x4e1325(0x361)]=0x1;var _0x2837be=_0x3e78df;_0x17d01a['O'][_0x4e1325(0x3f5)]=_0x4a9521=>_0x2837be[_0x4a9521],_0x17d01a['f']['require']=(_0xe3d04,_0x295fdf)=>{_0x2837be[_0xe3d04]||(_0x5ec6c6=>{const _0x3c8c10=a0_0x3c93;var _0x5e04e0=_0x5ec6c6[_0x3c8c10(0x3b9)],_0x4303c4=_0x5ec6c6[_0x3c8c10(0x14c)],_0x2ffb70=_0x5ec6c6[_0x3c8c10(0x22e)];for(var _0x40e534 in _0x5e04e0)_0x17d01a['o'](_0x5e04e0,_0x40e534)&&(_0x17d01a['m'][_0x40e534]=_0x5e04e0[_0x40e534]);_0x2ffb70&&_0x2ffb70(_0x17d01a);for(var _0x53cac1=0x0;_0x53cac1<_0x4303c4[_0x3c8c10(0x3f0)];_0x53cac1++)_0x2837be[_0x4303c4[_0x53cac1]]=0x1;_0x17d01a['O']();})(require('./'+_0x17d01a['u'](_0xe3d04)));};})()),_0x4baad9=_0x17d01a['x'],_0x17d01a['x']=()=>(_0x17d01a['e'](0x2e0),_0x17d01a['e'](0x375),_0x4baad9()));var _0x468f80=_0x17d01a['x']();module[_0x143297(0x228)]=_0x468f80;})()));function a0_0x3c93(_0x19d11b,_0x5544e9){const _0x4cedb9=a0_0x4ced();return a0_0x3c93=function(_0x3c9328,_0x340b71){_0x3c9328=_0x3c9328-0x12f;let _0x40dabc=_0x4cedb9[_0x3c9328];if(a0_0x3c93['QcvLAn']===undefined){var _0x33da6d=function(_0x20263b){const _0x30feee='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3807b9='',_0x5b4844='';for(let _0xb7db46=0x0,_0x56fa07,_0x34dcc4,_0xce84b5=0x0;_0x34dcc4=_0x20263b['charAt'](_0xce84b5++);~_0x34dcc4&&(_0x56fa07=_0xb7db46%0x4?_0x56fa07*0x40+_0x34dcc4:_0x34dcc4,_0xb7db46++%0x4)?_0x3807b9+=String['fromCharCode'](0xff&_0x56fa07>>(-0x2*_0xb7db46&0x6)):0x0){_0x34dcc4=_0x30feee['indexOf'](_0x34dcc4);}for(let _0x15b769=0x0,_0x12c413=_0x3807b9['length'];_0x15b769<_0x12c413;_0x15b769++){_0x5b4844+='%'+('00'+_0x3807b9['charCodeAt'](_0x15b769)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b4844);};a0_0x3c93['iQmkGk']=_0x33da6d,_0x19d11b=arguments,a0_0x3c93['QcvLAn']=!![];}const _0x3d3c66=_0x4cedb9[0x0],_0x52d195=_0x3c9328+_0x3d3c66,_0x46c511=_0x19d11b[_0x52d195];return!_0x46c511?(_0x40dabc=a0_0x3c93['iQmkGk'](_0x40dabc),_0x19d11b[_0x52d195]=_0x40dabc):_0x40dabc=_0x46c511,_0x40dabc;},a0_0x3c93(_0x19d11b,_0x5544e9);}function a0_0x4ced(){const _0x5cba2b=['C3bSAwnL','sw5ZDgfSBev4Da','jcHJBg91zc1KBW','Aw5KzxHpzG','vxjP','zvrLEhreB2n1Bq','BM93','ChL0Ag9UlNjLBq','DMuGDxjPoIa','iJOGiLrYywnLiG','CMnL','CMvTB3zLvw51CW','AwDUB3jLrxjYBW','Dgv4DerVy3vTzq','BhDHCMu7ig9Y','BIb2zxjZAw9Uia','ww91CIbqEwXHBG','zxH0CMfJDe1LDa','ugfYyw0','BMDZlMPZB24GzG','zhvJDhmGyw5Kia','zgLVienVzgu','Aw5KtwvmyxrLCG','y2uGAw5ZAwrLCG','De9U','vg9Rzw5PEMvY','yw5HBhLZAxmUAq','ihnPz25PzMLJyq','C2vSzwn0Aw9UCW','DwLSzcbVzIbqEq','z0LUC2LKzxjZ','yxbWzw5KtgLUzq','C2v0','Aw5ZCgvJDa','x2rVD25SB2fKra','D29YA3nWywnLrG','C2v0DgLUz3nnAq','kgfUzcbKAxn0CG','ignHDxnLigeGBa','zMLSAw5NigfUia','C3rYAw5NAwz5','BM9uAgfUA3m','mtbvywvxALO','z05HBwu','B2rLCG','BgLJzw5ZzuvYCG','yw5KihnLCNzPyW','ig9YihrOAxmGyq','zM9YrwfJAa','yxjnzxnZywDL','DMLJzuLTCgW','nduZnZu0mM56D2nWwa','BgfIzwXzzxm','B3DUz3jHzgu','BNn0ywXSAw5Nsq','ww91ig1HEsbPBG','BhrL','u2vYDMLJzxpIGj0P','qMXVyLnLCNzPyW','q29TBwfUzhm','zgLZDa','BgfIzwXeB3DUzW','CY9UzxC','yxr0zw1WDcb0BW','BsbgB3vUzgf0Aq','DxnLigfUEsbUDq','zwnR','BMX5igfSBg93ia','vgv4DerLy29Kzq','uhLSyw5Jzu5HBq','x2v4CgLYEur1CG','is0TcKvUywjSzq','ihLVDsbSAwTLia','y3jLyxrLv29YAW','CgfYC2u','zwrjBxbVCNq','sw5ZAwrLCNnmyq','zwrPDg9YlMfJDa','ChbSAwnHyMXLia','y3jLzw50B2DPzG','A2uGAhr0Chm6lW','ywDLCKLTCgW','zxrLCKHPBNrZ','ywX1zq','zxzLBNrZ','DcbPCYbOyxbWzq','BgfIzwXoBW','ihrYywnLigXVzW','BhvL','wfGGj1bSzwfZzq','DgHVBIbmyw5NDq','CNndAgfUBMvSuW','ihrLCM1ZigfIBW','B24Gy29UzMLNDq','B3rOzxj3AxnLia','DwLSzc4UlG','z3jLzw1LBNqGDa','ihLVDsbZDgLSBa','kgv4y2vWDcbMBW','Bw1HBMq','zwrPDg9YlNbHCG','uMv2zwfSvhLWzq','C2LKzxjZ','CMvUyw1LrwrPDa','BgLUzunVDw50','Bgf1BMnO','yxrPB25nzxnZyq','zxzLCNK','Dg9tDhjPBMDuyq','DMuPla','Dgv4Da','CgXHDgzVCM0','Cgv0','BgfUz3vHz2vjza','vgvZDf9fCNjVCG','ChLSyw5Jzs5Hza','EwvZ','B3iGAxrZihn1Ca','ChLSyw5Jzs1PBG','z2v0','z3mGy291BgqGBG','y3jLyxrLt3v0Ca','u25PChbLDfn0CG','zMvYAw5NigzVCG','CMuUD2LUzg93CW','ChLSyw5Jzs5LEa','CxvLCNLZDhjPBG','y2HPBgrYzw4','z2v0rxH0zw5ZAq','yxrO','CNLjBxbS','CIbHBNKGzgLZDa','zw5KC1DPDgG','DMvUzg9Y','yM9KEq','yMfZzw5HBwu','ChL0Ag9UlM9Yza','BKnVBw1HBMrqCG','sw5ZAwrLCNndDq','CMvWzwf0','mZ4kcJWHls0ktG','ndK1ntu1mMTvtMn0uG','B3rPy2vZig9Mia','BLnOzwXSsw1WBa','Aw5ZAwrLCNnmyq','zuLTCgW','ig9UBhKGz2L2zq','DgvTu2vSzwn0zq','Cgf0Ahm','l3D3DY5JB2nRBW','lMPZB24','EMvKu3rYAw5NCW','jcHJAgvJAYK','Aw9UlNrYAwDNzq','BMDLCW','ywXS','C2LVBG','zMLUzwq','CgXPzxjZigLUia','zxj0Eq','B3jKzxjjBxbVCG','C3rYAxbgAwXLrq','zwXSAwnVzguUBa','DhjPz2DLCLbHCG','AwnYB3nVzNqGCG','q29TBwfUze1HBG','CMvNAxn0zxjbDq','ChL0Ag9UlG','DgH1yI5JB20VBq','yxbWzw5KugXHyW','mZ4Gqwn0DwfSia','x19ZzxrnB2r1Ba','zxjTCYbNB3zLCG','tgvMDa','zg93BMXVywrPBG','zc1HBg9UzsbVzG','igL0igLUignLCG','ihjPz2H0CYb0BW','u2vTvMvY','ChL0Ag9U','x0nptKzjrW','C2v0rxH0zw5ZAq','cGO8Adm+ieXVzW','D2vI','zg93BMXVywruBW','zguGDg8GDxnLia','x19JCMvHDgvcAq','zgLVienVzguGlq','zsbZB3vYy2uGyW','CYa8l2GZpGOkpa','B24Uyw5HBhLZAq','AwnLBNnPBMCGDa','B25uB2TLBLnVDq','DxrPBa','Aw5ZDgfSBgLUzW','zwrPDhm','Dg9Rzw4','B3juzxH0','Dc4kcMH0DhbZoG','jcH4kq','C2vSzwn0Aw9U','mteZmdm2mJjuzeDysMe','Bgf0','zxH0zw5ZAw9Uvq','zcbWyxj0Es4','BwjLCIbVzIbJBW','BMLTAxPLlcbIBa','CMf0Aw9U','x19PBxbVCNrezq','D29YA3nWywnLuW','BgLZDejSB2jZrG','zcb2zxjZAw9UoG','Dg9tDhjPBMC','CMvKigj5ihrOAq','C2HVD0LUzM9YBq','EMXPyG','Bg9JywXPEMu','DgHLihnVzNr3yq','x2TLEq','DMvYC2LVBJOG','C3ndDxn0B21jyW','uMvSB2fKv2LUza','z2v0q29UzMLNDq','Dhb1DcbWyw5LBa','A2v0CW','ugf0Ahm','Bg9HzgvKqNL0zq','igfNCMvLBwvUDa','Aw5N','AgfZt3DUuhjVCa','B2zM','tgfUz3vHz2vtzq','z3rO','mJrtBeLdtKm','zgvHy3rPDMf0zq','CNzLCG','ygakcJXOmZ4GqW','ihrVigrLDMvSBW','ig91Dhb1DcbMCG','Ahr0Chm6lY9NAq','BM5LBa','CY5JB20VBgLJzq','B2fK','CMvKDwnL','zwn0ihrVihrOzq','ywn0ihjLC3vSDa','q2fUy2vSBgf0Aq','Ahr0Chm','yw1LDgvYsgLUDa','BMLUzYb1C2uGBW','z2v0tgf0zxn0','y29TBw9U','sw5ZAwrLCNndAa','zwXSAwnVzguU','nZm2','rgvMyxvSDa','B25dAgfUz2u','BI5HBMfSExnPCW','x2XHC3rvCgrHDa','igrLDgfPBhmU','yMvOyxzPB3vYia','ChLSyw5Jzs5YDq','Dgf0Aw9UCYbPBG','C3nVCIbnAwnYBW','yxv0B0nVBxbSzq','CMfKzq','BNrdB21Tyw5K','odK4','D29YA2jLBMnOlG','Dsb0AgLUAYbHia','zxj2zxjpDxrWDq','DcbVzIbPBMzVia','yYWGvMLZDwfSia','B2rLigzVCIb0Aa','x3jLC2v0q29SBa','zxHJzxb0igfUza','D29YA3nWywnLvG','CMvWB3j0sxnZDq','jcHJAxjJBguTCW','zfDPDgHszw5HBq','CM9UBwvUDcbKyq','BxmTChL0Ag9UlG','ChLYAwDODa','ihvZzsWGB3iGDa','yw5K','sw5ZAwrLCNm','y29TBwfUzhm','tw9KDwXL','BNn0ywXSzwrjBG','A2v5CW','ifn0DwrPBYbdBW','C3jJ','zxjLignVCgLLza','B21WBgv0Aw9Usq','q29TBw9U','CNzLCLnLDhrPBG','ywn0AxzHDgu','BNnLzcWGBM90ia','ihvZzsb0AguGCW','BMLUzYb3B3vSza','igjLigHLBhbMDq','D29YA3nWywnL','pc9OmZ4kcLHywa','y2HHBMDLCW','ChvZAa','Aw5ZAwrLCNmGyG','zg93BMXVywq','B3qGyMuGBwLNCG','ChjVDg90ExbL','CZOVl2DPDgH1yG','zxr0Aw5N','AxnbCNjHEq','qMXVyLn0B3jHzW','x3vWzgf0zunOyq','zsbJB21WB25LBG','BhLZAxm','zg93BMXVywqP','C3bHy2vqzxjZAq','l1rst1vctevtsa','zw50','C2HVD1DHCM5PBG','ugXLyxnLihjLBa','CMu7','ihrOAxmGD2LSBa','BgXLza','z2XVyMfSvMfSDq','y3jLyxrLu3rHDa','DgHLigLUC2LKzq','Bg9Nz2LUzYbPCW','y2XPCgjVyxjK','DhjHy3rnzxrOBW','zIbJzxj0ywLUia','pGOkygbGChL0Aa','AgfUBMvS','ywrKvg9fEhrYyq','DgfPBIb3yxLZoW','ifb5DgHVBIbVDq','zw5HBwu','ihrOzsbSyxrLCW','D25SB2fKkq','u3rHDgvjBxbS','CNjLBNrdAgfUBG','BMDZtwLNCMf0zq','BgLNBM1LBNq','ChL0Ag9UlMnYzq','u3rHDgvlzxK','ww91ig1HEsbUBW','Dg9mB3DLCKnHCW','wwvZ','AxrPB25uB09MzG','lMfUywX5C2LZlG','BYbHBNKGDgHPCG','C3rYzwfT','x3vWzgf0zq','Bwf0Aw9UidWVAa','Bw9KDwXLCW','z2uGu2vYDMvYia','zw52','yxv0B0nSB3nPBG','CM9VDc4','yxjJAa','CYbJAgfUBMvSia','BcbVDgHLCIbYAq','Bg9Il21HC3rLCG','Dgf0zq','lY9NAxrODwiUyW','DhvYBKL0t24','BMTZ','Ahr0Chm6lY9WDG','x2LZrgv2qNvPBa','AwXKigLUC3rHBa','DwfNzvnLCNzLCG','zMLSzq','z1f1B3rLCW','C09MzG','x19LC01VzhvSzq','BMLJywWGBgLTAq','x3bYB21WDfn0yq','B24Gu2vYDMvYla','yw5HBhLZAxmUzq','B2fKifzPC3vHBa','BxbVCNq','BwLNCMf0zvnLDa','DgHZ','igfUzcbZDwnJzq','ChLSyw5Jzs4','x2nVBMzPzW','CMvHzezPBgu','AxnZDwuGzMLYCW','DMvYC2LVBG','BMrPBMC','z2v0q29UDgfPBG','BgLUzq','zwfZzs9PC3n1zq','tM8GDgHHBMTZ','ifzPC3vHBcbtDa','C3vIC2nYAxb0Aq','AwfIBgu','lMnVBs9WAhCVCa','zg93BMXVywrcBa','z3jHDgvKtwvZCW','C2v0u3rHDhvZqG','pGOkwfHycGO8Aa','zxHLy3v0zwrdBa','x3DVCMTZCgfJzq','ywnVBMrHktOGcG','y29UDgvUDenOyq','B3bHz2f0zsbTyq','ChLSyw5Jzs5JBW','zxr0Aw5NCW','BgvUz3rO','yxjLihrOyxqGBW','y29UDMvYDfbVCW','lsaGieXHBMD1yq','z3jHDgLVBKvYCG','CMvXDwLYzq','DxjP','cJWHls0kuMvHza','CMvWB3j0','uMvTAw5Kig1Lia','sgLUDhm','yw5KCW','AwfIBgvxAxrOuG','zgvKigLUihrOzq','B3jdB2XSzwn0Aq','zMLSAw5NlwfUlq','zgLVigzVCIbnyq','DgvZDa','z2LUzwvYlcbKzq','zw5HyMXLza','u3r1zgLVienVza','DxbKyxrLu2v0Da','zhvTCezPBgvezq','yw1L','zwvRig9YigH0Da','Dg8GyMuGChjPBG','lMLUC3rHBgXfEa','uhLSyw5Jzq','DhjHBNnSyxrL','uMfUz2u','sw5ZDgfSBgLUzW','zsWGzs5NlIbbBG','ChLSyw5Jzq','u3rHDgu','zfjLBg9Hza','u2v0DgLUz3mGyq','ihrVihrOzsbLEa','zxH0CMfqyxrOCW','sw5ZAwrLCNmUAq','mJe0wKv5vfzA','x2rLzMf1Bhrwyq','CNzLCI5Zzxr0Aq','C2mUyMXVyI5JBW','x2nTze1HBMfNzq','CZOG','B3DUBg9HzgLUzW','zNvSBeLUC2LKzq','B20VBwLJCM9ZBW','BxbgAwXLrgvIDq','y3rZ','yxjNDw1LBNrZ','CY5QC29U','BMv0','Aw9UlNjLBMfTzq','BgfIzwXzzxnbBG','ieLUC2LKzxjZ','CMf0Aw9Usw1WBa','AwrZ','sw50zwXSAunVza','zMXHz3m','ChLSyw5Jzs5Yzq','x3zLCNnPB24','x19PBxbVCNrtDa','CMvNAxn0zxjdBW','B2XKzxjwywX1zq','zw51BwvYywjSzq','zxHLy3v0zunVBq','D2LUzg93','BgfIzwXszwXVyq','v29YA3nWywnL','zgvMAw5LuhjVCa','y29TCgLSzsbVCG','qxbWBgLJyxrPBW','BNnPzgvYCW','ywDL','zwn0zwqGyMvOyq','D2L0Aa','Awj1DgLVBIbPzG','zgvMyxvSDa','x3n0B3jHz2u','CMv2zwfSuMfUzW','qxbWq29UzMLNDq','y29UDgvUDeXLBG','rwrPDg9Y','AwvUDenVBw1HBG','y3jLyxrL','zxjjBxbVCNrZ','DguUzxH0CMfqyq','DwrPBYW','EhrYyvbHDgHZ','CYb5B3uGC29Tzq','Ahr0Ca','B25fCNjVCG','zxH0zw5ZAw9Uua','odG1','AwXKlI4U','DMfSDwu','BgLZDejSB2jZ','AxnqEwXHBMnLra','zwf0zsbVCIbWCG','x2DLDenVBNrHAq','Aw9UvgfYz2v0','ihrVihLVDxiGCW','t2n0AwnVBNm','mZbOqvDOqvO','zNvSBfb5DgHVBG','t09usu5hlM1KiW','y29KzsWGC3vIAG','BNqUcI0TpGPqEq','CMLIDxrHyMXLia','CNvUq29TBwfUza','zxjdBgLLBNq','Aw5ZAwrLCNndAa','DgvY','lIbqBgvHC2uGyW','lMnVBs8GlGOTlq','zsbZB2z0D2fYzq','BgfIzwXjBNn0yq','zwrPDg9Y','zgf0yq','ugvYC2LZDgvUDa','ihLVDxiGyxbWBa','igXLzNqGBg9UzW','DhmGDgHHDcbTyq','DhjHy3rwyxjPyq','B21WBgv0zuz1BG','BwLNCMf0zvyXuW','z2v0rMLSzuv4Da','AwnYB3nVzNqVCa','z3jHDgLVBK1HCa','lNzZAxG','iM9MzIiSigj1Da','yw5UzwXtzxr0Aq','zunVBxbSzxrPBW','CMfUz2u','zvnLCNzLCKv4Da','yw5Jzq','AM9PBG','BMrLEgLUzW','Aw5Ntw9KztOG','odeZm1vtzw1Mwa','y2fSBa','B2fKv2LUzg93','ChjLCMvSzwfZzq','igHHDMuGyw4GAq','zunSAwvUDa','BgfUz3vHz2vtzq','zsbZzxr0Aw5NCW','BgfUz3vHz2vezq','vgvZDf9tA2LW','BwfUza','Dw5KzwzPBMvK','zuXVywrfEhrLBG','nJCYnZC4vNDuu1vu','y3qGB2yGDgHLia','qw5VBNLTB3vZqW','vMLZDwfSifn0Dq','z2XVyMfSu3rHDa','B25Z','BNnPzgvYCYbIDq','zcbHBNKGDgvJAa','q2XPzw50q29TBq','z2v0vgv4Da','ihrOzsbNDwLKzq','zMLNDxjHDgLVBG','ChL0Ag9UlMLUDa','cI0GicbqExrOBW','AgvJAYbZzxr0Aq','ExbLq2HLy2TPBG','x3jLywr5vg9dAa','AM9PBLbHDgG','CMf0Aw9UigzPBa','ywn0AxzLvgv4Da','z2v0qMXVyKnSAq','zs4kcKfKzgLUzW','AxmGC2v0ihrVia','DgLUzW','B20GEw91CIbJBa','C2HVD0vYCM9Ytq','x2nVBNrHAw5LCG','Ew91ihrVihvZzq','vLndt0rfx05muW','zxHWAxj5','zg9JDw1LBNq','Aw50zwXSAunVza','DxbKyxrL','DxbKyxrLvMfSDq','zg93BMDYywrLsq','zw4TDxm','sw5ZAwrLCNnjBq','BxbSzxrPB25byW','BNrZ','BgfUy2u/','BMfTzq','y3rPB25qyxjLBG','zYbqEwXHBMnLia','BMvY','yxnZzxj0rgvMAq','B2rLifnUAxbWzq','B2fKtgfUz3vHzW','ChL0Ag9UlNzPzq','B25sB290','yxnZzxj0','igXLyxnLihrOzq','rg93BMXVywrPBG','CLbHCMfTzxrLCG','Aw5NihnLDhrPBG','CMvSB2fK','zgfPBhK','B25tDgfYDhvW','ywX3yxLZ','r0Lgig9MihDOyq','AwDNzxjqyxjHBq','CgfJA2fNzs5UBa','Bg9HzeXVy2fSAq','u3rHDgvgywn0BW','ug9ZAxrPB24','DcbZDgfIBguGyG','vw5HyMXLihrVia','vgvZDf9qyxnZ','lNr5CgvdAgvJAW','CLbHCMfT','zxr0Aw5NCY5QCW','yw5HBhLZAxmUyW','DgXZ','zwHVBgrLCG','DxncyxjjDgvT','DxrdAgfUBMvS','Dg9dBg9ZAw5N','Aw5ZDgfSBgvKsq','zw50CMLLCW','yMXLv2L0AfjLBG','BNn0ihrOzsbSyq','BNrtDgf0zq','x2DLDefZA2vKrG','CMvKzw50AwfS','DgLVBG','iaOGAw4GzxH0CG','CMvTB3zLlcbTAq','BwfUy2uGAw1Wyq','rgvMyxvSDe5HBq','CMqGCgfYDhKGBa','y2f0y2G','zxH0zw5ZAw9UCW','mtCXmJyXsgHRuLrm','B2XKzxi','ywXqzxjZAxn0zq','z2v0u2v0DgLUzW','DgHLBG','yxbWtMfTzq','x2DSB2jHBfn0yq','yxrPB25nCW','zsbtzxj2zxiGDW','x2fWCfnOzwXS','qNjVD3nLCLnLCG','zgvJB2rL','D2L0AfbYB2DYzq','x2n1CNjLBNrdAa','B24kwfHycMbGya','sw5ZAwrLCNmUza','cJXOmZ4Grw52Aq','C3rLBNrtDgf0zq','Ag9Kv2L0AfjLBG','rMLSzq','zMf1Bhq','Ag9K','x29Usw5ZAwrLCG','u3r1zgLVifbYBW','yw5UzwW','C3rHCNq','mtq2nZa1m3z1A2rjDa','DcaViefKzgL0Aq','z0LUzM8','DgHLihbLCMzVCG','ChL0Ag9UlMfKza','ig9UBhKGD2L0Aa','C3rvCgrHDgu','zxHWB3j0CW','q29TBw9UlLLLCW','BMDZtwLNCMf0Aq','q29UzMLNDxjHDa','CgLLCYbVzIb0Aa','DhLWzq','CNvUDgLTzq','x2jSB2jtDg9Yyq','u2vSzwn0Aw9U','ywn0AxzHDgvtAa','y3j5ChrV','BguGDgHLihnVzG','y3jLyxrLr2XVyG','rwrPDg9Yq29TBq','zNqGtgfUz3vHzW','CY5SB2DmzxzLBa','CMfUC2zLCIb0Aa','DMLVDxiGpc9OmW','zxH0CMfJDfzHCG','zxnJyxbLzfzHBa','zwzPEa','vhjPz2DLCLbHCG','EwXHBMnLlxjLBa','ieXVzWPGygakwa','ChLSyw5Jzs50CG','zfrVrxH0CMfqyq','DgvKihrVihrOzq','zurLzMf1Bhq','zwzHDwX0tgfUzW','Bgf0zxi','zw5K','yMXL','zxnZywDL','v29YA3nWywnLrG','igrPC2fZC2vTyG','igrLCML2zsb0Aa','BKL0zw1dB21Tyq','CNzLCI50DxjUsq','zgvMyxvSDfzHBa','ihnVzNr3yxjLoW','D0XHBMD1ywDLuW','zw5ZAw9U','B25eAwrdAgfUzW','yxjLza','zwzMzwn0AxzLqW','BgfUz3vHz2u'];a0_0x4ced=function(){return _0x5cba2b;};return a0_0x4ced();} \ No newline at end of file diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/folderIndex.json b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/folderIndex.json deleted file mode 100644 index dc35c5f0..00000000 --- a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/folderIndex.json +++ /dev/null @@ -1 +0,0 @@ -{"files":["extension.bundle.js","server.bundle.js","vendor.bundle.js","pyright.bundle.js","schemas/pyrightconfig.schema.json","scripts/scrape_module.py","native/onnxruntime/napi-v3/darwin/x64/libonnxruntime.1.7.0.dylib","native/onnxruntime/napi-v3/darwin/x64/onnxruntime_binding.node","native/onnxruntime/napi-v3/linux/x64/libonnxruntime.so.1.7.0","native/onnxruntime/napi-v3/linux/x64/onnxruntime_binding.node","native/onnxruntime/napi-v3/win32/x64/onnxruntime.dll","native/onnxruntime/napi-v3/win32/x64/onnxruntime_binding.node","bundled/indices/stdlib.json","bundled/native-stubs/lxml/etree.pyi","bundled/native-stubs/lxml/objectify.pyi","bundled/stubs/cv2-stubs/__init__.pyi","bundled/stubs/cv2-stubs/py.typed","bundled/stubs/django/LICENSE.txt","bundled/stubs/django/__init__.pyi","bundled/stubs/django/commit.txt","bundled/stubs/django/shortcuts.pyi","bundled/stubs/gym-stubs/core.pyi","bundled/stubs/gym-stubs/logger.pyi","bundled/stubs/gym-stubs/py.typed","bundled/stubs/jmespath/__init__.pyi","bundled/stubs/jmespath/exceptions.pyi","bundled/stubs/jmespath/functions.pyi","bundled/stubs/jmespath/parser.pyi","bundled/stubs/jmespath/visitor.pyi","bundled/stubs/matplotlib/__init__.pyi","bundled/stubs/matplotlib/_typing.pyi","bundled/stubs/matplotlib/afm.pyi","bundled/stubs/matplotlib/animation.pyi","bundled/stubs/matplotlib/artist.pyi","bundled/stubs/matplotlib/axis.pyi","bundled/stubs/matplotlib/backend_bases.pyi","bundled/stubs/matplotlib/backend_managers.pyi","bundled/stubs/matplotlib/backend_tools.pyi","bundled/stubs/matplotlib/bezier.pyi","bundled/stubs/matplotlib/blocking_input.pyi","bundled/stubs/matplotlib/category.pyi","bundled/stubs/matplotlib/cm.pyi","bundled/stubs/matplotlib/collections.pyi","bundled/stubs/matplotlib/colorbar.pyi","bundled/stubs/matplotlib/colors.pyi","bundled/stubs/matplotlib/container.pyi","bundled/stubs/matplotlib/contour.pyi","bundled/stubs/matplotlib/dates.pyi","bundled/stubs/matplotlib/docstring.pyi","bundled/stubs/matplotlib/dviread.pyi","bundled/stubs/matplotlib/figure.pyi","bundled/stubs/matplotlib/font_manager.pyi","bundled/stubs/matplotlib/fontconfig_pattern.pyi","bundled/stubs/matplotlib/ft2font.pyi","bundled/stubs/matplotlib/gridspec.pyi","bundled/stubs/matplotlib/image.pyi","bundled/stubs/matplotlib/legend.pyi","bundled/stubs/matplotlib/legend_handler.pyi","bundled/stubs/matplotlib/lines.pyi","bundled/stubs/matplotlib/markers.pyi","bundled/stubs/matplotlib/mathtext.pyi","bundled/stubs/matplotlib/mlab.pyi","bundled/stubs/matplotlib/offsetbox.pyi","bundled/stubs/matplotlib/patches.pyi","bundled/stubs/matplotlib/path.pyi","bundled/stubs/matplotlib/patheffects.pyi","bundled/stubs/matplotlib/pyplot.pyi","bundled/stubs/matplotlib/quiver.pyi","bundled/stubs/matplotlib/rcsetup.pyi","bundled/stubs/matplotlib/sankey.pyi","bundled/stubs/matplotlib/scale.pyi","bundled/stubs/matplotlib/spines.pyi","bundled/stubs/matplotlib/stackplot.pyi","bundled/stubs/matplotlib/streamplot.pyi","bundled/stubs/matplotlib/streamploy.pyi","bundled/stubs/matplotlib/table.pyi","bundled/stubs/matplotlib/text.pyi","bundled/stubs/matplotlib/textmanager.pyi","bundled/stubs/matplotlib/textpath.pyi","bundled/stubs/matplotlib/ticker.pyi","bundled/stubs/matplotlib/tight_layout.pyi","bundled/stubs/matplotlib/transforms.pyi","bundled/stubs/matplotlib/type1font.pyi","bundled/stubs/matplotlib/units.pyi","bundled/stubs/matplotlib/widgets.pyi","bundled/stubs/openpyxl/LICENSE","bundled/stubs/openpyxl/__init__.pyi","bundled/stubs/openpyxl/commit.txt","bundled/stubs/pandas/__init__.pyi","bundled/stubs/pandas/_testing.pyi","bundled/stubs/pandas/_typing.pyi","bundled/stubs/pandas/_version.pyi","bundled/stubs/pandas/testing.pyi","bundled/stubs/pythonwin-stubs/dde.pyi","bundled/stubs/pythonwin-stubs/py.typed","bundled/stubs/pythonwin-stubs/win32ui.pyi","bundled/stubs/pythonwin-stubs/win32uiole.pyi","bundled/stubs/scipy-stubs/py.typed","bundled/stubs/seaborn-stubs/palettes.pyi","bundled/stubs/seaborn-stubs/py.typed","bundled/stubs/sklearn-stubs/py.typed","bundled/stubs/sympy-stubs/py.typed","bundled/stubs/transformers-stubs/py.typed","bundled/stubs/win32-stubs/mmapfile.pyi","bundled/stubs/win32-stubs/odbc.pyi","bundled/stubs/win32-stubs/perfmon.pyi","bundled/stubs/win32-stubs/py.typed","bundled/stubs/win32-stubs/servicemanager.pyi","bundled/stubs/win32-stubs/timer.pyi","bundled/stubs/win32-stubs/win2kras.pyi","bundled/stubs/win32-stubs/win32api.pyi","bundled/stubs/win32-stubs/win32clipboard.pyi","bundled/stubs/win32-stubs/win32console.pyi","bundled/stubs/win32-stubs/win32cred.pyi","bundled/stubs/win32-stubs/win32crypt.pyi","bundled/stubs/win32-stubs/win32event.pyi","bundled/stubs/win32-stubs/win32evtlog.pyi","bundled/stubs/win32-stubs/win32file.pyi","bundled/stubs/win32-stubs/win32gui.pyi","bundled/stubs/win32-stubs/win32help.pyi","bundled/stubs/win32-stubs/win32inet.pyi","bundled/stubs/win32-stubs/win32job.pyi","bundled/stubs/win32-stubs/win32lz.pyi","bundled/stubs/win32-stubs/win32net.pyi","bundled/stubs/win32-stubs/win32pdh.pyi","bundled/stubs/win32-stubs/win32pipe.pyi","bundled/stubs/win32-stubs/win32print.pyi","bundled/stubs/win32-stubs/win32process.pyi","bundled/stubs/win32-stubs/win32profile.pyi","bundled/stubs/win32-stubs/win32ras.pyi","bundled/stubs/win32-stubs/win32security.pyi","bundled/stubs/win32-stubs/win32service.pyi","bundled/stubs/win32-stubs/win32trace.pyi","bundled/stubs/win32-stubs/win32transaction.pyi","bundled/stubs/win32-stubs/win32ts.pyi","bundled/stubs/win32-stubs/win32wnet.pyi","bundled/stubs/win32-stubs/winxpgui.pyi","bundled/stubs/win32comext-stubs/py.typed","bundled/native-stubs/numpy/core/_multiarray_umath.pyi","bundled/native-stubs/numpy/core/_simd.pyi","bundled/native-stubs/numpy/fft/_pocketfft_internal.pyi","bundled/native-stubs/numpy/linalg/_umath_linalg.pyi","bundled/native-stubs/numpy/linalg/lapack_lite.pyi","bundled/native-stubs/numpy/random/_bounded_integers.pyi","bundled/native-stubs/numpy/random/_common.pyi","bundled/native-stubs/numpy/random/_generator.pyi","bundled/native-stubs/numpy/random/_mt19937.pyi","bundled/native-stubs/numpy/random/_pcg64.pyi","bundled/native-stubs/numpy/random/_philox.pyi","bundled/native-stubs/numpy/random/_sfc64.pyi","bundled/native-stubs/numpy/random/bit_generator.pyi","bundled/native-stubs/numpy/random/mtrand.pyi","bundled/native-stubs/pandas/_libs/algos.pyi","bundled/native-stubs/pandas/_libs/groupby.pyi","bundled/native-stubs/pandas/_libs/hashing.pyi","bundled/native-stubs/pandas/_libs/hashtable.pyi","bundled/native-stubs/pandas/_libs/index.pyi","bundled/native-stubs/pandas/_libs/indexing.pyi","bundled/native-stubs/pandas/_libs/internals.pyi","bundled/native-stubs/pandas/_libs/interval.pyi","bundled/native-stubs/pandas/_libs/join.pyi","bundled/native-stubs/pandas/_libs/json.pyi","bundled/native-stubs/pandas/_libs/lib.pyi","bundled/native-stubs/pandas/_libs/missing.pyi","bundled/native-stubs/pandas/_libs/ops.pyi","bundled/native-stubs/pandas/_libs/ops_dispatch.pyi","bundled/native-stubs/pandas/_libs/parsers.pyi","bundled/native-stubs/pandas/_libs/properties.pyi","bundled/native-stubs/pandas/_libs/reduction.pyi","bundled/native-stubs/pandas/_libs/reshape.pyi","bundled/native-stubs/pandas/_libs/sparse.pyi","bundled/native-stubs/pandas/_libs/testing.pyi","bundled/native-stubs/pandas/_libs/tslib.pyi","bundled/native-stubs/pandas/_libs/writers.pyi","bundled/stubs/django/apps/__init__.pyi","bundled/stubs/django/apps/config.pyi","bundled/stubs/django/apps/registry.pyi","bundled/stubs/django/conf/__init__.pyi","bundled/stubs/django/conf/global_settings.pyi","bundled/stubs/django/contrib/__init__.pyi","bundled/stubs/django/core/__init__.pyi","bundled/stubs/django/core/asgi.pyi","bundled/stubs/django/core/exceptions.pyi","bundled/stubs/django/core/paginator.pyi","bundled/stubs/django/core/signals.pyi","bundled/stubs/django/core/signing.pyi","bundled/stubs/django/core/validators.pyi","bundled/stubs/django/core/wsgi.pyi","bundled/stubs/django/db/__init__.pyi","bundled/stubs/django/db/transaction.pyi","bundled/stubs/django/db/utils.pyi","bundled/stubs/django/dispatch/__init__.pyi","bundled/stubs/django/dispatch/dispatcher.pyi","bundled/stubs/django/forms/__init__.pyi","bundled/stubs/django/forms/boundfield.pyi","bundled/stubs/django/forms/fields.pyi","bundled/stubs/django/forms/forms.pyi","bundled/stubs/django/forms/formsets.pyi","bundled/stubs/django/forms/models.pyi","bundled/stubs/django/forms/renderers.pyi","bundled/stubs/django/forms/utils.pyi","bundled/stubs/django/forms/widgets.pyi","bundled/stubs/django/http/__init__.pyi","bundled/stubs/django/http/cookie.pyi","bundled/stubs/django/http/multipartparser.pyi","bundled/stubs/django/http/request.pyi","bundled/stubs/django/http/response.pyi","bundled/stubs/django/middleware/__init__.pyi","bundled/stubs/django/middleware/cache.pyi","bundled/stubs/django/middleware/clickjacking.pyi","bundled/stubs/django/middleware/common.pyi","bundled/stubs/django/middleware/csrf.pyi","bundled/stubs/django/middleware/gzip.pyi","bundled/stubs/django/middleware/http.pyi","bundled/stubs/django/middleware/locale.pyi","bundled/stubs/django/middleware/security.pyi","bundled/stubs/django/template/__init__.pyi","bundled/stubs/django/template/base.pyi","bundled/stubs/django/template/context.pyi","bundled/stubs/django/template/context_processors.pyi","bundled/stubs/django/template/defaultfilters.pyi","bundled/stubs/django/template/defaulttags.pyi","bundled/stubs/django/template/engine.pyi","bundled/stubs/django/template/exceptions.pyi","bundled/stubs/django/template/library.pyi","bundled/stubs/django/template/loader.pyi","bundled/stubs/django/template/loader_tags.pyi","bundled/stubs/django/template/response.pyi","bundled/stubs/django/template/smartif.pyi","bundled/stubs/django/template/utils.pyi","bundled/stubs/django/templatetags/__init__.pyi","bundled/stubs/django/templatetags/cache.pyi","bundled/stubs/django/templatetags/i18n.pyi","bundled/stubs/django/templatetags/l10n.pyi","bundled/stubs/django/templatetags/static.pyi","bundled/stubs/django/templatetags/tz.pyi","bundled/stubs/django/test/__init__.pyi","bundled/stubs/django/test/client.pyi","bundled/stubs/django/test/html.pyi","bundled/stubs/django/test/runner.pyi","bundled/stubs/django/test/selenium.pyi","bundled/stubs/django/test/signals.pyi","bundled/stubs/django/test/testcases.pyi","bundled/stubs/django/test/utils.pyi","bundled/stubs/django/urls/__init__.pyi","bundled/stubs/django/urls/base.pyi","bundled/stubs/django/urls/conf.pyi","bundled/stubs/django/urls/converters.pyi","bundled/stubs/django/urls/exceptions.pyi","bundled/stubs/django/urls/resolvers.pyi","bundled/stubs/django/urls/utils.pyi","bundled/stubs/django/utils/__init__.pyi","bundled/stubs/django/utils/_os.pyi","bundled/stubs/django/utils/archive.pyi","bundled/stubs/django/utils/asyncio.pyi","bundled/stubs/django/utils/autoreload.pyi","bundled/stubs/django/utils/baseconv.pyi","bundled/stubs/django/utils/cache.pyi","bundled/stubs/django/utils/connection.pyi","bundled/stubs/django/utils/crypto.pyi","bundled/stubs/django/utils/datastructures.pyi","bundled/stubs/django/utils/dateformat.pyi","bundled/stubs/django/utils/dateparse.pyi","bundled/stubs/django/utils/dates.pyi","bundled/stubs/django/utils/datetime_safe.pyi","bundled/stubs/django/utils/deconstruct.pyi","bundled/stubs/django/utils/decorators.pyi","bundled/stubs/django/utils/deprecation.pyi","bundled/stubs/django/utils/duration.pyi","bundled/stubs/django/utils/encoding.pyi","bundled/stubs/django/utils/feedgenerator.pyi","bundled/stubs/django/utils/formats.pyi","bundled/stubs/django/utils/functional.pyi","bundled/stubs/django/utils/hashable.pyi","bundled/stubs/django/utils/html.pyi","bundled/stubs/django/utils/http.pyi","bundled/stubs/django/utils/inspect.pyi","bundled/stubs/django/utils/ipv6.pyi","bundled/stubs/django/utils/itercompat.pyi","bundled/stubs/django/utils/jslex.pyi","bundled/stubs/django/utils/log.pyi","bundled/stubs/django/utils/lorem_ipsum.pyi","bundled/stubs/django/utils/module_loading.pyi","bundled/stubs/django/utils/numberformat.pyi","bundled/stubs/django/utils/regex_helper.pyi","bundled/stubs/django/utils/safestring.pyi","bundled/stubs/django/utils/termcolors.pyi","bundled/stubs/django/utils/text.pyi","bundled/stubs/django/utils/timesince.pyi","bundled/stubs/django/utils/timezone.pyi","bundled/stubs/django/utils/topological_sort.pyi","bundled/stubs/django/utils/tree.pyi","bundled/stubs/django/utils/version.pyi","bundled/stubs/django/utils/xmlutils.pyi","bundled/stubs/django/views/__init__.pyi","bundled/stubs/django/views/csrf.pyi","bundled/stubs/django/views/debug.pyi","bundled/stubs/django/views/defaults.pyi","bundled/stubs/django/views/i18n.pyi","bundled/stubs/django/views/static.pyi","bundled/stubs/gym-stubs/envs/registration.pyi","bundled/stubs/gym-stubs/spaces/box.pyi","bundled/stubs/gym-stubs/spaces/dict.pyi","bundled/stubs/gym-stubs/spaces/discrete.pyi","bundled/stubs/gym-stubs/spaces/multi_binary.pyi","bundled/stubs/gym-stubs/spaces/multi_discrete.pyi","bundled/stubs/gym-stubs/spaces/space.pyi","bundled/stubs/gym-stubs/spaces/tuple.pyi","bundled/stubs/gym-stubs/spaces/utils.pyi","bundled/stubs/gym-stubs/vector/__init__.pyi","bundled/stubs/gym-stubs/vector/async_vector_env.pyi","bundled/stubs/gym-stubs/vector/sync_vector_env.pyi","bundled/stubs/gym-stubs/vector/vector_env.pyi","bundled/stubs/gym-stubs/wrappers/time_limit.pyi","bundled/stubs/matplotlib/axes/__init__.pyi","bundled/stubs/matplotlib/axes/_axes.pyi","bundled/stubs/matplotlib/axes/_base.pyi","bundled/stubs/matplotlib/axes/_secondary_axes.pyi","bundled/stubs/matplotlib/axes/_subplots.pyi","bundled/stubs/matplotlib/backends/__init__.pyi","bundled/stubs/matplotlib/cbook/__init__.pyi","bundled/stubs/matplotlib/projections/__init__.pyi","bundled/stubs/matplotlib/projections/plot_directive.pyi","bundled/stubs/matplotlib/style/__init__.pyi","bundled/stubs/matplotlib/testing/__init__.pyi","bundled/stubs/matplotlib/tri/__init__.pyi","bundled/stubs/openpyxl/cell/__init__.pyi","bundled/stubs/openpyxl/cell/_writer.pyi","bundled/stubs/openpyxl/cell/cell.pyi","bundled/stubs/openpyxl/cell/text.pyi","bundled/stubs/openpyxl/chart/__init__.pyi","bundled/stubs/openpyxl/chart/axis.pyi","bundled/stubs/openpyxl/reader/__init__.pyi","bundled/stubs/openpyxl/reader/drawings.pyi","bundled/stubs/openpyxl/reader/excel.pyi","bundled/stubs/openpyxl/reader/strings.pyi","bundled/stubs/openpyxl/reader/workbook.pyi","bundled/stubs/openpyxl/styles/__init__.pyi","bundled/stubs/openpyxl/styles/alignment.pyi","bundled/stubs/openpyxl/styles/borders.pyi","bundled/stubs/openpyxl/styles/colors.pyi","bundled/stubs/openpyxl/styles/differential.pyi","bundled/stubs/openpyxl/styles/fills.pyi","bundled/stubs/openpyxl/styles/fonts.pyi","bundled/stubs/openpyxl/styles/named_styles.pyi","bundled/stubs/openpyxl/styles/numbers.pyi","bundled/stubs/openpyxl/styles/protection.pyi","bundled/stubs/openpyxl/styles/styleable.pyi","bundled/stubs/openpyxl/utils/__init__.pyi","bundled/stubs/openpyxl/utils/cell.pyi","bundled/stubs/openpyxl/utils/escape.py","bundled/stubs/openpyxl/utils/escape.pyi","bundled/stubs/openpyxl/utils/formulas.pyi","bundled/stubs/openpyxl/workbook/__init__.pyi","bundled/stubs/openpyxl/workbook/child.pyi","bundled/stubs/openpyxl/workbook/workbook.pyi","bundled/stubs/openpyxl/worksheet/__init__.pyi","bundled/stubs/openpyxl/worksheet/_reader.pyi","bundled/stubs/openpyxl/worksheet/_writer.pyi","bundled/stubs/openpyxl/worksheet/copier.pyi","bundled/stubs/openpyxl/worksheet/worksheet.pyi","bundled/stubs/openpyxl/xml/__init__.pyi","bundled/stubs/pandas/_config/__init__.pyi","bundled/stubs/pandas/_config/config.pyi","bundled/stubs/pandas/_libs/__init__.pyi","bundled/stubs/pandas/_libs/indexing.pyi","bundled/stubs/pandas/_libs/interval.pyi","bundled/stubs/pandas/_libs/json.pyi","bundled/stubs/pandas/_libs/lib.pyi","bundled/stubs/pandas/_libs/missing.pyi","bundled/stubs/pandas/_libs/ops_dispatch.pyi","bundled/stubs/pandas/_libs/properties.pyi","bundled/stubs/pandas/_libs/sparse.pyi","bundled/stubs/pandas/api/__init__.pyi","bundled/stubs/pandas/arrays/__init__.pyi","bundled/stubs/pandas/compat/__init__.pyi","bundled/stubs/pandas/compat/_optional.pyi","bundled/stubs/pandas/compat/pickle_compat.pyi","bundled/stubs/pandas/core/__init__.pyi","bundled/stubs/pandas/core/accessor.pyi","bundled/stubs/pandas/core/algorithms.pyi","bundled/stubs/pandas/core/api.pyi","bundled/stubs/pandas/core/apply.pyi","bundled/stubs/pandas/core/arraylike.pyi","bundled/stubs/pandas/core/base.pyi","bundled/stubs/pandas/core/common.pyi","bundled/stubs/pandas/core/config_init.pyi","bundled/stubs/pandas/core/construction.pyi","bundled/stubs/pandas/core/frame.pyi","bundled/stubs/pandas/core/generic.pyi","bundled/stubs/pandas/core/index.pyi","bundled/stubs/pandas/core/indexers.pyi","bundled/stubs/pandas/core/indexing.pyi","bundled/stubs/pandas/core/missing.pyi","bundled/stubs/pandas/core/nanops.pyi","bundled/stubs/pandas/core/resample.pyi","bundled/stubs/pandas/core/series.pyi","bundled/stubs/pandas/core/sorting.pyi","bundled/stubs/pandas/core/strings.pyi","bundled/stubs/pandas/errors/__init__.pyi","bundled/stubs/pandas/io/__init__.pyi","bundled/stubs/pandas/io/api.pyi","bundled/stubs/pandas/io/clipboards.pyi","bundled/stubs/pandas/io/common.pyi","bundled/stubs/pandas/io/date_converters.pyi","bundled/stubs/pandas/io/feather_format.pyi","bundled/stubs/pandas/io/gbq.pyi","bundled/stubs/pandas/io/gcs.pyi","bundled/stubs/pandas/io/html.pyi","bundled/stubs/pandas/io/orc.pyi","bundled/stubs/pandas/io/parquet.pyi","bundled/stubs/pandas/io/parsers.pyi","bundled/stubs/pandas/io/pickle.pyi","bundled/stubs/pandas/io/pytables.pyi","bundled/stubs/pandas/io/s3.pyi","bundled/stubs/pandas/io/spss.pyi","bundled/stubs/pandas/io/sql.pyi","bundled/stubs/pandas/io/stata.pyi","bundled/stubs/pandas/plotting/__init__.pyi","bundled/stubs/pandas/plotting/_core.pyi","bundled/stubs/pandas/plotting/_misc.pyi","bundled/stubs/pandas/tseries/__init__.pyi","bundled/stubs/pandas/tseries/api.pyi","bundled/stubs/pandas/tseries/frequencies.pyi","bundled/stubs/pandas/tseries/offsets.pyi","bundled/stubs/pandas/util/__init__.pyi","bundled/stubs/pandas/util/_decorators.pyi","bundled/stubs/pandas/util/_depr_module.pyi","bundled/stubs/pandas/util/_doctools.pyi","bundled/stubs/pandas/util/_exceptions.pyi","bundled/stubs/pandas/util/_print_versions.pyi","bundled/stubs/pandas/util/_test_decorators.pyi","bundled/stubs/pandas/util/_tester.pyi","bundled/stubs/pandas/util/_validators.pyi","bundled/stubs/scipy-stubs/_lib/_ccallback_c.pyi","bundled/stubs/scipy-stubs/_lib/_fpumode.pyi","bundled/stubs/scipy-stubs/_lib/_test_ccallback.pyi","bundled/stubs/scipy-stubs/_lib/_test_deprecation_call.pyi","bundled/stubs/scipy-stubs/_lib/_test_deprecation_def.pyi","bundled/stubs/scipy-stubs/_lib/messagestream.pyi","bundled/stubs/scipy-stubs/cluster/_hierarchy.pyi","bundled/stubs/scipy-stubs/cluster/_optimal_leaf_ordering.pyi","bundled/stubs/scipy-stubs/cluster/_vq.pyi","bundled/stubs/scipy-stubs/fftpack/convolve.pyi","bundled/stubs/scipy-stubs/integrate/_dop.pyi","bundled/stubs/scipy-stubs/integrate/_odepack.pyi","bundled/stubs/scipy-stubs/integrate/_quadpack.pyi","bundled/stubs/scipy-stubs/integrate/_test_multivariate.pyi","bundled/stubs/scipy-stubs/integrate/_test_odeint_banded.pyi","bundled/stubs/scipy-stubs/integrate/lsoda.pyi","bundled/stubs/scipy-stubs/integrate/vode.pyi","bundled/stubs/scipy-stubs/interpolate/_bspl.pyi","bundled/stubs/scipy-stubs/interpolate/_fitpack.pyi","bundled/stubs/scipy-stubs/interpolate/_ppoly.pyi","bundled/stubs/scipy-stubs/interpolate/dfitpack.pyi","bundled/stubs/scipy-stubs/interpolate/interpnd.pyi","bundled/stubs/scipy-stubs/io/_test_fortran.pyi","bundled/stubs/scipy-stubs/linalg/_decomp_update.pyi","bundled/stubs/scipy-stubs/linalg/_fblas.pyi","bundled/stubs/scipy-stubs/linalg/_flapack.pyi","bundled/stubs/scipy-stubs/linalg/_flinalg.pyi","bundled/stubs/scipy-stubs/linalg/_interpolative.pyi","bundled/stubs/scipy-stubs/linalg/_matfuncs_sqrtm_triu.pyi","bundled/stubs/scipy-stubs/linalg/_solve_toeplitz.pyi","bundled/stubs/scipy-stubs/linalg/cython_blas.pyi","bundled/stubs/scipy-stubs/linalg/cython_lapack.pyi","bundled/stubs/scipy-stubs/ndimage/_ctest.pyi","bundled/stubs/scipy-stubs/ndimage/_cytest.pyi","bundled/stubs/scipy-stubs/ndimage/_nd_image.pyi","bundled/stubs/scipy-stubs/ndimage/_ni_label.pyi","bundled/stubs/scipy-stubs/odr/__odrpack.pyi","bundled/stubs/scipy-stubs/optimize/__nnls.pyi","bundled/stubs/scipy-stubs/optimize/_bglu_dense.pyi","bundled/stubs/scipy-stubs/optimize/_cobyla.pyi","bundled/stubs/scipy-stubs/optimize/_group_columns.pyi","bundled/stubs/scipy-stubs/optimize/_lbfgsb.pyi","bundled/stubs/scipy-stubs/optimize/_lsap_module.pyi","bundled/stubs/scipy-stubs/optimize/_minpack.pyi","bundled/stubs/scipy-stubs/optimize/_slsqp.pyi","bundled/stubs/scipy-stubs/optimize/_zeros.pyi","bundled/stubs/scipy-stubs/optimize/minpack2.pyi","bundled/stubs/scipy-stubs/optimize/moduleTNC.pyi","bundled/stubs/scipy-stubs/signal/_max_len_seq_inner.pyi","bundled/stubs/scipy-stubs/signal/_peak_finding_utils.pyi","bundled/stubs/scipy-stubs/signal/_sosfilt.pyi","bundled/stubs/scipy-stubs/signal/_spectral.pyi","bundled/stubs/scipy-stubs/signal/_upfirdn_apply.pyi","bundled/stubs/scipy-stubs/signal/sigtools.pyi","bundled/stubs/scipy-stubs/signal/spline.pyi","bundled/stubs/scipy-stubs/sparse/_csparsetools.pyi","bundled/stubs/scipy-stubs/sparse/_sparsetools.pyi","bundled/stubs/scipy-stubs/spatial/_distance_wrap.pyi","bundled/stubs/scipy-stubs/spatial/_hausdorff.pyi","bundled/stubs/scipy-stubs/spatial/_voronoi.pyi","bundled/stubs/scipy-stubs/spatial/ckdtree.pyi","bundled/stubs/scipy-stubs/spatial/qhull.pyi","bundled/stubs/scipy-stubs/special/_comb.pyi","bundled/stubs/scipy-stubs/special/_ellip_harm_2.pyi","bundled/stubs/scipy-stubs/special/_test_round.pyi","bundled/stubs/scipy-stubs/special/_ufuncs.pyi","bundled/stubs/scipy-stubs/special/_ufuncs_cxx.pyi","bundled/stubs/scipy-stubs/special/cython_special.pyi","bundled/stubs/scipy-stubs/special/specfun.pyi","bundled/stubs/scipy-stubs/stats/_stats.pyi","bundled/stubs/scipy-stubs/stats/mvn.pyi","bundled/stubs/scipy-stubs/stats/statlib.pyi","bundled/stubs/sklearn-stubs/decomposition/_base.pyi","bundled/stubs/sklearn-stubs/decomposition/_pca.pyi","bundled/stubs/sklearn-stubs/externals/_lobpcg.pyi","bundled/stubs/sklearn-stubs/manifold/spectral_embedding.pyi","bundled/stubs/sklearn-stubs/utils/validation.pyi","bundled/stubs/sympy-stubs/core/evalf.pyi","bundled/stubs/sympy-stubs/core/power.pyi","bundled/stubs/sympy-stubs/simplify/powsimp.pyi","bundled/stubs/sympy-stubs/simplify/simplify.pyi","bundled/stubs/win32comext-stubs/adsi/adsi.pyi","bundled/stubs/win32comext-stubs/authorization/authorization.pyi","bundled/stubs/win32comext-stubs/axcontrol/axcontrol.pyi","bundled/stubs/win32comext-stubs/axscript/axscript.pyi","bundled/stubs/win32comext-stubs/bits/bits.pyi","bundled/stubs/win32comext-stubs/directsound/directsound.pyi","bundled/stubs/win32comext-stubs/ifilter/ifilter.pyi","bundled/stubs/win32comext-stubs/mapi/exchange.pyi","bundled/stubs/win32comext-stubs/mapi/mapi.pyi","bundled/stubs/win32comext-stubs/propsys/propsys.pyi","bundled/stubs/win32comext-stubs/shell/shell.pyi","bundled/stubs/win32comext-stubs/taskscheduler/taskscheduler.pyi","bundled/native-stubs/pandas/_libs/tslibs/base.pyi","bundled/native-stubs/pandas/_libs/tslibs/ccalendar.pyi","bundled/native-stubs/pandas/_libs/tslibs/conversion.pyi","bundled/native-stubs/pandas/_libs/tslibs/dtypes.pyi","bundled/native-stubs/pandas/_libs/tslibs/fields.pyi","bundled/native-stubs/pandas/_libs/tslibs/nattype.pyi","bundled/native-stubs/pandas/_libs/tslibs/np_datetime.pyi","bundled/native-stubs/pandas/_libs/tslibs/offsets.pyi","bundled/native-stubs/pandas/_libs/tslibs/parsing.pyi","bundled/native-stubs/pandas/_libs/tslibs/period.pyi","bundled/native-stubs/pandas/_libs/tslibs/strptime.pyi","bundled/native-stubs/pandas/_libs/tslibs/timedeltas.pyi","bundled/native-stubs/pandas/_libs/tslibs/timestamps.pyi","bundled/native-stubs/pandas/_libs/tslibs/timezones.pyi","bundled/native-stubs/pandas/_libs/tslibs/tzconversion.pyi","bundled/native-stubs/pandas/_libs/tslibs/vectorized.pyi","bundled/native-stubs/pandas/_libs/window/aggregations.pyi","bundled/native-stubs/pandas/_libs/window/indexers.pyi","bundled/native-stubs/pandas/io/sas/_sas.pyi","bundled/stubs/django/conf/locale/__init__.pyi","bundled/stubs/django/conf/urls/__init__.pyi","bundled/stubs/django/conf/urls/i18n.pyi","bundled/stubs/django/conf/urls/static.pyi","bundled/stubs/django/contrib/admin/__init__.pyi","bundled/stubs/django/contrib/admin/actions.pyi","bundled/stubs/django/contrib/admin/apps.pyi","bundled/stubs/django/contrib/admin/checks.pyi","bundled/stubs/django/contrib/admin/decorators.pyi","bundled/stubs/django/contrib/admin/exceptions.pyi","bundled/stubs/django/contrib/admin/filters.pyi","bundled/stubs/django/contrib/admin/forms.pyi","bundled/stubs/django/contrib/admin/helpers.pyi","bundled/stubs/django/contrib/admin/models.pyi","bundled/stubs/django/contrib/admin/options.pyi","bundled/stubs/django/contrib/admin/sites.pyi","bundled/stubs/django/contrib/admin/tests.pyi","bundled/stubs/django/contrib/admin/utils.pyi","bundled/stubs/django/contrib/admin/widgets.pyi","bundled/stubs/django/contrib/admindocs/__init__.pyi","bundled/stubs/django/contrib/admindocs/apps.pyi","bundled/stubs/django/contrib/admindocs/middleware.pyi","bundled/stubs/django/contrib/admindocs/urls.pyi","bundled/stubs/django/contrib/admindocs/utils.pyi","bundled/stubs/django/contrib/admindocs/views.pyi","bundled/stubs/django/contrib/auth/__init__.pyi","bundled/stubs/django/contrib/auth/admin.pyi","bundled/stubs/django/contrib/auth/apps.pyi","bundled/stubs/django/contrib/auth/backends.pyi","bundled/stubs/django/contrib/auth/base_user.pyi","bundled/stubs/django/contrib/auth/checks.pyi","bundled/stubs/django/contrib/auth/context_processors.pyi","bundled/stubs/django/contrib/auth/decorators.pyi","bundled/stubs/django/contrib/auth/forms.pyi","bundled/stubs/django/contrib/auth/hashers.pyi","bundled/stubs/django/contrib/auth/middleware.pyi","bundled/stubs/django/contrib/auth/mixins.pyi","bundled/stubs/django/contrib/auth/models.pyi","bundled/stubs/django/contrib/auth/password_validation.pyi","bundled/stubs/django/contrib/auth/signals.pyi","bundled/stubs/django/contrib/auth/tokens.pyi","bundled/stubs/django/contrib/auth/urls.pyi","bundled/stubs/django/contrib/auth/validators.pyi","bundled/stubs/django/contrib/auth/views.pyi","bundled/stubs/django/contrib/contenttypes/__init__.pyi","bundled/stubs/django/contrib/contenttypes/admin.pyi","bundled/stubs/django/contrib/contenttypes/apps.pyi","bundled/stubs/django/contrib/contenttypes/checks.pyi","bundled/stubs/django/contrib/contenttypes/fields.pyi","bundled/stubs/django/contrib/contenttypes/forms.pyi","bundled/stubs/django/contrib/contenttypes/models.pyi","bundled/stubs/django/contrib/contenttypes/views.pyi","bundled/stubs/django/contrib/flatpages/__init__.pyi","bundled/stubs/django/contrib/flatpages/admin.pyi","bundled/stubs/django/contrib/flatpages/apps.pyi","bundled/stubs/django/contrib/flatpages/forms.pyi","bundled/stubs/django/contrib/flatpages/middleware.pyi","bundled/stubs/django/contrib/flatpages/models.pyi","bundled/stubs/django/contrib/flatpages/sitemaps.pyi","bundled/stubs/django/contrib/flatpages/urls.pyi","bundled/stubs/django/contrib/flatpages/views.pyi","bundled/stubs/django/contrib/gis/__init__.pyi","bundled/stubs/django/contrib/gis/apps.pyi","bundled/stubs/django/contrib/gis/feeds.pyi","bundled/stubs/django/contrib/gis/geometry.pyi","bundled/stubs/django/contrib/gis/measure.pyi","bundled/stubs/django/contrib/gis/ptr.pyi","bundled/stubs/django/contrib/gis/shortcuts.pyi","bundled/stubs/django/contrib/gis/views.pyi","bundled/stubs/django/contrib/humanize/__init__.pyi","bundled/stubs/django/contrib/humanize/apps.pyi","bundled/stubs/django/contrib/messages/__init__.pyi","bundled/stubs/django/contrib/messages/api.pyi","bundled/stubs/django/contrib/messages/apps.pyi","bundled/stubs/django/contrib/messages/constants.pyi","bundled/stubs/django/contrib/messages/context_processors.pyi","bundled/stubs/django/contrib/messages/middleware.pyi","bundled/stubs/django/contrib/messages/utils.pyi","bundled/stubs/django/contrib/messages/views.pyi","bundled/stubs/django/contrib/postgres/__init__.pyi","bundled/stubs/django/contrib/postgres/apps.pyi","bundled/stubs/django/contrib/postgres/constraints.pyi","bundled/stubs/django/contrib/postgres/functions.pyi","bundled/stubs/django/contrib/postgres/indexes.pyi","bundled/stubs/django/contrib/postgres/lookups.pyi","bundled/stubs/django/contrib/postgres/operations.pyi","bundled/stubs/django/contrib/postgres/search.pyi","bundled/stubs/django/contrib/postgres/serializers.pyi","bundled/stubs/django/contrib/postgres/signals.pyi","bundled/stubs/django/contrib/postgres/utils.pyi","bundled/stubs/django/contrib/postgres/validators.pyi","bundled/stubs/django/contrib/redirects/__init__.pyi","bundled/stubs/django/contrib/redirects/admin.pyi","bundled/stubs/django/contrib/redirects/apps.pyi","bundled/stubs/django/contrib/redirects/middleware.pyi","bundled/stubs/django/contrib/redirects/models.pyi","bundled/stubs/django/contrib/sessions/__init__.pyi","bundled/stubs/django/contrib/sessions/apps.pyi","bundled/stubs/django/contrib/sessions/base_session.pyi","bundled/stubs/django/contrib/sessions/exceptions.pyi","bundled/stubs/django/contrib/sessions/middleware.pyi","bundled/stubs/django/contrib/sessions/models.pyi","bundled/stubs/django/contrib/sessions/serializers.pyi","bundled/stubs/django/contrib/sitemaps/__init__.pyi","bundled/stubs/django/contrib/sitemaps/apps.pyi","bundled/stubs/django/contrib/sitemaps/views.pyi","bundled/stubs/django/contrib/sites/__init__.pyi","bundled/stubs/django/contrib/sites/admin.pyi","bundled/stubs/django/contrib/sites/apps.pyi","bundled/stubs/django/contrib/sites/management.pyi","bundled/stubs/django/contrib/sites/managers.pyi","bundled/stubs/django/contrib/sites/middleware.pyi","bundled/stubs/django/contrib/sites/models.pyi","bundled/stubs/django/contrib/sites/requests.pyi","bundled/stubs/django/contrib/sites/shortcuts.pyi","bundled/stubs/django/contrib/staticfiles/__init__.pyi","bundled/stubs/django/contrib/staticfiles/apps.pyi","bundled/stubs/django/contrib/staticfiles/checks.pyi","bundled/stubs/django/contrib/staticfiles/finders.pyi","bundled/stubs/django/contrib/staticfiles/handlers.pyi","bundled/stubs/django/contrib/staticfiles/storage.pyi","bundled/stubs/django/contrib/staticfiles/testing.pyi","bundled/stubs/django/contrib/staticfiles/urls.pyi","bundled/stubs/django/contrib/staticfiles/utils.pyi","bundled/stubs/django/contrib/staticfiles/views.pyi","bundled/stubs/django/contrib/syndication/__init__.pyi","bundled/stubs/django/contrib/syndication/apps.pyi","bundled/stubs/django/contrib/syndication/views.pyi","bundled/stubs/django/core/cache/__init__.pyi","bundled/stubs/django/core/cache/utils.pyi","bundled/stubs/django/core/checks/__init__.pyi","bundled/stubs/django/core/checks/async_checks.pyi","bundled/stubs/django/core/checks/caches.pyi","bundled/stubs/django/core/checks/database.pyi","bundled/stubs/django/core/checks/messages.pyi","bundled/stubs/django/core/checks/model_checks.pyi","bundled/stubs/django/core/checks/registry.pyi","bundled/stubs/django/core/checks/templates.pyi","bundled/stubs/django/core/checks/translation.pyi","bundled/stubs/django/core/checks/urls.pyi","bundled/stubs/django/core/files/__init__.pyi","bundled/stubs/django/core/files/base.pyi","bundled/stubs/django/core/files/images.pyi","bundled/stubs/django/core/files/locks.pyi","bundled/stubs/django/core/files/move.pyi","bundled/stubs/django/core/files/storage.pyi","bundled/stubs/django/core/files/temp.pyi","bundled/stubs/django/core/files/uploadedfile.pyi","bundled/stubs/django/core/files/uploadhandler.pyi","bundled/stubs/django/core/files/utils.pyi","bundled/stubs/django/core/handlers/__init__.pyi","bundled/stubs/django/core/handlers/asgi.pyi","bundled/stubs/django/core/handlers/base.pyi","bundled/stubs/django/core/handlers/exception.pyi","bundled/stubs/django/core/handlers/wsgi.pyi","bundled/stubs/django/core/mail/__init__.pyi","bundled/stubs/django/core/mail/message.pyi","bundled/stubs/django/core/mail/utils.pyi","bundled/stubs/django/core/management/__init__.pyi","bundled/stubs/django/core/management/base.pyi","bundled/stubs/django/core/management/color.pyi","bundled/stubs/django/core/management/sql.pyi","bundled/stubs/django/core/management/templates.pyi","bundled/stubs/django/core/management/utils.pyi","bundled/stubs/django/core/serializers/__init__.pyi","bundled/stubs/django/core/serializers/base.pyi","bundled/stubs/django/core/serializers/json.pyi","bundled/stubs/django/core/serializers/jsonl.pyi","bundled/stubs/django/core/serializers/python.pyi","bundled/stubs/django/core/serializers/pyyaml.pyi","bundled/stubs/django/core/serializers/xml_serializer.pyi","bundled/stubs/django/core/servers/__init__.pyi","bundled/stubs/django/core/servers/basehttp.pyi","bundled/stubs/django/db/backends/__init__.pyi","bundled/stubs/django/db/backends/ddl_references.pyi","bundled/stubs/django/db/backends/signals.pyi","bundled/stubs/django/db/backends/utils.pyi","bundled/stubs/django/db/migrations/__init__.pyi","bundled/stubs/django/db/migrations/autodetector.pyi","bundled/stubs/django/db/migrations/exceptions.pyi","bundled/stubs/django/db/migrations/executor.pyi","bundled/stubs/django/db/migrations/graph.pyi","bundled/stubs/django/db/migrations/loader.pyi","bundled/stubs/django/db/migrations/migration.pyi","bundled/stubs/django/db/migrations/optimizer.pyi","bundled/stubs/django/db/migrations/questioner.pyi","bundled/stubs/django/db/migrations/recorder.pyi","bundled/stubs/django/db/migrations/serializer.pyi","bundled/stubs/django/db/migrations/state.pyi","bundled/stubs/django/db/migrations/utils.pyi","bundled/stubs/django/db/migrations/writer.pyi","bundled/stubs/django/db/models/__init__.pyi","bundled/stubs/django/db/models/aggregates.pyi","bundled/stubs/django/db/models/base.pyi","bundled/stubs/django/db/models/constants.pyi","bundled/stubs/django/db/models/constraints.pyi","bundled/stubs/django/db/models/deletion.pyi","bundled/stubs/django/db/models/enums.pyi","bundled/stubs/django/db/models/expressions.pyi","bundled/stubs/django/db/models/indexes.pyi","bundled/stubs/django/db/models/lookups.pyi","bundled/stubs/django/db/models/manager.pyi","bundled/stubs/django/db/models/options.pyi","bundled/stubs/django/db/models/query.pyi","bundled/stubs/django/db/models/query_utils.pyi","bundled/stubs/django/db/models/signals.pyi","bundled/stubs/django/db/models/utils.pyi","bundled/stubs/django/template/backends/__init__.pyi","bundled/stubs/django/template/backends/base.pyi","bundled/stubs/django/template/backends/django.pyi","bundled/stubs/django/template/backends/dummy.pyi","bundled/stubs/django/template/backends/jinja2.pyi","bundled/stubs/django/template/backends/utils.pyi","bundled/stubs/django/template/loaders/__init__.pyi","bundled/stubs/django/template/loaders/app_directories.pyi","bundled/stubs/django/template/loaders/base.pyi","bundled/stubs/django/template/loaders/cached.pyi","bundled/stubs/django/template/loaders/filesystem.pyi","bundled/stubs/django/template/loaders/locmem.pyi","bundled/stubs/django/utils/translation/__init__.pyi","bundled/stubs/django/utils/translation/reloader.pyi","bundled/stubs/django/utils/translation/template.pyi","bundled/stubs/django/utils/translation/trans_null.pyi","bundled/stubs/django/utils/translation/trans_real.pyi","bundled/stubs/django/views/decorators/__init__.pyi","bundled/stubs/django/views/decorators/cache.pyi","bundled/stubs/django/views/decorators/clickjacking.pyi","bundled/stubs/django/views/decorators/common.pyi","bundled/stubs/django/views/decorators/csrf.pyi","bundled/stubs/django/views/decorators/debug.pyi","bundled/stubs/django/views/decorators/gzip.pyi","bundled/stubs/django/views/decorators/http.pyi","bundled/stubs/django/views/decorators/vary.pyi","bundled/stubs/django/views/generic/__init__.pyi","bundled/stubs/django/views/generic/base.pyi","bundled/stubs/django/views/generic/dates.pyi","bundled/stubs/django/views/generic/detail.pyi","bundled/stubs/django/views/generic/edit.pyi","bundled/stubs/django/views/generic/list.pyi","bundled/stubs/pandas/_libs/tslibs/__init__.pyi","bundled/stubs/pandas/_libs/tslibs/base.pyi","bundled/stubs/pandas/_libs/tslibs/ccalendar.pyi","bundled/stubs/pandas/_libs/tslibs/conversion.pyi","bundled/stubs/pandas/_libs/tslibs/dtypes.pyi","bundled/stubs/pandas/_libs/tslibs/nattype.pyi","bundled/stubs/pandas/_libs/tslibs/np_datetime.pyi","bundled/stubs/pandas/_libs/tslibs/offsets.pyi","bundled/stubs/pandas/_libs/tslibs/parsing.pyi","bundled/stubs/pandas/_libs/tslibs/period.pyi","bundled/stubs/pandas/_libs/tslibs/strptime.pyi","bundled/stubs/pandas/_libs/tslibs/timedeltas.pyi","bundled/stubs/pandas/_libs/tslibs/timestamps.pyi","bundled/stubs/pandas/_libs/tslibs/tzconversion.pyi","bundled/stubs/pandas/_libs/tslibs/vectorized.pyi","bundled/stubs/pandas/_libs/window/__init__.pyi","bundled/stubs/pandas/api/extensions/__init__.pyi","bundled/stubs/pandas/api/indexers/__init__.pyi","bundled/stubs/pandas/api/types/__init__.pyi","bundled/stubs/pandas/compat/numpy/__init__.pyi","bundled/stubs/pandas/core/arrays/__init__.pyi","bundled/stubs/pandas/core/arrays/_arrow_utils.pyi","bundled/stubs/pandas/core/arrays/_ranges.pyi","bundled/stubs/pandas/core/arrays/base.pyi","bundled/stubs/pandas/core/arrays/boolean.pyi","bundled/stubs/pandas/core/arrays/categorical.pyi","bundled/stubs/pandas/core/arrays/datetimelike.pyi","bundled/stubs/pandas/core/arrays/datetimes.pyi","bundled/stubs/pandas/core/arrays/integer.pyi","bundled/stubs/pandas/core/arrays/interval.pyi","bundled/stubs/pandas/core/arrays/masked.pyi","bundled/stubs/pandas/core/arrays/numpy_.pyi","bundled/stubs/pandas/core/arrays/period.pyi","bundled/stubs/pandas/core/arrays/string_.pyi","bundled/stubs/pandas/core/arrays/timedeltas.pyi","bundled/stubs/pandas/core/computation/__init__.pyi","bundled/stubs/pandas/core/computation/align.pyi","bundled/stubs/pandas/core/computation/api.pyi","bundled/stubs/pandas/core/computation/check.pyi","bundled/stubs/pandas/core/computation/common.pyi","bundled/stubs/pandas/core/computation/engines.pyi","bundled/stubs/pandas/core/computation/eval.pyi","bundled/stubs/pandas/core/computation/expr.pyi","bundled/stubs/pandas/core/computation/expressions.pyi","bundled/stubs/pandas/core/computation/ops.pyi","bundled/stubs/pandas/core/computation/parsing.pyi","bundled/stubs/pandas/core/computation/pytables.pyi","bundled/stubs/pandas/core/computation/scope.pyi","bundled/stubs/pandas/core/dtypes/__init__.pyi","bundled/stubs/pandas/core/dtypes/api.pyi","bundled/stubs/pandas/core/dtypes/base.pyi","bundled/stubs/pandas/core/dtypes/cast.pyi","bundled/stubs/pandas/core/dtypes/common.pyi","bundled/stubs/pandas/core/dtypes/concat.pyi","bundled/stubs/pandas/core/dtypes/dtypes.pyi","bundled/stubs/pandas/core/dtypes/generic.pyi","bundled/stubs/pandas/core/dtypes/inference.pyi","bundled/stubs/pandas/core/dtypes/missing.pyi","bundled/stubs/pandas/core/groupby/__init__.pyi","bundled/stubs/pandas/core/groupby/base.pyi","bundled/stubs/pandas/core/groupby/categorical.pyi","bundled/stubs/pandas/core/groupby/generic.pyi","bundled/stubs/pandas/core/groupby/groupby.pyi","bundled/stubs/pandas/core/groupby/grouper.pyi","bundled/stubs/pandas/core/groupby/ops.pyi","bundled/stubs/pandas/core/indexes/__init__.pyi","bundled/stubs/pandas/core/indexes/accessors.pyi","bundled/stubs/pandas/core/indexes/api.pyi","bundled/stubs/pandas/core/indexes/base.pyi","bundled/stubs/pandas/core/indexes/category.pyi","bundled/stubs/pandas/core/indexes/datetimelike.pyi","bundled/stubs/pandas/core/indexes/datetimes.pyi","bundled/stubs/pandas/core/indexes/extension.pyi","bundled/stubs/pandas/core/indexes/frozen.pyi","bundled/stubs/pandas/core/indexes/interval.pyi","bundled/stubs/pandas/core/indexes/multi.pyi","bundled/stubs/pandas/core/indexes/numeric.pyi","bundled/stubs/pandas/core/indexes/period.pyi","bundled/stubs/pandas/core/indexes/range.pyi","bundled/stubs/pandas/core/indexes/timedeltas.pyi","bundled/stubs/pandas/core/internals/__init__.pyi","bundled/stubs/pandas/core/internals/blocks.pyi","bundled/stubs/pandas/core/internals/concat.pyi","bundled/stubs/pandas/core/internals/construction.pyi","bundled/stubs/pandas/core/internals/managers.pyi","bundled/stubs/pandas/core/ops/__init__.pyi","bundled/stubs/pandas/core/ops/array_ops.pyi","bundled/stubs/pandas/core/ops/common.pyi","bundled/stubs/pandas/core/ops/dispatch.pyi","bundled/stubs/pandas/core/ops/docstrings.pyi","bundled/stubs/pandas/core/ops/invalid.pyi","bundled/stubs/pandas/core/ops/mask_ops.pyi","bundled/stubs/pandas/core/ops/methods.pyi","bundled/stubs/pandas/core/ops/missing.pyi","bundled/stubs/pandas/core/ops/roperator.pyi","bundled/stubs/pandas/core/reshape/__init__.pyi","bundled/stubs/pandas/core/reshape/api.pyi","bundled/stubs/pandas/core/reshape/concat.pyi","bundled/stubs/pandas/core/reshape/melt.pyi","bundled/stubs/pandas/core/reshape/merge.pyi","bundled/stubs/pandas/core/reshape/pivot.pyi","bundled/stubs/pandas/core/reshape/reshape.pyi","bundled/stubs/pandas/core/reshape/tile.pyi","bundled/stubs/pandas/core/reshape/util.pyi","bundled/stubs/pandas/core/sparse/__init__.pyi","bundled/stubs/pandas/core/sparse/api.pyi","bundled/stubs/pandas/core/tools/__init__.pyi","bundled/stubs/pandas/core/tools/datetimes.pyi","bundled/stubs/pandas/core/tools/numeric.pyi","bundled/stubs/pandas/core/tools/timedeltas.pyi","bundled/stubs/pandas/core/util/__init__.pyi","bundled/stubs/pandas/core/util/hashing.pyi","bundled/stubs/pandas/core/window/__init__.pyi","bundled/stubs/pandas/core/window/common.pyi","bundled/stubs/pandas/core/window/ewm.pyi","bundled/stubs/pandas/core/window/expanding.pyi","bundled/stubs/pandas/core/window/indexers.pyi","bundled/stubs/pandas/core/window/numba_.pyi","bundled/stubs/pandas/core/window/rolling.pyi","bundled/stubs/pandas/io/clipboard/__init__.pyi","bundled/stubs/pandas/io/excel/__init__.pyi","bundled/stubs/pandas/io/excel/_base.pyi","bundled/stubs/pandas/io/excel/_util.pyi","bundled/stubs/pandas/io/formats/__init__.pyi","bundled/stubs/pandas/io/formats/console.pyi","bundled/stubs/pandas/io/formats/css.pyi","bundled/stubs/pandas/io/formats/csvs.pyi","bundled/stubs/pandas/io/formats/excel.pyi","bundled/stubs/pandas/io/formats/format.pyi","bundled/stubs/pandas/io/formats/html.pyi","bundled/stubs/pandas/io/formats/latex.pyi","bundled/stubs/pandas/io/formats/printing.pyi","bundled/stubs/pandas/io/formats/style.pyi","bundled/stubs/pandas/io/json/__init__.pyi","bundled/stubs/pandas/io/json/_json.pyi","bundled/stubs/pandas/io/json/_normalize.pyi","bundled/stubs/pandas/io/json/_table_schema.pyi","bundled/stubs/pandas/io/sas/__init__.pyi","bundled/stubs/pandas/io/sas/sas7bdat.pyi","bundled/stubs/pandas/io/sas/sas_constants.pyi","bundled/stubs/pandas/io/sas/sas_xport.pyi","bundled/stubs/pandas/io/sas/sasreader.pyi","bundled/stubs/pandas/plotting/_matplotlib/__init__.pyi","bundled/stubs/pandas/plotting/_matplotlib/boxplot.pyi","bundled/stubs/pandas/plotting/_matplotlib/compat.pyi","bundled/stubs/pandas/plotting/_matplotlib/converter.pyi","bundled/stubs/pandas/plotting/_matplotlib/core.pyi","bundled/stubs/pandas/plotting/_matplotlib/hist.pyi","bundled/stubs/pandas/plotting/_matplotlib/misc.pyi","bundled/stubs/pandas/plotting/_matplotlib/style.pyi","bundled/stubs/pandas/plotting/_matplotlib/timeseries.pyi","bundled/stubs/pandas/plotting/_matplotlib/tools.pyi","bundled/stubs/scipy-stubs/_lib/_uarray/_uarray.pyi","bundled/stubs/scipy-stubs/fft/_pocketfft/pypocketfft.pyi","bundled/stubs/scipy-stubs/io/matlab/mio5_utils.pyi","bundled/stubs/scipy-stubs/io/matlab/mio_utils.pyi","bundled/stubs/scipy-stubs/io/matlab/streams.pyi","bundled/stubs/scipy-stubs/optimize/_highs/_highs_constants.pyi","bundled/stubs/scipy-stubs/optimize/_highs/_highs_wrapper.pyi","bundled/stubs/scipy-stubs/optimize/_highs/_mpswriter.pyi","bundled/stubs/scipy-stubs/optimize/_lsq/givens_elimination.pyi","bundled/stubs/scipy-stubs/optimize/_trlib/_trlib.pyi","bundled/stubs/scipy-stubs/optimize/cython_optimize/_zeros.pyi","bundled/stubs/scipy-stubs/sparse/csgraph/_flow.pyi","bundled/stubs/scipy-stubs/sparse/csgraph/_matching.pyi","bundled/stubs/scipy-stubs/sparse/csgraph/_min_spanning_tree.pyi","bundled/stubs/scipy-stubs/sparse/csgraph/_reordering.pyi","bundled/stubs/scipy-stubs/sparse/csgraph/_shortest_path.pyi","bundled/stubs/scipy-stubs/sparse/csgraph/_tools.pyi","bundled/stubs/scipy-stubs/sparse/csgraph/_traversal.pyi","bundled/stubs/scipy-stubs/spatial/transform/rotation.pyi","bundled/stubs/transformers-stubs/models/auto/configuration_auto.pyi","bundled/stubs/transformers-stubs/models/auto/tokenization_auto.pyi","bundled/stubs/django/contrib/admin/migrations/__init__.pyi","bundled/stubs/django/contrib/admin/templatetags/__init__.pyi","bundled/stubs/django/contrib/admin/templatetags/admin_list.pyi","bundled/stubs/django/contrib/admin/templatetags/admin_modify.pyi","bundled/stubs/django/contrib/admin/templatetags/admin_urls.pyi","bundled/stubs/django/contrib/admin/templatetags/base.pyi","bundled/stubs/django/contrib/admin/templatetags/log.pyi","bundled/stubs/django/contrib/admin/views/__init__.pyi","bundled/stubs/django/contrib/admin/views/autocomplete.pyi","bundled/stubs/django/contrib/admin/views/decorators.pyi","bundled/stubs/django/contrib/admin/views/main.pyi","bundled/stubs/django/contrib/auth/handlers/__init__.pyi","bundled/stubs/django/contrib/auth/handlers/modwsgi.pyi","bundled/stubs/django/contrib/auth/management/__init__.pyi","bundled/stubs/django/contrib/auth/migrations/__init__.pyi","bundled/stubs/django/contrib/contenttypes/management/__init__.pyi","bundled/stubs/django/contrib/contenttypes/migrations/__init__.pyi","bundled/stubs/django/contrib/flatpages/migrations/__init__.pyi","bundled/stubs/django/contrib/flatpages/templatetags/__init__.pyi","bundled/stubs/django/contrib/flatpages/templatetags/flatpages.pyi","bundled/stubs/django/contrib/gis/admin/__init__.pyi","bundled/stubs/django/contrib/gis/admin/options.pyi","bundled/stubs/django/contrib/gis/admin/widgets.pyi","bundled/stubs/django/contrib/gis/db/__init__.pyi","bundled/stubs/django/contrib/gis/forms/__init__.pyi","bundled/stubs/django/contrib/gis/forms/fields.pyi","bundled/stubs/django/contrib/gis/forms/widgets.pyi","bundled/stubs/django/contrib/gis/gdal/__init__.pyi","bundled/stubs/django/contrib/gis/gdal/base.pyi","bundled/stubs/django/contrib/gis/gdal/datasource.pyi","bundled/stubs/django/contrib/gis/gdal/driver.pyi","bundled/stubs/django/contrib/gis/gdal/envelope.pyi","bundled/stubs/django/contrib/gis/gdal/error.pyi","bundled/stubs/django/contrib/gis/gdal/feature.pyi","bundled/stubs/django/contrib/gis/gdal/field.pyi","bundled/stubs/django/contrib/gis/gdal/geometries.pyi","bundled/stubs/django/contrib/gis/gdal/geomtype.pyi","bundled/stubs/django/contrib/gis/gdal/layer.pyi","bundled/stubs/django/contrib/gis/gdal/libgdal.pyi","bundled/stubs/django/contrib/gis/gdal/srs.pyi","bundled/stubs/django/contrib/gis/geoip2/__init__.pyi","bundled/stubs/django/contrib/gis/geoip2/base.pyi","bundled/stubs/django/contrib/gis/geoip2/resources.pyi","bundled/stubs/django/contrib/gis/geos/__init__.pyi","bundled/stubs/django/contrib/gis/geos/base.pyi","bundled/stubs/django/contrib/gis/geos/collections.pyi","bundled/stubs/django/contrib/gis/geos/coordseq.pyi","bundled/stubs/django/contrib/gis/geos/error.pyi","bundled/stubs/django/contrib/gis/geos/factory.pyi","bundled/stubs/django/contrib/gis/geos/geometry.pyi","bundled/stubs/django/contrib/gis/geos/io.pyi","bundled/stubs/django/contrib/gis/geos/libgeos.pyi","bundled/stubs/django/contrib/gis/geos/linestring.pyi","bundled/stubs/django/contrib/gis/geos/mutable_list.pyi","bundled/stubs/django/contrib/gis/geos/point.pyi","bundled/stubs/django/contrib/gis/geos/polygon.pyi","bundled/stubs/django/contrib/gis/geos/prepared.pyi","bundled/stubs/django/contrib/gis/serializers/__init__.pyi","bundled/stubs/django/contrib/gis/serializers/geojson.pyi","bundled/stubs/django/contrib/gis/sitemaps/__init__.pyi","bundled/stubs/django/contrib/gis/sitemaps/kml.pyi","bundled/stubs/django/contrib/gis/sitemaps/views.pyi","bundled/stubs/django/contrib/gis/utils/__init__.pyi","bundled/stubs/django/contrib/gis/utils/layermapping.pyi","bundled/stubs/django/contrib/gis/utils/ogrinfo.pyi","bundled/stubs/django/contrib/gis/utils/ogrinspect.pyi","bundled/stubs/django/contrib/gis/utils/srs.pyi","bundled/stubs/django/contrib/humanize/templatetags/__init__.pyi","bundled/stubs/django/contrib/humanize/templatetags/humanize.pyi","bundled/stubs/django/contrib/messages/storage/__init__.pyi","bundled/stubs/django/contrib/messages/storage/base.pyi","bundled/stubs/django/contrib/messages/storage/cookie.pyi","bundled/stubs/django/contrib/messages/storage/fallback.pyi","bundled/stubs/django/contrib/messages/storage/session.pyi","bundled/stubs/django/contrib/postgres/aggregates/__init__.pyi","bundled/stubs/django/contrib/postgres/aggregates/general.pyi","bundled/stubs/django/contrib/postgres/aggregates/mixins.pyi","bundled/stubs/django/contrib/postgres/aggregates/statistics.pyi","bundled/stubs/django/contrib/postgres/fields/__init__.pyi","bundled/stubs/django/contrib/postgres/fields/array.pyi","bundled/stubs/django/contrib/postgres/fields/citext.pyi","bundled/stubs/django/contrib/postgres/fields/hstore.pyi","bundled/stubs/django/contrib/postgres/fields/jsonb.pyi","bundled/stubs/django/contrib/postgres/fields/ranges.pyi","bundled/stubs/django/contrib/postgres/fields/utils.pyi","bundled/stubs/django/contrib/postgres/forms/__init__.pyi","bundled/stubs/django/contrib/postgres/forms/array.pyi","bundled/stubs/django/contrib/postgres/forms/hstore.pyi","bundled/stubs/django/contrib/postgres/forms/jsonb.py","bundled/stubs/django/contrib/postgres/forms/ranges.pyi","bundled/stubs/django/contrib/redirects/migrations/__init__.pyi","bundled/stubs/django/contrib/sessions/backends/__init__.pyi","bundled/stubs/django/contrib/sessions/backends/base.pyi","bundled/stubs/django/contrib/sessions/backends/cache.pyi","bundled/stubs/django/contrib/sessions/backends/cached_db.pyi","bundled/stubs/django/contrib/sessions/backends/db.pyi","bundled/stubs/django/contrib/sessions/backends/file.pyi","bundled/stubs/django/contrib/sessions/backends/signed_cookies.pyi","bundled/stubs/django/contrib/sessions/management/__init__.pyi","bundled/stubs/django/contrib/sessions/migrations/__init__.pyi","bundled/stubs/django/contrib/sitemaps/management/__init__.pyi","bundled/stubs/django/contrib/sites/migrations/__init__.pyi","bundled/stubs/django/contrib/staticfiles/management/__init__.pyi","bundled/stubs/django/core/cache/backends/__init__.pyi","bundled/stubs/django/core/cache/backends/base.pyi","bundled/stubs/django/core/cache/backends/db.pyi","bundled/stubs/django/core/cache/backends/dummy.pyi","bundled/stubs/django/core/cache/backends/filebased.pyi","bundled/stubs/django/core/cache/backends/locmem.pyi","bundled/stubs/django/core/cache/backends/memcached.pyi","bundled/stubs/django/core/checks/compatibility/__init__.pyi","bundled/stubs/django/core/checks/security/__init__.pyi","bundled/stubs/django/core/checks/security/base.pyi","bundled/stubs/django/core/checks/security/csrf.pyi","bundled/stubs/django/core/checks/security/sessions.pyi","bundled/stubs/django/core/mail/backends/__init__.pyi","bundled/stubs/django/core/mail/backends/base.pyi","bundled/stubs/django/core/mail/backends/console.pyi","bundled/stubs/django/core/mail/backends/dummy.pyi","bundled/stubs/django/core/mail/backends/filebased.pyi","bundled/stubs/django/core/mail/backends/locmem.pyi","bundled/stubs/django/core/mail/backends/smtp.pyi","bundled/stubs/django/core/management/commands/__init__.pyi","bundled/stubs/django/core/management/commands/check.pyi","bundled/stubs/django/core/management/commands/compilemessages.pyi","bundled/stubs/django/core/management/commands/createcachetable.pyi","bundled/stubs/django/core/management/commands/dbshell.pyi","bundled/stubs/django/core/management/commands/diffsettings.pyi","bundled/stubs/django/core/management/commands/dumpdata.pyi","bundled/stubs/django/core/management/commands/flush.pyi","bundled/stubs/django/core/management/commands/inspectdb.pyi","bundled/stubs/django/core/management/commands/loaddata.pyi","bundled/stubs/django/core/management/commands/makemessages.pyi","bundled/stubs/django/core/management/commands/makemigrations.pyi","bundled/stubs/django/core/management/commands/migrate.pyi","bundled/stubs/django/core/management/commands/runserver.pyi","bundled/stubs/django/core/management/commands/sendtestemail.pyi","bundled/stubs/django/core/management/commands/shell.pyi","bundled/stubs/django/core/management/commands/showmigrations.pyi","bundled/stubs/django/core/management/commands/sqlflush.pyi","bundled/stubs/django/core/management/commands/sqlmigrate.pyi","bundled/stubs/django/core/management/commands/sqlsequencereset.pyi","bundled/stubs/django/core/management/commands/squashmigrations.pyi","bundled/stubs/django/core/management/commands/startapp.pyi","bundled/stubs/django/core/management/commands/startproject.pyi","bundled/stubs/django/core/management/commands/test.pyi","bundled/stubs/django/core/management/commands/testserver.pyi","bundled/stubs/django/db/backends/base/__init__.pyi","bundled/stubs/django/db/backends/base/base.pyi","bundled/stubs/django/db/backends/base/client.pyi","bundled/stubs/django/db/backends/base/creation.pyi","bundled/stubs/django/db/backends/base/features.pyi","bundled/stubs/django/db/backends/base/introspection.pyi","bundled/stubs/django/db/backends/base/operations.pyi","bundled/stubs/django/db/backends/base/schema.pyi","bundled/stubs/django/db/backends/base/validation.pyi","bundled/stubs/django/db/backends/dummy/__init__.pyi","bundled/stubs/django/db/backends/dummy/base.pyi","bundled/stubs/django/db/backends/dummy/features.pyi","bundled/stubs/django/db/backends/mysql/__init__.pyi","bundled/stubs/django/db/backends/mysql/base.pyi","bundled/stubs/django/db/backends/mysql/client.pyi","bundled/stubs/django/db/backends/mysql/compiler.pyi","bundled/stubs/django/db/backends/mysql/creation.pyi","bundled/stubs/django/db/backends/mysql/features.pyi","bundled/stubs/django/db/backends/mysql/introspection.pyi","bundled/stubs/django/db/backends/mysql/operations.pyi","bundled/stubs/django/db/backends/mysql/schema.pyi","bundled/stubs/django/db/backends/mysql/validation.pyi","bundled/stubs/django/db/backends/oracle/__init__.pyi","bundled/stubs/django/db/backends/oracle/base.pyi","bundled/stubs/django/db/backends/oracle/client.pyi","bundled/stubs/django/db/backends/oracle/creation.pyi","bundled/stubs/django/db/backends/oracle/features.pyi","bundled/stubs/django/db/backends/oracle/functions.pyi","bundled/stubs/django/db/backends/oracle/introspection.pyi","bundled/stubs/django/db/backends/oracle/operations.pyi","bundled/stubs/django/db/backends/oracle/schema.pyi","bundled/stubs/django/db/backends/oracle/utils.pyi","bundled/stubs/django/db/backends/oracle/validation.pyi","bundled/stubs/django/db/backends/postgresql/__init__.pyi","bundled/stubs/django/db/backends/postgresql/base.pyi","bundled/stubs/django/db/backends/postgresql/client.pyi","bundled/stubs/django/db/backends/postgresql/creation.pyi","bundled/stubs/django/db/backends/postgresql/features.pyi","bundled/stubs/django/db/backends/postgresql/introspection.pyi","bundled/stubs/django/db/backends/postgresql/operations.pyi","bundled/stubs/django/db/backends/postgresql/schema.pyi","bundled/stubs/django/db/backends/postgresql/test_import_all.yml","bundled/stubs/django/db/backends/sqlite3/__init__.pyi","bundled/stubs/django/db/backends/sqlite3/base.pyi","bundled/stubs/django/db/backends/sqlite3/client.pyi","bundled/stubs/django/db/backends/sqlite3/creation.pyi","bundled/stubs/django/db/backends/sqlite3/features.pyi","bundled/stubs/django/db/backends/sqlite3/introspection.pyi","bundled/stubs/django/db/backends/sqlite3/operations.pyi","bundled/stubs/django/db/backends/sqlite3/schema.pyi","bundled/stubs/django/db/migrations/operations/__init__.pyi","bundled/stubs/django/db/migrations/operations/base.pyi","bundled/stubs/django/db/migrations/operations/fields.pyi","bundled/stubs/django/db/migrations/operations/models.pyi","bundled/stubs/django/db/migrations/operations/special.pyi","bundled/stubs/django/db/migrations/operations/utils.pyi","bundled/stubs/django/db/models/fields/__init__.pyi","bundled/stubs/django/db/models/fields/files.pyi","bundled/stubs/django/db/models/fields/json.pyi","bundled/stubs/django/db/models/fields/mixins.pyi","bundled/stubs/django/db/models/fields/proxy.pyi","bundled/stubs/django/db/models/fields/related.pyi","bundled/stubs/django/db/models/fields/related_descriptors.pyi","bundled/stubs/django/db/models/fields/related_lookups.pyi","bundled/stubs/django/db/models/fields/reverse_related.pyi","bundled/stubs/django/db/models/functions/__init__.pyi","bundled/stubs/django/db/models/functions/comparison.pyi","bundled/stubs/django/db/models/functions/datetime.pyi","bundled/stubs/django/db/models/functions/math.pyi","bundled/stubs/django/db/models/functions/mixins.pyi","bundled/stubs/django/db/models/functions/text.pyi","bundled/stubs/django/db/models/functions/window.pyi","bundled/stubs/django/db/models/sql/__init__.pyi","bundled/stubs/django/db/models/sql/compiler.pyi","bundled/stubs/django/db/models/sql/constants.pyi","bundled/stubs/django/db/models/sql/datastructures.pyi","bundled/stubs/django/db/models/sql/query.pyi","bundled/stubs/django/db/models/sql/subqueries.pyi","bundled/stubs/django/db/models/sql/where.pyi","bundled/stubs/pandas/core/arrays/sparse/__init__.pyi","bundled/stubs/pandas/core/arrays/sparse/accessor.pyi","bundled/stubs/pandas/core/arrays/sparse/array.pyi","bundled/stubs/pandas/core/arrays/sparse/dtype.pyi","bundled/stubs/pandas/core/arrays/sparse/scipy_sparse.pyi","bundled/stubs/scipy-stubs/sparse/linalg/dsolve/_superlu.pyi","bundled/stubs/scipy-stubs/sparse/linalg/isolve/_iterative.pyi","bundled/stubs/django/contrib/auth/management/commands/__init__.pyi","bundled/stubs/django/contrib/auth/management/commands/changepassword.pyi","bundled/stubs/django/contrib/auth/management/commands/createsuperuser.pyi","bundled/stubs/django/contrib/contenttypes/management/commands/__init__.pyi","bundled/stubs/django/contrib/contenttypes/management/commands/remove_stale_contenttypes.pyi","bundled/stubs/django/contrib/gis/db/backends/__init__.pyi","bundled/stubs/django/contrib/gis/db/backends/utils.pyi","bundled/stubs/django/contrib/gis/db/models/__init__.pyi","bundled/stubs/django/contrib/gis/db/models/aggregates.pyi","bundled/stubs/django/contrib/gis/db/models/fields.pyi","bundled/stubs/django/contrib/gis/db/models/functions.pyi","bundled/stubs/django/contrib/gis/db/models/lookups.pyi","bundled/stubs/django/contrib/gis/db/models/proxy.pyi","bundled/stubs/django/contrib/gis/gdal/prototypes/__init__.pyi","bundled/stubs/django/contrib/gis/gdal/prototypes/ds.pyi","bundled/stubs/django/contrib/gis/gdal/prototypes/errcheck.pyi","bundled/stubs/django/contrib/gis/gdal/prototypes/generation.pyi","bundled/stubs/django/contrib/gis/gdal/prototypes/geom.pyi","bundled/stubs/django/contrib/gis/gdal/prototypes/raster.pyi","bundled/stubs/django/contrib/gis/gdal/prototypes/srs.pyi","bundled/stubs/django/contrib/gis/gdal/raster/__init__.pyi","bundled/stubs/django/contrib/gis/gdal/raster/band.pyi","bundled/stubs/django/contrib/gis/gdal/raster/base.pyi","bundled/stubs/django/contrib/gis/gdal/raster/const.pyi","bundled/stubs/django/contrib/gis/gdal/raster/source.pyi","bundled/stubs/django/contrib/gis/geos/prototypes/__init__.pyi","bundled/stubs/django/contrib/gis/geos/prototypes/coordseq.pyi","bundled/stubs/django/contrib/gis/geos/prototypes/errcheck.pyi","bundled/stubs/django/contrib/gis/geos/prototypes/geom.pyi","bundled/stubs/django/contrib/gis/geos/prototypes/io.pyi","bundled/stubs/django/contrib/gis/geos/prototypes/misc.pyi","bundled/stubs/django/contrib/gis/geos/prototypes/predicates.pyi","bundled/stubs/django/contrib/gis/geos/prototypes/prepared.pyi","bundled/stubs/django/contrib/gis/geos/prototypes/threadsafe.pyi","bundled/stubs/django/contrib/gis/geos/prototypes/topology.pyi","bundled/stubs/django/contrib/sessions/management/commands/__init__.pyi","bundled/stubs/django/contrib/sessions/management/commands/clearsessions.pyi","bundled/stubs/django/contrib/sitemaps/management/commands/__init__.pyi","bundled/stubs/django/contrib/sitemaps/management/commands/ping_google.pyi","bundled/stubs/django/contrib/staticfiles/management/commands/__init__.pyi","bundled/stubs/django/contrib/staticfiles/management/commands/collectstatic.pyi","bundled/stubs/django/contrib/staticfiles/management/commands/findstatic.pyi","bundled/stubs/django/contrib/staticfiles/management/commands/runserver.pyi","bundled/stubs/scipy-stubs/sparse/linalg/_eigen/lobpcg/lobpcg.pyi","bundled/stubs/scipy-stubs/sparse/linalg/eigen/arpack/_arpack.pyi","bundled/stubs/django/contrib/gis/db/backends/base/__init__.pyi","bundled/stubs/django/contrib/gis/db/backends/base/adapter.pyi","bundled/stubs/django/contrib/gis/db/backends/base/features.pyi","bundled/stubs/django/contrib/gis/db/backends/base/models.pyi","bundled/stubs/django/contrib/gis/db/backends/base/operations.pyi","bundled/stubs/django/contrib/gis/db/backends/mysql/__init__.pyi","bundled/stubs/django/contrib/gis/db/backends/mysql/base.pyi","bundled/stubs/django/contrib/gis/db/backends/mysql/features.pyi","bundled/stubs/django/contrib/gis/db/backends/mysql/introspection.pyi","bundled/stubs/django/contrib/gis/db/backends/mysql/operations.pyi","bundled/stubs/django/contrib/gis/db/backends/mysql/schema.pyi","bundled/stubs/django/contrib/gis/db/backends/oracle/__init__.pyi","bundled/stubs/django/contrib/gis/db/backends/oracle/adapter.pyi","bundled/stubs/django/contrib/gis/db/backends/oracle/base.pyi","bundled/stubs/django/contrib/gis/db/backends/oracle/features.pyi","bundled/stubs/django/contrib/gis/db/backends/oracle/introspection.pyi","bundled/stubs/django/contrib/gis/db/backends/oracle/models.pyi","bundled/stubs/django/contrib/gis/db/backends/oracle/operations.pyi","bundled/stubs/django/contrib/gis/db/backends/oracle/schema.pyi","bundled/stubs/django/contrib/gis/db/backends/postgis/__init__.pyi","bundled/stubs/django/contrib/gis/db/backends/postgis/adapter.pyi","bundled/stubs/django/contrib/gis/db/backends/postgis/base.pyi","bundled/stubs/django/contrib/gis/db/backends/postgis/const.pyi","bundled/stubs/django/contrib/gis/db/backends/postgis/features.pyi","bundled/stubs/django/contrib/gis/db/backends/postgis/introspection.pyi","bundled/stubs/django/contrib/gis/db/backends/postgis/models.pyi","bundled/stubs/django/contrib/gis/db/backends/postgis/operations.pyi","bundled/stubs/django/contrib/gis/db/backends/postgis/pgraster.pyi","bundled/stubs/django/contrib/gis/db/backends/postgis/schema.pyi","bundled/stubs/django/contrib/gis/db/backends/spatialite/__init__.pyi","bundled/stubs/django/contrib/gis/db/backends/spatialite/adapter.pyi","bundled/stubs/django/contrib/gis/db/backends/spatialite/base.pyi","bundled/stubs/django/contrib/gis/db/backends/spatialite/client.pyi","bundled/stubs/django/contrib/gis/db/backends/spatialite/features.pyi","bundled/stubs/django/contrib/gis/db/backends/spatialite/introspection.pyi","bundled/stubs/django/contrib/gis/db/backends/spatialite/models.pyi","bundled/stubs/django/contrib/gis/db/backends/spatialite/operations.pyi","bundled/stubs/django/contrib/gis/db/backends/spatialite/schema.pyi","bundled/stubs/django/contrib/gis/db/models/sql/__init__.pyi","bundled/stubs/django/contrib/gis/db/models/sql/conversion.pyi","typeshed-fallback/LICENSE","typeshed-fallback/README.md","typeshed-fallback/commit.txt","typeshed-fallback/stdlib/VERSIONS","typeshed-fallback/stdlib/__future__.pyi","typeshed-fallback/stdlib/__main__.pyi","typeshed-fallback/stdlib/_ast.pyi","typeshed-fallback/stdlib/_bisect.pyi","typeshed-fallback/stdlib/_bootlocale.pyi","typeshed-fallback/stdlib/_codecs.pyi","typeshed-fallback/stdlib/_collections_abc.pyi","typeshed-fallback/stdlib/_compat_pickle.pyi","typeshed-fallback/stdlib/_compression.pyi","typeshed-fallback/stdlib/_csv.pyi","typeshed-fallback/stdlib/_curses.pyi","typeshed-fallback/stdlib/_decimal.pyi","typeshed-fallback/stdlib/_dummy_thread.pyi","typeshed-fallback/stdlib/_dummy_threading.pyi","typeshed-fallback/stdlib/_heapq.pyi","typeshed-fallback/stdlib/_imp.pyi","typeshed-fallback/stdlib/_json.pyi","typeshed-fallback/stdlib/_markupbase.pyi","typeshed-fallback/stdlib/_msi.pyi","typeshed-fallback/stdlib/_operator.pyi","typeshed-fallback/stdlib/_osx_support.pyi","typeshed-fallback/stdlib/_posixsubprocess.pyi","typeshed-fallback/stdlib/_py_abc.pyi","typeshed-fallback/stdlib/_pydecimal.pyi","typeshed-fallback/stdlib/_random.pyi","typeshed-fallback/stdlib/_sitebuiltins.pyi","typeshed-fallback/stdlib/_socket.pyi","typeshed-fallback/stdlib/_stat.pyi","typeshed-fallback/stdlib/_thread.pyi","typeshed-fallback/stdlib/_threading_local.pyi","typeshed-fallback/stdlib/_tkinter.pyi","typeshed-fallback/stdlib/_tracemalloc.pyi","typeshed-fallback/stdlib/_warnings.pyi","typeshed-fallback/stdlib/_weakref.pyi","typeshed-fallback/stdlib/_weakrefset.pyi","typeshed-fallback/stdlib/_winapi.pyi","typeshed-fallback/stdlib/abc.pyi","typeshed-fallback/stdlib/aifc.pyi","typeshed-fallback/stdlib/antigravity.pyi","typeshed-fallback/stdlib/argparse.pyi","typeshed-fallback/stdlib/array.pyi","typeshed-fallback/stdlib/ast.pyi","typeshed-fallback/stdlib/asynchat.pyi","typeshed-fallback/stdlib/asyncore.pyi","typeshed-fallback/stdlib/atexit.pyi","typeshed-fallback/stdlib/audioop.pyi","typeshed-fallback/stdlib/base64.pyi","typeshed-fallback/stdlib/bdb.pyi","typeshed-fallback/stdlib/binascii.pyi","typeshed-fallback/stdlib/binhex.pyi","typeshed-fallback/stdlib/bisect.pyi","typeshed-fallback/stdlib/builtins.pyi","typeshed-fallback/stdlib/bz2.pyi","typeshed-fallback/stdlib/cProfile.pyi","typeshed-fallback/stdlib/calendar.pyi","typeshed-fallback/stdlib/cgi.pyi","typeshed-fallback/stdlib/cgitb.pyi","typeshed-fallback/stdlib/chunk.pyi","typeshed-fallback/stdlib/cmath.pyi","typeshed-fallback/stdlib/cmd.pyi","typeshed-fallback/stdlib/code.pyi","typeshed-fallback/stdlib/codecs.pyi","typeshed-fallback/stdlib/codeop.pyi","typeshed-fallback/stdlib/colorsys.pyi","typeshed-fallback/stdlib/compileall.pyi","typeshed-fallback/stdlib/configparser.pyi","typeshed-fallback/stdlib/contextlib.pyi","typeshed-fallback/stdlib/contextvars.pyi","typeshed-fallback/stdlib/copy.pyi","typeshed-fallback/stdlib/copyreg.pyi","typeshed-fallback/stdlib/crypt.pyi","typeshed-fallback/stdlib/csv.pyi","typeshed-fallback/stdlib/dataclasses.pyi","typeshed-fallback/stdlib/datetime.pyi","typeshed-fallback/stdlib/decimal.pyi","typeshed-fallback/stdlib/difflib.pyi","typeshed-fallback/stdlib/dis.pyi","typeshed-fallback/stdlib/doctest.pyi","typeshed-fallback/stdlib/dummy_threading.pyi","typeshed-fallback/stdlib/enum.pyi","typeshed-fallback/stdlib/errno.pyi","typeshed-fallback/stdlib/faulthandler.pyi","typeshed-fallback/stdlib/fcntl.pyi","typeshed-fallback/stdlib/filecmp.pyi","typeshed-fallback/stdlib/fileinput.pyi","typeshed-fallback/stdlib/fnmatch.pyi","typeshed-fallback/stdlib/formatter.pyi","typeshed-fallback/stdlib/fractions.pyi","typeshed-fallback/stdlib/ftplib.pyi","typeshed-fallback/stdlib/functools.pyi","typeshed-fallback/stdlib/gc.pyi","typeshed-fallback/stdlib/genericpath.pyi","typeshed-fallback/stdlib/getopt.pyi","typeshed-fallback/stdlib/getpass.pyi","typeshed-fallback/stdlib/gettext.pyi","typeshed-fallback/stdlib/glob.pyi","typeshed-fallback/stdlib/graphlib.pyi","typeshed-fallback/stdlib/grp.pyi","typeshed-fallback/stdlib/gzip.pyi","typeshed-fallback/stdlib/hashlib.pyi","typeshed-fallback/stdlib/heapq.pyi","typeshed-fallback/stdlib/hmac.pyi","typeshed-fallback/stdlib/imaplib.pyi","typeshed-fallback/stdlib/imghdr.pyi","typeshed-fallback/stdlib/imp.pyi","typeshed-fallback/stdlib/inspect.pyi","typeshed-fallback/stdlib/io.pyi","typeshed-fallback/stdlib/ipaddress.pyi","typeshed-fallback/stdlib/itertools.pyi","typeshed-fallback/stdlib/keyword.pyi","typeshed-fallback/stdlib/linecache.pyi","typeshed-fallback/stdlib/locale.pyi","typeshed-fallback/stdlib/lzma.pyi","typeshed-fallback/stdlib/macpath.pyi","typeshed-fallback/stdlib/macurl2path.pyi","typeshed-fallback/stdlib/mailbox.pyi","typeshed-fallback/stdlib/mailcap.pyi","typeshed-fallback/stdlib/marshal.pyi","typeshed-fallback/stdlib/math.pyi","typeshed-fallback/stdlib/mimetypes.pyi","typeshed-fallback/stdlib/mmap.pyi","typeshed-fallback/stdlib/modulefinder.pyi","typeshed-fallback/stdlib/msvcrt.pyi","typeshed-fallback/stdlib/netrc.pyi","typeshed-fallback/stdlib/nis.pyi","typeshed-fallback/stdlib/nntplib.pyi","typeshed-fallback/stdlib/ntpath.pyi","typeshed-fallback/stdlib/nturl2path.pyi","typeshed-fallback/stdlib/numbers.pyi","typeshed-fallback/stdlib/opcode.pyi","typeshed-fallback/stdlib/operator.pyi","typeshed-fallback/stdlib/optparse.pyi","typeshed-fallback/stdlib/ossaudiodev.pyi","typeshed-fallback/stdlib/parser.pyi","typeshed-fallback/stdlib/pathlib.pyi","typeshed-fallback/stdlib/pdb.pyi","typeshed-fallback/stdlib/pickle.pyi","typeshed-fallback/stdlib/pickletools.pyi","typeshed-fallback/stdlib/pipes.pyi","typeshed-fallback/stdlib/pkgutil.pyi","typeshed-fallback/stdlib/platform.pyi","typeshed-fallback/stdlib/plistlib.pyi","typeshed-fallback/stdlib/poplib.pyi","typeshed-fallback/stdlib/posix.pyi","typeshed-fallback/stdlib/posixpath.pyi","typeshed-fallback/stdlib/pprint.pyi","typeshed-fallback/stdlib/profile.pyi","typeshed-fallback/stdlib/pstats.pyi","typeshed-fallback/stdlib/pty.pyi","typeshed-fallback/stdlib/pwd.pyi","typeshed-fallback/stdlib/py_compile.pyi","typeshed-fallback/stdlib/pyclbr.pyi","typeshed-fallback/stdlib/pydoc.pyi","typeshed-fallback/stdlib/queue.pyi","typeshed-fallback/stdlib/quopri.pyi","typeshed-fallback/stdlib/random.pyi","typeshed-fallback/stdlib/re.pyi","typeshed-fallback/stdlib/readline.pyi","typeshed-fallback/stdlib/reprlib.pyi","typeshed-fallback/stdlib/resource.pyi","typeshed-fallback/stdlib/rlcompleter.pyi","typeshed-fallback/stdlib/runpy.pyi","typeshed-fallback/stdlib/sched.pyi","typeshed-fallback/stdlib/secrets.pyi","typeshed-fallback/stdlib/select.pyi","typeshed-fallback/stdlib/selectors.pyi","typeshed-fallback/stdlib/shelve.pyi","typeshed-fallback/stdlib/shlex.pyi","typeshed-fallback/stdlib/shutil.pyi","typeshed-fallback/stdlib/signal.pyi","typeshed-fallback/stdlib/site.pyi","typeshed-fallback/stdlib/smtpd.pyi","typeshed-fallback/stdlib/smtplib.pyi","typeshed-fallback/stdlib/sndhdr.pyi","typeshed-fallback/stdlib/socket.pyi","typeshed-fallback/stdlib/socketserver.pyi","typeshed-fallback/stdlib/spwd.pyi","typeshed-fallback/stdlib/sre_compile.pyi","typeshed-fallback/stdlib/sre_constants.pyi","typeshed-fallback/stdlib/sre_parse.pyi","typeshed-fallback/stdlib/ssl.pyi","typeshed-fallback/stdlib/stat.pyi","typeshed-fallback/stdlib/statistics.pyi","typeshed-fallback/stdlib/string.pyi","typeshed-fallback/stdlib/stringprep.pyi","typeshed-fallback/stdlib/struct.pyi","typeshed-fallback/stdlib/subprocess.pyi","typeshed-fallback/stdlib/sunau.pyi","typeshed-fallback/stdlib/symbol.pyi","typeshed-fallback/stdlib/symtable.pyi","typeshed-fallback/stdlib/sys.pyi","typeshed-fallback/stdlib/sysconfig.pyi","typeshed-fallback/stdlib/syslog.pyi","typeshed-fallback/stdlib/tabnanny.pyi","typeshed-fallback/stdlib/tarfile.pyi","typeshed-fallback/stdlib/telnetlib.pyi","typeshed-fallback/stdlib/tempfile.pyi","typeshed-fallback/stdlib/termios.pyi","typeshed-fallback/stdlib/textwrap.pyi","typeshed-fallback/stdlib/this.pyi","typeshed-fallback/stdlib/threading.pyi","typeshed-fallback/stdlib/time.pyi","typeshed-fallback/stdlib/timeit.pyi","typeshed-fallback/stdlib/token.pyi","typeshed-fallback/stdlib/tokenize.pyi","typeshed-fallback/stdlib/tomllib.pyi","typeshed-fallback/stdlib/trace.pyi","typeshed-fallback/stdlib/traceback.pyi","typeshed-fallback/stdlib/tracemalloc.pyi","typeshed-fallback/stdlib/tty.pyi","typeshed-fallback/stdlib/turtle.pyi","typeshed-fallback/stdlib/types.pyi","typeshed-fallback/stdlib/typing.pyi","typeshed-fallback/stdlib/typing_extensions.pyi","typeshed-fallback/stdlib/unicodedata.pyi","typeshed-fallback/stdlib/uu.pyi","typeshed-fallback/stdlib/uuid.pyi","typeshed-fallback/stdlib/warnings.pyi","typeshed-fallback/stdlib/wave.pyi","typeshed-fallback/stdlib/weakref.pyi","typeshed-fallback/stdlib/webbrowser.pyi","typeshed-fallback/stdlib/winreg.pyi","typeshed-fallback/stdlib/winsound.pyi","typeshed-fallback/stdlib/xdrlib.pyi","typeshed-fallback/stdlib/xxlimited.pyi","typeshed-fallback/stdlib/zipapp.pyi","typeshed-fallback/stdlib/zipfile.pyi","typeshed-fallback/stdlib/zipimport.pyi","typeshed-fallback/stdlib/zlib.pyi","typeshed-fallback/stdlib/_typeshed/README.md","typeshed-fallback/stdlib/_typeshed/__init__.pyi","typeshed-fallback/stdlib/_typeshed/dbapi.pyi","typeshed-fallback/stdlib/_typeshed/wsgi.pyi","typeshed-fallback/stdlib/_typeshed/xml.pyi","typeshed-fallback/stdlib/asyncio/__init__.pyi","typeshed-fallback/stdlib/asyncio/base_events.pyi","typeshed-fallback/stdlib/asyncio/base_futures.pyi","typeshed-fallback/stdlib/asyncio/base_subprocess.pyi","typeshed-fallback/stdlib/asyncio/base_tasks.pyi","typeshed-fallback/stdlib/asyncio/compat.pyi","typeshed-fallback/stdlib/asyncio/constants.pyi","typeshed-fallback/stdlib/asyncio/coroutines.pyi","typeshed-fallback/stdlib/asyncio/events.pyi","typeshed-fallback/stdlib/asyncio/exceptions.pyi","typeshed-fallback/stdlib/asyncio/format_helpers.pyi","typeshed-fallback/stdlib/asyncio/futures.pyi","typeshed-fallback/stdlib/asyncio/locks.pyi","typeshed-fallback/stdlib/asyncio/log.pyi","typeshed-fallback/stdlib/asyncio/mixins.pyi","typeshed-fallback/stdlib/asyncio/proactor_events.pyi","typeshed-fallback/stdlib/asyncio/protocols.pyi","typeshed-fallback/stdlib/asyncio/queues.pyi","typeshed-fallback/stdlib/asyncio/runners.pyi","typeshed-fallback/stdlib/asyncio/selector_events.pyi","typeshed-fallback/stdlib/asyncio/sslproto.pyi","typeshed-fallback/stdlib/asyncio/staggered.pyi","typeshed-fallback/stdlib/asyncio/streams.pyi","typeshed-fallback/stdlib/asyncio/subprocess.pyi","typeshed-fallback/stdlib/asyncio/taskgroups.pyi","typeshed-fallback/stdlib/asyncio/tasks.pyi","typeshed-fallback/stdlib/asyncio/threads.pyi","typeshed-fallback/stdlib/asyncio/transports.pyi","typeshed-fallback/stdlib/asyncio/trsock.pyi","typeshed-fallback/stdlib/asyncio/unix_events.pyi","typeshed-fallback/stdlib/asyncio/windows_events.pyi","typeshed-fallback/stdlib/asyncio/windows_utils.pyi","typeshed-fallback/stdlib/collections/__init__.pyi","typeshed-fallback/stdlib/collections/abc.pyi","typeshed-fallback/stdlib/concurrent/__init__.pyi","typeshed-fallback/stdlib/ctypes/__init__.pyi","typeshed-fallback/stdlib/ctypes/util.pyi","typeshed-fallback/stdlib/ctypes/wintypes.pyi","typeshed-fallback/stdlib/curses/__init__.pyi","typeshed-fallback/stdlib/curses/ascii.pyi","typeshed-fallback/stdlib/curses/panel.pyi","typeshed-fallback/stdlib/curses/textpad.pyi","typeshed-fallback/stdlib/dbm/__init__.pyi","typeshed-fallback/stdlib/dbm/dumb.pyi","typeshed-fallback/stdlib/dbm/gnu.pyi","typeshed-fallback/stdlib/dbm/ndbm.pyi","typeshed-fallback/stdlib/distutils/__init__.pyi","typeshed-fallback/stdlib/distutils/archive_util.pyi","typeshed-fallback/stdlib/distutils/bcppcompiler.pyi","typeshed-fallback/stdlib/distutils/ccompiler.pyi","typeshed-fallback/stdlib/distutils/cmd.pyi","typeshed-fallback/stdlib/distutils/config.pyi","typeshed-fallback/stdlib/distutils/core.pyi","typeshed-fallback/stdlib/distutils/cygwinccompiler.pyi","typeshed-fallback/stdlib/distutils/debug.pyi","typeshed-fallback/stdlib/distutils/dep_util.pyi","typeshed-fallback/stdlib/distutils/dir_util.pyi","typeshed-fallback/stdlib/distutils/dist.pyi","typeshed-fallback/stdlib/distutils/errors.pyi","typeshed-fallback/stdlib/distutils/extension.pyi","typeshed-fallback/stdlib/distutils/fancy_getopt.pyi","typeshed-fallback/stdlib/distutils/file_util.pyi","typeshed-fallback/stdlib/distutils/filelist.pyi","typeshed-fallback/stdlib/distutils/log.pyi","typeshed-fallback/stdlib/distutils/msvccompiler.pyi","typeshed-fallback/stdlib/distutils/spawn.pyi","typeshed-fallback/stdlib/distutils/sysconfig.pyi","typeshed-fallback/stdlib/distutils/text_file.pyi","typeshed-fallback/stdlib/distutils/unixccompiler.pyi","typeshed-fallback/stdlib/distutils/util.pyi","typeshed-fallback/stdlib/distutils/version.pyi","typeshed-fallback/stdlib/email/__init__.pyi","typeshed-fallback/stdlib/email/_header_value_parser.pyi","typeshed-fallback/stdlib/email/base64mime.pyi","typeshed-fallback/stdlib/email/charset.pyi","typeshed-fallback/stdlib/email/contentmanager.pyi","typeshed-fallback/stdlib/email/encoders.pyi","typeshed-fallback/stdlib/email/errors.pyi","typeshed-fallback/stdlib/email/feedparser.pyi","typeshed-fallback/stdlib/email/generator.pyi","typeshed-fallback/stdlib/email/header.pyi","typeshed-fallback/stdlib/email/headerregistry.pyi","typeshed-fallback/stdlib/email/iterators.pyi","typeshed-fallback/stdlib/email/message.pyi","typeshed-fallback/stdlib/email/parser.pyi","typeshed-fallback/stdlib/email/policy.pyi","typeshed-fallback/stdlib/email/quoprimime.pyi","typeshed-fallback/stdlib/email/utils.pyi","typeshed-fallback/stdlib/encodings/__init__.pyi","typeshed-fallback/stdlib/encodings/utf_8.pyi","typeshed-fallback/stdlib/encodings/utf_8_sig.pyi","typeshed-fallback/stdlib/ensurepip/__init__.pyi","typeshed-fallback/stdlib/html/__init__.pyi","typeshed-fallback/stdlib/html/entities.pyi","typeshed-fallback/stdlib/html/parser.pyi","typeshed-fallback/stdlib/http/__init__.pyi","typeshed-fallback/stdlib/http/client.pyi","typeshed-fallback/stdlib/http/cookiejar.pyi","typeshed-fallback/stdlib/http/cookies.pyi","typeshed-fallback/stdlib/http/server.pyi","typeshed-fallback/stdlib/importlib/__init__.pyi","typeshed-fallback/stdlib/importlib/abc.pyi","typeshed-fallback/stdlib/importlib/machinery.pyi","typeshed-fallback/stdlib/importlib/resources.pyi","typeshed-fallback/stdlib/importlib/util.pyi","typeshed-fallback/stdlib/json/__init__.pyi","typeshed-fallback/stdlib/json/decoder.pyi","typeshed-fallback/stdlib/json/encoder.pyi","typeshed-fallback/stdlib/json/tool.pyi","typeshed-fallback/stdlib/lib2to3/__init__.pyi","typeshed-fallback/stdlib/lib2to3/pygram.pyi","typeshed-fallback/stdlib/lib2to3/pytree.pyi","typeshed-fallback/stdlib/lib2to3/refactor.pyi","typeshed-fallback/stdlib/logging/__init__.pyi","typeshed-fallback/stdlib/logging/config.pyi","typeshed-fallback/stdlib/logging/handlers.pyi","typeshed-fallback/stdlib/msilib/__init__.pyi","typeshed-fallback/stdlib/msilib/schema.pyi","typeshed-fallback/stdlib/msilib/sequence.pyi","typeshed-fallback/stdlib/msilib/text.pyi","typeshed-fallback/stdlib/multiprocessing/__init__.pyi","typeshed-fallback/stdlib/multiprocessing/connection.pyi","typeshed-fallback/stdlib/multiprocessing/context.pyi","typeshed-fallback/stdlib/multiprocessing/managers.pyi","typeshed-fallback/stdlib/multiprocessing/pool.pyi","typeshed-fallback/stdlib/multiprocessing/process.pyi","typeshed-fallback/stdlib/multiprocessing/queues.pyi","typeshed-fallback/stdlib/multiprocessing/reduction.pyi","typeshed-fallback/stdlib/multiprocessing/shared_memory.pyi","typeshed-fallback/stdlib/multiprocessing/sharedctypes.pyi","typeshed-fallback/stdlib/multiprocessing/spawn.pyi","typeshed-fallback/stdlib/multiprocessing/synchronize.pyi","typeshed-fallback/stdlib/os/__init__.pyi","typeshed-fallback/stdlib/os/path.pyi","typeshed-fallback/stdlib/pydoc_data/__init__.pyi","typeshed-fallback/stdlib/pydoc_data/topics.pyi","typeshed-fallback/stdlib/pyexpat/__init__.pyi","typeshed-fallback/stdlib/pyexpat/errors.pyi","typeshed-fallback/stdlib/pyexpat/model.pyi","typeshed-fallback/stdlib/sqlite3/__init__.pyi","typeshed-fallback/stdlib/sqlite3/dbapi2.pyi","typeshed-fallback/stdlib/tkinter/__init__.pyi","typeshed-fallback/stdlib/tkinter/colorchooser.pyi","typeshed-fallback/stdlib/tkinter/commondialog.pyi","typeshed-fallback/stdlib/tkinter/constants.pyi","typeshed-fallback/stdlib/tkinter/dialog.pyi","typeshed-fallback/stdlib/tkinter/dnd.pyi","typeshed-fallback/stdlib/tkinter/filedialog.pyi","typeshed-fallback/stdlib/tkinter/font.pyi","typeshed-fallback/stdlib/tkinter/messagebox.pyi","typeshed-fallback/stdlib/tkinter/scrolledtext.pyi","typeshed-fallback/stdlib/tkinter/simpledialog.pyi","typeshed-fallback/stdlib/tkinter/tix.pyi","typeshed-fallback/stdlib/tkinter/ttk.pyi","typeshed-fallback/stdlib/unittest/__init__.pyi","typeshed-fallback/stdlib/unittest/_log.pyi","typeshed-fallback/stdlib/unittest/async_case.pyi","typeshed-fallback/stdlib/unittest/case.pyi","typeshed-fallback/stdlib/unittest/loader.pyi","typeshed-fallback/stdlib/unittest/main.pyi","typeshed-fallback/stdlib/unittest/mock.pyi","typeshed-fallback/stdlib/unittest/result.pyi","typeshed-fallback/stdlib/unittest/runner.pyi","typeshed-fallback/stdlib/unittest/signals.pyi","typeshed-fallback/stdlib/unittest/suite.pyi","typeshed-fallback/stdlib/unittest/util.pyi","typeshed-fallback/stdlib/urllib/__init__.pyi","typeshed-fallback/stdlib/urllib/error.pyi","typeshed-fallback/stdlib/urllib/parse.pyi","typeshed-fallback/stdlib/urllib/request.pyi","typeshed-fallback/stdlib/urllib/response.pyi","typeshed-fallback/stdlib/urllib/robotparser.pyi","typeshed-fallback/stdlib/venv/__init__.pyi","typeshed-fallback/stdlib/wsgiref/__init__.pyi","typeshed-fallback/stdlib/wsgiref/handlers.pyi","typeshed-fallback/stdlib/wsgiref/headers.pyi","typeshed-fallback/stdlib/wsgiref/simple_server.pyi","typeshed-fallback/stdlib/wsgiref/types.pyi","typeshed-fallback/stdlib/wsgiref/util.pyi","typeshed-fallback/stdlib/wsgiref/validate.pyi","typeshed-fallback/stdlib/xml/__init__.pyi","typeshed-fallback/stdlib/xmlrpc/__init__.pyi","typeshed-fallback/stdlib/xmlrpc/client.pyi","typeshed-fallback/stdlib/xmlrpc/server.pyi","typeshed-fallback/stdlib/zoneinfo/__init__.pyi","typeshed-fallback/stubs/DateTimeRange/METADATA.toml","typeshed-fallback/stubs/Deprecated/METADATA.toml","typeshed-fallback/stubs/Flask-Cors/METADATA.toml","typeshed-fallback/stubs/Flask-SQLAlchemy/METADATA.toml","typeshed-fallback/stubs/JACK-Client/METADATA.toml","typeshed-fallback/stubs/Markdown/METADATA.toml","typeshed-fallback/stubs/Pillow/METADATA.toml","typeshed-fallback/stubs/PyMySQL/METADATA.toml","typeshed-fallback/stubs/PyYAML/METADATA.toml","typeshed-fallback/stubs/Pygments/METADATA.toml","typeshed-fallback/stubs/SQLAlchemy/METADATA.toml","typeshed-fallback/stubs/Send2Trash/METADATA.toml","typeshed-fallback/stubs/aiofiles/METADATA.toml","typeshed-fallback/stubs/annoy/METADATA.toml","typeshed-fallback/stubs/appdirs/METADATA.toml","typeshed-fallback/stubs/appdirs/appdirs.pyi","typeshed-fallback/stubs/atomicwrites/METADATA.toml","typeshed-fallback/stubs/aws-xray-sdk/METADATA.toml","typeshed-fallback/stubs/babel/METADATA.toml","typeshed-fallback/stubs/backports.ssl_match_hostname/METADATA.toml","typeshed-fallback/stubs/beautifulsoup4/METADATA.toml","typeshed-fallback/stubs/bleach/METADATA.toml","typeshed-fallback/stubs/boto/METADATA.toml","typeshed-fallback/stubs/braintree/METADATA.toml","typeshed-fallback/stubs/cachetools/METADATA.toml","typeshed-fallback/stubs/caldav/METADATA.toml","typeshed-fallback/stubs/certifi/METADATA.toml","typeshed-fallback/stubs/certifi/certifi.pyi","typeshed-fallback/stubs/characteristic/METADATA.toml","typeshed-fallback/stubs/chardet/METADATA.toml","typeshed-fallback/stubs/chevron/METADATA.toml","typeshed-fallback/stubs/click-spinner/METADATA.toml","typeshed-fallback/stubs/colorama/METADATA.toml","typeshed-fallback/stubs/commonmark/METADATA.toml","typeshed-fallback/stubs/contextvars/METADATA.toml","typeshed-fallback/stubs/contextvars/contextvars.pyi","typeshed-fallback/stubs/croniter/METADATA.toml","typeshed-fallback/stubs/croniter/croniter.pyi","typeshed-fallback/stubs/cryptography/METADATA.toml","typeshed-fallback/stubs/dataclasses/METADATA.toml","typeshed-fallback/stubs/dataclasses/dataclasses.pyi","typeshed-fallback/stubs/dateparser/METADATA.toml","typeshed-fallback/stubs/decorator/METADATA.toml","typeshed-fallback/stubs/decorator/decorator.pyi","typeshed-fallback/stubs/docopt/METADATA.toml","typeshed-fallback/stubs/docopt/docopt.pyi","typeshed-fallback/stubs/docutils/METADATA.toml","typeshed-fallback/stubs/editdistance/METADATA.toml","typeshed-fallback/stubs/editdistance/editdistance.pyi","typeshed-fallback/stubs/emoji/METADATA.toml","typeshed-fallback/stubs/entrypoints/METADATA.toml","typeshed-fallback/stubs/entrypoints/entrypoints.pyi","typeshed-fallback/stubs/filelock/METADATA.toml","typeshed-fallback/stubs/first/METADATA.toml","typeshed-fallback/stubs/first/first.pyi","typeshed-fallback/stubs/flake8-2020/METADATA.toml","typeshed-fallback/stubs/flake8-2020/flake8_2020.pyi","typeshed-fallback/stubs/flake8-bugbear/METADATA.toml","typeshed-fallback/stubs/flake8-bugbear/bugbear.pyi","typeshed-fallback/stubs/flake8-builtins/METADATA.toml","typeshed-fallback/stubs/flake8-builtins/flake8_builtins.pyi","typeshed-fallback/stubs/flake8-docstrings/METADATA.toml","typeshed-fallback/stubs/flake8-docstrings/flake8_docstrings.pyi","typeshed-fallback/stubs/flake8-plugin-utils/METADATA.toml","typeshed-fallback/stubs/flake8-rst-docstrings/METADATA.toml","typeshed-fallback/stubs/flake8-rst-docstrings/flake8_rst_docstrings.pyi","typeshed-fallback/stubs/flake8-simplify/METADATA.toml","typeshed-fallback/stubs/flake8-typing-imports/METADATA.toml","typeshed-fallback/stubs/flake8-typing-imports/flake8_typing_imports.pyi","typeshed-fallback/stubs/fpdf2/METADATA.toml","typeshed-fallback/stubs/freezegun/METADATA.toml","typeshed-fallback/stubs/frozendict/METADATA.toml","typeshed-fallback/stubs/frozendict/frozendict.pyi","typeshed-fallback/stubs/google-cloud-ndb/METADATA.toml","typeshed-fallback/stubs/hdbcli/METADATA.toml","typeshed-fallback/stubs/html5lib/METADATA.toml","typeshed-fallback/stubs/httplib2/METADATA.toml","typeshed-fallback/stubs/humanfriendly/METADATA.toml","typeshed-fallback/stubs/invoke/METADATA.toml","typeshed-fallback/stubs/jmespath/METADATA.toml","typeshed-fallback/stubs/jsonschema/METADATA.toml","typeshed-fallback/stubs/ldap3/METADATA.toml","typeshed-fallback/stubs/mock/METADATA.toml","typeshed-fallback/stubs/mypy-extensions/METADATA.toml","typeshed-fallback/stubs/mypy-extensions/mypy_extensions.pyi","typeshed-fallback/stubs/mysqlclient/METADATA.toml","typeshed-fallback/stubs/oauthlib/METADATA.toml","typeshed-fallback/stubs/openpyxl/METADATA.toml","typeshed-fallback/stubs/opentracing/METADATA.toml","typeshed-fallback/stubs/paramiko/METADATA.toml","typeshed-fallback/stubs/parsimonious/METADATA.toml","typeshed-fallback/stubs/passlib/METADATA.toml","typeshed-fallback/stubs/passpy/METADATA.toml","typeshed-fallback/stubs/pep8-naming/METADATA.toml","typeshed-fallback/stubs/pep8-naming/pep8ext_naming.pyi","typeshed-fallback/stubs/playsound/METADATA.toml","typeshed-fallback/stubs/playsound/playsound.pyi","typeshed-fallback/stubs/polib/METADATA.toml","typeshed-fallback/stubs/polib/polib.pyi","typeshed-fallback/stubs/prettytable/METADATA.toml","typeshed-fallback/stubs/protobuf/METADATA.toml","typeshed-fallback/stubs/psutil/METADATA.toml","typeshed-fallback/stubs/psycopg2/METADATA.toml","typeshed-fallback/stubs/pyOpenSSL/METADATA.toml","typeshed-fallback/stubs/pyRFC3339/METADATA.toml","typeshed-fallback/stubs/pyaudio/METADATA.toml","typeshed-fallback/stubs/pyaudio/pyaudio.pyi","typeshed-fallback/stubs/pycurl/METADATA.toml","typeshed-fallback/stubs/pycurl/pycurl.pyi","typeshed-fallback/stubs/pyfarmhash/METADATA.toml","typeshed-fallback/stubs/pyfarmhash/farmhash.pyi","typeshed-fallback/stubs/pyflakes/METADATA.toml","typeshed-fallback/stubs/pynput/METADATA.toml","typeshed-fallback/stubs/pysftp/METADATA.toml","typeshed-fallback/stubs/pytest-lazy-fixture/METADATA.toml","typeshed-fallback/stubs/pytest-lazy-fixture/pytest_lazyfixture.pyi","typeshed-fallback/stubs/python-dateutil/METADATA.toml","typeshed-fallback/stubs/python-gflags/METADATA.toml","typeshed-fallback/stubs/python-gflags/gflags.pyi","typeshed-fallback/stubs/python-jose/METADATA.toml","typeshed-fallback/stubs/python-nmap/METADATA.toml","typeshed-fallback/stubs/python-slugify/METADATA.toml","typeshed-fallback/stubs/pytz/METADATA.toml","typeshed-fallback/stubs/pyvmomi/METADATA.toml","typeshed-fallback/stubs/redis/METADATA.toml","typeshed-fallback/stubs/regex/METADATA.toml","typeshed-fallback/stubs/requests/METADATA.toml","typeshed-fallback/stubs/retry/METADATA.toml","typeshed-fallback/stubs/selenium/METADATA.toml","typeshed-fallback/stubs/setuptools/METADATA.toml","typeshed-fallback/stubs/simplejson/METADATA.toml","typeshed-fallback/stubs/singledispatch/METADATA.toml","typeshed-fallback/stubs/singledispatch/singledispatch.pyi","typeshed-fallback/stubs/six/METADATA.toml","typeshed-fallback/stubs/slumber/METADATA.toml","typeshed-fallback/stubs/stdlib-list/METADATA.toml","typeshed-fallback/stubs/stripe/METADATA.toml","typeshed-fallback/stubs/tabulate/METADATA.toml","typeshed-fallback/stubs/tabulate/tabulate.pyi","typeshed-fallback/stubs/termcolor/METADATA.toml","typeshed-fallback/stubs/termcolor/termcolor.pyi","typeshed-fallback/stubs/toml/METADATA.toml","typeshed-fallback/stubs/toposort/METADATA.toml","typeshed-fallback/stubs/toposort/toposort.pyi","typeshed-fallback/stubs/ttkthemes/METADATA.toml","typeshed-fallback/stubs/typed-ast/METADATA.toml","typeshed-fallback/stubs/tzlocal/METADATA.toml","typeshed-fallback/stubs/ujson/METADATA.toml","typeshed-fallback/stubs/ujson/ujson.pyi","typeshed-fallback/stubs/urllib3/METADATA.toml","typeshed-fallback/stubs/vobject/METADATA.toml","typeshed-fallback/stubs/waitress/METADATA.toml","typeshed-fallback/stubs/whatthepatch/METADATA.toml","typeshed-fallback/stubs/xmltodict/METADATA.toml","typeshed-fallback/stubs/xmltodict/xmltodict.pyi","typeshed-fallback/stubs/xxhash/METADATA.toml","typeshed-fallback/stubs/xxhash/xxhash.pyi","typeshed-fallback/stdlib/concurrent/futures/__init__.pyi","typeshed-fallback/stdlib/concurrent/futures/_base.pyi","typeshed-fallback/stdlib/concurrent/futures/process.pyi","typeshed-fallback/stdlib/concurrent/futures/thread.pyi","typeshed-fallback/stdlib/distutils/command/__init__.pyi","typeshed-fallback/stdlib/distutils/command/bdist.pyi","typeshed-fallback/stdlib/distutils/command/bdist_dumb.pyi","typeshed-fallback/stdlib/distutils/command/bdist_msi.pyi","typeshed-fallback/stdlib/distutils/command/bdist_packager.pyi","typeshed-fallback/stdlib/distutils/command/bdist_rpm.pyi","typeshed-fallback/stdlib/distutils/command/bdist_wininst.pyi","typeshed-fallback/stdlib/distutils/command/build.pyi","typeshed-fallback/stdlib/distutils/command/build_clib.pyi","typeshed-fallback/stdlib/distutils/command/build_ext.pyi","typeshed-fallback/stdlib/distutils/command/build_py.pyi","typeshed-fallback/stdlib/distutils/command/build_scripts.pyi","typeshed-fallback/stdlib/distutils/command/check.pyi","typeshed-fallback/stdlib/distutils/command/clean.pyi","typeshed-fallback/stdlib/distutils/command/config.pyi","typeshed-fallback/stdlib/distutils/command/install.pyi","typeshed-fallback/stdlib/distutils/command/install_data.pyi","typeshed-fallback/stdlib/distutils/command/install_egg_info.pyi","typeshed-fallback/stdlib/distutils/command/install_headers.pyi","typeshed-fallback/stdlib/distutils/command/install_lib.pyi","typeshed-fallback/stdlib/distutils/command/install_scripts.pyi","typeshed-fallback/stdlib/distutils/command/register.pyi","typeshed-fallback/stdlib/distutils/command/sdist.pyi","typeshed-fallback/stdlib/distutils/command/upload.pyi","typeshed-fallback/stdlib/email/mime/__init__.pyi","typeshed-fallback/stdlib/email/mime/application.pyi","typeshed-fallback/stdlib/email/mime/audio.pyi","typeshed-fallback/stdlib/email/mime/base.pyi","typeshed-fallback/stdlib/email/mime/image.pyi","typeshed-fallback/stdlib/email/mime/message.pyi","typeshed-fallback/stdlib/email/mime/multipart.pyi","typeshed-fallback/stdlib/email/mime/nonmultipart.pyi","typeshed-fallback/stdlib/email/mime/text.pyi","typeshed-fallback/stdlib/importlib/metadata/__init__.pyi","typeshed-fallback/stdlib/importlib/metadata/_meta.pyi","typeshed-fallback/stdlib/lib2to3/pgen2/__init__.pyi","typeshed-fallback/stdlib/lib2to3/pgen2/driver.pyi","typeshed-fallback/stdlib/lib2to3/pgen2/grammar.pyi","typeshed-fallback/stdlib/lib2to3/pgen2/literals.pyi","typeshed-fallback/stdlib/lib2to3/pgen2/parse.pyi","typeshed-fallback/stdlib/lib2to3/pgen2/pgen.pyi","typeshed-fallback/stdlib/lib2to3/pgen2/token.pyi","typeshed-fallback/stdlib/lib2to3/pgen2/tokenize.pyi","typeshed-fallback/stdlib/multiprocessing/dummy/__init__.pyi","typeshed-fallback/stdlib/multiprocessing/dummy/connection.pyi","typeshed-fallback/stdlib/xml/dom/NodeFilter.pyi","typeshed-fallback/stdlib/xml/dom/__init__.pyi","typeshed-fallback/stdlib/xml/dom/domreg.pyi","typeshed-fallback/stdlib/xml/dom/expatbuilder.pyi","typeshed-fallback/stdlib/xml/dom/minicompat.pyi","typeshed-fallback/stdlib/xml/dom/minidom.pyi","typeshed-fallback/stdlib/xml/dom/pulldom.pyi","typeshed-fallback/stdlib/xml/dom/xmlbuilder.pyi","typeshed-fallback/stdlib/xml/etree/ElementInclude.pyi","typeshed-fallback/stdlib/xml/etree/ElementPath.pyi","typeshed-fallback/stdlib/xml/etree/ElementTree.pyi","typeshed-fallback/stdlib/xml/etree/__init__.pyi","typeshed-fallback/stdlib/xml/etree/cElementTree.pyi","typeshed-fallback/stdlib/xml/parsers/__init__.pyi","typeshed-fallback/stdlib/xml/sax/__init__.pyi","typeshed-fallback/stdlib/xml/sax/handler.pyi","typeshed-fallback/stdlib/xml/sax/saxutils.pyi","typeshed-fallback/stdlib/xml/sax/xmlreader.pyi","typeshed-fallback/stubs/DateTimeRange/datetimerange/__init__.pyi","typeshed-fallback/stubs/Deprecated/deprecated/__init__.pyi","typeshed-fallback/stubs/Deprecated/deprecated/classic.pyi","typeshed-fallback/stubs/Deprecated/deprecated/sphinx.pyi","typeshed-fallback/stubs/Flask-Cors/flask_cors/__init__.pyi","typeshed-fallback/stubs/Flask-Cors/flask_cors/core.pyi","typeshed-fallback/stubs/Flask-Cors/flask_cors/decorator.pyi","typeshed-fallback/stubs/Flask-Cors/flask_cors/extension.pyi","typeshed-fallback/stubs/Flask-Cors/flask_cors/version.pyi","typeshed-fallback/stubs/Flask-SQLAlchemy/flask_sqlalchemy/__init__.pyi","typeshed-fallback/stubs/Flask-SQLAlchemy/flask_sqlalchemy/model.pyi","typeshed-fallback/stubs/Flask-SQLAlchemy/flask_sqlalchemy/utils.pyi","typeshed-fallback/stubs/JACK-Client/jack/__init__.pyi","typeshed-fallback/stubs/Markdown/markdown/__init__.pyi","typeshed-fallback/stubs/Markdown/markdown/__meta__.pyi","typeshed-fallback/stubs/Markdown/markdown/blockparser.pyi","typeshed-fallback/stubs/Markdown/markdown/blockprocessors.pyi","typeshed-fallback/stubs/Markdown/markdown/core.pyi","typeshed-fallback/stubs/Markdown/markdown/inlinepatterns.pyi","typeshed-fallback/stubs/Markdown/markdown/pep562.pyi","typeshed-fallback/stubs/Markdown/markdown/postprocessors.pyi","typeshed-fallback/stubs/Markdown/markdown/preprocessors.pyi","typeshed-fallback/stubs/Markdown/markdown/serializers.pyi","typeshed-fallback/stubs/Markdown/markdown/treeprocessors.pyi","typeshed-fallback/stubs/Markdown/markdown/util.pyi","typeshed-fallback/stubs/Pillow/PIL/BdfFontFile.pyi","typeshed-fallback/stubs/Pillow/PIL/BlpImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/BmpImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/BufrStubImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/ContainerIO.pyi","typeshed-fallback/stubs/Pillow/PIL/CurImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/DcxImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/DdsImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/EpsImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/ExifTags.pyi","typeshed-fallback/stubs/Pillow/PIL/FitsStubImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/FliImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/FontFile.pyi","typeshed-fallback/stubs/Pillow/PIL/FpxImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/FtexImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/GbrImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/GdImageFile.pyi","typeshed-fallback/stubs/Pillow/PIL/GifImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/GimpGradientFile.pyi","typeshed-fallback/stubs/Pillow/PIL/GimpPaletteFile.pyi","typeshed-fallback/stubs/Pillow/PIL/GribStubImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/Hdf5StubImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/IcnsImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/IcoImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/ImImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/Image.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageChops.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageCms.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageColor.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageDraw.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageDraw2.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageEnhance.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageFile.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageFilter.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageFont.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageGrab.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageMath.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageMode.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageMorph.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageOps.pyi","typeshed-fallback/stubs/Pillow/PIL/ImagePalette.pyi","typeshed-fallback/stubs/Pillow/PIL/ImagePath.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageQt.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageSequence.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageShow.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageStat.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageTk.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageTransform.pyi","typeshed-fallback/stubs/Pillow/PIL/ImageWin.pyi","typeshed-fallback/stubs/Pillow/PIL/ImtImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/IptcImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/Jpeg2KImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/JpegImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/JpegPresets.pyi","typeshed-fallback/stubs/Pillow/PIL/McIdasImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/MicImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/MpegImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/MpoImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/MspImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/PSDraw.pyi","typeshed-fallback/stubs/Pillow/PIL/PaletteFile.pyi","typeshed-fallback/stubs/Pillow/PIL/PalmImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/PcdImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/PcfFontFile.pyi","typeshed-fallback/stubs/Pillow/PIL/PcxImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/PdfImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/PdfParser.pyi","typeshed-fallback/stubs/Pillow/PIL/PixarImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/PngImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/PpmImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/PsdImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/PyAccess.pyi","typeshed-fallback/stubs/Pillow/PIL/SgiImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/SpiderImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/SunImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/TarIO.pyi","typeshed-fallback/stubs/Pillow/PIL/TgaImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/TiffImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/TiffTags.pyi","typeshed-fallback/stubs/Pillow/PIL/WalImageFile.pyi","typeshed-fallback/stubs/Pillow/PIL/WebPImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/WmfImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/XVThumbImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/XbmImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/XpmImagePlugin.pyi","typeshed-fallback/stubs/Pillow/PIL/__init__.pyi","typeshed-fallback/stubs/Pillow/PIL/_binary.pyi","typeshed-fallback/stubs/Pillow/PIL/_imaging.pyi","typeshed-fallback/stubs/Pillow/PIL/_tkinter_finder.pyi","typeshed-fallback/stubs/Pillow/PIL/_util.pyi","typeshed-fallback/stubs/Pillow/PIL/_version.pyi","typeshed-fallback/stubs/Pillow/PIL/features.pyi","typeshed-fallback/stubs/PyMySQL/pymysql/__init__.pyi","typeshed-fallback/stubs/PyMySQL/pymysql/charset.pyi","typeshed-fallback/stubs/PyMySQL/pymysql/connections.pyi","typeshed-fallback/stubs/PyMySQL/pymysql/converters.pyi","typeshed-fallback/stubs/PyMySQL/pymysql/cursors.pyi","typeshed-fallback/stubs/PyMySQL/pymysql/err.pyi","typeshed-fallback/stubs/PyMySQL/pymysql/times.pyi","typeshed-fallback/stubs/PyMySQL/pymysql/util.pyi","typeshed-fallback/stubs/PyYAML/yaml/__init__.pyi","typeshed-fallback/stubs/PyYAML/yaml/_yaml.pyi","typeshed-fallback/stubs/PyYAML/yaml/composer.pyi","typeshed-fallback/stubs/PyYAML/yaml/constructor.pyi","typeshed-fallback/stubs/PyYAML/yaml/cyaml.pyi","typeshed-fallback/stubs/PyYAML/yaml/dumper.pyi","typeshed-fallback/stubs/PyYAML/yaml/emitter.pyi","typeshed-fallback/stubs/PyYAML/yaml/error.pyi","typeshed-fallback/stubs/PyYAML/yaml/events.pyi","typeshed-fallback/stubs/PyYAML/yaml/loader.pyi","typeshed-fallback/stubs/PyYAML/yaml/nodes.pyi","typeshed-fallback/stubs/PyYAML/yaml/parser.pyi","typeshed-fallback/stubs/PyYAML/yaml/reader.pyi","typeshed-fallback/stubs/PyYAML/yaml/representer.pyi","typeshed-fallback/stubs/PyYAML/yaml/resolver.pyi","typeshed-fallback/stubs/PyYAML/yaml/scanner.pyi","typeshed-fallback/stubs/PyYAML/yaml/serializer.pyi","typeshed-fallback/stubs/PyYAML/yaml/tokens.pyi","typeshed-fallback/stubs/Pygments/pygments/__init__.pyi","typeshed-fallback/stubs/Pygments/pygments/cmdline.pyi","typeshed-fallback/stubs/Pygments/pygments/console.pyi","typeshed-fallback/stubs/Pygments/pygments/filter.pyi","typeshed-fallback/stubs/Pygments/pygments/formatter.pyi","typeshed-fallback/stubs/Pygments/pygments/lexer.pyi","typeshed-fallback/stubs/Pygments/pygments/modeline.pyi","typeshed-fallback/stubs/Pygments/pygments/plugin.pyi","typeshed-fallback/stubs/Pygments/pygments/regexopt.pyi","typeshed-fallback/stubs/Pygments/pygments/scanner.pyi","typeshed-fallback/stubs/Pygments/pygments/sphinxext.pyi","typeshed-fallback/stubs/Pygments/pygments/style.pyi","typeshed-fallback/stubs/Pygments/pygments/token.pyi","typeshed-fallback/stubs/Pygments/pygments/unistring.pyi","typeshed-fallback/stubs/Pygments/pygments/util.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/cimmutabledict.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/cresultproxy.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dbapi.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/events.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/exc.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/inspection.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/log.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/processors.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/schema.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/types.pyi","typeshed-fallback/stubs/Send2Trash/send2trash/__init__.pyi","typeshed-fallback/stubs/Send2Trash/send2trash/compat.pyi","typeshed-fallback/stubs/Send2Trash/send2trash/exceptions.pyi","typeshed-fallback/stubs/Send2Trash/send2trash/util.pyi","typeshed-fallback/stubs/aiofiles/aiofiles/__init__.pyi","typeshed-fallback/stubs/aiofiles/aiofiles/base.pyi","typeshed-fallback/stubs/aiofiles/aiofiles/os.pyi","typeshed-fallback/stubs/aiofiles/aiofiles/ospath.pyi","typeshed-fallback/stubs/annoy/annoy/__init__.pyi","typeshed-fallback/stubs/atomicwrites/atomicwrites/__init__.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/__init__.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/sdk_config.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/version.pyi","typeshed-fallback/stubs/babel/babel/__init__.pyi","typeshed-fallback/stubs/babel/babel/_compat.pyi","typeshed-fallback/stubs/babel/babel/core.pyi","typeshed-fallback/stubs/babel/babel/dates.pyi","typeshed-fallback/stubs/babel/babel/languages.pyi","typeshed-fallback/stubs/babel/babel/lists.pyi","typeshed-fallback/stubs/babel/babel/localedata.pyi","typeshed-fallback/stubs/babel/babel/numbers.pyi","typeshed-fallback/stubs/babel/babel/plural.pyi","typeshed-fallback/stubs/babel/babel/support.pyi","typeshed-fallback/stubs/babel/babel/units.pyi","typeshed-fallback/stubs/babel/babel/util.pyi","typeshed-fallback/stubs/backports.ssl_match_hostname/backports/__init__.pyi","typeshed-fallback/stubs/beautifulsoup4/bs4/__init__.pyi","typeshed-fallback/stubs/beautifulsoup4/bs4/dammit.pyi","typeshed-fallback/stubs/beautifulsoup4/bs4/diagnose.pyi","typeshed-fallback/stubs/beautifulsoup4/bs4/element.pyi","typeshed-fallback/stubs/beautifulsoup4/bs4/formatter.pyi","typeshed-fallback/stubs/bleach/bleach/__init__.pyi","typeshed-fallback/stubs/bleach/bleach/callbacks.pyi","typeshed-fallback/stubs/bleach/bleach/css_sanitizer.pyi","typeshed-fallback/stubs/bleach/bleach/html5lib_shim.pyi","typeshed-fallback/stubs/bleach/bleach/linkifier.pyi","typeshed-fallback/stubs/bleach/bleach/sanitizer.pyi","typeshed-fallback/stubs/boto/boto/__init__.pyi","typeshed-fallback/stubs/boto/boto/auth.pyi","typeshed-fallback/stubs/boto/boto/auth_handler.pyi","typeshed-fallback/stubs/boto/boto/compat.pyi","typeshed-fallback/stubs/boto/boto/connection.pyi","typeshed-fallback/stubs/boto/boto/exception.pyi","typeshed-fallback/stubs/boto/boto/plugin.pyi","typeshed-fallback/stubs/boto/boto/regioninfo.pyi","typeshed-fallback/stubs/boto/boto/utils.pyi","typeshed-fallback/stubs/braintree/braintree/__init__.pyi","typeshed-fallback/stubs/braintree/braintree/account_updater_daily_report.pyi","typeshed-fallback/stubs/braintree/braintree/ach_mandate.pyi","typeshed-fallback/stubs/braintree/braintree/add_on.pyi","typeshed-fallback/stubs/braintree/braintree/add_on_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/address.pyi","typeshed-fallback/stubs/braintree/braintree/address_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/amex_express_checkout_card.pyi","typeshed-fallback/stubs/braintree/braintree/android_pay_card.pyi","typeshed-fallback/stubs/braintree/braintree/apple_pay_card.pyi","typeshed-fallback/stubs/braintree/braintree/apple_pay_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/apple_pay_options.pyi","typeshed-fallback/stubs/braintree/braintree/attribute_getter.pyi","typeshed-fallback/stubs/braintree/braintree/authorization_adjustment.pyi","typeshed-fallback/stubs/braintree/braintree/bin_data.pyi","typeshed-fallback/stubs/braintree/braintree/braintree_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/client_token.pyi","typeshed-fallback/stubs/braintree/braintree/client_token_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/configuration.pyi","typeshed-fallback/stubs/braintree/braintree/connected_merchant_paypal_status_changed.pyi","typeshed-fallback/stubs/braintree/braintree/connected_merchant_status_transitioned.pyi","typeshed-fallback/stubs/braintree/braintree/credentials_parser.pyi","typeshed-fallback/stubs/braintree/braintree/credit_card.pyi","typeshed-fallback/stubs/braintree/braintree/credit_card_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/credit_card_verification.pyi","typeshed-fallback/stubs/braintree/braintree/credit_card_verification_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/credit_card_verification_search.pyi","typeshed-fallback/stubs/braintree/braintree/customer.pyi","typeshed-fallback/stubs/braintree/braintree/customer_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/customer_search.pyi","typeshed-fallback/stubs/braintree/braintree/descriptor.pyi","typeshed-fallback/stubs/braintree/braintree/disbursement.pyi","typeshed-fallback/stubs/braintree/braintree/disbursement_detail.pyi","typeshed-fallback/stubs/braintree/braintree/discount.pyi","typeshed-fallback/stubs/braintree/braintree/discount_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/dispute.pyi","typeshed-fallback/stubs/braintree/braintree/dispute_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/dispute_search.pyi","typeshed-fallback/stubs/braintree/braintree/document_upload.pyi","typeshed-fallback/stubs/braintree/braintree/document_upload_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/environment.pyi","typeshed-fallback/stubs/braintree/braintree/error_codes.pyi","typeshed-fallback/stubs/braintree/braintree/error_result.pyi","typeshed-fallback/stubs/braintree/braintree/errors.pyi","typeshed-fallback/stubs/braintree/braintree/europe_bank_account.pyi","typeshed-fallback/stubs/braintree/braintree/facilitated_details.pyi","typeshed-fallback/stubs/braintree/braintree/facilitator_details.pyi","typeshed-fallback/stubs/braintree/braintree/granted_payment_instrument_update.pyi","typeshed-fallback/stubs/braintree/braintree/iban_bank_account.pyi","typeshed-fallback/stubs/braintree/braintree/ids_search.pyi","typeshed-fallback/stubs/braintree/braintree/local_payment.pyi","typeshed-fallback/stubs/braintree/braintree/local_payment_completed.pyi","typeshed-fallback/stubs/braintree/braintree/local_payment_reversed.pyi","typeshed-fallback/stubs/braintree/braintree/masterpass_card.pyi","typeshed-fallback/stubs/braintree/braintree/merchant.pyi","typeshed-fallback/stubs/braintree/braintree/merchant_account_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/merchant_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/modification.pyi","typeshed-fallback/stubs/braintree/braintree/oauth_access_revocation.pyi","typeshed-fallback/stubs/braintree/braintree/oauth_credentials.pyi","typeshed-fallback/stubs/braintree/braintree/oauth_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/paginated_collection.pyi","typeshed-fallback/stubs/braintree/braintree/paginated_result.pyi","typeshed-fallback/stubs/braintree/braintree/partner_merchant.pyi","typeshed-fallback/stubs/braintree/braintree/payment_instrument_type.pyi","typeshed-fallback/stubs/braintree/braintree/payment_method.pyi","typeshed-fallback/stubs/braintree/braintree/payment_method_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/payment_method_nonce.pyi","typeshed-fallback/stubs/braintree/braintree/payment_method_nonce_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/payment_method_parser.pyi","typeshed-fallback/stubs/braintree/braintree/paypal_account.pyi","typeshed-fallback/stubs/braintree/braintree/paypal_account_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/paypal_here.pyi","typeshed-fallback/stubs/braintree/braintree/plan.pyi","typeshed-fallback/stubs/braintree/braintree/plan_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/processor_response_types.pyi","typeshed-fallback/stubs/braintree/braintree/resource.pyi","typeshed-fallback/stubs/braintree/braintree/resource_collection.pyi","typeshed-fallback/stubs/braintree/braintree/revoked_payment_method_metadata.pyi","typeshed-fallback/stubs/braintree/braintree/risk_data.pyi","typeshed-fallback/stubs/braintree/braintree/samsung_pay_card.pyi","typeshed-fallback/stubs/braintree/braintree/search.pyi","typeshed-fallback/stubs/braintree/braintree/settlement_batch_summary.pyi","typeshed-fallback/stubs/braintree/braintree/settlement_batch_summary_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/signature_service.pyi","typeshed-fallback/stubs/braintree/braintree/status_event.pyi","typeshed-fallback/stubs/braintree/braintree/subscription.pyi","typeshed-fallback/stubs/braintree/braintree/subscription_details.pyi","typeshed-fallback/stubs/braintree/braintree/subscription_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/subscription_search.pyi","typeshed-fallback/stubs/braintree/braintree/subscription_status_event.pyi","typeshed-fallback/stubs/braintree/braintree/successful_result.pyi","typeshed-fallback/stubs/braintree/braintree/testing_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/three_d_secure_info.pyi","typeshed-fallback/stubs/braintree/braintree/transaction.pyi","typeshed-fallback/stubs/braintree/braintree/transaction_amounts.pyi","typeshed-fallback/stubs/braintree/braintree/transaction_details.pyi","typeshed-fallback/stubs/braintree/braintree/transaction_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/transaction_line_item.pyi","typeshed-fallback/stubs/braintree/braintree/transaction_line_item_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/transaction_search.pyi","typeshed-fallback/stubs/braintree/braintree/unknown_payment_method.pyi","typeshed-fallback/stubs/braintree/braintree/us_bank_account.pyi","typeshed-fallback/stubs/braintree/braintree/us_bank_account_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/us_bank_account_verification.pyi","typeshed-fallback/stubs/braintree/braintree/us_bank_account_verification_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/us_bank_account_verification_search.pyi","typeshed-fallback/stubs/braintree/braintree/validation_error.pyi","typeshed-fallback/stubs/braintree/braintree/validation_error_collection.pyi","typeshed-fallback/stubs/braintree/braintree/venmo_account.pyi","typeshed-fallback/stubs/braintree/braintree/version.pyi","typeshed-fallback/stubs/braintree/braintree/visa_checkout_card.pyi","typeshed-fallback/stubs/braintree/braintree/webhook_notification.pyi","typeshed-fallback/stubs/braintree/braintree/webhook_notification_gateway.pyi","typeshed-fallback/stubs/braintree/braintree/webhook_testing.pyi","typeshed-fallback/stubs/braintree/braintree/webhook_testing_gateway.pyi","typeshed-fallback/stubs/cachetools/cachetools/__init__.pyi","typeshed-fallback/stubs/cachetools/cachetools/func.pyi","typeshed-fallback/stubs/cachetools/cachetools/keys.pyi","typeshed-fallback/stubs/caldav/caldav/__init__.pyi","typeshed-fallback/stubs/caldav/caldav/davclient.pyi","typeshed-fallback/stubs/caldav/caldav/objects.pyi","typeshed-fallback/stubs/characteristic/characteristic/__init__.pyi","typeshed-fallback/stubs/chardet/chardet/__init__.pyi","typeshed-fallback/stubs/chardet/chardet/enums.pyi","typeshed-fallback/stubs/chardet/chardet/langbulgarianmodel.pyi","typeshed-fallback/stubs/chardet/chardet/langcyrillicmodel.pyi","typeshed-fallback/stubs/chardet/chardet/langgreekmodel.pyi","typeshed-fallback/stubs/chardet/chardet/langhebrewmodel.pyi","typeshed-fallback/stubs/chardet/chardet/langhungarianmodel.pyi","typeshed-fallback/stubs/chardet/chardet/langthaimodel.pyi","typeshed-fallback/stubs/chardet/chardet/langturkishmodel.pyi","typeshed-fallback/stubs/chardet/chardet/universaldetector.pyi","typeshed-fallback/stubs/chardet/chardet/version.pyi","typeshed-fallback/stubs/chevron/chevron/__init__.pyi","typeshed-fallback/stubs/chevron/chevron/main.pyi","typeshed-fallback/stubs/chevron/chevron/metadata.pyi","typeshed-fallback/stubs/chevron/chevron/renderer.pyi","typeshed-fallback/stubs/chevron/chevron/tokenizer.pyi","typeshed-fallback/stubs/click-spinner/click_spinner/__init__.pyi","typeshed-fallback/stubs/colorama/colorama/__init__.pyi","typeshed-fallback/stubs/colorama/colorama/ansi.pyi","typeshed-fallback/stubs/colorama/colorama/ansitowin32.pyi","typeshed-fallback/stubs/colorama/colorama/initialise.pyi","typeshed-fallback/stubs/colorama/colorama/win32.pyi","typeshed-fallback/stubs/colorama/colorama/winterm.pyi","typeshed-fallback/stubs/commonmark/commonmark/__init__.pyi","typeshed-fallback/stubs/commonmark/commonmark/blocks.pyi","typeshed-fallback/stubs/commonmark/commonmark/cmark.pyi","typeshed-fallback/stubs/commonmark/commonmark/common.pyi","typeshed-fallback/stubs/commonmark/commonmark/dump.pyi","typeshed-fallback/stubs/commonmark/commonmark/entitytrans.pyi","typeshed-fallback/stubs/commonmark/commonmark/inlines.pyi","typeshed-fallback/stubs/commonmark/commonmark/main.pyi","typeshed-fallback/stubs/commonmark/commonmark/node.pyi","typeshed-fallback/stubs/commonmark/commonmark/normalize_reference.pyi","typeshed-fallback/stubs/cryptography/cryptography/__init__.pyi","typeshed-fallback/stubs/cryptography/cryptography/exceptions.pyi","typeshed-fallback/stubs/cryptography/cryptography/fernet.pyi","typeshed-fallback/stubs/dateparser/dateparser/__init__.pyi","typeshed-fallback/stubs/dateparser/dateparser/conf.pyi","typeshed-fallback/stubs/dateparser/dateparser/date.pyi","typeshed-fallback/stubs/dateparser/dateparser/date_parser.pyi","typeshed-fallback/stubs/dateparser/dateparser/freshness_date_parser.pyi","typeshed-fallback/stubs/dateparser/dateparser/parser.pyi","typeshed-fallback/stubs/dateparser/dateparser/timezone_parser.pyi","typeshed-fallback/stubs/dateparser/dateparser/timezones.pyi","typeshed-fallback/stubs/dateparser/dateparser_data/__init__.pyi","typeshed-fallback/stubs/dateparser/dateparser_data/settings.pyi","typeshed-fallback/stubs/docutils/docutils/__init__.pyi","typeshed-fallback/stubs/docutils/docutils/core.pyi","typeshed-fallback/stubs/docutils/docutils/examples.pyi","typeshed-fallback/stubs/docutils/docutils/frontend.pyi","typeshed-fallback/stubs/docutils/docutils/io.pyi","typeshed-fallback/stubs/docutils/docutils/nodes.pyi","typeshed-fallback/stubs/docutils/docutils/statemachine.pyi","typeshed-fallback/stubs/emoji/emoji/__init__.pyi","typeshed-fallback/stubs/emoji/emoji/core.pyi","typeshed-fallback/stubs/filelock/filelock/__init__.pyi","typeshed-fallback/stubs/flake8-plugin-utils/flake8_plugin_utils/__init__.pyi","typeshed-fallback/stubs/flake8-plugin-utils/flake8_plugin_utils/plugin.pyi","typeshed-fallback/stubs/flake8-simplify/flake8_simplify/__init__.pyi","typeshed-fallback/stubs/fpdf2/fpdf/__init__.pyi","typeshed-fallback/stubs/fpdf2/fpdf/actions.pyi","typeshed-fallback/stubs/fpdf2/fpdf/deprecation.pyi","typeshed-fallback/stubs/fpdf2/fpdf/errors.pyi","typeshed-fallback/stubs/fpdf2/fpdf/fonts.pyi","typeshed-fallback/stubs/fpdf2/fpdf/fpdf.pyi","typeshed-fallback/stubs/fpdf2/fpdf/html.pyi","typeshed-fallback/stubs/fpdf2/fpdf/image_parsing.pyi","typeshed-fallback/stubs/fpdf2/fpdf/outline.pyi","typeshed-fallback/stubs/fpdf2/fpdf/recorder.pyi","typeshed-fallback/stubs/fpdf2/fpdf/structure_tree.pyi","typeshed-fallback/stubs/fpdf2/fpdf/syntax.pyi","typeshed-fallback/stubs/fpdf2/fpdf/template.pyi","typeshed-fallback/stubs/fpdf2/fpdf/transitions.pyi","typeshed-fallback/stubs/fpdf2/fpdf/ttfonts.pyi","typeshed-fallback/stubs/fpdf2/fpdf/util.pyi","typeshed-fallback/stubs/freezegun/freezegun/__init__.pyi","typeshed-fallback/stubs/freezegun/freezegun/api.pyi","typeshed-fallback/stubs/hdbcli/hdbcli/__init__.pyi","typeshed-fallback/stubs/hdbcli/hdbcli/dbapi.pyi","typeshed-fallback/stubs/hdbcli/hdbcli/resultrow.pyi","typeshed-fallback/stubs/html5lib/html5lib/__init__.pyi","typeshed-fallback/stubs/html5lib/html5lib/_ihatexml.pyi","typeshed-fallback/stubs/html5lib/html5lib/_inputstream.pyi","typeshed-fallback/stubs/html5lib/html5lib/_tokenizer.pyi","typeshed-fallback/stubs/html5lib/html5lib/_utils.pyi","typeshed-fallback/stubs/html5lib/html5lib/constants.pyi","typeshed-fallback/stubs/html5lib/html5lib/html5parser.pyi","typeshed-fallback/stubs/html5lib/html5lib/serializer.pyi","typeshed-fallback/stubs/httplib2/httplib2/__init__.pyi","typeshed-fallback/stubs/httplib2/httplib2/auth.pyi","typeshed-fallback/stubs/httplib2/httplib2/certs.pyi","typeshed-fallback/stubs/httplib2/httplib2/error.pyi","typeshed-fallback/stubs/httplib2/httplib2/iri2uri.pyi","typeshed-fallback/stubs/httplib2/httplib2/socks.pyi","typeshed-fallback/stubs/humanfriendly/humanfriendly/__init__.pyi","typeshed-fallback/stubs/humanfriendly/humanfriendly/case.pyi","typeshed-fallback/stubs/humanfriendly/humanfriendly/cli.pyi","typeshed-fallback/stubs/humanfriendly/humanfriendly/compat.pyi","typeshed-fallback/stubs/humanfriendly/humanfriendly/decorators.pyi","typeshed-fallback/stubs/humanfriendly/humanfriendly/deprecation.pyi","typeshed-fallback/stubs/humanfriendly/humanfriendly/prompts.pyi","typeshed-fallback/stubs/humanfriendly/humanfriendly/sphinx.pyi","typeshed-fallback/stubs/humanfriendly/humanfriendly/tables.pyi","typeshed-fallback/stubs/humanfriendly/humanfriendly/testing.pyi","typeshed-fallback/stubs/humanfriendly/humanfriendly/text.pyi","typeshed-fallback/stubs/humanfriendly/humanfriendly/usage.pyi","typeshed-fallback/stubs/invoke/invoke/__init__.pyi","typeshed-fallback/stubs/invoke/invoke/collection.pyi","typeshed-fallback/stubs/invoke/invoke/config.pyi","typeshed-fallback/stubs/invoke/invoke/context.pyi","typeshed-fallback/stubs/invoke/invoke/env.pyi","typeshed-fallback/stubs/invoke/invoke/exceptions.pyi","typeshed-fallback/stubs/invoke/invoke/executor.pyi","typeshed-fallback/stubs/invoke/invoke/loader.pyi","typeshed-fallback/stubs/invoke/invoke/main.pyi","typeshed-fallback/stubs/invoke/invoke/program.pyi","typeshed-fallback/stubs/invoke/invoke/runners.pyi","typeshed-fallback/stubs/invoke/invoke/tasks.pyi","typeshed-fallback/stubs/invoke/invoke/terminals.pyi","typeshed-fallback/stubs/invoke/invoke/util.pyi","typeshed-fallback/stubs/invoke/invoke/watchers.pyi","typeshed-fallback/stubs/jmespath/jmespath/__init__.pyi","typeshed-fallback/stubs/jmespath/jmespath/ast.pyi","typeshed-fallback/stubs/jmespath/jmespath/exceptions.pyi","typeshed-fallback/stubs/jmespath/jmespath/functions.pyi","typeshed-fallback/stubs/jmespath/jmespath/lexer.pyi","typeshed-fallback/stubs/jmespath/jmespath/parser.pyi","typeshed-fallback/stubs/jmespath/jmespath/visitor.pyi","typeshed-fallback/stubs/jsonschema/jsonschema/__init__.pyi","typeshed-fallback/stubs/jsonschema/jsonschema/_format.pyi","typeshed-fallback/stubs/jsonschema/jsonschema/_legacy_validators.pyi","typeshed-fallback/stubs/jsonschema/jsonschema/_reflect.pyi","typeshed-fallback/stubs/jsonschema/jsonschema/_types.pyi","typeshed-fallback/stubs/jsonschema/jsonschema/_utils.pyi","typeshed-fallback/stubs/jsonschema/jsonschema/_validators.pyi","typeshed-fallback/stubs/jsonschema/jsonschema/cli.pyi","typeshed-fallback/stubs/jsonschema/jsonschema/exceptions.pyi","typeshed-fallback/stubs/jsonschema/jsonschema/protocols.pyi","typeshed-fallback/stubs/jsonschema/jsonschema/validators.pyi","typeshed-fallback/stubs/ldap3/ldap3/__init__.pyi","typeshed-fallback/stubs/ldap3/ldap3/version.pyi","typeshed-fallback/stubs/mock/mock/__init__.pyi","typeshed-fallback/stubs/mock/mock/mock.pyi","typeshed-fallback/stubs/mysqlclient/MySQLdb/__init__.pyi","typeshed-fallback/stubs/mysqlclient/MySQLdb/_exceptions.pyi","typeshed-fallback/stubs/mysqlclient/MySQLdb/_mysql.pyi","typeshed-fallback/stubs/mysqlclient/MySQLdb/connections.pyi","typeshed-fallback/stubs/mysqlclient/MySQLdb/converters.pyi","typeshed-fallback/stubs/mysqlclient/MySQLdb/cursors.pyi","typeshed-fallback/stubs/mysqlclient/MySQLdb/release.pyi","typeshed-fallback/stubs/mysqlclient/MySQLdb/times.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/__init__.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/common.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/signals.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/uri_validate.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/_constants.pyi","typeshed-fallback/stubs/opentracing/opentracing/__init__.pyi","typeshed-fallback/stubs/opentracing/opentracing/logs.pyi","typeshed-fallback/stubs/opentracing/opentracing/propagation.pyi","typeshed-fallback/stubs/opentracing/opentracing/scope.pyi","typeshed-fallback/stubs/opentracing/opentracing/scope_manager.pyi","typeshed-fallback/stubs/opentracing/opentracing/span.pyi","typeshed-fallback/stubs/opentracing/opentracing/tags.pyi","typeshed-fallback/stubs/opentracing/opentracing/tracer.pyi","typeshed-fallback/stubs/paramiko/paramiko/__init__.pyi","typeshed-fallback/stubs/paramiko/paramiko/_version.pyi","typeshed-fallback/stubs/paramiko/paramiko/_winapi.pyi","typeshed-fallback/stubs/paramiko/paramiko/agent.pyi","typeshed-fallback/stubs/paramiko/paramiko/auth_handler.pyi","typeshed-fallback/stubs/paramiko/paramiko/ber.pyi","typeshed-fallback/stubs/paramiko/paramiko/buffered_pipe.pyi","typeshed-fallback/stubs/paramiko/paramiko/channel.pyi","typeshed-fallback/stubs/paramiko/paramiko/client.pyi","typeshed-fallback/stubs/paramiko/paramiko/common.pyi","typeshed-fallback/stubs/paramiko/paramiko/compress.pyi","typeshed-fallback/stubs/paramiko/paramiko/config.pyi","typeshed-fallback/stubs/paramiko/paramiko/dsskey.pyi","typeshed-fallback/stubs/paramiko/paramiko/ecdsakey.pyi","typeshed-fallback/stubs/paramiko/paramiko/ed25519key.pyi","typeshed-fallback/stubs/paramiko/paramiko/file.pyi","typeshed-fallback/stubs/paramiko/paramiko/hostkeys.pyi","typeshed-fallback/stubs/paramiko/paramiko/kex_curve25519.pyi","typeshed-fallback/stubs/paramiko/paramiko/kex_ecdh_nist.pyi","typeshed-fallback/stubs/paramiko/paramiko/kex_gex.pyi","typeshed-fallback/stubs/paramiko/paramiko/kex_group1.pyi","typeshed-fallback/stubs/paramiko/paramiko/kex_group14.pyi","typeshed-fallback/stubs/paramiko/paramiko/kex_group16.pyi","typeshed-fallback/stubs/paramiko/paramiko/kex_gss.pyi","typeshed-fallback/stubs/paramiko/paramiko/message.pyi","typeshed-fallback/stubs/paramiko/paramiko/packet.pyi","typeshed-fallback/stubs/paramiko/paramiko/pipe.pyi","typeshed-fallback/stubs/paramiko/paramiko/pkey.pyi","typeshed-fallback/stubs/paramiko/paramiko/primes.pyi","typeshed-fallback/stubs/paramiko/paramiko/proxy.pyi","typeshed-fallback/stubs/paramiko/paramiko/py3compat.pyi","typeshed-fallback/stubs/paramiko/paramiko/rsakey.pyi","typeshed-fallback/stubs/paramiko/paramiko/server.pyi","typeshed-fallback/stubs/paramiko/paramiko/sftp.pyi","typeshed-fallback/stubs/paramiko/paramiko/sftp_attr.pyi","typeshed-fallback/stubs/paramiko/paramiko/sftp_client.pyi","typeshed-fallback/stubs/paramiko/paramiko/sftp_file.pyi","typeshed-fallback/stubs/paramiko/paramiko/sftp_handle.pyi","typeshed-fallback/stubs/paramiko/paramiko/sftp_server.pyi","typeshed-fallback/stubs/paramiko/paramiko/sftp_si.pyi","typeshed-fallback/stubs/paramiko/paramiko/ssh_exception.pyi","typeshed-fallback/stubs/paramiko/paramiko/ssh_gss.pyi","typeshed-fallback/stubs/paramiko/paramiko/transport.pyi","typeshed-fallback/stubs/paramiko/paramiko/util.pyi","typeshed-fallback/stubs/paramiko/paramiko/win_pageant.pyi","typeshed-fallback/stubs/parsimonious/parsimonious/__init__.pyi","typeshed-fallback/stubs/parsimonious/parsimonious/exceptions.pyi","typeshed-fallback/stubs/parsimonious/parsimonious/expressions.pyi","typeshed-fallback/stubs/parsimonious/parsimonious/grammar.pyi","typeshed-fallback/stubs/parsimonious/parsimonious/nodes.pyi","typeshed-fallback/stubs/parsimonious/parsimonious/utils.pyi","typeshed-fallback/stubs/passlib/passlib/__init__.pyi","typeshed-fallback/stubs/passlib/passlib/apache.pyi","typeshed-fallback/stubs/passlib/passlib/apps.pyi","typeshed-fallback/stubs/passlib/passlib/context.pyi","typeshed-fallback/stubs/passlib/passlib/exc.pyi","typeshed-fallback/stubs/passlib/passlib/hash.pyi","typeshed-fallback/stubs/passlib/passlib/hosts.pyi","typeshed-fallback/stubs/passlib/passlib/ifc.pyi","typeshed-fallback/stubs/passlib/passlib/pwd.pyi","typeshed-fallback/stubs/passlib/passlib/registry.pyi","typeshed-fallback/stubs/passlib/passlib/totp.pyi","typeshed-fallback/stubs/passlib/passlib/win32.pyi","typeshed-fallback/stubs/passpy/passpy/__init__.pyi","typeshed-fallback/stubs/passpy/passpy/exceptions.pyi","typeshed-fallback/stubs/passpy/passpy/store.pyi","typeshed-fallback/stubs/passpy/passpy/util.pyi","typeshed-fallback/stubs/prettytable/prettytable/__init__.pyi","typeshed-fallback/stubs/prettytable/prettytable/prettytable.pyi","typeshed-fallback/stubs/protobuf/google/__init__.pyi","typeshed-fallback/stubs/psutil/psutil/__init__.pyi","typeshed-fallback/stubs/psutil/psutil/_common.pyi","typeshed-fallback/stubs/psutil/psutil/_compat.pyi","typeshed-fallback/stubs/psutil/psutil/_psbsd.pyi","typeshed-fallback/stubs/psutil/psutil/_pslinux.pyi","typeshed-fallback/stubs/psutil/psutil/_psosx.pyi","typeshed-fallback/stubs/psutil/psutil/_psposix.pyi","typeshed-fallback/stubs/psutil/psutil/_psutil_linux.pyi","typeshed-fallback/stubs/psutil/psutil/_psutil_posix.pyi","typeshed-fallback/stubs/psutil/psutil/_psutil_windows.pyi","typeshed-fallback/stubs/psutil/psutil/_pswindows.pyi","typeshed-fallback/stubs/psycopg2/psycopg2/__init__.pyi","typeshed-fallback/stubs/psycopg2/psycopg2/_ipaddress.pyi","typeshed-fallback/stubs/psycopg2/psycopg2/_json.pyi","typeshed-fallback/stubs/psycopg2/psycopg2/_psycopg.pyi","typeshed-fallback/stubs/psycopg2/psycopg2/_range.pyi","typeshed-fallback/stubs/psycopg2/psycopg2/errorcodes.pyi","typeshed-fallback/stubs/psycopg2/psycopg2/errors.pyi","typeshed-fallback/stubs/psycopg2/psycopg2/extensions.pyi","typeshed-fallback/stubs/psycopg2/psycopg2/extras.pyi","typeshed-fallback/stubs/psycopg2/psycopg2/pool.pyi","typeshed-fallback/stubs/psycopg2/psycopg2/sql.pyi","typeshed-fallback/stubs/psycopg2/psycopg2/tz.pyi","typeshed-fallback/stubs/pyOpenSSL/OpenSSL/SSL.pyi","typeshed-fallback/stubs/pyOpenSSL/OpenSSL/__init__.pyi","typeshed-fallback/stubs/pyOpenSSL/OpenSSL/crypto.pyi","typeshed-fallback/stubs/pyRFC3339/pyrfc3339/__init__.pyi","typeshed-fallback/stubs/pyRFC3339/pyrfc3339/generator.pyi","typeshed-fallback/stubs/pyRFC3339/pyrfc3339/parser.pyi","typeshed-fallback/stubs/pyRFC3339/pyrfc3339/utils.pyi","typeshed-fallback/stubs/pyflakes/pyflakes/__init__.pyi","typeshed-fallback/stubs/pyflakes/pyflakes/api.pyi","typeshed-fallback/stubs/pyflakes/pyflakes/checker.pyi","typeshed-fallback/stubs/pyflakes/pyflakes/messages.pyi","typeshed-fallback/stubs/pyflakes/pyflakes/reporter.pyi","typeshed-fallback/stubs/pynput/pynput/__init__.pyi","typeshed-fallback/stubs/pynput/pynput/_info.pyi","typeshed-fallback/stubs/pynput/pynput/_util.pyi","typeshed-fallback/stubs/pysftp/pysftp/__init__.pyi","typeshed-fallback/stubs/pysftp/pysftp/exceptions.pyi","typeshed-fallback/stubs/pysftp/pysftp/helpers.pyi","typeshed-fallback/stubs/python-dateutil/dateutil/__init__.pyi","typeshed-fallback/stubs/python-dateutil/dateutil/_common.pyi","typeshed-fallback/stubs/python-dateutil/dateutil/easter.pyi","typeshed-fallback/stubs/python-dateutil/dateutil/relativedelta.pyi","typeshed-fallback/stubs/python-dateutil/dateutil/rrule.pyi","typeshed-fallback/stubs/python-dateutil/dateutil/utils.pyi","typeshed-fallback/stubs/python-jose/jose/__init__.pyi","typeshed-fallback/stubs/python-jose/jose/constants.pyi","typeshed-fallback/stubs/python-jose/jose/exceptions.pyi","typeshed-fallback/stubs/python-jose/jose/jwe.pyi","typeshed-fallback/stubs/python-jose/jose/jwk.pyi","typeshed-fallback/stubs/python-jose/jose/jws.pyi","typeshed-fallback/stubs/python-jose/jose/jwt.pyi","typeshed-fallback/stubs/python-jose/jose/utils.pyi","typeshed-fallback/stubs/python-nmap/nmap/__init__.pyi","typeshed-fallback/stubs/python-nmap/nmap/nmap.pyi","typeshed-fallback/stubs/python-slugify/slugify/__init__.pyi","typeshed-fallback/stubs/python-slugify/slugify/slugify.pyi","typeshed-fallback/stubs/python-slugify/slugify/special.pyi","typeshed-fallback/stubs/pytz/pytz/__init__.pyi","typeshed-fallback/stubs/pytz/pytz/exceptions.pyi","typeshed-fallback/stubs/pytz/pytz/tzinfo.pyi","typeshed-fallback/stubs/pyvmomi/pyVmomi/__init__.pyi","typeshed-fallback/stubs/redis/redis/__init__.pyi","typeshed-fallback/stubs/redis/redis/client.pyi","typeshed-fallback/stubs/redis/redis/cluster.pyi","typeshed-fallback/stubs/redis/redis/connection.pyi","typeshed-fallback/stubs/redis/redis/crc.pyi","typeshed-fallback/stubs/redis/redis/exceptions.pyi","typeshed-fallback/stubs/redis/redis/lock.pyi","typeshed-fallback/stubs/redis/redis/ocsp.pyi","typeshed-fallback/stubs/redis/redis/retry.pyi","typeshed-fallback/stubs/redis/redis/sentinel.pyi","typeshed-fallback/stubs/redis/redis/utils.pyi","typeshed-fallback/stubs/regex/regex/__init__.pyi","typeshed-fallback/stubs/regex/regex/_regex.pyi","typeshed-fallback/stubs/regex/regex/_regex_core.pyi","typeshed-fallback/stubs/regex/regex/regex.pyi","typeshed-fallback/stubs/requests/requests/__init__.pyi","typeshed-fallback/stubs/requests/requests/adapters.pyi","typeshed-fallback/stubs/requests/requests/api.pyi","typeshed-fallback/stubs/requests/requests/auth.pyi","typeshed-fallback/stubs/requests/requests/compat.pyi","typeshed-fallback/stubs/requests/requests/cookies.pyi","typeshed-fallback/stubs/requests/requests/exceptions.pyi","typeshed-fallback/stubs/requests/requests/hooks.pyi","typeshed-fallback/stubs/requests/requests/models.pyi","typeshed-fallback/stubs/requests/requests/sessions.pyi","typeshed-fallback/stubs/requests/requests/status_codes.pyi","typeshed-fallback/stubs/requests/requests/structures.pyi","typeshed-fallback/stubs/requests/requests/utils.pyi","typeshed-fallback/stubs/retry/retry/__init__.pyi","typeshed-fallback/stubs/retry/retry/api.pyi","typeshed-fallback/stubs/selenium/selenium/__init__.pyi","typeshed-fallback/stubs/setuptools/pkg_resources/__init__.pyi","typeshed-fallback/stubs/setuptools/pkg_resources/py31compat.pyi","typeshed-fallback/stubs/setuptools/setuptools/__init__.pyi","typeshed-fallback/stubs/setuptools/setuptools/_deprecation_warning.pyi","typeshed-fallback/stubs/setuptools/setuptools/archive_util.pyi","typeshed-fallback/stubs/setuptools/setuptools/build_meta.pyi","typeshed-fallback/stubs/setuptools/setuptools/config.pyi","typeshed-fallback/stubs/setuptools/setuptools/dep_util.pyi","typeshed-fallback/stubs/setuptools/setuptools/depends.pyi","typeshed-fallback/stubs/setuptools/setuptools/dist.pyi","typeshed-fallback/stubs/setuptools/setuptools/errors.pyi","typeshed-fallback/stubs/setuptools/setuptools/extension.pyi","typeshed-fallback/stubs/setuptools/setuptools/glob.pyi","typeshed-fallback/stubs/setuptools/setuptools/installer.pyi","typeshed-fallback/stubs/setuptools/setuptools/launch.pyi","typeshed-fallback/stubs/setuptools/setuptools/lib2to3_ex.pyi","typeshed-fallback/stubs/setuptools/setuptools/monkey.pyi","typeshed-fallback/stubs/setuptools/setuptools/msvc.pyi","typeshed-fallback/stubs/setuptools/setuptools/namespaces.pyi","typeshed-fallback/stubs/setuptools/setuptools/package_index.pyi","typeshed-fallback/stubs/setuptools/setuptools/sandbox.pyi","typeshed-fallback/stubs/setuptools/setuptools/unicode_utils.pyi","typeshed-fallback/stubs/setuptools/setuptools/version.pyi","typeshed-fallback/stubs/setuptools/setuptools/wheel.pyi","typeshed-fallback/stubs/setuptools/setuptools/windows_support.pyi","typeshed-fallback/stubs/simplejson/simplejson/__init__.pyi","typeshed-fallback/stubs/simplejson/simplejson/decoder.pyi","typeshed-fallback/stubs/simplejson/simplejson/encoder.pyi","typeshed-fallback/stubs/simplejson/simplejson/errors.pyi","typeshed-fallback/stubs/simplejson/simplejson/raw_json.pyi","typeshed-fallback/stubs/simplejson/simplejson/scanner.pyi","typeshed-fallback/stubs/six/six/__init__.pyi","typeshed-fallback/stubs/slumber/slumber/__init__.pyi","typeshed-fallback/stubs/slumber/slumber/exceptions.pyi","typeshed-fallback/stubs/slumber/slumber/serialize.pyi","typeshed-fallback/stubs/slumber/slumber/utils.pyi","typeshed-fallback/stubs/stdlib-list/stdlib_list/__init__.pyi","typeshed-fallback/stubs/stdlib-list/stdlib_list/base.pyi","typeshed-fallback/stubs/stripe/stripe/__init__.pyi","typeshed-fallback/stubs/stripe/stripe/api_requestor.pyi","typeshed-fallback/stubs/stripe/stripe/error.pyi","typeshed-fallback/stubs/stripe/stripe/http_client.pyi","typeshed-fallback/stubs/stripe/stripe/multipart_data_generator.pyi","typeshed-fallback/stubs/stripe/stripe/oauth.pyi","typeshed-fallback/stubs/stripe/stripe/oauth_error.pyi","typeshed-fallback/stubs/stripe/stripe/object_classes.pyi","typeshed-fallback/stubs/stripe/stripe/request_metrics.pyi","typeshed-fallback/stubs/stripe/stripe/stripe_object.pyi","typeshed-fallback/stubs/stripe/stripe/stripe_response.pyi","typeshed-fallback/stubs/stripe/stripe/util.pyi","typeshed-fallback/stubs/stripe/stripe/version.pyi","typeshed-fallback/stubs/stripe/stripe/webhook.pyi","typeshed-fallback/stubs/toml/toml/__init__.pyi","typeshed-fallback/stubs/toml/toml/decoder.pyi","typeshed-fallback/stubs/toml/toml/encoder.pyi","typeshed-fallback/stubs/toml/toml/ordered.pyi","typeshed-fallback/stubs/toml/toml/tz.pyi","typeshed-fallback/stubs/ttkthemes/ttkthemes/__init__.pyi","typeshed-fallback/stubs/ttkthemes/ttkthemes/_imgops.pyi","typeshed-fallback/stubs/ttkthemes/ttkthemes/_utils.pyi","typeshed-fallback/stubs/ttkthemes/ttkthemes/_widget.pyi","typeshed-fallback/stubs/ttkthemes/ttkthemes/themed_style.pyi","typeshed-fallback/stubs/ttkthemes/ttkthemes/themed_tk.pyi","typeshed-fallback/stubs/typed-ast/typed_ast/__init__.pyi","typeshed-fallback/stubs/typed-ast/typed_ast/ast27.pyi","typeshed-fallback/stubs/typed-ast/typed_ast/ast3.pyi","typeshed-fallback/stubs/typed-ast/typed_ast/conversions.pyi","typeshed-fallback/stubs/tzlocal/tzlocal/__init__.pyi","typeshed-fallback/stubs/urllib3/urllib3/__init__.pyi","typeshed-fallback/stubs/urllib3/urllib3/_collections.pyi","typeshed-fallback/stubs/urllib3/urllib3/connection.pyi","typeshed-fallback/stubs/urllib3/urllib3/connectionpool.pyi","typeshed-fallback/stubs/urllib3/urllib3/exceptions.pyi","typeshed-fallback/stubs/urllib3/urllib3/fields.pyi","typeshed-fallback/stubs/urllib3/urllib3/filepost.pyi","typeshed-fallback/stubs/urllib3/urllib3/poolmanager.pyi","typeshed-fallback/stubs/urllib3/urllib3/request.pyi","typeshed-fallback/stubs/urllib3/urllib3/response.pyi","typeshed-fallback/stubs/vobject/vobject/__init__.pyi","typeshed-fallback/stubs/vobject/vobject/base.pyi","typeshed-fallback/stubs/vobject/vobject/behavior.pyi","typeshed-fallback/stubs/vobject/vobject/change_tz.pyi","typeshed-fallback/stubs/vobject/vobject/hcalendar.pyi","typeshed-fallback/stubs/vobject/vobject/icalendar.pyi","typeshed-fallback/stubs/vobject/vobject/ics_diff.pyi","typeshed-fallback/stubs/vobject/vobject/vcard.pyi","typeshed-fallback/stubs/vobject/vobject/win32tz.pyi","typeshed-fallback/stubs/waitress/waitress/__init__.pyi","typeshed-fallback/stubs/waitress/waitress/adjustments.pyi","typeshed-fallback/stubs/waitress/waitress/buffers.pyi","typeshed-fallback/stubs/waitress/waitress/channel.pyi","typeshed-fallback/stubs/waitress/waitress/compat.pyi","typeshed-fallback/stubs/waitress/waitress/parser.pyi","typeshed-fallback/stubs/waitress/waitress/proxy_headers.pyi","typeshed-fallback/stubs/waitress/waitress/receiver.pyi","typeshed-fallback/stubs/waitress/waitress/rfc7230.pyi","typeshed-fallback/stubs/waitress/waitress/runner.pyi","typeshed-fallback/stubs/waitress/waitress/server.pyi","typeshed-fallback/stubs/waitress/waitress/task.pyi","typeshed-fallback/stubs/waitress/waitress/trigger.pyi","typeshed-fallback/stubs/waitress/waitress/utilities.pyi","typeshed-fallback/stubs/waitress/waitress/wasyncore.pyi","typeshed-fallback/stubs/whatthepatch/whatthepatch/__init__.pyi","typeshed-fallback/stubs/whatthepatch/whatthepatch/apply.pyi","typeshed-fallback/stubs/whatthepatch/whatthepatch/exceptions.pyi","typeshed-fallback/stubs/whatthepatch/whatthepatch/patch.pyi","typeshed-fallback/stubs/whatthepatch/whatthepatch/snippets.pyi","typeshed-fallback/stdlib/xml/parsers/expat/__init__.pyi","typeshed-fallback/stdlib/xml/parsers/expat/errors.pyi","typeshed-fallback/stdlib/xml/parsers/expat/model.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/__init__.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/abbr.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/admonition.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/attr_list.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/codehilite.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/def_list.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/extra.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/fenced_code.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/footnotes.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/legacy_attrs.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/legacy_em.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/md_in_html.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/meta.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/nl2br.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/sane_lists.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/smarty.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/tables.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/toc.pyi","typeshed-fallback/stubs/Markdown/markdown/extensions/wikilinks.pyi","typeshed-fallback/stubs/PyMySQL/pymysql/constants/CLIENT.pyi","typeshed-fallback/stubs/PyMySQL/pymysql/constants/COMMAND.pyi","typeshed-fallback/stubs/PyMySQL/pymysql/constants/ER.pyi","typeshed-fallback/stubs/PyMySQL/pymysql/constants/FIELD_TYPE.pyi","typeshed-fallback/stubs/PyMySQL/pymysql/constants/FLAG.pyi","typeshed-fallback/stubs/PyMySQL/pymysql/constants/SERVER_STATUS.pyi","typeshed-fallback/stubs/PyMySQL/pymysql/constants/__init__.pyi","typeshed-fallback/stubs/Pygments/pygments/filters/__init__.pyi","typeshed-fallback/stubs/Pygments/pygments/formatters/__init__.pyi","typeshed-fallback/stubs/Pygments/pygments/formatters/_mapping.pyi","typeshed-fallback/stubs/Pygments/pygments/formatters/bbcode.pyi","typeshed-fallback/stubs/Pygments/pygments/formatters/html.pyi","typeshed-fallback/stubs/Pygments/pygments/formatters/img.pyi","typeshed-fallback/stubs/Pygments/pygments/formatters/irc.pyi","typeshed-fallback/stubs/Pygments/pygments/formatters/latex.pyi","typeshed-fallback/stubs/Pygments/pygments/formatters/other.pyi","typeshed-fallback/stubs/Pygments/pygments/formatters/pangomarkup.pyi","typeshed-fallback/stubs/Pygments/pygments/formatters/rtf.pyi","typeshed-fallback/stubs/Pygments/pygments/formatters/svg.pyi","typeshed-fallback/stubs/Pygments/pygments/formatters/terminal.pyi","typeshed-fallback/stubs/Pygments/pygments/formatters/terminal256.pyi","typeshed-fallback/stubs/Pygments/pygments/lexers/__init__.pyi","typeshed-fallback/stubs/Pygments/pygments/styles/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/connectors/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/connectors/mxodbc.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/connectors/pyodbc.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/databases/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/base.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/characteristics.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/create.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/cursor.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/default.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/events.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/interfaces.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/mock.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/reflection.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/result.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/row.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/strategies.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/url.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/engine/util.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/event/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/event/api.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/event/attr.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/event/base.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/event/legacy.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/event/registry.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/associationproxy.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/automap.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/baked.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/compiler.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/horizontal_shard.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/hybrid.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/indexable.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/instrumentation.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/mutable.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/orderinglist.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/serializer.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/future/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/future/engine.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/attributes.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/base.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/clsregistry.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/collections.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/context.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/decl_api.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/decl_base.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/dependency.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/descriptor_props.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/dynamic.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/evaluator.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/events.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/exc.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/identity.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/instrumentation.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/interfaces.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/loading.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/mapper.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/path_registry.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/persistence.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/properties.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/query.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/relationships.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/scoping.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/session.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/state.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/strategies.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/strategy_options.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/sync.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/unitofwork.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/orm/util.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/pool/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/pool/base.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/pool/dbapi_proxy.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/pool/events.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/pool/impl.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/annotation.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/base.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/coercions.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/compiler.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/crud.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/ddl.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/default_comparator.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/dml.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/elements.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/events.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/expression.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/functions.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/lambdas.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/naming.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/operators.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/roles.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/schema.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/selectable.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/sqltypes.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/traversals.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/type_api.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/util.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/sql/visitors.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/assertions.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/assertsql.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/asyncio.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/config.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/engines.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/entities.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/exclusions.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/fixtures.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/mock.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/pickleable.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/profiling.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/provision.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/requirements.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/schema.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/util.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/warnings.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/_collections.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/_compat_py3k.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/_concurrency_py3k.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/_preloaded.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/compat.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/concurrency.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/deprecations.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/langhelpers.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/queue.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/util/topological.pyi","typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/__init__.pyi","typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/binary.pyi","typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/text.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/__init__.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/async_context.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/async_recorder.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/context.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/daemon_config.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/lambda_launcher.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/patcher.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/recorder.pyi","typeshed-fallback/stubs/babel/babel/localtime/__init__.pyi","typeshed-fallback/stubs/babel/babel/localtime/_unix.pyi","typeshed-fallback/stubs/babel/babel/localtime/_win32.pyi","typeshed-fallback/stubs/babel/babel/messages/__init__.pyi","typeshed-fallback/stubs/babel/babel/messages/catalog.pyi","typeshed-fallback/stubs/babel/babel/messages/checkers.pyi","typeshed-fallback/stubs/babel/babel/messages/extract.pyi","typeshed-fallback/stubs/babel/babel/messages/frontend.pyi","typeshed-fallback/stubs/babel/babel/messages/jslexer.pyi","typeshed-fallback/stubs/babel/babel/messages/mofile.pyi","typeshed-fallback/stubs/babel/babel/messages/plurals.pyi","typeshed-fallback/stubs/babel/babel/messages/pofile.pyi","typeshed-fallback/stubs/backports.ssl_match_hostname/backports/ssl_match_hostname/__init__.pyi","typeshed-fallback/stubs/beautifulsoup4/bs4/builder/__init__.pyi","typeshed-fallback/stubs/beautifulsoup4/bs4/builder/_html5lib.pyi","typeshed-fallback/stubs/beautifulsoup4/bs4/builder/_htmlparser.pyi","typeshed-fallback/stubs/beautifulsoup4/bs4/builder/_lxml.pyi","typeshed-fallback/stubs/boto/boto/ec2/__init__.pyi","typeshed-fallback/stubs/boto/boto/elb/__init__.pyi","typeshed-fallback/stubs/boto/boto/kms/__init__.pyi","typeshed-fallback/stubs/boto/boto/kms/exceptions.pyi","typeshed-fallback/stubs/boto/boto/kms/layer1.pyi","typeshed-fallback/stubs/boto/boto/s3/__init__.pyi","typeshed-fallback/stubs/boto/boto/s3/acl.pyi","typeshed-fallback/stubs/boto/boto/s3/bucket.pyi","typeshed-fallback/stubs/boto/boto/s3/bucketlistresultset.pyi","typeshed-fallback/stubs/boto/boto/s3/bucketlogging.pyi","typeshed-fallback/stubs/boto/boto/s3/connection.pyi","typeshed-fallback/stubs/boto/boto/s3/cors.pyi","typeshed-fallback/stubs/boto/boto/s3/deletemarker.pyi","typeshed-fallback/stubs/boto/boto/s3/key.pyi","typeshed-fallback/stubs/boto/boto/s3/keyfile.pyi","typeshed-fallback/stubs/boto/boto/s3/lifecycle.pyi","typeshed-fallback/stubs/boto/boto/s3/multidelete.pyi","typeshed-fallback/stubs/boto/boto/s3/multipart.pyi","typeshed-fallback/stubs/boto/boto/s3/prefix.pyi","typeshed-fallback/stubs/boto/boto/s3/tagging.pyi","typeshed-fallback/stubs/boto/boto/s3/user.pyi","typeshed-fallback/stubs/boto/boto/s3/website.pyi","typeshed-fallback/stubs/braintree/braintree/dispute_details/__init__.pyi","typeshed-fallback/stubs/braintree/braintree/dispute_details/evidence.pyi","typeshed-fallback/stubs/braintree/braintree/dispute_details/paypal_message.pyi","typeshed-fallback/stubs/braintree/braintree/dispute_details/status_history.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/__init__.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/authentication_error.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/authorization_error.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/braintree_error.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/configuration_error.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/gateway_timeout_error.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/invalid_challenge_error.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/invalid_signature_error.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/not_found_error.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/request_timeout_error.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/server_error.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/service_unavailable_error.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/too_many_requests_error.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/unexpected_error.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/upgrade_required_error.pyi","typeshed-fallback/stubs/braintree/braintree/merchant_account/__init__.pyi","typeshed-fallback/stubs/braintree/braintree/merchant_account/address_details.pyi","typeshed-fallback/stubs/braintree/braintree/merchant_account/business_details.pyi","typeshed-fallback/stubs/braintree/braintree/merchant_account/funding_details.pyi","typeshed-fallback/stubs/braintree/braintree/merchant_account/individual_details.pyi","typeshed-fallback/stubs/braintree/braintree/merchant_account/merchant_account.pyi","typeshed-fallback/stubs/braintree/braintree/util/__init__.pyi","typeshed-fallback/stubs/braintree/braintree/util/constants.pyi","typeshed-fallback/stubs/braintree/braintree/util/crypto.pyi","typeshed-fallback/stubs/braintree/braintree/util/datetime_parser.pyi","typeshed-fallback/stubs/braintree/braintree/util/generator.pyi","typeshed-fallback/stubs/braintree/braintree/util/graphql_client.pyi","typeshed-fallback/stubs/braintree/braintree/util/http.pyi","typeshed-fallback/stubs/braintree/braintree/util/parser.pyi","typeshed-fallback/stubs/braintree/braintree/util/xml_util.pyi","typeshed-fallback/stubs/caldav/caldav/elements/__init__.pyi","typeshed-fallback/stubs/caldav/caldav/elements/base.pyi","typeshed-fallback/stubs/caldav/caldav/elements/cdav.pyi","typeshed-fallback/stubs/caldav/caldav/elements/dav.pyi","typeshed-fallback/stubs/caldav/caldav/elements/ical.pyi","typeshed-fallback/stubs/caldav/caldav/lib/__init__.pyi","typeshed-fallback/stubs/caldav/caldav/lib/error.pyi","typeshed-fallback/stubs/caldav/caldav/lib/namespace.pyi","typeshed-fallback/stubs/caldav/caldav/lib/url.pyi","typeshed-fallback/stubs/caldav/caldav/lib/vcal.pyi","typeshed-fallback/stubs/commonmark/commonmark/render/__init__.pyi","typeshed-fallback/stubs/commonmark/commonmark/render/html.pyi","typeshed-fallback/stubs/commonmark/commonmark/render/renderer.pyi","typeshed-fallback/stubs/commonmark/commonmark/render/rst.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/__init__.pyi","typeshed-fallback/stubs/cryptography/cryptography/x509/__init__.pyi","typeshed-fallback/stubs/cryptography/cryptography/x509/extensions.pyi","typeshed-fallback/stubs/cryptography/cryptography/x509/oid.pyi","typeshed-fallback/stubs/dateparser/dateparser/calendars/__init__.pyi","typeshed-fallback/stubs/dateparser/dateparser/calendars/hijri.pyi","typeshed-fallback/stubs/dateparser/dateparser/calendars/hijri_parser.pyi","typeshed-fallback/stubs/dateparser/dateparser/calendars/jalali.pyi","typeshed-fallback/stubs/dateparser/dateparser/calendars/jalali_parser.pyi","typeshed-fallback/stubs/dateparser/dateparser/data/__init__.pyi","typeshed-fallback/stubs/dateparser/dateparser/data/languages_info.pyi","typeshed-fallback/stubs/dateparser/dateparser/languages/__init__.pyi","typeshed-fallback/stubs/dateparser/dateparser/languages/dictionary.pyi","typeshed-fallback/stubs/dateparser/dateparser/languages/loader.pyi","typeshed-fallback/stubs/dateparser/dateparser/languages/locale.pyi","typeshed-fallback/stubs/dateparser/dateparser/languages/validation.pyi","typeshed-fallback/stubs/dateparser/dateparser/search/__init__.pyi","typeshed-fallback/stubs/dateparser/dateparser/search/detection.pyi","typeshed-fallback/stubs/dateparser/dateparser/search/search.pyi","typeshed-fallback/stubs/dateparser/dateparser/search/text_detection.pyi","typeshed-fallback/stubs/dateparser/dateparser/utils/__init__.pyi","typeshed-fallback/stubs/dateparser/dateparser/utils/strptime.pyi","typeshed-fallback/stubs/docutils/docutils/languages/__init__.pyi","typeshed-fallback/stubs/docutils/docutils/parsers/__init__.pyi","typeshed-fallback/stubs/docutils/docutils/parsers/null.pyi","typeshed-fallback/stubs/docutils/docutils/parsers/recommonmark_wrapper.pyi","typeshed-fallback/stubs/docutils/docutils/readers/__init__.pyi","typeshed-fallback/stubs/docutils/docutils/readers/doctree.pyi","typeshed-fallback/stubs/docutils/docutils/readers/pep.pyi","typeshed-fallback/stubs/docutils/docutils/readers/standalone.pyi","typeshed-fallback/stubs/docutils/docutils/transforms/__init__.pyi","typeshed-fallback/stubs/docutils/docutils/utils/__init__.pyi","typeshed-fallback/stubs/docutils/docutils/writers/__init__.pyi","typeshed-fallback/stubs/docutils/docutils/writers/docutils_xml.pyi","typeshed-fallback/stubs/docutils/docutils/writers/html4css1.pyi","typeshed-fallback/stubs/docutils/docutils/writers/html5_polyglot.pyi","typeshed-fallback/stubs/docutils/docutils/writers/latex2e.pyi","typeshed-fallback/stubs/docutils/docutils/writers/manpage.pyi","typeshed-fallback/stubs/docutils/docutils/writers/null.pyi","typeshed-fallback/stubs/docutils/docutils/writers/odf_odt.pyi","typeshed-fallback/stubs/docutils/docutils/writers/pep_html.pyi","typeshed-fallback/stubs/docutils/docutils/writers/pseudoxml.pyi","typeshed-fallback/stubs/docutils/docutils/writers/s5_html.pyi","typeshed-fallback/stubs/docutils/docutils/writers/xetex.pyi","typeshed-fallback/stubs/emoji/emoji/unicode_codes/__init__.pyi","typeshed-fallback/stubs/emoji/emoji/unicode_codes/en.pyi","typeshed-fallback/stubs/emoji/emoji/unicode_codes/es.pyi","typeshed-fallback/stubs/emoji/emoji/unicode_codes/it.pyi","typeshed-fallback/stubs/emoji/emoji/unicode_codes/pt.pyi","typeshed-fallback/stubs/flake8-plugin-utils/flake8_plugin_utils/utils/__init__.pyi","typeshed-fallback/stubs/flake8-plugin-utils/flake8_plugin_utils/utils/assertions.pyi","typeshed-fallback/stubs/flake8-plugin-utils/flake8_plugin_utils/utils/constants.pyi","typeshed-fallback/stubs/flake8-plugin-utils/flake8_plugin_utils/utils/equiv_nodes.pyi","typeshed-fallback/stubs/html5lib/html5lib/_trie/__init__.pyi","typeshed-fallback/stubs/html5lib/html5lib/_trie/_base.pyi","typeshed-fallback/stubs/html5lib/html5lib/_trie/py.pyi","typeshed-fallback/stubs/html5lib/html5lib/filters/__init__.pyi","typeshed-fallback/stubs/html5lib/html5lib/filters/alphabeticalattributes.pyi","typeshed-fallback/stubs/html5lib/html5lib/filters/base.pyi","typeshed-fallback/stubs/html5lib/html5lib/filters/inject_meta_charset.pyi","typeshed-fallback/stubs/html5lib/html5lib/filters/lint.pyi","typeshed-fallback/stubs/html5lib/html5lib/filters/optionaltags.pyi","typeshed-fallback/stubs/html5lib/html5lib/filters/sanitizer.pyi","typeshed-fallback/stubs/html5lib/html5lib/filters/whitespace.pyi","typeshed-fallback/stubs/html5lib/html5lib/treeadapters/__init__.pyi","typeshed-fallback/stubs/html5lib/html5lib/treeadapters/genshi.pyi","typeshed-fallback/stubs/html5lib/html5lib/treeadapters/sax.pyi","typeshed-fallback/stubs/html5lib/html5lib/treebuilders/__init__.pyi","typeshed-fallback/stubs/html5lib/html5lib/treebuilders/base.pyi","typeshed-fallback/stubs/html5lib/html5lib/treebuilders/dom.pyi","typeshed-fallback/stubs/html5lib/html5lib/treebuilders/etree.pyi","typeshed-fallback/stubs/html5lib/html5lib/treebuilders/etree_lxml.pyi","typeshed-fallback/stubs/html5lib/html5lib/treewalkers/__init__.pyi","typeshed-fallback/stubs/html5lib/html5lib/treewalkers/base.pyi","typeshed-fallback/stubs/html5lib/html5lib/treewalkers/dom.pyi","typeshed-fallback/stubs/html5lib/html5lib/treewalkers/etree.pyi","typeshed-fallback/stubs/html5lib/html5lib/treewalkers/etree_lxml.pyi","typeshed-fallback/stubs/html5lib/html5lib/treewalkers/genshi.pyi","typeshed-fallback/stubs/humanfriendly/humanfriendly/terminal/__init__.pyi","typeshed-fallback/stubs/humanfriendly/humanfriendly/terminal/html.pyi","typeshed-fallback/stubs/humanfriendly/humanfriendly/terminal/spinners.pyi","typeshed-fallback/stubs/invoke/invoke/completion/__init__.pyi","typeshed-fallback/stubs/invoke/invoke/completion/complete.pyi","typeshed-fallback/stubs/invoke/invoke/parser/__init__.pyi","typeshed-fallback/stubs/invoke/invoke/parser/argument.pyi","typeshed-fallback/stubs/invoke/invoke/parser/context.pyi","typeshed-fallback/stubs/invoke/invoke/parser/parser.pyi","typeshed-fallback/stubs/ldap3/ldap3/abstract/__init__.pyi","typeshed-fallback/stubs/ldap3/ldap3/abstract/attrDef.pyi","typeshed-fallback/stubs/ldap3/ldap3/abstract/attribute.pyi","typeshed-fallback/stubs/ldap3/ldap3/abstract/cursor.pyi","typeshed-fallback/stubs/ldap3/ldap3/abstract/entry.pyi","typeshed-fallback/stubs/ldap3/ldap3/abstract/objectDef.pyi","typeshed-fallback/stubs/ldap3/ldap3/core/__init__.pyi","typeshed-fallback/stubs/ldap3/ldap3/core/connection.pyi","typeshed-fallback/stubs/ldap3/ldap3/core/exceptions.pyi","typeshed-fallback/stubs/ldap3/ldap3/core/pooling.pyi","typeshed-fallback/stubs/ldap3/ldap3/core/rdns.pyi","typeshed-fallback/stubs/ldap3/ldap3/core/results.pyi","typeshed-fallback/stubs/ldap3/ldap3/core/server.pyi","typeshed-fallback/stubs/ldap3/ldap3/core/timezone.pyi","typeshed-fallback/stubs/ldap3/ldap3/core/tls.pyi","typeshed-fallback/stubs/ldap3/ldap3/core/usage.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/__init__.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/operation.pyi","typeshed-fallback/stubs/ldap3/ldap3/operation/__init__.pyi","typeshed-fallback/stubs/ldap3/ldap3/operation/abandon.pyi","typeshed-fallback/stubs/ldap3/ldap3/operation/add.pyi","typeshed-fallback/stubs/ldap3/ldap3/operation/bind.pyi","typeshed-fallback/stubs/ldap3/ldap3/operation/compare.pyi","typeshed-fallback/stubs/ldap3/ldap3/operation/delete.pyi","typeshed-fallback/stubs/ldap3/ldap3/operation/extended.pyi","typeshed-fallback/stubs/ldap3/ldap3/operation/modify.pyi","typeshed-fallback/stubs/ldap3/ldap3/operation/modifyDn.pyi","typeshed-fallback/stubs/ldap3/ldap3/operation/search.pyi","typeshed-fallback/stubs/ldap3/ldap3/operation/unbind.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/__init__.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/controls.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/convert.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/microsoft.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/novell.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/oid.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/persistentSearch.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc2696.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc2849.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc3062.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc4511.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc4512.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc4527.pyi","typeshed-fallback/stubs/ldap3/ldap3/strategy/__init__.pyi","typeshed-fallback/stubs/ldap3/ldap3/strategy/asyncStream.pyi","typeshed-fallback/stubs/ldap3/ldap3/strategy/asynchronous.pyi","typeshed-fallback/stubs/ldap3/ldap3/strategy/base.pyi","typeshed-fallback/stubs/ldap3/ldap3/strategy/ldifProducer.pyi","typeshed-fallback/stubs/ldap3/ldap3/strategy/mockAsync.pyi","typeshed-fallback/stubs/ldap3/ldap3/strategy/mockBase.pyi","typeshed-fallback/stubs/ldap3/ldap3/strategy/mockSync.pyi","typeshed-fallback/stubs/ldap3/ldap3/strategy/restartable.pyi","typeshed-fallback/stubs/ldap3/ldap3/strategy/reusable.pyi","typeshed-fallback/stubs/ldap3/ldap3/strategy/safeRestartable.pyi","typeshed-fallback/stubs/ldap3/ldap3/strategy/safeSync.pyi","typeshed-fallback/stubs/ldap3/ldap3/strategy/sync.pyi","typeshed-fallback/stubs/ldap3/ldap3/utils/__init__.pyi","typeshed-fallback/stubs/ldap3/ldap3/utils/asn1.pyi","typeshed-fallback/stubs/ldap3/ldap3/utils/ciDict.pyi","typeshed-fallback/stubs/ldap3/ldap3/utils/config.pyi","typeshed-fallback/stubs/ldap3/ldap3/utils/conv.pyi","typeshed-fallback/stubs/ldap3/ldap3/utils/dn.pyi","typeshed-fallback/stubs/ldap3/ldap3/utils/hashed.pyi","typeshed-fallback/stubs/ldap3/ldap3/utils/log.pyi","typeshed-fallback/stubs/ldap3/ldap3/utils/ntlm.pyi","typeshed-fallback/stubs/ldap3/ldap3/utils/port_validators.pyi","typeshed-fallback/stubs/ldap3/ldap3/utils/repr.pyi","typeshed-fallback/stubs/ldap3/ldap3/utils/tls_backport.pyi","typeshed-fallback/stubs/ldap3/ldap3/utils/uri.pyi","typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/CLIENT.pyi","typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/CR.pyi","typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/ER.pyi","typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/FIELD_TYPE.pyi","typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/FLAG.pyi","typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/__init__.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/__init__.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/__init__.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/openid/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/cell/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/cell/_writer.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/cell/cell.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/cell/read_only.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/cell/text.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/_3d.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/_chart.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/area_chart.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/axis.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/bar_chart.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/bubble_chart.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/chartspace.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/data_source.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/descriptors.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/error_bar.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/label.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/layout.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/legend.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/line_chart.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/marker.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/picture.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/pie_chart.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/pivot.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/plotarea.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/print_settings.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/radar_chart.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/reader.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/reference.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/scatter_chart.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/series.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/series_factory.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/shapes.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/stock_chart.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/surface_chart.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/text.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/title.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/trendline.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chart/updown_bars.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/chartsheet.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/custom.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/properties.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/protection.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/publish.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/relation.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/views.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/comments/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/comments/author.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/comments/comment_sheet.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/comments/comments.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/comments/shape_writer.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/compat/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/compat/abc.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/compat/numbers.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/compat/product.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/compat/singleton.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/compat/strings.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/base.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/excel.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/namespace.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/nested.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/sequence.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/serialisable.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/slots.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/drawing/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/drawing/colors.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/drawing/connector.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/drawing/drawing.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/drawing/effect.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/drawing/fill.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/drawing/geometry.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/drawing/graphic.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/drawing/image.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/drawing/line.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/drawing/picture.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/drawing/properties.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/drawing/relation.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/drawing/spreadsheet_drawing.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/drawing/text.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/drawing/xdr.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/formatting/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/formatting/formatting.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/formatting/rule.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/formula/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/formula/tokenizer.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/formula/translate.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/packaging/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/packaging/core.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/packaging/extended.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/packaging/interface.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/packaging/manifest.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/packaging/relationship.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/packaging/workbook.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/pivot/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/pivot/cache.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/pivot/fields.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/pivot/record.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/pivot/table.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/reader/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/reader/drawings.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/reader/excel.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/reader/strings.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/reader/workbook.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/styles/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/styles/alignment.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/styles/borders.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/styles/builtins.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/styles/cell_style.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/styles/colors.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/styles/differential.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/styles/fills.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/styles/fonts.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/styles/named_styles.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/styles/numbers.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/styles/protection.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/styles/proxy.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/styles/styleable.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/styles/stylesheet.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/styles/table.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/utils/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/utils/bound_dictionary.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/utils/cell.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/utils/dataframe.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/utils/datetime.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/utils/escape.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/utils/exceptions.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/utils/formulas.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/utils/indexed_list.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/utils/inference.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/utils/protection.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/utils/units.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/workbook/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/workbook/_writer.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/workbook/child.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/workbook/defined_name.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/workbook/external_reference.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/workbook/function_group.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/workbook/properties.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/workbook/protection.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/workbook/smart_tags.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/workbook/views.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/workbook/web.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/workbook/workbook.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_read_only.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_reader.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_write_only.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_writer.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/cell_range.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/cell_watch.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/controls.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/copier.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/custom.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/datavalidation.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/dimensions.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/drawing.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/errors.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/filters.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/header_footer.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/hyperlink.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/merge.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/ole.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/page.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/pagebreak.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/picture.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/properties.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/protection.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/related.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/scenario.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/smart_tag.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/table.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/views.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/worksheet.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/writer/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/writer/excel.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/writer/theme.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/xml/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/xml/constants.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/xml/functions.pyi","typeshed-fallback/stubs/opentracing/opentracing/ext/__init__.pyi","typeshed-fallback/stubs/opentracing/opentracing/ext/tags.pyi","typeshed-fallback/stubs/opentracing/opentracing/harness/__init__.pyi","typeshed-fallback/stubs/opentracing/opentracing/harness/api_check.pyi","typeshed-fallback/stubs/opentracing/opentracing/harness/scope_check.pyi","typeshed-fallback/stubs/opentracing/opentracing/mocktracer/__init__.pyi","typeshed-fallback/stubs/opentracing/opentracing/mocktracer/binary_propagator.pyi","typeshed-fallback/stubs/opentracing/opentracing/mocktracer/context.pyi","typeshed-fallback/stubs/opentracing/opentracing/mocktracer/propagator.pyi","typeshed-fallback/stubs/opentracing/opentracing/mocktracer/span.pyi","typeshed-fallback/stubs/opentracing/opentracing/mocktracer/text_propagator.pyi","typeshed-fallback/stubs/opentracing/opentracing/mocktracer/tracer.pyi","typeshed-fallback/stubs/opentracing/opentracing/scope_managers/__init__.pyi","typeshed-fallback/stubs/opentracing/opentracing/scope_managers/asyncio.pyi","typeshed-fallback/stubs/opentracing/opentracing/scope_managers/constants.pyi","typeshed-fallback/stubs/opentracing/opentracing/scope_managers/contextvars.pyi","typeshed-fallback/stubs/opentracing/opentracing/scope_managers/gevent.pyi","typeshed-fallback/stubs/opentracing/opentracing/scope_managers/tornado.pyi","typeshed-fallback/stubs/passlib/passlib/crypto/__init__.pyi","typeshed-fallback/stubs/passlib/passlib/crypto/_md4.pyi","typeshed-fallback/stubs/passlib/passlib/crypto/des.pyi","typeshed-fallback/stubs/passlib/passlib/crypto/digest.pyi","typeshed-fallback/stubs/passlib/passlib/ext/__init__.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/__init__.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/argon2.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/bcrypt.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/cisco.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/des_crypt.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/digests.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/django.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/fshp.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/ldap_digests.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/md5_crypt.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/misc.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/mssql.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/mysql.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/oracle.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/pbkdf2.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/phpass.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/postgres.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/roundup.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/scram.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/scrypt.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/sha1_crypt.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/sha2_crypt.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/sun_md5_crypt.pyi","typeshed-fallback/stubs/passlib/passlib/handlers/windows.pyi","typeshed-fallback/stubs/passlib/passlib/utils/__init__.pyi","typeshed-fallback/stubs/passlib/passlib/utils/binary.pyi","typeshed-fallback/stubs/passlib/passlib/utils/decor.pyi","typeshed-fallback/stubs/passlib/passlib/utils/des.pyi","typeshed-fallback/stubs/passlib/passlib/utils/handlers.pyi","typeshed-fallback/stubs/passlib/passlib/utils/md4.pyi","typeshed-fallback/stubs/passlib/passlib/utils/pbkdf2.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/__init__.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/any_pb2.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/api_pb2.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/descriptor.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_pb2.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_pool.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/duration_pb2.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/empty_pb2.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/field_mask_pb2.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/json_format.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/message.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/message_factory.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/reflection.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/service.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/source_context_pb2.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/struct_pb2.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/symbol_database.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/text_format.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/timestamp_pb2.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/type_pb2.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/wrappers_pb2.pyi","typeshed-fallback/stubs/pynput/pynput/keyboard/__init__.pyi","typeshed-fallback/stubs/pynput/pynput/keyboard/_base.pyi","typeshed-fallback/stubs/pynput/pynput/keyboard/_dummy.pyi","typeshed-fallback/stubs/pynput/pynput/mouse/__init__.pyi","typeshed-fallback/stubs/pynput/pynput/mouse/_base.pyi","typeshed-fallback/stubs/pynput/pynput/mouse/_dummy.pyi","typeshed-fallback/stubs/python-dateutil/dateutil/parser/__init__.pyi","typeshed-fallback/stubs/python-dateutil/dateutil/parser/isoparser.pyi","typeshed-fallback/stubs/python-dateutil/dateutil/tz/__init__.pyi","typeshed-fallback/stubs/python-dateutil/dateutil/tz/_common.pyi","typeshed-fallback/stubs/python-dateutil/dateutil/tz/tz.pyi","typeshed-fallback/stubs/python-jose/jose/backends/__init__.pyi","typeshed-fallback/stubs/python-jose/jose/backends/_asn1.pyi","typeshed-fallback/stubs/python-jose/jose/backends/base.pyi","typeshed-fallback/stubs/python-jose/jose/backends/cryptography_backend.pyi","typeshed-fallback/stubs/python-jose/jose/backends/ecdsa_backend.pyi","typeshed-fallback/stubs/python-jose/jose/backends/native.pyi","typeshed-fallback/stubs/python-jose/jose/backends/rsa_backend.pyi","typeshed-fallback/stubs/pyvmomi/pyVmomi/vim/__init__.pyi","typeshed-fallback/stubs/pyvmomi/pyVmomi/vim/event.pyi","typeshed-fallback/stubs/pyvmomi/pyVmomi/vim/fault.pyi","typeshed-fallback/stubs/pyvmomi/pyVmomi/vim/option.pyi","typeshed-fallback/stubs/pyvmomi/pyVmomi/vim/view.pyi","typeshed-fallback/stubs/pyvmomi/pyVmomi/vmodl/__init__.pyi","typeshed-fallback/stubs/pyvmomi/pyVmomi/vmodl/fault.pyi","typeshed-fallback/stubs/pyvmomi/pyVmomi/vmodl/query.pyi","typeshed-fallback/stubs/redis/redis/commands/__init__.pyi","typeshed-fallback/stubs/redis/redis/commands/cluster.pyi","typeshed-fallback/stubs/redis/redis/commands/core.pyi","typeshed-fallback/stubs/redis/redis/commands/helpers.pyi","typeshed-fallback/stubs/redis/redis/commands/parser.pyi","typeshed-fallback/stubs/redis/redis/commands/redismodules.pyi","typeshed-fallback/stubs/redis/redis/commands/sentinel.pyi","typeshed-fallback/stubs/requests/requests/packages/__init__.pyi","typeshed-fallback/stubs/selenium/selenium/common/__init__.pyi","typeshed-fallback/stubs/selenium/selenium/common/exceptions.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/__init__.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/__init__.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/alias.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/bdist_egg.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/bdist_rpm.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/build_clib.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/build_ext.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/build_py.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/develop.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/dist_info.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/easy_install.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/egg_info.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/install.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/install_egg_info.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/install_lib.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/install_scripts.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/py36compat.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/register.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/rotate.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/saveopts.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/sdist.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/setopt.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/test.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/upload.pyi","typeshed-fallback/stubs/setuptools/setuptools/command/upload_docs.pyi","typeshed-fallback/stubs/setuptools/setuptools/extern/__init__.pyi","typeshed-fallback/stubs/six/six/moves/BaseHTTPServer.pyi","typeshed-fallback/stubs/six/six/moves/CGIHTTPServer.pyi","typeshed-fallback/stubs/six/six/moves/SimpleHTTPServer.pyi","typeshed-fallback/stubs/six/six/moves/__init__.pyi","typeshed-fallback/stubs/six/six/moves/_dummy_thread.pyi","typeshed-fallback/stubs/six/six/moves/_thread.pyi","typeshed-fallback/stubs/six/six/moves/builtins.pyi","typeshed-fallback/stubs/six/six/moves/cPickle.pyi","typeshed-fallback/stubs/six/six/moves/collections_abc.pyi","typeshed-fallback/stubs/six/six/moves/configparser.pyi","typeshed-fallback/stubs/six/six/moves/copyreg.pyi","typeshed-fallback/stubs/six/six/moves/email_mime_base.pyi","typeshed-fallback/stubs/six/six/moves/email_mime_multipart.pyi","typeshed-fallback/stubs/six/six/moves/email_mime_nonmultipart.pyi","typeshed-fallback/stubs/six/six/moves/email_mime_text.pyi","typeshed-fallback/stubs/six/six/moves/html_entities.pyi","typeshed-fallback/stubs/six/six/moves/html_parser.pyi","typeshed-fallback/stubs/six/six/moves/http_client.pyi","typeshed-fallback/stubs/six/six/moves/http_cookiejar.pyi","typeshed-fallback/stubs/six/six/moves/http_cookies.pyi","typeshed-fallback/stubs/six/six/moves/queue.pyi","typeshed-fallback/stubs/six/six/moves/reprlib.pyi","typeshed-fallback/stubs/six/six/moves/socketserver.pyi","typeshed-fallback/stubs/six/six/moves/tkinter.pyi","typeshed-fallback/stubs/six/six/moves/tkinter_commondialog.pyi","typeshed-fallback/stubs/six/six/moves/tkinter_constants.pyi","typeshed-fallback/stubs/six/six/moves/tkinter_dialog.pyi","typeshed-fallback/stubs/six/six/moves/tkinter_filedialog.pyi","typeshed-fallback/stubs/six/six/moves/tkinter_tkfiledialog.pyi","typeshed-fallback/stubs/six/six/moves/tkinter_ttk.pyi","typeshed-fallback/stubs/six/six/moves/urllib_error.pyi","typeshed-fallback/stubs/six/six/moves/urllib_parse.pyi","typeshed-fallback/stubs/six/six/moves/urllib_request.pyi","typeshed-fallback/stubs/six/six/moves/urllib_response.pyi","typeshed-fallback/stubs/six/six/moves/urllib_robotparser.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/__init__.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/account.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/account_link.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/alipay_account.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/apple_pay_domain.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/application_fee.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/application_fee_refund.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/balance.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/balance_transaction.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/bank_account.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/bitcoin_receiver.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/bitcoin_transaction.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/capability.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/card.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/charge.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/country_spec.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/coupon.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/credit_note.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/credit_note_line_item.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/customer.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/customer_balance_transaction.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/dispute.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/ephemeral_key.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/error_object.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/event.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/exchange_rate.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/file.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/file_link.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/invoice.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/invoice_item.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/invoice_line_item.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/issuer_fraud_record.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/line_item.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/list_object.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/login_link.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/mandate.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/order.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/order_return.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/payment_intent.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/payment_method.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/payout.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/person.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/plan.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/price.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/product.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/promotion_code.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/quote.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/recipient.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/recipient_transfer.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/refund.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/reversal.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/review.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/setup_attempt.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/setup_intent.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/sku.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/source.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/source_transaction.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/subscription.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/subscription_item.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/subscription_schedule.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/tax_code.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/tax_id.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/tax_rate.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/three_d_secure.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/token.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/topup.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/transfer.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/usage_record.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/usage_record_summary.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/webhook_endpoint.pyi","typeshed-fallback/stubs/urllib3/urllib3/contrib/__init__.pyi","typeshed-fallback/stubs/urllib3/urllib3/packages/__init__.pyi","typeshed-fallback/stubs/urllib3/urllib3/util/__init__.pyi","typeshed-fallback/stubs/urllib3/urllib3/util/connection.pyi","typeshed-fallback/stubs/urllib3/urllib3/util/request.pyi","typeshed-fallback/stubs/urllib3/urllib3/util/response.pyi","typeshed-fallback/stubs/urllib3/urllib3/util/retry.pyi","typeshed-fallback/stubs/urllib3/urllib3/util/ssl_.pyi","typeshed-fallback/stubs/urllib3/urllib3/util/timeout.pyi","typeshed-fallback/stubs/urllib3/urllib3/util/url.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/firebird/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/firebird/base.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/firebird/fdb.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/firebird/kinterbasdb.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mssql/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mssql/base.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mssql/information_schema.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mssql/json.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mssql/mxodbc.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mssql/provision.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mssql/pymssql.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mssql/pyodbc.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/aiomysql.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/asyncmy.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/base.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/cymysql.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/dml.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/enumerated.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/expression.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/json.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/mariadb.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/mariadbconnector.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/mysqlconnector.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/mysqldb.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/oursql.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/provision.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/pymysql.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/pyodbc.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/reflection.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/reserved_words.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/mysql/types.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/oracle/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/oracle/base.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/oracle/cx_oracle.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/oracle/provision.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/array.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/asyncpg.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/base.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/dml.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/ext.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/hstore.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/json.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/pg8000.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/provision.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/psycopg2.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/psycopg2cffi.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/pygresql.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/pypostgresql.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/postgresql/ranges.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sqlite/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sqlite/aiosqlite.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sqlite/base.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sqlite/dml.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sqlite/json.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sqlite/provision.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sqlite/pysqlcipher.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sqlite/pysqlite.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sybase/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sybase/base.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sybase/mxodbc.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sybase/pyodbc.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/dialects/sybase/pysybase.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/asyncio/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/asyncio/base.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/asyncio/engine.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/asyncio/events.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/asyncio/exc.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/asyncio/result.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/asyncio/scoping.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/asyncio/session.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/declarative/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/declarative/extensions.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/mypy/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/mypy/apply.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/mypy/decl_class.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/mypy/infer.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/mypy/names.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/mypy/plugin.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/ext/mypy/util.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/future/orm/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/plugin/__init__.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/plugin/bootstrap.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/plugin/plugin_base.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/plugin/pytestplugin.pyi","typeshed-fallback/stubs/SQLAlchemy/sqlalchemy/testing/plugin/reinvent_fixtures_py2k.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/emitters/__init__.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/emitters/udp_emitter.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/exceptions/__init__.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/exceptions/exceptions.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/__init__.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/default_dynamic_naming.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/dummy_entities.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/entity.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/facade_segment.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/http.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/noop_traceid.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/segment.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/subsegment.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/throwable.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/trace_header.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/traceid.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/__init__.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/ec2_plugin.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/ecs_plugin.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/elasticbeanstalk_plugin.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/utils.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/__init__.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/connector.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/reservoir.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/rule_cache.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/rule_poller.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/sampler.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/sampling_rule.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/target_poller.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/streaming/__init__.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/streaming/default_streaming.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/__init__.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/atomic_counter.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/compat.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/conversion.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/search_pattern.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/stacktrace.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/http/__init__.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/http/connection_error.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/http/invalid_response_error.pyi","typeshed-fallback/stubs/braintree/braintree/exceptions/http/timeout_error.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/backends/__init__.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/backends/interfaces.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/bindings/__init__.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/__init__.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/cmac.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/constant_time.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/hashes.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/hmac.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/keywrap.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/padding.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/poly1305.pyi","typeshed-fallback/stubs/docutils/docutils/parsers/rst/__init__.pyi","typeshed-fallback/stubs/docutils/docutils/parsers/rst/roles.pyi","typeshed-fallback/stubs/docutils/docutils/parsers/rst/states.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/__init__.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_batch.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_cache.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_datastore_api.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_datastore_query.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_eventloop.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_options.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_transaction.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/blobstore.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/client.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/context.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/django_middleware.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/exceptions.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/global_cache.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/key.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/metadata.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/model.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/msgprop.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/polymodel.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/query.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/stats.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/tasklets.pyi","typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/utils.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/__init__.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/addMembersToGroups.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/dirSync.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/modifyPassword.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/persistentSearch.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/removeMembersFromGroups.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/unlockAccount.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/novell/__init__.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/novell/addMembersToGroups.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/novell/checkGroupsMemberships.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/novell/endTransaction.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/novell/getBindDn.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/novell/listReplicas.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/novell/nmasGetUniversalPassword.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/novell/nmasSetUniversalPassword.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/novell/partition_entry_count.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/novell/removeMembersFromGroups.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/novell/replicaInfo.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/novell/startTransaction.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/standard/PagedSearch.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/standard/PersistentSearch.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/standard/__init__.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/standard/modifyPassword.pyi","typeshed-fallback/stubs/ldap3/ldap3/extend/standard/whoAmI.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/__init__.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/formatters.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/standard.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/validators.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/__init__.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/digestMd5.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/external.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/kerberos.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/plain.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/sasl.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/__init__.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/ad2012R2.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/ds389.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/edir888.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/edir914.pyi","typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/slapd24.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/__init__.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/errors.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/parameters.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/request_validator.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/signature.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/utils.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/__init__.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/errors.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/parameters.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/request_validator.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/tokens.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/utils.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/workbook/external_link/__init__.pyi","typeshed-fallback/stubs/openpyxl/openpyxl/workbook/external_link/external.pyi","typeshed-fallback/stubs/passlib/passlib/crypto/_blowfish/__init__.pyi","typeshed-fallback/stubs/passlib/passlib/crypto/_blowfish/_gen_files.pyi","typeshed-fallback/stubs/passlib/passlib/crypto/_blowfish/base.pyi","typeshed-fallback/stubs/passlib/passlib/crypto/_blowfish/unrolled.pyi","typeshed-fallback/stubs/passlib/passlib/crypto/scrypt/__init__.pyi","typeshed-fallback/stubs/passlib/passlib/crypto/scrypt/_builtin.pyi","typeshed-fallback/stubs/passlib/passlib/crypto/scrypt/_gen_files.pyi","typeshed-fallback/stubs/passlib/passlib/crypto/scrypt/_salsa.pyi","typeshed-fallback/stubs/passlib/passlib/ext/django/__init__.pyi","typeshed-fallback/stubs/passlib/passlib/ext/django/models.pyi","typeshed-fallback/stubs/passlib/passlib/ext/django/utils.pyi","typeshed-fallback/stubs/passlib/passlib/utils/compat/__init__.pyi","typeshed-fallback/stubs/passlib/passlib/utils/compat/_ordered_dict.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/compiler/__init__.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/compiler/plugin_pb2.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/internal/__init__.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/internal/api_implementation.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/internal/containers.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/internal/decoder.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/internal/encoder.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/internal/enum_type_wrapper.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/internal/extension_dict.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/internal/message_listener.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/internal/python_message.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/internal/type_checkers.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/internal/well_known_types.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/internal/wire_format.pyi","typeshed-fallback/stubs/protobuf/google/protobuf/util/__init__.pyi","typeshed-fallback/stubs/redis/redis/commands/bf/__init__.pyi","typeshed-fallback/stubs/redis/redis/commands/bf/commands.pyi","typeshed-fallback/stubs/redis/redis/commands/bf/info.pyi","typeshed-fallback/stubs/redis/redis/commands/graph/__init__.pyi","typeshed-fallback/stubs/redis/redis/commands/graph/commands.pyi","typeshed-fallback/stubs/redis/redis/commands/graph/edge.pyi","typeshed-fallback/stubs/redis/redis/commands/graph/exceptions.pyi","typeshed-fallback/stubs/redis/redis/commands/graph/node.pyi","typeshed-fallback/stubs/redis/redis/commands/graph/path.pyi","typeshed-fallback/stubs/redis/redis/commands/graph/query_result.pyi","typeshed-fallback/stubs/redis/redis/commands/json/__init__.pyi","typeshed-fallback/stubs/redis/redis/commands/json/commands.pyi","typeshed-fallback/stubs/redis/redis/commands/json/decoders.pyi","typeshed-fallback/stubs/redis/redis/commands/json/path.pyi","typeshed-fallback/stubs/redis/redis/commands/search/__init__.pyi","typeshed-fallback/stubs/redis/redis/commands/search/aggregation.pyi","typeshed-fallback/stubs/redis/redis/commands/search/commands.pyi","typeshed-fallback/stubs/redis/redis/commands/search/query.pyi","typeshed-fallback/stubs/redis/redis/commands/search/result.pyi","typeshed-fallback/stubs/redis/redis/commands/timeseries/__init__.pyi","typeshed-fallback/stubs/redis/redis/commands/timeseries/commands.pyi","typeshed-fallback/stubs/redis/redis/commands/timeseries/info.pyi","typeshed-fallback/stubs/redis/redis/commands/timeseries/utils.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/android/__init__.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/android/webdriver.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/blackberry/__init__.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/blackberry/webdriver.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/chrome/__init__.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/chrome/options.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/chrome/remote_connection.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/chrome/service.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/chrome/webdriver.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/__init__.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/action_chains.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/alert.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/by.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/desired_capabilities.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/keys.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/proxy.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/service.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/touch_actions.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/utils.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/edge/__init__.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/edge/options.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/edge/service.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/edge/webdriver.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/firefox/__init__.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/firefox/extension_connection.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/firefox/firefox_binary.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/firefox/firefox_profile.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/firefox/options.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/firefox/remote_connection.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/firefox/service.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/firefox/webdriver.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/firefox/webelement.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/ie/__init__.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/ie/options.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/ie/service.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/ie/webdriver.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/opera/__init__.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/opera/options.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/opera/webdriver.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/phantomjs/__init__.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/phantomjs/service.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/phantomjs/webdriver.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/remote/__init__.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/remote/command.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/remote/errorhandler.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/remote/file_detector.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/remote/mobile.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/remote/remote_connection.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/remote/switch_to.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/remote/utils.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/remote/webdriver.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/remote/webelement.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/safari/__init__.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/safari/permissions.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/safari/remote_connection.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/safari/service.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/safari/webdriver.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/support/__init__.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/support/abstract_event_listener.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/support/color.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/support/event_firing_webdriver.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/support/events.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/support/expected_conditions.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/support/select.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/support/ui.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/support/wait.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/webkitgtk/__init__.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/webkitgtk/options.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/webkitgtk/service.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/webkitgtk/webdriver.pyi","typeshed-fallback/stubs/six/six/moves/urllib/__init__.pyi","typeshed-fallback/stubs/six/six/moves/urllib/error.pyi","typeshed-fallback/stubs/six/six/moves/urllib/parse.pyi","typeshed-fallback/stubs/six/six/moves/urllib/request.pyi","typeshed-fallback/stubs/six/six/moves/urllib/response.pyi","typeshed-fallback/stubs/six/six/moves/urllib/robotparser.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/__init__.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/api_resource.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/createable_api_resource.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/custom_method.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/deletable_api_resource.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/listable_api_resource.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/nested_resource_class_methods.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/singleton_api_resource.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/updateable_api_resource.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/abstract/verify_mixin.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/billing_portal/__init__.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/billing_portal/configuration.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/billing_portal/session.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/checkout/__init__.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/checkout/session.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/identity/__init__.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/identity/verification_report.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/identity/verification_session.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/issuing/__init__.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/issuing/authorization.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/issuing/card.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/issuing/card_details.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/issuing/cardholder.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/issuing/dispute.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/issuing/transaction.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/radar/__init__.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/radar/early_fraud_warning.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/radar/value_list.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/radar/value_list_item.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/reporting/__init__.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/reporting/report_run.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/reporting/report_type.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/sigma/__init__.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/sigma/scheduled_query_run.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/terminal/__init__.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/terminal/connection_token.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/terminal/location.pyi","typeshed-fallback/stubs/stripe/stripe/api_resources/terminal/reader.pyi","typeshed-fallback/stubs/urllib3/urllib3/packages/ssl_match_hostname/__init__.pyi","typeshed-fallback/stubs/urllib3/urllib3/packages/ssl_match_hostname/_implementation.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/__init__.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/reservoir.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/sampler.pyi","typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/sampling_rule.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/bindings/openssl/__init__.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/bindings/openssl/binding.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/__init__.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/dh.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/dsa.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/ec.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/ed25519.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/ed448.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/padding.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/rsa.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/utils.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/x25519.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/x448.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/ciphers/__init__.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/ciphers/aead.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/ciphers/algorithms.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/ciphers/modes.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/kdf/__init__.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/kdf/concatkdf.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/kdf/hkdf.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/kdf/kbkdf.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/kdf/pbkdf2.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/kdf/scrypt.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/kdf/x963kdf.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/serialization/__init__.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/serialization/pkcs12.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/serialization/pkcs7.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/twofactor/__init__.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/twofactor/hotp.pyi","typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/twofactor/totp.pyi","typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/__init__.pyi","typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/admonitions.pyi","typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/body.pyi","typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/html.pyi","typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/images.pyi","typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/misc.pyi","typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/parts.pyi","typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/references.pyi","typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/tables.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/__init__.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/access_token.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/authorization.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/base.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/pre_configured.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/request_token.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/resource.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/signature_only.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/__init__.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/backend_application.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/base.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/legacy_application.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/mobile_application.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/service_application.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/web_application.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/__init__.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/authorization.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/base.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/introspect.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/metadata.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/pre_configured.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/resource.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/revocation.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/token.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/__init__.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/authorization_code.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/base.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/client_credentials.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/implicit.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/refresh_token.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/resource_owner_password_credentials.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/__init__.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/exceptions.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/request_validator.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/tokens.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/actions/__init__.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/actions/action_builder.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/actions/input_device.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/actions/interaction.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/actions/key_actions.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/actions/key_input.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/actions/mouse_button.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/actions/pointer_actions.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/actions/pointer_input.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/html5/__init__.pyi","typeshed-fallback/stubs/selenium/selenium/webdriver/common/html5/application_cache.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/endpoints/__init__.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/endpoints/pre_configured.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/endpoints/userinfo.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/__init__.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/authorization_code.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/base.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/dispatchers.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/hybrid.pyi","typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/implicit.pyi","vendor.bundle.js.LICENSE.txt","vendor.bundle.js.map","pyright.bundle.js.map","browser.server.js","browser.extension.js"]} \ No newline at end of file diff --git a/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/native/onnxruntime/napi-v3/darwin/x64/libonnxruntime.1.7.0.dylib b/vscodium/extensions/ms-python.vscode-pylance-2022.4.2/dist/native/onnxruntime/napi-v3/darwin/x64/libonnxruntime.1.7.0.dylib deleted file mode 100644 index 60b7c83af197d9b73d25026536f632c5bea71733..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15910984 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ξ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

9WlB2{Am;>u)bRvSd=V<1cltqcF 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 z�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

hO`;JiCoMGV5JHnt1z(0CIv$Ib!y+!_ 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

h_0%YvQ0Wij0n`)9%X=ju>$F7dC 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%0A^W9&Cx1 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

(sS%NDqUC8g9VT? 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%0APV!KV{9&2>@%-B#^#cJK9l7bn@f1O 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

w;3Vs&WQ%mBG5q61Rpp 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�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 LDzXR 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 ?% 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%0AZ&c5 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 z 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

0{FBD&l*~2V~{}; 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�Q73wJhA8ghSE9 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�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

`TM!I2Sl4X$FNtccYTukn4ZrV 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 tO|k8CR)F)0*$Sv+p>NKz;lF{*`{`IDs?n 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

KUgV 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℞u(xwDUqBF6GUMPBGerO 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

kR&K0l=kI`!ls!JSOz^h&MgrwQ1gJ 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%0DSW3#A<`LQ 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

BAqpD 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 z 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

&NYYM@iUdsSir4QwH#m*H@p%3uERzi-b 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�}l-mP8=tiG>BVM1}oYC(XXp)CXldS(V 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 tcX?O3b1v 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≶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%0ARm-&8&$N-BYq{&kX#FzRYI!|t(Ecto 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

)1?v#+@MSkJrkw7ur{6vl-WQqpR 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 z zw0&;5smwtKDmjsd`REoP4~GqTn4*6-LgWE+Ny-C8nGk`%^rQPKh<$gO#A0^CyBLuM zr?(CSe*#3tBLY$fj^T%|g6tnDXLf^WE9B$Eq|30D!}1XZI{Lwppu!_(g&K!lftiMU zup!c3hC*NoMu~nM2qz=G?}oIotQSy5);wg{M_G1yQqj-&D9gA-8%>G9*a1P7FAcdv zes%$S`Xvl1?9)(DnF(f}=2gua9?s(7Z4%x>tX>l>b`=UBNx*M-f?s>m1;*I#APggFOs?$bCA1WbgohI&3%vB#9qDZhSVINAI2(q~)iHr8+^~We*IkH+*g(Kz` zmNQv7!w>-#Lzi(Zv?F1K_N4!)MBgh(EY@);zT4r8`quzJDwX(S#X1Z!i`ImSpGEOi z-aNl5020S^x)Bv|eP9)xz4Qncj@3bZn|v(jobm8Hueziqw(bjM0933fB@ZHsl;KD9 z?D_R$eq8*_V|?i2TE0wOqx6t?q>QW}!%ULYfu}%0^7P+TD41UVVRBe?F|@8K`2l73 zEMuYdU;f5-QMZcKAMrkGwd~_~@4uPt73*RBreRR-HIv&o-d>6IIoYOP$)_54%I8xJ zJZYDz?Z)Lul+B8tPiZ21jdu?gUBsZFyohQXXC*9L`Yp<&zxx3-Ys=nbG6nuk#$M;! z5>+&E*zV*@D!A`iVs1CK`hE;3uiNe0G3Y;k(5E0z|KlJUYeltf2p!ee?oP#zSpf^F z2gsR^Ed6v~gK+a{Bd$ZnuD6SCm6-hR$-4#X{$!4Y#A}L4VL_Q%(kl|c)Q0D zoUQor&~HMZY^}Y85|JPGGM3jA24&afe@$K}%Jg9hp<*~*5z@1S% zUYxkNV0EZO3q4Kdq@)vfMPt(e7I_Wyk5T2+s0}Lqi;-SbaYNj(RlkaNDCa`JaosV+ z^-X^;d=>{YdHPg|VdfW*)`wI$MU0Ut#UiQqNNy+f#RDj4R49bEAL$0IoeKtyFkLcd z1cA|zeNnY)Y*|CBL)zy24g3qCe?z-ZIuc^tOVCo&Q1q@c+yyMO<1B;%ok$4Tkk#I?a@CSL=H#A(bmK=K>7BtG>S2PTo8v}p+b0j2W~lQc=SP&eIfj_ z`A<1EL}liUdZk7nb>HKl{DeMvE&3w?v~}ZSYjV;T)ut`M^VkCj^0P7*2{F?Mm8m&j z4c(8TMjl03ES7ah2Axo^d@Vj@N@2>BSkvi~^W#wujm+#fVANRXgFViV1`ZyXIe2ux z3^cf@Kv5T_%w*3Z+Cg8BDd;lTd!s)Awcfc5#=Mzk-_g(b10Mh+hrJI0Nt7-iHETa*|(YIJOy!o;S=F*R2U0dDe)nX$sYec$Y6 zSLq^A{;%21p46{E#v!N{Pp>6CuOpVlvVw z=-dt{g~_-bZ@4GwE*rbeFN>;2H_YA@rtL@#FHa_Jg~#P zsxLW%zK^HVd@5q2_GV`r5q|B%2-NS2{M*{w6Ot8n)}n5#UaGxmUj((cd`#ic-U`}; zYi~D5RwwnDl9ja{HS&YKK`ip<+C)uRJSnhFJX2YF@+vEFrYz3W_e z%9*fAdvXLmaQV`!N8IhJ^E~FvTUSLd!XzBb%G zw(gwZ+7dkpe(&<*Qay0v8551a%7~y%znaOx1{j~XYmC3dmEefhp019-WbeIIU>pol zPTh+urrD`jcXY;FE)}*On8c<+EqRoDkaSFyvm)zK*o7RbJ45(`R{HbkSxeiKJZwZp6)Ss^ zSVXhq`RnodKX`tK2LGK8o?jn&*|q4l+rGy28H`HknrP!Uapbb@sw=N*eTR-6BPHG} z199vf}%Cy%b3c=SfY003BH#!Gyi)m5aA*(C|m@+56NVlMfPGPP#d#6YF{2%!g={!&QEV^8TunO0PhJ4<9K*ULZr?$L$#Ba&xm3-rCoAQ8? z&&RjQZ!$>$c}P;K%V*W|+F^UZ%K`RtsI zti4el*wQHrhEU5W4p2;MTyarK}QjP z@pG;N**9Bl`&5(hIf#O zd-Vk5rveXi$>@cnjB7~(@IQnpk^L#Umi;xC^&^C~nzw*9|GSLsSt+U3gDYCz=0#*S zE55-9&8#EoZv&g;&85gtMN(e4TXd)JNQR5aN>s`f5@hywSe1M{7F^L^k=LBx-CKg$ zw6R(<)>Exk2F>qeJ>`w+ZHpMZrg9=NR^Pk#F?-A2*N*R7g-o5EUyRcvKC;`z$IS-;5 zMvNLXxG-lh?jRqAeSoOTAT0~^nY(5EC2F}M(atdenw8tvTyBa8_%{MqQz^nlLIzUR z)A*9^C9a2f{~fwBamEbC$i5C$J*(G#J7r&l_Q86WZ$jNgE-eL<<35WVTFP!XY0Heq z6gU}0Ufy0Gi&SPr!u={?Mc@Cu2a-w2^Q^3!4_J#?7#rXxKh_0Rm9!HoPQ z4=@H?LQ6%d>bepOUh-4;pO@Kh*x-kT4$H(MatHz)d86E!8E%9kfVEnfGm>#bYt$Eq zP%ir)+Fp@*os0gJ^*RgJQuR88FR>s;Ma%hf+*-gf6v0&Eh))~U29b{$L>A>d1acl4 zlsT+0XGBR+6f6zr?}k6kvDQ^ztIn7J~RqM z4n;gi-k1kRWDI|3k!gK$# zXhxxI4i=6FhxZ#Z@WJ7OL9h~zF&QWjLah>n7mn6O34YyF5pGX`$dcP*aW%N@zJWbM zg1`)u(S5yI+w8&Dx>HM^GPO#qz`R_(HuH z@GwC2q}%k#p{T@=p46Xtg{u3unOj7sGHZjt7fTCv#9&Pk=RP+?xEA-SZ zP0vlF=OIPU#{oiIo}cv%Kw>D%p_%f+P7&#e1U>2~;(eQiq{;?KH9l!`{q)M7{DKRo4?zA4;#DNaj9yFEl4@xcx5L`74T3IgR{v z0g=YGjBGl0mv5MUB2gFZ+}Klk7bJjvR(QHn*wBE^y$#-o&izVLnBdgdB+uR1Prq0Y zhg?0H5v5~{$b_3BHOL&l2k8c)H}qetN+5+dQ_-@Cr9gA)hO*F+Pj)PxLnwTUDH#;{ zzd+rfWd42XT8bYNB-_w^hL99{*-}IaZ2Jti;f<8JzFFp2TOnE$50V1cXDp+@d(8q@ zmYmI!i6+b_Rc65-?yE2*Z{Q%#IM7%m|IzD<`j3CHFHw?ep{M1XH_moTokE9FTyjL zsWHDU(La>uPqFWS4p+`Fs00o4rRtx)%KD-Ak0Q0;VoV=swn!=(k;}`eJk9U^jV;mypoyDwx)#$I@F*iJ=Ny$a`j}L_5 zo>@wI<*2S?&$12@MS3Zh7dvjfu>_hMhd`Hi9Q5UK9J9;&5O>5mgnpa>KIt1$(Lrkq z_TX=qjk0mh1ytEiKOk%^BfKySxeeui7D=6td0wt=B%M`$c=Nf2)1aNAnl zw#KcL(&K1{TU884B5sGN2oBszQ9U?5$0sN3AcZvCs`5Dc<2F&n1@}|(X*Lm`I^`Iu zJ(tytIr2O(9TPdY8`BT}jZ4Xi0NY~YOe6@0XkhCN6H&U_FRm)rSf{aoz;=pAtxYaN zrt`16RC9ZgS8voVF$|T>Wj7o@@5MmQ7H315>l+c1W1gbI-B{%qKBuc;6pUTPCSl*Y zQz&LL?^H`Ok{>o&=C%nuyLV%6`BH@o5Qm~ zoINVrC~wp{D)`wS*qyU){1St2z{bkulh%xNVj`MOJJchN{?L!2?=qKUMJcNg3L(Ai ztutfb19B(?bUp>#W>v*DRvq8Ks%khQ5ff;16X;PWpwgoh33A`KrK}paW|vbWZG*}H zmVF!~ADtF+64_ay?|XG~+5Yd1sQO2UglbUyfESNIDuz+j^C|+j-qF=y=EUwrcfUz1 zEh!h8qT)k%YpS;7jbXsl(209*+fxU)(k?_3R3M0j4vE54^gM|Yl@e|BrS7`an@s(L zHD{O04oujC{;DEWEMT$*6|<0?GNWqzh8p$i8&^%PPzJQ^5kg{3eq%SIieZB2dRKI! zIEU=lhKye#Xg^`IT)6Cw8bUM0omU~lfJm7V)9H0e zj3J)}aY9Kc$NiB?97N9iXwj&S!hOLKGl{{5`_GFhZVML>LEyI=r_yyp_=-if9pkdMCC^up8H`Mmu8OW7@{z znu4V*?r&IIc_e1$gWq)c`n==vO?=HxzXJy&@w77+9P7c8T`V*4-i?u>I>2f;r>s{y zq)-`ub!Ld|1Z-etRKeX=1i5BlyRP>t{3Xw*;q*pe?@nePK+LXA*5Y;^PuBY3l;2u& zze58+;7SC3&cIb9jHedRt0|^8sIL{sZk-dE!~6y1V)qMjT1%M)PY2h=NAQBZHInFS zCQ-nLt%#cF@-|5IY){SEG5KmF5AT$>UQ%$$ahKL&tNFN69@n}&YcX9}iNubuVQLFj zAOav30o$jXe3xe~XCN*$NrF8N8aSs}$gNhN7x*i)4lVly84gC|x{MR{JUCi#Nly!I zyGqO20JX8BU~d(eYoMDrsn1KMe5Ney>TA*3>rXpy41`A(d$wp|42aSF6k@r250x;b!(cCq z3tNRmd=U*Uw)sqq&D5N47CU7!P>zY?&HM~ir?tckpCRv7LWpV)FyA5#IN$IaF2TJr zMuR6ONY#tyc*pkC6Y~zX0DYfT}j@ zQD!;E5b@V*PjyCoqnI$pNh@Sz+KKh0MN(QJ?Uje}?aXw6#7lw56kciy2DI5}VT<_HJ11^8|O+7k__U^|sw zpcNKiE{L>n3Gs)UOvNqyrOOn=di#DC|sI~l7o6ghMw7AtK zp{wy#i_dVdaD+4Ai^)|nBf=tUa+M@4?h7Nyb!@gYpTglFu&u(OAx*aNwC5(ZuTgSZoNVhaA%JLS z$+hA@9){NBTCwJhX^B>gGc0*!?6*`Q3J9*Taj^S});wD|=OpFLbJQOO&j3xh(@}7! ziX#$$JMUtO9~h{&!C-*ekUEBR#25o2WhX|YjW?$J#h4NqW6G#%T8z`@1((_Sq%9)R z8!~E}VSq#qr1`D_jZNwVam;7B-DVR}hbjmf}&yqwQx=%C($S z6-PCdKpc5)FHJ|w@e}p}n7Iq9XV`JETVluQQLT|J{YPo((!H6j6&bTnMaLKDUa|P` z-VwuHI~RL>bQGdrMqrxsyK24cy#u{P=Wc35KsEcwQzXZp7@eol2gqYk(@&Wp?Qtxk zxfHBd{5x6al{QyI@;!WiGbQ!|pn+|{Oy5_99#GX9-dGX)Zl0QA^eDsdK?t6O?s1<| z&P#y^j9gT0HDk=F^@YFDU<0RsNa-w{EJd%ci^dHlIl+ z(iWY9^bRf9n;7SCOAAQN?c%EesoRG>zI${FtT5Yr283M-j(yH`DI9jH2glxX|HbJ| z+UWF-+v)T^^0m`@&v$5_F%ODq)k9*2)SKr`$JD}4@21nxD-C{!w=I_AcEp=n%kQvM zeGKzrbvia}I{Un)wQLN4JVVbgZk=bfmh~J|XlQrAIdZKY^St$vPOOY@H}$MbdOrdO z1Am6Iv|Bq%R%x=aQGC69K7iNjiTSDQSxu5{aqj@LVGZbt>@maD{@vDi(sHiGFU}Uo zbw&C(mWGZ`qG*FksvV+vd%S@5n1(xlF`Bc9e+09HyI&zpxLe4!ZgLkV7I?_rI^gbp za2NdsK0x(@nc0ZQrPvmirywxDg5CnNfk*Z_y!YrB=)i!Odrsj;_}aV9i{wxv@GXr- zyfJm2wgb&OKq1NYkLh5omLt)^)kF#%X?s~!;zhHa zH%NbV!#k%&RMK+3|B1vz{q<)||IsCwXwJ}yeH*0gAfo**38Gw}j}5!k!lL$S3SRdX zS*+RRi}P*hhc?}Gc7M$yF17h<#%WR3{_y}wn)}DKWg(D{F(=Yt>>vLCEgculSw-DA zr8=@tN>j@gF?j#DIuhfQY(!hq8Fv4eMGw`7HaM-=1I2~XhZfaqj(h|9&=2u!*N46# z&ljc-9k^TMB!+SlULQL3lvQiLyFPT&(?R;sh8II0Dv5|bwAU>``q0_6|JUe4SGEhU z552AW|4x1At{xXzANuTHRoCzouimIHezIh?EPd!Fhl> zt`GeT{To#c1-P;wX(nlNMq=S>!|NY%@qwBTgyId#Mi23U#s2?zdwr%@z2Itwgy?ousN<%pK9K)Qs=5sNk zfS3p6!)(k2Ih!@dZzq7usn{+_^>)KXM`b6_%9v?7y;N4$#*A&V)0;sRMAhTk{rSkD z&bni8;eea;b7$wSdNQL_YKlbhXnM!PGaf)+WECYOT1Lz1H?!HnI|{&rmi-v^~j#T>i>L= zZl!biOtcKMFVmjtDNoWfb>Xe2&lIRh*!3x$Uon)2(05d&zM~z6Dof!3eFqlFqU=!X zbLcy8wC%XH(06QwzGE+1LCk~f7-Jqf!r$Jf_*)Al zs1UK_&)a(~^dZoR+_M+@5FLH#J>Zbyd+$2C$v$#5jXhWl7@4Hit5Y}x+7R?J8yT+E zUXRNL{81Z{NNvc!L>r>EB3%Ds-A^{vjD3`ViVLS|?}D5W7_H6DAtosGq+AxdB|gzWo^} zMSPEUD@@tSz3jb^D?InuN)5@EtE-`CQH|FJKJi8+7|FE{Hm~b|Vi^7+L-LOf%71)F z{`a3H|E?EV|+s_iDwq4FHX;oI9?o`KX&$H zcMsQj_{+uL6rjOnPNG2JhP^N@(!UppN}Fs-^$u^^&FM{Vn&yfx&K!u1Z1&Yo&mLz% zNhBS#$)V+!N)Ne5FGBTWp=v<^7Be**0Egpf4b}V(xaeRCgbu((DK_)B>$SjEX9SL( zlPw7xciX+`uoUfsuCX<3>0epuS(iqnaEv>jgXh%6}}mZ^wuHxE!VID5Mn`ydl?JKuAq0g<{9PKoR>j50rqogwzt#Te1i3QUH_>XE1 zn0jVU8eh@7PaY`cKb+RNQk%|$ee`~y)yYj`E~Y2u;+(}jX!`Sbj4_tb>F`n%e;g3- zNwoo7q=YR%nVk`P7#|*Bm~{im*lYsAjG~k&BmpoLnXU*mlhmO>Oa6fl#5*IGuba=9 z!3z$S%sO3J%NYf37%0$_dO-xrhQ(j@cpgzi>tk;>!xk)B%V`bLUETytb@f$eczExp ziik=moDJ7WA3oVmB#SdRl|QPmjMzp-^n`@L8_{p%Xf%`Ys2wXG#ubk*1|cqA=TmT3 z@!KiB#Ysmp4L(z4bUir2(z0l~-Pu<|9Pv!+j|XT6urYeKFZs7q&iGTwo&uB;!wkjGJ3LqOFeO1$;RMpdIDxdC_QWNagSGh#^NvQE!_x?O!E_B1$n?uFUrpDb zq)xvqhIasire6lmq-(Lfi{)J$@8WpZns=>v*N%69Jf>@jGU_I5aKGk%oiv)zLxAgz zt^rPODcmlfkJc0dX8d07g#A?iPJH07Bff1;#7?>QD13~E~T8;Fa+hifdSXSee5$11|V##HT1pTGqc`db}cqjWnW zP8bVGHHJ4xgIay%V0e>sCiO(mV+?OMLKdX+k*|t71c*$gF#ALkCK9M8JxbAA>6eoe z#P%tqZ$NB@sMwbywy1?o`IE7PlCIwfN-+wtU(+m+?{iT23oa=I0^A7O`@KwK7RL97{IPe+g16(cjsUfV|pHXd)&lHRTu? zg&Ow>=zHnUNJrm{)6WoV)?XM)Jl&h^Exn;>mU4d_UmCLDqYjfQ<>8}Dvy{%Saa^hU z@H}NH^E~MAe}_&dY(*m%sc4?PsJN!Dzh3wq;NZGU;kQk$=wL`Vc%(7iyWqT5b%Ghq z7a;=hOb7iR$2@&gBP3?AOjs}D=!f_a;gYv8g`lMAFG={sT(&MKVJFVkeJaG}1?h1K ziCVgg!mslqA52-EYXp9@yxovg>Dbg-wldf4m7kK7zS7K`H8*^?@x&0G{OzDE0P@Hz7~la6uEElKP_q+H9LMv zqD!pI?PxJEOk*4Z17G08KlwmejL^g?lh46q-DxAs-w^LDPM8cD<)Nhe^b{G9=?W9aXrZ>+f|fOJp80#g?Ts!QP0N1ad=-24@DiNmOpxDi5|kkwu&6H znAul?Y*gzJRJWL^wdQj$4=dZqGW|4_D&{VTUj;?wJw!cQG5>-0W-(!{rbLAndZwtf zDjo`vXibqAB5_q2X`v@_a*v|Lh%N?eM)@+khm`HwU|RSI5b2DqUy4^^u=X+}fn&|} zjB9o3S~kzA^ZVuHq2kXV19(YFI6=F+cw}(E?ZthH(~5fr1!i{kKa0Z!T_C zd_z!RW)pMddGrc94ViU|hbw=4%)6VBcW>Nh825u6uwx`akKl%biF-V)J)XbZ=q!xa znfr>n1?RYcbExRx+}<#kgGU+&6-FkR&m&xhv8@uWhOwt*7%NmEGK@{5!b$%(LP$ab zlLS6oDi5aq#-_h`Q^YgsQ?WUP)TFFU_V`> z_fjrK7>H@>637ags-i!m^^|4g1HxOOTT_{~=GOuJ44MqdfL4XIlNx_W%jTJ3-~m|& zU(sQvvkzl&N{hZL>a&qTF(4bexG?RmzMGF@GMtE8Fpg`{ry6rH%el`%S`iOqWH z;wXW2r*D=}>GNes6p>QaZBk`Sy_NTInzCQxD9Q(4OO80Sf=VwkUkQjA7Xd~8(#q( z{D;v@zpB#SDugR9wtFd*UKPI37M{oOF)DnvEqorsA5h^_Y~j*EI;n6<8kd(`#HNw< z<|$sAT*_xheIeW<@n%nrfm#tp1_Vfp$*e%QC8q%U=cgAZ-jAU^d zRfcz45l`OTuHNnCce~U(Lt3@$8`V29ST9iTW}DwBhZ)PrGJU>!N0vyMy+N>_$9f7) z6>gxzAS1T&WoMy$AX^&g9V!bliw)p$e+%5%iae}}6xk?N=EMFt^SvAm!om5kr3Pn+ zJ9fm)!P#F!vNyA6;QtKeQCS#aTFwV7Vt{)&E7Y^ev79f}v&p5L?dsX$Oh?60Y15-r zal5G^xfA_lcSwFaS;dziJm9fA4N2YelpzepLS zU(mAm$P4JHzEPp<8?@}rDl||33ZYyw-BitJy69`k)rw4X=3XkiG|Dagm6ZAMU>@IO zO65QmZk9(z+~Q`!3`K0teaN}EwPKGItvboE7D`%9U3oUXXrdmZR5{nqNM*c4Rna}uemN!XpKIlZ?yy*Q{8Bk7R8ZNMB4?!uejq-DR11YDj2 zoZG`nG1}Q2&{y1ZQr~jUrjk_eVCXJKMB|**X!yp-oQ(OJ134?ak<;6uDR;hKTe1&p zD;@-LceJzp-7#aXb$BA6$Hx>&Vnd4s>un_Pjr;TBP67Qt_tbpuDf&OZtwr;0iSRa^ zzMlcjntbZN7rDI`fr+MHHfvS(PH#u2_pxY4!bzuRr@LR99WLL9DFk>p+fR-e-O9vk zD9yRv7Rkdwn=9e?m>W!ryx0>`(Z_6acpA$dlu2wm6?yaqGaGoe&>yW%K@*w)dUAR- zmuI&l9@d0sB9j(J;Isrs{4rxTGdjkRP|JO(v*gRvgfXX*v{|1f6~adzzGkI461HaI z&`fMh(J$g2eao;7Ku&3?-hR=pgl$^3>jCMD1c_UH> zu1aaMzDrhzFR^>`VnLGj(u%I0Iz`FRM3rC%<(KHuiC7;yyjM5|uEdEESse;1X)op{ zYA+Q!JU8!&UJC?Ev}540Haqa@L?!JdEZrJy(Oz5;jdLvuVnBy`Wzvi~O(BqDivpu| z-DHo>5gRgN8?p6KV2zsUUWGd~)g6YC>N`J{sqQ<~WvV;lGF}4y$cfLr9~Gd zHgFFgZp@ft_L2nm6mzc+17BJ%bGm%XlQLcIHA798rz2~B0fExVUhv~GO;4SGAZX6_GOL2-PhO~Bi_uk8qMYpDwnDI*EsYhfo> zB}kgXSGSfh(pHKR{U1G9io-DJ&+tkqW=>}*Fq)cuDuq;?Qjc9rBQl8llpj#~0Gy8Hx3QSz= zC(OTwH|2O{pDIx-&+MZmLzBuN&+HvT=1X@4WgFy~y#-#SWFOYDl?JcG&+!tQV8y$^ z!cv7i6IFpiZbPK-h5Q(A$|>Xv62&T{PcjT!$WZt51A?**D&$>wMfdYKj^PLWZ%h&+ z%8MoUV;o~qw_4{do9Ek#Jp&!l{Dk2(Pi7!dj+KD{OgXtgC(;FND##Jd{I!g2cSLhg zA6A77QQllixe2)D#zm6h&31lxk=%s%DG5PtLhk9q^|snPNTPL1YD zxnU<~IG1UF<#)xLbZiCDNRph;msiHUx9#)Ty0JT#xsSnytB?m6-5aGBDE<;aR~PaV z#<|QM#;mBTkb7-Zv_p2vRmh6|%2mixxne%iwo(Xbc@c<|SQ>C>H0+^08=!UM^4aP6&9L1NBn`Bc83;uxfcK;{ zz~m&>8UIOUe~b_@?7%#Sg0N)8qMbaXKMu;!OrbMiH-`&5TmwtS^w9C4PMLzCsNJux z0#{Naprw>gSge?RR00WVn9bwmpXIR|J^}-npuRlr296New`Y-%Vl+ZsUX1l!qh0Z^ zUKf3TCcFz*gDa3|NBjyNF_&|IrO7IRXS;ULGwNfJiU5C}!^{tQi!>zS^sG2h5b3U) zot`7k0{!;X zh^@}7y}!cpH--lQ&vasbpgl?Fuz>O0=8QP*%sO!DZeNYd@zymn#_1c4naG!#uLCEK zSu0N_d-fFk5Lr^>0Io#K{)}{;+~e|W$kk%H&xzI2R`A+dAgwE-3Eep4@QuNY@0SKz z7U!@2JSUY6?Zi>_sdD}Idw2%KKr6L&(j4z0M0yjbl{PK{rac~zUw%=sJ6JFD(! zUnd$MHcV@r32WSkUGXb3+l$F^GKHWH=9_gcabGIa9=_Cx;g@sPjW!t{hAbF z5{B07IlT4W=^%Tb+6g2Ea?ijbLwo98aNgSELRTMTX~DwzKOXdoU-a0}k1%pVV!lYd=oo zI8$xR^#W#ti*xr_|K)gX`d$kpNacg8nQ+9t3VCYT^DqN}3BV%9$?c{*AsV=sUj^W1__|zAIt%q-Zp*8XkThw+hxUS{huF)Wb2#X$4}bKM9qLhF6m8*^+fg z@vl1EDPRlkuHwO<(h>hln-hqA?)*4Tew1X!;8=e{AO1?EL{#&L!WhW57raRe1EQ%(`dr+hr#FYB^!H``(c(Ay%C7kW56MvL54MA)8K{5V8y5ialh`$kc$?!p3ceEkA<2uKZ@q=T>3>)Ph zE)8#q_`QxD^AMf@_7FHni&(5k2=*9>cJ$eS|lXQ{zXWL z4k2LzN%-l`014GC68>76gcqD9L&hr-o*%CmvgT)yz)@I{Fb$73E~F?D>M9a)cs7Mi zEGCkK(KZsMjWfBhF|rgFuCPcrIZ?RKz#zdv65JpGQv&tjfk{|J7}a1$`2addIj;wnmyk0i`jfnl{Da;I)+J9=2E2^P=^X}Zq0Y7buFp_U)Y#uWaZ0JBq3 zdojB<<9ahsfyV_aocazFWVRz=P3GOApT(N(R7qxCs^*>T zd&Xp5*5jG!ou!hOt zJ^IAs6sf3>7OA?Uu0Vso&35)#(-Ov^-=TjUp%}1w4A9qQ#ZWAmPl7Op|0Bjm%1<9w ztNSV7d06{7hmog8?B|xw1_d_zx&KNBOu7vFxu>2H`?*8^75Ky(b$X#$gdqF1Uyt2i zhW*?s;{%odts(hed6xVyQ~3`K%70w={3itRx9#T`_H!u~32Xl}`?={yWy%8uhU#}r ztkT)-=hmTE0m#z%+t2+5kqT=+_cdNX%*42i(DfPmdI^#FzB%{LU>CVmg>!jehNm(7 z6$y{p_ur;mlxaV=l`##_O`(XbNVU0JeHQz<+a-^4v7a0Jt!hJPP7&&3DdOi+#2?Vl zq95jxhDAX)D3BR_iwZZ3XxYzw%y6`|Yb4P!`{$|Om2W?{l==eIdxv!0u%GL*=6d9F z-u82s(rm0TXvIiXVf(pJ;Le5E&y9Nk9Y_W2=ccYk*=RpEhLFQh`?+|KZrIPwD7s+# zx%Fg3z3=b;kNq4ZJgog(B%H^chyC0Ox1+LQKle#}%YJT7U91h2{oL)_T3~Wv+Ru^y zXk?XCBg46DvXbejkN!@=jYg*BY(==AMs)xGu%EjRCB4Y@bGPh4KW1@S+0WG|zW)!g zpL0WN%dYWFbdA#OoRj_BF;E%ae(pA|VeIyE5gjRdEB#bRNYAOPVQtRM?DlgTAgEL@ z1h|5!n8Fhs^F#g&Xz2^E_!RrO7Mv7+Nl$zVwsD|NX-Mf=4d?!iRFy_Uhl)WTGf$K% zoxT;N%8o8nQ%F-VEwaRLZf;xZRobQ(Gggq{+%;e0)Rhmpx7_3?Uxpga-PF$9B(F7s z14`W+A5w~z0iffY4Cm(XBpN&GX5S`^4#&C=_506mIQQMFGbPRNW>Jk>=NR8homu6a;Vpj+LG5^?3A4CnSA1lugbxiiy#FT=U~ zCE-fm7tKMHyu;t50%qseFdQjD2L8!IQJT&no1!^ zIOp~zyi^nm*?4bSLsh_Vu7^Zt!6E{NbBT%^b}WR1RK#$urj4vW$8gU3b%lA@A5qW7 z!$iC&uTb#cz>X5poO29hI8xjD#&o|DC1h4`k!MscUuq* z=WRGQV5iYpIFwyo8HRIT?X#CS(=wdaOc~DkREP{?)5LJ@afA@3 zuxE!s0w31PLty_eSl>7GJHvi1=Os1v{lWHg8~4fxQ;z*yOH_@hC@#MJT%V04C4Y|n z+_pVzA5aX;Wy{8;H7@1a&t1bh{$FH2cYL=|!67=SGVJG)DG!!2ryvua40Ird3C~#G z+D&-KIv^la6w8DsVvU&asMzJ3@Z7menxv#<>`1d_^rk2R=1|=v4|tF}oBdo@_>KL4 z#eS~xYAJpk>8^nJ;9cmr&dzSoU+@M9D%238ta4^b^%e zFLusmKer0R*zD(~KO>XqUb|%GS!oY1rS0by#mQPHW4FBK$Yt8k{dJ4E)^WBv zE;=XsxzDzV^hu=|jgK_zZ)~r4<6B1zmt~nGOG9bE1DS?pS0mwEljvPk_(JJT6a*!Y z;Ww%9*|zX`3~#8yOSO zG}JT5N<=kh!Kf#GVlHs_iT*0ySJZy)F^S76QU@~UGJye#7M7f}+=_-q!5}T6_H%y? zriGuF_H&K!D#(7WJp#_%ey-t{Y#8Q_M6mtbk}Y;g)w1pOb92=@Lt2CF=ccN6hQw;w zcKf-(>YX9ATK0L`&&5GTK(^69wIKVs$|?&oi%OMJ_H%JxNRhXqF8Ka@?C0LvB-xu; z{O~Bm*(kg;BtrVb8Ehu)6>TPuE&I7^RJd85-_L&TS}Dxg?dJ?U`KEtZ z>y_UXPtL;!skm(po~fa9m~;shz>|*!+k)}rYkv*GlkbBYN2tPtuLhoczxrMKRjdl9^ z0?DvJ^QDl6tiqFtCko-k(u*g?=)NeHm-I#O!h8nE=`(AbzDYPOZ`4}ih~du|@%(S% zrxb?#zS0=-L}JLVAcj1V`0(??j}HWJ#lVlhfQbZdi65WITN6LN5&Mc3e*6n?I)ESV zfG2TvUqSr%H}Du{;>Z1RfAR6-kF8@nuUUBtn##q-k4OE`4rwd=co*rKhH{%G1e&Df z^g*b95PsUM_jka>TT5ZbTjSn^leYlHi5}BYfZ%=+rV!MVmeY_a`~^Q04*UTue`bXf z?nj@dYa~BU2XJ8<2GWPq)>Z(IeM(%v7DxK-i-5(1BMaVIvyMV}H$?m4vo<@36VIW1 z`~Qv~>?^r|-iF9!-mdUK$F)&)mLQ9@xJh0T%gk`seMxKlrq7|YuE8I0-~9mADT3AK zmI;9I2T?YuI^x!tiD;m;UFCe^XVMB-@oG=i11U~q_*gW2kBb|ERL@a5xg>o!9Obft zU!A^3P>7Qbz?yu$R3XkZfM-vPp6lHc{I8odMu{ zlxs;W>6cOrT9Sy+efZmtuWf17@?7CQhzFEEV^vq&;ADt)l~KA$t5Xxc%&Z3kVpsf^@KEc? zjjWF>fJXn){gX2xU-Q*xn}=;n)-TnxX(z#}RL?fWoslcT@W^Xix><-zxV{{vF7ti|^(eQA>+59KQQe`dpR?rBht-9S~+ z5U?BA_tU6Ke~8_{zKtYWjDurkc5+g8UrCJyjf3yITQnM(UDQU`Yio>^A33PMvWnA3 z#gOiJV`IqWPY6Q}tPzHEZyC%Gu^UJPMguEK=Ban@Y$E3SmZs(qe8nniKJ6;h9PF&9 zsfRpmb_45H2a%9FRY>TsNLY76FbM+MUsf+b!aAo(LgUgT46;bLLy<7hAmJJ0X|o&X z8cae>MZ&Jt!iBCOBoHZ}-)bYFt3|?u4W;U2ALK`I;p0@{!d|E1LJUdxKVvuWBV?*v zeD+s}6j<}yvG$Acrc8V~tqL*iSg1cOu`GQ06v@+sXjjN?Ak{`enRWwll5ROz`$$_# zAkJnt;4eB$SuDGOl@iM;%fIm$*c#TdD_}P;6`z>gG|cf!9% zS!&QV@ZUsM*zw;jf%Yj2|2{{iIC%xAB32{|?Fj%CqEu znaaOcQ2yh>=RYBke;E9?MZ%wm|6Xb8D3ttE5dV#01-9HS0RO!L>4ZB!k?Um1h9|t-{SB2JqhuC;nR!wXGjQ_v^z8p(WnnM#knWjBy{Vk1((-LP9=s~50gYWMlG^eg3HgSX z>H*6o+-P)Kj*f8u4}4kvc`7k-o{E+;0c&gj0xslz{jjd)nJQvGCdZ+`BiDJKr-B3H za3YIwpb8v8lsZvmE<2FW6IHDBynJpRsKU>KPgL0}C#pP%vX+AgAJ5Ght11n|XxS&^ z=uHW2>%(Kmvy4b8=~|uPgKdrQyC2{%$X{5xQ|`yRiG*SnJUwv4`g@wPvlrZ zOn4fmF~*rHyO$ZAk-)WKR%splau?g49TR?7#BZg4240jwe-N~J8RByh9pH?G3g7uZ zkU|46F>OCI^a7ZmKntCfile{Sh{;=}vmLokzr4cilI zWh^tlQ^M_=@i(gw+h+VRs?OM)uuoeZg{ z2}`A-w5zG(2&yQ-hi?X)#$@PP)bGVZh);czIfhp6EzxH6*11ipw{3!|-oc<=yss*$ ziw!Q!o>5Ym1xutbcU)DfFoF=T9#WW681dzKV4cE<)Bnb{H13uBF2}37mY!U8Dq!Hex6ie7lS*eLP0AUd`cWXFK}fKnieNr)PHR1goZ#QSo1 zXh(?`Ln2JS(%X?<4C`St0zr<&!wR6pU&SY8)s~48pQO?y%_iQ4^&SpybDu4}aK*d{ z@6BSChZ3(Qah04{DDh+ewwLj&DDfghHOmHC$QBbN{tjLRp~TlPZeTq8Q;t`uA4J1> zqr^M>x6xTR&WaL$>wSBP11RyCD%>2*ER^^-30H%eLWvJmAvTnF4}=ifxa3`f1U|eY z58ST_U2hur@WGF$vF{JUhxfs%iu1dFzbAubIr#9)P$|C?KK!=V|7d*p2=QQ8qAyv* zmQg-Fya`vi*7+)ttlhKY!)YF>%o~rOwP9S{t1g^Z;3;2Sh%>{}Jax%c7l91fP^#yD zzRE0OHBrGE78(^?F?@Ja%EQINhwpoVI4#SCdwJ)pT)RLTV{7!P<_wa(tzHF1I46Ag zKdcInv;xQR{ITb&?0;U0A1CE0A0B@lx-9g*A_B$)dIqFIk1B&LhZ)~k?mV~2Snk}y z{+nNYnk!2lJf`vS^|$fpg)*(eC#<}V-`;-_C?!w8QMe-2p$BsCZz{lFhZzIc$eUin?|;ikXwOTjTUkaEipy6gV9 zoZa7e8kiQ04_`Q)lOoIC_{>-2QMhX0!@I(?;5_i*hoDcl`5TX>fdU;R{ZrsH0e|Dw z+_jaz@klruk1(8#b1y1>v%}XDPJDlkRL;hgm+_9yh$HYaeuiGghtSvYIv{DQXiq-D ztrgF4XTdKWodw0WD{te#j@P)Hv69yT96r7Z+$C$i+ZZ!z{AE8Pcx_N@Y>XbmkZ7oYflz|S9s7r$ww zg%`i5{>H;N8_&xPfW<$O`-=}2@BAv8e9fP_q1{|;u=v*e09af(8y_u#7wpGU%b^>4 zKmCwX)$Q+un`4%<@wRv>)7kjL{(5*F>M>KxA(+^IHD8&|#&fZ;QspRql8;8qZ;bpl zkl$GOjg#Nj^4kug1~UfJzc^j)!oT=Yn}2acBicnkyvO}dBLc*hGC6t>V8Jy+eoxPX z)UJd4x=!btl6)GQ^D*hC_u?6D;bUA!DcOKYD>*-X1b6(R#%bIDaUPR=ItF*ZxA&{! z@SJh@Cga4OH4|QjejL%_|p2#*eot5&oQJ*-s09P78ld3x7@ve@+X3P78ldgFi*!&oA^heuDnS zJDhf$+->ilkreVmq>{o4`5Q<4D(k}e8(-H>_FM5jX%&Cg@&{h@(~|b`N9WHG{+z-O z{f#H0S_1yYjm9v}&)Fkw|B)C(qIQ+MIQ{1=4_SB8)v(B;ZD66#qb3@S~+ zTaX`BC)1k<7v8)|abfFRknn#7H~bM~s$AUgbBGjJ3EHu?6Y-`@e5!>T?j^A-e5yn8 zJSW_6T^j{u;)ahrUxBi$L8S0yS%f!bmc_yidnJ}tmI;z)pez-@4LfZVl!+T|D(RMk zn=SdTvdZ!e-jrDu3pf0+#Ink=5RZXPy9)UmpJ<~X$l1P7egXc*n+h%Em48l|<;RKQ?wTO@;RT6-PrOk}daC5w2jho70!c&Ed1fK`&oDkv z`TtDBgDwB<5oPE9Wjo2gRZ#v3;q&hh$iFmxILad7&%+Pj^_;ne<;(_aSg!MpHEbeo zp`~?smvO(qICUFNe75T|QLMn0%=zPompzMg!r_Ns!wYPa+VI2wkdV^&;qfZmP(uXp z!viEd>gDdHT$JfQdNyMk_~B_Hx)sF_pP408zKO{tj;>PViaQ+6G8uRq+Mhw0+sUo3 zcDZaCf*&qWAKUQ53nauUqJqOgzfttgpsa9E%r&5SOnr zjOuUx?G)b@d>@Hb6jdyv>)}iREo%g*w_wBlxi%$0_J_ND$-m)Xgj30$f&zbJNr5A4 zU$x9D0UPH2ewlb-9!K(f=S7aN#g$;g`6&4Mhvv#$SGJ!i7trh4%|uxCcsF4qA8u74=p{mX8)bk&XD)-he_2 ze~$joLJQ9)w=5X$ay+RfUWtMq0Og0l3crE4XT=IXW?+SfA-@V@g?k3D!tc#AIv<4< z?hqidBZb+H6)q6bTj`&K7h$On0=Yhe*j%#)xMCrN-$N&kQHb)Vr+)xlEs?@4#eeiL zLzGYIV?M=gsV(!fdXOHCbk#DMI4ix)ow7!a$dxtf%RliF1U(fG(huz5O1bToGv)PK zR=jr>ci{AW9&^up&$E0P3L-ta%iJ^nsy2s|x<@Wk>(*G%aZVnjd(A=6O6?+3e|DhDC_Z5bY3#z8SCrdTm|CChI&&NwulOTluy=_y85;|7V#lr_b*gqUX zw%$&&YJZH8s;yg7Rc#7rw|S7R6kL>#J4sQV_DNA%l`e|lgZ*3WMJa_2p7$i!W_ghQ zsKxK)L3&cZa3ybq=Af{_KWkF*hBZ{lyMU|!HrVO0Z=biv)5XRH`ye#7Rbt1pV1oxB zYCzFY8rOOU-kX5W3SfgTm*{MGHf->jzY96+SSpGQUV~3evi=-wuu~Du<&FtK;6f)H z1mS8MvFIiEi3vgAC;AywaXCD+V}rkv=pj5@iokQk22aN)77xV@l;_hEIqU)=u>SEb z+slr6fJ(O_#r&%+y>P{>kN0LV%fkj2&tP0tMhhFf8G(T^o)sJXHlmtk11%IS6C0e1 zS3%g|1&nJgu>Kqm(!Wf%({SF{;MgaO&H}5*T#iKhin|f%78vUm(5TH9oSWrA+O5LP zVa&n?_mOawqQVAuQ6VynDG$;K2qCC#?o@*WKIF=S=|3lQzumwGr=+Nn?+?ZY|8trQ zmF3`rzelltCw%Z#l*noOceD^ANH zX-gl3`a>V}rL1*YW?OS?6CeE31aqxZO(cBASj1TP;79pn z;e&_q$-)QUkEe@`4}NEo%oNE`b8?=~1{=nM^i)K(%@p~GIXUMi`h$31QG9S)iOVXo z;e%rpE$k`E!w3H~F^Cp^V&a3h<5iFc>C*@}cYN@+F>Dy&@xhNVcS}-(@xc$McZReE z=3-ilgbgE}94@KBXK z>w`)B?)c!tD!*p3?}rcmI+KO5oKSIFJkA_Qhe?M}0eo;fR8TNJc{iPi>-$h5wv2dLd@Q-@l{+i#v!@}P_h3pM~%~`xP{WTYI%f{O`1JhUS zDS96c_-kGyn*ysH1*QBohr!>r8yvvjc98pvkH2007@Jhh#n(bEFE;)*ZB_t(J3xAY zbgA4>{O!F6_4me4n-YI(TwESNt@r;r#G#EWg2Ulo9dMNln6~fnh^#|!tbC@%m{!WU zF4N4JNlEw=Kc#WFr}?T9^YlH24YA#(OWtHS1BXA_ZP7!tjpC1XTLavQKiX|^c$2=Z z9exLGb08G{Xg7+(;%#ZTgFjm1i($AEf4tkq;*Jh=W5i)G{PC91AMc)Ef4L6d&AUJi znEYil(yr46ABjKSHo(`)=YWE2WxqsyJo87Xf9mcZ$s)Lr!k!@bziH;UX(}p*zo~JAiwRImgk)|v0feqF8 zLcN;?Q628A)NLZdJBsfDz5Tt2C8wsr}68e-T zVZ{oQA@fcOLkf;7h8!IO5>8?2qqy)69&KEBSdq|Pkx;ljm<$9%VHr-dq^y+EO$ztfwEMt^$+7fVZ(P~)8q`s+qYYoGkyKzXbzJ7@c|U)%VjP7NHs zPHB#!PW=%CxKgJy{^acyl}%skE#w6uZ}N(NxSc0AayvV4n;W>D5xAXV-g>g~af{6M z@=}zgu>L2)JR7WCiBS7TXS`NbBdh05QBM_qzFXqk%#HULWjq_*6FG0^xYZb^xWCn>FJ7V z&j!w-I}_E%ecp5wr3e?P(vBfw^7&W3#Efl^e%o+l?Twmny*WM8-8EdEBaW<3x;>E8 zx6ev_0wQqS^@d5Lr;*61hbfFF_4FYWM$4a$;ElT}d2DE80I;!=$F=yzE{}zL{*OGe z!tn3B>ber;+eMAZ1C?${Id?SwszgF^C?+}Hov^+*GV%-$!w@`eQJT~0L zs5W`LwQi6+z6~Jeg~;Qj^OQWk`w+7BMtyf(S@QTDB9tYMg)gZ@h9M5+@$-RY%A?oF zz>>#AW^C&pZ{hQQ!wJ5o#LzH(Yu{dZSwdpg6%|wApPT-DHkS>kIz-2bk$H~?Tt!r zR+c=bBSKm7c#Dz9R`iRM#|{scDUZK2RT)_FxDemi^Dp7J0lGi&;}1 z2Nf#;{F{=;Pxs1W;T|QAC-zauO3UMcw^=tudOeD-lE+`RFse-+uOvb+Adkg>$6iSP zSo~i~9({w5wKwW>vC8EBR_J*BIUO_)gz4ZtjFj7 z$m4~`AEQI0AYPMB zLA2?|1NL&p{BZ{ivenLoF@Ma(r*?Uq#^?XYiP_@;HBo zJifkN$>Zjolr@_?u6~`BQl$UJ*`kui{p%UW)-gt08YGW5LSuO$^0!wH_Lh)5%*=22rSpF?KNG!YH zNQMg$%l6MGvD}584Px1-VOe6?s888qdEy@`k=aOuV)_5E_a@*?RNwzUg%+w5Q&#z~ zXhpUPDkvaOP!L)tG-Z*k2q?1Dg;i(~Wf5(Q#1KUV1aUz`L_q}w1S{H7Xn}$vO96|5 zfRI{H1T2LD{lCvSlVm38P;~r!KhN{~$LEpe&fK}@F0VOr?wxmTF7-2fUZ>R&10Ej7 zkzoyw36u`_M>9Nr8Ol7KqnV+~V?&A%ovm*kB0Q$%a&pFA;c+boh5kIg{~nD^wkvnP zhsU%XK0N+Nf;w;fSa-fT9+%G+l;R$OX-CMc+D1IiLIxu@nV=RDiaf;Qs6K`~Hd76F zcsvZ3s^u}4(g7aL@Ytjh^EjNQs49O!aqZY_eT3 zgs=F=W;s4QcB`P{(Se~e;~(q3EIe-L57Um2OSGEgC~ZD-2^oxd%ymj3laPmaJlM;S z$Azi^505>`u*N^eP&&Y)86MxLz&!4unW4&KFhz*Y)+G-Kk0XBIWWrA2aUREp{yZkX zMPrlgT1)r}j|;c>@c30Z9goY`n&Z*o5R`833)7B}QPquj9EA)5Sdr2J9?kIB{{r(kho-2if7~Pi z5v2m90*pGuke;&KMMq`uhnn?Hxj|0E);qlo*9gjIX&G8ufyzqDmo(()U zzs`uq=CQ^+R#XdFhC+zPuxLXbb7;9r>mR3+VGWNHDIMU^43F98naALG^rXsTtM3`W zw%vutxtlmSFH?BT+Dwr7&u6}Pg~le^b(~^H;V~zTvTFR}Z_u1-!pNvI=6Fn-COi&S zVA>J#Rz)Ko-$Di>|2R=Cq&D&pk5le9A;Y+nV9;bAGM>9O$bB=jTq$#S( z;}QuNm&FQ?Asd;;iW$OV8;%YAdA!w0W0URbNB9blQR{tpeCSUdj{{Ge-Cd7mMV%W1hv>mP@ZVU2(6N9h2MW_bMY4D)!5W`-({ zH7G)Kwytdz9+ST1!Wjs)V>=GS#qJ0AbI6PIdv%%XIFM>9O$_y_aY zhi0lOk0}x`&WsTrfBl+yJf0>z*5aU0!{hZcX;89V9f@0Uj15-%@YwmJj>p9(&GA_6 zY2k5oCzy7GoTb$y_$~j5%voeG;&I1BDP%125Rbdtm&Kz)wd3Kj6WQ1J$2OD>@Mwm| z7f&&dn`maJ@_0@H#*nVUW8bfs$A0UD#~BmX1|ESbm(Z!!qqR zb68GJ6r$?i3)9d)UNXXR5Hc8H*+wm7Kinf>*`clB^SYQ;t+dbUmAFRB<5Efocr?S~ z`F!TF6=tAr9*0Z7nABN#-25f;n6*}TEL=yB`SW=61sWUZ9|>RKvG`LT9_yUY@i_U0 z^2qwnzpqg6lVxcHl3LmiE~0(9W30T52KdPzdo@?`}gL^JuwB>mO&6VGWNn zC>`L@43GPcF^@Gc19kJ*bpr#~w}bHb!RMS@x=MJ={emF#=P`3CjZLfaRo9M`NtV*Ax)8oc%0S3kjGfnfX6?U zBf}aV3*lP>JRUZ~;{!*T#}t~Ws{V1c1dN;836C{bGLN-B6CPtYDAden+E1oI$##t< zZUw{#KlB0dsY5yt8{BCQ#QUEV5Rbu^0mNI+7=d_eD`OBZKOu#@i$Vy*3U?5QSDRm_ z(Q=j6KaL~&8XglU9q^B4c>MAZ^LUPChANK@DMEC%ZhepNnEDAPXRHt&*K$y(;ql{1 zG$`4wpFZ>OxN(UOkG~w$@p%93=6L-4F+r(MOPF?qy#9v~kFO(xkz*XK7Ggmj;&DQ= zvUqH!+VS|u!|9up;COubWh-1`CZn7c%HtjMvU z=6QW_91RNekHoEjSnX{e5L@omfjBF&;$*BM>({B85DH zJOpCqtz|v0C#!ZmJhmYF8vods(g7aL@c48t^SGL3imHD+CIMr}?ZRX9`^;m^V&QQj z$AtSPPY_eVR2w%Z+@|!+bzPU?>r6blHmLmrXQB|72v?Ij!s}YtqWH7?Av0BI$ z_(j69`7MV2v4EDVz`cjZMYu-G<2*_Scr?S~iCxTNLrg^7JoZ`604CigJg!;9$+hna zkH_C5$ozTSJ(9)-`bWZ7cr18>vTD|QuHUKSap7olJmx(lJWg#0)6hR2G2-!SWH91! zo?1v-4hD9{cZS9_P?ZRrQaXBw+ltiSXFy9pR4#v7%bY zG895QhSf9VF^5*IwEl5A8P@PPk z)>{ObKaXD|(AYr#NU@{vnDZKC)%eHXw&{4BywV(xX?=yq!8gM+^p8Io@%R=p82QJE zY9Y0ehj^UwA449aR0AIWcpAP`%j0oM2Y58Y<2~EiKPJ)?RpoJs1dN*-2#+BPn8%9q zg~v7=6oNG?$H|Fvg~z2F6#Db{`lB>9*#B|9hsWhkA0D@D*72CO(;SZrdkRV&>%cVjf81}x z;}m2t@{j%0LW=+9$?M`&!Y|0Cfm{;{sZhsXArIv(@BGsk1)?!x0IH^Mabf22hv zxG(?p@RP`3#A8;R6!JLo5Rcod8uI8+4S0C$M20o~u??jIJeuM0MR{ItqM4z}<2eZ! zYt|JW`@YIN_M0s{&fuWXpT`M52GF%#X z?C_ltj~&8|d90-tvJQn1kM*uM@D(0or}^;sR8&hYSAAHUG?xG>WkkIU~Bl;T2R z8v8$H8Syv^8I1g6f?7x@@(_=s${X_7Of}%~kB8w)wLIohI>4hD9-FLZ9*5HuRpoJx z1dMAc3y*(2&pZ}R7akjPQ0UKN^*9hI4iR1J7|>`8_-{xOEq0Upip_{QhV z;~ttBsyqf$gy?MD=sMwX#B-cXm?k{V|#c*=*z_de3` zxUt9_kKvZNy`5WH93KcD0c2;TMU=yNk-=v4EDVz`cjZMYvSU<2*_S zcr?S~33*;O#0=EUW1kloz@#AIam~}5Tsu*CJU)q7)A0D?{la4v;#PP(GlueL7J90F zsN?ZSp*bFpv=kmwikZjE^+r5qB7+f+Z>xpehdjjN`+t?i<3QDphsSWTuknu+DIMU^ z43GVnvwxgJQ&iPIZjylU*DC|j+1ai}Nz7y8MB%X?$A%gnyLA#CrxLfq!}k5Q@}kAFN3m#XFQ zIHdzTn&I)D_nF5;nyIS(aft+s-(L_OL&hdJp|-vF7)NZ{@vgpnoKM z1U54tO@W$*|9junaqAjOFo2DP$%JAuLaxA}mW??^#aE zRa*ZzgbZu^V?Rmqi+L}%;!&I^x8qd7Tol<>HeV?%!)U+2AS zpnn|e;c@wJA0D^8rQ>mVwF;)(MKA=JEIw!ecFt4Z)+&?+sVr zy=pQ4gvU>QXC6<|q7vL!l;7{Wo+il+pnn&G2}BKJ(ZL6Hzyh!zEyR-%z=33W&v?dK7+WMR+CC~jJuJ+2*gj+LV6$% zf%wHy0`Y3^XGW@aJpM6)>}&jEElLM?G{fU#bD75_G*eam;~ohZOHK-pt%os>ZH5Yu z2^n<(g~#9%%wv}ijCkyV3`RWGR}1+T z4v~1g^_Q}E%%fE+t$&=2OSL@CpmcyoGd%8F$UN4-4AjkI*O3h1*x!W54~B4Z=_A5p z?xVz-|9mEs_O5}OETo`Ou*~aESvAW(7hlm~xxBeKEOY7zmZOg`mMaz;VYvbsjIf-c z7Sa@X2+LVN8$PdNRRbRXSdI*9{9_?pY=FnZW_WyH0rQwbQ&iPIu9krD&hf#hjn{U0f46c9H)NO?4l@t2o$ATG9<1M%~k!cd<>4C3o=8-e&b zG8j3=(P|+U^4(}Wm-3LSk|pBSZ+ATSYD#lB)G3A zzxAF=$Y6wJZZ#=n67mq12XhVm<3iPdhsT~|SmPgKC>`L@43BTjWFGg>%uwYqm?A`H z>-L9*#}WNFnb22woX0_-Kaa`0mksuRBz%R(g>gPSewC`@F=v!H9v$I=((ON@^4R}z zz7db3kim$@7_|@=+#~U5+hfRMWz~R($8=ny<#8>g13a4HvC_-TV^^A~syrr2!1(b` z!sFiF%wz6@!ed1a3jKLJ%X`^myBZU|!eixFA0BT@*7Nw9IUb9v2#;^?V;&FEqEe~; z@gOo7@wiqkBp!K)$FF}du&3oBk|3|`Ccr1vfteR=f_0x1b=KNre$GlMCaq2GS@$1<} zJbsM~Mm)|_3u%iy#N%7r4S5`>8u0KKPKGu9u_C1dJeuLL|1{=t4$V|m|F}s4#*2G} z$3`~hv2m>M*pGuke;&K=UN+eOk?<8B2X^t{@!82b9t*xV$75_o;qeq)8sf+1FB|dL ze5Wyw71ctPp%CIRY?~pEIka4*^^eoZu!hHpln(G{hR5t=<}vsuFORMIFn~|)79QtX zIXO=e9<#a;Wd1yU!F$&SA3XdTV zFpm{ugvT}<6#DacEAM3k{UhNkJVxE?!{b8}bv!oPZjQ%hLBit>xHS03FuM_tVL8S; z9xo?_%tRr?5_YV>B~Vd8|PZqO*0k?}W#s zuAH3MMR;7wK_Phb*-z?q-pdC1#~2Tf%cFdF+%`eSW9&9_JTAPlqeQVEa&_FoJWiQm z#N!lXF!GQ6)Iy5j7m3F~8x47^s~Yh5$DO!F%VQR$13a4H@y0~vu@6mARUT6$VEiga zc>J|9^LV_I@K}q3LVq4B@Lo31KN7y;AM3XB;j#TwIvz)EF~?)&OTyzPo0-Rxw3-C> z73H@cei9jsc+4u6LLNsR;&J=8hCDh{10EhbkztL0Y(wb)k7js$@fqfE6U_`&9?wa@ zc-vOtvG0A%W50Wa#~BYqUHrrF4KtGd!M`=XER0K;1kJmw@rj zEa7o;2j(#=N_Z^nNRavSc$D|D!TyhgukcuWw-1kXM(KE5zR4Vq1%<++Go5+dPOC|! z`p50aV8r86wGah)h{qLQ8S*$%HQ@1&5oB27A8S!Mz@r%+9~;O1aS2UPRsXn00>$s zV~1~yd90-tvJQn1kM-6W@|Z`H->qvff=Zq$FBD?fX`+K zk00E_$)#ETp2Zb8FS$p2Z2ETtz+zN;fHunMXso^>h7Z;lY@%}#q#AEPfaE!M; zZ3N=2>y1IY{JRwLE(#$KD||s9UhVq|X|!CW^^fDozJ|vHN(cO-86LkJ&ODx@nW4&K zLy8cctsnYYcuc*ElQUWhk83$7)bRN6Wf~OdA6t2N+!*P@<1dfuc-(lw9FL!$6qNd` zg=zf$b)pfEuOowzV;rp(VnH6_al*>7cx+6oJ?pgJkH~wP{ZR(MKmbb|B<*A9v3(C;W1;7j>qza=6HPVgrL-F z6-;CQ$FW8{PCy1D{}`th@(27P@z{HLSv*!&?RflSIxf}nxR%lZ9?kGr=~4ENT`>c7 z^Oz_Bi8JhpsD$76$Y=6EdstMItw zQ<%p7kF<;gzZK=T5PlRHjCkB|ObU4fd5Fi%Wo7X=S+(Qgu?5-J_{YYS4)AD($EP1* z9#_*$QT30lzEJ4B0Nsy*iggclV@pAu>T`*D?Gk%vk#B&_1E!u{~2>U zjz1zO)mQ=3*#GfKBOZGrgAtFntA%_IzeqgZy|gSI3uw7Y`@CL+OSL@CqjZ2rGd!M% zXC513BI@R`PYVWc&S%2onns*l+faBs-k4a!dXLY3QoB#n*g*eC_zIQ<^(d=mz32MA zIxGjCHiu>2A;EI$M=*`wzkbXJ%de5a2+MhDA#IU|uzc%%!m`x;qz0-6JpM793~T&j zMM?*FG{a;6zRcqsnyIS(agzj$!Ji0^jc#Qg8#fRh`*CdO&tsS0X>6c>Bz%R(fpvU% zeD*;dk2#iLWbM07aVD))>`6PV_KH?#Ot{q^)52=+j=%kCTeD+2QS%hX;AKj7^fLaO znwJ<(I*QnzgvV3xY~Zo^2qPYwe`w5OMYWJ+D1>+nd(V)^99p%~`p4;HSi|E)N(XqP zLBfBEJ$XO=WGA2IBz-#P`BbESQnHiFk!Qnyihb}hSN229V=yM7ZXR1TV*nFB79QtD zaB|+w!eiDg1ergNUlh>TK>tXwqwtt>BW2b2$KQJBc&vMuIUdt~6dngJfoc5y^-v=o z-$Di>|2R=Cq&D&pk5k?;A;Y+nV9;bAGN5Km{^AC8urx){>NHbN{KQ57g z@z{sLW5`X+W5xQyV;hbQ!K2UqX1C_k*g*eC_zI6vHGOz|C{D-Yazh@ffz)n8)M$q>z~?gm^r;(2&RFv}&dGk3-0?#y|F>bbv=QJboC*JRYN&p~_Y{cUfWH9oN{nSE=;1`L@$2V$JbbdAIQR$y+du z-@m3sCAhCBzh$43$Y8`{)-EaJapWN$x6d==(V-gf@YsnAYy4vyN(Xo}!{duq=5Z6v z3{@V_Nx;}@k?`2J7W3Gzrtmm}gF?-E&$GYKpk%u~A#Mf4*Q)q{xGGu);t{Jk5MS6S z3^jZcrX3-};*CHYh73j^c2o;F1cyida$SHQ}+a2C=5$@wcC8P_X|aaVtEQuk6F)EnRdxmRHR2 zcxH$2IOh$Rc7*JvWu#Ia<8EXy;_(x;kRHfGJbv+NSv-zZ?RflS1lia4$6AyQ@Mwm| z$6}esB{W4<{o@`97;7vP9$Qys9@~Tqj|m(UYIuC;APoxkeWk25G8;L!|^ z`#Lj^H82Bp^Vs!24B#vCg~tzW;N;RO!eg$5So2@+$vi+~1N|cfje=!f2xZl*_gw6# z!!oL?IV^Lw2$rK?gK7N!bx$KKS0IBCmNV2snj#NjIct_-{1~em@c74aWLV=L3*lk| zJRUZ~;{*3Hk0~@oRsG{?2^dS}3Xe6zn8#X`g~u3<4gGn%dmoJr_J1UNg~!+mK0H1d zrQ>nn{pNU#$`T%bf@cGd^|~AJSZ}s5kA<71kohQtc)VmcB76mtC00b2Kwld2C1#qOo_?hRCru_JwfKr$MyPUd)Ao+&8BIbj;Ve;sSY<1Az_@{b8>A)&}aJdS$NkjG}K0grz?3}33{ zF_+Q-9?kIB zcz8_5HCi6mQaZq+86GROVjjEFOjYGEQ3A$q9m3<@Am%Z*obXtYgF=5E&u*u&!Tyhg zukcv;f)9_kwbb#L*WMhD#c9Ih+o>?^2sucLN~QY8gUDdS<657GewohV-hglX%`-&OF)&gb$QJlT;<5QuLmmrg z)e69ScwB^Qv^>tEbbv=QJf4u}bwkWR-8}ZG#18S@8N%b5OU&ciV&U=lWrEC~$KBa9 zHqbv3zQSX{Ssxy+Z?5C9?mgys%v&owPMr?Z&_CX5#N*e z@wRjtlx){v;#PRP|D+F(k2cit_(Dr_Jl^%0@VEyq4LnxA$B4)3&lvM~>QgD?6%;}| zo*iEnkIQMfO6wnokbRAR>__PUk7juMP@dPvXlAJLSc4)&XX{6%2#-l;I63i8;c+Pk zg&H2;+(3hp?b>n9!{g`qK0N+#i;l;|cbemI@d`ny>qMA#ge12z;xQQ+jQrzZwU83{ zMdESTxUzVxtJ?AS$DO!T%VQR$13a4H@y1)(KlY(1s>)-E1dIos5gvd2gLypuyYN_x zV?)eme7?_BA&tfc`bWZ7++^JoK3KNDS%+oX?dGto{IOv9$pn~&{*hLb;J%{#*27OC zgAtZlA4wsPBM)J@eKcWN>i4-EssRs=oyf4pKenNCfJZYtzIZe9xQS+lDv#$RV6;9h zJoY`sJoY;&JkH?Q(4WT%>u7AS|0CfmJUWi~@c3~(9ghy1IUXl}C@9r`3Z}9DL2$=z!*7R zcx>%r9^0G{9uqh=^k0AM{RNE;_J1UNg~ySHe0Y56MjemEFPY~NbA zj~zxC^H@tQWE~129_u9-@|Z`fR$Bi!n+$7soI&XTk7jt>cO&yy0~1jvRc;js|DHNfLxGdwmSFFVGWN7ln(euGdzA-oq0S*Geecfh7=(> zTR-!p@R)j-lQRwpk83$7)U5Y>yqpFF`#&D>fVgp=4~V~5bRZ5*H3#D7ZwfK%DR}fq1p|GtE>x9{+e4zEsO&E~NuJn&GiYIP*B1rl=~9 zb0lEQe@uA%>nG;1@SyP6n1ezMk99txLBaly#H~2SyY~9<*sF?;#}|^#@z`L#@VMzw zn8yB(5k@>#7;4PpPj5&e&!G_F@#w&^cw9)!Ra*bplk98!V+^GOJeuM0jatm(9-0}d zJO)#Q=xjY;gzz{bkCO>M3Xk(RDAe%y(oz}}?EgsI3Xh9-`S6%=y^hDl&zs}%wYh>) zt4ClO`#;t<;&B2p82QIIwU9sH7m3H-1IpsDvTDcUAJcKEmdCY}4)AD($4X($V^_>T z-8?2rz<6M&@VIwB^O(C&c&x}lq5pc%+4pH|pnoKM1e=>){8H!3fK>Y9aB+Ls)*@&oF+RtQzp}*n$je{9|KE2Y58Y^v3Vau9t&u>O8dNCgln`s&ZBgIM>9O0sK`7v z#0=EUW1pWH!1aTL$2Ge-xptTEczh2*=0CsQ{SJ){^pAwE@K~^ovTD|QuCJiuv2L+B z9`l^SUWPmlR1J9iV>lVs_{WNr4)AD($Nm+V z$2l}pRsG{82^b>>3XhF`U>+Oq6dwC=Z0OHpm$ztau>T|BD?AR|;=|*!<#aqoT`29O6wn|lVJ^y6Db|w(F~8-*D;U5 zn25T0Y;}METo5lj&i#&)^L7Z2S>F?6{ycuMfW`*<6FpJ)YO-L4p2}xD^oZ z&-4ND(PABli|-0S)_=Y+?p-qk#69q30I~WFMj%%2X$<12R4L>Y6ha`LwGxO|TYp?m zt5#b7IE3tL{9`{#2Y58YwKI;qmiyA0B@w(($;lg*hGLe`-W;;~*w zLmu;Jxk~FFXOm$Kk25G8;L!|^`+jF0YhWVk=CNxw1Gq9qc>LgNPA*Lo9&#7Q(j%csy)|#|Qpm9#d$hs`|&(5->(|6&`DT#XQzpFFeL@ zQ0UL&-KjJ-&_5Es!ei_zA0D5~*YQ~SU2{A}B?^x}!KH!6dY6oNtaq<5kA)MYkohQt zc)WCvA&+UaYNhp$7=idYG8j3=(P|+U zwIv&UGH^*axvBKk~wlEF-<9Q<`C@D{xOEq0Upip_{J&baSzQ5RUU&WLUgts*Fkt3@i`|G zRtb;uI4IQc_|jAw6zCs`Tj6o>M?O4e{G#LWwOn&NzBWowYSjj&p?^GQ#Nz~HF!GOa zY9W8XFA|TvTa?CQ|IYn7_wC%LxAOc+`td}?K6gk-Nr}~d9(Idq`HK16sjS0M`tN2- z|8z@a^h*5LVmghB;<#C{Z%}Z?<`^4ljr=JwF3x@_&i;orqojhhUAE=L*`eiN{}1-h zsH@GMv=0BTjCBTIQS8y_ajB=KHAnpv`_DG}Z>}9^kvZbv|2t3%d*;SSw%|8mgi2zIV#0D`iI7~+nE??b&fBxMP@1X z(@KV`g0p8(@{tNk@|D^XYVjRuvu7!(yOL}LPjIqesN#IKM2XCHpG=so47)+Gd={Le z4C@~1{t)i|P+LAEXGJK<*}+M>QC8y3%K0BP&o9sQ$yuRF$;PBV;vzT3*>_tr3MyDL zj;IYoyGm?9KPVX&>RX4^2vr=dc3bUFDON{~Q2d{3wfE|29Tpa2C_%?$O9so$)2Yv_jy^?2R!11RW~v=p;)@^@=!^e4)JMh2?0ClAIo@ z*kjt}zk>uynqX0!!5N+!c5Z94Z|H;y2)46P_97}fIyKKSGYBQw>~FWl>9}EMyE!}j zMWQ5d;z;Fo zJ0`WTIeNCWMqad}oJD!o$e*nlS1O=NWXRdM#5QaT@=~R2j;1z8^hzuGBl$v*<>mRv zj#G3u;l7J*nb&fwh6k&?q?+5hh0*dwJMs@RS%SEMzKhV{FAOat(1Uq{Ec%A-+P*iEZL?c zUkrNgTWd*XT)W*id&&5eg61u^wk*__uh?6C&y|UFblp+TTA@|CQj%e7_rv((^y90O zTB2JVJoq+8X+xl7r;bC-xu%Y=hKhrJjQb7_QC>WzSpMo>V zbzd(2YFK*=Ts;ipv*b_s1NjsFK>h?Dk~hMiWU)WlO8(@4h970vU6koGGQpo@B>kb_ zCP?|QJnoxF+=S=JWAkmoMfx8q^> z={7*@aeSa=SRK(rtWnXATaq6ouaQm1*mf2(>8mKEiw;X zV|Da8jXt9?tQEp`(St~_b27Q8f@RheYJclVD_>E&##m~MQ{r{r`(Ub9%+XS>0v+M4j|_qwo{4Z@|BXVhfd=Okf*aRww00`CAm20xlgSn zo8sDCvdlUIgKDRvE0gLMG*KH)khHE6j!Meilv#P3T~#(#ubScwL5T+ zy6%(XE9p2~dz9-AJ`ggR7UvL+L`CmRYOg%MiNckEod9ryU8o-}sXEA~n8gY(BB z_h2yCsT`f}-BYm_D~`#W1C5>>@9H7NDao5c2M*5fjFcLGQ2x&SdMn8%Bdqo-h(|}# zau~;>u5ZVoS6mT%DJmSYb0O+UG&M8k#I1LfO--BpN;>gTO!$?;txIJ@P{6M_|pP^ z;Lj**pk~B5Mm6kdbqs14Z;LEQ9EK>TDb85!hscZDFbWy2j+WF=a%ZUW`ADuk!kMjBzjU&_9m8i}DYZ;M2u&;FW#|a#n?mjZp70pLBkhi0QAXA#yO^&;p z_$7{W6YrwqD0Chds*k_;{?PE&79-Hrp1OscvE8|n|IAItAFKT@xq)t@WjwxtcKS@? zS{Ax?REUJB)OCEpCZBlO>X_0n!rE*~!`g}c=nl>(uHcOcly;ex7h7V8U9U7D&JY1i zosa)#Tb;p&6npd{#GVan6RZ(RFXAMFaJ$1g4%%*F5BM_B+cOU}z z>5d?ftd42nxUWN9`LE+1cg&>eg3@dzd&-P_#M0$0sbkR_{7j%*_0RHX8^X$z1vGhZ zD76(wPt=9t+)ztu4^-XeXh)O$q7npy_RUg>as*sz$=u@1sKj(=$?eiQWzLO_o2PFa(S z+FD+?9^qQct+N$JJ&R(mcZ1>>WWj@V&<&U^4zj>y4!R+nKGmjA=$S#52>KL3pPJIA zru3-=eQH6U+R~@CigS>q6U5P-lyzJUNPXGwV)2?WNp5;2#cbcH=l4n5no zr2Za^5xV1q>q3P+=-N#B_-WN<eXb)7>2`MCu$I&- z74Ym1p_A(_p(gn6KI<)~tMoCqCMfj&`D>J^APm zK01z$4xyvtSb(0K8JzSkIY0D!*p6_j!1+Ty@hDwhCA*_7N}kegx!Z?Dj!jC$BL6n-2JqMr0Q%-RecQxuf+ zAn|)gkc#qoS7x0(C1)++6)a7wxGbY!aEqn?E=&KsvzCqfgDibAEqxDI`t3h!iU0Ae zr7CV%FV1(Oe)(;v_U;Z(4M*x*@{F!4w@@!-!MuxZrw#k>K~-8i8(p79lAy;)w|nW0G)7 z9Kbbq1#KS)H1wEx*3hmM_EYAW+X(%q{=$9clT#n=pf{quxQTy>-?3B=PCWM#@qd zVFmgWbF;QM7MFS~$(BC@4e}hOdk%*!she;#zdk%QPUYVue+#*ZLBQ3qftv365A1o% zO1uvf=uRlt*6wg(L&X{ID(vJ6LZI!KROI>{e9>A$yMsx;;&L)yfGGkV#UIcmuJ3TZ zFf{@ngOchLa-0&B)EI@UHA-re{|fF_T-t)NzsuRFVL^#M;$S!(do-9cmXKPt6@PEZG30xQ%(m*uZ?t)~x{;AlSG8I>q3`+Sjz3Hhf~oh2o?l<4Hr5H>l=Ib$y3iB zz0+oQ7V$8p)~3!@qe}a3#m>Qj)qXhv&-?^9>>+es`vM@kcAR5G1m3D74pDiJBF6Od zSYWoN#&ZdOxO!Ek;ER`96z2vi&^6}1W-ya&bF85zp+pKVY>rxZj}>Z*{6WPcvAW`@ zq|jT4$c;+7A1tYRag$n;OM)z^nFvl@O;HL@JYR$#$4V|4RGd9Ap}1Jd^1@^~h=?rX z%6;54X&E zlg=k!v83_Lz|!MqB{}oFf)|Bdon3-DCm#;trT!W;&v8z|yyZ|@7_P81tyvpIxYvg* z;e!^OwuCoaVCnOtC4N6<6ANJFh$a3POeq#bSo&2CDOZ=9zmRcDIX)|d0`*I`d80R>81%er$f*Dw1BTRS@5I;tj$@@u!$TeQI^!Wi- zZN&Rgn&q5CCseS!aGahtkvkQq?bR?`b2nd84*7eX!#@Lx z>*<>0eX0!2gsb51Q==cpg<_3>>qQ}%Q*I54)nw%Wp&5EMdJ!$?;RR7KCID0$#W{F7 z?!DUdk(Of*xI*qmROy(yNNHD`_$b_{CFKm=4US4BJ+W}XH!~egC3lto2mT=+l%I(Y zGT0$C&}iIdzZwT0==$`LJtb~$ z&!e2pOV}_{P6GL1R5v>x1bQL&b{vC|iR3s`SwCtxMe8joly9P}e|AK~gvZAwjbbL& zCnb)NFlK2(7k!YSfmixkBJzIV15+kL}35mh~Y`Y5}&|11on59>%4|$tM}HU z+9pj`>7(#r*P|5GpTbmi+1khjgmW z9kRNPzC$KchrInT&7@_qeATPFOQbew+;_U#boJDxfz+mpTAK;5nLimdkt*DwufnM< zT!jtQxC$+OsxXDBP)AdRJ3Lhwmk0^gxsN<7$HX_|s z4QC3Y7X>BVSQtG$C@I1l=O^8se-;&hXI$wz32^Cr;$b9byM98_o6(Yz!};9vM@vdB zrS%hyk8z2+2Kh5_9?kV@ODdOJMq7qxNGGG z@Xm#?@ax}}pKs8#amEqD90 zR|_`;o~_g-`o&hTC6*xvcNS zEva$A!#t4vISU$p6v^2xg$=qJ&ojeLxIyT4u=+H*zRoN!Xt>uh%HvdY%BjRh$*nh{ ze4eLb(trZICOuKG2R#Cd6fY#z@O_*owJNw5(E{#3pZFoEZb74h(1MBu!7{5u5&nd!Qi3hh>gJC z2ze#$(Qi*aN4!^u%9c5=X3T~6#o=h-ZuT|j7(3UV;| z(djMoEKM8TcVQ%&K6RZ9Tji+nIlLK)?-UW|c(etCENyL$a@KZxAnTkBX&t>ETx3ak zoNhk{=@p;pN!kI+XHZq9TTp^GdJHI>BQ2=n6XM>`j0geG-@YzWI@!O1w*a;ta#5Eg1_`h%ta z9$8#JfY3k3()UM8KbjY0DnS>NcHbrKhx}-!HTgoQ<%L(#VsC$1@zpUD`M1lnI=Y0~ zoXwM4rt9D5o~2heA()k2rA9?cyR4*KE2dx8cDwOD2Y1NXE_m6r&RUXXEy=b8?Y2cF z?X>VBUctTk@?)JH))mz8)*p8+`VHe-A$lD&pwkscQo3vRbwIaiqjBdkoVZDB6{hY) z-_M3#OmPgJ4>gez6}Qahz#yk${l5f=#%m%;GN|K?X3O+OvSqpwRi)r&T~ z|lP-9clCK!wF-1s>)WSY4^j0Vo3q@t-uXY%dsIS|WsQUa za;$q$tWl=kqZhT=tlndKB@|Mc-s3TxfZx^VJ^Jzyj~IeplF3BRH zZ^Xw#hHsV*rrC^v-eVx;RP`R#U>Y`^yyGf*j|{kO)belWJ&Mao`FNhE$i*7H$9O*C zX`)B(@sJ#MH_@Z_xSx)LxusmF{{Geb@8?gJt@miZ$%7&spH{XHy~j_#G=-^utoNu! zGKY6Vh_h?gd;EdsnbCV(cnbIUHRwHpsBQEddA2mYM+;P4)q8~gY+CPefI4CxAPeX{ z;A%?KdnBK~{7>{A_4<-S&vtda!=v~3PjgzQWxdBYf80i1S=D<`|05zRCoaR1Qoz%# z`&?(r^Ktb)v!ouv@%-a-^8XilkB89Ge_8Lb_OHuW4R`mn=sjiy{om+4rts3{Ay-q_ zW4H6S^d95ELg{*st~{~Q=slii^fL34ae_UksJFaYFr6HsH*!;~;O!N9WU(A!Jp4Ew zM8uz~UXx~sS)lj0oAe&tBUO~KQ(3b;C63DWZCL8F{b0v5;2H%Tx1(@beW90Qu9Itd z0qE;;ya4pwb@YeFNhj#2Wupa{)_a5aG`~1k^;K_OysQd3-mF9?eFYsWy1Ub z4)JlVpks#|;WuF-=t$!uAs4^)MjBTYbo3!X$8oxd1ReW|(H~wx#|#|T3{&(P9;TWl z4Rfe`4>aG!Vq+QlE<=NHT zlx|nJDTA0A9dRt^SYp*S#ZS;N5M?3`Q3V}Ozy045bhO)9TFdvvx?8?xI=4J`inP2U zs^t}Q1Ybmoz92wP7+2wic!ZRAEBh}BI+RQCnnk&*3Oec|t9RMOU(j(G{HY5%*COcn zj=SU$qYpU_jlKg_od9bfTE`IA2B| zY6TrHadw|ROu|8JA6|o?<9 z^tSP;f{p}zU9^IZSe()cI-aDw-sj-|M9{IeNLz=0Ea=EPqdE&rD`(Suwsb*i;7>M^CJKik@Rj z28cwIT;xyD8Z`0{A z)g0$g1Ff0^@0-W=S#TQv)?0vohA#-mzoQmJP{F$rELV2Yhdg}1yZg2`ZNdk<=5Kq` z4t&7Z`BXhenp@9N4;R;1&xN_K%b^cc60RGI(#GOt{}s`6AYa%jIt}T=6&!9`K3)B1 z8oph>(HgnS@^TQ>m%eZD!uM!joPDP?`EXH!?~}o3pLcfR-$Cyj#=pbgp|&@F$6d>7Yj0fY*2D-U z2*QuCHK^MLE#Q%$e$uv=8Z~Z9cO2b94MUx$eHYhmqa~#o&9ETaA+<@^tGe}1M^*bi zXjW_&gRWq~AMfk8B%RDJ22Xxcl85}IBoC03BtrlF?|-T%ss4>ePm;r(HfJXYd5S_OH2Mmu za`}hp#-vt#q?*YUet1+Lm8r$mrps6%UB8Y?rK=BT4r)NSfg}EPaFN}~X z^zf+yi&{3e_x3{WXm>9(^smAbo+>;bRd`&j!hG2Le@E0Z1x%GGp6HKE-l>UJ2+|Q} z48;>3QOk{-%Ojo$Wt(pOz%_|l_MY_Cz);k(5}C?ui$hZqo*f!d%TqXG*cOkdC6;q} z+R}k-dfRdhqL%A4HOMy-wHzzBhPHf*Or?*@2RLKcmVxwaBC*kPoXgXeactAumTM5T zbkx+~Ulp|+`|VoVk4y&b$C)xjEiZ5ukEmq=8+14Rs-hM}XI3X_xgDoGqL!YN&-3v7 zKM=KimXA(@sHOTbdQkYh-{<`tMBnl{@*yU>@&Wjj!w|Gbn@z3PBOmHrRZDMwakN71>3VkFVnw|b?aNKj&UvGu;Y`>QCqPmLBI#i zdfZIeK5FWGOA5VRKptpZurY>4qd#pK>5?%vX>stFi2pILc;Sltr0-RiY={ZCOsQF*2FqDTq@MAeUwj0U=d3#@-MT zmdzw#sQ}$SUL;11hK!{hJ{7c3>kIu#nt^_0CG;!F(66j>RX;(uIJO@U;mS-Au0X#+ z!j(nnhGmx2E+Sl+q!F&Tzu%(MtE5c^%6@v4PsSPPRdSY4SOMqZ)~ifEPOb#6H9}g< zqPs$;SE<>BB?GhrSAL}%_PlH8VZLE?dK{g; zrmk;&cj8K^?{tk>bw8ECJ+4~c?o!|WnhPBv>-p=U>My6jse1QQSr1cceY>mm{rpfF z^&P2}=IP%EPknd3-!EIA@y(hvg(`0UlG;t zFb-Er|3+xcs`b4bch&m-p2GD#Z}&FT5i&rv;LpPVm{R-q_oGtZ2Y)W3e=GaeHyu|> zeaC6cs`ZV#dVTMe`u5OV=m`0UChWLF{OkJ>OsVy~SFP{jpGv8(X1!9?TlH1TB&Fj2 zYJZ(Kj&SWEw4#~hwd$>Yp*EYtG8Oi z$3xEH%iS_)hI*?4%BkwD4lrhn%{A<=(~E8V9lez!kFdbAeWk00T&&SsmFFX#CVKQ% zzrhzGYH~Nxqqo{c$Kf;EaH0C=``_1FZNrzraD2%aX-<^Kwg==NbAS=TJj6<+1~rilKMN2=l?|~ z|9_#kdIBx|m-SXLJN@-m^$y1WpX{&W;HCdVu66K^e_wA^9xRlux9UxkE$#j~Ra+2x znfb5bMA>?)qX3m+1rL9`gv@%Y@~9~uMC9jPD}tIK=7!$tetOOL-Fg*e=&g3|=KXcf zS_Y(B`fr8S9~e``OT*N*`y z?S4A1-ND^oT8FMWP=@@Tn-+BM`#j_$`C%Tm0xw2BO3Wt2R;%qnN|Wg zS}bEfooJF@Jw_Li{3<>d{o$2gRl;%2FlD{M!!+*z57T?c{Dz6;SEn0lHB0}V{OaxH zrHPOpY~mi;7K3>@)uDpuly=?k5+#5G*bVz{Aw$p@qS6| zs?wo%kkz|D=r0|bhVyPs%{A<&(}T17NQc@>b<}-Qu1S7XNmH%=jr=Ng?=|<~L&$oy zK5UQkW%Qv|epQ*X`}AQUF!4&0EZ4H1P9`pKSIba-^^TN#E%K`gn)2Wb=@OmFtT)cP zn^~6pstMK5zUpQd}L_u2z8(+d1K0 zZ`6K&Ox0hd&X%X%e_MYwP~A@_?+1RUsGH;9&k#_0_5F03VrcaGt8puJ`{@L2<0MbF zRsGdXMYrME^|$xaS&v7U=&zO`71oj4N`u2>r%6*Yn0Xbh*K%Ik!;j^_%A0Lc4^z*Wa-fN!Y81 zc`4w{P&dpe@ZT^;o8Lo;OmS&og^lhn%Glp&P=!*)nDVL`$2a(ja z);|#aoc+;E)oW-Lrs?G-8jlZhC$hFzqXmu*;-ZWf2 zrzzk6rM{>K43fU+i*M;cp@|3R{hLN#bT?P5N@J3bn$Z{iO3F)?V*D5O&)JOWis*}c z_Rm=%CrZ&5VgDTW#yR@;k8XX@)%MS!A9yKk|D1As{9oHY=XS&WbJUnDL)|Q=z`a?{ z_+E(TOW7aCH@|l?oZ0IBH{Kj9IKr}%TJ=IlngMW-&h z+Qv4?{u|r4=j%Fs(5+aj^w$T~v>EAxmh(4E;YQv1pdqM?=qth>cSGs<{i0LNXi?s9 zKbxP2iXP-K?}d&Kt7^etUtxtQ3cc{I`{xY0;m*76|C(<&y*|iaU-1{d<*mNd{-5b9 z?m?AN`@gBLc%Is9R$s9)9fg#puXqC|;J;aXK;Igl=}P4z9`S)kUol#a^J<7zU(uJ3 zhs>EK9ekDjY#fwR)mJ>Tfrjl`^%Z}@tD=^FV?Uc_UrG7USFDzcHTsIhe8kg4kG|q1 zIqq(vM_)0Xj)S?}_2S&&;S6~zdq0~e@vU?fMRjY@XwMJPVn>_G3$+RhcMi{QeqQ5m z80CCJtX=z_Hgz#JJ{k-6zNfTmNYgX!7WMZO@dAbx*f0f#<5qvhr~%#TrOPZP!IASs zneN!z-c)54^GcIhboa_ETE4+D3wJ$e(HM5aRlEE{M)akotN)PE1rl0p0BvT37Kv;| z{UM{rkihyJmO)GXAtS6->3*-$==Y4mu(I>t{yn2*RMl(zJ)`$mLT~XiE>K_ndw$Po z298a4|DMq^Na%jgsKX89;Im!BPk8he?SA#>Eq-36)myB^Fd!=9fuwJO(eDm_6FB*MFedYdvos@K>3~sbie$$A4(E^XLEvQrJziITUs=4S2i`S^Ri1+@c z(aUM7Gm_sly4PFHUIesObMZFgCz=a``s+jjqmiE?2oHr`)x|7$cRZemLRXu^SfMA? z#l57uc>IV*busnWZtQYn`D`n+7H2HCWt>4ccgE6u3w}FQ18_@JGoPLWo|>o9Hz{TP zr~~ZC`Vqaoautu|#haYnu{%bB&5&%>M7 zMuxXCYM)=z)0nKay2hlA=En5>k{dH(lV4+4b@5qwePjG|7sFAis=J`=&!6i@Zx#M4 zzhuvr7wpIS@ntDs_D z$m(8%0_T3O(}Qu|{W|>`loxvet@sO`gR*!ae(sg|MgqM?*~EzP_DQm@v` z132$)W?9OMPdKl%(WAVWkAvPeUR8N9T3;8f^5Q|9(kU;VqP*Vc;r~Q=v0;_A4*ytr zab&sbEZmQt(l@^8p||EyUfd(c-48R5^5SMbu2o)Cks})AMe#}u4#XCZxT`>k2RUIp z|8(zvgD?-|Xb=^E{SgSyJv27M9kn)DaT&|tm(qTB(U{-SE0pZ?;V+<&CM zu+dv|{yn3ky#EbKG2Z{C7{Pd{`U`9*LHplyN*4)+!TvX${?`6C7SzXR{~NN!d)~k> ze#MBAyz>o`Hr^4ZQ#$QkL&s^y8m}J1VE-Gwn)ZX?QjPb&;nMW`-(fzo0rW4HvoP%ipo2M{4yMk>kcC|#DG!{PqI(B#(?SC^W?J%`7 zjrP9@OQTvIL!*w;hg10Q8-1YmV$UCG?+$FqjZPW6AOHV=9}6y@^o6<)&OQ{u+x`q% z@98ydyGz*zCx`dJxs&E$o_%n5{^+P``D|CvZY~(YWIZ=tDsilYk_EKmZpOWfx{-F)WfGNWTBQ)$1&o2?RLD?{N;3 z?&|8Qdv8@&*YfLImp`TPAvs)~+5gQ28$AR|aEiQ#Z_@du z;SI@!(-8K2mBRjSZ0!FgjOSsQ&+|azCm%mJevLq&hk^Xy+-UHFW2nEr&x05TFH^?B zxuDr-0PVEk_1_-{>IjbB3Z5n(QGrK2M#}^WlM>oBP7=As=}fM1&?|&%oNI_tX=!$i z1OG#Hkb$=u<`Y&57jXbb+$Y+`tz9Q!H;;%W94z2PHHf^vh=Tw+UP9~_h7)2 zfIlcBWxuD9NYa3=+_&*Op)2=&PD0zq8PJto*!@qSE4fX{ptW~47Gs|pkWqJyBfU=@ z7-5jSxh8{*>&FJ^{2?2pC65JlgD|@C=`p;671ua(lu#r71DH7q;Vim z1G;jzS%iQ3vIuMDvIq;mq(8a{jIJ~>h;X+i!VrHE)*n|5GVdlfNKqqUkSZjC?iy#w z2PP{#BSh#RM7Y&Q1V&drII3G=$&IQNF7_AUK23zCLWDF$gfYnT--E6^h&mM#5onD_ z`ryTgu3U#JK@kZJT{-n0#nKRogE-Yk*kPe7U*i^4f}rTiOinih?vY_g2?GHGhSMEa zg6g87D+wG+)8$&uQ=Ki4!rAZX(7Og*zQJ1q)2hnQ4^wB#uEr}7DP+04Ye>ng%Vb;$ zs*8rM4B%LrF5Ng!U6(M>mFo-=RH|#7mG6Y3KO(8M!bg8x34yLW!cjDIr6*^oDqk+T zaDtXPRqefsf<&fqJ=fA4o8+%>yg_A|S9yBL?Fy0kDax$-1X&4MkRew0X`B8^3S!%Le z?Gf6XE899F7Yn~Qas>PL5q@zJq1pbHKI0?sFN@3Zk29YA;~agHp7ZkkO6{k=I?VT>Fl_o9#Qz zaHA{A%O7b5^55c}qscoKhh*PfuY{2IH6=BzK6J*N!oF1u*(&n>c2T+VuDy%p-PcxE z)D@K!RNf?A-nD4GN#0vS$-AG1+s68vgFA)1oekM4^4?s&y!C~=(j7*5ok|Y=^}&g( zl=@I#k$1w&0qpC~Z?({*zHt6=o_dX?uOPpbM>?M^zg7Gy5(&g_{elbV#2EOk?>R(+ zn>2pwQxQ(1b9GSO6UUyJ93J%}KGs$T@^!-<;b<0|eS=OY3p`2h;xA1BRj zq_^-c#C~NJV7KZKtt3I*im+S#U|k<}i!XC;v&2&&Ia2W3h6tz6>N((<17c;x(e79@v(9+UW@kNJ=eU} z`y`_V`2?qXY|cZTqm$3bKh6}-jW9!jr{Oe>*LvDc>n!Xar$nP>qXQ*h18nzwL)sOre(;_Mo_H=_FCd;H-&38 zG6Is{vzn(K1chgu2xG-9*E7yb$b|%OvzGx+*A6^WdHqW~Q`z(#`s2@OjoD5!g)Lgo zo_FpL7Ef5iZ+8LZ0JIew}zqjjlC6+c2Ne>%*jdB)k6 zaIQS#SA3OK5H-}2-Ajb48o$7pyfA{ z%a}M^4`D+ipLG~D!jEzL6@fat6qaY44{?iHv_bi-ERinB9125wz>r=bHIr~%RWlTy zRh{FCdZO`JrBjSLmdj_YK~z;Y$YSKPKF1{!pS7Oi>K(WX!e?D$lHrW`thN)C#sWjc z>GUQF%xBGW88y~Dm zSz7!?tGjE2?D)HyG~rR)XLD{N7dlpFu{FbB&I|pA2fLY6#(uoe<5ZSU;D>pkHaH-EG6EO66=#|+nQHJ!RBdDvo;-n1 z7yBsh<+$um4qb^*Zya6He94%2F*qcOgg=>{DdbNEzii0ngy{`{oP}+UUpP=KN)9BS~q%u)VN4$ zOz~|=tHws-;fiqva{YuY9;B&bsTFXKC`)nv;@BtbcX8rz6o$S1{(+EEjz5`r9P(G( z9!JR@W#m_zKOh==Cc_6+&t&+Z>X{6mQ$0~* z^5ReorS^5633!8raOQJ3i=sp&(0YP0V5;fArCkk;Eg} zJd)_bgHxTdVe)BtQ3&$sX_7&A+LQj-c_N?E-6XVqoPm7uY*0a;71hWhwf9AcQNvO&6Mu|bk~Os^Y+$)_*Y(MVow3RX~6Wq#IA@ss91nlvqi zG!H1!IFYA;d`dBk5Ftd^=wK0+zDR#`5tw{RFo=+%i7>)ngkRRH23dF!8|3Gz!XOus z2s-(cH^F3uaY<~2&O(G%J|Zyr^yymN3V9aQ3X;DF>6!?)3K6<0A~=xezlVH!1a> zVbd0o^scy(7HW(uK?xg;e5%T^G{WZSI35Hj1Cp@Fr(E2kN)VKMdX3W!K|VccNC{nR z1Nqb&SAy!Ikx#dCEKQe2oTm!Rghf6bd(NOsF!E^~B84oMj|?f9b(xMUL3Po{r^h*# zrb{o*Q`aR7@~N>wf=VTy){PBEe?(Gig^&KY5`ugh%271(sV`@!Dqk-7bekz#6ZupZ zmo)OJ6~#NB>CqzM?^Gl*R&xU`pa{_0`KjA}%=sw*y9_$iD44BLqvqwZr6d}pdNdx2p;vHmS(S1dLW!+v7B!8c99^6hlosO=}#Q%-YbbhbH*Woh0r9`dzD zo)ALWPfX*dVrf4yx2<6*>TRwZe?oS`bt$Hv-JQ_gOdDs-+gsHt&D++=-4y$XY1~v| zE}Xs4fY%_OlRZ~p@)wfg|3XTp&G8k{_8Ub2x}Yi9v_3&&FxsEFXJoX^a#&7Ujs77v zAVZ%odPFCUf0A9%kjq^qk&r0VABtbYW;r4!ZKU{cpd_vu`rn4@fQ4*HJM3S3#*C(V z#B0NO*JfU-6t=`JLJ{yP;%+?w zixJMp2P5rni##$i@x!Jt$AMw3wyjueflV2=6*G-T{P?2R@Hx3y4)=VQfhy|h{0y}+ zv|m`2IC^SKJk)QyX(=M8KcKZ&G5=CPlf}x7;9ry+{CScjWJTRvtX{2snx19wFPZ!- zYv0@WuJ0@RE&Wc!3cAu4a=)cU5E;@}kSBS9bUs_2Bxe*73B;2;j|+Ij3_OXQLp0bz z<4O96aGw29KGW}sn(0a9@Te>rr7L5VAUw&l6jR|z9<4pR6lYk(Z?K z+!mzf;z@#|70*9i&Wb0whA@ino}_vfzAqpN<#IMW$(8hshryFvOS)y}N?F-~c#>8S zUExU@cRFjHWDgnQOH{J|@gza^TYBfwGvY~FuMj-RfHyUsBxw%K3o}o$t-p~cA^W3) z$IJrx|2a;Rk>vjeZMI=KBKr@7dk@pa{}(*TKxkUYJju_4{CSd3&;*_jp5%FjCy|j~ z#d(q!MkRSQ+9Dq@E61LHERA{kW&IO8 z1GH}f{qZMCZu*vHU|Re!f-f71k_CfRqGaAEy68)kY({xqg4{3__H|;6{`Vl`l=!Qb&XO=AL82Dcneu z>=GdcqNIpJqNHYer=wh=#7acTNxF%Mk^@6v51lA^4dI4j`p=DAOiePlnA(i@D<&pN zvX-11q9n0xAg*FBDuv)GmLK7w{r!+A+S-uaK$H{>GpRD|23Dota8|`W&QBF4N)~@@ zRK<@d$v~PqQ8MMSb48TgmmEm*1K7+@Xuj$&Yrg-W(7YbR(utBQ2OEi!OL11&L`k2a zG?>yRK+5y@b1S0i^Dh20L`_^*F@Z3MlHI7Tel)~d1R80GFg*UehFeszE(}p}r4YI$ z9`jJB#UT`-DlA$Fy2V74ti|;ZHZ&3?Z*p`&TWmpkvDDH`MxfD#VR-!MVGt`QQF5zD zHykyq8PW@+=Dx>uHA4|4OE|93Q6oy;N1(1_xkSmch-xsoktpepOD3Y^If{FMiIUZi z8D%(QqNMm?rLj<7I)RCjKIYssk3Xp*Tz!pcM9Iw@ZX`(A{nZRKqvkA zM4j*PozGBslG^yrTp2{3Q-43ZqiMl-pJ(u+{9>sHPqGNgnR$}f8PuiHc#>;h^jxS9eFF}>xM@z5J1V*=*kmNVzX?M9eYbVxNF@` zm$5c(b@#=>{6@*$o@8*WD4{t=Dcg-Rijlq`j{fvskN_7qaLsdiwbebAym=JS8ncvb zM?CLb{P-~>UHuu7HpGxzDdsQFm>+p3LE}e0AvDCn{K#8OiQFrbIj8QyxLxx%^BXL! z^CLFu5^Dr$PZF6QsE9=U#Q;x-9PZH57*To^%L#G^vIl>&9vs9ifmz>0if?9Fe z-DezHySf}1(~p}ysSceVNn?KGDH;a(@gqYK>dnLt^CQVPaMcj>NHZL3&SvgmZp3>P zRVTmghvF%X1Wsdk5sU{{O{eqWvPGKq66(E|b|(GQhvU@5z zHF2f)2!u~_9=1AmLij)7*6Pm7@=n2N6jWfZQtlo?h0}FM#w22#u)#js`ws4bvmM2+ z)Jpi3GWe@O)&}|UM4iU|xWjFW<4AtiV!+}y2;GVQyAYPXxHFD6;=ju<772yVhL=O=G-i-Gb}%# zT_nfFYSEH?q-=7&?R^tJvilj>XuBwN^?gDr&yIvhtnTbuBqgakyCHsi&u)(20kcyO zsu^f@I?gl$%^rX=Hqh)$91;Hp0~JKt-zNhlk!?)#qga!egYrTXxGoZD*Gj@oT%(ex zY!rMh-wvl8NMAY~xv~CBb0}Yg*_O`7Z||kK_#Lpc2%(z(OLyQ*(|;)yHt8R;6bDNE zSf<>wB_pK6KnJXNrMtj?^HW+}AA=i*bg@zV|Z(Nu)gB;V8GAu$tCuJ5JK z`cvZa3l2oYY~CJeHyFGSE0qOmwNSm7=q zLUkcR8PAdEA~41DxIu)mzo}OE-YZ{bg9gJzosDJkoEErL+(EM;|l8^eBZAo97RKj>T!mu^5r5##SiF8E7KzC zzF$A#l7S{^u8E`2caLxAf{<>)Cs+H5Ge6^a-J8%KZVpuwm9<~JK^vsZJZom zh!~TsdAq9G1fU~hfaUCygA^B;`*X;?NKVR=orO|X0?V74YjZs++g$y@4ebQTV28B)B8U#!Wlj3Y{+HMz?-eF_ok|Y=@;Z@~B5!>~-U*#T z$lJB3Di|yO*PyI$$)aIJ%n80Jls@o=b&5G-l+_%p%&t_z$ z$U6*&WZw<y%6TzQusV|l;A>Xu#~;)BW?ugkj>4Km4l zT_}0C5;O$xuZBM`sF zJ0l2xNRKu?Ykut>th;!QqmuoPUkk#o?M|*JzeY8~Gx|+>0Tp;^-K+6yk2R%rDCXDd z-)ZF6$o?2z(26Qg@!yX*c;eT(pv^|O@|;Q8sWd@vql^D9__f^1=hy1A@#ohLptU+5 z{Ms%Q9JP*jta)i{l_Rc$i?xbVhJGT0ht#R0F z{ZT1@RaL25q11T&$ZGgGD)qzXyE_oP2RHmGb=xAP@07almg3)|hv%r&d%5QxdWrN{ ziSHirJYV4$2RzV#*QFX48J~)Boh>zj3Z$LlY-w*5p4t4e1J7)(=|g|~(YV-`X>zm0 zx{iFg2om8F3Vy0zPEpagm+q&FzG&S0vs8*GYYn=VuG;Ud6tkT_SuxdE5i~9)-3N`k z^bKlI0yO+(WCTT0^2cTRJRr14E-f6B@Uf!;NTMfe106aSJ&l>KK2O z8HTf^Lnk1}4!ViZxb>;9hmOXLL%5-s?kU5nr@Mt@sMxLzlHpHt_ zFAyNM8kIr-Vjr&NqFq%WiuUjJP=)3Q#B}~boElWgJk6@4$gE1QUVf@D8utbe1@WkI zZ7ay$fnuZOtnU)=0Rjdnx#+^WTaakPQ$A-g&IK+Ul!>TaQxYh=- zf}(L(h;*skLlJ-nP*clO^9Nj4)eMEk<#1e~qlU)05UAIaa?!Z{W?77ATq-V^(6|8< zS8LRz3*u~Pep{mqXN<=E)LLmQF#eoQZ=%3xTw8N)8XDI`gsZPH4UMbG;YKvBiU={F zafgyoIH2LWs3OowDxc5*R+~Td9lw^MUB-;!UuD!HqW+{7fsdntw>h(msmI`S)8eKK z_ae@P1oT*){}7u)+nDypDez~Km)dx%E46N#Yhau;etBkpH1qs0IQLoe$|8sl%JbYM zWoIaSTt|qDw@U~(F*DEW9nguP~p^JL!sswG<;yCZB#N3Bw)ZGcs1g1YJmGVZYCehd+$ z#=Fe(5tP6*{Pdm{EA{(P>bDuoDA9-|HC~OIM(>dNZGpcVX=*FnjA$`mN&Qx%=jv_7 zi4}n?swz#Xg)V)v``$9E`@YkT9gzD(gya~87>i*D9)Y4?rhTlMfF=nhw0Pc>PZcSzbDEcU{lg6`wvQO z&AJO|THP_zsqR5&NbWtI?ASvsV8qDlsTNeBZc+9+D(Y%D#T!Ju%UeQM0E^X)XCxD-X;aXeqSg6k^>%+@5$!YVa|qQnuW_fn=wPo;ipqHRcyD zCJ5jmBAZ@gh####ojl&_rc}JN$w4r|YV0tX$`CNd6muj z`5PYCl`IkiyGD>v_jh%}?bJIH2Kl9>$sjNP$p#se#0GgN&1{foQDHsHvS>0zz-qsI zrD9q;ll`Q5T$4r?(mbX}GaGptV6}9!2$u^HcDG~^w%g1iFe%o?AVRt(!UTU2_Dxg` z^8FGv$lkAnLF$kQI;^(-4wDt8A7U%?7b5ib5rKKRZymZ7)_+NgtUR0k4+05)_KkV6~bYOM{{!I8T)e3JX>%YN1OI6ju8f zkwWS+(U1~GIR;p52(ARxMT6DuBZ!fM-_hoQ^Yh!nV7a&RT6 zF1^qkK=t{aXE>Io%V5q^*Ch;pS1k<^RI0zL?YD)aKOzOuA6G)aYGXKx2CEI@3{~aJ zh1J@bvNid;YK%)7tk#j@X?@f4u+!g1x58+E)h@f4UKFDLN#kV$ul6FMpr5`LxR26L zmt7d1xw_(W85y8h=UANAMYq=WOem!2;Wwj4dLACa;%1n0eM$ghy6EU z9zjMYM0VF&NCrV@Pn_a=n42@|561FHY>VjY2csOu811g)l=?sh@5?7*EGKy0qe^WT2E)Q-?;6H_sKAZE85W}zt?rBjv_!=m3 zJia->ux;!2QnM9gnkrJeLi#K%D+>=jDJ@%F=?y!p-)v#{lJzPz2O#y3a6UfW;^Dd8 z-
Tiv6-t&)g=BFRIUG=Q@B!e#3koUE4`Z^Qc0=BgO5)5=o%7ODGY9#G}4#G2Ah zsoQQTeU;Sx2Sm!ZNR2m1-8M_<`BHZbCdcN<*m*r^ll>!nasz+N$L(YQkZp?~vh3_O zUCR0mD%hMu3#mBZOKeC(K!F}Wf%vFw*h-Wt5=kq9rx7X$ciU1q9wVhcbFI!_=i=i# zaySe7@!-%Eai6>4rwBlD?=^-gK@RSP)e4Cmq{EZVMSROCC7rStVq)=8qzWW2hZRuVdpSy@M-IeGX)f;` z4t`X2Vm?DCmwi2MKtd?5v8nh3<vJ!zawPi*Z89F-nTmzy2~^99MI9A-;Ds7yU z{TN*yznmTy!{|fdLH+nb7x9zaRw#U78??59CoA4SttvH&5wgm^y<9&3wubq)28H^K zuBdn=2Y;R{9$C?v7FMs9Hl?;6{97Y#>$URmogXEwWLMNrf2dLyp}C2JC9KY4Xg7JW zE0w67`S_nh^bY=y!{lfN;wW>Z_(N?V{;<&txZy#%Xkzg|QghkU7Qa99VVjem2di_t zY0i|UMo8ol^WYn|b*39O14~K!k%+UUNFV?FlPewJv)AVV*^1Ar>Xl&7rsU|yPdvZ`pa5w1LEQuZdAwBAk^|6lNAU7=|u z`$JoCr9V&hI-0=q!IRl(Sb^5DCGx8{Pd4F3rSb9O$!PZ9#FNe7s<+Hbb7=wF2E?Yi zCcLLTjM&sy(CVMglTAQ7ju#QtKTp$+ia)fb#FF(*Q>t=_XC$05x-NC1-=|m9auF{K zs5nCf@ru~WlW`jx@_gVwJTvK!c-@>q^KmT>+(5CuW$4B=lOMD%>Z^#?f}7}~FXFWf zTLB6V=&cXvg;G2J9Wh6EZb?2#5Q!z2(HF21ci>f@t>$blF6|D!ALKN+a_qb^Hy(NnF3dn9iyf$2G zQf0;_R^`F#SQXbD^v9&iRy;VKB}0v>_<27Yfi%${CGHC=pHuVB72?(TSRl<04Ocb) z;a%4JV2;rI8i=JMUiIo55wGevt8B!pUmVT9Y13i%VE9B`bU3rdINaUSbG(hml6kT0 z8dd6Pj;Q)9oIm1K3)fX{Ck*drzoWYPc|R*cppNc@g?P=uEvi@-2JxyVgr>nxDE6rs zMW_mkR)TIZVRA*d9>Ru3#Op1NPVWK(CN~9vMjM8Kcs*bcD=6aCT%;S0nim_=3#6v^ z8ePp$h}X9qSLmoAUULzs>sT)0H3m@)CO0Bp58;vt@fuHY_4nWfLA=&nZIt1R5w9b4 zl*U4R=>$f+`k8an5U=(kTz!pch}SI~ZbZDU5g`V|>r#Xe)iqodfleOcli=e?4-Ii# zQMI>dgGTUOb*U+GilLFy9gQ==cg5l;e7=j;5z~D5uH1`hf)M`C>hY^31m8s|XnfZq zsAuN8VpFI$rSV4RGsncfJxz@yZ(YFLvx{on0t8=9_&wIDk zLVlV~rMV-oMADQB+~7pc60}zX>h&`1by$WoC%FB&5?5`rfP1wA?o}$ex1gJkHHMPo z;JLD&q7&ClC6V-3;}E&`s|j$EbQip#wY+P!?Cu(i**myHI{|lS>4@%~!}oB;DK4x- zoB-+d7ikVb%U0q%T5?!`w=6Hq43Fx>#;iE82b& zWR13B7l?zl_+^=`fPL|NH?BupTh+S6ekon2T_O(dua8Mt&%?V(lwDA~(YyQ(p_(bKohM?S3|7qp&TnD0bo~xLT&z|Qhtr?Q%8eErJo9Z`$tyk8G z&XVV%hFYen%gvq>EznPMjmeRdPD)wrP z=G$Dc$w@z^NVZ*=XpY2VU_a#jnC|rRA~&8Mp-J=zIkBvRkG@Y-%e)Ws=JW^}=I=;f zxNZ~rrp(ZkOrMcJ1{g0?r3ml=*A_nD^5FyS@6k{}^#O+`*qT&2wuatD#4OVEy^M}n zUyBH1eF?n#3lATNyJ}BWODyw#M|Y|qeZK`;fuaa8bG8MlTHS5I zlNHhfO6A9PGMC?E%8JWxvR;0ZHPvjB)$$|%4Y?>kY)?q#r?zpmCQ$u}_9<7(TYG~yp+?E|mOWGv4i5Y`SIP$|MO)OyTOIUkD9VRy$g}{y@ z+?_=oh7XKLGJs{Xl1&G<&6yw^pDjzwC3{Rqp{0*6(hM+u2OV++9$&0#6@vvYYI2#A zTc*_C1~yBsk}TB;j>0AwAD#(LXWnSFl-it|;K@uAFJ`>I{)WeRY7(!^xaqNW7CLrd z+r$%aAd*dQL3^#lt?=j}J9uKGihZzmBAF?kXF~ZB+gHh|tt)cDy{;h(B2(gbU~U9{ z({eq})q-D*6sc)xvSoW}{O=SD&+gxQ9-(ll>82FRNvmT;Ra??R%HO_F%?kTSimHG_ z=NrR$X;i26q8CGp1o!)I@F=P@ z?Uk859L%bBB7XFiih^gIMDRTPh|*^Ne<|pMc>ChVa|v=0c-W$v>d3eygz`MKl1Ikv zFXxeQ=Xm<#!^^$fHv}*D0Fp$}Bp|&(7#TNjeV%x^=JiNg6E9cTU&X`TpUI=-f*E3z zTvEfx%l&m3b#;Y7KEM?*>%j&YRLBOoy(Syvp2lW_FfaFFADWpGyxa%VRZ?uhResXk zsYz2;NRy;U^BD3p@Nx~!BJ3_;5x%IwB7D=xECTa#u?7(uY9e&;7vZaZszGMH#0L3t zx-iJzScpKqRAGg;aB8qZe<4DG5FyD&1m@-3y>%p}8hPO(DW%-AZtW!+V1{rab{!(=LrWuL7L6-Gxh##B+l7j2aEP`Mr}|t>SiD>gZc!x&%F8{= z>4wmyyCEfX+6=s0Yg`Gci^j{<;aD1DR*myi=as_RAM(fQ23@}4{(pfo7lH;>`7m%E zB84oM$%d57x@6!=P+c@$t^>!?bZNzT>biu%%S9U`s8n8VUQ9UpBa&JxeDuea5WHL( zN6~n>yE#Ku`Eq%=%T3vuc)8L`4ZK`Eil@Ci&jT;_400!4Zd(+uYjc0XhnIU8Q7{gw z|Ft#_Ix}AGx5bpex!~n4#SF1OFZT}`;efo{Ch9~HELW2{mriWv=$ttU?{xZZ%)OIG z+|>}Aqxg$k#N^yc4sVZ58VSbfwg{+LH{94Q7bl20q9@$4jkCErj8Y&vo2yHL&GjER zjRTUGO>bN)5i>l6Y;}(;#kSir_Jl;&7J<}l0>$IZMCH-UH62fW;9+C#(zYdokP|w0Hp@|K(suh+L_%t9pn@?urT_1H z|D+)I)6?e?!a4FzOW9r6!2C&M6|iU1?REEe8#GE=I}8n6xPP$ z?Oc&}8-%}9&zz8wq%rgDzbONc<(?th#qUwTZIHjs#b&+N*%Wn;>j+$lTg!5xFn0J9 zr~oZ4oR@cjM^<8b@vw5l|?%VjqoC_920~ zQ6peL-Hheo$Gg3@9PNvdck6r+y+zpn-zRFLrtxmS4KJ5>Tl+rqZjG>>Ct5>nt`(J} zMz?{n0~ za_dd~yc5cL5Q`mL-d4Wy7DuY`=6s}QtH?WMSh@Bc_8!}};7$ET z`2Wkt8A{M!-p$BLk#`sl$-Wy-hmhB$q~=upLAKH4E&fo?R^=aumMiblcLo1wk~co6 zyz#ocOCyB5*M*XIYo5?vlXp7q6!oEvzr5F!FYjeS-hOZBin^knR&wyS@6*UivF~My zyd(YzVBY}#|1_yD9IyFERhGV@{{Kklv*k5+Sdd5{Ub6rf&~-KNnhQBZgBdkmbB+k- z-i68kABRUR|4w}UG2T|M32Hec#Y+_1nNnUB< zBRIjz3l>{Dxl{frwZ@mGIP>7R8NCC?&T5(0$|ai({Y%-^Kz7zA1JO4b=t9^JS{f=#=%AV(AFotKL#wI)aIMOL24*M@Nn6s4*QS z&`|;%wWOn#vb(p`1`AAW@Qs80T`#*(D~N1J zZ$a9@$eHiii(o;xYKH^RLS)5XyIW-Pw%Ax8!DZHjjR z>)8*>8LQRxM*7Zs4SBk-t%=3Q4uw(;TVX5*#&KYRR3oJ@jzSYSv<-)LrqDJN+8L{0 zNTEOdv8~A%L>Kzw*H)Op3wikd+x{9P$b{`<*2IzkCEE?<&$m}E=G&`Rq1&U2@f(Bc zkcWM43hdi#Nh_r6jTjMzU^qunTcQ=Fg6{<{Q%}|6Q|QI2*3OJ3OK(C8rZJo!kg$$# z2_{F$=He{Kqh@n`N{s;4_Gn~_PZOl94-p$LGO86;=QeBJX#+5gO~It+PoVgy%^ZOo z!=yNSV(tJWF@2=)%_-c4{=QRCoOkPDk~aw1=oN4^SHNZ7zi}am{D@C=PH>#BAwKmX zbj#2yj)s$-um46pR5;E7*9wkP%6^+w-RF7XSEX8)c%CZZ%63YwTVpJ&Kt{QUs5 zte(%a)Fz&fOz7F4N;A|gJ~~OURDzTr^(T&dII$wyB_)A#Dp9Mm1;=)T}&;^x&#M#rrmJ8$pqddzOp$t*1os zt}lTyf zdq8O{Bf$V{wDs0)pl`5h+c15&bB_P4iCQ10D~)1Iat!DaAYB_E@-9 zgOf3M2c$iC;r9=j*II|4-s@rq!66|2lSe?fI#WFYZbOi833xm1K+KpDgs@M*#@uCV ztT+Xf(4+Tr3ivRhu!AhRQlct>090c50j!BL;RsO1C2u}{d>sLPiK@>|^(ZQP0z7~a zuY{=NwL$R&NU0je*YtGNT1WZPk!@WxtglLxhn&WTybn6Nm}h^71RiRB%b$fcZo9iPd?@9bRfdq8iKrB_B#*2qjMLG z2H^4Fuk@k_#5;~e40PS^2E46w-Or47{AU^^a4vYqn=p^*&pTd&HaH;fNdB+bKOpuh zx&(0AD0~E=3;@KXHA^z*`J)^7%;mrWd{_I zvsD-$)As<&c|y4i}aSuUw9w%G06_7C`v<{yyqX+U2hv422#ncskJ-!?2EZN}XC2K$4gpVKgs;;+x#$vzGP$8brBuV~p};6btxCiAF+XmA*a0kz^V z5S`keQ;UwUzd&@0^E{XApdNf|8ioR~-HOoF#s3=J@G%-({MjP-bCNX0Um#TzAd$0J z0p;6W)n8za?k^BTs8CM$3na(=lqocU!$2Bmn8p`m5H)@%e}NI@`wPqy{sKuq8niTE z{hDkKs2{Y2eyV>zgTFvZ#5Deazd&PpTebyEPuNRMPxuR*r1=Y+g*RUgnGG~4z)1KD ztifXSOwHB(1t!3}uze(rHTc;m%LUE=XMsF{)+%)_J&eDt5)b1)?S|mNw`I9v9 zghikwaEa#;H@9LBf>QPa74jF@i)KNL{ABEJ^im>zGIxU7NNW7#oO{dV<))5dUT!;9 zvUDEt#H%8QR;j-G`<_5MPu*XvYfr@?(JV)PrlwyXkNWYGA1kS8yj*|WDddgym-k?5 zx$w0_-xn!vW`t4jeMdHt(wd4I-?v4Ct14=IUp|H7 znZA(|rRLS=c{bEHGv7yCgfHLs^~>r56kvbfKL2I9ZxQZ0ll^_!A7cZETM@QzI1Hq- zeUx>@{4qYAf;K5I*f$)nOAYKB|Ahkfh4RNZX+DE}nBT(+eif=6K3HFv{ut~0a&}nX zP)OgwtzdoqaZ(P}cNMTcnokYN^Id{@;B(FMy-zY~2v~6Ti~KQ0tOC#XD{k=R`N(s% z#`8Ue6P4$qn&El95xsy4Jk8f?JfHKw3i!0ob9cUx=Og>$IpY!}o=^41I09`p!jBk*x4WB(gjLYF7b3-y`f_M82^h@#oQ+?GkZoldHS{8#s`pBb@u`KV}i7p zrkhirX}aD&@@1x#6n~7@uTg2bYq!uvUz+Z=YgOQ=Mt6Fl)V{Tgn38=6a#YA4DqEg)OecX zK+m35C(32%*dOCix`|l2zH4C*YUsp7eRYHzis^^vxtLyG&&9Nt7cfl4#4O$MtBpriR* zDe=tmD7tqMRiE_qr|7b9T}7k9@Wvt7?X#=x*k?LPw3Ft1Dzt>Pfj2 z-NDtmZjgm;Q7O6&xMZT}4pUsc!*)R^y1Ps=oH0fB(DzDXfl=>t`Yt1|KgM;dj2dTZ z6x~-MTz!pc6y2K~ZlvhkB7|RK6EP57Zr2K7Wd-PV=-Y6-#9Q3@JQ*BAw4=IJu# zGC?do$Ib|AQl3rfR7k@&_yBWv$3ByPW2fEaWLtcFlvj3- z)mduI^S}jTvDLBTR7ZEMXqsYn(x?BU`^kBKVwc_1w9Br|vKAL?&RDDaX?Q0rk=$Qx9 zqf~79*e@@QmPYQtcoCVv!_`{e3bhPd>?Y6{5`K~knSP@EeZAxGgUw@z4urc#>QiFj zLw0AJcI<+dr*YFo5Rk{@=zB@?FA6F+|RT@QcyE`{j3Ysh&*7OX{U7H8Yf%zdyMeec$nTyG=Tn$4*YyJzKc-r$M``3d&h~ta#H^2C%hwZVuSb2 z_@lJh(l{zV)RmaUsAQ;Uu_=pbH(FG?SleQ3b*hBXUbOgBk=V17_99W);H}TydNI&5 ztZT(e6qO>N?#gA@e-@cZZrY{QS&$OH4wbJAkC`og1@Aw59q&Jzr`8|Je+DN|hNlAe z7vO%XrxR8{I`Tf^w#_i_KbuVZ&yti@+JBY=Pp186Ddb{KiHz^a1#jk^fHY_);>M6$ zdD5h5FJS$^`wA^0#1{$oZieTT1(n4A4pmgfYrUG${RIr&*Ok@?Zh}B8#3wumLr$mq{1LAaK&JdV^6a| zmM>$29Q@5}5C*WWm2~u|MOzg;y2oFd!WybH@88SP6tor6l;mSP_AKl#MED%11`(bR zA|wkD9`_M}0jxJJ(?$3^SruW&YCnUdY9d@OL`YFY$RrV{KOjW7#Vo?1QEY{!`D}%K zznZPU09HMN2)Ae=jPVyCAN40S@u2K#k(0_+$V(PhIGhI&{xtyBPpDHNL7(}Eqz(+w zOdFu3mvJR1=%WEx85~OkeIDdIRn{de0IQinf}jA_#hh*k0Bg^8!E{-LD?xS90IYX8 zmZr;0oa!UzumG%w3=#z0q4h3KH-s*A4Jnz+<@C~WbkP8;O&m+pWhG9Hx`Y8>y^LGb zno+3$)?F-1DE$q&`{@6zqJJ#{|LoW3YT0kx-xqP`d$w{E4Z!*Vr+Tb%0j#$WRaIIU z*J3Q$hF(k)aY+NPKBRc(6Tpfl9ROer`HEf?v_3=Y?}q(ZkA6cERX_ANS~SszJ2U?3 zQ%>Mq@K;+g_vg=Ftw9qUfWLAaXlZlZD7$X8CLNR9*z6F>!M&Vdlw5L#@K2S)?A1KJ z+AYWG{0Usj0h?KqVGKiQ_yr#ay=)db>rZEJt(~_s5@(O%EY10+wPZUuE$XnKD~Tf-3R+zqL4CQI z7;$%?@vO|Zj#(tTJJF&D_3~}*$T`$|#m5+Z5tP9(`i!HEUa>%T8?co52p&Z-o!usN za;JZUZ){`8%RV$vfUN?>e;H@h!4Eq00zzi!Uv})qJFXQuZAadt`YDT zM~74kWIlwo-L()jrijvguO}{G!%M1*`h1Hk=9Ofp?bTzhn6Kz>X_c}s&IJ+(bg?%q{) z9Eh`G2Le}AFFSQkso_%gi;YFwFZiU~-qgxdBdzmaakSKhPbUjHuSng5#q(6Erx=cO z+XVL0GqnfvRIl{aZ*)bSpaDN}Xywm;eJKV2#DC$C`LFr(=F#h$@At9_pY)!RCOIFx zP<+z9g)Dsq`J_ac_pJG({*-kfKB+w};E`Z>=VHvFPV%(i5DnhZ_@rw@I6Yr9txMtb z6nLUIJSt_RT4+J}q*fGD;gjM&r(!eVNagTJZ~d30tiXP;TR#)&quVt=+-%^Jx^Rf5 zqQ)oPDZ*71H9qM&3P+ur$cdVtci;LJnoqiFgs>EZUL`J{*6J0m{nR8?xw3p@?sjR|ux zw3cyVvjTPO^Sm*~$S0Bg@s_M2nhc#!+JH72;mULNKR)T~`J|WM@#m9<%san)QZ(|b zIG@x7bsA?ubX2RSr_BO<($wICE>3mWbwBvXYQT_9r`q9WIHTy-W$|at5sMQtP zFSZs^6|BzLwAdB=J91CpX8XU@=4BUnU6qMtMM0%mre&J>@U6}tVrVA^wU+jsmeE6hN3mZC+>8?QH!F+v{%O`F7grE5g zL-&CO5}p+tZse2xD?$u>(%T#owUg!mxL+6!pR|TmvCk;iop_rOJ%*Ax- z6E3E-Lcd~SKB;@@hB5*4Q4v)hpA_+2AWCNud^rkA=jB_tXurBi6z#r`p^DBYy^T|Y zDi1!ysw4_kCKULo!hDhozVmcd{P?7{NK@yN`gS~5d{W%lK$Aad(o6sSA#alw#qe$7e;|7Y6z95eN^j?s_dlm9F zg;w`ixB{b{VX;?Y_SFOnb;XaXhCqxug2b_5njBuLu^;R)%*rxT;r#>|_yI-da6j0t zLp7c#k5D1O6MadCDo@msU3e+}yguU-l_$F1=+7$*p6I7(I#0Bjk1L-idgN_-Myv0l z1)s|1iT?V|z!P1ALSvqYw=4DIiN;cqXXA%z0siCbYud@t>NIh!)Ts>tx(vr+Su?K5Y` zakdDx&F0#P{WGyFq3!=#Tf38Y%@lW*v+*mwX1694OIa>{5Y}4c_+m`SFK{I$9g%E5 zi~09Ld$D&gUH9AF^>KuHpP)<5?KbC8dNwlK(EKw=u~?NqWw9o7`r-suNQh1mu%Bx` zc=ay8(#kJ>`?(g4y#&!?cxPDHJEPEVBUi`|H(Juvt=zVpuJ%-PYT`=oXE;l9(!S9s z3zP$hL6n2*nyl6xO%6~7UU8+L2WV-+_G6_x5{ zbw2?$L2mvT;qD=-8$2h}hni`YBOTnCGZMruttYX45Z5`QzUfPgG=-P$phMoTb!jmj zk}@$%=?MCwtQ_iot#xgd0x}jCHmkgtjTK5|Y<`_)Da0nNSg0I7Xu5BGQ&=%)Ec!3~ z@q$q2u4(DUV|{~Kgs4fhZlMe;18rlPYnV-%BwsCLp*z=>W>5mUo_M3MDEX=!92vE$|tJe!i(g2kW zEjUk5+0ge%S`$=eIY5Iq0+_bP@!+k>HDd6V02y_ttl6v70}}?>@w&+%Z+2ya44=aW znZ4L-kY`c-JU@77!bEIix}%;-bp7$3pEM))tJ2&rq#1FwkmhaVX@JW5m_@i+h;ZO_ z7NL%h2n>~34I=c>L~!|wQ2d7~!rBIGkU#4Q5gL#PI#jmhHIo%)cVR0$CPa8~k=Y6i zm95yPTVcypsuddhi!f9Zp`#FCh$6!4$n)O=m5oE43JI0E*Tv5Z*Yb8sw8mrTx6*Ch<7EZHDI zr9x$%SHjUBk%H)tE3AKTsB9uf(V()YI73zWa-lMtDO;X%QK7O#T+*Pjbc(0FJkNty zuP?CF|{rR$kXpIB%Wf?Zt z?J{pON>e+um5cibMpgndBl1UfWn|FjDO0!7fXn$8*s?>I@}W!Q!b^e6I@PtguwCis zh9JvQ8n#SxU5P>KLJZy@%RFpWIx`mW70e7D?3BXab%f2`1)sTKQ2Gi!PdI5wmR`zD zjw?)=l=_Pd$O=7R0A1j-z^t(Uu4LNZ)Vax;x8ovgT1q_~>~;#iOt>0~r)Z;CD0Vw0 z{HVIF0A5rGHVSL&3ea{RA!$4(;Kb(`0!gE91~GVGBn?+-ZVJrV$LMs%EQAVpT9{hH z>2Jy@ckSSKjA%JH&cc-~_&d(#>@(L&9=Qb~m$;P|s6LG*<()$pr8&O`beD_6S^IBK z+;BXbx@8t@OHU)TZ}CGrqz;`0Qi{|ADb*Pk^wJ0UfWfjTYluSp*=jIBlqh(pOVAw8 z1t0Yaj;F~HY-mhQ)Wy~NTn!In3(XwaIfq{UQdTE!!WhT{4+kdh0Wfi!!Njd$CN3A3 zVcG=Tiiw!U_+!Opt|;*R0FesO#eXX`F&DrT2)91D%J(NW?2`!|ZobX36FA%?qK8sk zwFC{<4!7lihJ$scCBlyx@ocWhRtd142sOR>DkZ$h1&RSsMa>2sM5&X@hHEEOJ z;lyWbWCSV_>>f&H@qS9fX#CU0A4p`9)!jN~+?ZdmsZtS@keC^Q2#e*UwLrykB?mb; zAsdRoRnkPlHqx9wrt+4!i!g~}k+MF<%~ajVoWyIvl&+Y`_%pYyGiE}X6XU1V76^+H z$gw5Oq&l4D+$CjC#(mye5RAsJMtP{1GH)=;BRQt{%0m5IoAYNymgCD%A#cU|7a4l* z#FsZvj^C7{M_w$d3G2xM0JqT2*_Y z@@!@{fs`OuV``vS;DE*QH;hn-+h4}rFJq9`Z7y)i$w+l_ED4C%)8!=ckmnF3%mLW) z8N}-)Ryds3Ojr|j-n$4tx;m#%22h7;pP{~;sXl6(QW1sl2eKYjY-QjN)4 z3%Bs$RoMwjE}^;lQrCFI>ZLc}Vo)CO zbTj4=rQ7uzT~UuIIkfWQ5g$WVv;Ye>?6jLYEhV0ZCUK`lYma>SFoj2~tx0|1c*GtM zShx{TNkP+Tf@CYI-jk-w4y0UBoL4I6)xZfYTyyy z;}8wj(|AO;2&Yz8ozv-wV~?G~qyF1LR10!uQrqS%#Rq_7dP9x!d`vMF9&xsliY;6o zu?FW+5r1hNCyMkjT=~(ZtM~&Wm-!r`si^UYABk{PMU6*%fx=Pej%RaSGqtb2^({1y zIN7Q`KmmBfn;$tV90X%si{4n+pD8L6>FJ)8f-^1NOX~n|e`!x)ct)+`DCEb@4r_+3OsU-Q zdMm-}EtabQUT?gE>R5xnwEX9l#)t3PZ}69P5B1ZHJD;xSs<+HL78e9j#WhR!rHI%R zBKAFf2eGNIpw&N}N6be%ju#QtKhKa)6dth|p|#ukDpk3}<5+@27hX}(#;SS?^7h_N zlBv$;vSV>3X4fYmUCPqUBPmaEYo1rGF_EXX`@BPc{E5WD>uGAaMU&_GGU09*+fu*S zbND%xNc?jOUGyaqEkCO8*7j(6rPQtxrOf|BjtUWpk4*C+5(jOjr##^9quE&@h{QY5 z^y((lKU}ckMubyKq;?=^(Bf&%;YK3yIuT+Z5@R_esuMmER~L@T^_cbmI<%fvbQ2MY zO~=C?I+3{5VJfCq@8n{7Jd2Cz%eVZBiHXGJfGKp0ukwh*C%OmX@@~Y=ZGy{-tj0xq zLxd>WZjjwTB*vOmS(n7Byy;+7_UHJivK4jJa{{g|byfU`#Q76oHqB$&57(V5B5`WB zK$&Q(j}Qg5sB>$=><}=5w5Fh zh9VMAj@5P4h{U}J)O9SENL+%bs&0_QNF?Uql8H$Cj^gTFwhKZeUTTuzjETgAQA%SW zmrEqh8DrE~_n4L~!qwN9MkEg9a3hh}ON1DRL@Ppw%=`2yMFcv@;S+T}$9Fub@QB@7 zi8tT5<`HwznWK)-$D{cjSrHzw6v~--#Od9rH>K@An)o@NQnw2oq5k;eIrMf|JfcL) zF|Hob*b`AsT5sSW2>nGVYaJDyAKdpnLcKrGrT9XznWlOE8|77sb-Geeqd$+nRmQ%WNn6I; zVs)jLf?L~2AzQFNPibBFup4s=Q(H-;_Eq~6)aMb=M`MX=qk6}fwQ6(<24_cp#Y*k7 zP^~g=w7Mfp;Wr%;XyZ}Yg?vz8wj)^XjK&5cb^trs{0uk~(4x{~pmv8JrAOk1r^&EU z1MUzHJk6(t>rJZzZWSYuQnYbmBtkDG&sVo_zwr5|xnH>S75d`?KJ8f^0(_c{B=ImO zAU$lY6P5Y)c>Rj5_$#!cMKMFvvbMvIc{^ z-;53N&t|1ufyZ~qBF!%+{d@$2&1qPqikdI5n3OoN&t#FIK2$`A)U4#fD6%pP+p8p>3>3P(tkg(80h@^L{ zjIfZ5D?tGp4Sc$eV`+fR<(#L=n1tm`Ye%LoK~V5%2_l8mdvt=UD|V=x-MaWPqhpZ1O=b|92tf#s}L!0xy;9vpt@+_(`1gN>GCY+sp}F3_#_)7 zs8sOj&k^D1k4QoE$CVJ^lbfSx;L}*nP*uKM@TsdQTNC)y5|=dasTal5-iYS`eERwc z7!BZ4{UP+C5PSvozYYGh-a!;}bH)Mc_Ky(xOrzAhR4}I_| z^5>mwu8Wv;O3h&`otEfru6wMmr!uV0<3JVQt*1S_$)v*XQ~SF3J0JTA68dx+{VS`h zQ%~7Nmtt`PFsFVkaXO!ug6)gsq-|1GF`}g=?g5i*bEf8k2ZD#^In5O&fkHAl)mfS2k1G+m$j z+%d(85C^`I;CZV7%+zBPI^#thB5LKy5m(5rS{toS9D=bynsB)~`ZucuzNeJr<{&x4 z8tI_vJpMDTxA($l=BD-b*x~dP^ZswOs8&*?($?GOY$|uXeX7Lk?a$TGZ-oD!rXq({ ze(UWghKc?HX7{J!kk;FeJj&0C*1z=~ud4oklr&NH7ta6BP?jEJSn33ayWXA%^Pcs3 zdw+OJWjS~Mg0E^66urwA8|9QDAwD%aEPX&w%&fH2v=3q*4wY6aMZbpoTzy`=Ud-G zueV=CKqvz%0oL2UZGZOb?avLSdKUhA`#Pw1HtX%1e+h5BedoPluD5&IRnB_*lc;3> zTW=4t-u`f(Gg@yy^|e@UKQ>TXZ$Ht2=Fxb){f%zM^>(s9I#9H7z%wT5diw^n*$7vj zv;VEPpZ$9K%f0;9+lM@Ie%IThkzd8v+qqx8DBX5?%xjbG`jG#169F-UaPA zUPM&?Jg24@*V~)PN>wiLTn^}`g6r)yk*;CAef`xuo$=Nno>7V6Wq1Ge_LH`>X5i&kd!EzU%EXurHuknjG%sS(fR)i&>W3ftcc`hzFpO;Xdo_#}~7y z^@mr76>1~#ayocV*V|Xq zO|;(r&4aLqzTQ3<;f7*rQjd%2?*Uv)19{oqR7||yo{l{;^+oE+TW`1A5op!(VfO2qZP^I5htjaAyl~;M$-J}Yyw>#$+LrqzcAN|t0JmCkKw;o zybJYDT|^CIz5NT0?z7(h1_JeU)Ub9a8;o02u`bMdySIPXHe8CRs<3EwXoO^1Z+`>V zL)g%`-aee8``GY5LL7}*2xGmykwGkPupP>(igZclQ0wi#pr)3m=2y6`su^m%-NkW* zj@o+rlL*x7NxAFo9nG>B*V_|t$+X_yiQ?*AwhOY}{#sw73}?LFp4(GtEHI+PbW*S# z%5FC2rg;FWEyC5;n6}>jPal%bxZb{Bgc#P_HzS0W*zZzB_&@f}1Uiah>*ItZ5+yJJ zLBYoom8V2ph=LMX0|9$<0w^FLs|zS95Fw+efJhQ$7zTp7zE4GbDm-OVQBctYkR;*~ zKv|#2qB3JZ!ortOD`LD&V_f7~EhCqYtJKxJZjowgYjKkjf#-Y9ln#e(dNm$_~IOJqIUiM;3X% z;AHd-82Oh_qmw<1U0)V{4#?CLP!jFYD7+_@$x)W>A zEV&4ali5%hExVp#e6r|&O5VUrr4#;yex^;$pHLfArsNI&!#f&p&>UWo0>>u{z#B}v zMduA>@b>BF4KBHh9``y+35Pu0yurN347|Z%jW_s^HY~isJf!*-;fETAk5+BS3sIwY_nGvI<0%KxP|dMTR&W z;{atP<^W}BNdLrP=VK1c< zDWzOZIiIhTm7j=ZXNpgjg%&E~lc~>{ZPp9qp5-xtgg!)ovi%59hV$tp=p#?n$4VzY&t;X}6-j%N|(+{q&BdzAj@A}~^M;w@c- zdQybWRuTUFZ%rXnx3EIq{z)igLqCY1BNa2TYtTZv5TU6M;XywU7^!%|Ai~TaH7)#i zs6`8xN)akIvj~Z*2)#*!|Cs<~ZTiv(I!qua8#3wRcq4{z7)>&$>0TlgKX5K-y3fO| zKG}>2sqo+wO@g3E#RGiZFlFgxxDrON2BabhM}n3`A{Eh`OP1x(9p4P90^($iB#Ogxnx;d@;x=Gz?K~WQgQfp zLs`fIjk18%Qd^X>N68afg1l_bTx3&cmj%8b#W~jUUKb5~-+Rx~&PR_^r1AsfeR|@{M>Fkc#_pcS0)G-bybDj6Z08W#B3L;5deH zf1W^xRvn&V0bk%u@D$sy@@M5KzC#ae_icf|y zW6U@H@yWgw@yTd>NyqEa2v-eIhVi5xpsX3YWRc@n8K11L;73G!GQQXpDt?gbaey-9 z$_;#64N&$Wia6~61t_a92PnIOhO{nAfU;hg&GB?t=TY!oqJqrUcxAgFT*!E3b)fOH zAFm9&&L+FdvDJ%>GTJCbC_COL$Hp&q7aR-e5zByF2ai~miUI)b2^76+E8Jj^lOnjI z5fRG_^?9?RMJxlJy~g<`b>qIn(3aygMl6%}1OHTEcV%w%Vq+(5puBDN(+0}hW{cg` zhRa*+cxC=2*47ggx23!ku}sQ`7C0whys{f;J{Li}viJF0RCEKHe~{sL6$oA_p_F=k z6R))IBQksi^$)WBk7!hB?56$tiSAgtdWZHFUdfJI(O?|x$aXuuh|0WO)96K{myg%` zjC|EG{=m{8?_!)OlJ`~h4pwnppy)5rnhKg~=rUaEYMVI&cTZFvVhm*GiA5n{yUp3y|9GofS?Y+;U z-)ln4+f2xNu}NN+dIxKJaN$;JduXQ0J2f?oe%t%YTiQdDcg|jmyptA()bE%*tl!5B z72}TG5~Hn~c%8u0Hlr6v9F#hA$SUs^+)9;q3^u7ftnU&=UblKR*&ez`c}q(y@_x4{ zq`Y4OaY6s^gP~&Fu}MMYP15E4vb&J?vT*Wl!W8_7D;`G=CQCg)1_0LqBuB`H+72M3Y z+3;!r>~;ZjpQR+Wf5FY>;Jd;WjmV{FqLOq_$=No!J|@!mJkk3mid`LEbp8T7;}Q60TGB-2MaKv7 z&y=M5XIj>{+Pvs`QbZ5*y?^tfL3q&{FyLm0N_7>KT$G%rq!ik6vN6q>vZ4?sX?TEq zj3#YI(9vp6W4_I$4!yt|(_8YQThhr6%)IEBRz_Zw^p7rshz90Ge}$2f{4>o(pRIQ# zf5(fgJ}){l*~*J{=y-N`QF5P4z2j!|j@<23$v@L&XbXXP(T+6THu`5uo=r_}RfO>( zqmi4&3bOs_$m3;@6fYv`=e^(Fqw=Cx6DCpjHnl02c`rw+o?d$z8T`~2f-NVcccx$4 zQ~9NLrne8k=<8`azQaKLsZ%n9{+QT3`ZVAB-LqsbYCEGNA2!mWeQwlf(c8PxL4R8G z-su`xm--dGP#WIzxiBC-2RW)lixzeFqeTm6v7!U1ZqLnOXweQqyfZDtiMU{f`p%_c z1=FH0ak`Nf%@!#JT67$z#4f>C*kW85NxaC{=_H~>XWj&T=(K1@q#LT~cqv!Yw>NV& zr46=J6VswsJYz&GPaiG1AwCc@Ic=I&wIf$>)jqpiRPCoJD2h&tj>E2@D9NHIQKBf1 z53&@6Y0*JB#-dng(fYWiPK#c|?LZ}; ziN`_Eq7Q$;CHE{7C126bNQ-{n)<}ykz~1SmMJv&0bOT;yXFYgAW(&pa2I)s+)r?(e z;TF>IV;t8IzzAs39M0}XI%WuQBo6BtL+LOB$HVB*NQYQBrW;_ryFU}6(Yqzi@uK(0z_?^2((j^cl_3m4eJ*wFS?Xge8r^kjPjy!;PPl7 zR2#D5)lwB+bO0*I%!}rw(r8NZqU-P(Aa;2)rShUZ2S&t;`uS&SFIdrmm`-@(aRrqX z?J_+@_-FbSW-B%1Vxldp2;;2J@V|!dMWkCG$v##{vI{|yjmaTXms95>cON@}mbn?u9Ilm0)~+30Y@d`Nmg1U`w!eU~wyTk^c*gBe5N9yIB-Zm}RMws-@+**C zi>~T<44mNh.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

?KR~??1mhk$} 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%0DhRGVbNA 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

=zbtp04JU=CW2(IGV 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 z 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�mCa#LHrGMfe9KZc*EK`geBlbE&NZ0tI&N)xzPov>ZN7sFGYjuA_05*( zNMrh@CYhr2&CQU^VLVjgt#N*f&^MPzM(Ue;#|WK4doz`(UsvBe6%F|b`eqR@)GU3o z<6u&4EPeBD7)H@I=i>*bx5EP!fydT2s|yu=el>kF8O>6fN=`HM&5^+0(e=$%!o$(} z=0lLsM64ouMjWgXiKj0NZBr1Z^)g`c2k zgzWF)44j7ABK1v4qU`TT;WS94pd;f(%|?&b{8}|i_z);Bu;$lM#%2%8Y&gHJBE0GO zb$YDwN^Rw-nPw^>p_yhZ-kO+Suav~r{MyN^f%EH~bOw*y8#)n*iMUz)Rc|Bb*KH%& z-SGU{2L(jTuQn{KcgM!UD}*;TzuNNOZ_BTGJ&TY~uP5P6=2y*sz#V|iE*?r0!uEyrD$uXzf$dg3>^1Nr%b3)?R6l&-t=c(I$f0|f=H!Vf$NZMR=L z0ylm*2RWW=TkXc&9KQ|`F>x2|yTLy-#4q@J?53vqI~lkN+5a%5brsyvo|9wQb2PE% zJO#>ZY<@Mav*-(%ls!i?e8>>S!wq*1n>2`DbfJf0R#(zD%CDbtRXS9nCM6{R^@Pk#CZUMi50U#m9h1>IapLID%~_ zKor5YBN&2h2iM5p-G-b&KoD#^mHkB8;i+~XEBob88bUB=kbXJdK^`4;8nr`e*>zmT zVwa4P$3G6(7?(r44oZXIo0W#nmV^2k%DSM9KqbF*h zJbR?C;&9viDl|rWjy58gf@BTnR~r@XfjkUT;U|=iw)vIzq2s`lPVgl7=%B@u?m!NC zG8H_Tt`)9x$8T^Iw)JBtQd$jrWFBsUy=hs{?lbT<930pOoU)O;K zo1R}urKHDW``GBwnqSBN-jaW|nZYMzHk@Ba5Z?6s+BsHvXWGhBGfjKdCRJE432#yK z*GKs?$$rVVdF+5SzrK8pYH=g;>#ImiY1B1G^)_;Ty;U+dZ+@M`YGY^_!w7H2{Ca^c zzv^{YLPGPa18>coUjqf2Cw`4gu7S4Oe%j>PLy#MTzmwi=n!lG8*!UYFdllZ*`Za2P z?FY(iY<|5*GI9NClWZN4A&iGscx%r5S_^rq=GTi*=>MJh^(tu>`28sJ>p#)YCg;}z zA=w7=>#oZcMemR&P6S>`%8urjsQEQz*#BsL%|k0iLN{xEeTcYgbbjrB8G9N%zrGJS zMtRoz62;+-%&*IktjYQHepQYsgYKYo{0Z|bt}VkZUE6g{&a5kdjB%pBbARORrul8v zQ1TmY0O$N0nonVGPZeK@q%(PpS9xN({F^NY%|1|!COfsX3P(vVq=Se7(4$$ z@dfhh;;W?JYTY}h6=EZ{8@2@HUM=IK3A}^}E4Pc?@rXIT$9Q$3+{#4PUIGEB8-EJM z70y-iwm^NSH!7WQ7P#v0ETvmt%uDF7f9NRbEzPT;V(KV832yC(i@FsR4AL+8oQfND z)mC5u6hsHd0eY7jq!=YtRPsi;y&wlOmMYvi0*h;qnf6#07ALwlA)d{QW5WXCAqiim zZS)7h^%N{4d(F%(Xxz7&N^K&$x`&Htt1>;vFUL%BU-U>s9#8wwuj1 z`wqV@4Lu|7&`A!vxwOz_+^~p9hmKdp)r1p1)Fc68?hP=T`%80>&!x}A-9X{1C^cQG z#{F0z1zv~){r9w@^>pB3lkl12i_8bqn;Lu-*h`lZ@vSwJAasOENe444B#kbOMH2d= z!4j8(WE^KeQYD#$3xuD@*sr zwIR_QrMyNrbnJ8_ z7#@{q2M9HdI0ap9EXkv?~Kml zyQ%gTDMa}Qb+EjUtTKJ>+N+7xY~?2uZiMfm+Djv9_nnRli|r@eeC=vajsS$QlZgIM zX&Zkr`x`C)c&BajeZrj&g@hrHML$DO&dF~8Xx~QYz}br zeZu?Z+cp!MyifQ=G#F)(3ycL)R^~15k*zA=HKeLIpI~$I?qVhnB&|8nfI5kLJ9VyP zO50{)ldU+<){6G1PTeQG@FBImHcy_A&zajdMK=J3Za>zD0PSZhoiD1~vB`uT>UP zG2y?8V!Byl+={FCs4TALEB@gpA^cZSyo?V(mhg#x__;`a$j|xVpL4@M?+O2$WBv3O zm*FQWtKp-v*uaDT@UupK;HSTMD}GiM?==CH#ovW~9k3Er7885?$Ezca_P3pYQZsX~ zs?!hxo{sw|FP%uG%P?v>;knkRF**_JrmhM-Lz?OR$ea>+j6DxkLU0jXkFQd^E1;eyp?5F z8r942!H-F`x3PRN(vRgx;U;7qmeqR~(KV5o%*w(SL z=;tMV!?**QgYr?#tU2cP$gF#et1m=dff4i3I~fyRa)Cm37!QmugF3&%$dm+0Uiu7S z!3vjtUkbu`Vx>JQ?7LosM4^M_k%jeSA^pt4j0{El?sH9EHyh(SIjRl5b;R45l1%fX zozEg?R2uJxwNI$^_0?CwGa{d776M6c@3DBtP`opTIc>ai3*Ud^9g+h6{S4k&V!VHg z@J=Gv*ZQm_cAn*Rz2v&;pzaMUV|cb4M2;(_NMXHpvvRDTfSfo0$UC~ZhO6bChY%fJKG z*phPT{XqNu(p@-{;PPJ$9_W{YI!H-NK=C4*LKOeEv5MmRLNJ4n?&Q){DBke3Rhwuy zt#RFmHO8GtAd85=;}u!o1~^<=Xef1XLN)yQe5*9yM>Mz0(; z{QFt-dbU^SbqH75CcSo}4EC=v4u2~2+WXrOz5YQ7>-Q@Zy}rE!3H8i({;uft@IOd| zpjSk)isOHiUV~FPYL!M8lDDGQ_(e==qgUtF2zveI82a zNYEI)K4TU#2x%yCUpVV1^m?ONO^9BdtllPHJMsNDdL^;q-_N4gX_JLspOjU-lCNGx zSB4w93CJ<9Cq%C+DS7qGv)3wmJ^3kl?XpAXv3gicr6VECivZ@c?a1!J2kXfkIq22kOOU8+JD6L8rU)R7yKy2LS{33??qW0|Se82JEW#=?Z)C@DtZBdv6!qvSUH za0hOKWqyj&g=_57a2X2h-ZfpdS2@1Wzj0Z2Id1Xp>Iw94z;;VJjXR+TUI=}iT6bvX zo_dD|MB9exN)#dJ6V*TIe5*WxRw2+aXXB@z(_^k zei%5NpTjmy+Q-XMxr8Ph_Qb!mM1xhhk6>-`RlgX+qX*-99PQ}AG$A*XPYHV!@0 z%lmOX!T=`qxC0AW zk|!H+Cswg&M~N(6iYxcJ{0BX02i^X4T6r)*tB3x4FcHDMSmTuLEij~ zwd@K<@%v~pEOiH5#h)E;#ee6?KJ2(_jdbH1kN-XN#DAdNNT@GEu2$aDwK}+6hv!>Y z-~`Rz4iQpYLtAdG)tC9c){5)19Cyw@uQST#;@a|7n!iK5D=-Ar`G>^gywQ+W(13@; zr|=h!Aq|PgIjteBoc!hFuT=g@<*#)9!q(A{R&b{p5|68?hP29|jnbX{f$vF)ujAGi z6GIvMgD0X!v!7^p@EAe6;KsEAaR>PCGS_KUE5}Gd19D(K&nnP&*I026maM3uzM-g766|YV~#}a*i<=P<&r-(Ll9i-Lm;C62q z-;%%8UgU4virHK4b+l{S5;>h(eWmXccXqj>^teP0=qCpT=-%UibDzcOzbyRG&EZ#jdV&09vH`;v1slBFTZtG=S5NmIOI z$7p`-6zx^##7SP~R9_L^I%}_v_KtRXZ!H>&xA0ydQ%3FuR^*(8-rDz^a0LrQG&c80 zrADVSly%KfQpQ0DVB6=T(>Xq?3WySNH5od%l3$O4HIg5&_M$^!?KOD{)(&L-9IOrC z4kqJmW&glNs}|#MC)fc#X$*2ztG3;ouF5>LkL|abEeyj^HI7r=iBsM2wsH9{>1G@h zN=eG9u_pX#UmCsl?pPaT2ppidtr)Cdf|I2p4})jJMroXkB2}E9bts1lEOz;fz*aO@ z&+PLW)Ezy!L>|JwZo~^)c^8^zthl)n3@c&)1{%w3lfzF_*&=`5T#~?_jwc4wkmOb0 zM6dJa2~)Yro2tF)npouXItwS^4V%N0ZpPc#UQWD$Ac{s$8QX8tl)iWaL0mq1>R4y~ z6p{xBqW@^`__0$4$t3wiQg8l_&_KLxN$rot)ZP7HsSy?#Y)vj}8Vu!XLnc zAFHP=#L`VpC{CgL5-ye_=gzKa5K6ZXlEM|hl`ZjqWU$Q;K#OItPs8{9vP;ZBKuQDg zIT2Qf4e^~@do9M1%xxSvl?k2r8SkwDkRs05380zQo1q2rmaqwZwa6H-uOm^o2@Iz{ zc8T#10P{+|c9bxn9hJZ;76n&>!zU7B@N2DozZQ%A%Kfs%`XO*2yf&GIg^1Qsx}KQY z!avX9k4f^#X0idTQD(@w5PODpU&*W`+-ePNnwn{RGbPT16eIJOq%37h|0=2gwbSf1 zh31?q%sHpFZ$wsKUagxwF|n6pVz2hXh(gS|!+dxbs0B$Q`EW9TMAPQZvbeL)*OB|P z#b3c)_umr#0}7hqPOE|Uwd1}8h#gBc))Tm*wI?tc_P=l3X&a#PCTQ7Jj{BZLA6TO~i2YT{IpmMby8_+kzf*B#Ev9v?{7{1S1_UGjIkfCUZoj9@?H^j@xcfqk zEKanyaAm*ic3l1q0+2XLvRja*>!3tC?&^&1$^!dRS5gShKV^;_&tE%?<4$JZlO}Hf zH_4s~CgRMC6mR|OF#wTblgdo0Zs3a0X6VF=&qZl zc7QL-KBzd7B)iUW=VGK_XSJ1<#^*k5qgq={IqdR(<0=of=%Zf|U;HW5z9VfN#jDVF zT)uj4QSO$|zuk!`{005noe2Hg-4gn@JJHEs(7)Y@(7)X+p?|v* z)AuH~x4R|uZ+D`pe+Qv|bG3u}l{3nM-+M+X?N>D?$G$bAopscLk-x(LxZpmVR!SZDf|LD5ZohuZQx(6@7| z=0aJnT7>u9cSPZSC!Nq`gq8_3N7CjKT1{w;Kt~C*h|s;zm#f6GUtF08W4>w%0>SFJ z@1*dIKf*d_x_d*4R`+qn#<{2|WiOQN6y$BkyzQW=L)WhGeeTIV=<^QJXYK%AKV}D9 zesp=Cr?hN#dn^HQUSI|2!l)6h$*Ufu_W-#d;m|5A?ORYB4--J$-ekOPrf|jYK<#Ck zAKqEFws!j`rvOVUs3;^E$DKrys|ij{BBk`GAFOvf9Q+t3Uf`MZ4zM<*-ktVt#yYll zJ^r}YFT(QVZD8Q-6oQr!RE9ph?IbLnuxi3;2+JWXpRm2?>Ux4k5rkCHGzH z_Byc4@*V?vF2{Oux9>?8mc;}0nJrqofPNnLpmeQSvm>Lp~mW6~dkNsfKAiY^a&y)QUfa zab{)*41AsAuBAkTKBN<7g-;!Kk%=@a2Q~iHlludkp6TWsl)}pzJZ650pKI^MSI* zSo6Ul%m*9TfJj?QKF0cet$a@lePn#`PRs&_+D>hYFq~M;-WsIRr|DNg;2+Asih}$N zd6IaT()w@;2KWd@>4?}@4m$;yj$t^$AwDAZmBTp#%_o$Dd?X+5xravyw1`lS^AU`5 zCFIy@k@wrZsn8*QR5ENk({~X0)d9&n?ZpUpQWAcRZzrrNzT-8_^2KXYZH`@PHPvlx z(2H3QEdM?L&=z(F2Veqp`_~(0342&&ZVjcVoQ&oiK; z+yfhEj@Erj78dW9JFy16AYQFOd&+ZW8Fygyq{-*VGIW_*yyx8mU1J4S?#rNyR6B-o z<&Nc7`@BWi9iOZD*K_4wks)i)YDQ9vz4C-b6Jrrb`ijb3fcwy)UAZE)EB94<(|A0K z#n>aFeVi=oDa=!*|0p}WPJmJUz0WK?Mt{@M-^=1ufBVbR>Tmo{@9&oM=Jxk+bz}WK ze0*d5-Q6}uf42$H>Mur09dx`NrBI8eiW)P%a3&HEUkf7gWB(HCEHkWdf!Ri4Es*rq zD`>H)e)C+<(=$#26D7TU7O5gZIa8EjRbI^zt;j3upsl!`Yvqw+CV*1P$5rO7yLoCw z-rFc-O}?hjssWvpp>d>>LGw<+a?MwR>^02J_=KnS+24=$ELUK5XX9>AHd}i;o~EhCy?uR+-le*MJz{6vlCApP9WiAOj|)o}bg7(ck3dpLgaRKwkYcq~jD_x%xxLgUxV z9XQriz6;~G8soRw8o!P9@e6d>$YqKeziey#ewcZ+Cwt$lE8OrwDX+iGeOjHHimTA>rH}D@!}@X}>I?CAzPKk^JkEnQ7+`lHRQ|oWX*E=X-Ts|R;=NdrqaMuC>PR!j z?yx%2%rnbHsSFMIiI$LVjKv)6(ua48_hf(WRsD<13F`R4o)hmqwlQaSBF-YPO!#u_>f@04E+^xU%BC24_>kG zTy6ZIZ@8Xb)CzUQa*-{%RQa_WFA0*acvDfS z=_1QjnaxGkgGAK(ujj>q9l`6>c|=0N;t?;zKMLW z^V8qgM)A{dX14Lum3;q=pFnT?_p|uv3Gfg3>5&%|KRxhToetHn=+YmpE zRdjD$`jYU|327mI`scl113mNF#}q%cog=Tww<~_S^bWj|pKv*+-QD(_fowsgG2%{q zS6*S4Ph(OWKaGAaf}b9Th2m%N6KqZmC>26uhvDp{_-VByNQz(G6hHllM2+*)=4@5e zG^FBsaQlw~o5N2pNiyN5OJlUs;wQWR?zQC>FPZ+kDa>f&rIvjEjhBRzeikn+F>cVr zAM!6;teXD2V?e0b*}>jfrBUS<8ZUZOk^G6Xu44e24Tq`U~)}QHNepydNm7m0+>Ohi{i)yGfy~DOF)5F{e zxh}##hKKo~i&Y_yq7agH+z%ve%f2e|-cFydy&grMMXcOLpX2!c8-4x~`mD?o`ut87 zCCXoSEvU+(&(ym?R(fXj0!5#@?@s5 z5$5K9L=a}hFC@&TdMKLGjtnGW-umu;@J8UXTJOn<>Q z-GQm;rm^pNaZ5lni=`S?{q*)ilix{X2?zwfDhEJM_K%K|*=Pcsfzykp!y9k_C%PNn zBR*G9@)y%yX2sSu-qF54*~DRZ+7OY3rktUx2yIX zruQ&CgMG9_!utHqSRfl~1y_3TUkLBK0&IY|q2))ETxDF*i$ zT~QKL@(N?fVNyYM6AtnW!#KR%3JGX{9^CSTiHH% zK^(TWKM3mAlTUq!kMON*C!rXlm4<`5<}uKdXH?YV%4kU2zHv}$?3bkNF`gY@U6S_4 z+u59sOJ~q!YLD@e2tiP$+%_%OoB8_H-ev(7kLO^}N$PRb7Zi_Te?{;;ydcSb@kES= z6HQ>%C?qucptPf2lGX)@Y#vIsOVV243q6pUxFl@{##4N=um?SBu2GFw`1P2rZ1R${ z#Yh^iHsX@Bd+~{vq=9$#7)x0s$orG;$QpEw+G^Q@!uEnYzT%-j3EY?T=M^Ewfa^<@ zmOVAycRqy<99cR3@;N;I%os8LsLvdK{DS6-0TpC^uuR7P@E<1DkUXu>NxK)xQ`)_0h;Sek#vD>`Wcnn+J%AIbpq*=~lG+kHxS8v=8 zI#M2WH_sCCxbIeyN4@d-K_Y?FKp(oX%jl+Nl7~3ev7tg9r0O8I$dNYqfqL$jU?++^ z=x=45j?&ChycffuvVsn5r)iN6Y(GN!g~w^uGV2b#6~<0{*`GH*-iO=7*@1Yv&WU3k zo0V2O8YHpASjAN8ySE0AdyIbq5>6;YLV{uCc~OWzC? zB#7i+--d`Jmb|v&Q9+)D>E-&Do1~Y%^0{$(xfE3^dZ~r*w$aPe&kDV~GhXQBlLs2m z%VN^YdwoOnvP6<3Uo)Wry-b2QSM=hOG|}`j5=5uy$0@7TAEZaDPZf+_m>K6aUh?_Q*`HfM_7F zSd&CtT5X&<2t*oCHx1&}0y9|4g!~iG^gYJi_Vf}sW{*eGOQ*u=vymR2{L9!?Owi`# zd@o)pY2{#mb!tbt2CVQ1QiD7CZbEm_1b#EF+=t(R%nR-Vrfp$lc0mjv2@z!Mkt9ho zX+#TfjZ*FF2>Qg#&mpx-{;4dOda51Q5H~EQvBvCR>1JczM6I|Y4LZo+D^xU@{^s*C z^Vw6Ls3CKf9@*kd=1pMjX0x+cFb4O_uSub5Kh2CkDf;FV`HrHJPRACSrB#~xX8mx{ zH?yP?rHMxBo2kex^e?4{=2NvFEae{`Du4C-2IW7d%CG)o_)BE@Rp<`OKR2>`oBR#y zvqHv!r0vU47zQY$&))lPSf6bp`s@xIe-eEbs^lSKKrR*8wFqIZ6xrQ|fs4i<>o8<$ zBE>C8yNv|6;4_(DG)YhPca9P|*M}5YxGnE6{<@Ny>sm{Z-GNItq@a4^rOrx`9cn4E zroSY5=k|YLq(OjC%eLvW-N{3b~+o0Y}1KNI~{{BN6}9ENRrSMz86Y` zRx6v-PFqD(8=;+kwa2ENI#?tKz3-Rdi6q*;LilMla*1$BnldlUH736fzDD?Ujz9b* zlAop{H>>$D$ZA6T3Vz}V{OKxU#Db+9EOJndiWo6S)ftMmlFRqsEF_#`@$Y9?!3iNtWIUVW2jtuAYi7dgdwj z5>jcrGG1O++@LHt#spetXu+XX9qB%l;4qbj<3=fvyHnqdWEz_Vr@c%Mbh&{Ogx>Kl zt%=!Y2CrBp-NptL&nvP+#{FLbcUVbUyH@j!Sptb+KU{gbvh@s?1WAuPt*F0uUXAZK z73N|({FnNSM4*cWNCJ6o6`Wp+ORDh}S!nm#>ji2x%7;+-(hy&IR8k+^GmQK%$ct9P zx73CkUJb+hd}FOZBI~H+WD{>T{0SsrL9L{qW~^62j%v@*Y8D`o!TTubv_FN#1|8Mn zheDd@Nw*~^N43X6kwf+{g}o4T#ynQ_(@$1U-aC2%5YN+p{YFo?Y3vxM7k(ZUIZkuk zc@d54`f}k{T~`Iw8M}H~>&`cCA`Uu!F`kM-ozV%^i}^wIaDx%i!?}-151%cS9)2y4 zh#vM}4_EeRvWJsVX1IqRUHeOWctt(RYtX}_P!D(BC_PLxd)NcjQx#ID8OJUWs|!gk zxEy~hxOK|WQTio6eF=iWr{FI2R7MG*(yzPFt;!Q7$Pgs$dR&>LAYyi z9v zT-)QUSM)Ig3Sj#~6)tOtTGX zh(auC`8t5v={ovnY`x$pNoz+jok%m*1)l&1<(2IBUV?&%H)>qt#5-pEJCNAVcvnAG)2zQUgq=RvwX zh(9+ynBo{x;}~K%R(}%b81kuObr9*Y;&zU6%u|2NIAww}DU~gJf5aI??-j_N$co*lIJM*0^=QtJ)s7)=;brRvysTc0 z=63y>KZmSwtbU8F?zkJTEOIqUPeiNU=F3}nako$8(czMh(RuW_6N=mCNJ)Nn6Vmfv z=>D30sItR-jv>{K^EWsiz_~OW#>=kq8Nnw7zdXfQZ9MS_rp*TcaIFAA^55+eNTmSi z{+MTVbM-+u$n^;jj?vtK(RAt8;8f2(9N9`uI+1NoO}F?1RBk_|q(0J^@a%hiA{2YCe_edOH#Fi=?XYpqk$Jx?&lV}^_*n3_q{JuA7 zl<=qH{KP-mal0pmzj0{)Ew((oH7P6)zup)v56eRG@Cu}(09=POHhI{K*(neADS4O} zl821493c-;mR%mMR57l#9R$tU$inRCBI)g9hNJ=NnP zCFU2woiYMSVov@L5_2N}QO6+*Fd&qeIQnXnnC+O*l9;S>%S|#A$)`w5Cv`kap45-V zfx-9U&zQaFI7B8|vJF3K_`{N#y*hU3iFc8kKxj{l0z~Itr({cSBHQqu3ilXS<|FQL zNSQM99?H-`C?JuQyIFZ^$8>3>iRGz6MMJ_^o+1DX%WP0+dIFZwD3PbnhU94(EG`~fvN#YFYXc7aM%UwflM z^@~D6lRCb}XLx=>Z~rIw4$0ViIA3fC$=K*Ic=Qi!zBvYaK&n7 zB>rzgxzvY%`a~)Q=45ujw>wJU%JdV)R|EgJN9bH6I=kt=nZHdm+>rIRAK!no{(>&~ z?`K(mAG%8ns*?}X7y_Fs+>#Qn6Vs?M^KSXnXH3Y}`sE0GfdjKo*;)r)C9m!)m92H= z5ZY1U&B?<6HgC=ejC%vq?4v`aT$)_(7{H`9lk1{8G1PL(QB1D!$?Q%uO|FslNLX!m z7?YEgA+`PcAdo=PmE4~IA@y$H&3Ppf#4wynA?KQfyt_p$n=afSi_nn%*??Ya{}M&7 zi;xr3e~4Zm*D%AQj>2=qALX_nP!}L1jTA?fBof7%m&K{ z`siRqukT!e*BJErDr2gEUcb6h$|b#S=+C4!dfiJOw=lgvkKKh|La*h=D0(e?Pw4gW zKQ~6Nk0U{2^g7clDqSt%*MbG?UlA_mIkGy{6R`l9sFp1FSjhuqeY9!RYq-%P4^fprS zn8rq^{poENCe-n*e;J{6ZmkG)C1fE4>%sdQBh-UP&={d^YNZPCAq@$2+uLD#l-)o6 z5wr9Vede=Pn>_8u_uuIAm(b@!ej&oi--YQj@oFI_W9IGhsn75beSXOq9P|IpiarMp zlvnovbN+Xe_H6W7#AAk_&nHO7iazhToM~+I`S;r*=ra`t&|e}*rza`WI%&Po=QVT} z3dEZDuR(&w=<_18kj)UFq|fYiVfqZ&OT|)pgs$lI#tTndem&kHHXn7E&ObG7af)*~ zwUQf`(m(*O^j${!_gzu+9%G5vEOF=VtjZ=*eH-I4Dkq zn8v%bYUzfwxS*3?Wy#)%3G+du4lUWab(xy{*($2~lRAFIr)|B0%YNHYtfE_OLv(U?_Cd#8TQNuoZHMbLwY0Yw z;0l4Qyyr#7=j!8l<&wd7?5e*#F7A%{I7HKMJf!-Hh*CQd9Vx+a=iks?bgo1s0@8OF ze8;Df{*aX(z#)TML_%|qjTdlYG`NL;TSkKsim9A7V&6iwiKZtHo)Ar)j`g5UhSgTo zxfcedy~?1JXfr4!GC|m&G%0C*2G^vMlGE|Tm`>_2jDLp@18r=t#{aG39AmMjpS;mA z&QS=!SXeM7Z{iESZ0P_3-2$>>o*~1WDrLwLdWKrOTbT$KIE~M^&BeXGj96 z25+!Yu||zbHRDPYEAv4mfdub`8HgGs)L3yXT3R8@D3(QF67)J;j0;j*Y5n*6edPDcoqNx|Jm)>{dCxiTE6!WZ z;+C%E6S?`5fY>BvBUX}_17Ogp-+Est=g9J_R{F1&M=Sr8!Sr|iIh2Z3{tvDc?K3iJ`ev0Zzq5JzA$u?< zKZ0a2o9F?4xfF52`H{EzeS#km)Q2PgU$*@<-|X~&U^=q6Qnus~Zpj887IKJ6^AoZV z#?_lMCD+k0OK=@6qz(so;}6Woh2)4O^KtV3G-Ez4E+9^V2fZ#4`++}Q>Tu-f2Nc?y zb1G1HU;Jl<5-z=3NF6>yfN0Fe+g2iZ2*dHTth5>4LwFo(WuOP}*qs@N@y8eP`ve}_ zgU1I)3p~EXm9T}!JrrIUSKoJsJZY2;WU&AnA zT=4UPAO?Y0a0N%tPX}VbVF|=!&|(1bMhe$_t#QFOB0w}CUS=h-9t4pL1(G6t{Mk4YS_zA8NUecrF^f*UX)Ooz4-PqcSB{}680XB`9Uk00VTb-rLyA| zrWJ95CE~c;))lPHPO}=n_1TN$VZc(ejLtk+$94LR!;tK0iMjk4Uv0h;w-I+rpySY& zy%lO-p`z7&Hhu&AnCf-#rW#dif_K^n#t73sHioA|+3U?Yuz!{ZZU~7>-b`#1cRkTiJXS-LyfjA~tKr$P!p9Inc2Mv* zvF01sEmgY&{IOCvN2Irt2~i&|F0crb^=mExmhM5p#9iG#&2s90!ZG0NSvVP&fP6J0 z>vQHeSM#~MLHl%mw^W=K;OT*B*;qVcQN?pO|3FopdaY{PhC{rwYA@%q(&+rb-&|pf zD7MbXGvw}H_e1U4OPnNY5{ik80GX|EM($-ReSl_}rz@QyBwcxb+xpgh&Z z6GKpposA{J^gPi*K$|X37NQV1AvC@eb>K}u6dzawRH;~`GW${NyCSojCdwwf>vSNK zwx7Q?9nWzaSR6cKY1fp99cG;MZs;D8aM75&3i1igoVLK+Dz~6PEMl-Q4FZ=blG=00pSLWd~qpNTwWArRs5$@NuKv` zSH)Y4uwusRe^uXf98*j0sw$^4 zxJ=X6xS$%^=u4I8os`J~KrpDaXhx-MYajb)J@11 zrv`qj+16-K5j@c7-2uK%Z<1!+Fi-n?s;EC{tK4YBr z$y=c$dybMP!VOdM%2BXsBbmMdbyD84RFrSrTS{8BlE%=gqj5qfZ0x?r$Z1u|sjHQ| zssqaDWe4B@HHB6`E7R7pMp#j2>1EImj^%Nu(K%dZ;p|By)Bj+)F5sE)1U2kDj$Qb=uo=q3x-!Sz4l$4!A*E$UN0fQq3WvsrUqtrz%{J!($1M?q};%qMK$J1=B;V9<1MNDhv0jPnV2^DxwTfMW_Yhq9rJwiRpzSnvJ*|38~ zH>Xd|XOb3(*1*i+)Q^Od`$xJ6)7+gO&kG1TAk+bs-f3R=K4%bly@NL95;$h`p60A~ z#q7OhOknn|R*HC5mGj)Bm7Gh%E^4yK!BUCh`1{Z;8&tqs1KsaOY)a9s$&?aB1_R>V zxcdpktEf0AeyH9cEeGhJDi`Bk2$bpTYqYY%eYCQ@*Ge*Ql*Zl0jo=`vSdGDdI7sqW zs7)EKNIw76bi5zhcST{5Td8*AhUdm`FG(v3eY9xDS7Hg=D*r~iqp0clxU_1 zlswbvD0N@rvO#J#75MKzX`XC|ki*mRwk6+~L zJyY{GVdBXI@l%o@5Bu|a$iTKK729K!{7uTxjjHzu<{MHJC23falD}ISx(9Aa%2etM zrW)YF0@lDchlPgb_OSH?M7SfCQKIZ#)?LZ>D?`6k^7i60cUgv#e?S>pujC!X=UvNk zWL`?%Co%&i?<=XL9jA@nRgK%wd$N}9vy`MuXECiLcL~yziF_qe{zOUJtE7F5M4XQL z38!E_?6xS7+{b|~Py19kb-R-HDJGar7+RZPP(hhih|2Q}V_`?UsJ`WFacFukhNv(p zrSO1~zYY0p7r{wH#8LB!aA7;L)^%G3*)s5JK$J6f?O zol?*JwVmN1J_Gd5%8yM_2nrp{7NyPq0txOx5q2|Bej#uj^!|)axrLzPGFwqlz+H2! z^1Mn#zlATLt28675OpKmg83;)Aoam?Hpwwk34J#nq3B-Lv0!*GyljtuSNTZmUk%3# z5IGTrPbQsDo{3q~W&2F+Wk@=I1&($FNu}WTBFViU+Cj!o^y41f_=#Ei4xIRwMD`9v zh~gpo4I`_okxe4ANt}tb-J=v~gXIE8g~2Y5OM;k<8)H#1(AC)Y!7@TO^x%DJ(>k8n zgEb=WE)Y@>v-5B~Mm2s1I)*dO;q?Kbdzcha)NG4SSp zM!58*_em#}w6&!3MX$iAc8!QXArEDnhJnJ(Mznc%vooC1L7u+ zoBHI1R#>OPyo)&vU;)#-OU%2<)Un7Xy*>-a2y^HDJ_f&?^YM$Vue-(1uP+xrmz^;W zju!u&7Wbx-27?nr>y#l)%8JI0$_?O(*C<0*D?`^QX&9UPl%f0KovExSi&t*0RMI|F zeh;5duy2=4s4PO=v2(L|+?%RngEb%~jKkgx2-xQOGMoE6bW+??2bAl)j)`v~>S{3Shy|L~B^iuZlJiYar*PNYMR6!c z2i399vo?Hweex_~5mTlv<~LaQ>JBzi%w%v9WY%YJK5`n@ch`*URBNe~UJ9)U{*k^j zF&}M5r-O=a$Lc)O_zR>3HyjgoTCqFk{S^+SNqt+i>No&jwSU4x-qEp8>+~6%nUtb* zAgcBzJb2v)HmAheP${|u1G{!09`_Vurxz>7n!(11zk?GL%R=Z+4@{idm@SJfDEQ)v z<;6v;vNP*fVR@IWf0qfeklC<0w?L>s|@!$J%$k=ze%@k@D$Esqc;N0a>tf(Q6^pic_YRp#{)Y>|CXyl$|U(Sn%n_ z&1j}iG{yCa+5~e_`}HlbkOQ^fK)L%u+WZZ!zroTZFGd@qH~V7jzYT>Rpt+c@X-NnD zSa2(cZ>!<^DfZkqtC2wNVpN1F2$ve+k{aexCtScg8lbO9-Mr{JZ$#Gt z8;{hm%PGMM=A~bWs>J+(+3DdD(4Nqzb7Ph zxW@^?&xQ{0yhZV({})*FAKD2&z~ZlVHy%O$2unZE|2iS;Y?c0psQ$r>`br_xJDOSc z4XFNSnch91`UgSvacxu(2Q(k2HXw2lj6=HYHBP-WMEpx7@!z9N`-dD+;&MEswFw31 zVZ^*-Nis3DD_*jJaQg>lYQ;-lJ{@K_mazF<`gb%OZ@9Z*9Bk(K6;h3}K{cfO1^3SY zrz$eKPYK#z>Ddcgm$0Y#y-WWAf)Xa8Ouhg`kn5MQ@Sy2VLHilq`4s8CQ_y|+4KU%G z;E~@Jz5m#=RLG;y2uvFUU!YyzWf6QKn^29vU`!ta?}{-!0b}}WjA@v9?I#HRU=aF! z=)+>r-P{GB<4O4oK;JiDr2>MT`wCpT%q`U$QOPao{1rXd9 zaFi{?BYzryT8uY5@?Qrv|2PQgCr~IrBr7InkkLC8+$re!baVo!ptP!8QHsS? zZZ}ZzEui9C1Qp+%#p(nw>9@ zSUaCb39G~>DYf%?P-^)}GVOdGgo~ddF%X@j-q+>`g6PF6a115>@(Kv^YmxDH2$x~z=oUfaQ=eKhyX>%1`yExwy zblJHSLn+`QXtHyu99AL>=y4_J@iEWhw&*bk^9EJYVx_3Z5mHyIj-2{-r@b83GKZ7~ zm(D^MDe)W-Gh!rjF-);L7sRklDWs3hoWUaDsGA2yQ3Z=61PjCc$Y~HB$cf8eH$p z#g53-r4vz1C9iO4F@7QON@WqSe_+6v7i8{a<-_xb%wn-fPKD(x;{jOoEXR6VRC_{v zUsO!D3PZU?#6F4!UTYe4BWLMbz_7tWETq1eD>`AHqG2cQ2wCg-ytpT_ST5Q(!~WzGDZ%wcUf(@vzrH3P-|$h#$3Z?C`8bLPw>(&}M$dYnhz#IQrkibegHyFiYh-Wmc+_6TYHL|e&RMJMwPF2#}vq5I0bh1`SbI#5P z$Q2JNX?M-ek)=@bK9X4r*3Eq+R+16OoBwy#?8(6ia@jq#@N0 z5g+KJSTe1f9!TlKV1I2BVoAsuPhX2BTPynOW;BM?RWLu@%6b3;G-VQK$5!M=@#I>u zHzd{r$8dJ^bjG)@fC1x4i2-@dQ1ngG?dY3eB;=W26BI5gNkh?RLC?<+8X_J}@k1#y zTMID{Ce{^4J#W^&gVtwIV4c2lna(cBG;RQA-uDK}!fOD4ObxaOvBHXo`$akr&^! z^YHMcBcTrCF5<~yV~lLVCP+FcME(H(*sj>96y@TrRuQc0pRw&gQC88(ER(Vjo8H@m zMB>yey|%2jL&G*~IjD|p5M8bnc9z$WEL!p_?4+<>*ss)d9JiQHX_)sAWDXD(>kuC+ z-d_?!MwS7Y0}K*VZ4MZDN|)@YRuy>ISoitZrjYcNa_B^KDByy1kP}CAzyLLsa(#+A zOxDQfhmXG&;pyNMV6ak%lP&~+<&q#>BmhJ%U_2=T+vizS`!!F6*sDcDf&PMCZw6?S zF=glFa^A%gN#RL)58+oO;x&@qgG`j7Zotmcu=SV~A2NLg=Kj$NkH2;%1M2IrC4`Q* z*x3o-f+)uXp8z% z&-vwg(6GGgL96mGCd*Kf(nimEITQ+i0NV+VHJD;J-F%GcM!YN6g9AzG{P$_UKi)`T zjN^?KfrH4=Qi@82MhkcGTa1=8jFtfZODHFEyhy1T`#U&hcFQqyCBTNkRfwd}9<7C^ zW3Cu8VX265lPd^kn5!5&xq^6xxdzA2T(MOigtnZ5(=5qcYY2DWu3>*u1&1l+T_{Pn zrFe{33VeqoDyY|8%Zc(4%Zc*4mJ;P7mICF?!Vv2tmILcF(2T9Wh5iod(Ct;~zTiis z3<>}yR4JN@a0orL)a3pL72dDH~bMI}vaYl6MSsIO2J7id!zwlnndGJl6AoZ49* zl%L|A>oJk5k`IyM?o7pwItYp(<)@8_$W02|g8Y7q@Nl?`Z4pets(+XZ+u|;^MKFx4 zzoTK?BGs`&F$To}Q}&JIf<{A+{PtREVFSpPfWO_Y8NFwNgpEEG4s+nzdoj((Pv$PL z+${o$3hzfyqY$N1!6Q*k4=B|nMBrwIoDfxG+!GMT=T66is(ZMC;CMtyAFoE&J&x6Q zsO!+Xk5!}N9;=~0)^3+R-rO6Ov@d;(tb^#*68{SfhPl<(`AH#h207q(gLZ)?B}#q;FO)d4g2ogbFkMz?}-qwZ41yF zq}BR(E8~5eM$Az)oWSh|(431CHN&|i5odvd{R`reTMXh8l5#&mb}F}+{FEF~7{X8B z3vM7yVQ%A|1}13%#{3W%pFz=E2P5S9+rsdKgj(`TW#pG2?9FSAL%=7=DezZCiJZWm zQ(#Yi6L(I5JNZq_B@%P|Obp^}DW>a25=kC+gc$ha?!mGuWRmzb2Xw(GSOg>9@%IV<=V6 z#r|u;qNMokVPB{C&kB9H!w+I9(@|0!)EfPGun_XJ)?Vtg_3sSMmzF*U-nSZtnwqozx3EXagz}c_nEH0`Sc9nIh$|^XxhDF#Gl!Gha6hA1rWn)*F@@jaOb4V# z5372=uBy>5Pp$07{9z=$U!L`=TE7|AZ%^yDyY-u9{icdvy6Kb>^9PzuKNI?`Qn|6!H0w&hmc7 zW(A+EXniObx@9WO`Xu-he7(%=@eCSvP2=!y(V?OHLa&^`LjUw@8f&XQ0Hk)Bf5Py< zA@o;s0!IZ+4=5_;qm`D;xmOV&+BJ69uJl@0a6L@S79^dID@Obc9w4{Z{Zpi|GzqnN5vFI1#b4r55coc_QfAn zqv7!=0z|{(=2Dr+7=$4nKP!xi$7iez^Z*`nm~j|=?9cBLcx(?IXI>-l`0-4%q=m;g za)`#&wHHb}-W?}C?}?RooFSOPmU#58XWvwsZxg-}kIx)whR1iWiooMDneD@)?|liS z%N|A6zW5RSqv3G`0z|`Oe=89abdh*;PL7JlldTN&03J&bCmfG&^ZNuI+k?kWzY%!M z;-b~UqgyhJL%T^leqs}N+#DnE*ikTrVfW1sf5=X$G%q7=B@jhR+2a^(8q3Afd=rH+er{a$GH-ZOO6UWzI{aE@vDClYhif&w33}t zX?7-VB_8)5Xoklwmqy@mMRxn}xa)0+$HIxo+81AbZ8SWVBS17f&ao2dgD}M73x7Et z9&fSo(F1r)V*X+Du_M1v;ITb;9MVJJ@o6qmE&8}pGK?>$NId@fu)yPmha?_v7EECn z9tW&qr&OBbiCc-sJN7lh<0N|o9-r*jK0My=mc-*hkTl@&s@~D?c-4gHctK_AcjmBi!p27$*J z^%9R2jl^0Q9^YNTPN_7%CDSPJxbeGYc-(hk1Rn2b=R#)1Vu{DQ#v*H9{0oj~czgi? zqS43kRwCyj4Dsmow2nva@8qC~%?`|s6^wr)mDRynVLev0^u;~C2aV>7pLkBlCvx+r z1mu_5q=;;S^7b%&IbFGpsedB(g4RbYn0 z?8-{qQ4}Hc3bVeGuq_OJdvI0)N61I>bFYK zpK9V(4MjciVHQuU>&0I7*?N z1+w%p(B{hLNLpLY3=p9SwvSVBIR|<0sjXqRNuHd9G{?ima{cq3eMlIRUJEdRCusW)t&J3 z9_ujfLfjB`+V;|Co&U`6^KQ@x8VEK1Q>|$w4LwgDg7p2@2l~?x3TDjxLpsFx??~V7 zG{jA3EC0-iz0Zxo?T*$eMCC%C@%&y>xzll=02khcWqBU!qTy23+1&gf5bhIrz;STd z%tG-HsxO+zz7-c#V$(Nj4F}QaPW^5eHuIFILa~w58&FxqlyF`F#7ML!H5`3!PW}jk zi#N@m!=5r}&GpcXOO;X69z$66-n2W22GQqvcq0Gbu zgQGU(>9UN}eUBO}q*LD~EZFGAR)o?w@X(5G)Gz@mSDkL+&82^>m3K2r>|k5Y6$&{nJC5!$bJ z=__2y!p#$xvs9?2xD@4fAnodbMvsm-bp)+0`xLPu3&(Oeo({)4;rJZd4C)&6W1008 zHjm;@zo$6(>F$Q$XTT3b`yfva1kl%GzpD4B;#C=OQFl3;NhwT5si5pgXgRXM8v7s{ z)I5lKIc=-4yU$9Ie&GVg=>vSdapa?Swd(7ArmBythAM@M4o;gNIublPYuBJqq57c> z*exIpe*EBiFxmxpVf&&)Y)u~D422(PB>qxK>W@PdrzlUBYQy@dV;R_*Ly)sEDQ zs-;*}b0T+tBAR~~dvL%=vI*b=&_>WrHVb6Pb8jtANd?_-(-#*2tKcN=Cd0ksp64`%oAnu{P%}8D(fl0) z>88u^jps|%hhr+3nZE{wooi;mr#^e4&68X&Xspe1Hd12|J$8Q{!WNrnGl=wb??$#G zS41`)+R1A!e7~mV=B`Qxv>a2Vn9C&D>+aHM=^osvue;VqHY*|1a zW*XqnjdXDM`}yPi9sI;asNp>Sis57(?5d#M%*sd^h2nw6GtA&7{!CB;Y9B8-JYQN9s(D9h^ocF4MI<)6RHZ8 zX@5uMT|U?d|H5fMBz&OS0|)vA@3x10L<#E7zjK{-kX#s!I~=RN4-(2hMRn|VLIa}m z$WxPyF8x!e z0Ik;SpQ_N((XbIWV?T*;+Ut4K)M@mGS|-H#RNUd5yp^nqk(`c$uA8Cf?BmhN2z?Mo zY#D@lfhNC=5Keuq`Yz6s^RJKdycNi@R5c2YYWhB?FzJv97Dn82IhF`hrl>f0yrPX7 zH2`{`AM8S;PZSH{bzjDP}hBR@_ z{#UAzRhi&))G1RI!UgIiUH1K1dNuATV5aoeh}&OVL-V=jJ4Mw`0fT_K6B=r8bK_ea zJMO7Wz7x5omlkWjM6gwf9br(nBh~|W@D1?7gKt>t;K8?4zNPXFBMA?_b>~}mzV+l= zPaLo9n1Pi=hSO2&d9jwW30bo2Md?ko4FH<@P=dIU_>!9rhE1KF4#weI`<;|kR z(aCIW+|5VJ6g`Ug!mc$cy=9~-lwzz;UmZSvaNII(9UjhgU@Eezipj9d#dp>^9$$5? z>rU52bS)LG8NxM(uGMs{5w638>qxrR;anvy!SGyjWt?ZORTlS^ING`{iN{h6=awXB z{ik}fES{gvN&>T#n1r}p7#CL;R;2P0@Ru&fALD}bmJKrmna z698~G`<1{%waHSC15BiXd>W4I=M=92}I6u1v+MG0flSbXTP!{R4JKth7FpH6bfucxeGUXLGxlC0EvKs2_p+kIOwyNYv%z*)_Q#5a+f3# zusSjd)bOCDT!%GamDW(L+3K?N3J_3no4u1eg=Q=So>d=~6kSmTv>yZnz%kmd5%hxk z(9-LRRbNWFs;8jN`RQn{{O)M4{B*Qees{E2emdGKzdPD1KOOCr-yQ9hpN{s*?~eA$ zPe*&@cNcNdUisb8Uis;0uL`u+?t&L>H?hRQ1dRA`%0}{Y$NEcdV1TX)DZ`_mUTbJFIL&bBtSYN_on| zmOC|0cvq%{ty%z-Em&)As67o7)~T;IQ|^}Q08F=E|A9PiFlT`P#UHSPrxyUwhy#4#)q5eC_;qo5|Pq%|0PtJ0V~DUnpO@0n{Js zz9-I=)E)ZyqsiAEMMx>D`VHQ~IG%e2OwdzLq5mJnEPz@a5qJ4#?L=z1pUHEe)xKErqRZF3k=aW5+MnSVAzw4#5EAyZEniEQ*-~s7U7DB} znQfSSZU3!SZQGQueaKMF8wIZj`C2g?$Um(dLfk+K z^0Ua-h|*A#hvaJ;>5kI;MwBLUJ=mPzeM5wWfG_@z4k51A;&=O02!2|0sU<;a@f5cQ5bxGw{0)O>V*O{-aj%yMHVE@%*m$XWvgg{TB9P6n?kqcl2y+ zKUtsD9)1_qJkEad(7oKpgkF)hH|+|6+hCoU%pC4d-_c zU;i`nyH_Clkwnz%hc~odbsu z^VK%Ln<=wxo8L`|%r=bQ?Es(S?zO&;QRchMcC=`TvtHov<JPTyci-M2`Q7jAKbqgwetv%U!W{Nv6n<9`o~`k_ zvma;&zsqVKhu^(-r{H(7u_KCxBU(v<8*Fxf^5^Dv-?+RrepmDM-q{wv`|OUk`P~_V z1i|>-=t?neFFy-=t_Nz!%E%lO@<#k>@98tP@P(J8L9U`1ODYes>-|1N`n? zHc{XwOi|#Ry|YfekIV1Az(ApF zCBHijjuHIsYj6lLUv2Zd*UN0%=65fR%r=bQJrzF3=XbwB9|jowAiui>jz5y$eU(9j z)sEnIpMX~czq<$yzbwtoqBL#uyBkGV^1GA2330WSeD}6R zg5S;C8}fj3(X$Ug5Ry!B>COfyB(k3 z9W3q(Y1A>>3EJ9~%ga0+6<;b(CPlwEG!dtN)Jk!}MVt$=E)MO5^N+YVRMhO^&}G@| z&?t=W>B6%$#&_-?LyRx2DuY2K-zLt-(jHY?7l#7pb7ZwIkI%z-c29?~ZQmri?c*OO z`3*a7^dGrTbRBBxzXcK^?&DaKfH@C#Z~P;g-zQ@I;+|73kAE;mR51F@qRE?roH3Nd zwmi)|uAd++{{hZ8ZMMZ3PsgD}-YjYuV{yh4fkJV!=s~>vm)K599HF z=RVO7IBoWS^FGlXm>nqpJw}czMs4G~!z_ffuLV369l`pO-Gy>!=vv6o@@ ziLRL1et!4`imn2DqvVI@PYW=OQ_2O?_|gZK{I^d8Kl~&<1N?Aqy(sXc&qaaDcZL-> zzz^IPRl%^23`b*b3Au$Pa&H1giGR3Q@HW-?!wy*M{@MhkO0Z{O}dX z{-9DqMq-N%=1ve#7TJQof^{`;GslOHBZ zLrosyhj-DP@?TM!w)x=|BCL@Aei7n&Eq-|L-vvLMfipo-Q zh{!(FA)v3L8gWpgp#JI#exK0SA=WNrH@#c&TIsE`94ftBI`FU3+bCbC?>Yv&9RF1P z*7@cc-<`(UdSAX1KjY`ae3n`GzEHej9{pB$m94~t2s5|vxzF<1C4KHo2>RsE$GF$@WO`U&jMO0&b;B1h`H{(1p}hUs+e$isah zo!3J$S@55(^LoplJ`l&_AG!uv`{GN)6+SXL&2?UvAOJZ8->vg;*_oFypfX^)8`nX0 znonAZ^gtNWkXh**Bi4DW5Pom564wLxO=6~D`0dE=6ZmD@;_oNncZgqrH2rrW{H}aY zpvmkly=*IjC|zLroG*PA#0Pzf>0?}-xmn_O-y-q3f1$+h`EL-E)KPOX%V}JF`Z#uE zrKu6;yi?oDynH^xgaOwjh%PSM=`P%YJMHpY+6UZo{wRT43VI3PHtmdtwi2JB7||*OIxMC z+rMwdKNK_5F#Jy8_X+$;`2IBfZrLF~x;Qt4-z+(so6EiwUXzvuQF^iEGf(atI_oGiE7>83vv=6v{ zyITS`;|c-Xhrf*m+=me$8vPw=C2|CGm%zQv-WL5m%gRF!(BEoA3&(E-zfa(|J@`Fi zw*cwB>qGc0l#{x7beHfdTN*^^eU{Iz&xOx@|3oCo8Rtlb*S1dLcQKg(|hBQX`<4J~)Kmm2x&WdrL3d zJ3;&|uzb$nE+Q>B9K>(2WOy^zO8o947hqhy|3!=ceM#UqjQ<_Qjs*WpoLl_woMymv z;pA-?a8DWCKH#1+OaiwQB$NE_*U^C6gaFZiyX`ia$XJ9C{O<*A(cfpRJoEs5bC`D+ ze*5$L1b*9t-Cj;s+XJNB$ds4D~R8{a=JI~*eW9JZ3yDGnm*uvt0aEY zUl5;H&a?R67m3Z5@`u5HW`BbJCEP9k_pb~Z#zsup7y;u)Mz#;eLvED_JOq+S{`bph zFz$I#bQqs%CGr*$5&Z9Ytss#7Qk;YGY!M<6n>w;Z+q~&Ws`v7Vl9NTMJ-?OYd z^ZVEd!OaAt6KQnw?ByA9Lez7 z$|ZgmlNkX2`>e(P{!QSwCI35|{R#e;aJTs1r<=jJBM<+D_}_OPY#)rb43RK?2qY6Q zF5%9FuT}mR0iwb9Nh^^a2qXC4vs$IUw^)hm0sJO0(=htmk>4lq+aCN5k)$*|D}>*b zayB=6OE252LHsVTe9m7d@VnsqAbyJ_!<$(u@w<;)0Qle87XSOKz;B5Do_-HI68tZ5 zZt=fQHUq8;Cvn4oI}HjP+p}?T&P@`yr68FAZqsMcfZK!s(SW-xS0*wRVFdr%wJrMl zjFpETz;6!o4#RJMexJZ^d+=Yel5J-vsen zO&{>T%O!r(XNk`%XIlL4Y+|z&{`XGyC-`5&-Qs^AXV7r|w=x38ot|zVjECGH5qJnB z6EN;cA)T)^`r9)lI*d=X5_t=W2>$o|jXQYoOg z_}UPDv*c`UE|Xr9{t?9Q#g@;!DiP`8y+QmYNrt!VU5VdO(*=GDp0@bk83Ml{`a5G7 zI}-danO=+ko!ShzAFYf4?zETN2i(66mcY$86Ip}*-4YGB4)tweetjNpHhTBX0YSc&Ta{3bEeF#6k(-zV_f9{dhjA@G~- z2;q07oXySN<-*JMd=S42ET8kG&w@Qc{1!`wH*<-^?>=$?;D4uC{O=P2zajc7)!Bgm zCC)AW_mO76b$t*4-1lE?A8^kZAc0#7k_q58ZHNZkCIpBE+-;gnWGuo6{@ZycFd^1sq6^KU`??v>NMd584b`$Z7H)${@X z`-a4Cx*Mh_}@JCC-`5&-Qs@>88n>#T^0f3YZkN*#zU@?2s{Lm2^jaJ zkj~dC|Jx-xj8C-^c?*dM{`cfo>F;)NB@{Ia(BEQa8iwB~{62x-_TYERa)IB)SB3DK zC1-PUne>|UOc1{pTR!uo&&4}~_)U@wZ`neL-%*bV{1)gI|LYU@4bk5jLg5VfUoyQG z|2wG}a6eia0o+qc+XvjgWl7*>oC3^%|NSr;a34m1X!LiemBj61#)0pmxY1-?CEv@Mwu#t(sH0>&k{ zQ{FoLEkS^2Fn-cXqzA$X{x`l=`g@C&co4ry%ruPtcI5X7{I&MCIpBE+-=v&M8+bF;D0-`MSq{M^3VhP zLk{x}!*73npTKW>@H=yvfa0i2Limj%^Gg1AiSWvNDu~~`a=JI~kUo1i2k~1?AMn2~ zN&Kcy7N1v6viM&wvDpg$>tcU`|0Ucl{`VmU4d;IsN5J@+s`kNnNN>qnS2N3f(aJ?J5k^_M1N-p1vKD)$@E(M z?*q+%`_bzW!2Rx{_5t^A4hh_hSYQVHZ&@_pK8yg-=u8ZkP_-X`<|FE`wFy8VT3FC)A zG6CZf+#zqB{+1v>G#Ec=CDH?71pj-OFm8e0Tdc%`_)TJ_Vf42nzfa(|J@_5+mVjdV z1tI*dl(V_n`&Hp(^9Av{!16i&HQ}>hT@b&;lHtvKPU3eTxd8CLV=Vr6tiW%G{z^qQ z;D3p8i~k+f47jeBBY=C(hV}vXoE{Rmr68FAZqs|wfZK!s(SW<{Dw)Vwgc1C2Lo@n& zV~(mHQGNYk=4()@Ws@AY(`k(S3ZY!cuKN0>s+aVI9kIp)Pd8X&gITaGX3Yg>W0$6} zgXdJW5}IFPV*KaB*vFwct{8tOyqpUe=KIk567wz}yh3_^43th#h0@A|TW&2E_Q}Nf z3EG!}y-b)&D}_BYn9Wr6Iv7+ear!*4MAkW0)cqH@SXhmvFwALoJ|(?=DZ@Z5k*BZ!HqE}ua*+1bl!b{f0DUs7 zJ3IHofSP>4{YUwNb~+hG#^N-`51x;ag8N*UzT2-hYz^oyLOj^3Ll_vigE7ZC*j_Ln zJs<5lTW#nCQ+cJT4n3VP7HBDJ@^wB;5tr{5YA;u{M`>m{%xpL^AchJAg7(r{w6CUr ztm#df?_n5*ye$b9&{Z8)FukXtimIbQDLfgSr5gQFmBXriMZlJwF}P8698$b{g;_#r z$c~_~qoej~Fyd+ZR4dyHLze?+=u%p-`z5T{!9*pk*cBsDSW4R>t=LUw7Km(Q(pOck zs|;ANE6vhNLzXX3M?0xLn5Vl6dx5ZD2a|Zx-X-nV-H4LF-lgj60ZZdOVqvq-hBCWj zq2|&`dWuXEda@{RWXY#C5WkfAz`!G7KM zD5$XY>FYxas{oh^J6U?8G{JfawH>_+4Nm-n3DzToHcYyzOQjP{umWgzmyEtsEjt49 zt4Cmdb*HA+yX?obvSYEhS*;WAzI-#dTAWClI0O*Co`RfhI}co}K<}L~`!M zOvMGuhJ>mQqzFbx_dD%}UHX@r{S(;4n*h6aVk}O=w8`Soe5n&=FM+}Y)qVhtG2s-9 zO4xNZe~%!VZHMOT6?|G(d! zA;yWYXILL@&u~Xrey!Rw6!uNaJT5Ux+0$$!+A>VCY#EyCta>>eUp?5_<@iGaz|t+j zsa#hRzzFDdb4!LPm9S)3R@((lO&h1?^#=!7=7!^eYtC54)r&H%bpiZ<^c4%jkzP1n zAieWL66uU33>%Sve_B6)l-qNz|JRt0=~4w3PBcgBtYGlwgz&vN!SdN9e45cmss99* zd}GWzM7VM!;?(QSbHw=AdQ0Z-Zv~;NVA5A30JEAc5-JYyf1o7?phg8X$fFR<$AM+y zYt1vk`e??41arY{LP^LgVa}EPb4W6zDXdaxUZ_UCF%{XR2{0#r`9>JPFl3h`T?U25~3!@+S8N>uWu zEFZ7YV}f7VUDOZ#Q*91mq@wK}*hbE-(e(Z~2(E{MyEmBAMY6CqUMey|oC~as9{HY) zF4WgFYv17f9vdP?D{VTLwQ6omp`)Mz0VWN^a`h`c5JWjxJ}@S| zDYIl2(?c;&TL4ba7e9z{G&CGls$I+Janj1J$Ro_yDdPUMMK0Gd7hil*D7JfrnQ~x2 zj4ZJKLGT@c(l^7KQ(4$;A0Bt@18KrDNj$rXXR3IniD!55>`6n~up{n)+164wx+HNQ zc#d%X3Bk@2+y^+115nO z6S|s*&OmJe{lcw;hi^HtY~Hno6$C1m2xwakvkpNqP-T^4Sg6XPB>VssK*@5tkgR?^ zVHGr|*DKTh26ylhPU)qbn}PJf7nP0ycVU6x*R`@o8`ZdDH=;yd-I}dTa0qh3QCpt*wGYhk$Q|wT`Bqujas`K4?(p;?knjIxlVI;oS2HKeG?DA+g~8#h{i!l ze^vVo-SZ<{mBJ|^k>vukGrxWRbMA=Tj<6ZK@I9vpNd6{QA|+zR3IuN30QbkV9c0^AB@3S!t*+CI!osA zwX&!LKddQU7lmHuhhAADD*#8Z^;#EtB}KDb33KapYv9$VqOA%YGjsPq-0XFtAt`pzk-;I30~j_NT_cjP!a{`TH?-)7RPQ zd+N(FR3*DXQ?idb^+Rgep*~Liu=xRCjD@B#u*rMG_AZlA25rhz27QR4u~GEtY$e?| z$YLl9m$RHGPAPu=6UFJ?Mse61`gC@WZtTGmNa}U(oiUHa6oOpu;`-Dm67A>fy!{0t z4DypTDi-SCloTn|P_BcvU^Klxz44z+fSmyJ71i-epKju(vM2^=vmw}DcvaHk3#tFU zOHmRttt=XeA9xdO!$YsbLa%wD*PPI+8hY&+dhH&1O$)uI240QjER%Uv967lqBSrbf z;A!Pw9D02;^g7Xc1$r`&5c)}(_AFQT#@|ceCFUTJ7Umrm8;T?;fjLBD^~%C^{Ipl8 z4Pc9>vrKT?@AMfgh!ZRpel+_&r(=y%8MFp|OIR_?9K-p8WFQ%Um}B8i)xOPXtHr#* zD#8Iv>_(@f6tPP2wVW-Z+Q8;jG1BspB9ZBA8ThV1$wUv?%Txz45g8S+T~%8n`fC=; zq8oF?Ptkn*ptBa?C$loETN)cj!%J%5rEB0NDe#gYU*fv)7xf&&q_F^e5E3h7UQ{fK zv*b}(oH~ekZ0;_qzE)EfZv6mF2{Fb2&zYLH(WX3I4t7>~x-4Ov^7d-sXI~F2v892K zQv5J8RbNsiidj@GJ+|V9DASkM;4M=w>Vq@fTxM)cm-XCdzKQ<#irFvLeJ6@1itDq; z$gq3WJuND=3wnoLhWr6Y^ra{N=7x`8o$%Ly&jv7BIY_sUMMPv0KSKMwHqzQ#POmK22(iwNv1 zVqnz{IZ|UBHQTUA&KXL@2av5}#O={k$f83%as!i?$QasR3t@kKdNuh4KtWd1}WWL0#^|8yC;M-#$l= zi}A@tRo)kz5QRrX8(ss`9_iZy@(Q$HA9FjRL~p;!R@(3JuVf|%YUG-dqvm-UxKB!v9JHagT92>Xd0upc{Psy0Wc5#Vhe%cV{_1(7JVJO9)gln1RXe}LENcVAPffiXw?!cV?r9d4zkh&83xNl&G8Y! zKma~4qxN>)+d3cYhoy`!wejwrfa>zdW&^P)(6`vUl z!x4qwkqnF9;nwdk@#`%ggM|MONSKVuel%TeHewynl#444C`p~?KX_Y=c?PmP;8ZTH zaydS7>Z@5kmt(zCU&q?G93MLM^>{m~>2;VB%UE<)QEOVq)`0&6$3P>lBUeq3BsVIB zI`VfqYBXi=N){ZEFzhOkgYCS2mwOGz1zX?kf`Vs-8e z%l*QKjD2Nf z^%ftb!FBjYeFo;al!f3J#tw7pcMfOUiZ<3qkAXJ4iKrL!jXsJW;mW;^%>2w-Gk>3X z+pXm-_`j|QMCmuB@>pNSr_7Th9*m&oO99WmLoGYj$K@N?GxM>58BRz4&g z?o(}>vC32J`_)Z*Roi}u7dGwHe1J1&3p-?3H!x3ll|DhTq`Xs!?lK8h`(RN z->TZ{)J>*ptIN_?<3;lgOhW=ys(mfEQS`~JRgeXN4qyoai6(wQH6i5Hvq4jx-MV6y z5&U_jAQGa=MkXj~kt!%o5!rII1>_VA8KfE6Y*m0oaCi72wZ#lECK$&J z38SFZRUC-ObfRY5%t+PbO*kXyH$95|3<$wyF_%p5xNa&o1jKqzDH;n}srfMNA?;Ko z8k_<-DXNS>U(}(9j4a==E8^^ip(NQ^y(kUti)>=CdYJqIjE!UBCpmQ$tyZSdu7O?@ zhfh?E#1@QTBZ}n&)9J09sQE?@*L*jQaT(rXWQK;Di@fSsZXeoFuK4jf3$J94v-B!& zjm^cqFCkdKW)r41mRvOiS5||luvd^y`$wFCJy-b8padjH-yjjJ5+0{#r>|DMf=Q0? z{H69qWG~m(V$nLtNNz-cdx}M05-&DvwZv6GQd7!NqhytFIpT{MsAsKdj0nU%otB~E z)?jJfLGzY%z{vBw9LU*yg;joL7)l0HVcd>ZQ^9^o6*pOWEoWDS`O-gP5cJ_d5wDp9`b$)>-Kr)0?FIKCAtl zj_=1Oizy9F^+So%v47l`{&eNs7_d5}YSRihj89heO=yDpV2EGCXU~!3PuO6<^xINkXeRH(7H1Iek^7sIzS$~K@08`#HAVj4F4`3X-1D;6%(Mj_v{=dY7{XF`jX?Z;5V{GmDY90XeDgNv|))e%S#$oCoGA zU9$ESD_xxX=F)8u-Ad`Uh;F5HtEO8G-KyzUL$^95De(ZE>Xa@J_LBLADR|HPK;G`( zq82}JQG}YX71Oiai`GKqNYl8CbsWvOaYh35-kUyg?Lnq#$6Xds=) z_z1wx4QmW{3fK$`-a>?pi5ckY-8fM1eH4cmm>_o44#gH|h{gUv(Kd+WLiiu(>(Mws zcONnb`rM5Pe5>PI65ks6)^&j1;}Ff=yBvo+8(g-v-sQuQRE%500$?QGFbjm$PxW0Z z_PDQAdre3fcb-}aQ%`7%OK$F}HevgsBGu`rE%?-*7$~nAdvlW3RN=I3a@ne#y#%pV zrdEJL)pFWTU+s?(pLLnEp5{o8t%03Q@FELC#2^!Wcp``%|9S2&QlCC(<4RxqEZtHgNioNy`1mX}eL~ zNRtA8M*uFTe(`Zgz8JQj`D8@=R`xURw&Jhe6doV?+`9+&GasE9Af_fNba(>3?bjs46uEpmB~x%lEULb0)*>D>I^u%F51G|xB+@g4#=LpcY&dwp}?NO^CGo{m9Q-HWOtq_t}U}>Kup8VsyEk ziMjuWant=5SevMgC@w8Uo|^@JQ0$2^K=b`hwu5=uFCz9kB@xIj{V&QYT^5xUeIxLv!H8Yzw;`JNL%iArqJ2i?;I@R#7`>@j(4Rn5&pH=3}o$h7Ov+6 z5wRcmbMJS)v>~EyKYG9Oe#C3ve&=NoIfwQ;Poq1=_d{z#{6uiR^nQaSVV$P`Q}cNs z5xP4;vmbQnU*qU*2hF$+a+@+7t-Dq!>dcWDI7SKSmnTWHdd zdvB02?!7n|g`a?(k)2L`7tT4EkBhecO4DzJHOcV_E*GU^ynR6H`^#gCh_HX#{&Kf>|3B|9Z~BrFk`w#O7%KlK z_m{5%ll61$FJI&5A&Z~Bzx*Dif$00At?e)0zZx-o@vlE3r-ionm(BjzwtWaO$TVB~ z%Tp&I=D)JP9Q((A+x~JM%kzCzV1GFlC6oKhedw_U9-JE+S8#6pQTxkd*&0#z=Udxf zzQW4nDUnGV@___!GU5Asy{7~x;{QwgdxAy(SNHeCN=(T44!79fO9BJv8Pxv0y~W(y zd-$H(K^X3>Zr4!miVJ3Dc@lPP^uyS+5t7({Vbf-{*ggDKEH=eCP9}goBUV8iM7j}P zy1|_+Y$D1f)^x67f}4mpViR$6vrWWCaxZcdQS3_jZkoj%Ke<~t$hfo$l6)L-^Pj^V z!7yhRnbM;{d9$@A$0NI3u4b2FBT%_KZZZxb;aFU$rVJ>R8-bdh%`u{RS0!jo>phi7 zQZ@vx=HPUCuQ@FE_|qcy>qH&>mm#bW+lWm$gILg-R`R@rY=rT@MxnSN$DPem+<Ki|wcACY; zhPD40R&1BUKmKg7wVgxfekZN@0*GmrHOJ|yUhb2;qHs2NI_u344)Y-0`-Jz z_lmw^zwBF*VMy}Cei=8lCaomJ39Tv0%{}EU_RGTL!v*jS$(N7Sk~5CD?~;uGB&RPg z53T3I;$ImNzZLm%ycPf6i1-om#EBpDm*9AA<-SbTQceK>U**StcrT)EKU#i#1>&_& ze*Epb;W>xo$Dhz0)39Snh~J?6IQK?%(l^yY#2?=y4uq*6_l_hE1tU3bmJHyFg=O&Bp7>eE>))Qd$z z9>ehi%7XJ_;`SPZRKwtcMTWZoH(@G{e-oyz#Z8!|&`lVuI&fI+P#;L!%_RV6Yob9M z%E+FGg_-V}3KpKF!^#M!f^ZyFUTDL$fibGGdNj_RmZvUfzkm80q# zSQhirCYMFa91YzK%=NzUzi% zJ~nuG=3@_zU}j}aeQ@lgQET{0wH>B|eT%y3d)2lD&AjP*gjV5Q>4Fvw`wEwD@JPfR zll|CrdLv_$u>73^2{t3CGbMP>qzT`nW2ar_(*$ z7V~$(p_!_riVgsIR#gJx;jS>p;tnnohzmP)%hlJZ_H7lla>`fkv$HK%vRX zG+Zm^nP>BkcQ~Xg&56k?o0^|*+5a~E0_R(H93apm)*q`70L^CF7l-IU*!ts*i1@9n zKZ>mQwTr^zN31{Qy94CJL^XbukFT)x$Ki9u`s0;bLe4*F{V~tc_WI*9HZB_ZWBf+0 zKN76+^=f%v|0PChw*J^QI?xX$)*oMrWW(1Vqpgg#EM$xDbW0oZtLE#EaaQ8N^~WVo zv|N9j0k`n=M!l>7REcWt@;IPaIO ztUsQ;<2dV&TS|~`*!n{x{;#b+{vUha0v|b8Y+=% zxJbVL|2Z>zNj4Dh`hB1I{jziB%sFSyobx>AJohtogu{P4g+x04@##O>@gM&|5%3>@ z>U93&s_TURc;r_u=pmoZ@CIX)(QXdSawJLgWr(kKOV*cDg1}N#^FC&Q}~Z7 zYhC_BF}TXU<=ZIQ1^%OP(3fi8vSclB^}y|03IbiWZ#jKz8h@e|fx&g1*|&T({E33q zPVHO%h;=-TKk0&f%V?>S^VjPW_@2SO<+1$I|88cIo@mdXT=+{htR_e$*PEXND5(2y_><3(Kk4}t<|2dX z!k5mU+zw31)RE7NKRM_+7f&a>XhK`nq*S^ zPv2OnAy}j0P@rj=2iAmK3YZnep$x9q{6pY;jj=bnFKSELXSU~8&XQ6tzw+0P{7O$0AiwgP$CB$q3cu1Vt$qf6Wz`d^epy=m zG=8P^8h19yuUt1AcPaeJkRyd(8IY2FK>W%k(YthRkAE^c%7w5uuIc>BNT+`p_?7LP zn|Az4ak4o0m44D}D!;Ojb?~AS{>TyCPk!a)tKG3`Qh|?ds_w|IT!Xw+e&s^B|E&B< z{j#p|E4^;%z^{;Q-7CK$L_yd16`}Y#@+-eOC##dv8qVSLR+S{L04&D6mg`$xqNk`ddDHLim+g$=cvop8M0+ zfnVWp#-_g9fnO1}Fv+h>t0pj?Ij#_ z6ts`TrAqQE8?e9$zw*169DXHLU*biGFwkxgZnol$XhsI+1{CcAzcTfd1J#!VPyHhF zC5@4;>Ps$tn4jHceTnz$s4qDZ>vRgu-KF?qYyZGHIp6+S0-rPJOY&!M1Nch$k<+A~ z34Wr>{7BpHKPx}704*d(HOY@W&V1~S2S1#oHxl;tw`_3jzb{K{g9(mgJP->KY=Cw)+!_~gM{dZv}_TS<<;n;s8e)Nv+ zPW+n#i!bKA{j0YB{wK9s-`Ia+8TjJuzo)>+O)Ws5Q+zSRU%;yPS>lU*nfBk?KVy8c z`B?iqw_na^|NRhZ!2bK9p69F6_6|8`z-kGy0r`m<{xgLmz}w_?Nxj!bOC zY4+bi#CHmoyYZa{?RYU5@V*{DR^;A#M@^5RRdo(~a+hKu{{e z$~++_#B>1`3^b9YR+&Nhpgd+QKE`)KD3-yKwPbv!I;q6?PJ24oe{*NT+ghc_TrvmY zgf%!ttp^(E37&bAE{MODgU&H(kBZ#W4Uv0d4euiMoh7dV=OypxQpg^(=)dDuG-yU& zmQK%|DHjAG-#9sFPp76H;;LC_bQT|2Dhza_HQRq@4A29caAE#b>?mRTmDzU_N~7Wf zs7RA$9G!vKQ8+pU_gS2TVo1KFpNJjh`U6XZmlg0uMnn;gU2Tvt02reeW%(LJC%@LP z#*c>;1&>~##R?oL5#%o16X&s%u0ZGvHl7s@#~(l~#0!#0KtpWr83>iO2*xWC-vr@i zo+w?x_!(tJQ!5SG{Q<;=IoLY5!ZhyQZIt<%(ldQ`;|LU-k+CxTZ=9-dl+!&!#Tjy6 z8tQ|5jyw((ctZCy4lnZ|4BHyC4RiD?E6eoWE0K;av?J2GSN-HBT?w=D)oegAiw^Bbdm;KN`a#<7_gX)KdgwL_0yjiHILPm&2~v zgJHM6qI5-CE0434v1kSLm86F8qn;u}qp(v|-ggsAYA6}B$4eC2$okzl8HE$Zfo2RO z3Gu^Lg4X%)1UP>@W_<>p*B}c?7!EnnFB7nU<17$!G&-3D5I{)zf}_)I@1uip?+gK$PC=R1>dB~WMjUpK!X!+EWK1~`%-zC+S+Yc*8>Vvdxj^* z<_bC%^xm%9mtx2nJFT9Pa{PCk$H6a?Iq=&!#uVmO!FduI%DM`p@(wowAJ_#?= zvXz58KF(QN(1}@W66k;=XB82M;N&0&E~)zgj@U&ecjAef!WI=!%$nYU+6K~;U`+Zd5-lH*@7UbPK;nM-_O+#pp2MJN6U0OO(!jfx~%6eP2$t<7X>r3w5KFc+tf zxpmUCG?0Ku=|C7&oW%kw689H;nY_mw`~VE)W}>1c>u+itGaRKOVW@TUf?SmEk7_vc zq6o=8(t;DmY#5x@&qf@x3;HArm3JtFIA&)fj@jAbmvMe&g0KoB8h;CH%18;M`ehh* z!!M&lJjhmAigS88^HEySoF{ba|V^7U&kR ze}*7y<$!pJk5LhM9}(3gjFfJlT{6TjjN+rS5Q2@!t=m<-v5&rlTVjb}u4f2nQ??-8 z9)?*E{J?gKRSs}hE`=VaL1eQNe{mhUgLr4#F_!UT8T!N;USik-XQR_tZ{#$9iN|tB zsMm^L@!$D0C*Y5a@8Rh4@X7ol-?*drh7|}c5FQbq$ca(s6=?Q|*(Ja)_K)!#5uU6D z(ar+5A^2IKhQZHnW8AYEggXn|hTv!38vo(m+Yqb@anEp05O!g=63I9*LKOPf_!CDujbozb%Z8PRr*IYq@6Hzd`tBTrA-uf_zsBwBBs&kk#+^ly--2J? z?btoA(l>MiH9H$Y{y@H3t`l=6!aC$K#N~-f?MjvuV|6=*`Z?rr7rwbScUghn1%Nv<|7v3FvE5O z;H8kJbiUB=O@gW9aKize4;tEEDyJANNLj{J38sejK8lN|-^-vqbkS zGX@B4>c4$CBd#0^UOtEe0VD6V1np~E0+y^3di{UB754cqF6UubF!cZzj;?N>HKrXZ zyOzmqOO4`>aFZ*={s$;Ljf0Lbg>aUH_nttT`ILq{L&aQdE+n~(V6V|1059YJgP#<7 z#;|TI;pu_ZbmG+Q5&sy28D`_9D!vYJua>wcm^p)~8O)o-)GVgzn5tu{OL$wvIIH2A zx}E(8$a*XT>WB&ZA|%&p^&7M8;hxBPE&~4QK??hc_E^dv!NPkHsH$B&TT($j zFw%!4ApofVjA6zx*J--c z^kV45pyz|cizXb3Axq8>aUWH@e_?xn0q(1Spg1rvZ9uRL^hf9X)e&Hk?s>V^$p{pG zh$@77qj)`*!)%0;*}fL*!62*f4`-Q$e}IE6;uNa*kxrelXX&=_4{$pGPRp2-&tnjQ$bK2D0qfBPf`W3qA>pTN}uGsGfks8mYp z-5N-OQte|>>@mjT88u2ye8qRrV7mSJU=*M@>4_;x{YpyxQ_|{Zu;<8e>i;~gewsZ; zAE*DO@_+pSz9z+<j2+;?WraXMEsIWO*1uHk9t#hr*89;U_f;y(Fb*PbJvHRvh9iaamw`^gN# zO82Ls#YI0UTN%bj`#vuYvM+IrcS-Vnn4ojX&TwShBkwn0L1=em+|hmaVbZb2L}Mu? z=+gMUP0;t?^W#VJ^Xx;t-*-$pPDCQz*y6V}u1Uum?6lqU3KT(=`t#FGI^G>1CLPBP za)E6xCg|66cuPLtV&%MjR-!gcI^xv{la3I?VJSz(CFncwLtp%PasT|wzU(<(xSV?b z&(ogccaif zeyNi)?92o@`m29LYW`Xla^fcjZsrE?mD+P$Gdb&)MGz4dyblI=+ANJ zk2){zRHVdgf6bm_1noJdjUn0R+H;(>cYBT?&R4{FT{t*V>^T}V=zVniLifBbrM=5+&mp2L zb6OLyGJLKZ)=va??x~ggePkD;o4Y4f#Xp7Vg<(mL6!=`jw}wYQsyhBTa@`qp)SgN65Vnp7`4eJ z6j92WKukN>=QPuf|CYW8IkpH?67Z{;n{bGy|Bl_1RXFxCN^@;kV_@k~PD>BiCODQJ zI2|5QxL*lFWw!|$R!529kKRIF|Ihe=p~pcGbKeTfb5Wqd&|_X{T~dByTyfMSZ#7WQhO@X8fRv!xyPteYXI#!7^)wDp?$iZ?u5jqKv`OPr?ct-a$ z4ZR}&R=w;M!+ZnwAFpZF5!MlA{w?lcL!nOl52#6%p^Ij&MvrH)J*vIi>W#8jCVt1! zYdcmT{h`oag=57&@ZbId3dSFUga?&mI>i1%P96rwha$B9cuH6z*ngD1Nb`@B>bJ7` zRj3YmZR+`9!~p8?q^7*6iX{i2q+$OC<{x{s$bVq|adw*dM+>H%;L#=X57noNr1=MH z3v+Cronro>fM*QMKjudJt62byhro9^s+^%p9P@fkXM+2n!Q_oT$^V3 zF&mmWE`%8@Kiu)uuQ2BBhFT^Sk7xqI{H*r*Nh^>gumX`4MvilIu*~^B&SC;F9BhHj z#sIMkn)t(ZwjV@E*IGj_TjRg|BU)=raQlb0#-jv~%(ef}+v=eBU^Nuy`FqZJhJrQ; z!w+fdQDyj%s-Hl6HL5+>Pl^49(*P7heETm^1u!|DYoTk)vJZ<7g8t`k@o~iu6QoyX z79SUn8ImRRM2h}k(`b+?3H`%6AM$I`eP?_JhgtB z{$VCn3vh{5`iEnB;x0x1uyc**9~R~(vkyrB@P|!or*nVOw{GA_ApQ-m>H3FUr+*pz zN&n1B?eq_?pX|fRAuKwXy_qzIrqgW$V|IjCyL0GvFQUBn1eezeJfhc@A zg9hUMWA~wfxZqcS`~BBIkf@3G;6uYR|fq<=$=gahi{{37xWK}7ay4Z;Zgq= zpno{=)cw#u94dOHud6@laSS)D{DR%(%o6kRwDX%5Vx3OYKa9+*f2c^&KinyGa+ZBR zfy(~sQtBVBOVK|px{4dXSE_&b@S3!5>$3jgY1I2{`iJY&-kj7woX>o0!_WLIm0o}g zhB}Y(EP3qOOZ;_v2YRKa>RIeJnd^5;tDk{hS#`CdcgoW0r_n2|z16HLdgVGF?o#NL zAx%QBWT#{w5WTV~zIS@%WOS4R)f?AzdS#^3zYO%sc7R-adZjp7obfND*;IOEA?x5p zCyY7(dgbNsx?|k=U^_EMo9LXA~ z^vd^=8KhSjUo1(l4CO;pjMn!W0Yf%(SCi`;4X}R^`$jL!K&*Up#6F0XC$3E=R+PAA zpAj(V@f1IX-)0}W%Igp-yO2mHR)${V5-V>iVx@165G!~0O($0793#ZahT{_}T)5MS z;r-D>`ddD@T8NduCToLOdG?9~u@X)tR#N$~FPdKAV8*7J9q1Lx7E;cmoK|rl^a?rP z&f@j`{PHf*D{LYe{{jQn3B9sqPDgr$-;fgj0t=kbE5EC8=#^FihjSj~-^*QkMc8&r z#p}BPMY}++^xCqB@qqnzJP()yTTDy=Dlr(-7jYhCK`om<@OXXKqPtx@kMi`3I4lWz zMlAt@>pF|q_tnJ5P_U}Z!!pn_n=iw9p0Jw;7smT#rf0sLLeKn5>g4SCRs!4o)rXOu zIVXjl*;4hD(=)x&zpcyk%-WxRR(fVST1bv+lAeh&AG>FKWRjlgXixDtq8ca>NYgj* zG3H^p_zLYQ&b$;emLaMigXwX5_>$ve%mP+*)*Y@t?d&P$znQQvWZ=p5nE|pUs})p^J#Z3pYNXgx{4x(U_s5>%y&WrIGaikxXVJQ6vL=Ia^ACpx zvj=j^sor327Ge-cE`sh~5q-cdoK@sz=V{jI{n?-87rOQo?;!=E5f6^zgTLUGOxK!o zxgpAfec4l7!qMn-{4$-7=yzT+PF|AY57J(~J`yx_f&D%6Yj!>&TYWHg9T#anE`6zB1v8Pg*%7?Id1VKVCY-RkH-Ez*WC86H?u zIA#>0=~gijvN)J3J_eQIW-G#DXeJfo!cw)jp&)4?;W2P*VjG;#t2qM@*0lNW*ntF2 zE5Fv^p$69ltsw0tc#aEQJ=;9t6I_D{whfOE3svHC@FV6JN&5)cPaFpOiE7$U@Qv;5 zC;UGQOo1IhqvjvH195QS2YRM;W`#Ln%5I*@*zv)@gayS5%7Q|UTy!TuIS*%rZ~~(^ zzrs)OU+_mAgtl%s%m%#V6}$xgsbV}a)g4sN9w&GPClei&0hizz3xj1VC!XY}gwxC> zB$&lAl#jmy&L=s3%Gd-v8}z{o2<9pAGnB0Y<7d2?G@y`%qHJgy8p7LUO2z+w0U@3z zKB}+*Qt}d({Dl}$Oxl|P#blIgXF%})vH&160TDGS`2dotQ|Ay)YMBe?{WJrL8B$aQ z7qG>Eg7fGYP|V~*Wk4|tNwJr!;GtAd01Bf+}rmEK`P`G zzK&IBXYo@QmZZehIEh$UCQ^RC-3$cb(V32cMWPGPfrF(d0+(-V^n^~OnMKC0Mk#^^ z3@!c+LyN@-vC)DoHAM?#`UWgufzVjPgPt$o{1|rMsR=`iPYe%(a&WRVSh2vAN&XW0 zIeyu#9T3u-aO-aN=hpTJX%4)V7EO9tefR~KToCB^^$ud`^y^N=CLEi(jzv^>(}|}z zh~>uFkhN5T(=g7)TL10OW5bW%%vB``AFh1_@aw51Y>eKL(*<+O)-v9P^4yRxHE%M~ z27}!=?cIR(5NRW2e@6cVEd<}5YLfm-1At)Z!T?lpPB}$cK^7HaV;;&{QLf$XLu`C8 z1{a$s;0L83N1v(?8zd%D9Y5p45Mm>JKHJ-0j75>8{ly&}?JowS0Li5%w50qX#s1=y zwE7wJ897e zuFt6H;f{1i|4&wGXMb@~vN-)erP)+{#%4pk=)!Y2qM7C=MLyHs{$lqb3HngQ^M0~V zM}5Zq$V=5{OqKi3s?YdjY*+Oe+fU4(&)_bB1rEVi1Zf(hC0Lh$%AhPly(_WD$V$*P zeFnFb4DO$g{w0Gxx?oe!; zghaZg;ih5j^ch#82ud~_o377z&m;Pb!h>B{+l%qVwH@BllW&3jdv2mO^cf!w`Rer< zoT=D9$8^wV5E@eS8LP$~h(2Qt8fmZ3NSuGFcS)bYCKCFL4=`Yz=rejh)KQ&Z+1>+m;%kfAnlDM+-;@I=(5({amtJdJp(ZY%2s@PG0-75v+dAQaX4w0JLQpQC z+fV3fJnwIfOVd{<6dzpo_0m@;SnO0^F$n84CQOzL@&7zOv%cbt6n%wX>f{W|N#LWu z`iIn4T$7@&2n4tRe5Ljm*PNa9ZC%z^{0Q|voBhRq2dBO{sjpbYd~CyI|73wSQ1Q>UwARuae$@+?{y>y4GeLHfNLQY!4^Qclbyj<+qxn8E4Cf5*f0*|8s=hexspi7zR3 zkWnaLm@(~l+IB?lS_~(nWxPeyP6UgyruD&N;VFxr`Kx5uN$5?D7O;TMyp=jYLwNX7I^cg7gRFWgY#^cu+oAt(#W*_ zs%!&#)`}Nt#r0YlULr60|5#sf#h(x%Ob!Ol4qbsE9WSG0*Q!CQQG@mhC9Vi06`sKa zqJ>WA4e8HBh=mxV7)LZ)(?sUZlbag{&jWpfwHn*GdHxd3hTEGhkpyEW{52KG#9`=D z|Lw1EHXId1*#ZJvXaEF`rEjM4-$Sf{r^TAF_IECC&!n$-^i1w1Iq!T*q!pgn-?_e` zU;)$sPoPGMzT!FfgzlHV;?(t@o4%svIrQf^^vCi4L`vx^M)SeWGZX{fr;Hn7m-H1+ zay0f!UvZi9l7;;hPnwYbw3ip0g@Q?W!4F$7rRn|}J)M?*BQ2@;o+*-wmv>cO(0I&OBQF^JUyj~1*_h4Xicnmd$E5+6X|dH;B=||*JN$lKmO!vA}^RaYG3k# zX$7CRyx`|pUUl;Y_@<5oV~h*=6Hn99u8Cp*K~Si<|Y^FI_NjfVWoET z%5RdzL9axm*;IPvNasa2{_p_kl|rZS1ikW-zazc!PvoW2D}R>z&ghk&Pz)>n8YM`j z`)fdunef**{9>10Ih-|8{WZRu%%Cppget635I`}$rQ@v;!@lqZYd7le%0R6QT)z)$ zW!H}nh+6UBi{pj-Z2Qm?Ryx#55Q%g;VtPN9T6vosq}}sY6hW2uyQNbrIdP#k&S-HV zZ7BlEjUnmW%~191ijMB-&K0$ zsT01=^vcHDyF#yAfpt2$v%(+aJnAT%6PKA_u2Ftho-$bNv~`@S#84?osf~BiKh2&9`?-c#V0JHNt$!KY9}Y`<{7-T_ zs)Cc<7+d{k+*-Mf6%@~~+|pmE2cOQw0~#j`h`l?VWwH~9cc^DIW|9Y$P}*wuoU)T| zKYyNPhi5?^+oYQaM8#uy&Mwi-VYpsUpf{dfE}gV4oeBA@3?Hbs5SmyUTQTZ+pfBjZ z6Y***XHLvT-B=iwYb{!2QRO8SKfQEeYz_)w(T0g$$3|?YksqN9q41vGipJ|8k2((! zIZ{ES?!3tyyiP&no??Fd!URNa;r%xd$(h670YT*8*YYuEjj_|$0y52oLWvHp1q{q! zlmE)YPi$%*4m)yra)f}@48!cNnIoa^4?X~(43KdpJlp5j#*TbKAUJQS0_a!&D7UNr zFbr)p#&RAfu;yxV0Ma37T{F+cI?`{`4SYvq?0bZN1=oi>#G)y1UA!_4t}i~wgQ8u8 zYv>qoA~B+}PJAHtBv!zTKpMMLLHcb{Am_yoTu5IRK1@OSNI-hUWq|cY6lu-`?WYk{ z9(5Y3Kq*4|*lAx&Yn)6 z!3HUuS^9krY!YYcc>fK~5W4Yq066nN?C@8KD(R{0TqOBEB$>_LcRRTN(uHx`8yWhj7qEQ=KIs5#{v0o4q z?S9uTR(N{y47vTmqY6(i{XLNnc-jNK@ySRDo(@5D8sh21Kj68-)64H?(G)zrWqATm zXJG&NPPX7FR)_Em>_2t7IT-xFU~D{tu>l2fJs%s;V172*nK;=+)S6f~Y!X0}2QW0U zcPF-_GcQ(%y8gQ?kW=)oi>OWEBd9`-EE=C`&Uy^mX&$7|kIf7ErM4RW3DK|ZTZ-(Q zSQD#}hST5tR&&1E-BN3YaQNTa*wYuO{+x?yY-z5vv=@C#0$;CMuezSV*JJqR6nxF& z{WthZ;K1Jj;p@+u1Q&@svGdnRTJTk0E@{En(*+mBfhblADvkJB3>@a(c>GF*uSW~s zJ9}h1e7yoo_venU8z34?;Ol&1q}^{`gTmJd56kVuhZMd(B}5Ca45Bcl4GC7!?O`qz>E?4!eE(aL%8Z5KD!SqD+&Pq!qT=o`8; z(%Q`*<=Lj1g~R{;Cs!+O@K;acef`dC?Rg}G>^CeABAmYIm-BGpv{K*pEiE#ze^waB zF7mEOZ}bYQK%Kki6CC0@c1`oShINEyjmmrsxwc z;4xX@BQVp_USwb^PNR&VJR`NjbEE8&v8(jP?rZ^HwEZo2{MUu6ctUPuQ6Gn*F$XUK z)I3pVz*GmmD)#w^%eg(a7^XW)a7X?FmYjz9N$jp~_kkdIi6`_Fmg_aKs&8`&avn;y z9eOPGXJ*>{4s+ULTSL%7hqeZzt>(YsW7uH0M>D=ek|5RCb{3n#0()hFVi!82e{R_z zk^Ib+y15mihIy1JS~vS{97a~Ec_8aABR5k?LDVl^j$%14u&q*o^caq+S2o!sQ5N^wxcn&UD#>0ON*^$bD zVv&7}-TXfgty$CMyK$PEJ(u4UTZ2PXoK7Y>D81Pxrx<%6Tu@?~*aPS^nv_~MAB(ir z?~;FDoFa>Joj1jfWVRZ`*s&~b<;?^?L2S*WX1pi$8t~kG9#Ch5+ z8^};=F1*M*TRCeGf`T6-F*(Lx7Qk^9dsz&J$h& zvu@p71t&WtjCk%f^&O6WX=CgcTaPAnpj(%L#GbxJY}C;H+O|q8Ezy~{zuLdC?rQ&} zXdRz5Mw@VPke;THOadz_Asp2k;TDY7*#Yrq8IPwGlb`E-yDIY34BY#xqZqZIbxl$5 zq-zSq&y9=2f3`TCIHx2sKDWC+I&U#GRp%7w*6<=)FxKzLM*MV7C?CJrvwFP%s27#i zp-AzFw^u(|1XqZ~Iu2^%?cg&hcyH9}cXtbxedv!~*oX@D0{H}UK`lCqSlhA7{zSQZ zTj*T4l-iH;A-I$15?r+b@|~d~-8xJ&bFr*KNT8my;V9C@xklNpu`8PkY7O&4!`v3@ z`R7G&yh}WJh5*WDRBP->@!FvIsb2qSwmY1avM5JsJ<0*1iD~r`B=8=wF`S2Glz+$R zWiR-rzKsvyhc)z~a0;8+b*_!Z8 z@n`X#t1J9BRQIOX@M{0f>XqiDwXvatdIFtQO$1o3{wV+`_G7&#j_X|GkKPArVY5F^ zif{H`Tz9qRzZt-BL!CAs4P~*v+VKnHr=k+iQ&sIGUmXfK4weadnP&MG;;hW^ygl50^!TF>F&B)UHMCNX?D6=kx6zwDvM1MH{b%$WDX%|zGXT&r_O-m6dyZj+ z*;rA(5nGAE1vm%;keW|*%E5`b&M62Fa@F*+iKZiorf&zx(sylRY~v>c`xhLD7)+be zI)12bO)Sz+ng~dKoHIz999+FW*tP8mI5V<{ZoJYA|~t6o(_myHP0}w zg6MScJXCE#SBKi(EgI}qbt_yDw8BMt@iqw)_Pv7%Tma-vv3If61kDeEo~?#?{k&lD z2mb2Wz*wA&3LNAK(fs5jxhRBU*(?6&tN1AQJ8B8$_?8*`7StSWg*LR}{BP`@lkowe zi_wgNOz^88Y4z`V4Li`Q6-Qa;wGOw94J|l}b-8BymXy}jg3zqb3ZH^YLss}CTpF{& zy+JM3Wre>L^grFVUbjOzKs|Wj@9~6R!NAL+(tJ3H49{YJ^@LpDmOTMwV4xeDxZ*9~ z1qQ{sv=+uqyK@n^-Cvyz2_9qbCk9hHelddZBU-@ghWW0Bqq_Z524jqHe(Dy4oquUu zzGjCu11k7fFWcguasr-e&tho!ccylHgJ%DBw}vL`KkjA^!-2F|zS?~L$XVzOj=kq; z!cQU@e~0&P0)Yg+fQT*xIiSY1bR=evqmJEmj6hZNFBrx6WnR28Ik!MJSfz8qqQimw z|Ej^*$7URlyt$2nPu_8C@C<{EhmX*xQUU1j^6cK6> z9|h1J0BFY5{?R$_K30VppM)aMTz}OK<9kB>in$(0R(>rVnJWvT9mJBlJ+|s+FVM&y8{nM# zxMB5t_3q0tMcZRu^dSB)7ei%1tm;ol!+{n}99RC{ev@7_x9xSATe?w6velzPSB;o|6Akl3JB)TLo z4T+9v6ePO%Z-PXt=VeBs08C^O^Wm^CyvL`tLt4Br5#}JCcS(wLf){=!Sa) ziSE2pA<@6kgZPDu5=eAgVu#CwEPAsLXNI}U{h-7~rCB!>X(!#}ZdCs2b)BNdt_Gln z7cUm0jq9;BU7x-+iKQugDXeh?hBdCp-J71I*NwT6d(+vNh@iP4=-GmO4SUlDfAwvG z8{$l1nCthxMQyK3Ly_GnTh#jD)`SnZML8HBx+Zmtdbh(C^+C!OMRFy{&+lWu8p!?1 zo4Q|ZOYB$wk^Rbx?+r>B?pObQiTHw%Qv20b>{l=Ns};U%%e-HGr1q;16~1h3zh8Z% z!}N5@i(SN*bxC|Nh%b|p_(FmLOEgf1GZFoD0$)x#G!0)qS}6E(;?sgJ*9n+*+;s90 z*wY2Cq~1>OWw|ejFV{cvdEtv^P6vD$b%~2FXVeP5Tz0#{mpjpe_zCrx7*IysVgI`g z8}RR1;TYy*RP98@zjrZXgAB(tSWV&^FeasM>Wz)03KHZ-^e#lrj^7E$&G2k18@dNu zJD(x!nXjyjc_HA54(qsR_E7i)+w4bu)k=FiWuPEK7~K*2wu6q=(6rxY+%z*G@aMNIW!st;3OaVM0PX!e9t`fFAIKW3n` zKe}3Olr0ZGHq7k1%Rs;=26ZW3E7TjrmX@)l6(evngiL|Wt>Wd^+)XI`YcaLQuw; zc8zol&2Nj1Q;m(pvmlLVr0>n&A=BTkQTcAx1fdPzHQoF~vxGP`tRlVbMSpc~kkZUz z<92zA2y{1Q8}>OKyol7Y5YyKYh$HJ-v7vhb+snu0gU~$)F^8lG24afF5($FZAVEC@ z1oaZFKGw}1$TSFc99@BAybV7I^za{-1$h4kKR#Fd2m(KrXTT4C z5gX2DLuTu@F3NZnJmX5Ld|p8%t| zZ?tjn#b5m}hC*?pX`2b8LG%7eL^&Co$;Q}i+3gSoZsX2o@^Ne&9_|ZKHpb48QZAxk zX;0ZqCiDBaSA87&zG}=tl+H1PRn#uh9z*)bPV$qRFvXqkBp<1r_B#nk z-52~*#;`;ec9PLIw#Se-a^lCax;+fDR}Vpr&|7a2=HCLDb-4E({21>D#r2jT$XlSZ z4iCJ8H1d(o3%n&L@>ZqfBaM7Tb-ksKncr(d&5MAB2?IYSCitxC=%s$yJ}I3R=m<& zQyu4}DkLz9yZ2u@2G9!xa4mrCD2D_`h0Y7w9j@E?zEu5%Tdu6ev7Qv#JgO z{Z(}s=&!0nKz~&o2KuY&5YS&$hk^d8I;4mx&|g)Dfc~mF4D?skA)vpi4l7{_q*v8p zAS$a4DaXf_^9az#hTDZ35`8U%EWgz|whst{)2UKe1V(0|Kk{!Pezq)O$lQY|N9H_a z@*Gh0od~gsS`+xKubHjMZ|#L|MgP(L9_srRy5HB<-#_ISpvUozFCq3~Dt)V2eNmxr z56uekdqX|&y&-;Ys0Y3`#P1FD!1spuy`diX-Vnbx)C1oe;`fGn;Cn;--cS#GZ^-@L z#o@=|+c`-I&kOkPvl(?Ijz2Nd8P2TUEv(UO3{5{kV1>c428gS zjAr9x-s0BMwpsw(4*VE9W&jNL)B@V}%wXOu=G8H87W3+u*TlSa%xhxay3Jq(c7S{z z?c2eHcaKo=IFS?qej|0>@MGvi=nRbRk2oE9iCHlAD8?E%nKDnyyGZhFUm0lDnanc1 z%P;^lQNyrGf)J%vFNbU$S)?DJ;%w2)rF#8G*+Kg(4`|sM=9=4K_^4J49;v5A)`Rv8 z0C>w5Q`@Z#0e`CUP`j!Z z*NZ%^7rnS%w|E2L+sEFtPfQmV|~y7jIUrmfcGo8KCGNU zn5rdAaeY|H^%&T}4=dL(uZelGKCA?|jP|V*z!S(>t>6y(71oD3t`EKw z!PYIyGdw$8?6XI##uBlH@(QjGTogw8O4-IK(gxH!Tp#M3^`T#1EX5WU0)((}7KVDP z5k%x6W?(0>-L-+icJN5n1by?vOATC(pa$GR$)Ms*SfUXNwNwO+4ed~A=6+Nozzn`ln&&sNOoYz(U&0|K)_*wx^Tl|=F4PjvHT$_9Eu%LwK+_Sh~x z%kaGC)OCB4$99s|GGwb;Aj&~j7M`$!P{Xhgb`%OTTkQDP z`G#Qa5X-x3NVaze{_!PlE3NGD068Cd+%d^knB9DIa(zp5eOv66HEd5LBk0w-A=$oG z{G(~#d&rhi_4r!#wnn{ekugAVB~u2XSFq+0dKtQW6r}3Quz*am3#Sd?kZWl#XcTXD)X|~K zb@MIAbEn>feXh+5WjK1l70PV6+V4G&X5ex1> zEe{}U0c)YV0xT+aG{!}M$(qKga6xVz!P8W6qf8YN3g>e()0!5OXCr!JX$th_xRywx zs+2jRHJ3(zX472;jp}^i@*uCrZve*503*72u*m>_>hy&~Wch~7< zn{d;pm+kQ1-GC_O<+ur!t;cg1I^xOV(rtn2=`%6n{;2)NM6k&DfwU5r%;0lLW=tCYgaV&uwz%Lk5={VnDsgeZ zhm8V!Qc>s-LYu%1ivvDp5esaawXm#?=biZu%n@SGzKUc-o@WKD#~1l?s1WiZH%^} zu9IwWk}%uJMFD(D9xlORkgU648w+Escc4IABBk4wg-U|vt6XJKOS8{k5_=Xb5se*G zTsbTbY#L+Eoik{@+k99lY;B!;mUFDBOo>JZt0T+iCx&`!_3ve0U8_gV$O`#r;e@$t z4YxG=Xjao*eF{-#JPKP9IjsIWVnz(}i6fYRS=OQlv$7_OsX>;%`k%PbV4J&r4HhCf zvXzFq>soPF#2(t`Fqz9Fcr=jMFa;QnNw8-DLd;!}_qvnh#?kJ$1t(WUH4KLf@Kx&O-OwVGI+u!8QjnuqCRx0MZM&bE9(!>xs=HZc1T!&mjCB*f_ zHp84Y5*O?p_u;_|B=Nxv4TmYbmKXoit&mIIPlD`h_x z!r(tKy#?SGSyX^QEx_Q$!XGvtOUtvPu(C=6)&f>E%$>2TH-r9Axdskmu%a{YK1?e+ zfYti}UW%J=bWJwaDWd^e%Oy0rHYE-rJ9R#4kCDO)X5m8iBV~WKsv1!RoGe=XJNywk6?42x-{E;dbvbbVeD(lPfqAusVX>05V{& zRfm*$NQGte-i_54V3q^jK!xe+U11u%z405Nk_65Wi1A)h3u61Kgv!wu(IDs4UtQ}g z`BHA~C|nF{!s1r3y9?o2&|HQ3?2}&n!VtUf;aV}AV&)RwF`(=eL@{>^vwLHY5C{fy zbPK?w98ZSWRrih2x4(lR`OQDT8;c~*dp8D+k0C84PzNz>kp)@E$O>OV;Zhd%o5+sb zv3;S~z;P-IK{w}c?$yhDcNo|cA~eI-vIXzZfm?C3fIspV%B}C1jm%96>oJ%&>ntLrfSiIV?$FHykn&!Zo3TuMtH7C?~naD*V zmkA#dJ|^;z$YUZOiF_sskSJiH5Q#z|G0T>PXU8|N_mKs;cuB#y!$Fxw77$^x!V}^Y zQQ`eWVh6i!E;wB^kK*N~8_&w(Fg# z*UCgf>yL7!Ziip8v}m3N9p<2(#lf;&4(vOC=-`n*+Knhm=>@HS2zlrWijLxRSiS3m z(f9q;52;78dcyRMkL;7DpfD$Gm_3lx8(|G>ZxoBI0ur!8$ifq@cL14NhS`OLSz?Ip zSqN0U3mp^nOcRb8XTvJuTLtf51PB`}Zf5@z+{o!jJX-NWPJ_h80kxKh^>7qN54 zo(33x5j4>uSf->4cHh5g1Ln>^+y2OM)HOUiAeOjI%a$$2D2w}VrRWagEt*Y#+~Jj> z@1bi1<>dRUqs${I<=~9+qzg>S20gN~yED4}DVGRTt4;uM+tD|5YA@_oX-NBgNGJovyC5t0?^}V^IA~?f0Oj%>tGvMf3<&19q8+F zY~t`1YRFRZl|5bc?oFWVgAj_WMJX;glK@SW-#3Oo4whlNlmQ9(huHa3%tJs!LyR&u|a8tl?bQ-f0|is?H%~0YGpe!RY1sr|>*# zXlu1+lOx`gGUAmO@z)@Y&bDua${i!Vvp?1^;&#y7rR363ymRM|)4K}{_g%XE@R4fN zFTkkpER_+R?~eL>chu**qdwmq_4)3o&v!?CzB}skWz^@_a$M)jsL!7zX&LqTO_G*T zpUdj?{^BQfOfpop+5-GoiShWIgpDnrwvB*@tMCp#mj zdsZNmp9_+(RxjSJdm5=6S&ZGZad&tN9>!#V$72OsAW1Tp|F~1YP)6BOb{2Nu8emQf z3tLfA`B!fJj8=7b2rwhhbIY5=!{9FNJ%rja^BgOJlH6}7pbzkH4lx_sYKyqHTjtVOu4 z<8B>_i@g0P%G>#+hl=3cmRi;{b{hOMDsBR4I!(Pqparz?UFa?wz$s<)Fa(}&(TiWz z>i^U2U$Axpg}xm#gNIQ*)QVT*ogiw}R%9+id)uMTK_)_MtK$ki%kY?EOwF%o0M7-q zPAg}ZA^o>6_UQJn+5+ZsEESRWz+emoJd&a4BOj$St->Z$O2!U`>o(QSgag5l2T}2@ z$eD*;53{{CI|hTd=99q<@G&_5=P*Znj4w8dcLKx1SHvfySaQAO0yh?B?n}{i(3fg! z2AUu_p0Bl`P8%?tpW%b@fM9dH>Bumb%tE388* z%pN*+L>-F+glVAd!!QBd2?B2vkXs1yopj!;Mr$nZdk_o8Ls&^3^n!qXh|BeZFrhXc z0*Pll=wk{rp7CHFQy}t;2lJT%m1jIyz!bA08XjGM;*0Quu5PPQIGB0qSXhiPAHh6g8 zUZjzaH1b6!a$lw7BaM8uDc+~FBKM6EwdlP{pL#F$Mam+e7rEE%Pv~?Qbi$WGjJw;> z2h@*vkK(U!R301h=JVIc#}0{hFt~3U0|cl2(JlCrpl1<6dQ#CGJshYj=y4M{jfgOG z;DfKn9Ux{V3Uj>xwCMK0shAfn@-CE67354g|Kx&U*%Y+TZ5wR9ToHL6{O>dcBl-6` zfDN-J7ZT+h$YLA`IgMisRG7>QP{BTk?HKDA^j;=%>*SPEycZ9W4GB zgl2eH^Do@^q=eU#uuuSA;eY1PalR=U1Xq!#F@yBRwY|89j^$C@10%q-g3(X37CH{V ztpKz<%PKJ;-N*I?4I*QoDtc`Xpz|z&&KHg1IP?MueTr2$%PjnxRW-|NR{hP3Yc8(2 zxcYGQ;hKkQ9xB?!j{rLp++57041CJbB!ebrggo6ZlBre4Nh97(( zhcA`?@JGaF9e?MWq6z4yv##=ZV&RjABbs%+0A@fE$Qw&g6N3vfUKPs~k~K zu5+VAK{c`^h$x6;vJwT2^q4!KW`yV);5`!AvVP|)`H!h~J(2jx24n}6 z@FENQwUQwcB(=C_;oTw-f&{2P9x4e?Ig61!Z* zz$MsD3M7{D?)jlq3_pxIw3jOT0pE9k z@*ap%adx1~QIZlvcgAq;tP%CCq$vrmL0GXCFT#_VYN(fRP%R&<+zanVSFS~Q-P{BQ z4Zc)rV>4~p?4rUz!K$H}vJBcURG3W_Fi8Pj+I{TJkZcfiT=2y{44ItR<-Uf@k!aS+ zpJnFHw$9sK0hNWhW{5L``Or$X9Y2-N9o(wSlJa&g`g~!uZ6pH8pFr}|6>}NB1{cO!yXHLq-@}t zJqRE1dIceu0+vV(xOd%rja8x_BOTv^A2<`$$S9_Ws))Nmj>YBNIox3u>dUZB$=!HNZt)Vs9+<0p{>{}M+GP=pLPm8jSnhj({RC~jn49u= zq_V=lirwT$N!o2|#0e&9hsYb=m`=^{D z9E^yuLHR*9BlM2d_b#(nV;AFg@0=HZ%;Yd)?8xEA1Ah%5F7 z*p-*PhW+7HLR~~yb5}0Kb%Sy#0Z7Z{YJzk^OipYGY3Tt67IsucluA)!zChisxbCF??cLPGl9S=bjHY>wy1`rXFjpF6o8sI2?4WJ}$5md}q z0K!WRb2UJCt^(nKKSmofrQ-vi1(vFBDC_|oe^4viHLh68p8J42hM+22eHZ0ZWy{7L zmUvXI2{P})#}%Se3+}i zMU5Zpd3*5J=#fWWIG43^0WYWxR(CDQ4bGY)->D`Q1fHIGFx{wuxroiRP0f1BP=|^k zYUcjgPM&ruy)}Tl$`&`P*#B-{wI6HXHJ{ zIgr22hWu>~jBRi?->9}x3$c!1P^8-5W7EFpNtS(f)lgG}#_th0BUgS^(+ zt>&Oy>+CJ&AfI)1i#aIII(vgTDBn6ehFGE2+3%Z!&=2Z47q5dDfOE1ABaj=O7xZj2 zJR9LRg7rGoQ{Vo&bx?)b9c3^&i?MywhqJ33-7a zlgJB}V_AsdA=E2S&Tw7vSD(TKg<^wZSy_a!#+0$=O5VV;u+*-qHXf`3puI$p02TW* zkO@k5pck(a&<76%GSKcD#RNlUun7ymYYv_9tXHy@CUZye8;X~q3{0Qrmh%qM2B(-) zvj({a4rzvYAo^d4JKY}6WPcWi{hNKRXRx`O%o$XYIJ;eur1n_0j8^kdEQr07RIj45 zg-q=u&8}B8Xf4awmw_qU)_lCfgkray4wBjTXwY2CND*MkejUFLUjTh@5IQ9t;Ra5@g3Sq6^a}UyUfjQX$^H!!MXb$}jGkDKDNd*lzXQ{!N)-3Y zv2ft$RvBdJ7VBk;{n0&mAPUO2l}Lg31(CvX+zl7Q{--#f`u4Xa2$ty9*_N(!>k4Qg zRj7n0OjPRxjDWcZqFe!Ap8{XCXAiL_JTV6DH=KT~U7CF{fEs#Y8PE>k?1&kZz@Z#f zfDBLQ=1ZbhTGHGH;K822Yi&L_3CPJrJ`pU2Ik5=OvcfkC{Rw^QOo8#C_yoXsonba4 zRsnOhfeH>uVfQ6%ev82LVovo*3YZ~GGdyHS@TkEbfprmuW`+saUf1!pl%5IlJM@*6 z=jxLvpMdmiG3ifNK7q0`@D=Dqg8uZ?n!bB1qtH6Pb} zTnlh5z_k!phyGlhE}wAWxy}V6M?UfQ6nIY6k4~)xkWQTeAoWHF&k@4&)LG1|BjiQ| zo+E_ksZGpXC%NTPRtYFt0Fl0_gv0=dQvzfJ;7s|1*blql+)v3TrV*T7dX)4A{RFa%?AyX2-FC}mTnU=6PajP zNdr3Agq%)kzoO0`j-cgIx~(_U^ooiFDu$EB-|tfzE()F;4cGH|cqd5h>gQbz*YhQA zj;rB%zS7NcHC)eg2vIBW{ABs9mERfiJ4=4+3Zv~%7u}wG^;~yWvaif4@ zC=yWNiaya%;cDg%Dmna9x;umWOj4J)M7K4NPsH7WM|9B&X$p#Eh9Ty zMs~K0>}(m?*)p=TL93TjPC$+An;?j?MchPHI@k=qGqe>fOG|1jd1*r%IvHa+6+|ni z!|<$t-tj)YcsW=SXY8Hf76l@C;26t6Q3dNiCdDFT{S9;`=?e*(qcWVPREE>I8KG^Z zG8B6d+$jb?q-#1hPgu;Ml*>=Um>c%abwf;CEU72%no7qX!V58 z7;IjZg<>m#M%}{S4w&B$m{)t_SK@tqf`703G=$JfJ7M4zK_5^qUQV`v{K09Yc9axW ztN*YYT;*YT_a5YMaGBo#vjK!Zi|diyfVuYobIuA)yZi*`X~&Cpkeh}*tW`H(1h8fg zwkteJ#0VJt6&QTT`TWsRG!ds5fj(B%&*9ZrLec^J69wQ?@QkZR;w}2|4uB&HDs<$| z>an9gM1N?HURwb2eAJ5bivSpk-U4w|yaR(k!OTpIwqf6U7{NYhk8BGTgM@l9DIeQB z2qpH<5d!MS z0^7Bi7rpFdXYX)FLE((EK{(hFg0BvFdwW6@QVQ8>oZ?Qo#Ok#?yhZdq4&-5R!N|rZ z;zwzIVG1PvlUzK}pTP5Z@>?XoCGuM?zm@VkN`A-SxBB_Xm>Wsdx``QXVwRhza}!N& zVx61d)T-sW9z%E&hL8(OAI&yop-z{l;60tME#JX-LlQplK4)~`uhilD?Y{TvFg~-- zraFTw3cN>@yjYfnXfuM8#3x^eF71^->c$u)Td)qnYqx%0gJcd{bK&3 z3$h{uz<&)JLm^U$VU4HhJqyJa{`Xkma6Q+vJAQ=6L+!q2z|2wG-h^f1Q?0Q9h2Zix zyveYQ!@DU2+cH`ZjM{ugCtT#%{cwMV!7CV<@yhOJCot>~l!Z!cI*V~^L z44~tm2ZN_nM_vlx4G&mV*NJx_Gt4(2WgLYOqxuP0-@%FZJJ^#_=d)9P-mzGL(a4wT z&$|boa3KD?L+#L>c8^AbtbH%TQ9l!RDa%?T=n74 zEBVTww}n~l{dvJZT?+{CSFa^KplA~~Fz&;x_j}yI_v+S*^BcP2*4x{0>$NbMaT;H{ zZoLlL#eas*X%OIvcQ4nIZ~S?o75bw6dAVMs`SYsvVohSb$n4gO^&%}^Rj2;FYQ6Y! z{d+U47ys}3_a@ehPfm5*e7PWiDy$)1nM++4UuU^k>^$XC(Ipq((3R~RdsmL-#8bcS1gH@4(opV_x}Wj%VE<+%Amhm@-wyj1Hktx`ZwRK*FO z-xBOTUGw?v#8a^bR4*VX=6?>dK8fSD1~f0UVNJMzG)eLKP4!e9wE)GxVrSp}9JX69 zznwe#=5ff9&c2+CynrT}IwdWgk_95$p100z>P{%ReNlMVjKF@`ikqTnSRXSKB9+T-1bKu&=iVbP>*(Bj_GrW~g+_}_ljHPV0ow3L`~Y+SIA5s0?`c8v?Noo? zrFRMZwh*in&b|a~bR=jtI}qRO6}R7Fb#y|)+1KSqzfW&p!ux*s`wsbz_39mX=^**gYJJe$W`Wp$tx!wF&9c;rGjI0I!370Da$1Cvt6 z5=68(7(&`~LK?TkvFSt;51>Y6`SZU6{L=kz44mkFn zEOVioD}%)_zEVLROuLn1YxS*ns5y9)!p~jFr_Bj%C5Nns?67CB|9eUnw{_62L zTuj>__f__hJv0jv+Q=TLdlu8K5)L-zu-tfMF4C#~yrj)2u&o~JEa13DPlaT&CeTO{ zi~9xgOj&L~?Ep<3O2IA-VtAfz1)!)!2EYLEM7@lWGG1Cy5bD~B;h~DahlpuQ;nw>$ zVjMRg1(_S+7B{pGc5mQA>^18`q{gXI_QOY z%$&u{I%=jD7D;XibDNmEPIAj77t+|#frTy9S1+WZIj~Uas~1vV4V|-NPcQEd!Tu$% za0Y;a%R|EcBE_G#kMig3qjc5q=YX9sb%Gd!;PsHg_XdlB-i3{wDG3fF}fCCmb<@ljI>+yig z7~rzru=AU6%Vh|%Tr7vLXdXs9Ah3c#Ku8Y&Pjhc{ft`o06_8B7-CEvR;@Q+(rM};} zMGQah*b3O?0!$GMLJ_=nK0I~ja(P4(tF-~L0Qe&>VEzoxdc1ZS?1tD0qwEv^t$#%} z-`#+qG!^EWiekhhd5UYdUi_&*>@k4YT8-!B&|wkq3SSHc_o)j5UO#pGknT2pctJ(wjtlA0qtU^FJq%c%fdjOwRI{}|ndjOwRI{}|ndjOwRI{}|ndjOwR zJ4=`Xd{*rQd@BE3<&T6NUcu+F5b0QA_PkBprD3~?P1IFA%I=aVL2fI>KAA?ED{5(^ zxnc$Yn1QgGU`vF|S&~@?0B$N`Zi(bJN$xu4mNU0f1iUL+c=4^EQlW{e1)~Y@%Xn?@ zONTvY5e7LM_MEO$7$)4BmW52xbAd7e|1$B{m0zO_HS5LNVlBMK6a;^a;*4J-W_PZC z?(!fa&?x`hHY|-gT*b_x7-DzDrD8X3ii0jz&;GcBcK1^%aH%j;4!St}53#bMnwS$;8KNY9YpS@K&azfJPHPJS_*lMv2JY&Vr> z?l#e&tKLy04cHSm(Nxb|xQU8qt{5_f^5Ffqki!YRm;nzs_<}lPTKyB4pzxfQFyQ&H zI5mO70*=cVi?@q-5|(m;gVa3ooNQ@ zV<(U=P~L%w@dwwR@XmcDqj&CCGxF`cb9e0BJ2wF6;UIxNsdGosS;iP=P6cbRy-mOy zu2?YpLD&Jjy-N{^?6V|r{ ze2Wu%%argQ&`*-uz&c%rlCHgv(!WD;1^xR1X<~qPyFc1T>~F;b(IHXcuj^{#**3gr zS`z-c#5;VMBD#8S!h6Tao5VB$3-v+p;>9*E)CJ7mu*hS(5DzbL9XSZ142dW4Db@f~ z9w~j7Ks%b1kD?5D<(T8jNMZxx_xEQx+xKrk5YT^>Ui@#^H)cN%$_#Y(YEa_PM}EME zpttc(knl42^lgN-sxr2P)qvWUI2~f#%dY}opxZh?SxNmESo2)CK8hi9}Y8c{T;lUpaB7B1~%pDW&o#3A%(-F1Dmn`1vV8h zh5awEsfei}rf{xnU~?a)N|?g_7ueLFDeQmB|M7{q7w?k&Rhe7*9Dm$$d>Hh#Hs(x1 zmSU1Qlu3J8Y+v3LvWH=pJ3O!|i&WSuq_N|HPQx~ceGd6ZBOhtxgHl6&rQ{=xd}r4q zsW#eJF-8ctRf=$1Cjix3wOzEtdJy$*D`?5bJ@lqI{ctFz()IDm?q_Ki+lLnK8<_vw_OR|8cxE4i*fqjHlz4s9R}$k&|hz1 z|HrO__{N04I`9iGfQ+R-IN`5S;BOhqGuV#{ev8u1d~ZvMMw)9k3g9&e;5Af|UTPeLU!zfh zU4sI<27n#;1=3q?Kg8dPV8`ik?OOqEss6V#b)95%Lrus3Hi)2o(S86WMPCOc&=34? zXR?jx5AXn!%Ns7j4qOEh77)9G?9SQK`{SXz2zNAPr3;npAJKZ6vf8?=*sZKnoWcLr z5$O1%M{Y#vt5G`PhIS7I`n8fh^VeehQqpGg<@k~fa(7*{2xhQH>R3fN} zTqJ->%mim(Mq`bN0t!`BS_Om|L;;CRMl()FX{!~hwy3qz`l+-EMHEc}BoVDf@B%0T zUf>La5=0?fB>(qa`0oHcvk$F^-s6p$F!zzyZ_lZAI9wvR*Ph*@ly?wA>}Vc=8;im~cwMH_1du$elyvI9d26(x9sFi$Ak zo>oE9&<%Tf&QODB-tNnoI@JSWVDEbHOX?xq*8sBKllL(s1J{oT_1xeNU)$sgU7v|( zBc9oK>UhFS>$RKlgtOFZ0cY3u#uGWO&&LyUd_A|NVGtq%0;m~=gA1O}w*5P>=mwlN z)^kSTs$rcw+`*vMkQO%TMB5gYZwts3vb1d*aiZmVZJ}*DGo6I9(zey{9^HqZ*0gQs zGq)IqBeK;h0*WY_!eC{%z!P?op9IqI7Q~VNs&0=+0I35#jA(Ti3nuS?QaKiIEGype zE>7pMo@lIEPiZi}kE2{@ZEU;+p9VvKY$GR71Y9Oi6i_%881zo~51G+1Vor1eJgIAe zt(YX7!=(c7mOPHlij@R~+qV$~`$r)Vim-Dh=l-HRSWT4$>(1NYhBUM9bobs*;`^a1 z+}RZ(HpBiv|4LwUz+Q;rCkgvbn|m#`33Oo`$0Kh;lKhk_JQON(L)U>Pv_2C&p>^0V zX06ZW8}^G?>$~#}`^BvFVC5SS0zq?X6=TI>}F#jb$RQik$4 zUaJU`YDJh-PvLQ}7Q4k9Ppz>(82Y$Ux3xbIb(#AE=@Ey}BaUpIBil1~`}qC<0FlWr z6vmGh+=*ed(Vq|}CdP!SiKm?~QN7sMgIkfv;O7b0T?B$11uaBM3ncr3&-Arcak@kq zx@qFKkB~te-^Z}BsrW{rcf6vQKaRD5_Xs`QddzAi5yGh5k2dnE{S?(sDh}N zh8Z+qII97={D9$)W0MrWMij{*BKy9uKCkeIy5GCBR1Cda?kXUkV0mmPPGtt0spl~$ z0>FGg3#=Dl7NuJlio>m~1=nCJYJp`0XmkdOzHbYI$$;ej!eHt_y*fAo7mZWEFJQ;w zFSW@JbwPK>WS3^#tJhd`a3Mp_>^xjG+pE-)kfUX1z!Ftrz&M2mDq8 z3YC7a)GhkKAa52c@Ky94^Bq<{7#vZ;uNK^oU+|OKiEcRd0_gT)C{sbKq!7TkeU z(TAjq!rg()UKP=i(yWE_`FSIuS?hvQtqWSUcsAmRkshw&iE$o|jiVT&JbWFV7~|m$ zcw&Ty*W*e2fDNOz3exg;)?wp-p6%Zg^lV|LVZAHd-Ytr@0E${z6sHq{){pvE;LWi-%c{JdK?g_CEn|2?X$y81?mUJyaj=-(bM;Bj5@l`Pg4w~Xe*2gif==lN0)v-GKh(V65WgdPh=c<<*}22S6L$5SgeB5WL9nLuEhD0t(&~J zsn>wHjV<|OV@saF@=VSWIRvI&Z4ZnK$4QYPX{q##9$3pY&`z;4+9}2ak8rOe7&?*A zv-Q$fo}fEtUNvoc<*g9D0bKB`kMGa!u)`IiVY*BZK{&rvQAZT}^8tf@U=-n@U^DTt zJDi67I1Qwkll!rA1Bf#x_haVxl^+)pu;0&~XgTyQlyY0_)pAGjTRuw8p$ z_$2r)VsQ3Yh==gg-X!T55ZlAxB>V$kmq*fi!MIQ*Qed~DEfjSH&Se0`axZcdq%y@# zfObPKq7kkDVI}nciVF_2yZ|9^;88sVH>ds)x@a3?#c^g7#B&&6si+#7 zE@BtBKGqdws7ljdlXWQ8$?Dh*H_wADSYXqGX;YzZOFkiPbJkc`AoQ^(Z<|p!P1r-< zwpzCBkJzR@LOcNW-v7MHnV2icm5rY8x23Swe?Ns4ysM8+o5u zOV)x@Xwf;IYJ>hX?lYwwKI-3M0~gF@r$1>F%(4(hVpLghC5J-vZ=dDFYqEob$|UsQ z*7^$=$nZG!cpZB^LxfGMXj1_Hd?WxUtZbEAA)89rV7Ruh7DjFbw?Hk}j@*j99SFOJ zQ@qV?M6x#r+1M2S#K+BUZ4xZKPN{NIf@mJmcY@pol-=Vzffj1F19^gUwcrWFgkDwr zfVY0v8b6@fW`7GFruXaHAF=TR{u5o>|DOFVkc_$D^ zp>2fW?wq`1Z7$UsL@O~qxYSC-MnkpRR7>ragR9hT;W#8EO2P#Cwi)s9H1utEnd7<3 z9M4_mcdU=Eu4hGi72BmUqBrwJrhX}a?6qQ>S*!b2RAnpV%Oy}O6 zgZ)c9Yv4*%jsn&hfH)Fs(KrLlz?V0)8`|sK?Ckp+=&`+^|J|Xqz3w4tyR=}ZG>mgy z8eRPnHL7xYHsY0qz}Qx!rD#j}A@GU&(^nn#WGLDy@|&vj;YWxD5CS=*w2wiqrozl7 z^=*fucTl`sfzx=Z|0HkdY;WjSnNdF|enx~QW}1;cD9|=R>MDeWAX${B10YUZe`49Y ztGBlE!q|cK5{$d7YI0Y9jm!U4pc$|;1IE4tj2R+ya3&gG$F5VcIg6YZIK>CuFu?_4 zy(mH-c~qnCX<+ebGa#>mBZ;xWXu#1AsqPB|tYY8lgLgINm3|YC^Z` z)YUF=1x=mXR7>Z!rxx&`JTMQabDND^(SG;=EGU9%ub>eqhk7FqA4iz?K!e9nwzbb6 zHC`)L%My?`Sp)JWi$LCF708<`19_8mAaAk|@a9~t^leuwecRPa-*&aqw_UCDZC5LO z+to_ncD2&C#h6#;#`SIEj#Ro=YsFk4^X)*Pm3_ii%jRiG%l+CR*R z19XHME&R~H<_6w27l&eP!U6*bI~*->XCeE9L2r0MXDg!VeWhP(LX#GJ5%3uOjQ}Mr zE1UYYAV$*m3uUuETRn2sBVRp+sYj`Lkiwti+%FV<#r|^43j-?l&$HeZSZ|B0w<_zc z!FtWIGlBT}xuYu=9-xjDua5Kr#I6aE-O47H5i>9QZ>4SB-215_~VzQqBIdIvF zeJu-*uU6v&98v=(3nJN~^l#zC)fIv*pUre0fdJ-2-P=q58P~lXf#@UZ-eRF?NQZ3%jJAWM#zglPl0Dp{se7Ah z>E2?coiP9_P3hjgh}UQxermzewwUrkXGCy-Dx@hiade_bCJ*<$w!m zQy=$Kup!E^rGoVXHXkDn<6zf9doRejvSKeOhsfo2gxDo z&sv<@YruCG`|`?Px9N8`?yuYOx694$SR#`-Sy&_0IIoMpZqPsr&@Z45xPWTi{{1eL8w&8CV+#ls{w=4K1%HM8R@Jp1x-LBx5D1Wuf&v`xHYmrtywp*S zcLCTf9q;BQ@IOUAx1Z`C?{|#;X>;cSSOBDL_}}e9AG+WV`MRLL%Kt80ec%nF}#jr(yO!3FtKxR?{uYzp; zcpGqtnw%x4s*iY{%Ch<6rGat!<2?-v&+x}9Q{#%1HNZy8#>4yL1^qAnctH=!vJXbj zH1u_C_yokIO!j}|mRBg-#p3`hzOp2p-TVvSQt_j?;Km$AVb`1YJ-T=grg#&@pkP0} zR|R!+V}^>ask}&P9@G>`dCZR}b;>!eRsXvqvlDc5hw?KZWFI)ZpCdc&0Z8`amedn@ zp%e#p1Jx>dAZWtw25BU+EsVrib!YWQ^uPO!{?vFDF8aB<;d^%%{^P3hKlQ)+jedoc zXX@wD_iiKpqv$NSBs2Z*Hqz82E~AGm=J`@H{qOR`02&$#M{(oASWI$J;t9h85dH5S zjQihR32XrWyMuAwD%b;@unn~G=f?TL70!ZwuKeHYLJQoEETx~jRr%k2;<*z=$y83F z=U`(wqROqXw%Sl0JRO86)lHu$2fOd+Rc^n&7s>yRRc=c$;(8}cnF+P|gr39s*KK1A z-2K%U%%5Y9!5{)@YyNfZDz{M%Sxc2$?EMSavR?0ZBjgiE+ETmSavRU{5K-^|5CASb z2owBKJ8r;uMdW0-wb>=i!{@{?&XpG+whGG%D!-* zyS@$gy4vsHdv~ARyKYpx@9s_VuKU4hDJi-2TJRk_p<|2Q67sd+K>UiT?K$jl$nvTS zJF1pfUFi?7uT9_fi?~1CFW?xL{&d|$&^@5LG5Mw~iT-ryS@)>?=~k0JhW~~?T`f2t zG*k2q{IsrbOD6G=RkKH)&q3d$Pnm7P2{mT{Cq!FZ#lStSDB4!vW5NlOx20%HWPHb1 z#9KEl5IBjn`k%u@c#6F)1&U0-q0$$hV89aqp9Ha zVd??DO?be+!r>KajV;l4u6WV4@fUuCe(gkz5IJ-eJ31NqwZ7AB_awLA!xH7pWZNL~ z6WF{N)6|_`ks`kGG6u)>bQfF+x!_6&w}jb<6)#wDA%)L;e2NGs{j*UfKSjz~+`ydT zKWGu(Ld!*XVeclqH6dW>6z+YpudU-}w)L5d{J8S$jR(Lc4UHhizyMN&lLNy?f`08h z#9R8cF9?t&Ina%tkGZ#hqj$IqP#0K*i$lwQZnA!@s#K&9^wVa=?{U;Uz32a4zt*_Y zO~VDh!3H+=<}po8)Zfe7guz;fu>}jb-T){%%mp<=q=b9mayC6>FPFqpnjJe50at>Q&sUg-HYDec(>#KQ)= zP+2io7k}>13U}UG7#Md@?L#?b^G5n-!Hp=A3-nofgk1qq4qb@EF30=S zN(_(zXnMzWG(f?YBccW9jSwn*aG`OC#H82g#FBrCfztBbb8lkKSVbaC({6)&lLX@{3~d`ZJg8eh`!lFpa*cxlg< z47`9>&U@*P;{I~EjK>)=^IVv?lP*V>3~v*%WO*k&EQKdl$2^``9XLUxW#F)oA;(+C zA_?RXA|scf`I59jLV1YD7{*X_v~>uBE6afcgfn9temxmD*XreHmy(y4HbB3&omg(c z$Pq`der#?w{n`|zUyE7eU9|F-EAwso%RPwM;ef~2x51lmyeIm$@Fxm=+YCV*rh^=V z(+N2q;tfErR&g9T5IB0E5uR|*22sF0B)}`eYhcjMM^b>O1M^SB1m?B_u4+7@ghUWA z;1=Sx1Xw9psVsxG$Z^2}J4AsLGMjTp)3Do7Qm75~l$ew{tq;RW#P?2(2Sz^}7MI$i+3&K~XY0{C_I$iNHWmvX$H0e%m%SApdMzZj}q z^bUS;Ar6_3H|X8+_9?oQiIjpXbk!5!0pP6hJghAsyQTx#G99uR$OExfg>PqvTnWu* zXahqxOXx5OEd@Y2HPT#J8u={F4vJ6H0q`6(;Mr&lO*25*FzreIQCg zAv&{0T-d(VEhn$ne&3bsz-L(myaTatEG6zJil1cAIZy)vwhQ4AUMyFiLvr5Lg8kZ) zccYe2T^cXsSqn*eTth~|^qGGxFqPP;+o$NUFoWSQ0pdZGNacm=KC6G!bp;ch!WPmQhzLf>G?`0s4sxgX` zD8r6d%A`UZjgn$?)~u{YpfIFRJGyc|3dGS3Axn`J!dUbdDmE~13)2tt$6#YRaEFHj zlmGhIEHDo$IJh8kny}v~dlJ|m1-sx@4#;Z@cnIu+7T`1h6LSiw4M5GX#Rwutg8bKg z38lj4`n9GKl${LxPzL-^b~5lo8Sq2d$-oa~zz=078~9Mehvv~&iDS%{i}3l!}4?5fV7Cgc*- z1#(A0AJGMWp(~ZY(8V(lfm1VN;M&m?5z*FdtHqtl}e4peWH<=$aUO zJ-xu9z{oilKsXGqP>A&A?WAX#(%9|s{tLXGZNaOe%_3QliM8|>t6Yu-@c*^IA^}pk z3;h<3=B)A{$Doj(?3aYk6Vz@-0R#n~&7i)nGyziw+cI9iwxnl4WzX}qC1VO4m1E8a ze2ytd#S7qbOhG%m06xbQq~QhdIi?^TFM!W61?}+y_#9J^ffv9h^=2Cl`YQ=OIoKwA zasejE2XaK?@R_)Obt1HNO4`3V32b&s+P^vpWOiz?e|1uD*~zwl0am0PkPlRFsgQX& zhBrmvQ9y8V7Tti&amwYxoGjciR$~WK@W{C}%$hjB{;PpR-~tIU^cVR-tO`s*ICMK8 z8z`HAr=9W}+Uiade2FrEy+A4fW}1+XD71PXtFPxQSC} zJ%z=EmXi*EGzH#B!KgE@G9=~7<33i2P-ELNwnd00rU8IkKkNF2xN)$9bfOo$Gy6H$ z8``1pu_pvR%V&Dtudsc~*>+`jcc51HZ;PEES>H+)QM~ka>uAgUkkV2=+HBO7*yE?j z9xG;}65#zm_ZR9sDaF_l(IiC*2vZr?NsaIhyqyYZkuoGQPq~z-S2vUDlv|EDFdPtR z!94(GoOD6oC`=gXjaaSXPYf1Eo9mP*e|QV^VFWpgjzbVyK7~X{-a6og!pfcn+LG&< ziz=@JTDa~Ip1=y%{eUNs!gUAn1Wvf_0G>bz*X_p>7~#5oc*1EL4rGCvCP5648{>tP z|9KaDj^m(0Hp+g`FTNbwXj+n5R0*F1I4Q2Cts9_798mVkiCbxaN2WrO^hrV4i4E5R zE+m6+C8eN(FX27)bo|%Y7Tlq|@x%Ic+$Tcf_tzVG2Sd)`gELk*h=%lF zEsS1yBRw5%M-_dRw_G5Nm z9J9gPKM7&bM(*HokN{><+VkiWoPiNkVe=7od8AhlcivlG2XwRK-Uy_O;Lb?@Y_DT0 zzKGhPdxfvhajwSpGDC{0O`@-`;m9Tcu$pd&}f0}<+yT7 zum?ra0%gt2JRe}TCp(W**^iU#0ERhPUFC)V9G6YTLI)>|OGm5V?YkKk=?U|6Il$6% z^37_Ejhtid7^L@fa1iQ3HV|AGTfo+spC!jP3b@Le33S| zGHnPr1B1a&7=rcb91MQK5Ufw(e87W@R=5N4q{`H@+fhoF?I6cCHR-xyL{ znbt>JGQ7F67|j`esInN18U90MF`6>`U}Z5HGWbu1Mv?8Dr++ah|5-7Mh=PdS#<3f(xCWPdId)9lc#J};+>v6Q;s>#*JjJ_kivO&Lz74m) zKn1Qo#}E?h_k-r-cW zQ~U(SM>xfglceBWW7m8Mk#t@7jXSi?s#y;3Y^R)$0MMDTVTx)X_e|4Y_AlgsM1F`} z-x=w%232NVgr{c^cFc<$@`f$*BJ5rW!=8CjJ9)#Vc~P3YVb{DUUEZ*5UesRRuy0;u ztjnfE{V7fW_s%`oM>k`Nv3Ca15yKzna!x?p-VyfCen6i6fHONg2c&ST9Ka2V1MMdpXum14feug`=l~$lZxjNx`{NAM0)q-GM&T#& z_xj2H*-zyrDxKpQ03x7Pjz{pvDSo20;MZt4{BdHzf8uKQB-a60)ZW5(6hBYa#QW;x zJ_B)(4p|`-nF*qm%%DJ2=9nNl1CBT$EUlbumV`bPN3z@6;YcJ96E+m%Js04_ego+q zO0q~fJuko-D8;Kfos7a8l?w%k%kcps4-gY0jmC<>YdQw1h#D9P0^)EJkCXeH=u?;& zA{-0fc-jg7P{7)yz}h7H1gt}QJ$ajesn|X`Cgt`4=0)HG!f_vAGT>?r8$TVv6Nae| zD5gz6@`hj`(pJ6iEX)MkYOf!#m0j5tlndY)irWS}(^`=M&z`*cBzVplRGC9~E(1K5 z2|Sk#0!vEZxeV}JCh%M~2uvw~=dwZIN(nrd4FX$A;JIuN_)=}aGiS?$XO6ge-lwN* z97i}Gc6fFc%ma`XEC7(Eolkf^pYU9;h=Emv-17yV&nG+=G%$3tgbtIm0?!2kkOcye z=PPhNKMu~cS0wEqJt*MJ*|*Vyc6dHt;5qAj6Pz~zoCy$+KgaLQfaeWf$0lx9>SBzB zMI9?VLxkO-3ukQNATMQi7OVsRwVktAu43to)#e+;wS_TgU(zR`&N`th_Q35?G} zis+;GX-y0svq0d~A9_(l;h~o+$ENPCcB4vhkxu~zy*L0Fc$}*q{3qhHC9<+0?toiI z{g~@vPNw(zA4uT$akZQ%r}JG2 zvP36skjY}3cz54Y-=HF!+qz>VW|S-p@cnM(LwiX#%whWmk$*7)D>=@;7&^=of_#g} z^N8%7J`u*Iz_;kGco=o$UnJRE+D4I(2V_{JB+vh`y(M&*JPLywby?VnOL)bYfXID4 zPxqzZ&3NEYle$(t@ayp722S|=xLbGZ0CU1WAU53!;^mGCJta2I063gga1_@c!)$p& zjVjt#%e8x#+5j^mt3`8Cc;(9yv5?)evOpVVsWog;nw1&^<8sur{W!0d5X-b z!b+WQ;C}z`MLY%=WJ5s}4uutSvoVMAB3f(=$u~nphm9enW{7C8F@!VEljYoU`JE@f z3*>i^{IYQ8+y?pGEWg;l=A_L94`LW^g6TQ6*>^Io!S06u2y7$m-Gq3%EnTRk!IrM? z1lSU}52h?|(t-a^Y*}fpX50epbIfUM6+a6e9ff()U%Fa`j(}+5(I$pJs>0cEGo0eL z`WzL`?wjF*7=DWi=OCEjqZod<3g=Lm;WHS1frQVV$3U>DXV2HqP$7#DqE$T2nZgMU zTV(V>ytg_nHEbOQq@u>0mKwH8Ldxv(aG90`5^kTC2UQ5C#iwCPvbkVFgY@YVE-oz-Kn#j*ND%Jf z3OPi+>QOAFJ;j+0%yM{Ucl}~!gRtZUlKsg=f;QuhF@YDm*;02lQg@Kl%a<}W+L5j| zT`B#oG6G00)Z<;>EaB;=9QR9rPl{_uNrV4=3^jQ85!``??>X%@e6qfndFJc7O?D}09Jk8 zpI3s5v$G0Pr6r48btP3ODdo*6EN>(m7{YO6EMh08|6$u$$SE^bWWe-2BU6^$fHBB2A%c90Hy^__I!w3Z!shaGtDPpx%e96Rs;%CmJ~)z)|i>e+$OMh8Ae zGir-R8y)y%%MJ{&I?zLPV6f4FU!jI*s?~ur5cDt;B+S4|>_DehJCM%~ zymbXTP$I+suT|F@!~bgkT;GIA(ov{{3Lv3 zyIw`2+-bK?_Twwl^=j$(o2D@Kz!N&?)wbs?ttAgUsL6g(A|HryQe(a+I*F=yBkUq<}3Y@F&4m8qLs^>#(bTR zVXiH98XfpW%MOGA)C%Axejpuqph0zD8ET0B0;Im`fFGZ>4)j+Y@O>*C_=h|aIC?;7)uHi!`fWB&1JpZ|0jXkViYbfe&bmR-F5k8O6b zhpmgZeDmMy;x!2%E?ry*C{$g%4~r9BeD2?>iysq~CW9-by7)VM+PZi}nso8EJEe>7 zx6#F!kG0vwfhZ3sNoKL)>;GOCeS$6$W^ol@NpW5DCK zfI}_>JYWm>8Ue9cz$ZLF=$rU8$^3esU*pWL75w@IzVexJF~6MV*K_G#!&95x;Ycjqxcp0hNQ?f{?r`c7yW275A!7ssFAddm(L4VKKwcxJnlNQ#% z|8HH)eGK{a=yCfn>3Eu!;aX zzs#aPiugUjDR_1GPuL^6a}NKRD4b*vEA~duCbA7LFK6;wC3z{6`(R*dIawU~l?b%u zI5FA;`pasiQ4n+i5sH@b?2VRc6`T2;*xC-Z)<*xVN{L20s?rvt&(Esy_)-i08?n(0 zG>sKWl&T0(B?yhSgJms5Mbp$%C9!f(VUoYMnpkc#O z{!Ep-QazJ$FJY3#R&$>V@*wIqa*t>=_q9y&d;GMldo`n)Ra7*k)s~-y(CB!3lr?Je z8TD@!6@6DdZ6G-bVA?83e)8;(1j$|~>2M&KhWI0ZA1kHVhUao5Yjt>D|I3dYo^)GFMb2(J3kPHTBY}P71 z;&&pp8f|Mfq?9UQ7kG;q#gJJ{J)5?X0uX{&>~oJZ_nhG18PrE4U4QU_l^puK}1 z@hZ+l$LL^`--#W(8(CzkG49ddBR;W%qg9DV)4_aONv(A-8}Ub&!Sih$+)~WsNgaF# zf%XnMBtv`#bNHRu!N-ur>fjqKI(WA#@n|}DxviwuI(Q!9kI=y@WJ1&orbzOn4#qA? z>|m~Bhw4tEQzAKV?^?6aeS141Vpl1aI)gh{+0%BLMgKFS$W-HT%L8OA+ z7<>hR(ZSFb#Z5)*okVDkAYq)qIP7x$Wn%p;mg^;mKiaYADru9(!lBx7G-L76ur|ly zHAKl+^fAU_1JjygaSF%cT!~R*kwm7X09vAh709S46E_BDFv_hEUUY`&3rq@_`ZEM~Lf zDBC(%EL0^P&4Qn8E2*^(jz#ES-o9+oMJD6^3 zR`h)wQxiM5b?8xd@HHegVWG7SK8|>^gGWNylO=5unz~N4r8P8#V{rl*eO_W)m<80E zpzIt(37UEe2OgsAeh7#@EFarq>!Y7w45Cl-hocdtKv?wm{HehY_CyM2wsyhbw_PwS z8p5I2q%Y*t5?}EDGTKiabXqUr7F!9Ej1q26ETJrV8%l@`j-|y0#`;TJ{@P=C+p36J=J* z@bScUw<;`WPyZpRjecs?oo}{j3&T&c%CW*PWI1pUU*)T1YuU4EfKD79<87AMc4GmnyQ6 z0C%=a^*aV(MW$NGd7BFpFf6petW53_wct<&4oeDrnt^}i5Bc=bCHx`ms9u$t;P(`Q zOwez>05ytCQzcUe_`|7>?&px-&7Vg8{EA@{@T1DImc+L}tkHdHdx(R+{}-__NeSO# z!iE+J^J4vy5-woE=aLh~C78TuF>30rdgC8}cVh+ki}1e42!~?R^7+R5wRksR&p$D` z5R-@Q=OR*1QH2==_})bLAcpG$r4pks-^&PJ%J2piZWQc$4&e(JzEp)9m1q@CRmVEU zJ)z%W$(ReDDy+p^j8Wk& z=EAAMTg*jY6>iN%KlBjuBy*9i;;gwiOU21teAiz(W6i~hDo*BNor<&OLQ`=v7q6>0 zYc6Q_9QDauEKqUQT+rG!;$$u=B+i(NZN%v@{@jZn>~gbXGmSwv;3im)y&QmSwlDaB z`Zn7XvmN3A3EyVj%K1UqE{l+=TA)Nk!fcw7M~L~8s$S1F*sA_YeOp!UQr}k9 zKd5i3>JEg{gsSiF$H5l-=gUF0luV%*#AJlW+DY|F${^g`Rfm?LZ4hfa4UI5_7W{>H zuVR;j&Hjr#p=N!-Ib`tLNQu)~2Z)gqr7kn0uTDQk1sJ(~P(N1E4&R;+nhzyiEhQ!D zKV0PseN}W#(bYv)6_s7-x_3u+ndPMUt+MP#A6!s!PVBQSz% zZ}?Z{(H{i<=gNXh!#VXtwcMC&u=&k(TzG1y&~X*vHLtgTNhsV%zm&2@CW%&dBS|kfY(+hHf&5E+jX2_&PhsnYU-6f*NhW@pyQ+cDmVKNp}( zyuvhf!SQ(G&HT-E!3lVsfNlV%L>^&2R|FOa0CrOs(L&%@V7X6x7ogbPT4yo2iS@RK zrTB*0aK_Ga)ue92bB|Q&@ShPoZ?~2mWMRp9{VR<`0_AL%{sM9`IYAzR^PNiu71fpu zRsD%eFByHabw+hDQ}yZg$u~`?l`e5Pux6`M6j$1+U-*icJ(QR_X&Sr2F52b2PBnVd zBi@^ML(>>Zrv$wCeZadYw7Ow?`4)#OT(VSK0uxoWF3tHZ95iS82SYY%`I?b*>51Wm zK22Q>TGU*$lryDg1O92w{32~4er3HV71kpd>=K)vlo@zl>uHKOJ?C9$lD`<#nODJF1(GMBWs$5js8~kEh z|H0M6imB5(O51(U6_wA%Ob0JOd2#q{YmO-?(&`*zeqk&{AF=9arud@13SbA~*#Z_% zWhAF~4O-+5d*Op^Ht;}`DRN&Y5ROhD@+!Ds8`~Sstz6XyfCFk_lWF?N2Gnu=$9OC; zizs{#RN>H)>B8Hcj0b>y@D2;|>pm zQJ-2%##^O&%f=+U32;UHA62-7_`fHRKM{=$`M-vqr9``PC;B}yC~1o#W`+4dSvRtL z^n+W@0@Mu1Y7mJFmpqmeO+eC+t7zG2C`Ui@&Xvt-=JJ^rR!;FiM9Q1FjNXWOM!5{s zdZ*v@`sfs_V@dg{Z-ONv)YbK>&o_1AFa16W3_-%}EH3A>a>pwXA@?L;tcf?}iiF$A zXw+gh1K5fM!8RPuHh9s0eV3AddXe2f{`SA~p<*6GE9AVbI$Ne1W$&z}I(y1{(%I4S zNa$<A4uN`e?l?2p}>+C%N7b)dEl9X5Xnv zEVLcH*>8w)$SvsX`IO_p4dH|Z`WnRSDJd5T4$hgwkNeF6 zyN8b#FH_jihY@H?-YfbDlP5RMEKaMKE~N!ak(bRpH>sH=3C$EB2MNg3QQ{wIv-<3f z&*+eNWi5tq|5=9_!W)A>ehB}D0$U%#hY*uAgdizp8v}jsk<*V1;mu5#JcL)U+<5Yn zVxU42CN~}_7h4<+IKlJ{h0{&Dv`z<<11&{Q;TLkzE!Bs_dba+}nQnNh7jW`-j{XiH z1tKW6#i++zf=x(8R0Zu@a^s9x3Ar^Iw1pTXL{V%c!LeI~qB1q(nPEJe1J)Qz8NDFx zWP-Z@T71{O%&6Iiv(W6S80~qfWs#KbOr&#%FA_@B9h%)+KVAYZHUqNtGz6eO%&p&) zE5w~mKPQpC3+w=E4+b-Cf#P0O0x$k*gm0(&#`fc1oz2vsNFFkla8z#P#1xgqZ-wum{ zyRe_&$Wnh#jt4VF+j*aRLm%j$old>7&#`e~v0xR>z+rAmHi`bOfNY!yyT=Km=owrK z2|+6$s0zD((Hd|~U`}BrZINug*mxF6MCh`E~Kt zYn)fLaKd@D90s~vk@PEuwRT=T$EfYMQd{DA)pkBU&Z@7bwncq^ejuT~Y*pWui(9L2 zIZ!9*<5Le`-_uB@`uB^L^_`bk--1Tz-yN;i=QZm4#|eiyj|;wrADkcDVSkD@JR#E! zi;kgfZjk51ceGzw9R+gk1o(EnN-T`OQ@mk+wmT2T8ozZ_?{DXNGmfD5-#H$L9Z0zr zNV$;)oGW-g2$bCb6jcu+vC~H?q+E-6S4jDeU-4~|o_i9W;q(9n`7NYe@>hI?kAL?m zJdlRDtinR?0^fZv`0h5Nw6GucU`iS;i}c^^4yTL=r5(5|GV4GlmdQQv2f7LC1H1?Q z4H=rPZXEc$q1l<}cMTADEMwsXa`m^6g#ihL@sWi(Db^Qa6oG6~pR7Msq2+fpjuof-f)M zb6ug4y`LXWlPXsylSA#nn)J|o5B zT%3uz;wh59uJ~5tIgU?n-VR?sZ|Ey*s~}}{Zp(fTPsE*0<_r~&yDZXI_k?~u1tbc2 z3qN4O@ChA;P1tCvT;Z#hqM3`RD2y7Xp+pQ_?>MT#qMhBKYXbiXMdV3^T9&{#7|^+{6sUVV+Ei|4UZ~%M7?@s$ z1?;(0;*9aoXuNQ?tGQFhJD9owRI>*E>{F#E|d$OLVCC#$VC%N0KVEwaJKT$ zW^^nx3Ts?A1_aY^grg0^gY`{NU3J3~u8_$xx+h7KdZ8SBGKz?vjkh@bOJp|$l|ZRL zdr4-#g7(NgVCSgz7D{`!ahy$1aQrZ>y?!df=MiTc_RH1U2ww&S^@tpO!k6T_`gG#T zfI$^PG>o+nzFlD_+8MfJ5a>$($#BV5-xTXf*MCN~c&zX9r2sE$J%x&f0pmwMR%?@- zo8!Q_;gYps4gCw?RK>#hE#5%px+2SOMYVcqgYarDtP=Lc`PF>PE(fEAvCC>uj6Qn; z7zWV#VDjJ2U(sCjFY0v$B&oj~%oN5Dm-o7r3OeY@fYc{t%Q^iqD(LLguM~_9Y=x}A zv`Yal{^7B^&46cFmn`3>QD5|9{2(ey^D=lsC>GI*3o(vu_*Zw}OjU|-7OGm~Ec_0M zFySU=VX4VksM2R3W>3iihd)OS$0vbLVAStFGj=`j>mvOsNmB0ceSyz;`f#bxOeLq? zDeN*h1tqRTnV=IBs+A!Ir+}&T6hxI&H2XkE?$l3bkwDSc97hz54I;KK4u5Un-*nM6 zRroi2JrQp{%60WQ87Pt{7$}mE%3&^r5sKav_zteQ=Xe-0 zWa2rv*Lp;Df$*%=P2Rk3w2EtxM$W&1+CxRJGehhY^S%T~Ks5&@+1>?e#SG`7lo4TP zBL;s$InME%aj+aq@!(hx=D{44(8wbU)w{`_B`J(^KRl^7`%Z_KEH-KO38;llx(w#e zVqFsWt!k4(JZr^vSq^1_BUkuWj=tI{F4JC`Wi(Ye8pCzlkqelh3SjHqp-t|*I$-M= zK-pDyrMn9^&EngPWAJuQx_{xl+as4Cl4QQqLWMT zhDB}XK8{W=ywOA_FV7cr^1;JO z-!BbyLfK4#r=BWH2y}2FaxnwUWo!73ByvHNAQwDaAeZZMT0<_L$gOss)&M37>E6N} zeA(s;oa|Gnl)P+eb=5NO2AL0p6~_U&|df6 zO~Z7uB&`G@ZLA&(OyK7Jb*dLTmNLS)|4`#KtmY zl+z+Zd>&)F_H}fHu4>ThnJ#=4+z^wvX)<myE!zswu_z1O@q`8^MyxRLOJe^)jJiW`qI!L% zyU)pTp;Nflr48TUHn1cz?XvsBRo{Sew*Yg&7Vkzj2Ir0jeQRf~Cvf-9f^)M^ zy&-Y{w~+^>uR#pHGrf6V`E#O=A)_GQFY&EaJV109?&=K>&vfTCctb)=8;1~BPtz(V zBEiTy=Z+>kA;YjQb?SHz%u+YM=eyP&x#JM{6T|k@Iegtl5W|iH{@KwqGBj&PqdRi# z4?NT1Y?lx28|=!j1U;6upYBn#m$Kj)+Vfc^#@Vw08&cM1JjX;v9|Aw?kRQ|}2*O78 z43>n*lPUG)MNz_cFy@9o>wHH(>51;JXC(-rtV3uM+_w3*N0%U{vM&`rhIOrUhnPe~ zzb(vQZ=?j*_0AfgPogF#tL~_FYBYg-Y}{GckdBmE>FT1{E5( zHka^Q$U?07Idb5Q6pz9obsWYJ`+xB$Bt2@edYF z7U~&QT~O)(ClAVz*$XL?<9oO(gYI66T?{u0ABN=fqe`!Qwh!YooLN`YU9P4h1NN73 zGVAnneuD_&(joeB_cBd8R~?86)D!Ml@G54K2Kz%^$W9!8TzA%vGk?UtNb#RxoOgJ( zJ2X7s9l8w9tGm1Fh7VJj$1a2zg$y5Y2#VOGr#hDddv4PI0_XyqeDSt|lOZL#KZ|5t zU}dSum*`(00k`RJD}^jCR)ySvG~7N`WDpo_@ZAC)XBzcb@R-l~LveUKlixqXBj*i& z{}DXi`G&ybD_}jE@c89#1pv1%R`6JIzkCkAPr>8#O2V2A9%+n*@c1O*R>9-kdzi)s zk54U0fXAoL{AutwwMcapN) z0kYcR@elm|86Fil{%7#GZHd5RFCK6W{8;vo0N`~mD|lR7A)iYE3Ldux32QcZ+;BN3 z1rj`jTLq8b&SV-JJa&F10Up22`)Tm_`9%sID>6}aIDG}L1HwGkB;&^wNYEBMK4}zk zG13qopGiFuJdQT%vEVVA_1o}cdw%~6k3R(-uURVa$djlEk1M(HMh2{2q~P(4x$=4D zy$T+$4iMHdUCW@hpOPhL`HJpHUhL)E)ala+z6vZy-^HXhu)O;p31AsM@27#~$e{`> zzXoOlSoU4n7FhOe-!@pbHwsyZLI{>wDFjRFd}gN~-(I0Au;8(r72Du(I=_F0$Daa^ zbqYVG@w9B<$Nmop01kdp!Q&%ya>zM94IW=BRPZ>q9jXqeKT+KlJU)R0ZK28OMj_pihVVG+2UlD0IK-&Hg2zUn zR69Iw<@e9<_*3BVf|mq8`m!;S20Z>n5sZI-UcqDfY=Ou2vlKiI6xy&QJf802+|=n; z6MPjs4)G*dw&8K>KvhU33L!l1*xx2R zKL3WQz=Fqdtk{Mhujcp9@c2{U@wpcS9`8MUgawZ|q!2?Z^xrI!s4K#R%S}9a?^mQ` z=f5dP9euYz>X^F}r2a;zMjK^WUZOzsxg+iMq zF^z3Y??#!)_?ABCC!T!t0tKHB91!??i+rbWYbT$#kf1I2e8woG1ZfDLfBU|5`24j| zx&@!Ptks4;yYl;I`1~pGdCNip!lIMo@cDt-k#&y(-Ol$}@VQKpn(sfO;PXVkz-LdN zf=`c-lP!1p!eI(bZzDJ>FumfoBru)wmjp1~@)NTAs1wMU^TraE!3tp$NdK!UPI>}K5uTM>6QX5*W zqSRv?t=@6gPuuo?+gE{FzdZu4Q^~FZAhl#DO+|vX(5lBMc0F2nDqzRhe}q)#GPOoK{=1if&$TGcBJ^|-*+xte^)7!i4FR8d@^ZJKzcsfLmksO~g&Shrt}MU>>wJ{I{GaAfG~fmmDuyUxVncUM7sNgn zz9G#(*i{l%N9$ZtO$okT5HR&dZtgC*APTEz52yGtE_+HAxWXj~jj+`kBtzIr=oP4Y7ElQpK{lHr%h;utim;4M$6!4n!gPXq+5`%Srb{aCIBamy6; zFNM~ELkZPrmmYG5_PGOFnmmy^n{Ywjt|&5Gv;sotKyy8OzN3q{{n`cL^)J!!n~Stb z^-vOcKSk?ZuhqVlLgBUw`g=u}7naaLe9Fzm+MrW=_LRp>J=1R1_HV%d&$ZE?XrsT> zu3fKPyX6wCbI-@|bJOG5l59-ROe1+#8_CB!o-66|-GLR<{YdrCcLioINb#N9W_4?| z(VuG9zKVW)Rxf8>wRX*0yS20N z|Jr&eFCPm}aZoQw6Q#_?sT)u|E{8pZYoen>!WPx17@OSX{DW?%;f* zaJ@FS59*9Qj0wG2?!yb21A}x=KmUm7F5N$6ud=;jX|+9#rsgq zmw*JPk-93<@IvqBI*z!!rj}N3`lTAuEDK0 zHA~t#BW@^iK%p7exJ?seTdbQ~)n^>ic*2#yXg9+RX@e97oPvxPxnmx52Lgd5ww- zmaNdn5Yr4YMnFQUk7FB zz(c^)T)MHCh_8IOyC`sq`wM*acD;Jz_}j)a8eh3^e!+y}bEn}8t}uM`gfYo~8@`|@ zJbB_IU+(RG#=#ZFj2rHrFm>_`Q$$ht!W1Rq`l$56CX=>PFS^i_NjqgKC;Iqdlaz?- z6tq72zKo@>7bJoD_foR(oAf_D@gA`{#dsh(IS<1REp7~XS})g)Z^H*Gv@KrX)HBo- zndaamozT;oBuqNAzAnq9zqvVzK9@yz%!V)45^Ci+Yh|T&z00MSi$O&(lB7=C~HV$I5-Uls+{stv0 z5Zk&Vp+V0+BMmxMHK;79L1(Z*YX(V!j**E=XwbrRvq4i^Ht5$@gWRe?zcL#1N3?*3 z>}`U}TCf5&MHl1843CQ#QjRNn9H9X6%U#q{EP0B|vlgTjR`idy@OW0r#zyHqlv%6P zvxRix>oHJ_M-qL06p26}wj%mG8!<X&42DiZhB*3#Jh#O@;}Fu)y)iz=a}b8(#|$@X)`F85MH8$Xp9SjKVtk(1eiY+# zCla+jK4TFhV^@Bo&5eGd}0(y`@g8p%p}FK)X}0q^av# zL9#Y!sJ@TJTM(u26#CSnFAYd^#JPUnRuWoclSKV3VvaD^lO%~X*EdLoW=9g{I$6xU ze?qkhbKL_`Fnvie_hx-4iv%S*iCY1_V2={An_880Kzf5pC26+tY)zEkfaV5Yczr+;rnf^f2Z zr`;t-Yv1W*G#C|#eW%BytO3*S#o*ZNJDtm5!+z30CWrjPvuaQeW8Y~RQy#5-r*mwr z=z{8$eWxd#O7s2^dE#g^;FI#irv3gaq=llGW#8!!Y%5Mct}TQU;n!H_w>Ip5kq?y& z9|tBP@QC)mSXT@9Xn5>!@R5%O)BYC{{a4^)0bw)&J~A&(fR7ixM1mIZv9|bV;e#V= z!pB`w)_|+$Bu+vn2AlT3m>l+Bo>7B(82I=jQywjRbhNc%H&B3K|LYP3AAWffK3=;g zv1!wo)(#)j*;c?u?@bnbDE;D5K%V+PCH64<5omY|8j60#?5*-g7Cx=I9xBl>5GOpq z2F3X!`@O;+d0d82f`2rBKC_GK@wD+cRx>z}Kk@@vS^)hd{z!@%1zX++ zjUvC@$ZjX`L#_4If&n(eXzL4E_j`|7ZM>R;&Ao{E;R9Ie%oy z&-{@i@J9+1f281W{E-5KKY~O@&mTEb!L9N~Fkk;m{E=az8QKPa0h&|_dJ@Jr?hRHs4L-~V;oikTQq2nB`5%YrLeQ+OxIRux8`?F%mT*yx7b6z#EFfrc5liplVN$Re{O# zR}>Yk#*bZ}YIiZ1*blqG#J)2J;{fvop?Af9puzt%`L_WX?-bulbO(<*&?ez8YuPyg zEqhEL+s=fAdCi=A@iXS$Y%RMikjn)5NeRmC&6O13(^i2`Tbt^C#b~Jy=?`D1x3JE4 z-iSzAU}U8Kz0~On?H7|om_LPzvMLS6de(zrf4d4-`?tXefY-6h-CW}>+yH|^940kd z-pFl1fX4xRa%9PZA0kt%&3y>p!bgaYe@Vexu@eibT!H1BHh{`U9MyvyRT&SNi*vb% z6o3y8=TyoV|3=0*+Zf}W(GAFg_JS=vX|?^%1SNMz<5GNo1dJOaZPTyWtxfJ3z|T#A z?A9(rIHbW8{N5DIMyfG^TuGbXW?D|dO+jN4>QeoGHhbpl(`r?5x&Rr=q^dE&Y)(i& zH6gQtSbWxu%nSFgbmo1eX60RTQXVoU<#XJ&ymooyw&hU1uJ+>gBDkD0&~hT$!?aQC zBn-Q>1=ku`MFPV_r5E73jb3Wpb$V2}?GUl;apZ0%giR^yDx^gGv3xZDTE~ zl#v0oD0SJjY$$N@pRg6x7GG;HLHkIBhJLx|$`kK>cc#e)T{D{fI)3*xiVu3aAas)l zHerFyUV^xVWS7KV!tTeFw&OC+)}#TJ?T)u_I&*`rc&|biz&0~9i?V7t#Fh^p@h~9 zCw%^qy?$Zc!f*mp>vf2-I7-{`L1cgO``q({qhy}vto!n(r7V+P_+~SvGV#9LZxph= z!A>t&`G1*^|6N+7O3XjN$p2XD`AdrcB|kYP49d>ibb@2-``m}u}SZMr;TRW{{i}z zc%D7SXlfF@ldnd>miG$4V- z%vmX94!>`c?^QzP@OuotG5)l$7^nrMgD_GqXPnthPzvt7TfgexE4JJ>=smy0jH8do zu(8?~u;7zQG*sZS z!K!{r12~N<@?+i{{Pa7Xn@Se1uHcJ63 zY+xSk$* zDZZWpcsJJ5ApO6+o|d$}p3W=zKUh!8od31;^it$7>*;@hXXgmakzr2|H) zn2zNFzvE|E@H?{KzVP=AnjMf5JKWSVQz47cz|v za0mGTT5&n#9w+`Z!0nKt0QY%dNC58k``ZHC?MToT;I3?b9i-?c{br;g;I3XFfNRoE zaeNy#inri(7^}76+kyQ48D15*Vq|{2{TT~hHNqZ*;Cz%otblXYU?#Nz=i`)Riv#DU5ZC)D zSoO9a6kK(x6X5g)+X7B660`-JXBmaO1#C*-Jg1t#Dd!6VpOT&^MMw32B8hY@{g)IF zA@4Enf9c|UA$d`CFR9tAjA=D`_weklXY= zPlLb>L&h*%8W+SnD7@nWPSub<%f+QS6O=>vU>-_TlGIsX@xofPX@%JxI!J4YaU=ee zIliCHCiQn#xl%5R^xTb_EAhX4L?mZ3W@(-`GP3EiNY3|7Aa&f;+uMO1>W1^4X`Sd; zCbY>LIvAxZJWt^|yiUtOwnkUshUqYy#^@+r(Ylv{2IJqw-cuXgktwk11+&!KQzLgf z0^49!>rmFTEO<+Sjo~|@e?)p$ z&)R&gv$FxRyPk%8h7Ds_DZ_>_tdwEn7&e7r;}|vt^1b98r{Vk#0Y|vv$oVjvb?)6{ zo)3|$OQV*Z)diWd8@0|^NMDmnL;7EN3v09r+DIA^>0gCGU2$2&xw{EgyPTmKj17*o zfzLDGh9tp$mn#f+VVz*^3+ChD9}O0~zJ`N=K~rxmSR?&|y)!rr$bx-kPq$1MJnIT; zuAXiHGEdiRzIEptCg0O7mv6az>&>^`d;?F$(>0%OgZKu&OrCDT(BNSZ?e_o0owuIS z_#-0DOcY&G2~&||-|=7t{=lDkuv+Dg_(8ueC({uM7v-+d;@)`G&j3^iNQulWxRp~7 zimsDqP!39^(v!E_HxXR4K?rw;K5YfC%6P$m9bgJDKe(lanMpjxAq(u*Lu6G-#pw$? zKbAuedEkaXX<~!EY$b9zHkrmLBjO57wR~R=R-Ihwup~^RCoGMIa}8z6Qr}gBbsZk! zX*aVJM$=Qg?Ix6Z3%B{^z-B{n30+3FD3$*9z6jk-Ku-W7JNePgNA#Gl9G3&PL736rKF>UMlV__-)|+O6ZKOhC%a+F@rI!q1wt zP2_f2I)~4hZ3;i1R>C1TzPLyk9Yzh(G$j3lunBE3@Kvqmc6Uy}na z{OhD@PfMs)Ie-d1%hY-XqG+4**BryM@xc{${W6Y>@UIiriN8y%Al5e_$cKrMy9#~z zn*=}sNq~qJbZWu7k?VA??A{%!Ks<<%H&De;;?? zAQ6uibb=@$^RMvjskpy%74Fso-H3W_#0}lh{jShZT5!iToupXAY`)9o*6kIf;;`NI z71s1)?!7=IYqTJ}V>9$dGZd|+r-Ci$)uvh2>h$&1V*o(aSf=lX^mNh^JezmH(07Zc z^?%UPYPPyb8iyj(O_I#!DSlbOC)_S8c)UE~V(~d#qMl=*(uJ|a*0l~4+A>L_>}THr z<3ma=J}jZKz6jjp0e_ig-UroSVPSoJaiO{o>VhVSpJvsfcbBt8mI?2OPg+!Yo3!XX zdBj`Pl`UGlsQ8NnjC1{T>St+DlTr+(?T@_Xq90c%k5!BC-N%>uOJ3PHvrTiJaMYQA_#Zk*< zeq~o4D;6D0wC$3J%yMx0)^q_=Z3d94PGStXK+58VesomegR4;Kd6&vW%eS}2*e`V|lih$I+c5d4D#?YWi>d|Uu_GSmDl zJ4Je@ZLmM*cV-dG3q2;sf)Suriy-VS`H+EFZvipC30$DF`p?R`u=>o#D$CA_R=Z^! zB}rie%x)HA(dL7@^@PPi~!0vO_V^F&Q{nQAQk=cytB8Y04H# zz7PJ9T?VK9T9QD9VK0@pVLX3pqK*$9U&B+5HorTIg5Yk%WGzcA~t%XiM5OUB_ z+LrHj3BCljM1o!JuWG&bU@eKFr11&($4ujFBL;QTqUE5-B!t+zMTY2Rw41eibN!Rfk2K}M{6*!>WkSTbFCl%Qp$iojm<^2<(Pj6t*<0=UCH1MkWIs#p} z5H)5Fr-3LsiW(rqjv_+@pePG*3W}- z8i@!a&(oA(K#S&Rljv5tj|8(NJX2LIdoI<`GmVYa047pDZ`D||XkeTxI=Pb|X|22Hn3Q;D)6<&NI) z3?aqoe~{UTsn{&^hnOWi`}`2Zz$I8K7!nScP8W{{7W_FKF`4EmCxzF;asfQD^eHR~ z{KRtvPDUdVmsH?xgyj-XrF2VC%Yj6>bwz(nMa=qRGySnrddHkm^Y2gM~0cRTG8Kk#fA4j*C?P^?3qR8tkDEG#u&q4xjF!0kPu z0>i}Fmyw}uet&eT%Ir8tHm830eE#h{)+~QxEI|dwRv!PITnQVP- zm)fsF)PAD^zk3KOPB8;3JvShL^L7&}J#IWs02XF#!X@(jK)1@*J z62MlnO>yqiA?u6RDOuS*aXT#&V#Ug{pkB+dnKqo?sVn#Zxk5ytwHhxY*}lUEBj)7u zN70d<9WDZ){RK+3IW(NQ!{Kq4Ob-)L~;b~lV%+=GL+TYOQ)nMe-vJj^zI_w7cx=@xX=G77Xz zUdDs3&Pw`S%P+CNF97kCwXinaOVXv!*`j4_lOH+4_W_s_K6YBU<87#8Pe{wjTSNuHW3(Q*(} zyoUK3C)Z<3ZVJ5*n8PV+<|i`A^_T4GK}i5xp6~Wlt*J1q38tWm2Vas*5z#T7PSN%} zg@Lcnyf(W~`wSjj_UONaMPT1Q0kr;PR`G^T-=HB}9>Co|g9_0WjSM`3Z%1yJXs!N|b6;v<>NzqL@i0UtmvxvFJkU>x4?v8DYn>vzd_ld#M-4=Vu05TbaJ zsxr`id9NZr_;;#W*jr{OwS3=gL!7=*h5227b>-%HKjl3<1({zt=Dvuwn9W^0V#84QWp#&A$U4a)trhs@`#R*;ABUx#Syc<2Rai=JC||;X%;bnEYMDRf^ayX&0;9mb2ef_uA_TbAO zA=W{^LfeJ(5*-7?%d)-|v47~-2?hv_{crNAW&a!BSD={VP%5_{-~aZ<_hV=WE|XnB zy=7#9x&}OrKMR=mXDqq`st*01*H4qziZrzWqq;p_4J(D1cm<7Yz}WpAi?vc~)lsi8 z{j^_GNov`Eaq=Z7(9i~qHYxo2$gc$o?o=Bv`~WI2{?<4HWPgx$%_V}z$7Bqm@c2Pj z0btTFg~yCj<@M}#3Xc=h2r}JjrUj2fzg2jgL-=wa&`-Or6-h04oPUuGkAp8eIy?^l zSmE(^v~0lRxnpa?lFylNDe>JhpwXRy^(;qarZzSjLDgc$~xc<9JkXJTg3f zG*s}|Qf56A9&=6?0M5Kr;c-b@d40T%!sE762(m~#ZumywvAP|?6&`nx$I~`oyCe3lQ(wPCjqA_QE>?I5JT^wOmivHu zeZ{h=)Fu+X3Xg-ElhlI8Yh^0N#N*SK9vvS0eW398DVj9kvF(W3@YwdD+VNQZzGAWn zOo+$d?ynV(tA~fRkJA~k1&>>Iy3JVk-J+0++PAi4S zm!(q}iN{C3POZ)g2y|rtPPKMf}pnc zaiY#72{gpx^$TmoG^`k_}4;syiau)H(jXk_)|;4 zWA%v&kDaAc7>UOds}vpw627W^JhMp{9xu$X;j!^WM~BBY?7Rpx)HfVhUZRX}{?gfJkk<3_qr!?=F%(E;(Ew-knY|4o2c z#N~*nKr8}5Z9pv0ne0J>NFWX^BM=Wa-_ux+$HZefKDFZUWxgNBZ zbg2&G(p-hd4;_NXZA}#(8%U?ng2!KWC_Hu}ZWSI|Gz`OI4{oyy;c-UZ(c!V)8w!t) z-79$9&1s~lc-#$w+VHq$vtlwDG{oZue=I!Ss>fsEF`e;S+Q-g(KaR(v!Q)Lig2zi< z4&m`j)nQB>pzxTREO;E)MB(v9=@eS|hCF~_aF0753P*7aMD&M7dToI>lj zmkq_~uEi*&JTG@PJjPisR3C5d_I&?xC#KFB{h^;*VPnGRA^H9ZWwJ6+tp(vFv3;!- z%eJhG-k-7Ugn~Ol%5O3Gh+R1wVn{} z$XqQF{k(wCSX~7v$b$YN(dYE{mn^2gZ*@5xERddMi3Z-q^e)*j#+mu6>vRTnhgfO} zuVxHRTTw(infqf4MVcbr5O#iu>nr+tVWhlywaD8es=QsS^7;piF@!->UXJ9v7*ShL7A3eZ3O*NhnNy$VoGS^VU4?PkG*& z0{>0T@+t?VBNI{hSV8rAoG`)#uj%y4u9!>P`@}^V9E27!)IXQ&+jtv-w~5)6b2pF( zM$RhdmdjIK<=hqWfKMyuE(<;KJO06Uu{_A*qR=Cw;U5S#!9j(q0oSeiBe&cmr30o0V3^m%lEs@J;A+RW_J(0i@a-K=xFSmBAVkEc|1K&%0m7YTV zQ6;1a_IXhL2}LSJMdQX^U*WleH1-tH2$9dvqSJ<+T$iL=gZ7n484WigDHk%3Nzss$ zY+q~aN5Hly;qEzEFjEe3<5ih38Z4XkoeZdZJY>Yi_OfOS@CpWe8 zwi3m~D8sdB@YY(27*ep#mCOfX(dl)za;}^>ZN?Pl4c_EX-e}~?RQ*Phanq*F7(aO` z@+=8EV{UFUJgy?Eoe_!3Zl=CM@}MPT-->_?qTsXhbKfh3C`qk6`nSvL7m{2+<|v-d)A3T3CPl9$DKo6aISnQQEJ{3I%5mO@`H$%*Le-XcDp!=lDXG)R$17lpKs<8r?{`O2nx2x!%ciR2@j+A0JWbyk`LH&lRO>|sM21Wa=I1R!{?vyWTy1f&uvoRU43CiPlsNObyW)Xdnre^!t`ex+^_= zgWM5)qgHwXsZBzEVx!huB=#vu-NPjsSP1Sq}D=l|5$}YK}p2PDI z0I>{a(|>FH*ChDFxe9xfg8}=f;yGE(Fn|iUnad8O-g&H#M=|CYydHfOC#1~t-ZWjB z3>&N;LrCCl{IDH?G39z_obZ@c-*KNcqFMKsteFI=dNW!eg15jNba7(*BiK0G_X>SH z)wd1QVZv_fFF&-3Lqd8XebQ25+nV=v~y_Vj6zAr7<$(G3u|NRg(@GE|b8e@YXc5wGF_|ad4&_H&rJi3Na4m zkj1j?4zjUH)7~m(`zPPK%Hf#?2HGp)DZE@S!841VkH8arKR;iMd9b6|wN(2ao@)Q{ z19(zLrpw9qsy?!J`NJO4d1%#BIuAp@2YZ)Eu&NJ|pq0MGu7Grwv_&=RYq%qrKtKc9 zSw4|+#0Y`{ve-Mk!~Ml1!RHVs`6V8JnMd0cr<9@RSBGg8`mC;^5TZGC| zLfs*b-hq);Wz}#BwdYL=mC>k|$UI%dS;)-LZoM5@U{v7c4AC~uqL(4&Jb3kZk2`E{ z*#aiMjNwYWzt)VwM9VkYGhh(d(9jU?8oXNatg{mD;dIHfFT^p#lRP_@;tdh;RGy7L zWXrRzk|IMGBhU7{9hPSm^(4=}IYgoMXssz!cL)Vg8wG$`=sFI7V1y{PP_R$WkgD*hIs({#_!!MDE0wAl|CSOvGWJ} zsn7BgZ3Ds)F&^XHBMn6{8O#?$f&$O?vax$9p2_^WFy?dY%=roUl3KeCLB-O##ksEx z`~|0LnJUJ3iNrXBF}m)DCwoiUx$q1{>h=XUK*rz;_Vnr^;kG-B=YtO;kl^Ye{K^q2 zTH1FKP$=8*gFvHxH$fy)zd!mbBQZ+Yl5JHH+4c-bCEMgw>l!25umO09WZRtxH?l3y z$hKh?c$Ag_J}8$>kc)S{mOg>^eE%5hzW70u$6J-3xf_Rb3xr-}QFr04vgm0ei%z0Q z`t*Tkr~A2!0vuN&Tnsox%c^H?t#el00n)=|)mVfZ zSp`eqk}5a)oN6KjDfvtA8Uq^{LaP#vIV**YG)7>O3n2Aebqx#4(VuP!lTmp8~xCdZfdY2v844bvyd0K~ zJnaw=_}LI7oz==wT20Rk{_LTg&#GXw;fzVk{k0S8fu0u27_!P`w|^8?-S5BIR?_?) z^&yTd|B4`e4CyG%Ms!HWUS|6^3D9e24@%S*Kd86Cjgm={bazT1S&69Q!%_M>wO}~67+7m~>MUMWA7n96Ps}9n zqyyvh^~E^SQOZe3Om)-I=BeO9B-03fOa*f$Qo}R}I!G9Hs45dOo@e>$a*apWZN z9xiM6P}6d^X3uZnUBC6)j`6sRHp%hwdrt2brz2+{jKei__r(m%8)poT>#-B3Ln_xp zqMGa#P}u;`0d0iK8Aog8rFhSt4`V_XC3&}YjNke#n3R@>*fem%7Duv=Y(h*L=uBD* z6W29S7&vm@#m%>g?g{w%GW*w1XClJKMb5a@sHu>{eLj-4niCmF7SFwP#dP`|8<}KF z|8q57L6LY*h|u+s_Rx(+cQPMO7MnngyGhS&&gs%M`migVkR6mI;HC9lFWt6O2#ES! z2Hdj4yvYsd!ccC=S6c&Foj%M5di`=x7CRJuLz0}{h0E{_JeSg`%xVUv7;a{vGf9`f zy;UCo2np?MQ3rY+t*qT0jkig({!Etl$`8%JA^)gBfsURKKs@q(96`M0$1P%5-{(zok+JHk84rTVMrhmyXJz5Wvwk2D#8Ft^j7!; zPc$fX&x!B^bsVYZ3bm55^eP**?wPBoiEZslp;pN#&9qVLo*fnSR#KlS)GD2&lr1EQ z?pa?^uORjBH!yW&O6~)2Le#qF7x0AKi%IdgGzdE)A0p|6yXLbdfB4Y?YcZm zYAqE(xusvK3xNBPC6vIl>j+W~7PhOBG9l0b-vlnhkKu2`?=B9mfM0M0L7TTlb@8%w zHxq6x=QXkZ3A{OZ`BUP1-A(;fym}+N0W>Jei;}P!o4LuAk4ZC3U0^1zsiXTQ#~gOR zXnNF{`J?;WV0V&q<6-^Si@s@fn&_L~I@tA1N5rCS!u4uKlKqKmItk_DbR0S8H2YcKp)bDe$N;_R zSx8UqP)q3P<-EH6ED1ClAvQMIuWit6Y@Lec2dz-n9@Pp>hlGJK%nv=$B|q15Wipu# z&tQ1#Nqu(=PI!CHfrn#$Z{;mXUMc?V#lJ0nQFg7mg_JZ8r?XToDq3rX7*+1PHr1G@ zAi%X*og{Y-o+@entUaBOHa>~D^VBNiR63hX&XmFd|2So1b1WEQrj(vodn@=NWF`(a zHYbgpnwCx*o2TGZ`dHV58Sugztm9ojp2qU7!PGyO^RS$WGwajbc!PDkq2tD0KOv1v zps=yoNwD~1_ctK>f<-sSwuF8W|dnFHcey8%FF=RAs>utW?Rwd?jkPN8bP6|DcW-s(J znE}gJSgXWSlK08?(y>*EeG*`+5^c;XF(NPm76ldSEZELNKwrDvkCV@Y#Tfy3?32nt#$(+!_-)D+<5 zONPG@GcL4b5T`#86xgX;>!+;sfq@qP(5F)w^r#97ELLtr)?N%5V`l9cAc_u?W(bK5 zlW!-H%7n>IyoT@;36lnpH4G+8@rfZptuQGOzA>zxjk0jE!z2eGF<^38-#s{%G|BM4AtR^eE+QSeDBZNnD4Pmv1HbYxI9PBE^w!v zrUerq5DZ6veudD7?R`311m2}}hikb`>Qs9B5=ZIr_RFnuH_i9%#b&j>!}Sf0BR~SQ zhB0?HBNum1CT`$ZCeE^pXY)kn&Ms{oT#4-C;0a(Mk6TbmTeT+;!cQB^r%~*kF%fx4 znlEvEMH&oQAfNKI%|=o1=^+2QjTOADRLAf3yVvADDpE_>VBxU|%{#Oqu*>v&jMl7-7! zI~VK$kQA*3o;X4CE8Y*wMWtx2or{qox6XyDq0zWFU|6o?mqrdx1qhJ6vsxob*7+hM zgU?coJP(o1m+0sa>ISO08WyLeBWTRkeBIt8#9Yn3@%oexSiEHkSrhznHPj+GFSmF< z9(;Q>bS=FfvUuMWe0en|k>EWyz1}BSeUO$KLwa!e~<`Y(v zlYKtnfac;=guaYn-;6;lDL3vOBh~0}$iex9$_RyUK0+er6aHP!`Gm@7^9jlLAT*zF zvO$#wvE$v1^&z0UOK=35y>xhLpP=jw@8&@mts&c(W8lZ}m1uy7G4P!TvA5gi=<=N4 z47480w8=tZw%b>U1SVC>V7?)Q;b&>fHCINMGHPQJ#WpUELlDNr?nXhFt=kjC#=1(j zS|>3=v?~Q8nC%?vj$Et8y2Et0KzDO>_dMOrfNN|2vxjBNj`mP{_ui>>Y47xU-O|>^ z81?$WQL1&|fHqpaHru=A(#G^W$;PEQ@Xpj-p>uJ>;*uy_4%ypYHIG}PHP^XRf$L#q zNf0it*}1TOQP8J-5+g=%9zigEd{Dusix@M2#V4aEntMe_WCP~rs%y@swsLych~FgD&2hnu6{qH zX)o=L?>J?J`;x>YB736wZOm4PJ-JW&@oLUW*{$?&2{uLH=ngEO-JIt;w_~0!r(=>c zv(nwg+4UfIE1^Hi-Ad?4exrRbFNh_vb2|nb7r_u$!oTvoBwn{0JCMX++8M~=Y#*-a zN!)R=Sv%Zq(aQ3Impe96u29Dz@Ols$=M6Nws`AXlliKdWtkU|ND3#}hWT`xd&^THv zPcO7%+W4il&8VcaZnXi!(2PpMtw%JAH2D_mED|^UPbi{IM9VDFnXi%n@P|hy;fbmdAg%D!fV<<0W(O z{icwZ+WA$yhK7e0OmXOncBwz;otz(BPw){_&N zWZiCY5RD5uotyR{t1Q-&i|MT!vz>?3A~#c7hbnOjiV`)LB@wE@8?+{5TvzMKx09_d z#RNpBtS9eTu9~=S#DzJmjBa6~eRVl#t=5w@%8HEo$EAc!WcwElFV0p`@G=;+GA3Ro zF}4W2q%}SqUWy?y@UpwnF~ZAURe+m-ee4D%Bnml(@d;ku4+ZLY=_i5Vcu84aSG;@( z@r{yNJq*vjj76MVwcuq4y>+}4lH8a0Rm+%o`Gk~p#mmJODKZe9!pqth6<%Humw5Rd zOCVO!mZK%H;bjG71zxTl62i;cW>gUeC2`3oav!Fg3QvL!Q#qfC^!#3rzBG2+0KQ@N z0kEFZV83Hjy%7CHxV^42sYki9U-IApBy!|b@`zwgoY+$azw^+mqK~|*_-Cs4ualT) z&d3`7uo&^5z-guK$%h6GkGnBd$y1ovWYBP|^^B^w-%*&D8XQ5Jta^GZ@|9@OlR9&3%q5lYh}hF!hP|2&=2g;inUZ zeoW?ttI_PAc~?e@!Xsco}G|3DxTl}Dw;g6 z?}(5mNy)SSP&9cy72m_iQ+!UGtHDIaIgQF2?RPrPLUxAce{K2GCaOHik@C#EMDk}q zRC&6^l1IB8@G>L`YoBcLT=!+P{2BRiME+=KAyHnde~*?wOT_mu`6F3#f+qkx8^OF`9s$NGZb@HA|z2Lg10;LD5BeMm<2g86%5k} z2cg}uEAy!BH@sN@j#2D4yh#5ewBN9M5OXnX&*&EM47Df9-oO__6OmC-?G0GUuP1~# zZ22XEfaNz?BB{0fI-*Y-S$?;@98rGP!Amc{xV2J#lcmpYE5Csx!o0oo&LjkH>(C=s zJ3ph@-&m7>tjn)4IYueJ{ezFZ{5lMbQhrUvGratIzEPL*n*m`$<@ebt%x{{0KK@7qPn@6o>xCWecvup{zU!z$+qu9_Os7SGJvn!bFV@}hZ1>Bc12+1u#N94 zF!+tb)YR=x?*JTqA5iG5954o67#$8M)Lp0UX6bHU-Q|Q7>AL7{nz-HpL%;_oZU@ZN z{io~xlbn?$FYy_F6(z6IfpL~ibSg`>@)du0q!0fpN|w=q&r-Vh!{cIkkjF)#$Fk7l zywGE@@#rln$0H)EqElI-!QmestKv;9io)T9kL3i?9ER;&EpaKEPo>I@%q_G%=y=4Cwy{B2Q3_Ivr zOs2F)Zpgj;ZOWd~Ml_sgz3MkGTCZ?J?)9D0a$#XT(vbV7vlNrt!GyJFcQ$K5SbvTC z2aNTjMF3i!_an^TV!q3%=DX%48W7#e8@@3=+94HF43pBa*K`vuk>KqNIK#tLyy9Dj zAkpg9Ctp^ot5LphIyNx4%Y#_*1HHQ(`V_m`Nz?`Oa#WY|yB*z}43_=JuMz8vW^4OY z_+gk0$omGTad%Nd}`H7#9pme9xpLi!~4_Ggu zr-!nYROkCUdWdn{)LsvlAlF-oO+nb0G3YI){|0=vkTK@_FHFeyC(JMK4@=1N|J5Jo z-CI)C(0O3H)1MPhvA8c8gB|STP-g|ao1E*k`c8jgywkh98RIYc`XDS|AbcK3OLpU& zp?@Yn@~$bQT$w*-JMLMRkNuB$%l9rUhEtHa9)6gzuW@#*1mSl0<)m$%=U3=CCNZhrC3_j< zlhVoewcS*J6P=|uCL+VUe(ts|@c!gj&= z>Kb}f1I%OPVRgj&R)Kd{%|au2cwrw%^4GV93AxDMWF^j|D{%FmlkIEnZ8-nWXWzoDFt`c)ZZx`!#3gz8D`D z;Uw+CF`+Mu%`dkVHImo^vhAxxje`PWKmeH@Ae#_`rPQR`6tD@gl`c=_y zucKL$7wNUv(Y(nknC?q+maI>3FEu1_W#z>qUl&f7h+D35#_vTY3=xSE=HPJ!#i#+R zbI9r(un^>0ZbKRYg z?REVv!RdE3i+9$n&(GX8Bal~9UVtO4o)6IhDFCwi30jc(s;s3hIsAPADWkT?t{;{h zEKmVY1eg0f9sj6()dk+|`QDuhS=qjP4>OrCF#!)Cu^Q%ice*#pRzx(9v@hUWNNl2J zfrAcA9ZzUQ3j8@9s1D(Tl+8wRJTL*&dv+sfObJ8a8#u`v^z$E$nT#HG>DoPBTP`KPDHM?yr47I0rx70Ul^8a}CT@Lkq5ZMFu-Hh^jJ!~U@qeb-e zHGwsl&5qJ>)Z(flI~KH$RN;QM>81+*0B^bq7nS|Hj$3JOsK^VvTTBgDhIm4)n5kla zG_^RTLscYQq!$0IfMypy$1*deFYx~8o)?%Mq0bK$cz?_Dz9TWetzy4Tty0lQ$K`d= z@cV>i71TR9sOSp3Um#nV!VCRPo;3A(!W=`b6GKTwr|ONY09j|Cix#+=?QJw={%=v{ z5}8h0bQTE5P<*BJizVLPAlz2e+!}?P97lOB1;HOu;ZGrg?fB@wqr!heY||wTEuT6X z6)qK3wGuqLr)%kBg95HR87`KM6o`ThJ<(a`8DUWY#| zOqK68Rrzw#nW`N9Ol-r^b>^mg@0$up(KI@aAAAf|UI9+hKgD;V%FWNW6nHo36|H2A zK*`YPpk#ZRZ)o(8Lf1QSCy01D0$TQ{HkCK4df;`|_ga*ve9_KBFJU?7ij;I z>eQ@pV6_MHR2IFd+4QEaG%xbE{M=NUZLyTo!s%^Uf&3(b5{f$MI!zz{Dpg2*|B<0Q zud^x7_25;Avc*XFYm4&q{*3vqC@PfXRH06P??WLKs&_X7&A^&xdz2P!5_2F7ZpJ`( zA0ACDx}Src{Tv7%D8m5v00+YRm(h;{;RDO)$AR$vt@PtS_`p{BaUi^ZFGjC0wwrT+ zqt^o%2seuy2y+0aYtel+EsB#re`FxcJl7L%84tJJP~dNgw3*}KJfG{mq&%O4O*3lyz^&GY5I&Mp!aUI_ivot1$%z^abAGePN2 zlNEI5dL#z#-rno=(Xg&On}~p-Jew3*m1h|$cwiIjys13b;gQV@M!tMhrYHL=2T$H_E_pq%p4??8|7}%pUARJEdR|c|HJ9e3CNVA)1Q;5KZg%SZbN@2Os|{% zd=-ZTbp83cho6Q9o|jyWcYpG=bZq)_rV6+_6cDaIKfDm%nEEp=@7>=HqdMzBbzTV7 zSr4kSKvbtAQg!aJsZMl8tg3VG{{z)YBf7fkoue9uuj%Bnik zj)Cgjrgw$aqCs89oQ_wTT%tD~6TMCPM^&Bs+;alA)eE0RwvIYKtdr{eHhk3C6-;wE z#V(WBFxb{b+Az#rM;Ucua=fmiPH0VI)H&Hypa}yVuQZ?NZ8=a^pv}U^og##xI_=}m z{vp*lRaB>y);jJap+4>e;bF#|=`l4XSQ#4gT0EK>vxpkAh#K=IYRsFcF^i}%i>NVg zqQ<<58ncKRvxpk=CTh%^s4F^W>%!ew2V8iwQ02)f6{1oGE2G>kS1GT${uoS(~xb0OhjjyO*Nc=R?$ z)>*2;)aC`z)aKTF@B0d?*^XE8bHPCLW(fLu-W~3Wz`9!X=C%UwR=uLBepoZ5H%(U1 zoBhGtl^ZwF+q=K6IFqHTR^Z(ikX3ZmX-Y3@-2>Cw`^>TD-Bh16vH)nh`)aSq!h3Gguw)KgbE2lq;TuKXpdO1`dA%6|;P)q3$#p<Uq`6LX^!Ur`klSdoQcKIZ}QXZ{{kotc97A z%b0SuDSEE1`JN>LLnub|0R*tGwbjF-dSX>r%oERrG+|LD+riWb55~)^A59ybrQAY0<1>U`RUVQ?a zhw^Z|$0x`}SiTo?P+UA_N{v+M%w#qZE614LTCPx*&>(w$^LZ^{+G-6^lcuZsP(H96 z^ku)mrBocgg#sgg%X(n44BudsjB6q=R+Tc-X+_l+G6jl|@KS_^s@J0k{I1G#5eUZU zs-8GAR*7F^uu|%10%HFRJ=JWl-ULsOozyqaRg$pJnu; zs_(UxepK~+w$hKPzSmx;`d;*66WzyI@O~S)&;0tba_y|Iy0B`Noeg{+E&w*^ zgOAhsak?xqWAzVbK|NAAGNs+p(~7GUe4b*+oEKl77rzcKtTjE}gYIX+%7mr4{~6#L z(L6qT-UzG}>-yfAd5HSHq9Ajd!y}sBw}hpf-*1Uh_)?)9{=_hazeQL0I-1;lqyosK z$`58=kzmKg5C+)uYBs`lvRot<*#APfk2u{Q*7Cu$w-bU7kiM49kz=FkLnO}ZcN?)`&NP zx`+Tk&Yyw;T_D_b;?HT&9MR5%1UQew;%_L$-!RJZ@8@;^$b_;g`E@A#@RE0&ngxC@ zqo`5d&BM!kqh4-#nV&d3j6Ha|?gQvZk(h;OFSRO}lnyvNi>T4BI#)_it3S4G1KTvhw;tKYU{jfHAO^3FJR%;}o0p|LrTU z`Y3p!brjqoQZ4@BmDeL11;<`_-G`Oek_gp!NT!cJv`+2DSb2>Y19t~g>BGs8(yAG4 zW8fp2K5p_bl$kW8{m*?cs5uSqLxD4J#HBS*EV}ha<&YZJ;t^x zi+0=#&#>9!KePt>0@|wW;PKyCgSE^azhD~+|G{lkdM}KL=S?j7Sh#J8Z8w#)m-+(i zy|x8d?3cm(@rSTw8)YC&OO<-tBR$TqbiHWI9~-- z-~S=&uVJI%YmghYPacQLw)WBR_0*m1aLXK2tyXzu-E`+JY(3H^j}u({G&FhKG9T~$ zyfF=x=tS75ve#WTb7P+ z^7t%KoX01RqwYKI4=u?i6C=w1{gcNbg^4LM+vM@7adn$N{w#{xJU)NSQ3~{D5%uS> zTu`v;&;L8~$2U-8e%Fm^Zy^#wK>zOHqVS4ZT^?kW?i-`an05HXQ)kDy8n~cTm$B) zGXa}yFg0%3v=p}2R}DMWHsr9qzUxB+&L1oTPDN{7b0r~%ni!da&=_j!E05N_zJF+! z(zn)e=6*Jjf95VF%bM%AwsGbW>{2q;TtlmG*s0=gvJNdq6|xDZb}ajEoIcmP+^@1V ze7}-)`E^?q^~vs+b=0{hY}6Tb*HUO?QroVj9oV(>Zrz8Sb=kEP8h4%;8h17cUwpj} zjcDL4{9v%Dk2{fL#<-J@YSw{^ua^9S{ygU3u7w(%#-IE=9h)Xy zs{*!%0@OT=s0v>Cv!E>{P?{76&tj}uUWNOV=c>; zOSn`QzIxf08Z&J5GC5Ll9%l7Yt>IvYseZ=wox`tQf)1;M=Aji;ULqQ5U>P!#3p%)- z(^$|kmK$-Lg{zmm1qU;*YUiX(U8&VeJ=Oy6clOmw>j4?YWnuRf7AE!8%Qm7jF&7xx zpkzDqYF)PEu3ji4f*6*xqbyq@9b}93%F{q6T|0l<(0U~SlUCGOHjLZQ3}d1Cnbm0GXVs2Y{U@ce#irQWBnSNl5V1`F&);(BF5 zXt`3~!}}98ov}_Sdw9p-Yb;RSNj>1Au1}u8@|EpJ z`g(MwUQRemujjwRa|gIZS*FyBz+PD9GUanrbuXSO1*eV3soTKuF)S$R1INu&UzVxX zC(p*aKY2YJo4VVo0s^6c@PT7DN^yMP=on`YG0Fka|6v2i;s`Bx3^wcX zcA(<}M{@_yI%y&eI}aFx8uP9H`v;Ca(L`_yj~sEZ4jj?`)@i)B>-cyPD&zQgu?xDZ z1)12rd-UVQaa5vHQ>h7eX|2zTJzlJzP6aCC#V$Shna3P2PWlVp{mFOGu_@5IRKU_u zK=^p^yVm&T_;``qT%(Q`vyYD#vD@|dc(FuG@yFcldVIXd(c=;AZ>`&SG0Ohd=;KBE z{?>&5)B9WX@#Eq5x5@~T1`{GjkjBpD!|!jkj2~;=-+K6g^+#xo-4 zOz+|V!aVV@4R0}QBmB90bmm2l8IOK*YcCly;(*ehvAK0Drcd?Ftpjn4%zm~r%s4{K z?XCU6tPo=!EFw;{tTxuRy_Mu_7_hzdHtY1MoOTS`-uj1*dd|Q=QVksbjGYC zTW8po9gpCsCuTuqd+XWe=&|hpY;VoRYZY>;$9wvGn{nWCsO`Wf&iknyt{+7iJI31K zdNfBpYd0?xvB&if9`#I=`Ci%O8gbO~Z>a8p*JKL8SZzc`8LN$aw2mI_>y7`v*spVV z^FpC@DaXAl`3FHC?H&W zzI+0{Ij%kHWFA2`$#BWbC{JY`!Afi0s$-~4XxZcD5xCr}>&%dW-LM_5Wwq~bwOZt>5~b`Odh|v|j)lA*k9RSytIP^TRhkxye6`s}_!#yPUIMS^2SXxk^3_Rc>Wh;5RhM`v zx(n$x!$NbZE}x67E+=9s^8e_5)<_F{w<4Qr--Ht?Nkc_`9AOfnm@4ulG_GRqZ87_^ z%JQ-pX_WJ@*ua1xxAX=mp--YZl5@5`XXE`obxy`;R!hlLa`+ zCJX<$+qKHC1`(dz(t)7ucx3PKBL7)?v&G;(v^KVkXp2FHv%xg(n^*FBYJR`veF5?r zpM#!4IcZA}Mn|8e@D9&;2n#GG(4(Y7j+1i0K=TXv{@xUa8!8|j&67~F3;pM&Yuykf z4yvo{5CI`odVc-o6i{w>hdqC6Q_&Kb1e~6STzMrhFxBrtB^!^cnrD|ek6_9-f%5$m z@?Grf_(Or`OGoKlcyTQFUZAaZK8e|Q+-1p5gliT?hzG$T)gcxQdhCprFpSew$jsvCzLx>+z*ZQsyV_g~6+=`)HugzERs}((rA* z7Y7+>V?afWw!qlSVg!h#dg4If2jkmc;m8NZ2uzmyaeMwa{PQds;3;=qhK34BJ{u{I zmLOY6LT;lZk)poN`eGhWyJk0mgVWx!0m;20*u}bi$FL2$gE`mrZSwI&PxPXDk?+DoHxt@tb0laTV)q>B);e7c1ANr2qe za(WrJ>b9RmiBblPAHybDD}oS#i`n*jH-G^woGb;Bp;s1w~G%t`P_kCLLcj=3KmP;evc6wzmTOOJcuNZSdZF}fnsPFRXnhb@78ZcW_em{;%n8UPnW zz6%LwNTq~q;auUGJY@o8n`{@ZC{n6&O4Y4SQjOK6x-vqlL55VKwS2hX2)ni&Fb;`) z@)eZhJ|?_<#kb5&j?$Z`20fdz9rq0!f&v)wz!*@8?sm7}{S8Q&6{{D5xzgkZ(coD$ z`78H|CO_$Z(d1W)W7FhVqlwc#?;^E13uU4GG<8GLlukoucxM`6FGN_=ZLo=TrGUJdehj zqFtaw8>5R>23Z1Un4%4~i`GbqcKt%hqvhh*@+gI(^;V)SRSB4_5}=D#u2m!%qTL)- zw2H1qu01wNa_#l2RIdHB1ENupt6W=#R|}4&-7UHH?tLQK$&sR^QnbH!mR#!>CeuBb z%2bd#A*xJ0O_`c0nR@6ljfD`7##j>!bq5_D_J;x!@niTKJuQdl0R}b4{2PJ-O_gi? z^eu+}9`)0n0B&Ggg8KA*4C=~1Df2$+O;IqJHekyBU~skn?+N4tB`uepbDWQ>?obhce@;&EOG?;A{_Y@ zk)k-^8zV(KKdLQ7>kx9d6n%iQk`yf>p)Eyo;1f!{qx4B34W(!q-|Z~wiLYtA8U#}Ld`&T$1J1I_-;?p9r(n+O5i?K zlOoD!gz$}#qCOT*_7t6hki(Txx`+wX{pZ8*6nz07Yl=7)vZhGvf7?^^96m8qv>vTk zv@)76d}E|&f`yYkMS~F%dnDP3RC)nbfkCl$qC{&{BHKtZH>_Z^4?@Yn_?Mk0V-eqJNZ(ff~vfI{yEyElZleO#U zAY<=_x=AscY;`FnA-Z52j%)V)MU8L1)!i?|<+!Fxn21$d!^SncDKmQU3*QoOS+3~|?ruLhpO;cFt&0eo%7xagSRYnv)vg#*FY`RGDg@URhE_|aPB1xxR!i0ecyn(ve3S3%R0JYi1dLWo zF+RdpYmZi}8U%$ZnTgRjb_lgv{F4|DiS|?d9CnJC*X%oT1_9xHr++Hj+G=*jB^&>af?ZGk}{y$&nPiR$I@` z)FKcW-9o2t)(T@;pj^8RA=SBy9PP0WT*^g#`)LH`s<(7W$N@9+5B})|Z$k&-O(v2gYqTnUPTPM7X z`q9A4m-EyIG4b*t+Ej&?5D(60G zKxMK7*r4(b@TQ>h>|lY)mO%rAMG)*G(KzC2rBFQEE>dRfl30X4o0>7z)z9Qsc1 zGFPZ$;^h{|u$B>MUGQYV%Qt@&yqwTS@UnZh9WT&aUj7BpDZI==n*vqzP_Dwu7HM#gRnyWF++yM-8APFiv*Km{#+Z27DkLUe*5S2| zc=;PhL($ssaw~#NygWpfz{`8D)d?>i^ll^YQZJ(avgKPtA6=$@5K|xJLJ$R-{b=PZ zpn2gI0nG=!1vEbv+d(6Z%r1usnoBZBmNHhHFDZ~g;bjAwItyNA&lJ2o)>H7(>~=d|q>*_p z*~H6fy#y~k#7XWZj)|8i{%PRl1L0=F%Q?*qyriOa0bVk*6<#Jw(|fG&@^*P0@Uj#{ z(ebhXAu;fBosgJ#86gqY2`@ct(c19R3PC1bGRYEnnX)PtUOL?t1uuya{g^LX-bxWO8*rmR1VjF`RUd=;pO}<1uvCC9TP9BAdqTWCgI6~m(yK> zm%Q$RfPuH#@ghyjWha<;sSvW1ZHoFmaZJ4AFEa3Qvjo`ivJ0S7s%TA?;N`P(6<(S` zo@0lX8EC#^;-vsY(ecs?Au;gMOh`<;#7l&A!ppYR)@W^bS&bmGY55E<#7m2p>x7rr zxm72;znc)zzBK(p@N&OU$HdEg$e{4j7f%+v9JoR7a?)9Xm%^Lvc#-y{V?z@!e-pBl z#})M>;+S}8`!@qGc@kj5%X0vo!i)cW!OOqTQF!@G8r);0iu!|FOuU=|qUd<3kB}I6 zsai=A6EE-LwT}JW$3Ys3)`k}!f=s;pn=FBsFJ7z@UKZX|C%k;NOYm}yP{+i}Rggj9 zB?(U!yi`sTyac)mUS{58$BVQt|4A_MGVu(OrQ9e^@(giIynJ`BftQmcz=oIG0Xl`3 zk!V=Zb-Ast!ppy<)jd{tX#s9A@$&sE)`GKkb>Bxw47@B85)&^ExzQG_4KKqH zWa8yEvIJgUc)m_}nc$9smj)5-%fCMryz~+35MD}v;3)lFS5QQqb6)%q>BnDoJg~Y_m4H99U^wB_Dv^Kn)i69d%7m+3KGW)qY;U%Le z3SOE-;N`ZRf|rIu9TP9Vyky{IDV{8Nx#l{-i?@^D<GDJvB zyktv+b;3(4TeLR3{Q80gFYU+@c)9f1I^iYphC1QpqK^eHA5AB9OuW1SfmHi46HgYr z^qDMpxw3=cW!(*Syof#;e`vk2bhJ&#QodHyUx;JkWrW|ri&p|{c-aHcDSh;IhT!Fg z9ttn*AkVSG%WSmaG4V1IMA7jw03k8(k|rc3UYbjUb;8Tn%dFAb@bV^t%=YC6ybv$# zpRN;LKAai_FUb+@OS_K*FHZ<{2rsp)2mAvvD7-lFWWh_rYXmP{PZPZCm}bX|v@gAX zGx74ckfpq=s9zAr#LHPe120!ffDJEe0Xl`32YU%#Ui*u}%Ma4(9xHuxDY(VNOE(Zj z$IFQbiGi2B|0aovm(TH9$NtO9APq%p!^;B*GV$^nSpqNnmevU`OSt7He0&s%mmfY5 zyxb(zG4XOOWKeiX#ghduAB`8h{M=6Pa%hSjFVemw{9@we##2Qf%@HSgwm2qUew%0D zrK<$k@NySGr|>cb4Ga1&3%V)1ye6&gvBFDxaEpnT-=DD-oVEY58zC|9QZ6JWUY^Hm z9q}^97Of30*CEKn%L1|lUe-TeC%m}1%P1T#jUw8Y*WMGn3=--PUTT@II|ni-yl80U zEO>e1YQf9qwt|;auD9bw+LsRwn0Og@is0pPagr|;$HdE9a}2!vEZl5(84b`Wyqt%I z1$Y^CrozhtX?2ekUiLjz2fVxuqEJP*;^jqz#K23LkeGP6Ln5q`KDyi%tqm{z5M<(I z6j=f<_dHf7yyS9&QEa>{*eZBwEz~jb(g-prysUWAhL@Yh2wwhvvfw56T035(eR=FB z6ECgW2wpmiliXe$6EFWPHSn@oxY_XXmxBgglF_gLFWtK;yo`c8$FBdf9&LEc_T@nk zMaN4CLSo=$jF6akxkMtY6J9#oqP5|rF@j9IbSF#T? z1X9Pu%Z?`uyv)OsrF|JRO7Jo{Rq!%tk{vJ7zPR?Ac==k$QmPg8K5iI>wP!aCuldWkh! z8(wxI$i&Mbybv!v7uN|dUyZ91Ub?>}czH#rW8&p0$e`MnLOfaU(t3p8C9{>_<*tc# zyh!_!^P`EEmxU~)LQ$_5$HdFI#Rgs`OMne8?*McPFVA)nylm;H@N!66-D9PXt_HW5 zcsUP5(ecs&Au;e0CnP3beteV>)(I~aAPq%p!^_hMGV!v7EP5-Qzv&)~+e=*r2_rwLmNxRTw!U zhk3Z-`SvNOR27={;udf>YIj@#3hxFv`$^cIxm zd()iW!X!M-1K;^l35OLE1BGA=ue@=nm)KK$(kb$Ka@%})y|5i#eM!z$CxCGy5%&@l zZ$=-DQB-Qzo+<)6ef_kHTavWCv$8(O@RU3iTU+(`7h?+kUpTMr^bT9<^t%^3z3%cn zZ^JzQARM?Jl%D6k815CRd6k2*)W@@mot_$;&hgHgr|m_n=JX+#Ds!czaPZlMMD5bL zeY6^f&Ub0=2ti^~If%*=#M|B2S$@!2vT+PI|BlKYJ#vHA2$@2w3CP57W_`${YMWv< z8_bw5U;jhbGT7frVX(2-E`u9pwhw4)g-qmhMv?QA;G-7%fKlt$6>=aHS(B^RuO{T< z4b`uDd_P{l2n_rkRsCwyS>UP-{YvUrF~*{L{kjA|X8r1#uj+Sbdm6#?3iT@ss_%JMqUca6K(c$V>vCgbL=vZ;) z++U~qHCo7|erf-Vl(P=?>i|w#tI?ERzn&oH%8K>3WYSnF)^cuD3stN+ZI~-Zpt$-#H$<&iuC1zK zwGx8FVTFjV){1orhz?h=PS=@j{=2GJ-R`SX#cCjAQnBvBm*H}RdT-!i))1U1<~X*37wbLfYh_wDFVqmgHPH zeynROKXiJNDzdr&7JeQ-5ouN_k-pIuFX|K*Sc|?)o^M!cp3j};?7A(_`(xg^pX)n) zh`=`!KJPf!)zr_+#QlcfIXtJcKWw$;Qtj#~DbDk5ohbXW@_c=r{W2XMId$$`&J)ae zCFM!LT2g-I7N`Hl_!*xd8xY-1V7|o(YfIptpZSi%b6F(w3}J3PPwMn#I{TgDxbsaC zEB@r|ELm^i?|mItAHpkD71_)HDyHxDbRc096kwh&r(?P=E2-pQLr3XW@F_Xiz~MO& zx#ILStQj&1K{cC74muojn>K`>KRF+o%Q-IL4jlffsmk~E?&$Q3K@S|YQzx`>&En?; zUMvdE{n zi(IN$$4(t@6gi4DZ|eBT;}DKwt<35&cItJJC5v<81edn{Zz$c*k-U7bpJL)XWELHN zMp+@-mgIHfJV;!?c8{dQFUHr{SNsy1I)oOTrxOXhj%?>k?l(b3WHeUHzBthtm+wzb zkKjpWSD;%Rm03G7J1@lST*a(E95BlXF~c!6m4;o~j;6IRdv_t2aYzzgj5`yh7<19V zuWK=Ont@{cDj}NXp|x48uNN*f3--y3t3vg4M%v`5uCsfOM&WgFuAJ)X)pN8fZJH|P z36ouuCV)T{GwSuUw5uneC|P^2!FMcLyrGzLXHK6m&NX=|ig{vXR=TV9QvT$=PNum5 zb<+Paw0dZ`cJq9zw76Rxo-CvU78HmJ>?>g#XE`z$1JSF7AS-sDm54z%`zg@95S#A8 zk)WF&o9>Zupu0LY-M24;?wr_k{nvo5MQpnHT|xIPT7wwr?O6i4^|9%8z>as|AF=7~ zxeIhNV$;3h1l@(P>Asi*I$Exek&bhQf$kS+Cl1@P^?w9(@5QEjsypbOicR;(X`q`O zo9+zsO#)ZNrt6svx}LG=R;>eFqu6vU{tdb>P*q~(-#MUL6`StrxuClzHr-XX!0zId z7?FNe1R`e)qGta9QHK~r*WD{kgJ=PtUs?!nJlc;(FAB9ErRBdup*&q?On+X9Cr&cx zhDK8d$@J&*mx@~1CyveH)z3(^*8h|BR6hNNk}70qbTE{wGAniBO9coCx5BmaGtPNp zmM&xEiIga1hhq$iOno>M`AWy-A%H=nw20s73bj7LoeQD|1xYMAJ9gw)B5Pd5_U z3=_4Hm`!m@!_D|KhQv<086V9bk|VHQ?9MJk&a zpL~hdNRG{nPfl1ePP0XBGvm_$L1Ga08KjOd?gWnjmy~$?`{N@uqZ+dJ<1PS?rk3~f zf;o5#USRP$BiO_8);8F|@)pf_&?R?r+_gtrK8NG3vW?aMAA4T{A4QS-N+8x(p$0{lw#{F}r#s3>fv-C(s#dio>hIi=W#9i>;8ut(5 ze=5Q)c&?4>9y~vX_sj9W1bNYaZ-klk0k^$T*WV-%Ri^TdRVkRqE=e82GwDqBW2Eqx z&L9ZSr8qTe8JU+LBY8OnS>6zVX2&4H?W)JUD>>#YpAJIxb!T+#teeR(NRG!b$jVeW zElP&eMI(JoA;Byo20mQ}BH=mvbd{7y(nQEH2)wrnUnioSDz_RA(WwvM5MA3%8jL!J zn+;>TgPWukYRf$?LiB2KjGv2;ENZUqoZ|*=Mp6?jJ(*pEd_9emP-C_4IZ4zANpvrr z;cEu=0@0I($0T}cgD7K@i;$4DSVP(BwV03Mgxe1_X#e+$V>KdWRVpg-Uly+w<>26GR*+yWfqzD^#%M3+ER)`7<2}%WC|DokyC}IDwT}#2 zLhUhVj)v4sbGs;IHC+PtH&rGHr3#n8%YH3_T3xCw)UO}w*LV0z-fDi2^RDsR1qRvb z)t*O90BPR&B$K9}J*ry#>_EC`ycc;Ms)Iled0NHfH@T}OerBO+_|oOIr75BK*;QzZ z&d;7k!gHp{>hLo%%=q!MqFq(xXSq~$os*2pr)DJeZ0$W#r@$)=+KS+oMiurH-5Y|R zJwqw0%Fj+x$$Bleqd0?~Eo$XmmGSO4ooKS@MG#H86NVD+x!-_A5-QCY0)?46J zRr5qOk{YQGi~JPs)ubz1dXLC9%vOUqc5{-b>@?A-CgPyJH#43GC}R_Gg!G5?3uUX< zq6EbWe^{B@1;@$YD{&aLg?H6@QrZaOZ#uE`qKrT+$0rl9u)H+zHaPiMHW)&u_7ulr zgLiolf8zs?fTWi%_;o-2G!2=sr^r)az7MC0J|MzUqjp?HH7mk8c7)`3B3dhU(Yi&{ z&iC&|eIk68^;c!&Mwezh2}j=9t1=3Zt}nJm@b(U|3UXAN5XBC~$x9PV&~!o3XPWYF5zapfJ=WE3mZo}=J`t@f)>uhlqoZ9oLM;ie{-hlzSy=#-D(PUyK*oR*Nx zI_2t~tmjTor;EpfR%2wN4f}R^g>Y7$CF)7Os;HjA%HNc#p|EdOScJ2tutk_t!q6W# z@$Rv9G61%M+21x{%sqA+J;Bg_6?My1ab)&~sZbt=gk$cF6Q;tYr1@{JMkl67$RS{!T>GWES&tivRly^!G0_y>IyU$;wpLS}_@AXnBRq`6 zI4IGrB2kQ<=ot6~wx>j!W)_J`&u$eAEMLD))~`1GI#$2li>u%FI)b%lm{AdK&+4B% z?Rf;Xp!Re%QgD0TK?+lQZsbJAwB|-4ZqHL9kDLeR>%a8tYx?yi zT>aXE?=>vKq{>vjg}zFfldP=!?znw zNyoNkBpwy(c|Fz0&y*J(%4W;6WHpnqSU2MkZj|EU6Rp$RoCq(*_AB(~BJ7(e z%5JG(HLfU9QZg3d!&!35(aB3(?U5PTz)&7l&|xpsvNQgM!o>oiNcIv|nW&c9>^Cn1 z+okVUGqVT9O}zgy;wl)6ze^F>Sa_}9PL8m)%Yx@&Zdb}$Oa5NUT@{dlb=JJcqN6PZ zs}QKgrWd2zRuLTxyNPaBWENoY^$Wzw#d{+9JGxDE*AIyZ2;aqQfzO!Q67Qk%rQZQO2yFa258r%PJ z(XEoQR=b>2&!Gf;OVdvuhk%4`uBc^sYC6>|k4LYLRpkZC$*B^}jxZ#ykRAOYy`7Yb zcg9KK%Rw0gJ2amptkoBvZ7HkWzJX)TZhx1R$=@8OBo(Wt?#e7!JvH4)OVP%9x>0kl zN=l`X?T;frstpJ~Bk@)mW>Vnx)q>%#wcuZ)Ap-V2WYr7z(ZG zfcY{}7FV0L=oN2|Bd?(1JLrk42`xIFHFtc%wlpB&YmgFGGH|4)CZtUk)#kj%{|&&ot~}5jiWhk5N#A(%M^Em z>n6mIj7rsLjV%hZwVe~)6|*;YwKRVW%d5JJDIMlut4F8~=%Vy6zwcWKd;z=i;LDF5 zeEACJv2_C|^~hasc<`mkoKX0(aungqhs0N8M@AL#`-HeDje$L8;@5obACEd|Q(6-;@a4{h{`j)EF5}D3xBy>He<>)@j4vBM41q82*$jN?Z{SNBZXoaywj8n( zxBrkD;D(sN;2zk06b~-{tz3M@A7WMmRRqM4e1Pxp32dRSrAW$mS}V*E#$U#k{RXzE z3+Nr~62u0<7t!I`HtMXP028@SXT6X(atUYjd_TflXacc2B+wyepAI=^YE9^2z|G`j zGtOj!XYAE+#?m@8zJMZ#^J3-#W=g9MGoJS?Gp2=rnH}g=hM5d6m~o?Hrs9-~cf@6e z7yIFhJhHP7zMR6ID>*&O^;>dJ6z$^VVWSzvV7l$%Z9VudGa z0W5{G+8KBP`#CPk_fqjG;7R9LGoApNfhR_$&kjKcI#tRUAgY|m+Ytdsi7+5Vc4cD= zT3<(cM1&hsyztZV`Ot(j(=MmWS#hbLON)eQmjg>8rIcg#p9xE@v4*db!w(abc)g!y z`P=}MX|?2vlB(fJDmbnmo^(W@H=bO^AyI>`8^K)GWE%3tlm3*F@FaCyU_4nn-krH0 zo_u183xp>xnBqg>$pe%Qc(V3^%J3wZzA~OqSzLf8AHbClQKA`7 zo_Qw(p4>Ukz>{19PbTnccv%c~eG=b*0?g#eQO3w=daBfr-11Pby`J_<`?s;z-3eN33*qp%qIQT6qe`M?$* zeWkw8SH|;qZ*`R=IWWFRYWguKZ?)*UPQT*I3;euYziRsRpng5h*GOp3ZhdAEVNg8u znS(z1jO^BDkQxe2Gy%}wN)?)AV9|a6^d17e0cbXdL~ZO)DF6}AX8>9@IxqlbdNTI| zphQz#AOLD)iVp=q&M`DO%eBmVsSW}4nKBZEcz*{ex1IY z{m=R0Pp<)lKM#5AWtm}eM5dRy%*8G7F_)DhP;)Zo0DcZ=ovtSMS;^+I#fWp8%iQ}X zkc#YOkBu_$hrUJcwwLMpjK^L!{XKvD*?UF?={2Z-Rwn$pX1*XqGyc^6X9)b+GTOkO zUIzZqX9ppWvJwNGrWKKufj^|oOoB2~j-$T;?PU_ywN^k|k9bk{#WO@u?q}a70ZUor|r?R_z}nF#r`M zZbKXFHB2J1velCR3XMTQg-r7!4E3p)avLguN;rr^SydSXH-{>U5Ne9I{voMN%TN(X z!3E!#BU5JAriqhdV3QdU>Wu}x^o^6fSUDxn#Sls~XA@gn8pZ9<&D@tKb zh_!ZQ#dPuxUm!VZYm7dZkdIZtF{ESKM6g=J`b1}uXKVM05R+N#Rt|}J{%<3Y)XOYJ zRWzH$rcp{#V;;MkQ3RikH_T!aP|94bwkLD@7<^Cu4i`qmFn`&*;Op_dT^X*Pt~7+g zSZA;6x?J4(*83|O65VQcDcAc05kmE*FCdC+O|5vA;sGuPhY4^I_EugGH`dGC>oLLX zWix04k_TU|d)A}h>{3GE%goy@bbHyZjzRGynw#cpFWcGAOUJ3Iy-a0DVdZ9B+bY}3 zE*oLs%Zk`g_Oh%0<&Q7Zk1@V{fD7>Dn|B3?n(^hGS3}^-<98eQ(#^n^PPozSWy>+? z&X>I`mhy+aY(F)Y>|OT(UOMj+=;F3({e;*c(4yPRKH~R-!Am5z?&(%BvX{A0W(wZY z!NFrM+h22g8Q}@9$E}3nV;j5|Uc;2_nAXL%e!>VFWt$A7I2e75g@a3>f z8}>4J2{BW!J#2^7ZDpG?5{q1sSXI>VqJA#cVQ|C~_OUg(eXQvUa1p>o(``~X6c>DA z4EC{}(<34MGh9rIOq45%#qbgd%%cY7nu#btZqP(A_K6BD8m4GI)Uas-NL{`gWB6G`U)w7Qs3S=KcYk4V$ z>|-$A1z2zKLzTGU9_}nqrJ)Eh@#E9r!`O|}mG&=rql&L_?0R~aP^ImVz`DtQI4fSs zG3h4vVU=f(Hq#UrNH?*Y;zQ{snUoIj@t;9d2e-UYJ^bi*g=nm9A3IRs!H>7{LgB}N z%nKbq-fABdKgyn>rupK>n^KMNqi;I`4aSecmQ}`&&39A{KlaY?$B#aLFn)~11^Dso zTY?zP_%ZsW5cqN9kWl#X)X?*fA0OQr3O`;(Y-s!#$M07cKW@fb7xCjFet7FQSYN3D zeryMmHKcoiA8SR32|vE%kf>A5D#edOl#=jc*X@Dv;}K8he)uuK6c-3Tl1%ZT@S_2x z1AaVmOBL`V*!oICy|Fred_2{IA0u-@;YYLHmD;!dkN1O(Y#kIorcL&>Z;k5Vg&oyg zUx{wzhLFrl8A2-E5BAD!9{e!bxBT{ly*JArKkB*|Kd!+A_+gzRh|!E6SIr24A17}& z@Z(8C|H$SWw|(p8fizpr&-%(8tb>$m4`8Zz*6hveD+3V|e0}A5#8!QMr7ov7EL(rk zez34w)mA*r`@xFMipPbpAI!2a5<9(kL)a)Ka$u+h7TCFj69~T@VTL`h`s*wIfnpMD zePt%ai7jCb1Fx@G7N$RXXp~Zmu1ECiQT=*czn;{ur}gVuzD7QZi?Lsf*H^B_`pS5p z^_4WsLSua&$+5svi!>OguU*V<$JlVNX}<*)8G(Q$69{$Tkf@0`|6Pd^^AM#Z5E|Yu zFbM6-a%XM=A+c3$ohdF52+cRehXSE#lnx-YuMgFs`umY*(Aij%{p&Fg{_L6<3V&v% zUg-Ff+pM5Afm`;m8dJs13$#-PJ0%(pRB!=KACtA;;UKktt}(|;BAFI>p}^|GKt zGyc5uObGmWykBMb^HqPM-1Cb+d#S;s=K1YM{s}R`@#ho7Rvmw)bLxxuk^;Lv{fvl@Zk__L5hqK-yaia)*Od3xq!jrub0! z6HV!WKV#EthCdDUb{hK61P}g<93KjQn%#JzHhdrcbm|Ea3TGtP|%?nf3A8m1pb`tZQxI^^DsBdG%d~#{ut+B9>6RK zj6VYr6C8i8M{L#cr!J@di}B~;c^E(K$Af>>*MH!)%~$`q;LpS4g8%xV%Yz8?MwdG{ zBx-i8O3~#xN=fLFn-&;d8hSGKLzhE6-38kNq00tSd?<8zkJ15M8s1EGz!FW+^Dx2e zYafMs={NnydhjLUfl&Ce;O`eYzC_dyiZ30;_~OeY*PRQ#%wtet{pRt_Y4V8xUJ{ ze0h&kU&I#=f3JalbMd?-FaKBPyk#6XuphqEL!dXloVbZXqLNSFg^Sn5GT$u#*U`I# zFL7N1o1NoMc55c`FZ}$DOJOly*d8)(q}#6%UE21 zFVE%)N;KokXj=$;xv{H(FTu{oOzB3`;QZi=aX#j~8-wA?%ZLe%FB1@3b$sc=ssCbp zxp+P%z=8gnuiyMno{xD0EZPr%rX$cBfF^NB)WSb21t8-23_x#m4h%rodNTJ@a2lE7 z0s+t;H@GVn^1%OUN(TVCHj(O31N~<05ik6C_%09rv>g@-e}263LdT!B6>TuM0sYBH zLw)h*%D_7j=xt8e;#<$AAi=YVf@*L3-G6Yjvz!c{_J@u1pX}U zTp9kHO(OC;zxZ=Crb%G^ra5AQ3O%d}eEKXg~a^ zi$HJuIi5fvQC$vHia(v`T~dHrcM6O@A97ZK6`WjKxLqyJoSF8Cuc=rH~`4pt3+HeXXU{MkF+ zAAkC+5c&@;r2kA5glNW}(W67)&yAf7{0X*yZOU~t3(gPz82i`WyEYj9yo{LO_%i{q zRmYz`ocb@upNsp~aFo*5qgl=Mpa0GMYp;Vv`vH)GKyLtgltZFE*D3`d;`t0fuU{1y zfUfam?xz67nBoEf(7||j#X>4TWt0v8bWJ+}K&e6eodsLpS-Zyze;&TogFkJvLgCMk zmtE-i)AmqM{E_Y^|fvYw7M>PCx9u7YXv1|d=M0fj4{+y{US{Y7y3jK#qf205Y-H`Cd9^>}s z+)$3_=l1_W-kf!ZoBV>?oAXN4QR^chhyDBPBJ^3sr*~+@(Cwba!w-Kj^XU@60Gv~~O3_cIz0`Pfmj37dMFO{6jSmE?p zyZWvG;KSpMhThc103Z62C1`)H^LBA~herv{X`cKW%>d!IrE1QcsZT8VG;r{Ml1kMe zFT>=VhQ5Ny`gvS1@OcF>9`KI5Wk;}6F>1TYE*vcjJ;JHckpDr>dg z{KB03kw;*c&Qx7;=}eR{`6iDe7n55W;nJC!Qt0+a6U?7;Z^NInZ{@w}8PKIO)qq_( zzb20GbilL6r8CtNK3i!Xcw9PDokF;DjzcuN+;pF}&r~DV)X1MR(SzHcGu71W&zbAS z{+y}Ky7ohbV~SA~J@o$H+`mRu{O|a4=Ei&Zb55Yfm4coz8oEE{WCZE{oQuGJ{m|uo z1bU;(D;yHFX{#T)_&Tonj#3i36kQ$|UHW-4_tS2!H^l`)m&T^}Q0TI^12|o zhfx97cLctWe;T3$#uxJE%-y9%?cd^sFW>#?!Iz#rL*dJP?-9OyNOT6T8CArWK>nOf z_yTVk0$(HmjTv90Hk+%DFE5@t6AWMO$7xUl5!E@=2I|Eg(OwvnsdmbY7$>|rYsBny zUnFjDp`O)#XGDSPm1ElVzc9GKIU!LeIKwCWmH=MeoAanb9bX>1%!4nwf0{fbhlj9f z5<7Dyd~po($CuydGrm~vDw%$eTNQV<&)UqqK{4LJ+?V895fnHS@R z_bu}0OiT@z@wf<=&Yb&J^fDTvN8XP}K#s|!b9W3DC9E?!$&52*m(C&a1vEjNm;5>R zHvBnr6-^lFRa<|U@nm6{Q4j)VwxMr5E}f}G3^OFfgyF&Crbf7QcH;~DEBoL}75zCA z5xD(1Q!Cy6oTwPt_L3DmTp zcrqRw*AGvIAkZ66WDbd%_G6`ZGL=#io{VoA7*EbNcW3U0Cp%4Xf$(IxDLxdQyh`c7 z3D3qX<%z!OJP15fe{JhAf) zgCKn%V0|+p-1DQa3}H+u*UnID10MEtA|^PVfVP(-LACUiS^UCZsjuk!)v5_3y2ix% z%F+-(@|Wu?`hEf8upWQT#QRxc(fv6KOd)^H2ByF^5J#`*3QNt`YpS(h%@1Gx8h_5B zbG-aHhX$YnV9|a6v;~3Q093{yQMJFT6o825GXNcE5Ey`RJem6e(A}oEKme3xiVp=q zmr*)Q(ww?fhk*LbCX$2LpED7Puf43*S}**m&bgtYm*s{F#l@o!}4+_ea2%iTbkvMKP~^o_|qL1;LlwH1r?g{=Vady_|u@Ffj_c=KV7}?=N1c1 z3LSr{b}v$RJf`{banScooCOxd z7I37OiU5ll{5k6uGjg^`xoVB@214)0Jye(gE}gk-;nJCSE4g$|3*pi^6=`^Wx%Hc1 z{+#bJ{5ku!!>iVQiVeARriuuc&USRB9sq_;b!C^%!#y}9xm`L_)u2&X@|z+S#%t2+ zVkyk6>v*|zjzbi=bgnDxA8vonYUHNs`E%wu?eXW#)zJMpe_aQ?&;FdLN!Aqd=S+>L z#Gi8qN-X?2Q!U{Hl-l9#@2tlDoT+|fPZu_GBD?merN^H$)s+1?djW~?yqSzR-JkQn z!D@jSh3Ij7td#sYza&CTPHUdxkf`D^KNKNuZ1(58h*FXo^KNZM5kG&0sT3DN%5F`aghRC0{e3gZ7=(()C*tU*y+)4nk0n6m!w%2y1i_q z78GBSak>+eP=KD>Ue@?eFN~?0y=*BX3M)6Y)>Ok@CSOAMBGzMq+RKLZ@yC~?a~NOB zaRI(mkmng6{pQt-5cu+8Z3ABdef;dtXkzr|$6jW9{HzUTPC#eQ#Bj7ahz$-cy1i^0 zbrz{d0pW%HIWu=N>}770c^@zO*~?5WovURp3+&IC*wTN+US_y-rf!1qbqC3bZkNu~ z++Z%98+qB2-2R=_`bE|9?@Y79-@h~0W{Tn8nE=7#-m#^0h62yWG=+cX1*W(_y2?ybd?;PzAxZ~0S%0RNSbV7oo{TH@!jt|#d+?+rJ`|q( zR(PS~Nt2yH@kGOEPJcXEzP|=|@(_av9QlLqPjc=FIJ#*^o80iJv; z3raNWD}B0$z>{I&q44DGTIU~6)`x|{lP?fkDW1&WENXx!L-687JQ3duxQHkCp62<& zlY?No-gvT2gqZN;8xD!8_hqGcQtK>oBRn~Ll6blQ$C;n>WNxy32|T&a6c-3jGEDKI z@T4WB1D-s2tO|G%Z2hIx5-&Wd_|bzW*=kTaXQn-{-t?g zNwwBrE?+@7!jN*;(yH0Nc5CmR@Zd?%^_QhL`Qu5;=Y{>j7?m&!kNFFTjw$XQ8C;Iou6@TIn zR{?)+>f(<-bEY%?EW-u(Q%;^`eC%V7UmpU097ig{pY?wd*`8ngIYX@ty#9}vkodD4 z395xZv-pLJ_|sb0H)^n7`6B*Q?(ezU__H4z+7Ev=BhVXvN;xFzl8-CJpEHz_@Mr(; zf$?XuCv!ji8DWYGgg>dK_)z#0OX+|=llRsPe_DOyg+CQ#9{kB}9twYE=3MCbQ?fQF z{>;YdOmF;|xV7f^bNND#{xiR-`19_*D&Wu31b_T#nJ@GoTuA@9!5@E4b_{_(4fY%O z6YRXqEeB{$oFDu#&dcOriUh`=F^CC?KRuA3TKID*zwlS$kM8gJ9Q2=y=VdmLZuM+` z=nKxO`+Fu3xG>Jk6oUWyq018p^hTF491=BeUZv>r2Bjo)DclnnU0QiE_d}Ojrno@p zveW6VSV(UGizyw@rPZ%ghfwEbg6TJ3z2k*1Z!GuVOOu#T_>%PKg^n*H%Yx!dvc(r) zn*UgHd|Aw(!un0cyH&*(d3P1?W!TmJ__8#I@ueIW;7bL0j`7iNUTq%&Uq0MZ8NU3X z5%Ha0d})bE5*T0VASNWf>_kUZ3ttxU3m5UF=K78B_e{+D;(5$S<9pAct!D|~z<&60 z1p>YCr4ENgNpDt)FWo66;Y-4f!1(gjE_ddB`0}PHE)c#vWr`1_z1&IZfG=PDQd4{x z{!cG_>Heh$Up}o93SWL4f1%?`#PXo{vI!?Iz4e#R*VY_g?tIU!zr68QRq@4HUIlzP z)7BqfhCRyoG8Gr#%Nz0j_;O?G5crb0!@!qd=VzYZNrZcT@WnVkvvhkfe0di!A@SuY zB&Zg?4B{95N_@F^ekQIGH}QxGi9fZFpj!B|5k2cUIrCTSAGnA=7x71(6Iubf z4jkGKe=bL$H~vI(NL25cmEzCMl#&#n>wXA~KTCgdXYPkT|1`w~!k;Hi@uBeN4oV07 zS-P%<_%r+^FZ}8Lu?K%XJspd@ODuzmEb$rhrP7Qd>{zszQ^P~S5``4C!9}IuqMNCNic?t=tg+GJ%g}+k&xwwA~o7OJwUkeRDAAv>t z0njT5^ah}3I3#M-j7kBBcs>KrN8bhppl+Vb{QxM=6c-49!c6g@0BF;9G&{?+ZfgVp z`TKjWME`Mk;m@*p9{l|d+@T*RM?_#;)O0CfU~_QRjc5a^9RwK*iJ*R)FU=O#)?3Q(ug!1(j!YIo*- z_%qiO7YKiHP4S`dXE3D${(M~RZQyNE-o7kZISbd-PdsBljJ7Nq=LEC_ zey8NCFgi4Vcdw-9MR*9qisDpB=@~0IdJdLKdyYU*7_Ni$tE693^=q*x`GxTO&KTa`y9VG5Z?SN!32 zF5mF&Y|m|>=XRRsHrKdS@``Ya!nV_;G*82Y{&2gUZ*Z&RZNhD7-a$Q}H1CM}?zoYt zG>>|Z{v>7CJnfl=jgf28XQYlga^{g6vV5s21@%$^7fPv?(NjG3=*y22)A0xoB#Y}I zi~5|+E$H^7kqv<-Nd9sL;uX04=&C(&BPET{&pJzLgI6bDK=X=YBqejc!O1c0nqn_`$V`u}d>?w8 zi+9jgH$A>g≪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%0D`#v36u80C#V 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

c;Dj)t_m?P06KHcyc>b;TX0CJi0D)bkB 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

BMN&~{;G8L5g= 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 z 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%0Dfn%xTw8MD& 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®K&a~mFP7}1i25=$SPfRU3Y2j$XXj3ch(rZ(HqqEl=yEpM z%x0|@zFWA*YM@B^G&D#waQl<{}l?9(%$wm(-c4dFiLVsY9jOMBI=rfAPN9U`jwIlcRps?Di zOt4TbY_bk63lfFYmCpi+arebigp(WM)8#B;%)$2t;^nE5NQ~j0Wf0oNkW?`Db*#-n zkp=Ak7zNzkG^K9kGI}EyH@`iTav#IoeN}F&D>HHqyDMKVY`!bY@x4J;DkahE%GE%t z)s_44AzEzW`9gCX0QBuhH%Y+RQx=WhZDvz*&H4F!ejctqM|WZfW7#|eRi!;yAN_+@C)+`K*G z1i29|9OV7K<1q1e6yRY(=QG}ZAP{{N`Pf2T3xUnXL&Hh~FUNWdO$*<_aPA_3Oj_h} z)_7{n8*6EDE4wn2q4{%_J*?hOy-UcCx=8q8CFj?$k) z_$5cR^UP{1q}p$|W7+D7%rE5})(2RcRw4zTU}jyW(c0DGtNva|_my6~pQHZ1W}#fE zU%-ZXSSSm~!JVQNq*&^2k1P#1hW~1xJ{rwU7sa|`#h&bB z_$xsd8yMl`(Q5I zIX=7ixfY)tRb?>kbycL6><9-bJgk-|NH!iyEW+)&F_T5~bdE);H~$;Ix550lwGPOnmK#J$f2rf$AdKF38s)=i zi?Gv3XWRK-1U@nA#5^%6Q?{YL@H4F1*t!5zpr6j>3eemTvpKkpxGSN4!mMD0rP~*Q z?VxE5Z2)sNIds?sHT#>^7S@ z6U-<`6kygl`9+4R$w-@pZ(c2^74WPFJFogME zp|_(jT@&eT@~?+MZ(d|_(Az3S9kntY#XrTFDnk;zrSCsndV3fBv_|^hU=0||Ik=N? z(i=GjvIxDonO#r+xa5%Z_C9kSF1-zKK+zq|DSCT(pQ5*C&FACtB)xriULuI|=OxkG z0>TV>yW+v-=uP=6$}l?v!h*3ltZAv9?Td_dXo`EZqF*gdaW~@`1ov@|UxUD<8KNV; z)qj!?YK=aqHJ*smn=gOgloL#6=3tqhQZ)8!bTIZ8Uc}$%h9SiwE6U;Ur(C54&*jcU zhn_Ul%TB|)r6A7f;M0pUu&srHIGkLZ#sumqh)NZrE+GDAb%Op2qN%DN2FW_m>rr&> zpk#G%gz$j6_{zZLRDte6-~Id-*B^npc-szz7j$eF$c^hmpNs829g|a&6&_NK!q_3i zLbV&N)!lkvF`>hzA6e)iK?{we5;V1(mA!hC@SV*pZ(K~Jad_Xpm`dY;lcMhe8xD9Z zRcI~vf}l)%FgzdKgROyzY(Ol9KEwPFEX_x{+r$!L%2s0kq1uNQeXVGQQwO(ctcYUx zslbZ0|FH4VJB|;=C~)9oKWGs;gq6uS`2+p4a1sDcVg+(OQSf9acmh353}D}=FmP;i z70TJ&UKFnd{!qiezEcADjdl;qT*FBaTLk*&{@LjM5O)S&f_LR`o0$ES3#5k-jFh}^ zXIqq=_21|<_loN^d$V2sJWH#&C!()ZdGvPK@vsGzXeGJ~e-ad&Q7EvkS@q@yK?a`h zb7VmVaOyYu_^H$EhxwbS(cGOA(uyts|7|driNorL#w~Q#+s1|>w16W$U@%4jwBfFT zuKWOXmKfcoDnw_DWmcx}g$-mP>GH#Gv>@-F^ z;{w4HSMNC_21!#k;Di9DD-Jf7|+}@46-`dko-t$C#+&_xtFLVwE zpW&{^=XjrPf<)dI845*0H~^*=>~7b01N~*_b7qqEv!#EN( zy%UCbrF#jWK+&x4<~=s=9jGSq(t2UTB-$`~M+DfZim@|Wz+2@doo{ar0TH{)r`U#2g>E@T0qk|Slh z;bATq8xp-d&0=pojV<+(bc_TNkHUnmFiw_~^y{(vjc@Z*q$&=mbDK95IR#2pyi}x8 zHrODf^X*^$GjX00`O!_C65xON0R{iFcs2ol;A9*003v%!dx2ci;FtH228~--iQT;~ ztnOVQ=?cD$(!By{W}or26m+gX$@{};!v4~S4pE4ZCHsI!4`#~|zh5w$XLv32YZiH2 zFq_AB4^j<0wa`{GRiq0@rRYEl)tadk9xyKj2U_S=q&6gS(0duQemG)y48cPJAe9Zk zuLAxG(S<3Epvhq~VeDGqjf{g)8?8p8?om(=q7n2nRal_3;7(pIM2bGZ5)~>#iYF4x zrpN<7MPm~FT|k(?;XF~7g6gi?_Zg>+R)!B9yn1O)>}bdOh&h1?yUWby0yBUrbOvCW z8)9N5Y${%yhZlcmm~x~b9XhCW_#Hb&o&UJd!2R2z-K@bp0L=SYWUlm@Cwrac3-D13 z)&Wu<_^U4j+ngZBC4A7U*sPm@o3QVJPy*9QZ^>XyTCfHMl*j|oTk)U1Gri^=1UxZU*N8ivl0}@`2o!hEp!$LDB2r;YWuQsbu>y zZB99wR(mlm(+48qC55>g)9$?!Kd?LZg@1(a5KcfEXlbEL5CPh(60RdginWONrP11Pwps2ciR10WM^My~Vi^i*p}gNQ@aBq8lCUBa z43Rnh3NQI1_sKE_`Nvoi3Vw3^!cR^}EEMnJy|IPDLCjq4o6BmpQGQS&JFUA_OUSK!KnS`rWZfazE zXs#Sb;|$`93`W|1EqDgH2p_=+#>fr2tQ-h`NO3k-S)3=-;_(@#A=a)+sS%bXU|PH) zQQ(DFm3@O1g!Bmp!W9JbRIMOrfu8QP* zaIPkjzK{l6b9+>0jW%9fB>cBj}WOzSD&qBL#emdQy&dt8?8e{!j-Z4Q4 zE{K8cD?#J1@WRulPmqN#R02FiKa@I(ggRY z@+7*M;YW$u+MF6jut0{aJAnq=V zBFCAH1=d7o;(JA$|L=%hX4aXoK3Mhhd=C5s23s}4u3gm#yLK6;z(=uj$Jq5n!BUcd zKZ?L-;*Vp#nz__UQhYCFAA=Hp0UJ!*^6aoyl9G^2ORgmDFr0blAz2;6h*hS}^Wf@p zxRPY5mE@$jyrPNqWWU%e*IA(n>!+R0wd7MW@e2Q$);cnKJ5Uts>Rc}q_36d zC*@xe#e-putG;E#;6k+k{982OKp6aPyf}sSRXA7TY})|~B1yb!!paldkL}Xcae81= zJR-3vlA`~##HRR-ZgA|S>v>iH=D&O_8noKYL%XquSy>t3*6+)%!V~TXVD^`RA;FqO z;-5MR#~uG)u;nBI2*2`m;|B?IEn})je@hDEu&V{vLN^;XrRWY^P6n%SC69X#)Hel! z8P%2`KYvZ2TXa2^%nDEWMJa)JuHB3n3uoWKSMd!>I$V6w3?WCuUcGWL2->ZeRr8?^ zS)TlNv6A2*rp`a`#DNU3vrucIv2`Y=o8*TZLlJ72_y^)RXh?<7LQ2fX<^ef0$jx{+7eW>F z){6z!TnOVwDO5d(>n@juC>5wjL(=8;O1eFyj6+R{FxLjWy+5A-03aIHfTo2@?T*gAkkkMn9#sCZ{Q=vA4Mu7C!FP! z&$uI!0RH`z@=t$=q+AQip^PEG{k6wcxYFiaQIY+h7q66I0 zfVwwZFnFS_TD#W@eEbo=-{KU#an_K?C z)v*!gr@6vq8f3_e4X{^A4!9hsWNOTf$YRNGy@|EjYi5TT@#EDrG^d3w!SRZ#jvlJy z@ACP?5LOPj+e5MztiW%Q(@5+W>1z#s-y2_l?!>ym^+%oH)f#lAT7&ilR-rmics*L- zg5u6!p@kN5afHcreE%=&Q8%ju)}!PSewOGA0eezS!;o&B5KH0Cz#AE9iVeT=j+!O-C9t#K$vwfJx2ios4$R%K<~~$K!1cKlak~4> zEx;o%9THpky)tgR1xxx2YcsL>&;^Ukf<0Ie(JicN0%MLUs|AN)S#7dm|0!y|VtGY` znOOvhu1D~{1`eBgqhqo5W(zgr(84#sy8@q11m{rh?T%ba9KnqjJW5uUAw|xGT;0sf z-bfXtfZoUg%2nx80ggFHUlxDlo=)5n>@YSBRzg*;c}8Y7(#m)nZzZS%cpHI-zrTW; zNwC4Eze%`JsER2Ct~fowZjJQ-B4EPIq{mK2$LNCLXYfc_(CqwXCM|R$Fc5EfRu)^< z=hDlGJ3Pz9U*-E-YWMNtGme;f6c>2)#oSB6y*Ez$_E%tnb$Im!+~Q#?l!6B~({wXKH8sY7{ zhDpR9{5LqX3ynLtd)sDg$J2D%0R1otA%}tCf%^Ec>l?4?le?m(>T{d*6(rP`d`)zU)RaCF2IJP{4eG`7sj@dujg^xGl zSB87ZK)R-NO@%ddMomFZssE0%*A(_5Ip|5ezP+Oq`(buS7EetOM;g3v}3TzWgPuxAxCZ6bNk zDhw?ag8j_+BEvN5pPc|4KNE(?nx~X!gz|Bmw&l0;2J9UahKB>Z!=e4sGcbH{ zhxWt%l>F(x;{pA{2=c_%tNeph{<#VHd#d~&?^pSUGyh|%w zL2n;qZ(FL~{w~O9-!-w*r_509nubXbeIB1}K z_^;X{CbnP zb0^vaJ&5Aa+wfqG`wrbzbm+jHAKxw9b+mBjf_}^bBJRT2WE2v_4U&usaoa7#^%3Ay zUc^}A3?XEafUrV(aU~JfEeWQS1em5TFpZR^R~p|>5j!p5if$iGT&1!RD466;AeTa- z6LCvPo1Zo$%O{!sPQ&!MOs51Rsh%lJzrSJnbxgm#Vfz0t{f36=ydQ`TROzsi(n6Hs zL}TRpm>>6TP;6vx%j{JDG*OHBWioi<1nFwM@jZT+gP?_KSaLo7;A1@TRVGs5Bnf^= z-+**B(_J;=#M1*T_p(_IdyKp7mI5PVx7tkvu8a-mFIaf>rP#x`0y#l2#-)xD=fv{a z&hqur9lM>t*|Ez|nAuOTv)f0ZR!FpS`%g*Q|CEwevH!vIkozCzJ=Ffktgj-mKF+R& z`yW+b^ZOsOzJi4M8ti}M>rP|#Ehf2IV;5|JhNGgY0Nl;|APIL`=w~pSD81Fk&%2^e zV(Is%AAPo^Mq+sN>!CCBSYHsDH}a3ZU>sh3w%TqF-+~VX_>dGtMxRYrwNx8|e%MtE zX3`ss*0;sW$Z>1E;Z4S6|CFT%j_hly0Y&{Tx3&T@dmJjT-%YPL%i7R2rTjn9kppdP zgR)pI;zkXR9ybxn|F=w13qLljhqA+nVy2TzUObK{bevZO9}a#0Ea@f`{UQ5M4q)|k zqo;)>XoiRyFo2KkF2EiE+r4mv3liKhl1<~ZSAYWrRfXwnF#}*WP`u8ohK+zPG6QE+ zS<7%(E})NNDYL_H5mdcmo_FY*L8v=qA(JILti zok?WWSbWJ9L{tO){X3xg-*kM*|A1LQf4@I6;be}>G*$6`Nk;n&4@ub~Bd9j5G+x26 z>5yb}A2QiwWTe@(;K0mUZdDn$ZFbOE@q34>zn`v%Na!qv*^R-hZJ9WjWlT2p_vZjD zn7y5PG@vt%oRiMlvEswk-@k{|nshcA%_;r;oi&Qic9_p?@+7@=PXh7Fu}So{oiKym z9=NGFdXt!c4C_qMhDZM^`L!oJ+ZK;>K&Rl2pK=kOzRIm#%4VI{wnf|(J#Sa7}C);zyg;O*Z~Kdhcw+bK@ot1JC!O^*n{ge{fld|H$GG9Lf=3 zd2L`d*JZ@fOo;#J(L1ufwUV)Z1@3JEKjQjNK|EW!k5AsnO9mk>e>(*`f)u5{0Zi1H zm}pY|18z!u6yVtqA1uv(z{jrt9v=a)P75D=kK;rAF!7;&91cE)vc4wpA-xC0xK$j1 zF~u4+mP4!0<}I;Te?wgoyVM=-YIpb->=jCoW9l?0mik9|BhxEox;V!Z@@$L?gxZ{= zm2Q0*E0N3Maqy@FVLb$?N>JaP;$v^WXISGD=*pL~RkN+Y$B%_L5}D`#o-8d9aucL<1jZVfSLOXpWZ*aaPGj2N{AceMnv4U zf-;Ybo#}*sV5a%O4^gHF<+m7*i}F?IJW!@jKi^E=Bo3l-Jt|70N58k4V-K&Ogoo~6 zH$j|U_%?nKv03tXhI<~MEWRFtKNZ%mDVx?8L|B3RUVSXky_|ibRmg=?;gk>8R-wCi z(E)UO!xPH*VegHk!0FXR;Xv)&;>z%fjnPU-W&(@dk>ckdVBe(zCl7_vAk@)kujGw3 zP#obz@aoTTzC!j6PEaZd0v9ARby(Jl!i&5})Phyum*zFM89?LbcmNG-H$RQFf^n1z zph4>4h+6?P0w@aY0#Jz-9EW!SvFxkVIllX~;Q2Dl!>e#iUMyGW+{A+cX~DMzgK`fT z*T1?1_uISth!NqqFBVIn4yd3bHrPSdt|}e8#dm&VY!gC?n^9q;`URYBWp8Q z`wOvlM&f;@iLZh7Id zL4{A`|2*X)Q&krX;FDM{nlI=>%jOo}AFRe@vJ3SP%2!2!J)#Xi@t=LVJLDv^)hH+ zJK3p)Z(yK@mL&t|Z|?^GF#@Crd@c^6CyM{+CjYww6vpc@cR#Ui&_aW8ZH*3ay}~*) zbrjbxP?9JAegAa`KF}BGDgM!@hFn&Sr`+#iJ?!4ddPq;qa(Nx7R10E}RHzz&3Qu4q z<$~KiaM`Oza*3M!THLhC6}AZm^r^T$o+>LTO6-blYFMI$d4-)^(+_p*j+lVO)e_VH z-8FvF(1IzzKvcMMB(Lqicr!7)0{b7h6*rE%o--+L&!b4ij_8svt{h`JwP-Ks_7`Qg%Bx!K%P zfB9c)?w`Y3rR*)nuHekQ#TBW6-q<}qdqNxsfeRr!#^oLN)s8*5kj@2wiDmrnq9Y_o)1DC*&WY@*id9{~PnL+!D&~Y6N#Z zV;9LQ5ZEs^!%FQO%dt|s$Htneet53Oy!#U)CJ(} zER@1#xQtr)w9lxP!dOR-jb$SParmN{6gZY;+s4acWc@!$i@I6w&Y`TAJ*Z!-&b#~Y zG}p7l^OUkTpLd+&FvZ~HhhcBtaf#><`t;kCz4`RTDmJ+f0fKx84(*A$EzrD#d?jKi$yW z%A1cZB@IHFvZP)cxP}{n=IqP+#O;GhxI9|+xt3(?P~PUY`tfU!SfhL);qqp&+g8~Ytwd}BTB}V!r$#mZumi7d zB)U}BxE1zbm){jv*ZwC)Al4ya$sgcr-8lo1^X{Z(Q;tZGi(!T>bcgv6t(gn zjB(d8#Wcp31F)a?qTi{Y-{`AU&Er4Ec}~%D96lXcOiFHRQF6OjjzzcrlT4aj6CH`1rjnf} z4Jy?zLx&!$o_<^>do^mx3S9%;LZ_fmuGN&a`Mar zoB3lUa6xMx9`%*pjh;TQW1RoFBg?8WiNUq}oeK3!Tww_!jp&h?y*3-U(ARaBFUwIP zl@0JTjl*Y|H@w$4ZQ0{Ef6nIy$*cdn5;ch8*IMLEn$O^I2yGhZpboS!`F6pT$6nKw z2hH6pjU}%s^=y6g9N26EOgF04f)9X0kefO)2ht zmHu^8l({l6lKiz-19_O`uj1%{b=>+X`VZjCI{zp--3vb+3#*-r%8o6dSFf=P)CYIS5=q zD=7zmjILKHUK>FG)$mqaAVI#r&p7uAq{5#V;B)X<)HRQXtxk&1o|-hj8b5D+CHmIe zEq&{6r=6}{vzbiyBbvx8h#$AK+5ZMS4t;B8bDBgh5EB`M{5_C1Me{_i$`*a=uba`g zUi!-gFytI2tacN)v(p)Z#eY|V@mlr!6PD|;z5F? zUBo^`us#y(eh@5Vor(+J16nn+!vh8^B&{5QtyoWsE8JoRQ{j#jSJ?h9U`-(8PIin* z;^ibclNG^KU{-g$kROwFqh!uXftti0N&{OG&1uDtg~XsUT>@ZDe<<8vP`)5k-?kZk zyfSb-ss2n*y+t23yK)XzQMTcO49p&oKo35qzpt^ob3Ij7IPkhFNllEyEHYnE}8CvZQUy2pBg*zf=aq`TL$T3$A%e05H z&d`Xxj5cB&E&LEZT+c0{u>}fG!^4>OlJd10p0Cg&d{PVk4dd!TICYHu4sZzk@`Zo% z<$tf}4U0bL4Nga8CL6*asoh~Q$Sd)#zzHjxl~chTFc1U>BOu}d)_V$)gdcuRVV2Yk8J}%^gFMK=93FBI<6fFun*l4MPhx#q&LAUyFFR!?cvQw|aP?Pb96~}ao@tAh%S}f8e;uFXGb@V%!fpGy( zhQUkp3QjIYSrukXv;@A38W?HI!go1mC}&=1t7VE(l{`bRm&rx0gz+-xOFMTroE0%k z)`3Gcy{l-_|CI*82Cl>MYXd(;xiTxhYR!+mK5`>z+&NAB!!3qN|5wo=Xxf?|ad`SQ z!cR-${Pe_T`02TGg*(7(1RN6bA2-?v^o;d!uvulcKX0x`_HccWkXMwd$ajoa22qv( zHi`JL5G_23pBCWvDUlr+Gj!-(*lH*W|EvG} zxO^LTlGt^6!@nCFe`WuNS5i4O53{oXm72mV%HKdVfsK}N@pGa?3uzfWs@;pGqEF+` zJ1+b&js|>G0EX&51)clc0rwGiI_A?{7!q^Pbx z-a$l1MSEOOR3d|-LfjyVGNN%1Mys_)NnGNF8-lnabSp+NqtmUlZ7Weph$~T(ki;ao zplCD}2><{8y~jtVy6W!do_p@OXS;(9@dolO zfOKl#;;~2}wkCsSA{I&MQ#?RlgBe+)Kg3ecP2>`utDm3yEcF9_YvdMAu(b=_b^BSz z^PSGR4IC74nK1^fDS+9e>1pPQHzy7MiVdO~UZd_sw-oKPbV&E$pgV${lW4I`W%|krD{tK?n z)V0n7VB15r9-e?-8xM5-rQho6zaiCAY^8sh)`N3%-gv7=`oKf_J#GwLKEz3}>x(m> zwW@jb{P7<>M0jE!ar{_%r#XID&WF!Gvv%wmXO7iXcSCUeIPHux&f*hqgSfzM>>0He zj~}ZWC=9lsxPF({x2% zwfAsb*IjZK9xft_>JOyvsU|OJnZe9pqJz38@_u76@JwX1%Kb$TXE@A!- z2aW;AHOrc4!@{PK*|AemZ(r+O(OLzVt={Zs{xu_!GL+_qqLmoMVafNh4bjp*APP$- ztaOhjx|a!;d~>ucq7-W$5$D}poyV`pT4Mb6F=OpI)s8?I+8GGx8w?0zTMYbF)R|kYaTBlo4VHpUucXSN|1{whZt8Wt5RgM{7 zd$Aj6ZBiFjo_Cg;?co#8Or1COd^u<>s;BmjtM3-Dk=eeCWyk8fZGju;GY31}3bzz# zp*ja3(G-6yDex``C$PTut4Q%P2j~f0@@v#_bDe zshJelm9RXrW-D%oAssBzd+WW@5hO=VVaEzzvNIL7bX9eN!D-~|41?!yUuziDMw+UG z!3LzP76up7DYDP@mobwO7(CBw1q_ZLV`mr)wc=$M?4|cg7+ftB2_~oT1*^Rfb5(VM z!Dw=JhQTwptu+k#M4GCE!Fr^u76yuwVK8{}pb8i~!)pZ$wDop|!9G^J34Zr zno2N`60ER^tEv+Wjwfel7(99FTEn1sq^U|6eD~u323y%$_(5c7`xhq~0N$`HEQEja zI?ewluaR6^6%!ptpWGjQZ2~Jw%W_DEQRgWhjv6jk3lFP5<@P6%gqvGx<02w}4~jnZ zYKP9LLAdaFLq#jP)Q?{AVTqr7&dW|0uSl3ZWFGL7rIxRYEO)iz?e1{A-9m5v*YI{PdUeZVSBbmz2EG!{Z`I}s#nQjmr@H53nb}52Q2Hz(O~@H#=QRG4mE^qk^d`d0OX&1RnNoSD$o^IQ#c^x zYJSbH$j)}`a@*OinrJ)Q3%1LbIncedvo%j$-Og4I)cyUbu)MQfH6yaKT_lDR9+dqm z;A$q0Jx_ck`&?vuXP;Y3u7*3%2aUxK`A401yT4pxyWMrL#q4%}`@7ri-WkTWF5g49 zt>4URWbns-W`oaOXoG**cK7n&>ooYQu3qEd52V8K;5XX0>%j-SO)&WX8{S6O!3z}o zcLv3sSp!A$KMWLiKjJ{~(*A&AC79+waXqgQP#p28f#UKB28yR9S8_Oq2o#rIwMJ0< zhziS~IR9yM(=P6=7d?sW$N55V05!ma|94Iz2XzL?_24kP(1gbfB)@#vfnL%kbL4{GGcJ%fxZ4V*Z|BYf{XO`~K(Bt(20Cl58|YFaVdB40ek& zRk_)3PReRwP-6Ou`&PijVEVk7%aVUtzochq^U|6Y)Z;% zVNhcFJ{VE~gQdJyz~Fz(^j$|yB^a!c={tj*oni3O4Qma9ogz(D!eAp(37pFbqA(z3Q1iseZNwJFnv$$DW-2+r~3$uZ_7^aZJZu~8^!5O z{!CGwAmyLi1M z_Qt!tqWApOcWP8Y$X0Rc@tEV$bDog3rz}poj1}ZE%pjDe(VjarQNB zW?w_R-}#`%>NH_brOuST7)J)1&a(b4us1k*)2dWMpb-18u(LTPNn!kPA}a$%qW1d# z`jK?TpJHBvdRsV22vT*;%UOJWok%{S=b@tMC~_2Z|7|7yAga}TXe_~meE(D|y)N+9 zG5qGr0B1sK&EgBmbOu)!Vfm?PCpHzPds~!ZXb0;;)=qRUFm_sK2!hWEV)KVWjL?j1 ztm#$k`d~)5v}gl;(g0=egi=z&#^l4?P0I5TvDY+z9Qn7bZax;ILdTNT&qvuGXJ`3$ znL#P@vA{oWu!vyLymclr2Vdf=5zfIWnuFKrb9ufa_|vh!_mVNN1R>0$|cbn}5DBA9saR&=^QfS!<^)kG-wZke2mU4-9;TRqc%EP!S47{JPLP7LB+))~s zmmfNRlm@mVR)#`QIj5Asw)LlcP(bc06Z|OIwjRVwBiHxzTLC;K0J@MuX5L0I4ZI*W zZa%-%v}G5D&Pr}FnP9)?ZmXG37eRWB=Ey>etYSxJgV50kO#%>1-d?5_K?Lc(C6nYg zL6xFKr7qnPFfH}2N7QIfQKJv`@`@VmWh`oRU9b)<`hGyHj8sNonSQ`%CPosCL{EY@ zm_EBViLoN^bw(0}w-cYyh3_v8_2+RLnprH`Nmh;=pKjuVQw zrx|j17G|3D8jUXyWVX>??S^jE+zYl88Rwp(xnP2h?Ct6hE=kEYcu;dqk<=5 z-LZNqc#?Ld{+;dLv>$~ApX^6saw7B()WES$Ev}XferDrv7r2dQ;Dr~lNb9P9f7f?+ zYg?HrJy0s0dbaQzazv=oj0iMk;8FoUWAkL)W%!exldw2p}bQ16ciR|>~4&*GX;R7CC1H_+7 zjT6KzKx-3KL6Gf!Ji$9r-v6zS9rynq3hLJ6_pkx)Q*XEhoh;bzN{_;gr_{|Y_}B^X zvPN}90eo8};ICI&KSZQB(&zF<;N;te$)Ka;?e#>-zhkHfQRWRy+l+m7bR(8NioL|* zb>{yrmRSaczx`&V_(B=U)DPfCYD+J7OHe%ZYGEXsKK^+w7z_c#gO*)jbTvz0bi}X5 zFz2qUP`M{^_f4~bTq8a@vDyDf(w!+UpM z8g`)AJm(F9&JNEm^{;6*+pMg!R;$}4Ok+b#~TCD!>JGW`q ziT&+aq7HfU|GSrx20!mUXuy1Unzy$Tx$|b3snSD~kLOdEk9{0V8(QFlS66hq*iwso zEX($pC1&p`HOPKOF!#$Tl&p*J)58Vo4)M2HkEvr4br;se(o1bEY(&x2i^bv4OP9ae z>({1Sd%0Zqm2+wP+M4aLGmoYn~4;GTZO2ZBW?_dPRGi-o&?yzB;EHZ>c% z%1_4S;vol@8LrtOwmTS+fioL6jH9^N#s2}GthMl50(i)NU+V-OS~o_omjhjq)7 zT$o^o7NZ|^-3h~I>+@}`PySo()x90dyhJ^P?*w2}A?~1%x1(AtEymi*AJOIwd@cLb z{Qq`uU*I+Wt9!E6TlqTpG}Ierp0Y_?T!vZA%`Mel`-0SagbV3Cu>-#?EFNY{T=_S# z{5eFRoxjy|@vV2KZ_O>Wx^-$+JojrGE(@{lZ8Tr|X=rtCW85|HGtRSdnebpF1SxsP zf3N?5Dy)5$$FoztlBt_{oV6Dv-9x78ZWdk6ELKc6mV&(E;sYv7l^ z`&4?mRyykDV6TYYxEz4=-2T|I8aYwB9OqNg<3MBU^*(dhtKYRs;`)UGGPgcNj5588vO$+B-Ud8BpA{A7DR+-@-O4rm|aOA zi`1V2`as9jqW%H8-s)He(>04mLa@fJpqD6~YS0Vmy_efB3}0hEgXlHEZvXl2q+%_G;)qF&+3@T)g=dNxt$oy?K4+4x3I-R&MZ%_KU?UUD% z1v%nucJM^rVy#aL;>UAOn1C$okLTv8Fu;kWH``X-AtKGkk?TvSZ{p&hB`=2`yW_VY znyNTn_X>J*N%&I76#ldY<+Cg=bEukKR z{8(6$f)5y}uBpE=qzo^OkiTEyZbl;du!jCBfJ%6C1RQN}=SqV>U^loBkLF}vYywOC zdg);JMqzsr-Eo;+LGx+uVvo@y1L1;>AVh*Vm&D5Y!u~n`Ec_da6k7unk1rkP(qyy& z9PQv2Uf=dn;any{qzkaSS3? zQi@jjv29smLBx^lp&X(tx)gpu$n_ACYDroMZ4?~ZQp8GcDmJ%;h3EXGBmO>?;O?jF z&@2B;t!*^*C+eHd($uvP0H&cAIQ|WF1-Q++!lTe(?`?KwPYw zcx{Ma#6us-ZCMan7maoQnYfLFKECs5D{dSl#QQx#QB?z5385%x*MYvvgQs`~Bx{x> zA@E~M*#EHXRt3TbD9_{=kPg_bS#EFlS8N9u6;|5xV+!1r8;jBb-II<` z@qAKFgYU=EH}WQ)q0(vaRSA0lr}L`5#;{UnPps?tO~DT5Px=3K^sg(OKX+tCyDy?-;;1Db%t@RVS3j~C^of;%1Um>gl}rB<(_4}h3C^t8?(f|Y!s-R-<<5X zz*2(n5<=k^&c%dK7_B?&gRARe>5XihQP(+hTawT2zo|LI!NMzQTJfVQ{Fz-JGM531 zb@ZeA&x7l>I%O~TlLhNRM8_g}4}6+;7oKbuaifDiM#rDlV$}gJyGgMY=ebB)$}i}S z%wYY*yCY0gJOn1n#c1+!C)Ps7O;&?8^ug@{In99vuj3$;xboyhcDzVfw(>hYO=5W59Bm)+-K&0xL17eKNGRPy|3^l>;SR!-)KFaznHbc9Y#}lY2;4d zx^J9=Eq7Jv{bgPu9O(0U=6)i_}mbP^%CqS&2uFggj8H+xh!_E{L^;lfFSlN zbB6nFd??><+R+6nOegq$4Y&483RKOInVKMkgBNQ!O2L$EXIp+@RLSXa4IvykI%loc zSo#ziPvkFXk7vG(rMITaIAS$!hPtwb-=^r4+&EynvrFLafoY3%>^lZn=u3Ij)Q$b# zmsBc*cV-%uSMnc@FkH5!Dbuw28na+&w#HaJb~!kL_F@=vp{tIt!2>Sx4SE0hxs5UD-*10?VITQX})$4ZROVOn$MN@ zt=nq%bWzO~tT|ym0boG*Rmr`C>4>!ye@vMElH)%jBTjGT*1J?eTJZS5mB7J$e%iUh z4YPa0Oeb=l%Oo3_kdSDY*?q(^yAsf>@H3_uXVo}z$@1){cL6`bJL|VIRFsZ;18^dd zyR;h3V2w~Jvpyee$^KR_&ORo_6#i8Bp-a8YF=&&_AmNi2=`~wOuV76i+r7yU{wgiQH|g?(r(0)|HX;_<7Tvbh-ZRcNt0!(zR1=VKWQ7nLY=Z;OuI zOAYE09RI-oxD1ZjyoKO+fO{;t#@Z=gFN@jwk0{e2X*X_aytk%?B^n_LPW`fWigZ?J z2mPxHY=XSrsxehMUN#4nR&X>SIUuASeF@L6tukO8(k+@ZF|KG;CD1ErXg90S(DvwB z+q%Ku)^Wj?73_y!at8=|DRkVlt-2V&uovnqrrU!~i!8lT+&D~-(l7v7ssAP}fZ;aT zg#tcy)UfL&$&%7A8Pjxc8e*g5x!p zL@MUYVAkp1G9HP#&tlED3dYR~xS{Y<-UA*Ud8`f-fn+F_7GsVeDtSV5|6NZ9h#`pi zyB0zH-B@wmV5n`;#83!@V(H;XM%5tVq0}P^51yuS^#P0OO#evYM|7#UIg*~rPT6&Z zCI&Kpg!L(b5~9iEWJgPubA_FuOt=(Gk29nbJj(qi7L%Mpq(2<|-YwD}#xm6=3NnUD z-?v3jXy4nQ$cmv9&!1efGfUMHjCgrDev{k$SDe-L<}XSgOPj_SJA*h@2I-XOpKbnu zh12Rb{4XzS3KpP)l(aU^@DxFSlpcTkp(3HX`jg0m?U?I zWh}nanI(OI^g*RsxL)<+2RI}^?RqK_3svw}8$SJ;jj?~;b5 zmaZFZ{O=$C$Fy;;WF>8!9LyNBF(4Iz;gKVeC7^_4F?9|k$I+usF>pCbGQtQ^gh|#1 zv4gU43W;OE*)F*YuS=viXuiCIB&XZ%u~|V5a?bEVYa{a>RtmN@7OZYh%5;Ipz1GX} zfOWfuJYm>a&*i_mBL6^_|Anb8{|V$NK3lj1rd-9F$H<_bh#DKhpZ}Id}8>ge~6xoSh2TKl`PqB;we3- zyDBS|Ia_sH%^#XjdXjXc3X-@1LCn5@N?{w9PVA7>K7}`2e(6h)+S~ojBl&w3UUdmU1+jE1?+jEE z;D69v0}aN|LPFs!mz&MIsF9`(HQKEb-M24dzt}QaH-jOo|}td4W)ajE-A5I#?R`(ztJu|wme27T*K<|z+T!awsy4vaCuq*$>yalqd_6RH9%N79Yv$LLT|7`_qWD^` z3c=UUR(64}rTY|Jy!TnSjR%C#B4mBdNfJsnwtT3SMEmpLP>UpF%3{C&iFTru>j4%u zUN+T|+#&GNA$qp+(CKaBk@!lIUoCD@IEBqWboao**VJcTcFOEnxQdn6iBidl|P~&c$BCo&V4mbo6)mgv_gD&=*t&d@t!A9Dj~Tvu7#{ znEhd4JjX*Z1jwXNuqUz${W*X)jzUHI6(P{sWasLbT0UULGN*$sg>&dbg??iV{S9QC zrfui&ZrXOjzZC&UncjrVdMy1S-vd7WPlfKZ<7^WeGnn%0z+!OvO8_SV z3Gc_*BRsrp7D8mp!fQ6z*n_73NI%V60EY$hMll-yc4#!#1?e&3tdEi}Fe#5pt9W2Q6qV;F0*NKm)SrSBA3~8 zCu-7AuN_$Ddh~v%OkB5yjRLN#xD#+_lpEOWOU*GVRA(F5JH$_&4{u<$#k)BBz$p$qRfVA3!Vj%UB2bSCWimF3v-fQJa>et zT{C}Hy}3hb5_N-O=|Ad)=;Y<`#dB~exD(e^C-N88q}mEsktH&IXTNg*yNa~eXz|fz zj~d`9xJfQ=t#`QfhG-7)?E3vteKk4dt89!Lo9v#T+?1)9$oo_8W-nRDW?N=Rd^YdxPc#2)1`n+~DEmj|U#?=w7~&b{D5^is#b(Pi0!- zxoi7Nw%`q%@6G>`tB z{adJD-0;?P|Ht{!ty^)x;5WdiO&_SQ3Z)o(v)^=z+^1Zcd19>JyZfz-u*d87mx?5x z@!zL<7y9HTegQ(b3{8`N)IApGqj@)T&_44ZJ<3sFuGs`S+BEzwonqMVhum%Ho6fd} z9bKi`yMxgaA`L(9F_usYgs6dSG4if<;tIg5v`tozdTpMnw-FDgBU)Pv%hA|Jbw4Nb{Y%b7Kzc8$dC6|)cY18ck(K~Ntv>KW8H@x zW3-JUWrbq2bq-OmOYvmw@BRqOQi@Bpk2M(fvLXgmLx*NJs%W+%2Gz&QcU3q7Y^wm( z=HwGCZunS`0cnd%iyCZcYG3&wQ%i>amLa-dR??&94=1D5wPlz!zcpFL0#2h)LXOAo zb;!Y)*99wRDv=-d0B^UwEtaRSNz#@?ZYK;+P|3WRJTZ~yBF21brkN9z*N^PSML4%Q z6<4Ed!%WusRBu@0v`Jfg*=}BQ!_;bbRoB0<7u<&R#8Fr}l;3rOI1xjb+ip{jhDQ@< z7>j!JOzL9|S-+k49clrMDUQd$n_6eNDJ@>z*U1AU8r%ST=5{Dh4jRboMsSo<{b`VI zM*G}sH(H%4YuQ02M|Kb^RvQ#cJy~30G+ztE)t=hCB1f{OID-1+LuL)7hG^n$`p{6h zq6Z%ow{x{ve_kv0jJ!Q!?- zAOm#4;4q88lV5(`i8-;BO!D^T^YB{t8@Wa6aAQmt4JVFg z>+pK_-P7+;?)P!}eX9FCUcV=}-;-&x(1fUERqEI93K{_-yyOoh{>GjJH(d7Et#HE| zwQ3Q4CO*2Rs_wOkh2jPcgFk8*{2sFYTEQ_l)i$)r@jrm`~h!Oljz4jans(8A)>RD&)#;b0r#=v?7>th`#utV z8dm%pWQsR`a8Pnv1ngB+BL{xzwYHG8-FwmZR-&d`|7~nuQ^yKzV?v{u6hIlFxspDb zZ^86^;%6LUK7LQVArPbhLADgSS3EACJ{KiQbOtbdzASTL?c zf3|iR|7+XcPI6 zGxryaz-mRaSe+*JhTwSlIfFFNQG>|STh%mAuEjF!ylJuYEmRQXT+}dwsKM@D>R}B{ zlg@*AUQ}NV!PU}p-*aw#xHeL$g090r-WxU*SSVNzV(BeWWmhyGKojQ5u&C}o=zlp> z7XHpr*mJ($=^Bis`_Z0Tff`Z76$@7+j-2R4@IMKe5nE9 zeLnPE-O(P@?`w71afIdb!@Bc>m@CH2eG!;h-MK)RTmg?vomNsHgwrlpklTJ2u(%R1 zm-p8W@L)d{JRG{%&_k4A8XQ=r7+B;gWT9@o?5E!R0(eL?#n@eK6X9u$M*628rybj_ ziUys4gkd&&chjUF0KpOka~K~2a9utDeUYs2tJa1?zZi*17MTnbyyL}XrcXm0u%Xr8)np?*v3}THX z@?)o!S%upo)0C+D8sjx7!gT&FtWT3xf31ojDX+|$e7OVv!=(le1wpmSb-$I?{ZkW< zSky4>dx49;X}s>8)P2Q)0dU=B?ccshcM~5)@FB>0bt2Pm-x&3xE83sKseVPvDoA+w?cL*1J6| z%UFjDyMVV`ulLU3!7=$<@)WlVdheh8K5spFQ)B)~yy;>~SS$O$d^or6f;9R?;|T&K zuu?LbhZD3oq9u~26$Y2SX;MTv4=i*Gzu8=;kWPRbwKNoF*{&cfQZh5krLRux73ogq zWo0UNBJ(=$+F9=VSCqpm)%tj0Dj6y}*ix9*>DxWUU${(RcXGv_R(y!1FJdgk11qYE zr7zUSksUtjSX|tzL-G9t3a4iBfAfJRstn`ZNb}R~;{@dscz1CHMArTBq-m7@d{?8C z|CI4x#~$T1e^~G3dR!-V&e$#=(zS%)LHtM079)Pt3hK*ESt3UK2bv2)6F5e^$8kZa zVGVw=cd>6cB|YlP-%}gGSJs;b#2-N?Y*1ENswP-|bZdxpOO->vRJrk+UrJTxz%0Mq(Dm_2g_LILRg!^S@2x}{k0HnsZzyl z2!}e=mz*8c2X`|YP_e(v;sHgGny~VGV&maLlWazoA6%5NN+Zn~CubvnS|AF20t62( zz=Ot?VmCOS0Na{EGxhYZ$>yXyL~m1lxCI3F?;(7_zRTh_n0>CZ0Y`|K8tbh3uaX!o z^q=_&6uTV1LAefcxj3DMx!x-77CCRAxQq8g$6e8(%mskc@gp2FBut-IOSk-n_k^jK z(Gr`EGpR}0vzQ|51NO4(_a_t0*kM&N<1N5ANpxF^wIM&bdjFb^R`s!|A}4`=jg0H< zKu_d5z6OHi*wt6_f*}o?_b6d$5C|e8#R>fos!R9=`sk;Zw=W8-5M0yET~(GdVspO@ zAI#=n_7f$W`}KJ-{;a~^ChSw@Txu_w;P;7J%%p^inY3jk{&a1hI}R()b-Pp0?JVE* zkWIcJUuc#;3}g%D#u-o&bb>?liy=Q!390leLUh>`_v~NXLt!c0v{nK%^;Y4p%7@BC z!D+f1vLv##Ub{^-o2*tR3K#lfD<@|wM+6|2zL_a9;&34_)B?99_*QbPj%M{CeLzUg zK1y7nD1G=Ti#b9cV(GJjDu}3&dcx!>w!UK-GmD{aC45K&Ag`m3@$573#ah*|Og(Hu zK@%Rqe+H_B%*tP-M{uRzFe8JLw&9Y6fVfzc1jl07HZQu#0YHWPrJsn|G8zPbVJX2a zm%#yNb2Lp@l!k2E%wivQlbOJ!3YTpOeX^;Ub{J9)Xv=GffiSIKq7q={-WC{j$moZQ zCOghdVqDRhND~4-?P#}K&$T}Y&R5RhwKRTsnFYT+_bI@N+2+6%JT1h> z01%PHzQvK8ctU`{(3W9B*~@l?o$oF;|J+fl;#tIOBUX9&Nvpi}Cjl2y*~V;}zi$at z?a58Gepwu zCGsS`!{uPmnQi%0!e_vQ>SjQ)w~R87CrJy#p63)cXVs)W zLHK6}s2f#dNX!_m)GzMLKg?Jex47kHl(o+R5i4#D*Iq-5nwsZs{+un|u^tuc+gOc_ zIV!QadwC~;%K=?0=?#=@vitD5v?(>5i@T68=4I>rFW%JQ#HfVCH(SsvV`Z`+*Gm6Y zQmMvvD@tt6e%{w#ppPZ{FUQ`t8Vwc+QO!O4+pS=aw{EVdeECKIv4as2kJaxEH5n_g z>EqW^K!Q3u)Qme_#e2n0;lZKi*W@Yg>GB`r^50aEe_xmXos(VuGs%OAsE!8y&iqCR z4K$5LzITJETejN5)GcprUsAUy^^pq@o%x#&2*au`)7&}NW~!=kTJ6Pe2nq|q+cuK9 z_Nw1di>z*$^Fwy(vwPJe9=U;(-{-Aes}_wwWGLdA&nt@@)!O|jKeRyUCu@MYUcWf8 z9`2#t{~J{oMlk8H;VUxA?ZWY>A%7%^CK(((R~psef}972y7$%o>^PFS0Bp<;z37MsjUc{0Utiu1gH-nxQuqR@gs|^oI0%sp`U9AW7AN&LnHop*Bm@p8b-#MhbVMVDkisu)9g2_OT$*cP^`G%0W z-g0uNDCOM0II_5__2vVA&TFRTLG?1}FY*xHY-goo)M8Cgm8vEF3$FL%Xk z_o5Ab*O|c|=e~yvj>A`9|EK!)J?m{x@@T={@S;$@ET5=2kDppS*!dw82iuWaUHqHgh-cxzrYzSueDX=*^rm zLi8h{*Zd*hZwDetif)wk!;85;nrsFjFE7V6{fMXqNMrT`RPBsZH(e9kSs3&pf64|R zRzemai9KK&zwJJ8U_5_}g_8ZRLdn+Rlik?wn=-g!8TmpMG{a65y%B*%!>FSiA2#ha zdEKl-G`+WdB_H?mG2dvw>D5p6?=W42LI?+8mLXntlj0~Y=`Mdx72^3rYT~(LA+fmo zpDcI(FC{f&f&Ge zH$K+8he!`^BAub4#BzzMhNpTN39Xj?@1G6o^T?(RE?@Z9uuAqAP02I zWDyldgco%Qf@ zxK!g$KZGCwE?*P`n6&T>*?_j|#vEofYSziPTMr>4S%V;l**WTdW9|<=A4^6o-^9}L zRj=gV6z9D*U^%c~5lv#l8pH$BG5_{<8PP0K5UFHCJeR;xSy9v;QnmO1!wJ>K(hukj zpR9nt?1`;Ozz>}UKV-)FW%}goS1x-=L=?*o{PWA^E7o{d<|}Z`rgIDoSfIA{YD~D1 zS6Q(vxI$Je##@zonm(3+Xuu`?ZiHV&k^m(Oz#Gea23Xm~1UU;a_yWTsJ}F^wuQ{}q zNK~`!LGkdC%+vJLiJJ7&qNoJ9vfHx_~ygTUT@DSBD}e2~Ff$gnRBLK`0I#{}mPi@yJq9+q9%6 zPTrLKg=9_pN9G6l5ppB#FA;eYyhIo;^bOI6P~PO?g(|;`7rHcz*D|M^%i@JDPxM1b zQ|dzMig3PMJcbXUT0yW-0*12Xzz?b!7mi^QCqvp+^dKrfvd=C!OGn|+uLL%*Ow=DWQADAs5SLjodUW8bD=*qc=dc2?tReanUGD#{_Y z!Uj`hgjkNPu!W}2Vk@*+Y=u`a(8IT{viF&TK>}bjI}$R~#gf@Tn@bQf)Iv$f?9d#l zo%j%*FBIi4C1J==Ln>CFo#7Q>*p?cX`f4ijlVG>rj-`Le3mc=3Ld`muQ_ytP2cmotih+c{Zv~5{Z8OEb6<5wvj(DDxWwKCCf zWn~`_JxQNhibtD$u4@#_9H)LGtn5`1R_;_muja$iICdt?Ae2L1p)l)9T?%~E<1jPClgy47_>WRE*4T5^T7)%JCj`BrSlp+jgPX#^ln!g4Mz5G!Y zlKu5HMAYwf!Mb9hbJU*lb36ST3dqbOgXCFr?QoH~CRVE9BFEznBg*V4K!!?Jm=V-D7MP$1x5fvF7K%GdqXqK9GRN3Id+(wi#hb^I*+hd%~S zV!41rzVQMs;5J633Y-0}4ZQZJ;C=`%@H`N!7P58ESLsprRH{ELlsHWP+%JW|VFi}l z-7?d47k+yqh}05dK&gw_{)<5{)fMi`b?uW*a$)({gQ@!KPVt$Hb6*|2Hs8wN6$Tg; zy!xBy80|KClXmoBY2!*0!zNe9G9T0B!dQ9|&%RTc@{&>xC#56&nh&ayI?GJ~@kCb% z@|mlYy${)$R>2`6FDt`)jNsk;HlQ}ERuyfxXuA=7j8nfe1yG&@2loA{%_|lcIA$mOGd^CLrTh^o3YI200q1-v=IyRWK0t^ z-4F!B4=-WRrbxqTo~Mi)2?7}5ZQfn0?8B?e%i z=aUE|K+osqkr`uX(q8qtJ?CA~UbTKz)kIucu*6-lm~E)pYF_2#TxD$hl#Hd9Q7l22 zmAEdoZ~~T36=sEvHVm@@>Nm^;ffpMe_cyhJGEz1Wck!Eo$s-J5%KWywzX!vBx=A&u zoeIYieVQEQ^k~>0S#_TrTu-p5c(n0bu6z=EAnG%Ym0KO$bADQcnG?nBSe(H`{NUmH$S0}Zu}pK-h`9H_qi`6vK`~2a(yua z)EVL>*ttfm4|Qe=`MJyG8;-ImZ*e-I7XfJO7J`iV$9K3Q#p#@l^@ycK@SRVP3oz=g zI+oVrN(lu^K_2(wrQ$p?Eta{2N#IPRJ_ldE1{^r4dhdQG&lsLbF_%o_en!5sSxt%Yw$R zt91&-sjr8yZ;+0_Ue=O=J`|J^{0@u;1Hp<6*hUnd5yFIr8pD&|3X{&6w=UrF1-H?} zjE2K9X9Fw?a|3Kiyh2Jmf0?47eh^E~Qod|KVP@^jqcF2Lwy=zYd3QAFw`9Zh#>2KO zJzYgIA4ryc2)n4C+9pwVzUc4O8&%RHX5C$LM~xhVjQ*n4U6Cr$Un_6)*X#F{(O=cK zvFeMZhfkD-hd_ASV(I(!g2uP* zi(rtR{8mH4TiS9I>_T@sXuq1tZ^|YQkM1YAL&Nc2pz$i^L?!(-H&v@V9PdFA4 zsdeXrb(J4+PLE~IM6<|xtFa-4=kZwjJ`LU-#FGOWv;V;_W#TRtfYAub+bKD^nYbIS>-P{Cx0pJxF?%KvH_wDTZ%E(BQ#yWc9GzmLE-p)@Br%I_?U z*{O^%#Q%;$Bh{xM8+QxT8T}qhzaG-^SaGv5l~pt5wdy9Z#9aqxsaWO~V(=9d+O;gi z6ix>~@kcGbqm1UGXBiuNo4^|2_>KXN*Oq$>j$3$FL-1Y-pyRN+^f7r#fZ9J3YVQ@| z=W5Z}F4PRgnX5zRS)I^%*kfIz^IF7@?JPOkOq;yKMhG0YC{C)_@>`N)LayTkL*G&a z)mWxYu(E)%ATEyhTp8rz$ts4qyH+J4Yl)>7E5A^70Y6G8JI5ftE*LrYq;`>2SZPP$Vq|8)#nRAH+ZOtRCzTOnV`)bZ;V5FoO-fkUFw;;_cOC@*@pFe;Wc})GBO5P;Prc*4ISMC z-&M~Bst1E5m;dF$AC;em5W#&OgxY1}L`f_W+?$6>O$@2T@C5Pc7fgSXZeBxAf(a<4 zwo-3&ORP3>&N|Cd8{@ptZz;dbEK3^!nW1T`$y^g;u0FhV{bgVY%+iJ!`6WlkgF*?l za9E^;DjtC9XTPs@3od11 zg^NlpfzbJjAMH_9`~k_myG;Hg$q-g2Bd`;I?tmM(G&vS>YD|J%^R|(f-|EHevw`ej z{`=TX{s@VcNg%S%dGkNn$O)m49gx)X>tauLew~N{XaP3ApC)@*&>)U=yX`L_LJfjO zzlevO0Z?P`=CA6GDy;j&{Y&RfFE`A;VXnX&?OW|3|9d{4m~55y#i0B>>kLth&Xhvht%=c>|yFR=$9b z;3}`%0=#f7G3PGxHG`#(9#SVmTm59oUk3Y&7nD@CztA=lHB7hSf3@OMn!t}Fcg~dM z8I-@Fvb^DAXyXphto-?|yhYdRSpKIK<*`I;ZJ24`wvzi;$sUvN=9bV@zO}@}b*Od4 zTJrD46eR7K(+L`y^aSaEW41WAc3eW^6rCz(WbQ(MHaXs z=LAKTlc#vH%YU!S-*#5Ci5p!0VL|?d${*NtUE%V#ROCP1<=-U8e%Q?L6&x@peAL?a~;!eC4 z>#>Ms_@}7mEx3!4-$wuHfJQpX*V^`vOfB(>Kgt zkC6r)j4Z^)+>hnOJdj%nY!$C}@r&QP7Qfb6OaCJHKFq)K0qPI@qW;J0akMJwdOaSj zr0-deJ6Q3q*W-GX<-1&uZ{M%xUG%$->v4h7O6_-Ck9U)5@$ddBM3wy&lshHR=X<^V z*AY&DUV>Nd;sNc?Hh;I_#Rt#s=8f6sUa#A;?eDXX*J37uAhkW&kJ~^h;CpDTTu^1G zX&F-3%e~tCivd-s2L`u{Mylb`k-v;y$oZSysQts>|2aID1iuN#+^)0=`!MWrBwN59 zXXgu9vQQK3aiBJ0)G+X1SjJh$v-N1U@;bLG$}`IR?3`2Wg`g`aAXUSSz8(V?c=Nxa zgU7UBfE3T6Ngs$8E>{~8(mEq97RwfKM~VDhR*c);vbSkIV(I5ejn@$hKbE!-)%hEB zk1UjX6v@P~D9K9(a&|&=JpqV0Cxp7IT%5P9_&A_gQ;DCLTR5xmk+BEiA99m94LnR! z%+3@zxBvQwH+%5zdVpnfQk-|Ml zp33XF)MQv?@-Nh_>9Dn(CpK8`IWP$MA^-SnHy)eL<>Gb?R#(4eTl}x9HTK4t?k-3{ z0zSy*gcy$B&Fb{BUX+=3N^O}~7pGFQ>Pf=+~GdKb_2!M<%N#spQA7 z2|3&gDfGC#UjNgGs^*_F2d>%VEs5MzVPOO>LxgNXZ|6U9upwkqq$kNfT&P&>E>!I8 z@BKFot=->^CzvbjLOrcz63gT@BB_L9=@;zhqZeyVol8+HE!YoVafloG z<-Pr(&{(0wAfC~(EY^wzSfh0I_-dDLaZsVMoiMMKO8u|?BBa7vxO+UifpoKqvtw=v zZ~GhHvn$BB4^Zj#-oFhhmjIl>SZvKkYD5q^|G_i3WmINQVdtqi_4{B+L>$p<%()o~ z9h}I`mFfX$adJ{3zw_g>Mqt(bk$h`9?5E&oJ;>9N0xg#{PbQdfY~&LlF@QUgD@l&5 znM5p2A`Ki`Z5@{1@>6C1HaXUNgsclk9Bj+8f_W(Sjk#sFiGhWhCNDeGe}iEI)WwX+ zHh_*m{kzfu>iw3l$7g5Plie85SVr;h=q^DWW&xE51KN=`T?T~#+jjie;M#{f&kZLW zZ8A|!zOkuG+H^W}uy~21C_wd)(WaCZ;XLd^-sij=pQy$Q*!6=i%h@CU5xLt8Q*|?X!a)2)((9Kp| z1p=kEF79TzE525&)iYFzE}q2GsOsGUUC6(7B3g+WGAhgiPo52b=!lu<3EI>38a}I(s0a0Gno#>wk?+!DO*7 zu<>?*CnvrqJei|a14&Sq3+oFjck1(ybL%T7q`y7~bFsS( ztH;AM)JKZ`+7(R)MQ;d-o~5E2mWl=r7AFrsW%NRGCrado1&Q)l?j2c< z!Lg8a!ys!UI=JeIuIldqu5-M*hhJ_1im~v|Inf;NZh76nmUv%}a-74*V5s~VZFjnp zf~mnEk2=jzf7QGR{PB;ZLg~k|cFJLopIc>)cj9B)YsEDAFefXUQQyCSJ zB#Vm3vr|;W>+b@!Iz>hF^2bG^BA!hq9BNQRgpPTz4jgY<{86N6BVI#P#62ua$uVyS zYcT9(WmLot%`S%&mYc1Jinx@dhV(~Cj{EKY*Su(X>~)(UL)VH+JJU}boynB((G+$@lWdzF~T+I&K8^wh&aCXZOUOL*TT1|B6BL7}F)8=vd0BJbtt`slH z*=!JRkb-KJ&RnS+xgH}MsobJ%HO%CYyYnX$AjUH1m6;Mhu(Qhy5uB+KmSoMT5(4k* zqqE-SNMg-o<$cbssUi4(+0s~ND^&M&EPZ89T9d88FZ9EFxC=>s#`AekC!%b=O(V}A z*^Qseq%O(jHA=;H%jT>2MN~67qg{UR3nO#=r+L}wtCTPMiZ}oL4ddM(YO*1}1O@T=8scnSvcu$x8ap-bB@0FFZW!I<_9I-W7Mkj2S~@g zX`cXiep31Kk7)wseABQDxUoiIKaa-cZva;(s-9Tp92R&m{&@SMhPwA-*T#WGaa_q> z%LF-sqF;Xxm8j9%0d1Ijd*vR=F~WKp7+$aVrlR$q?V?U1_cu6)CEr!wh^I$CMs{ms zmBJ1gD&-87@Tpy4tgB;sCex0;6#5ygGp*&UO&8XA^S@kAYPu^Q zVF|->toakFH+Bp5cDuJh_5}zwbrkH z?!eZn0q3XAU6k36Pt@X&g17;g`sbA`#FPAO6KGvS&kuR|T_}0>DgTPwMd=K%E}=kz zKj~I=Cojy6=M&HHTQL}>&rtCkPOcLm2Xm%bWz(nX(ONIoSKX_2PyH3@V%}I^dksA2 zgl^fVmi(7+=w7U0LQU+!7kG{mFRJo>wKd2|kF$X_QcaUIGJTdclApQyMySG4^Ftcc z^|`mG>sHg^ikeznO>i&g>Ie#uKAz5%_--=+o}#*cfOrI4H6n-Bg(&513L3;F7w^P4W$ zfrDeX4jde(uK|v0wGLF?ud)V(y=x0%&%}H~mb^uGADvN}>Uzy;X{v|nE$fIu*Hc}V z*_39=vipC+rE!H(8%JnWv44SKg3;z|3tL<*uoJ^mNur4+j2yy0n9RW>8xa-s{5{Gw zAmlY3%%|YcX_s0BfrI35u^T+D_FRJn4m+RXqRI#8Z~;5GnnT zOR$>nwFHM$=|8&!t!00PB{&32-{BG#E8!QG;E*kSqf3~rgmIQIm7hqLu67ACl+b7i z4hhqjx`ZYr>|+TIA=8h+e$idQv~Z7p2OH$eUu=UI*GMC*9OU|@H$|=&_%ATS?#mr~ z@t^)xX~NZ=@`TUQTXv0PlWl&DbXlYICzKlyAj%E2xCR8P)vSHSVyXEdo2#p}R#T@f zWtr6)E~TYb>vT=cYHD>$scMZqS8@Nr=_SytvNl4p*Jf?x{nfWY&n-1SWHd)Ue_XjH zxA4Q7)`Ebp9i6tN-=oybIxhX&U!s%qZz>J<|7_|1?N_CxpBmG7d8aN2R$ppziC#C^ za@7Q|T(7kkAptKl>_te$%iZ=e)xF%qOF{O-!AkHq2UR*Zm;9xz`p*GVNKK}OOZ^@D zs7dRVY~rJ4+<(eGy1t~7;-xSkQNq2J;QEyoX(3^;5@uL}>!aPGK*DS#{K68fzeb>D z=;PUZtYA<(P^)oYu&U4Fj~zT}!?k^Utwx#|N)=u!qt>dQBgQg7JAYNJ4lyA!+2LI9 z+qo3rc+kRwc>J;SCU%^;THu8cSE*J473t9~%3Nd3ETnp!!D@LcOopZ=a^rh9<%Q0~ ze#!La3Fn^LY;e23-P7_~cb_EY``BN6qT(bWvNWY_rkXm?#x{-D(J|141xr2qIvl4V zb8>IAV9iDV&}B8La{>Rf{|spmZqu~5jrNt7OWUuP-}Fgt_?Dh?OSIsf_ap*mZg-QA z(q`4B!e;cH8`&%Vp}m5Wh9(wqIewAFO4>ZmiB=D9K-ysVJ%Q%vygyz~$0PX%pW3%-xQ<(#4Tui=AEZNtZ(xQi_1RwgLV?nq z=SIL7#d8m7>f*WUXR5CjxNSqcnY;=la? zS1c3I$PTW?GBI;Ho~n&Rj*w98{v)4kQ>AOP+WjVe(c9UYY|eZ?LBj}|sW7M0czpf` z>+AG3eSYoJO<%J{@1;MW30hHs0y}pescSqH=y~;>ST}RFPQ-y30BnC(8d<IZ-i4nl{H3$|Ruy)lr2H2gaQx)Qj5U`REQsx2M;P$l z9Px=3(Q9Km$ANjkby zE7zpeSFY*%x6aOsKOimJP7?tT%78#S0K0%11iWV~^F#Zlk&t0udl77T`7tkr2L3>R z>TN7K3P1TGI&*}*7hNBM`YFEn7vxKz9pZ!xS9^@g1dM=6<)9xYe*qbcs?F$;5wyXn|UZ#0>`q7 z+LyZ8m#n__G7gV?ntq;HuIc{_hmXmZa5!~hCH|()434;|Nh>ll>1DUnFIHp(dk{DW zK`k9^74~<9$>~VB%Ua#x&SXVZa{7uLW-DPQlcDH0c60Z5DTEYZtJbji+Xi~zVmT;U)80`|qD`8JdaNSMc&mKY>qev*+ zso%{l#IqU1JQy!geYp6KK7`@@i)M|DBFXJB+9dSq7jEftli1>^icRAFKdF)f(7VpD zO85Q&8-38g#WY|_1=~9hZoX{j08Vos0K|Z%0DmJl={~NfGX&FfzzgQWCDgctCMEpT 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ὊEn0)=_rT2w47N%9YQDGNN&_!yW0CF9PuKz6=(%Dt=>D#3yb$qVkBq%UJ ziK3zeiAuzSC@3QcM3T@0GaL#YtKbRZ;(;&&xB{X{l%^eJJ#lwcR^63#J@Dd(cLJIO z4-B3tD&R#A{lFGC zur%5}jvp)y4N{yqa+eoa{pgB-w9x##&~x%PfEp>u$9{98eKJT<53+L*upLbFWI1z* zHN@lUy7MIbqpEz*&6S`9Fvb{Uqx}=3({s~0->l4^gDY;9Op){+ArQVN$mit#B0tm2 z3{@eOtJbzBp-~DyQ5D!HLdV%kB+{|T{8bLt2&x1BaL~c_d@MpiST*E|#CGqV%XKlaw#3FI6p7x>s9_&7>`4f}#)Z<6$KDJG;$x!ivB{UO90)H`6M|RJSD~a@P$toNzOL2x_Dh{ z%C(-F`7|992oh27Lg5#U++`xsjmfLH0HIe!K?gz->6cdSOKbOqpcjI7-d93ziA4&N zai9dpaq!!)PVH5ZwkP7gasr-*HbGW;4(`=@aE})RP6fG}Q}KmbYyabvyD*sf%2WCw zdrQUOA_YMUtWzf}cZEe}lP#HExblO1!;=@Fn?i>Kh*{Ex)_*$PUXt+ztL-du1ZwF{%+v6g7MGDjj!g1 zFFZO&_IDS^KewLRE(YYH=s6m|zZ!h~-l@h^v}aQdYnU2sZh7lrJ$$Ke_-fYr>Q)B2 zu^%}|^{q47&GvM_s*!3_Y_!{0`jH#eXjP&@L&@~#ZZgViTNzLP`$7F@cpk;z>RV6o9gM+PdfFKEmt}Y> zJjLQI%N~{y$o;_}cp694X|jhec@nN9wQ^{f@G5N2kVh2T z)5Q8w_vbZj{~)Ys>@?^w#J02*XNViO$4-AjT5rN0d&vYjPj1H^+w(XzVE-U_{|ojH zdkF)#!9G)FF3J9;oG+a1^qGOEq45k3Gq+G@&}WO7J@%h6)nQGs;@aLEaA?lIaeM6J z7%wd=E_;79)qOULOi>@t6qo(TVwFW|v6pCU7(7|eP&4+hCrZUTYX2a$yY>&X>exSc zG=JK`dG4W}%Ko8VPt&9f6gFm$-9{<|E1&+iU}H>P<;o|-;It8cfbk-It&e{bd$$1p zO6fq8_;)-W1>42Hn;up8_uU2m75qD^t;WCiH5SNpJNDT5d`ZB+rSS|7{$=Y7_3-bf z_B)7wPcUA0%I}0`KwPHzlJW0oNp|hOBs=zBmu?sTo{^k8h<}GAbfz7xI`&`fH2&S_ zJg-wvW&dR)_q62UdiZy}bRGQj{;N^^J3}}&rH_*nG9m&E&D->%@jbaw5l>Y?tmA6<4MYjUWiSq1>HUxltWQVLm?RLn6;KEl$yTW>>EkA8fF}?+ znXm+w-5w(qn_M~Cl3r9vwN5V{p*c;d@P8>v?#h7JHwWqSr65@J{Xg}d8sq0;{HSvu zEpr(t(_#fqcIy1V49dA#teoXQXI+{(uY(aTO1MC@$hkmNUt#V`*A$^rW3EFDj#H_1 z_G50U5;Pn{YBN4Z^muC;9F$4ig>;`NPp|^*TGuc^>RM_vNYM zXD5xfG5JYH`WKg<%%b%sW8}-Wdo~$__xgZoRK?V=ib!pGSW+%WhLv5gwL79_rg1 zs*d(c=FfdWWF!D*L?50Ghd9h!3KcE`@Y}G6Yi2&zLoY@ z&^Hdh0}NNT;~1xzXRy{&eMBd9buWHC zOqze=nlBd#=2+=Z32&+?qaE3sBchP~)_!YoHQ%)m>I^!Fb-`qK7*CJ%A5O%OK37>8 z8c&~EIQpCs!~JI(rm?T_^zh+loHJtNsfGN?G@kYs=AT+vaLx#RWf)KA`~4$MKj##_ zWmF70n6)g1Ah(H48GB-W-MgDrjan-&E!pobIy7Zo;nGE^c!*kovL{lBK^)4A_Ll4Z zJWE!n-@(I(fSVdRjZApS1gh|G4hNo|$4$g@KG`kn})sIfoUOkwn6 zJ*AUbpB+Ac^;Khcq8}=f$>vh2K|^Ygbm^f7kO$=)X{HOKgc_9(t=E}WAZ+RvGvP&U_d2q2`T zLD3mNb-vwGayj$24vRW9fBTY{khfFR@Ak$mA3PD2%t-2zKJ}^Br}v=O@jfZoBlDKr z_H%p^efXZyO!^tMmBA`DJS2!W4*hiUMo z4H%0nb4g5OEE>~4-2M*+*g*d<9Q95!`iF<_7yLaaQz?P|>-vW?TMNl=iT+`K8Jx3S z*WD+5?(^XQfRey8+$zb=CjB=xtn^$McXwH$xN1!QkWIy`#+LQs7OB?h#g#PY>K{hc z>q^_$H>W@CC@5?0g}W7+G_wCBFbdyuGpKMFt2AyoEdEKqK$*EmO}_k3(wFXhk&W~3 zIu*r^C?49A+T6zZjUD|NvXD&TWu5m<)f?xL&NIh(cHzku&?LWujbHjwxKamu<$BY~ zLS<&xloMEfWnp$o%AA3LaEM?Kg@Yh;;waYFdG>OiJ>*GVL-O){#H)0xqv~wmi@_=9U3}TamtBOs|7oeVqOd$xVHNfGo`cMb!4nvjozTb4e~q&FVYk;hVSUUhYp;LHZ!P9qzvNj}CTU^P+v-*TbSm@rtdmQ^CH`gWT7>qI)~9iWModH{U};;aMZ?ZoCAn z@qO7*gWPr6B`1F~$Gp_wo<3`4PPV<0&%!rXNPhD}QHp#351SMi;z9XlVV!_ka<0RF zB3@0f?VC#uAw_dkZEidWbbFPB%mV92#e+CseXX-A?sT`urs+ptAUQ+Kj5PDuVt?o# zeipuDw?8yA|4IS3RageUf+BLaKlH_HxBq2-=$U_$b@6}DANrSmJMItdd*ROCnLl)m z7#caGyeWU^ul^#0vm(*k`A;MXHJrjz_`G*-6?!M!)E6~(HzqH^=2__7T&FovkheJg zL+$@vdgl{{Dk1)ZfV&>OJ4|KS74aYB)`J9oHy#Kc2-PVBIStJR$ zE9NQWZo^G3xvTl^ZltSogadTtAE%D=ncIBf*(2?_P(?0S>?>Sl_xXOSUjjeb*Qv6X zs&cEid19qgKS$1kkI%YWPOH-GBV7BK6 zHQBv*#``;a20;?liB{LOx2kL0xh)v~EzbCPCe$~Q`bNh4wv4atj5H6=1x|hQlk2M& z#BqwQuLbjCIQ0!ms;{Z}Ie=VE&5x@;ULXLr())~x9U(;LVusMS6rZa|mnA0fawDt0 zD0Es+0wG~8*1nZ0qAmOO#zs|YN|fFHe6uUNeULZK8pwb|$ZB8gQ?lCuUntpaNIjmP zAp*#-5)?kuiE9MxTRs-?Yq4s)r|wF5EkbwgIUerwur6-v;vx$*!egqaLJ4EX)93uB za1qJ+qss7<)Nh3GHWl@7ot?gZq1^I`Ktx)vq(UD}x3cPg3UGS*p( zUAga4`%J!UE?l7GzA}JRCHHl@5Xz07$B|``eVpVfRo{c_NSSMQQ_Z@4RRZ3LGH?XE zh4loyo98Dsu0`nPKP0!khEIhhUj?zksk687Lx|R~mcT~@zL=~P#OalbPa>~XQn}X+ zZd*n9iEWwOEvs~+=__&Dbxx{aLtk0}_g3vgVq8w!xLM5C5KBA z3Buny!YYf*gME+6l76H(!aA&c7FgMc@p*TtxS?4>vz@s~YIiylqSa`3Ve{*vccXVA z{=4)1#(8c~Pcct8s$P#jzrj^HJ2GNhhQQ?hWv<}mgnITd#a|NE{0DX-(Cm;SW$O=S8%al;{Db?d5UEsB zG%|XiyDdaJ2F%$bRX(c?lH|IPo%!U*Qi~i}YSFo>VsqS#fceNA-hEa{PMJJ=67-rU z_IIrV)`ZM}bs1Xlh(C8dBsa}?Ccz?a6-q}V_uXlpK=`tA4N;~2j9F+jZ|X7F)D1Gq z*KtKQ5kx-q=SG8_F^8zep1e?yuP#%5Vawbr^cAD;jJ&OL0P z!6{N; z#{Sz_7PH`qH!|Op?xsE>`ep#p&d$g0B7zKSqfbg_)Te6q(|deM;ExP+uEsT$2BgM5 z`xN4ugt6@=GM}fgeC+ai{EhHahBX3(@ip@W#yzi5ECrw*yWI8n;#ippg5(X=sBae5 zE>)RYD-&`&5oc|(-)2t|Tirf$X7o)79%EQWFVTdyL7~|8`ur3w-@dX(iu8b;(H83; zW%FJe+|T|2ikVkN@~U`pD8d9}(piPChDAfx9Mz`mtu(U_V??VrIr|v~nKCx=PPc7! zd1YglJNZX+HhPZ8ROqoZ0X-PL8gDpln&5)bdWf_kf6eG0Of)A#hL2US2hRWf{-|(6cPVXAYSN8Z3<^!`ya{9*#Zs zxror03I+bgL+<1(E@m>I^Tf2tA!W|33rRBOv*@Poa9iHk#slDquecoV=ROCm6XqoA zNFKO6k5s?J^8bB%4T#``OOXBW!s{8Um44K*G2+q`Dbe8)e&`^b%6fiJtxkT~gq|5t z)98Nur}U;;MLv!X;#G_hMU8!pK?jlMAPg z&~p+bN1E(xkD*CmAjC@faToHt8GMG`*D!GUAQ3d6?aPeZ4~+7k(vmEjSNVz8QY?|5 zjTaq5<#ZpWD7oJoTyd}z2!u2?~-5 z9~f#iz*I_L8pYO_Dbc}kBZ>NRx3XTV6XpvS6lPYoqe{IU zeJx?d@1^s}4MfIXr{>*$6ucH5;jK?)d#JQu<;hxQgThCpI@m3c`in33BS9zK|0Mi+ z8T=BQR4nXXPK}q(k(H9LpTzvxu*cCvIQ>xZ&($gw!}1tbs$uyu8aV|00yC*eeKj|` zT=S9?PuN%Ono{==^bg)Jkubt4R*`*Se{~2t<^y#Ix>7x6&EfbWtoJj+smA{EDmcFI z^UB!bA8F{NCB{P5Wox8FXby)NWwgPp_kCLqGtlrp`?gio<%D#hF5lP}(WXAkDD#u0 z35OX;P;9AHlqT?Xri|vb5mN}`xPx(3D{)1}J?WH=#Oa?lQ9b=A3YF2?5I~B=o zcjA*!Qg8qsT&jekPMR%{QOB6(_Qz|!JcH%$H^cMcqH%+rs}3|PIoixoZ$EOhS-=}R z!1wuajM0w3e(R)dSo|l&o6(-vR{A@8kh@v`?=S4F*8r|NuaHk^Poz1GE#W7>roE7xA& z1ZT8`sxc=ZP2(QbYp!9K`g~`XLo--kw;#x~=>wD;&+NM;*>U?GC)us^=s=AJV$?=h zWOXSYghB8qkuZELxp$H4_pu2b?W{Zc)d9&J{qgE}N1u``!1I~7&tlWU(szB`TP~7Iny_~E0~~7dIq6tq6S%)M!Tl0$t{dPC;&`5g zC7Xk@$XrcD)v6On3==bVbTYS>>)3e`LTD9`=|vfn{ha{KYM*zU zz)~VrFo-^HL0bXF%vLO6w<^?52ywLUvVORKJw2YhB4KXsb&CFl zr;{`IuG|}owX7-^gh`m0lVM*;2C3nr8B#-|@+3Lr!NNds)yh`E{)84Vjo0)SSkOt1 zi!Q}I^ai{M#By&CwrPr9=><&o^Ha&*EXmzw&z0GzPja^{_{+sxhMV5OK5H-=%w8Qc8cZ_DpbZG)9@3M2zhmg;)Hh<&DDUoOG9R@{jN-O z_<3FAV=-qNK)zA)8x1Xh=5IVC$1jHL?cLGVTWeF4>$1i2-ZR*%#0! zkWHaHF4;U>vRmm-DtA0>3+zP8kf~23ng5oY&5_I<=wzMlfozBN=YLY2d`1Mp37uRf z$qsG5RI@*i(8PBuOQW#z>{CWKC!^ z)vO4P7NhhT_LBgov@G9qD;oC7)X?O}pCtPd_}26@oh}g@%TrP!gzY?rQ($gU7Tn^9 ze021m(4)s77!MiNtkt21q#)Ji#P?%TfdpIeI*7{_#!6_JxXrF)15_i0*_zpfl-^!g)xOx($wSTF>xPC4)*(cR zAN9T_zY!i+%L&R{TmDV!x=N#XL!01HM$OtJd5&QX=loveoZqL_8s^Yiqj*`ZQCAuI z)F|HC*K@4|c%0y#7nAZ!UTgR!%5ReXQFar*ZGPL%Z=2ui_`S~gy^i0j`Muity_(-_ zyG452HHTL7yNcgc&i5*Qm+`wy{SHqnqm459SH|(vQ+hezSA!mxA?JjxK9g;%2+?d2 zlEtmT?)c|#Pd*{1JBVyuOg?ZZdx`sFdEOdMsq++puCd35WP4UFzP-pK8_$JP8e7lE z%#zl(iYKM<;4L-l?f302v+l42c%z6ZsMrKM@;58}$3tASKvF7V#G;G@d80L)?3Ecv z1^cx>RgP?)f=c;Zp!F%B)i1xClp-lHeQ=_Fh4YAPL!3vJ^1$a#D87ng@&o4)wNVlO zvX7u5bE6wZLb>m*{wK5JA-38R{+zaXyA*tOa|*HGZsOk*x^b&GH?|SO6@5p zNwTA&C{(aXe^b~<#dUH44;RfeqFGs?FtoB|z389Ni$iEGx{vUq551|yB=_?aUexNd zQ6!EDUAuQGc?kg|`dFp;`3HrCPdxqd7`aWx|CoHFF@Lr5SP{&aa~OR6^@Yv*t35;p zY3vBMm{OeGPO1~{r=$MhFgmmNpjH;*zl3-{6|3|pUvQpFoaZAvn>o*q)ShZ^){3L% zDSSR>7fi8vAO-XF91y(HU~Er)#3eE=(WU0jEz*_w0N>i3S=u_ z9WLUV_R(RnAHhN5R)-EIm@n7BXen5|^IWpLRpepZNf|IN%CLWi_6ZF<_fly=L?L#Q z^k%#9zuW>0&^N)50h1JAi0x0!(t}Z~i#R=ae#Lg^!QaRrcz%FeOwohuNOkBz zs{Y{6gG>2PZ%^*c_y#F82{+{8!OpH`mD|Z3sDZI<*1$XN8u#d zw^4>6;>cF?ffwgQUSIl=&!-;B(I$L$PA}OIKPzC3bKAI&OI82Q&M4%lYXiuQ@J5R}2e)za0Uf(^%7QsbvJ`+`G8!pKzQ>q`ihE&JV z@{|bQTZOD zGHR>f3t$7ISD-J{{o7ma$;!xkQ(c!=P5(k;oSV=NA`3WIM)0R^7-zlxC~g@0rX0>J zsXX*xv~%=;0Kn{4n*dL>>Bx0?+OzzOO9WT2q5V+HvW4ZaFaINnmD(&8#6-YG_jJ%R z74@yIY(^WovaBqcC8xqw5qwr9H?wSld(_dp;jsObwAaZ4G8w9r!YYu?Rr4VqzYQj_qmPZU*Y-vavJ z0U~uU_ljI37}*W6oBJj71zLO9lha|*_wkwM@Sp@bGnwxG3V#RDinh8WOLFUrqei4f}kohr%%#apSBXklzbAO*;iKp}!cB`;=doLm1W}|YMocId!%Iu>jsK|u3QML476g^P(1>WfsRsEB9tp42k^{*VCRR6axJN1`t zo>5?2z&3T0+BvN|WP>ttUr}oO7ZRBA?}$b=ZGR)&3Dc)f2s+TaBX&45J1Rq*3O&Zy z{@~g}+>+_;^m_!fd9v(-Cu3{uZi9y>*eyWs68ArCub_;Y9ixaBq?En*BBm2lG5g^G zvh|IVJvVrm%t!KmHL8f2*8coLML3<$(>Qx7-I_XUD3glS6!sLq z%>NSOaLN&o2&hc0=hkveD1?+>d5G9itlFrEXLXEtMlD{lqB3C)W9m2#?x zs{~Wi_*bdO)sIDLnIdlJsvj@XXZ6l8D$`a<)B3$&r9PCZ4+SgrN!9t$S+cp|BVUr` z-<{Zz$^0TAi7L}xQ5kg%$uE6`n#H&rh1^s+;e$oZL@bx#FRcl(jek2OQ#O$*wTY~X za^vL|AHiD;vrCoV8o=UUV^Do3B&<2Bs@{ICPM}o8ZuGt0jaI9Q-a>d9IslGW*AaRz zQo}@IZ`5roUxHt#CW`y7PVtnK$(RVkYM7zL>{J1eTDFrL$e%y&^h~qbk&ahvUWRns zXH943L)D(r`zXiJ0qs!!ywft};~`keK!LHRA#h=-=nsV2ohqLW_gTZUqdn%Et3>L} zmZvfW*G3MJZYA*B;o+HVGVNOm3|7UIQ7|k0lzlGJn#$F9fc>>(<9;9Wb*e1nZmM8!?kAkB z{fNw(ZGQr4Grp3VqTOTlYn_0^c!7nGvjVTL%C>|_6aFK1vV=%|;KQ0Ketiy4D}9vG7P%tzeIiH^ ztgOF%rbX&fO1cGIo5ZW^k@uV}dt{^bJj4g4!ZWfH&I4Ej|B^p1EhiA3nG-t@us%2u z)aVnzXwH3dBv|#L90?G-gmj!{IRQ9#Mte#Qb_mrN+SC?tJ400M7N`h)&057tl&5Z%` zOYEoZfy_X_v=KfDAI%V;hA&0-ll;(=Zb?8Xjj|x3U0i-u9i8GJD}9}>atE80{@}qe z_Q_N73Ak@Re(s@~;j~?lx!J{jQO+Y3K@aS`zuOAGx7<^DCxs+VX{p4QZ5oajHh?1% zwy%O`CB^fN!>^AEzo=KT^>!hF6eh6L?tPv*K`jlirvM8U?mo_Z>f_UB*|JzhA2PzK zgW@ABJ(v&L1|iWnRra>^&pG^1T;8IbDUw6Bw&q&CsecrCGFw?_vJ;k--Ru_zpJE@v zn!@aCSh(O9Cgqzz>IS5UvpXS7&=FUC=1cZ$;7b>Xx$2jTrOm;hW}`7zSBztUCd(-G zTCS20NtfA9YH@0NAI!cvr65s ztp-Y^4ZtCa0cRi$)E~=bY8|QOzs{0r?sMH{AdOJU>5x4@k{u~xk;a6##3IR6e`v=N z(ZeK&yX{vbXG6!5W;=6yLT9?rs*ZR0&!@FK@NVaMyLyU4$%i78PUz{ae~?p`!dtiEu2J<516x1&%zuCfiU2JlH`w(ML;t-X*tFMd26C~iS+Wb z(_`!XQ8LPU|8#V->s|TpGz#xlad;2#l(q+xVv7EON$_qJgLhYf_qo1R+gbqbnllB+ z0`7b7*WeyS=K=SV?Gp*wG@)cxR^1v6ZYh-vZn1z%vF~zfi-Y@#d@JQ-GwoTx{cKu2 zaDSs<(-LrdrQW0&NCbBX40g!tAl0!NJ9w%FcbwndiSy)b)C+8Wi}U2l+7nVdJ*vO= zoV`j;kGuXn`ScjZwrkIm3kBaYVN%iV^Q1bH?mkcM@OkoPmhH};Cr7K& zzvuI00b7YC+27nPZ)@$lNAa}MQ!^4t_VN!D$@agiNw$=7h~$C1%APc0xDd&D=gA$A zw}qtH--bRu^8K$&AMYH=*jhp#C4L3^F*F04gF|D2wy_A3Vob>OrwCyj$W1g_%r=SN z0h4=tP;zJ~o3FUG_0*%Zlx=E6Ocy1;w${*PPLMhrGmgj)>U^q2Z0`9MGrPEWjn|lT zO}#t9HT9k(TdNY;+P=uvB=B#tIPI$d+LM6X&0Ru!*dyVvI~0~_Q*iHq7N+@?FwJKo zObc{FhS~-Tzbc<~tP;VEpb(ioC66;4IlmSmv`tc_RfP`lncwOBp|ufF!o>G$QRNi( zFHZ@cCC2n3f?5+i#IR1w#7tl0&4ygZ^}f+>RAvbE#s2bB?(e~g$!8ME4n0siTvXc{ zrbjD<$_=xZ(=`=ZIPxgn@|&H?r3>5@rF&gE27WbiE1y(&GfpC1(0SZB5!`M>e|$LHR@mg94kav{_! zwi)`o{{BRK9(^idl_X+~`8I5I^EaRjS*T^iFH5IP1i4>`Gguy}&DkDaeZ zYp*|@lZkv3*@C%)# zptU4hzPx|HopmIo=%fruD*6*i){;$RmebA&>gNm9@)J`OJa1nR8y~x^)M+V`B{#iH z(!Z6N(}5V>^hJ{XzD}RZyPG~=(#uKD-&{1Acyv7ariPB>k)0aq!y_X#G$7$XMzwRK z$c?&4-_+pS_*oeCZ2dbsHTWvOd)b%i-x;aFW&D=-RCq!t>!i_qiJyO4x?X>6eayT0 zf;qBauOaG{0KFHu&Vs!~DVSV+%$O>*U_V~27p#;@Ua;EcXr@zJe8D!Sk68&sTDD+2 zOTA4l*wF)+c5O@1RdtLg3jOqgZJ>YM5&0L@{#Np@b-%X!>mj!r02e6;p3460CEZd#e5A;^0f6w}Xoc@X|L9yQ;5R_2t*D02@AH8hX_@irnRE)`!{Lya%$r|@Ze+N8rP-`KX1hw8i zt|@*wwx58ob8BQ)ng1P=&!yh+o5?f&m<hXBu|7JmUjl2$SR)pPaBgdB$%qZ@v(6 z(o%VI?GN!0HY3mIcx$3OV>|X#zp{PLeylxBKbH}}Nj8HkSbD6jx5eBzwi(?1oQy21 z>rx)%ky6R*ySDFnzK^ag&b~Ki-{WEWTgJYhDfKqVzTb9ijDDO;Mxh_K9@7%~VSKOW zYX|8^`OUlONAvQ~W0;0rPCx$gt)8v8zUp33_4lr?%IV#5`muCVe1y%=k5xDA0R8yY z&;NOP$#ednDQ}$rS$hzWTg1jWMnJ|0<*>3oeu4*i-lbGB0dda%PHk}l((L)4h2Js) z(plnQ=JzdyL&4L(CoI0M$oPwuvU^29whBY|b z9Fnc>YsLlMe&~!l@pQic1B%Z)B_HC}s@%!LgRoyHT!?>T{yco^#YL&3c)Bd&;^kmY zHt})3cYQNDE8mPhH!50$qe+?Hx)SRPB+?;Vw!=un0^t#uoow-xoGTJC^G8DG#{6W7 z4g3z#T=CSfvGCAd-F~Z=vb-HdcGbMNYKXg5z$(b;ERO8is=6N}NeV4Rpyf9&T`cw% z_`l(Quu1&2YqdW#&UJXY+Md!>Rp0PTv&wN`TBbZUeAa1%M_v~CgE(yCLYC~mBmPDm z@Hg5kbfW8T5Sfd6THKyxb~fhResh^PV7$;v5gdH+7vpuXR62JSnFH4GGNRIRAXm{@ z(m+g}*O>%4i=Y?{xiOLmMLB0+0Ct^L1ah9}_@Y z`Y`6r@%FUu_TMz7`NBBb_(32QB51As*pYHsIH42r%_0=fg-a#+lY6Bi0mblP?QGz} zy{B?6jCKY;8ujA#n_F=0E--7gcQ@ED<8bldeh(i+9JqVN9Js~bKH4P_9#S**q-VUT zvWDKlmwTY{g6!Z6pH9eif9X%2+sdNpOPS1+?>*znwR5AVM->IK2CO`R#Is)!W7Jhf z+bZK}a>*b5jVf`I=jdhlH{z(eiHB$w><7ol^=-3oCRARQ7)A&4n82k0?=Mq2%GJ}h zuSU>R%a<|S0a+trj+CQ3vN}X=rYlmw*X`x_*U%?!{xJ&;s}+7(e)HI&W+yz=_E4C9 z4yAAvrr8lVcd|P2r5bOo=h}X}h;z3fZscfwsJ*33aK5x1-dhUipJY&i^EkUKN`#+_ zPxwz)DXia%>Cd0nB-W1>tUrRda$Uuoiv`yRzAqr%{f;m=0pC|1rFNA?Y_f5j4^DFN zUE+yF=F#Oi{x#^|BtE;Cj=!MtZw=<^8bYfgekq->USjzEk%n);%E=MhReCCcJfa6X z{@+GxqFVPd>V|ZVeLs%x5Xujg`#OW$?9?l+!p>EOc=Bw3F&yuY~KrJIv za7}cWxPUqt#QknYX6O)NC3;GFGoZXTJxlzVsVBDEH`LvzTjukw3Vj_pkPj+{TqtMn z#Z(BLPM7gJbovCrTM567f2i04N~i=zp**s;JBouhFHa3ZJ=G{YrL(C|ND75>aK(|E9D*Y!*JaRD|Q#2i_9VhGJv;N1bBpt#li9YKt zO&6bam!?bfqIc<$pt*S8`ND+|SUWhNY3vT>>G&MPjEMdbk4P*1Ddicb$VBi8yZmqf z+U=$IatOTv2w{H344HcBSDWWhxS6yWjTmHH@2s^M|LUq zL7yH^Rl&B?3*rriZW8<4WG+z%!g(bL{PvFMe{zH<{U-h)k5nYh-LCf!xwAWC+Y$Xw zU(BGfe@Hfiz6ic5W(GY6nrxs&HVMKawE9ARb5ROr(8FV9&|6|=(3eDJfoqaqN4e2u zdPyCXgB9N$`3cJ6MjF7r_&C@8S-m>;&(6DM*dgxOXf9m>D;ef{hWCx+_yOH1 z$o|*u4ZZ}w5X>*`Uz_475zV&5Ya)ceVh#a|Kz28Tz(a}}U7ndgZ%j&qFajYwT_ucw zP!oK42_ry=0Co#S`h$lX94oY!{ZF3KdxhlTGD%F_F=_*W-ug13sq+iWWz`!!OMY^) z2H%f}cXfP!f@I}=vq^A&h!am>GtTzliboq_f1}3LyHXUQJ0^7%3~^+F8H5+2`>-NC+^l?v5X!NGi1 zyPN=qLiqbX8=b~xq4~3V@dnDGXTcpMv?s9!`l@Pz&qoKU_yUGC5?)|W*-nW$Gn6oA zM4V9}2C$ci#TVd)qj-FQJ@hKkAqEx^VnC)BYgghKRdLMpISF8q4l;mbl5`37qk}Ch zfuu*%sU-SbJswLNg!ec^ktB3KZ>cC!Ywc^h%BoBM{GG(p`U8v9X}#C|`m`>k907e@ zH(8W5_HkXBI3Mo-eHxPATjx!KG@lK&Md$a%tqF#G8^+<+uZQTIuE0i8QkKK1Czj-J@xw zlyYd~8fc@?NY8#kBX{0^u8%bP+tA0$p8J*QW`7&{IQ)NpW%}st#MpK%eazmsK7DLO%1+S7SAqL( z`na1uN_@hdu&>-3^x1j(_%;jU_e~#P+FOw&&e)d|QcLLL!I?a{r>i27J`NVbXl1>2 ztEP`q%At>czKJ*3`bNp3>?r3*X6V1110SdD$bUQNg|TzL0j0z1DU zgJSqQW^efC%XZrfiDIW||H(QQ$S$`R`s3?*w&M0eQ^3^UyS>m4^s%M(hI5q{+;;sZ z|2}Ew^cPRDCVnIS>g$JpW&Y~@JsI1s<*&*h*U9p^dr8>|{%Vp`v|B#6TRyjQ{MF+u z+nwjHf~xfI`TTidTSb=OuRNpWZLR&n9z3n|ZsOe$vpD?pCL#Y>msmW=Bc&Yvsvoby zUtQk1dH(7h<;cQ~zv*4Y&)C`cEeVS(b`HOYUMf7a&a75(&{0jc)e)M;M5j5?%@g!P z|CRXW5Dlfh3`n4JAt6eyDLU6vrpcN8L}f*_QiS0uq4gV~LUU zPV_LPk31MB)=aLVROUGEwQ+b-o=(1xq{=I>g(?&KhyYdV+kcmmg>Azho`i{;MAx<7 zOb5_Q(2vqUafM^hh>6V9Y<+R{soIwD;_<>K#qKSka}=;eElKAvb1I|3&>c+2d|@@2 z4!IagY>5(Y{;|U}AEg78_7L7;`a4FOIG#3q6C9`$KZ)x?{}VTPo=#m0WnC z+#knfqJ=mm@2f7Tc$G3ybr;1D{Za6135inS0jY|SY+yfxqA`8-OK~(ZxuS5ZW8^tH z*~rrzvj9WS?~)BY{TGTI5yp<7pWm94f$5Pl3EV+b63^U?Ot#nrzJra&uxwAs*YewQ z<|+*IJlC%mObCy~GAZgQ8KpGT?*+UYwQ*9lvZQ!V^w?JKS~09FDIkkBtivX0p{K+a zL&?&pzBcGGKE~q5`?w;Gdp8X86~8wkR!S<;{*Tz-cuF6ql=(fkrTV?A&@nUNh4V&a z7Kptl#!6+_c;<@|m5}$ROUQc?*3DC)+dU<>$s)8ScjoR=PpR0;`NCJDhYu~FfT!dR zNl=Efb(K+dNxw=a!u{s0hz?EG7waCCNN911cke0r zBX6Qv@8UPda1+wl#r6gkj^7%KdUwns^wYPNM_bWt`YNHd-S$HzwB35p5=?~KC}lW` z>>EWpeipq+H0xxxOZVo(u&`?%gl%VneUP^8Y+wg;{{2b3*mmuJWHmf;+262ko`lI8 z=;|U=>7!_;{Y2C4mWV^8&ygyIbn2c7tSB&*V+L7YY5M*JF{k<%ycF9Wg_o855EIL5 z%Xx9_dm>M&AF=f=XH*G^F4556H@ui|`pJ-QzL!5|19*nLgIr={m}ANch>YG4*9_~_ z&iV8FIdVgQr{qTR3LiI@XUcvU^lGip ztH?pGuOru!CD#AE6<}axeFT#T1Z2T}AQ8VNH-}%-1gi*+?t*kiIqfM0imMyz|8vVeJ*y7>T>qnk5Dn7l0v9*|^>$W>mUtSHwpja?Y+ zw^HA@*v--22QO8s&+#Gr{deoFmBI{4t7|n6k`z$UmI?iW)B%hy%?ls@La^~w% zZfQLS-TeWsl-f?IFADJGu8HxV9#VO!@Qg? zp&$L$A0SL?Lf&XQ!~D+u)zcpyn#t`^g?Vc*{()Ac3N(88&HZK1E6Id7)4_}=R|Ok{5B$4JWvpNY3^9^ikUYs?I*gJJGz zn4_owYbR4%9HmLZyy2ba4yAYvS$`@ld6O`HpunDmC1t@L`4xjZr!pbQ`yY3r0K8Nq zoSy-wRxX&QQ#?yXb`FjzVe3@aOQ<;r?m6em&MBUf(;%@}Jpr&cN&1r{3DvC_)R|;l zTd=Y(=|;kw8J$x?cSR(Miwke5@P3(-qzcO#R(N{-3I|FpON`DXD?Ft|kT_+!Kc6;J zEApk?QDFJ8hIs|O+Ki#H3D~SFzyVgUJj3I#dhVbw7!bPfBkc{+YGsOamprANrSgOL zFJ3o8H9N{^saNJr>Yc2g-VR(zh8ste|DimDk!QJ?f|0snv)ZkrFHWZQk@P~4fM<9LBWcA9zN?1DU`*yUJQ9vO zpMSp0$a7MaZc7%Jn#tfWX|LjBw*iof&hwRFG6F#aHC(9*xPm60!j%FEvz1{=tK6p( zKAC@~WU?lT%XuTUxC{!v_q;!Jp4(Yfoyv~VipuEIo=)Y`Yv3q-l&7k^BlExoF@RB^ zeR3v1!BL$m$)u`mJMT=XQozxQDrLe1016A8d7)nEm&H>-WKZh+PSvUAgesHv4>$hf z(~10g%i}+uaSs#to7|W4zr?@Xvo&Ye%X|OyKQY$9jsLhM=XWpfP5UXQ#q!<-OX4GJ z#y|A2F*_&kefh^6w#47WUVYmgNoR~*Z?7Ktfw8qj-rItB-S2JAff++w;>7EImft%X zulstbV|Tpn-SN70aJS{!Jlhm3Rl(GH57eT~ProI_N-q+F?3idX<0_#8S%03!0~S_F zIik&Tc@-(ttzYLL$x4(rG`7DPk866egZj+!QM>myVcDA2XCA{e>~ekPUl!}xit97) z{qFa_zvX=2^8Ib;qwx_ov%jqxp0K~U`uX3=9^&0i?vlMmg`&a-m9@u`y+xcSVoP?+ zbQxOK$5VK)WTjMN_7F3j+FE80u@d6Y!uSVLZ?d2~!5(7tS1|(8RdtN`2OBj3XVsecqS3{>xTAvY&A*!8NKH30;-Qd;{K>r;X55@`7(%kasvyQ_1JQR3Oh5 zlk6DCKM5(2Pr5>bTuLQXXugbk!YJR6X79l#GkF%mezE`t;iXFiQ#Q;4?)*HTxkME2vdi9X-^?jh^)4Ys37& zei^`XEhRTO*OOla!l7C`G&fOX0aCf8=y4Vj5g<0-Zn)$R>}#olo93x8;?G?#a+mU2 ze9mgqJ=Z;x#)18sEj7%Q=f?03)^BNL^tRucs@$+xb(sD471l-H|@?eS815xVIAPU=Gy-4DPw-%1usf z@7piZlv%h~QJI8q?e1N2uof-m5HNT2s5Psut#TkbJ!tnMFV$o1+D?ah6MwbU6}5xL)~ zPxmbVUbW)}<-(M@!o^9g7r#pDk}29j$sc`$f5;FpH`eIYjWzl@T|}CPM{B*|k0Q5p zNM<}XpAGulO%*3w!zw~=M%q&c1Df8Wk#PjP8v>q!Um`wc7hzk8Ob?lVMn$(UI0P}J zxX?A|)w3vh>USczzcYmzN^Pvd#dT$f)CNW6m6sDxb}WL#2`c|#Pm$kOD(ptV1UMCj z4<;EUOzF=6zObauQ`!m18d6Zdl+49zP+_gN%5y_5iiXJApP@v|w{94LSv}x&qMH(S z1tCH*0?Ft?6S>{lQ{trsb$fIIe5F2wl(q2+3zy;)uMzS^CG1PCFVunPA4u;$;-*-e zz9YkAD(KL#THO3-Cv-rhS|QUMfp79>-5NR)xAzH+og$46B=`4BPSMIsCH{m5Bi}=OdgOy*RwRmGG9Z$)Hj*nj?rKYV^ zsuh(=+G3UV3`+WNdnK^EAnh6>wW@BNUQdarn*i0Hsj|VCj?+*HFk@Xu-=MFGO#nIDp!69VSI@ix&;9 zh>q7e!=usmyV)aLWVzIq3#Q0EAtC!;qR0DG&aj_oKC9~&>@ zDLJ1Ruuo(YdQp6;ZF_@kwCxZ7D`PA!N2ta!>9gWe8FAK>Kk`5|^AmX{%-^4a^6v?@ zf&M%v@b5PMx%8s`e%6@_!IjpAdsZaM#zX(mV3e~-GMV>Tv-GNxYnYR##9XfQDe)%S97X{=>YO4sXUxoV+gMer<#SgLl}3W|hsIzJRG2(YmgmN|6=M>bW@KFM8C zn9ej!6c&^_t{6Z=JBjgMxRbgMZ{$8j43cA$`oknCn|0Sj9!%d#*f!Z2~m zfnmPo!?eLl|5CZfDUL*}0U*P6TTmh2tWbKa80m_^>FWk?64m-$Dz&u&Eb&^!bnsjO3;IQwA%mC^>epDva{bnW!DPt7F8E?CQ9LatzqkTN?DTz|QOV-YihA=2 zfx^9d@x;(!T-e5H?vbFgq$pDE^fmViKy_q`59|$}xzN9jH=zIa9f{DNCTod!ix+9= zKR_Nu&g1)e1Nfu7<6;bT(FBG|G6feqEwY4Uzx0`_?INbYEPPI_l7@_fT*+1+5S|hn z&?-E2mWO%|$jl~lT^$=O{eUX1cqyML>=4|6{EE+EjBTrKWDY$g;@7XyJI+kWZ@(3S z0c^N|i{`!lAcE&Rbirpbh_syI!sm!slWzPyJ|)a%UEy;i9v4px9cGb~Jew4i*=!%r z75u>7|I?flJ_v^VurOX{dGvElHXr*$&GDw&_!e7XH_OtpvignZ!3tYWo&)PKYkMB5jY+mOmH=B*Ly|4QMr5*q}OkT7ANfI zLTS)HvqGGi6e|?PKR?qL2&V+BBgr~;5jFsDvI~vy*s6s73jfMBh&=#WHpps0&L)l& z4*62`1}Dh0U_hW*a(G=~1u{y?Ld&D+#B&oBX-!B%3D#9ge5-h;Zd+7|BN9sVj*d;_ zohlM|r%j4?x>VL3_bUD^)~!%ab2YRh5j}mym7F|lJhx(+l>TZwYw#WWy^meQE#(cw zed*7Mh&$mzsW;1W9uH{69pphKa1+pwe|K=O5hd~f{$0vHIp5T$AMjVdmAvMOj~J1X zYLDxoLf8lV0XdCl#B54+Uu%WKwuNI#pF z*L3+HCa>8*PLbCf_+CAE&8Z_*;J9r@@z&H(=Cg7#aV`v>-ZgqGWEzvd)j=4NwRR!Z z0jJ;MKJnQze`WpK#qTq=U8H|I9qdWezxCtyj_TjqNFBTNZ@cwxN&2_8f~AU5Jt^_c zSd$mLONy0Vaf47}mr~6Y5@ls|JWEq5Ddp(j)~(iLpwnAI2H0?8@|XJbxJQh?kbUEY z+oeWYgjFxz(#mtgW6%jqbha7g_CSC5!qjcPRX-22(l&?ygscG0+&VeHI)f%tM_thk!J#&S_4X5)1!?T|Ib`R9e5O(4zqp zTe|(Y0m#TeBkbR6o3Uz(VFnf$-g3_k)5(d_qLr`sjZ}_E zi-w1D>aZ0}MJgxu?6druC-cLF#$f&@%_FOr%8EZVnT6tI*)BxPw;To+nPo|t-%|)* z>nZ#tnkJcaeepvJJf>ltsF-d~174}53~dD8LyJ76uM5M1u_jV)ZQscJ5v5GepWi!c zf#-(%$TBRPHgH7vl7W~JURaSaEPVFBRz^PtGOCe*=w?McAq-^$c_*FTK<}dglq7T` z+EF1;44+AsIu%@y)$*jbQl*@nliAzYC`yLFoPbIkMX`uWUm?!H3AmCd0<$aLad9Qc z8@Tes+(cX%BWusf+IG6emFvip+&@`wr~1REBVqk6IMHWeWWx}PvT4xgEe~}sw9d$| zij-w)LB2JpUB99uXXaZ)N9Ok%)NW>GWCpV_C6C*^J;j%*iBVRdo{~%Chgm7{-L@E( zR|KU$M&^*{3HO&z-V^**hhTO9Te&0sW>p-2Me8A^X$ZA{h#t))-8vMa;oeAbJ-p)Snfu7Pw$xoLvy!kysZLECNWzP-wkm}y8F1GLn%w{3R zb%hL0bymjS*YIu)6)>0df13t}O3Jfl1BxvnuQmI~d~fZ{;|jc$v+~8jSH)9hly5|j zl@7+{U+kaPPWdR>CBgoA0HY9y+!sB3eu4LmnJ*e9hL=@X*LjN1W9kJe?Zw!yxSRzg z=_&(!sk|3>S9@-_1p$Rh%yTk`m8&-|m~G&;l-Ryu4K%C~eDfN3e1tZM>qyB;fuwb1 zw!fdpQ~E4FtScGTjEqp5d}~I#epeppx#8amOd9vYyysh!6^Q)iDxz$==rJmKu$qqe zc$xHs?|Igc9^Q)3an=yPRW|de0&m$YI)Zb4fi0m@c?DG7FfU-xP$L$+vp_t-s%# zp~b3W=Ib>FvGmDsPfCF!^<4We0bF_t!1ocPUIi+)a22!0aHJZGbvjn;gs$~@D?FwD zBMK6LZ@zEjZt+|vr&82;t=X(n^=5TRYN~J5FGIs=Ur{L=-Za=bTZ%@s5Ja{DAt z=`uP@h||x>m}1{mEu?JL+{isDTQ!>#^}Lz?f>X~XwCA0T%EG0RTS%&MvJxLBiA<~N z6a7>yWNLu=qF32PQf!VFYEAjE!K;8_o#c zA{*BEs?~O@*-_a70*jdSO{6VVkhdR^%&=4D*acixAaGw`zXZ_1CGhDS7Vq+4cR#bi zSyqX8OhT`JY_CV}D_Qs)vLzpL;OW76*1Jtv9mWVCb=EM@dU$7^**qaf!+P-S!Lt|7UOfBq>`Oa?XlIb9 z37^tup@2Dpg*qKq5m1P2crUyAO3p>#wuDjNtQM8IudjGWCat9hgrU`Yuc!1g@xUs6 z>5K%Sbz_hS-sx)yg)SNj^CdoRz442CiW<4++A~=?$@EYO;djmWBU_m|Z5m>{u37PL zpYNR@Q}@2Y66vD99ufQcj`OvIuRvqN9H0SvulSNa|2kD*lXdKflhl!3O6l?&Uvq1} z%_(0XwZ9N;MQCrcQqKQt$s)96pGr9ZkSK?UzmSM5YLT!$hPNuzDSEgnkdP*LI}*Ho z#i)7HDE)S9TcLyjpeKEVZmj|m;16W_d~zAUK4GMay}EH4XOS{!UZd${fQ9m z5r9V#?GQ#YUqG~{L$o(>hX@T@>9pV6J;h~dp}`edPbb47L7fo1#?&49bQ}jWNf)@$GsuQY& zQ4-`T2h%{|oY@+Mk;$Tx{bHm-;miFz$Rnkk6Y2n71yQHGq)wf2Id>Cx`*sO_>aZgEwi!B=)&}TT+Wr_5BTi+>3__8PT82XK)m7?F` z0VMPrPb)>ghi3DHeh+o%_t0MahJFu)elK(AH~8YSx(cb>sE|ema=Jsr*97-w_5^BY zR4J$lw}Lqu_CyHLhh)@3w39JrqfxxAuc!DN$Zd3y#+W`7)flr*1*TeS-}JJ=nD4}j zI40A0a=5~nlZI-Hkx~xEwBuDUX3#RhnBSb9g86@j z-q=hsP}>=L^RnQF!kEc~Srd%uTCOnWS}}o+(VGGxG*;H@g&Jd|l!GyU<5e)G`uV2m zO~70kz!Z=e|6F4x%E;sGUuZ?P*!LC2LN&3tT4on^S%@2WZ{$>K?KLV#o&7&RS65$zX-plxpmo-Au42%j|6jE))(qk=Tlea!B^wNGmGsfzI;;=Xs3tJluJ9 z<=Nc%e5AJAP{uQ2(JSNVs1^=NNi~jHbYLEb?5U~xIyi}*!sP<1c%BNswZT4{48kOS z0GcXYrW#xksrmEv@P(&2<$RvPX;O~oX{uaK<0HGYs~*{S=Q-ASj^U~7Rg?GyZ4bT) z4@q%L$J;%_m-|D&+<KDe-9Z2{oZ;;k;^#$S|8r9 z6zOw?=i?A3!W({C9RhKYr-5YH|J+`tfmNe`Wo+kM-Un{kZGz)B~9gJB7$n z1F-|rq(tFhujimDN%w{9P0CKhBU}UAeY@ik?v6*ebMXid0ev7F10uy7v}5*%_3l%8 zJvuR2KIjXFGUZOC&sZ2}N`A-j@ZVmld4_PGs|lwh9LUj2NU_rYd5sJ zhbQtNkCbxu{D1Q*d;Z$THN!gxI4S!rp^aPhDgFX!#A-i5EEipcxriPJo*`_hj$c8W zg(^cC!elh8h|mc@g7(d^2b20XQ6=HT$ndVjVl&GFW>vskRVT4ERy%dM`BfMh)QHIW z`?a6sqiIh;rBqj-`$u~R4LB)9Qj+b>8slg4nMlQ$Dt`9i%iV|7hqowoPUonGfWS3A#Y z=UK(GfjnmPsVZ#cHlMX`z?uLf{xo^p}@S^`=LV&^@fkpI?; z1ycnPMIL!te|}k6Yfs=o9$o5HBi#QZ!F9WoT84%@t@DS|R{N|IeEP=hp=R%OL&F8@ zP|ywVS<^DOznXA`jE|l*;|RYS7~{L^8P5hvJ5n z959PA{obv??xHWVu3~(Ho$;MjD=HtBd>a_#LAFkKuW|Y3jE!VHnUmuF zSe~~guPibTwTaN3F^|PaQ8t+*Y4jud_z{O^{qqO*q`%2|Z-StgI`4Jdrk0yswpbxt zckz{oA>8L)g>aYk(FiA{8awZ`b82hZd2gJ8PD|p?FM^aeect=*(HOuVC8GfR(}x;4 z@1fL>;j_ShY-A+awf&F$)=SWkw!-Z#b0C0$+Q+{e;q;J7-9zsW4eLuus!#1VYz+2` zvwwkh#kT{O-iO(Iyb33*`K6MT&%bl9SY9|kNJvF)Ju=qR##E{62w`l&gaa?ObNEBD1KQb zRN{81O$d|-OUQwWcSVQCYzH0>)8E*9#`Z@iK32wMvd9?Ej>#XcX}??k0D*5Ne#kcv zh+Qs!_=B*c&gs156A;2aA1eQQmp^<)A6qJan4x?YwYy9+@k9Q+XM+48cAkcr?dz1^ zL41B}&)*E6D?%3$y;jG9EkjVP!X!)RTEBN==zK$B)YerxiC1NZ&QqZ^?tv)et*9rD zCLZlx9rI7@++YlVClQ%k%w3Ny*S*TMKy*a1(G1f&ERv_hkpfp zo+lh;5WeOKX1UG&6TOaD}?`7F}|NvJK4vQ8oJmB&rr8ihb|3WfgPQvWCJY`nVa)2^O2Ey zVy6zC(rYQfl=!?WLK`C$WKie5r0B%NgAR_1B%KG$EpkKiw-Rx6e)MFT$IDVT7QBVH z4w=E5RD*KKb-;WtfZ5uK4+@fhFMg>3^CyAHnW{0pzq>0Xjg=BTjtqfriSR2egBgz= znD-_kQ^KtK%r_H&TY4WK3-i8$MBO$aj`XFO)Q^EAjAo*Um5l0qpx`T>Md14u%wvh0 z?p>#^`EC)+^J6fdlK^w9TpgI76v~&Fqtlb&9Xic{_1Dp{2{0^+$`LLOLsTrl@I|TM zc*33IA3nCsu3aQ+V{94niKR%44oW`HX?b&wP@3<72L>s?qg1?ST_UiFWIOx-oETE( zf2WDgEw(=EpI=0NiYSCCPIjtj(fW8f?Z3D_Fx~q9Xnh>O#Qf^(BP8-K2OqY(K7eo1 z`cS5Fa^J-7bbYM;#}2QL@#n|kQKHtzrT6RgVWl>`KD7LfcpPsl=S7iY+1LD&#tF@V z12+osuYSG<*}(>Tl1^12dY0Mmk(xgb_x^CmRY7_RLyo?A4Ep9e`$<)>#y-|9sPyZ1 zliG;XZbOO|fUR|&?>Wymc-G@z8mw<;WJ)^wp z9A|fRK3Vqn-#EaO0Q%|YVyB5e2l4hcDJKJoFBFrIc~?#wriC*#_XxFE&SgvY zZj?9dzwY8`r9UY~(lK${w8La%S#{lbkVi_zDl=DN&HEJ9@4Q zJ~pD^z5cHX-UX*5!h4TH6})fC*6@~6jlugUr?!^C`)UQ8mcV<3;6Rh`PN&C?YO9)z zBHm0}@H>U~elik;-^(^=cwg}s1@E`Tf;xuZw|7_Y?%GwuTS_$s@8`j^Wb>is@Y|zi zttIe2Q|fIJ-nW6w4!qALqrm&t+kdCDT)_pnZKEJ)SfzjOd+Ofq+gSkpfAf9c|9L*1hxEO5 zYdLl5)TyeomBKemHHL4GS=-Uk_fkR5(cn8w8fX&V-9gMIzIP%c@tt%3|5ALP%bp0n zzx`g}`>ziQzJKx9@%=g(iQe&o&I;cw)fm3N;#i@!qr>-^GHOSI?^{@JllXoO#BAbw zE;16|uikqU_*OFV%b-4-0!`Rvt>;EMgS&AFN%2cqjXZjDcTYH{eNCT1EK%p<(hcQf zx00)<6}I*yPtVn+8;rIB2TcBhYIGg&6M{!tjbkBoaL}?4}3#jNY;Qcr_d>g=HQa?tSoSOYxql z?fFcrhOG~U{kXn_aU=tmrMsdZRsr(^>VvbXCXE zrrFvmu0H5{K60n@F|a!3ANUri3l14#ogcjYS2&~>Z9zYwAgJ61P39qEnUJ5e24;$D zk{~TYtf$Z&^o=p2eC|hI5lX-lxC6Qk>JV{zC>q>ykCYpPE)-$VKl@smXE zye~#ILy?n7cl=eTrlGzc`V6>b?8Z3s8AHqq#9H-`ETRX$a3hspL6@eq)B2!nxXQ|n zP=Prich*2mP004o2qi1Q@H|g13Erczt8g^x(|0 zWN&BWfq)WqIbwDBsv~`b9%>DQ6~#y2w(!ruM=AV{TwQ;)q168(CV#v=b&J=Bipc0! z1QxR!GZEvx$@u0T&>oNsA=BVo5JCmD_b#P|gG*lsra5wXV=G?I7h;TKP+X<9E?m4h znfLE8b+==Dh!cKYxG1n!rGpw~_u$=)8*q2yh-~j^*1e4j$j=bH*@h4M#eXBReV+^q zW?bMZj;2g+>k5wJO+)_uj{8Fqb?4u1$7PjM9Q|5_S~+rSPi-O@!wo6UlMoXx=772XctHXKePleKJWS{j27mk3#alUpwoTwTFGtgpUrt^8w_;kqDrXu1Pu4GnY%yATb7 zV|h7B@!mNXW`~>PT*zv`N-i%ygvgjuR`-mo;w6--AHsSDtw31<&3mu2=$-Z;;l%(s zPJa#HyAGc%N<&UG^R2GCeju7#k|6#_u+y$h8XFqF$gP$9QG|~#z6VL z&3H;DXGiU}T754>KBOS{Z$CX2oubauV__S0$oOlAN5NIA*l;(>xZOHjD1w8dF8@vh zq%PPsy%VXmR@(yu+x3xF`60vznpoxOy2_)sMGT&G!Y@!W<2V#-^!@4z4u&gxwf6*C z+_92#F)QSX(>+RAR_jHqiWHLinL??^a$@}~a0))&-4!DGTHn7Snd-@#KCC)*o%9wV zOA$PyJ41-Dg<W$Hb{53QyU~z zDsE5K2etg4Jz1!}JsIr*BPpK1L7P1p;Np6u$NZe+|6REaWx!eF+pTG8;MBo zoQ>;)Sd|O5`To_wxU2$S5{=8|fL(H`?_C_*hE*XGllCk$H}8$o+nB=9qy7i|iJAjQ zMS!ntPy~1ddH@2f8fYg#|1m;HB)s3Z`>`3Phr&Wjf)oX7S{ziWQ~*V&6c14gaTd-11y!ucP- z0=-w$JUVs&I;Fj!_vJPUy{c4vevd&d|2MxI%x@kB|I6$}w_scnr?h1++8y)Pl7Ao* z$t$PCoYMc(^fiRkBN|Fk`_ zA5_#heXRj8neX^O~YB+C%QfuI?z}t8PKPppE|t|FIK${D=L=TC#6P6JIrE z?{-B0v7LSlLxTUn8A7I6N1|vAlRWO%~5hT4|lpU z3glgI^iQV{@?1Q7^y_gCmyS^Os0Tt$GdnIrQ|D{g2jY)XSTF6oS1jTWIiM0^n zLAK!O`3oHm5d$nW=5OdpkPmry2jmY8eGPBN9gt9>#qWU3KruIhd=~t3<`ktrn>xqB z{xK2;YLl_*R>6Mvd^`5Hr3m(KiVhI$v((UF?=_Tczy=Mb*v4^40*DX|4@wU+Iv(2z z{1bXCiCSvx#-QTD90Y{kJUrOTh?hn{mMY^5ehsD~Jl;NcPcT6q_TiShH}HPt4=K@A z2;kSk+e_Q?xlP{c(q}=uGQ^aw+_~2kKqxZafucoM`MzZ+I>&q>GAaD4dy6RQy6JT_HRj#z(yM{fv#Gh5XODiX5w-S zZ=RATBXC>{epD0}CZ(LKgh_r7Au9EKiZzAmy*;2;TYR1HWPDFds)BA0Zi`bPS%MO! z)_4pwYc7FPk(o>2qdt;xDgM=8|HgCu6Q@9s1aEP1F2Z<=FBQbRQGG^c@m5?caxZbi zn%;gc9al^~D(R^RJcv)5%}-Crr)3Dnlf|5j@EUMFRir=3u_-J*nC|fZU9!$8)h5lj z0(!j)tIn1*&nBctFJze^d8S(i<-c^=ZNJM%_R|1njf-8Z9_& z0vqWnx&_Fr2sdYGEAni$vm70OLz}0<9puH85dR^7-w(#If8K+;Krcx0j@E)5H`L}L zOPk}?hks3;7FgK9mW0P}I9l8;ro!8)rDo?>}~Y6mg#LsplqF z;Ep`=ZpatW%fhvT2eTGbG8=+_U@ZTOdSE&Hlc`|gA9U4Cb?!Ex9pIH!J6|ApKyoQ7 zN_OfuWIIp0A_4CnFrg>{3| zL1P$-EaS;pYEnLe-+CDLof4TTZYDm^Zk_M!$W#VIh4vhp`flqu+G-RVGV+5=2F z(J?OM=!qDv)y@#`Nb?2n2oUq4I=%#aWp2}89@mc$Nb3(3BeF#Xf=0p){oYama2+T7`GGmQ{TZO?!(fQooaS~`J?!fljjErvR z2bf#A(P0J$N95d6i?3~@WBkpm^M2NetY0#{XnaD z{yFup-Wa%hMjRz6++PGd%On)IO?U9L1>4_m?y!2yrSXyJkf;{<^MEG?L`1Va-d znAGI?%8cgtgd_}$XPLVoi~#avi9y`%fOyl0aEs-_UGNPte|nFe=Owv%en^v*%0tb_ zh*6T38q18QR$_o?19CD-%Pm&w{^B9})vq0N72l~LJ}wqmjb#e;%d_Fco7c0dFy->x zJzo@mhd}0)uG2<|T+&LR{=C61C$p>Gdw#2@3}baR^g zD3l+c7`{^@`L?&tk#4rP#-`B4tO---_3Jr>xV*>r3-#wymV^|f3kRIVm7~)od9jJ* z(nsgy!uiUFn>srF{O5s5)y^8ADhaE74O$SF#jsIPhn-e&|0LeN&@o&it9{XXxk+5= zhaxu@=GD0=Ns%#@z8Tf#S=Bx))rQP!G1IJSue7QyLbdm(YJbEJs~urhI}O!h%%48f zHs<%sH%2AMqTqO<#I>lhnno(d5L42~$6aisD=gO6V6na?4{N?N<(gbv?QSmFQR6F+ znm#6EF4bOQ~jM$jT1)r<6K(H^G zl&f;#CKxS*R~>e)F8u*omoN-Xvt`)1`rXK+zH#@8&#aK2zgwD~J>LeGMH1n$jE?9Z?MCYxAC zi5J@;biD0aA?-!@Aq_4-A+ELI?kP#(6Wh?p@||T!TkOz+vyuZ5$f#3y#LYY)Q!2;HJb{FUln}0{iZd~F3ynVV_ z@HTRd!rNTw#3AFA9N=whYc$~3fOy&)Oqw}R3$Ela82|bT9+diE%^jR=o`m*#@R_^E z98G_Wc^DiVVSvc$p1qF8pK9~?vv#jQT2+bp!} z_Y*K0#)X(1C8sw};sJ8eB}7teYqyevVw^{6;huXrNyHNz@F)ti zDq0Wgk1-F|tj@@W55zC*zq0uem{;s75J5jspHZl+gjY5UVHQt(BGgpJP>4UETwQzDFKF>x>uJJ-u z4+5Q>S#HQ9aQ~BjjCI=ArEVOVG08oFy+-9v6tKL;2DRezlN|mVxIS3ct3sAqe;FZf zPecaA9q`2=$okX=+M?saIp0!s0aDB!z=V)|wd;GVSmks0XRsMvjl2Gsj0p~cu&d({ z=K(r^^fZn1t&KJ=pmetVAEZ#&KX_QY(Euk5!c z+VtawckF({q_!HehT^%-)}p)-^P`03WbyL@hH};mw*$uq7#dEm^}18e0c}d&q|F> zsO@k(bV%wS;~(!FuNvU;)s3Ji23pqK#y~065kAOcEN(oL>1~{JjS@GF!@Ld;!=K{) z88cfVFxFGwH}<#wJ;RJrxQnwdsl)mk=apMY6+x z58A79F2mC!c)}@kk#K-Rc)_8nR2G#jc(I)y>a8!^CZpB3{A5x1O=LF(Jx<-1U8p;A z)mnp1PGRy|b7Q^3+~eEh3T}g*0l9QYLF(T3LC)0n2M?TWx0aO!q zVq+x|6_CsUk*Iv_il5lwb5dvQhFw35AcftGI}U@UBr0>1lo6X(C1n)WurQgR;S;5d zbHJ-bqA~;nOI)y7uIug4!K0W{e*%Dwge_02jw+C~b9_0g6I60@W2^Fxmu4cfX9)<#)TOMH0; zGed^|FR1Nstmti^^$(%#*f`pjpkF51x?sp+d$~9xa+GX9c8eL^a}^f#wMaPniPQ&8 zSfoJi*PZWRW75a6-wxl$jljVl>7zN5+MCV10#upZJO?O_bu%t2j*7pU8K~$OI0#T) zJa2UwDzKl_bvQWPb!CoXO(m1XkpSYu+mK}ODE|byA7DSz@skhoeO@z@MwT5}`n56kijSg(te-l!`u?ywC_BnHnLsu}B zoCDmlFYD=rXKO#z?=l?hGpx5>cyqLd(hv7~K?SB&lk>uL3R`x@)UwOIpFy=~*jS2R z8#(xkkuUr;|1c;L>LJ7SwIj3kbvKdV8xXlgBd)F@Z202c8fht6@krf8xuLOo#nvHg z9VYMylc%SFFnI4}iSnU({JjO?vhjDw$4iY}m)kIO54wi7<{Dp0s)?ZhQo|<#bV|?P zkF*Lu$pj8gqiFdBAM9u;MO`Qv=ByB)V}~C9JXW;2e!6d3n5wAA1(EY2{fPr>$z`x6 zbIA=8s7RN{36bL>of2yGof+{(QqAkx;=|y*!km$jixaYYwfL#aJNU5ps|G2=@h6mM z5#9^TiH8?=Oy(1dEcV{$uHGWUr9gRMZ|G(h9?=Ok|IrZg1 zxk4@{ral8gKvV$kdfr$#R=9W#cML% zffuEjYJV;&!I0q0;LnafX2l;f&Btng9-g>jHyzX&laFm1x4pg;Q+b=Q4 zxDsD*x|5z@7qu~-0oy1Bs~M;=2+9JRAV46T#_?~ln7w~y-^`BG`3Yt+_LBNacEk7= z`iqvO@SB(7S?}{e9Wc#1A59>KGg*y;F_zi&wD0J|YwFQDf@HuKIhHoQXnf9`6ny^< zU4jD!C(zgF^*0~G?zGx?$^3ma5+Q@(!&k%H=?~<`3 z+j{!*dE2u9vuMkI1@SRh8M>Bkb`AP;vlb+_-jqOm?%;Bvia7C6M4QXT>Qh~x&27(v z(ZL;%H_Flw$&z<7S5J&U%#;0Yq*x z?u~ymiRi#TgvzAraU%Mpf>bHs#y}Og8c@&u03Xc>_1p&5fH4{WOX8T2V_3tH#q5y( za%+`HJsb%;^*qX)fvTf}!eN8r*YO|$+}c@f-1&wgn_2Qpa#^`M5i}q3+R0@$VFjX2 z9W7$)2J}K{qARe$72thF=*X9yVvLH+@x{%@L+Il{6*W*ILDpN8mQ=hq%`yK>^o}v@ zde%7J&{FC2*3}g(Y6D%FyA6=zO-^O;GjJqhaVuwf@xB(0`Mc33O2IF*@ls_Fkku>I z(lLLfltTPN1`y<81Ii*>LbDx{^gQ^Ll95tis0AnFr55Q>aRgKIh6ZonoC-ZV=G#g# zJV(hWfDRqMqokO!XeFc20{093>aVeaLj9bge-S9(`Ok zJas>ZbIX>!Y!UWE?%>d5SMk17N3llS=!%2uBKHi>KoSm>?w4h=yQfs4D(gVV& z*kQ6QUJkonJ~)o#64S>o3U9(DR^ujT4!+1HXE|QWjT`W4?QE8XS1}inlZT^sp*}0i ztuH4c#b30r|E$iwj!_6Xwizuzh9*7>aord6rP93j^c8PkPr-;Djp=aQ*q3 z@OKUHI6T-J7GmDbd)>)vp&jg#p%r}OSU{&|ck<`1;OO<~!;lK)=ckTh?s$gsn&9B* zq=Q<|&)vyC1ZpddlxRpR-rT}_oG3*B%-LEXpRLMm=TM2_KH&W@@?ucP{1D`C9Wb3b zz~pFj3KZO$)`*{f#yahXYnbUPuYCREoX4lWeCn$ON2d&w1-@Xv z@2N2D(Qqk@tKuMVg?|@#y4JXYHyzXhhy?XRv!dYi@K(+WHSw8VMtZCj{=!9*Z$l=s59BQi4!0}FQoiK>bp!j2 z;10jWM#wUUUaVNAqhtc`Eo}2#Bw4vj{vsLGF>sc3zj2~{R14&{_;L6;br`NOe!j@$ z#S5g;Z}DnY>g{ixD^F?E-s%lxjn#L8brQ#!@^MzFPTjsUOd|5Zcq{D#alumo1P0OY zd){j98EiWnz%bXiOv;ZWd3)c(To>ANu{E4?;#GK88uuY_Xs~nD&|pSo_!F$2(8tT^ zI!lmw8Ep6<28}xWONh+-IF>}_ZzIh-($n{jav~mxbG@?^Y`%jH{xs3gkTDCh?@mPpN}w6BytF#C?oz;O5< zMamS0YzjYtCz$tPXMlz9yPafS3x=DTLfE4fe}HI?6U%8I2u3c3I6oL$(3g63k4D|T zr{2v%ZN^}fhaFM~*Fj++^^|LfpR5IVqf>gl&bR^#1U5a*oe^WQ-isoaG2$&Glekfa z8ttTfh!{2*>2B8RM7@JhFHiz)pBCWN7Af`W1sV^~m)1O~IAEh=4@qt8^`Iu23jR8j z<6c$gEEh{;SlZ6vCp7lW5E){eMt**-5r2>Pc-><*gi|NSE43ad9IsD+uirCXo6%*A zSJKBvH(s9tFQVCPYP|YjK&wfB^_;@`acs@g9Hz!Af3P)Ph0it^uX)>>kXL;oUTmn+X%iW21a6KfuOj8( zjN7=p>ghuRjx4W=qA!qFUB$frd3n_bPbztpOGw|85I|qF%6J7|Z1Sqycm`9{P^vPN zQ_2z-HT;>In%^TL>PB)fB@Qh)j(VT1-z6UFAJ-%ckEq7ek|piz^cbP}nvhqWswVO8 z0_FkMZUS>VT2=C@=Fcd>!=b0uZ=L*705PB*q`!bYBnTk(5Ona3X9tlE>+$y{>2FL6 z)w=}x8~@=^(4P&7=1 zh+p;zHXiksEVZwY?P8<*iec7TvQe#5<7==^T_XDmu>qHTg(%2^6JwhS^5?@YQl-F1 zy^5pNSfrj&n~I;&;iKME2w-~J9`U=Av1@XX`UmFgQ7=+Y$17~ONIgjixkxR$kV9eL zROIp#2InsqSc}x7e?t^7+kScs?oW%~XEks8UZR#aYvCSk%#O5PX3N4T<}5J|ZaD$c zfYcn=NWo3V@kYzyeQDEggRIBtc*C2D(A9O`X2`lf}rF>IS3 zHLjc0nR^m!>_VR8L(pI|D>f^zL7->V+duGxPUA|Ev_t>-h@3KqJ*M=Zp94M`PmMm% zEGe8%*;}yBSd}FgSulyRP~Qp;gpv0(PoXQPA^}HursuCWPIw5@H`sAiC6U(V7%4Mn zF1|CH;Sm!<&)h_dk`_fgkIqf@jj!`FTe9y;yPe`(k>SPd6tBd)Wq(!gyzwAMJtqGX zeOb7V5&@PPx8kGOfOjeO@3RTfWF*EL^F0`DkL;$(*`)`$ja{4!XL7m4$BJg>C|QE^ zdgBDi@Ngcj%&}@N3floli47FI`^MDJ_LT#*%GVj7uF?WyYU&S^actNcr3*zQ(eYmo z$tW$yNKi}tjX6p$?ZYVP5J)j#8-*W&J`CBDD!)%gP7N6kXvUl`8yT{x56X}^LNa7e zNSXMMwW>_VNY)>+(EyA?=I~#O9-3Hn_!*Bjj!j3&8XQHievb#H#Tw{oyiK1^;Hr35-7?++`Y8j8+w4U zQ*%I^-QSg-9+Vp6JEdP zAk`wwCoRJK5Q*`Ie2;{0k(QAC@A2%8lDkAlrfB)0gd(_-2;ah_Ad8+884HvWlrbvB z$mmq1nP`m^_#Ai8^V~siUaAf$D6|mn;Po}B#rvRr7=h~i@4;ovQL>+d8+a`pgA4sb z5`J(e5#)?}(QNWZ!ZJ4uKqn?mEcX=rgnsb@6bsCWjRDI!N?t-GyoiVD2#95W+slu3 zb;SH%(IN!6DbUIsFa_tmDL9{btR*yum=9jy5Sq__k2qRkiKE?J;lg@)5Gp}(F&hH5TtA^qil)(HJ|zRym7 zt69dRzZsvz=x_PkLVqEtF;0J1G)jLzoNv-!CyV~FZDi3aGFeFI@$=&(wAmt|021SQ zDOiCL^Ah-GZdwr#w;n@JXqCpd)E6Y9C(r_f%o>fg*^Gw4ied1#d80nzMvkhUD-G zpf=fWnEWQZla6VVzyrd4FwI5$hgJS~i;&^nFH1DUrM@xYO`L9IhwJ;tY5A*2hDhC} z3ZZ>$QTEHoVk?{#{u>I5SkS7_QF6D`XHq;wozLUFv>w@CgL;JQDc>B14B@}<&vl@u z@O(TS0pwoDA|Ri1WRMSnjuSxML87HNH4gHZNQzBTfV>y)TrQhjFP}lBG5B>t{h_K= zwo^?YnwQB5)Yqc4weB>5=)v`&E>QK`p{7~99qJ45-o*ZFPk{|y?nuI&Redh~B+Jf^ zrtU3~S~rMJZHUvGWrU>ICZhtsVMfjflLH@iaE6EPMi%Mje3UvuH!nw)c$a+bB4ZLp z#ydFPKkwnjqmuw?#XFFJ#crM3ALC$OLQ#*4Zj(gCMWKZi6{E2piIG;6I9G|cA19cR z@)c$m zFxR71B@e5+SIHxOGJm(qFXa)v>OuN_?|SlxZ3G=h-iPuUkw?ti-WLh? zI^@>-tTsrEYhm6cR(dcYUUWaws6r^6IY6sCBwg)ewy_29v3szJN+(2jn6BZ zut~>`!52^?(L=Bn$1|AJxGRXFI(nmfGEG8;^@3nkzn=&&N>3$&drXiTm)|~j4=c7~ z!0f%*)dm)0lYkM6L|ou5pn_8R|9(G*xR;s#-CYnLwc2= zXbPB5S-VNEZ=+R3uY>=p==FT__Z;~pz25%ML`ZwHj9q?qE-M6r!>9jodR_Rl>T7~D zck$~;JQDYO2H-SFuj98K1--tKFZ9}hdH?hDI!9OZdO*>Hjb10=i;Z4Ck7qFH^+Fas zEWK{-(HOn%zx#L6>py@Ii$utUKm{{DNTh-@m~8UbbC?}*wRfm7?C-3#^bPgtbp><& zPI^7X222K8RrLD6U5Z}sGJhAyFX{Ee_Y)y4IkO(UE+pun*Mid;rPm5@DBKz12~@iR zAG%;^hTA{_D>X7VJ#EuZs*j*kZWWgO<9ImQBVY<`A02O`rikSuC4AU2+AJTt;Gof3 z&uDF$J?=4Poq#MXsB$T*$G@SRW%byg#IK#}muNZN>v&@zg;L(@^o*23eQ;)A)x7tU zuwyO^jD_LTT?`EneGicVX8j2=nN9G$i$w*H#y^KS6l|d&#HLAAdze(gqN+75s=R5q zJS4Ssn%>}~tSk`vmW;bGOHxAXqm@w5{pd7*dol#%- z4G7c{ha6USdntBS69RU381ii*ht6mn-pq%D!RY9iFNtJBMJXKwvmY~;3aj7__QHTn z#^&vgtU&&37Mg~Z?Wgvn{Fd(0 z3$a|$sLkOo#gk=5>3;|>;hV%zvrptsf#$>cacGiEXjZMVL-Xn!?zYS(JC0UBy&%O* zpw44Z8rx-NZc4&GMn$ZfHkM9uNl+TOfCfkJO=}J3pmfS8Qb%6q7wH=HXI}!0s zjMUs77H%ktR3l~JDK=8Pu`Rq7mc9A!wV7)zX@R?_BMje*ATdDMsS3!}HXz%ZKqe;u zx%)N&^5LfhSMN%GbL3_}il8M;0r|x#7LcVeARn>=Nl9q9tC%16d327TY>v>lBJSf% zXl8`$D4VRH$xzT-Wrt?ysNdq0R-c?aF=*hwVWR9xJ2ZbLH1{e!a$5z>4xuUq&8a3d zTi&%pv*A|3%^gn)Zf>?iv%TYC2JqeP7H+!4paFpK0X&n?q!AjLxkByyaOB{y+_ zqg%*0Bw52<@+J2VRvd#Wz9i~QPDN%ctP=b&e2_h1tsP>umRYqX+iP85uXS3(TK}D6 ztMzHC)_0JqVBKuh`aF_iu;$ro?bNW=JM6WNv}&Cit2ImMBFl|2_F6wD@3$~e$(KY7 zJ&^}h{HCC{kjtIDzVD!%~tiFKdxck6Y(r>#moZW@I1KO!nrlmwbI(d z;l@GuKj7eI95@;H;9ehY6w9x`a^x!hC%h(JRGT>w7~?e78txLX&E0Rffl=7d3`n9S zDx$1CzKmGu-{tkEV4-u2Sm^wO6lM8K_cUc&b3aO>T=wuxPF(z>wiX-!9Lf{7M3~mw)iST8+q;r2EJuyQfJLv%KgA+kE6k0 zo6_5v-(=t$HelP?6azoLtHq?aZm3n}Gdx*S+5asu&%0Lv%@?x-nzwI_Lvw}+&EHqp zp?S(D&HwbvS7Lf@7=No!l3L<}o`oe%da6`R0^$7>iVye$5URPthi&QoFCy{hn z;|uW`y?w0Ovg_5h&|cdms0{}oi9v7!D^xxJ)G@)}e}bfN0%AegPac_nav|$!PN8N-?!kPmV5~F_iS7(0slUU`z|Wsds2~_qWt^r z6ecVuO`H^`|Fu(8r;77b~1^6N<3480STyw#}^78MSDKfzC{vt#~M;5GT7 zLcK!^=y~De)FKs%Tsk|oNXJ7uA2RTe!G}ydWb&Z{9y;(L3lEsaqg!;wLuV*>TV%tp zFPjS97s4%2HG0ppWMaqG0zm1Qa$Mxr)Uv^dckBllU8`duEm+h78f>d;mj9wsV0RJ) zHskJ9rZb)^oEHzkd2s>OX;EUgFqPOXVoK~5F(r13m=YVXqZd?Sw}>gRTf~&uEn-US z76a+KC`#;bH#DKG*o!XW-<`@*BpZ)faQa^5znEh4U(A|ux%e-d2QG(yHKzsj1@)~> z%sLwLfpio{P$01$F2!LgZnfa;DKuYrIKd_I!BV(7K1i3y(o(oOmeM8i!E&b2C9<@f zX>^Hvu$F0bi7c&U8eJkEq}9QLOxg*ngHpIeVu($bNV6X?&&c`UloF{6CO8kkGg1-r z=wpuP83_i<9>aveQ9^!(V0a5*yD%?YMP^|3>A%O#vwok%+f!&*d3*kWKKU}7$yLrk z=bZ4X5v+v40oAn22)~8Cg?az4XrK{TrBTP#`TNaobZEIiQ401 zCF;3;y^b%ICsd#C6ci8`;3=hCzaFrC9~B;~zQ;Va&XES_u?OP}wUgIbM*0WQ&STP`lX+u3?K&{1L47jTih41Z$F> zqhuDvuUwQnAw#TD$_m0&C>zVS$jY~)lPw=@7Q&C%^F3tctG4GG$b2*G`JS`#Ew$$x z&wMoIiM9Kdm2Z|kAFak@9f;-o(8@Q$o^KxW9l)PhzOSr&J?!}&V!nT=d=?T)s_?FM zCzv$+cvyR$4aeH%-);4(BGtyKT7;K|^Y1}>`Tq6FQ{NRUuQghJoW1-3HN>&5&}=VO zKE2WMo$Te`s#l)6t62FOyflP=L&tdk#b4BH+K zW4%Y|Kl;|XScMH;Jt~etO?35mEt7O;cl9`rpKu6#q78?VE7&VHHSkBYkJrU!L*{rj z=0AEr@b!Dft4xho=)R*HuLs&6VZ44tpRDmR>%JOwTjMnr<&S#2q`aOsf%ZenjH$`- z$|7=)cD!20D{MGk>4cEum4*qHI9@>#1;*>=*4B6>-+0*Z`Ww7*O{1iy=GPYB>-UUT zNR3zKy+=1*TY;Cux>7mOU2D9|x?jB~K3-1?UOl0s^3Rs?dfE%L^f|(KO>O%-#_Q5} zg$>7RJR#(GjlnER9Ivlr1UDIlt*r67Xj+5uYSQ0w3(bJ)Ta+2V%@HkhNI6Z~H@?1# z7CJ|WPv-!7VBa{MdH?hFjbB^?#Sdg|myo`Lc7NYWe6iU#_KjySEp(Qt49YNX6ZF8f z*v1&QUe98Q_F|%XgE*2I8rX}SO>!_zw2tFA>V4{-0j6#CVlQP#777iG*Ck8ZAUeM) zLbL2|xbL&ui}hp04ef6Z3(V83-2~<@XjR$Y9DALzziDg!HkV)8-?-~Rn#wYEd$ATm znVXC^TaXT8{=TC|76uTk;DF)e~61EwOxuGh)jj_KG(LloyBB@BfEgOQ# zyuzN+3Gqx7*Rq`TdNZ;7l}`fBe};qA+D~e$OJ5kpu=Y z5I77ml6@zKm!Up0QEpx<#k=_x!N2h03XX%|xLV!0gF^N@cZNl-mOFQ3yJOog=`&P3 za7{fl!=Ok?iuI6+E;W7sj;4=FhzG9e!}0(;L@e*4IfR}{nRWa-LJvX?4CRNnBk&H!4P?Yr|t`8LX?`xIcX5$tqttAYe5SD3B-}LC9 zfsQu@6-_Cqnc}#xa!O!Ok-Ek2vck(JR>k{k?WcIRB*zbR!aybD&DACiOBXG4H)x>) zqYxHrLQT3z(kcE_lJvjfNuQAsN$Wo&!#vSFFpq*3W`S_;fS-lBEs5!j+P5=5gaomCG;)q_xVb9JAUh`XDrTJAv^&y;drQc9juAsv?5;tv%>KOLTx8Nj87?O;PVZ<2N?H)qUmjwwv3| z`{AK%t|uyhi${NH5wPRYpXMy|6l`&ne1Zoo4v3@Tr?CS}@{5q5&q*?>AKD)+S_~^H z7zP(PUdK%o?-$mElD!CGH8Q<$u>-fdc*o)>7){5!;$HAcV=?GjAMO6aiOQHV4d%$$Vg1_*!ToKsEs&Y-;IjB&qq#~ zQi@hU5>|!Ymop5#nb;KcG5e}r7vKo-35mC zY-HN&>bb^M`D039bPeR;)7QosdM=EZ5Lk)GvoUmBFo%3Y^78JKr@+MAQ6W?y~d&9^M=O>g$KH(Wh=Hgjeo=QY{h8?&#OjJI^{%|fqt^0b@0$eBK+dSGAg8EXgj zODcRL8G4cn1bW|G&AJk3hmksVsWKPq^X+2dtz*i<0hk9njI(8(!Ql}_dBGP9X?%kt zw^|9y*?k(<_{ogSfW~XX|HeyW2hInZb1x#bc+cS;+g-5P+qIrjWI8g5knc-%X<;Nq zCgkLhF&p&5GaV%JM~KVZ<+*3V!h!eyd91}*A6_>B+YDrG=Vg)#k3Mj#y&$9329C( zQKY#95b`q2{~FRfm~s@PxdE9PC(V`kas<+RShB=OQxz)ThsqdxbvRNV%rzvjqTB^!Zw|1p4&8DfHR; za-q*jS0vIWo$ib$hBrl@0|AjS9u>yf>3x?qPM=_)ikaSUqoPl8Qxd3+K5z8#?eO%O zXVPbuK$<|G?~SzR^BKR;XU#lCpL>)4E9r9rYC9t9JQtZ7r_V0L^4~9m*YO>A< zUgHe*u>Ltnp?O=yN$f#ptt!Rf0Yb?mr@ZjvnO-d?b;R4;C(V=VS+JY7OjFLhisS zZcoynOwGw%+`KFqtVX{BJC*%DFT%FwWFrMa(3zRoqj0-&Lgd6i755wmkj48|WCT2$ z)hE_*drqFOD|Z{G^7c>ck9a?3M%R9+ZGETU3Qt!-jqk?@?9BAAs(Ne3~->w_yd557=2H^%tB4hvec_P?lF8 z^zDk!hk6mXzE?%LtF!6~0~Cm#2PSd8YI<{xJMmyfDIw{i&zgYqMl)4kp0^E@#;9)< z>Z2<~L5<`7(8MY;-etmk#~FinU=}SN)VC-Qsx=DdZpNBEX&~@wxC7t197Ug)yT7j7 z{kelPaP7-3-&I67Q!-&;o9rwJ`MO5BaXcKa?=<1H}VsMD%fVbulG$7t^{-Z;<= zc=yf()C9IL5F*?{4F-VmIGo!NIjDvA%7o5h^# zaHwqIy8^Yn)~Au$qQ)K&JAk+^6e&cevthrJ*h9qWlN{dc!o{7~N}x6;x%LON6|djB zEI$-!26QG|4i5`@oPYkLjti^I-xcQX-|;)8-ua<;`*_?Bj2qwM0m+Ba$yQ0G>V;$C zUguumkRp%b1Bm!IgagGGyzM0hF9SaMUV%!~cTVI&+!#EUHyq-s=HhDX*thNEsp!>% z-M9_pt<$dJk6}PIrySQ0f{V>Xa7U0lY+Z27`rODkgrQoSdLpi}5=pxCdZ! z78wq}fJ$7&hXBKeNX1j98OIa_b~5T@sXI9BuZ-NB8|mYQvym;H^oq;s7){{0V-6hog^WX z(3T-vIbS{c8{F-9^k+i+DcI^Lc@_^Koh4vG!D$~__}6ruG1xWz-oE@PSm*8H($9(G zUn|J>wiat4ToAo0lE)mUK}k`DEqu8*BY+uv5Lau7!~ZY+`m^t;tr1J^e1OZOo#OJC#dz<#(tuU4=eGNy?N-nR^apvpjf zFah-h3}Y5-DGEhbxs1}JGjVV$V`vQx;~5-ZTQ|^SVLL!+6s$=VJtM#5-AM3S$ZoT$d zYosHpkKq0VoVn&Kvu<}UGg>1r*Owc2afUUvUV^^*TE5|s%%z=V!UdHX5S|HYf{^tU zg;~x3S8yR`K;cTRUYwrZQvIUb!s6ee-XVnrpE&$a;H#$JjLA^vb87lUApKUD9>tX) zeRF>5u=bO5E$9OMM|vji-wOkum=$>6mHr2IY5G~L?^jN(f>pktYtkB5@NU_>gU&GM z^2kHw#|t^wsX38$fK+90mMLfxrbW3mdt%e#-4J@|DL4d~G9EyNSdZMn$sd;f(fLq; z`4F9`Dl~#;gIicjA1z_pn~%vlA0gQ4{4N3S8A2}nt`m7XST!*i12MZ zF;egkOt!tL(DF=bA!FbwDli=PRgnU^Xn{EuM$0-OH|^CJae6yMF60f0X}#lVzC7Xe zeQoqA6PhChq~5wfAyoiF!^TNjpU%e>}aODAluuCm*Y^rn303v zbC_t@&R&`6gLV6At-rI>;r~`_WYUKHJvR8F4;*hBWj72qKb6eLvy)P_nZ{s>X=ZQ0EncaO$5Etq!G$_qeb*^sKHju0_GcoaN9gDcaK zaYZFb94pv$f1w%q%JEFYii`UgLr@pW!nDu$Iw&6*1^~6xqWB8<-y|7hhb@g3F7|*S z`;yIT$`SU$$7{;*I|fIzYU3>AL7`Vzs0;g#v=gOVTU`2KD>l5na&RgYz-bL1p33COv%3^>QUkQQFDd`&i1j z2H)%axp-8e&H6I&Vo6MoC1x@4JS5_-N({&?FUKg_QF0@{&BHgLRB3>u+a+=}*F%L@ zV-~_9!X;9{9QC?lFvBElF8XMnZ;9|%?~K#42|tw80{RR1WPJcM|FR&<~_@ zWS8EQNIun@Z;&XxxeRkJ{r2mB|q7c0u>1r``EdY$j;MZ^?$p;pf&> z6SnrXaTgpwxp;sBU^{pRzPRM?hDCE{IjEk5u>n5=V8AC zgZYxP@mhdII_S#t{-nfPpMt3?jE=FQyZh z9S`0>S=Jt-mn>SEUM#Fa*KHd~hujLH>6yq!=hl6)hfLe`LW~T(GsAv#$f*y>Re7*p z8>>zQPW7`{`H;E;@JI1Mw@@b+Y(Oip(|d}XKkDu8#{FcUFLNr)$>Iwc=kbf4c6+>4 zUk99*8{EEWc#%;u5@j z1xKp}+?#8D;4zxkVZfd^<=mKtC)no(RJmdlGI9&h8Q5GqXcUOT8UR+Azn;jrbpRNQ z-sjSr1^>5CQ}}-YwTExRWQL62y5k{c##e}skdSjrMD@&Z5$foSSB5^u+)8i552A6w z#=W7&B}rh%wq0plmRTB?GGps@%wp#v94xG$cu=}1El|J6wOA6D7*)*TryfQmhbq+P zOGvabwu=mm!9o3zHy?9QG(Tt6V~4X*N|r}c^Mj3M$e4sgNDzH(!V5WJp>Huz9Z_`) z8-bMK#jRv0u{Hz=qN7rsUrywrU5Ed9;NJ|*wkG^7UQnh^rj%l@oNC7Ih=6{0jD3Vm zHb`w4dlg>D=+UbHKPM=_9857LOjgj3GJ_B z56wYaKAu&bf$tQ%9#1@7B=ySt!ltE2T?D$unsL3=XzcX%QR|caJhu(}SGpi`uX3X>z|J_J;pP3>dXj*;E$i&)~>L6qkL1x07kSnrd=`s8O&>aRZ4O zUGS5mgaTAg&tGvQ&TIT{mfw5&vdu4wLv!S05Jzw-MSx*L)s&{ z`4Sv)txU$)L-ZnqB}g@eQ!U%zQ}Nn7Y^7>>9#?#7kcG7~2vAJ^f?=}b@0oBS{^I;9 z$S-=@hqU)G56108zL#(TMKyBC$~^}YC+a&ja*ge+bL0}+o7{iPQ!;bP{kNE6d%Xh_ z@l_AL78ZQ!ypHjO)M}T(@!eyL{Z5T<)B91#6D=wIFG>V+@agyvn-^P(2f9NOBOiM?iewOcAgO3^%Oab2zmVc)2#_y=DZ&K<>#CEzuojt>9%&KSDgz=tvGP!5`KkS-sa`Z?%la_Os}ps@p_I`w%c_ zkHhtIz*Nk6Zr-Azrdr|nlJ5X)sZNK zH6B1VH7U?s)H^~ox7XV%e*c$!ezvgMGv!r>lNWsfcE@RP!Ddd2`tqXDqaZEHR(x*H zlh!2I2<(K6PD1<>LqI}}yI{BXI@@^bXTxMI9cENT`k)Rx@SOV00ayuDAN2P``#Q+h2M|>a1RoR$hxnO#9!uZ=jL1sh`%51Bmmft{LR8GMC=O}abu2ITGE63 zJLt}VwNo$`3m_)mTv%^#K~IFwy!lxl4_QU=To%{$a_%eiT(>?ObLKbHkd0z9ywu`d z&eAsijsrd$#Cj|`lewDy7E5DVIZ9>&22F2)6(u?{59j2T%5dqo>F>vy8kio*POPtZ zPEwLDmJ@5)URS{yY$CJRiNMNq{NN0bi62MFnOGzRoH+eZh~U=Wt(7_X#zy>j3a|^8 z@HUQ;U+^vkV(XJjzrd)Oaai-Oj2tpx*nfE;pMm=Cb{KyVrA!^k)J!gnrUlqA-w3kH zsrl>Ge2&?F4UXA=x$XF~*?*NqPNqJ=JC*nUBwMBA@lu=W7W&?J$M?Q!@A0Rj&W z7%Fm)yZ^iFtM^!N9>fdC!$+f1VkAhYxvJNq1Y+|Kz}*&5JE+Llj2{p+HZ0m7C0BeG`S`wYIuV#&6nIbU=PIF-wiYc2 z#q=PlZt-z-Rmr$vozh-f(a|2(LL@$nGqd4)44qiH+`f_Q|Bci}&qWF7OGl?;eQN6i zK1Ch_Ve129NcD(*Gn(#hh$0x=L4wtZ{g8*{9_ax(~Zv~&nLMoQ-?!TOfaQGd7 zGt84H5Bzx6^is|@I3Rnk%MZ!H#&RDr`OtP7}H`03EaA2VxCQA-66Bf!XaSrecRP6H^WEuyEjTkzYVY z#aV|Xtype4Px2N*e%SPU|C7KTpYJo(eBa@FKayq1|6DS^CswDvC2Q zN8Ki@Ge&N*&d7(rqglIY1-bHmIVO+pFURC(3i%T^E1QREj2}*2N`c)-bjdh0@$slK zIXoy?6YOUGdb%ZRxbZ52)3Nk2Wj7O&b>ZD~)^-P;VF$PJugC#438WY}8()64FQsuroA$PvY{rMFt_f^OfStjNB^ML$cV?FlHS6I`IWZ3u+GRf|yfnnpF z_;Lj6oC%U8W}V}a2A59-nt7x?oMGe13C$*0=d{45n03yntP<<;WgFDG48umE>DqoU zB(UhYzC4;+U$ygZ_6P?BFV5P4??bV0{D+#Vrm*N|N|>Sg3{k?It?B>ZqJ{O7j9lxv zN2`pcXvrUI1=Tb2wVpLFjDbCSCRY4sA66Ap?M@p=Hfbl;C%?3a^&&jEu%JM!N$ShI zSBUkQzCx^71NgJ@CVYX_E;FoPj4Y#HF6dP+7AQ_D7MOxCx3Am_Sk)clLG^=sGH}F5 z`!nm|of%rt8PcFlgAn;dsk==d{J4W{&Q&cbw&MKI*a$f>Bt2{yqBbT|(!==3Y`M?P zm$QEz@41xJk9&8%Aof9*bt3swf(e;Tf5I1tcyTU=!16 z7a+iv+P_%z&E0%fVc=6`F$F5@w!|Xu&CrgLS}>+#HX6fP{)WAQ&*?0|J>HNy_r)G9 z$=e$X7#(PSY|XFK0>}qgmwn3Q2hc-swT~ZUowT0Z48`M_&}`^!-ioLBx?l&Mb*b8a z%g4v#AHClh&wbWS;5VvoJQ%awkmWhPzOX-|MskJ%X&+y^Ke_@a0?s#4%XfFI92!c$ z6n-fU?1g5#0w0SC98wbD96&{uK!HlA2ERQgE6GvvEh_Z{ese*+msZ92yPO7H`G{?fX(@ zw9J1GI|ko~$W7umWUg;6gmu!YQ$JD_@VV$CE*z*$y_i+2mn?n(HNZUPecx*C%Bgi_K~{LWr}@OGEc$b|2(8a`;gBp6%q>e)8VWcp;d^t(z? z2x5yskaNpb@K0~0D@bk<@XzMVfDYEemkS{&iJ_dS)==pR?HI1j(++aI!ZF%WGM#4) zz50+%H2sm7Y$Hsc$X=Q4gA`w21b3oUk*sc`T(s#k!6Jqu&DoywsF z*VY7aJp7^eP?45QzG6o?4QDYB9Z8Lq~|QX#2%&LS9z zmDZzYxDa6~@AMw46>OZIj%L|rEo_b){zBAWxOjM`vP=xY;!*@jaAL}G!!BYRB||;) z-;)Ys`!CGM(QVrm_UqvAor4`Vxy1Hx544X+p4phH*xI`TRmNm2i7uD{=o4Y_0KjzL z5(0XN5bNi#d;Y61lHrvo$p&Key8|C#ryda0X|>VmAx@QZbMjr%|=ytBTxQ zYTan(i-gZNYfZqfg^zTF58nk=jiJ83_=iCHPHuRf{(qjSsTGGG@2jtvOB&MLO|(TdA!J z7jI71TGmM7ZpZi#f@vcW(kqpYC3g0#-7d$epCC|pCTyL(x9xUZvd(eFs#()Xg21FQ zV@Um3=J!4z4u@W{4o$~Zn$6vTvk-^sXSmhLq!U{ZePFsP=!v@hVMj@r0|ncc`QPCo zf4ytZub4C8Pw`Spm}&vjdb4Ste^}6cI?hMGrA&t&d<^Vs-2NXZ1x>2}eq>m8J1(o7 z;^@~Z)XI@t1NYF5LuQ0^7_<>vI656HprPCc&h_!EkzpFcSgtQ`3G!b-bj7^f=uWXd3~G@h#E1uC*b?_kDOP zrj~|@QMozAmBLFZ^ITC3NzvkIW#l<=LY0_m6-GM7QjUWCUnFOSuN%%sVAOh>-tafH zcza0>QjGzUS1otHAvSMpt)l`UKHv4TZR=gxI$nnU)q_@o^6SXf&&ZyDugKn~& zt(NTHMtoE3VInzDSfs2eHfe`(4(CtJbBznj^MOT%X>bMb8r_#0Z#! z^HvM7%XMFau)spKADmd@4o(Y2I*9zj6Zn;?sx>TxFIX}ut6qRtBvbM92p%ch`2ghV zp_$7LBX>4im{aa}T|6N>yY(Ak`8_@x0v%s=;PcuaU@yNva=g?}>k_=eT3fz*H$#Y+ z%aD|T{VvClPbhrpOhHf&O&^%YHJAMO)JQLjA5&f69|zitoTc>L#Ub3i7BX{Eb0Pkb z#`i#{H2O)-3WO@hT}%u!tcXWZ*F#Z{3q-;2kFU zVQ!aE$thCF8czTj6Z0rHWyl|;oIX1n%K@^eiwr8aqV66L!9jHw^7eL3@??ukd_M`y zJ|9iERx>o_x=X=Q_l5&GVyp)KpR8mDmM`18|`cKDM zBDxQU6TXf=4prtTT>wFt@m0}{M8{w&L81nW(Z%1;4{;2}CvgnMZ=J}Sm26`?8Z+*A zpL@>wj=}EWRJ*v~5@re*o`UTnzYyymDDYt;asj^7lb^BkXg}r{+*z{3zMQEHT&&*_GSg=P%SaHQH@WOpPfW({eTx5n{SJ3rilf*DI@$DCK-vP#cHmE zvi*$Hqa|;!{QI*6r!?-wc{{}IjGk5oS8P+Vh9Or3n)bXKiSg^5+`;7xhQj!v=Ir4* zS5pI?Qtb?31Tdv*05K%tedgXi0C6zyfH8%HXTek%h^ftbxiQ;Z&5`In2$^U?i=Ilw zf9L`-uBIbFDge6%(22LtDx;$7VS*}{S&e&<2?BXR0e9Xi7|gU&mZBE3G81HhuR#=; z)7f=1@X9gh5(I5KDK9Qw3&EXKV3e(uEbO>ZE?LsfTcA*Fn}!?_`!wv$iUUo+D`F_7s_jcb-!s5L1{Quv_ z^N`!OZmp+IojP^4GM^VlHB2)4Jb6=34x}|h@dI>fB^aY+kff|gtbgD1*;z2zHbMxT z190H7Wn46hFy*j|cA2*fDu92G2hNZvSb_>lVWST_{Y7y*{aZJ2vCe>x4jp|3RQduoY|B-Kr=^Z$uPkzd>dv~~Un zq)>xP!D1(oMH4tyihra)i8c!(<iJ&we-VhlsOgoH5zE?jN??a@e&Dpfz`~=159s~2Q zFZ}_}fKOme64yr}ni7uRi1(4*oV}cP`k3Fm(9RrhXZv(8vO%K~{tO;rYt*HmH8j9Z zLi|4GjCaU*yy-DttPiAL;NenI@V zqGSX}vX1))@@SGko43G!!5(fe$g4g7SdH2q?h7Px`p3RvPyd1aGe*ctkF1g1E>uP= z4oA3&iO(&JsRyvBujN(? zsYV_|xWX)8+i1r!=CQMp3D}SU9{hi^sqa!Zah=$k`qvC@^d(qD_)636P79dfXwme( z(RIiLya0Lgb%*R19ijeAwqxk~HNPX5heDlA7^*k=QRXB-qnO)b17;paHb4d%AEb<^ z2^-Ll1GhHd_Uj3R;n52TgajM#2v#++2pjMZ$&z;JEqZc<4bXSOb7Gxrz)7fBBp-*< zixO6A_2M=(r`dpvV>KI)jwjWY=J4^2y4IR`Tk@OLzqY7|O2U_4Br1Y_CexpIyqUlv zJpgW2;r$--wiVo7aGV+V&@%qou&*U9uW;wQ9+=_|Pb%`{+_nqJbbWVN*8g`^gVMhwZE;0Bl^c|IzY^r&*(JS?iXjx$ebRSH;+M) zvfMAum<_jynVEjPWg;>N;?($&0dMf4n6ZG7YV24bnbR)6Jaby+YbAZ0J=1 z`-6(S5!Qj}t>f75B%6kH?d=281NoeRuCI*JHVwPial$~Xl21!^f}AFjPfPf8z%WV^ zQJYO?4;V&iATkLpYeHK);!C5`5&`c#Eqw=C=ZFQe6R)sCv2q>M+Tb~4O*ETiZE!z6 z#jOoqVU?h&wa;s+3Tp!gJ~JMkrF>N@KOhy|3A;MpHPZt~2A69jh|*HDqtUd@`(W|n zlqYI_Sh%;n+B<04jrN+@PBY3L?#Rn!QkS@XdrS#*qxOya0ULB5GR@S~UIMEyZo^?Bfz7 z4Jtr^vesAI{4q8wtXnnwX>K3at9)~OJ&zFPJrvI%l#7bZA@)~je^SJTC@exd%V;G% zQqB*J?4x(7BP?#yvX2fFQPS8oc5ZSvkO*@OOb~6&2PV#2jrh+toJQ+5AFQ7u+dpHO z`t}6^$d&Fk=UP1`BB}>rT1Oo{Jbu$j4~8_F4=+91Ad{+7U%btnr&6SH#d;wL>0IGp zq|-hO*o(6HsBUkwZCRNZTtlF1^dUeyk)WZk2L}&L8s#78JkuXF$@s87W8+bUpupuA zYL#k-Z&>_n!Uk2nKflp<8o}#B5No?W!VBl=Wojc5x!(Id6JPI%&cYuaE<17hMSjI= zE|o>QxRR?C_vqk6Ho=ld2OarOeQ=uDdV08 z0|(DQsB}XLN5$~kpJ>$#^PLU#t=zA^`G)@IHl7wG>Mc+^`^?jM;uiCgDrENLyk!*A zor#h=yvu~f#}7ThM66}N9jr@GrXgYq(Tv=sB^Rr)3n>qPvA#OEmjo33 zBFeB%@cD)Y4fZR{;YU@sb`SKX9&Q9|KUTmzpulL0_+Cb6F=3#Ms-pRpY|Wk!2j208^NFZ-(kW(pYR`<4F6yMCmH^T4i{V}YrqKcDnjxO0G{WkEK>su`{eplhyF4=`tBxbZ^Y6p8o1w53QBG67{f z7Bv4#V)bArgjR1bR5~K|oCy3h@KeTLN>DlIf3p0A_A6#u{ne}n zRk*5s;Gx5>iwLHTCp<2_QHVWvgrfSr;Sb^R1PR{A3<%pX5R}CZxmO+EgVI}96&Za`?u3l_z1-ncPjFm1?las3 zZuHYYHGGEnFTS4%zy7tl=j7FNLX7mC-${v3(`fS?bY$3Jf^+wa8n7!#mNHPLuvLRm`vEDz*+mFFQCBn3_Q)fxFH49A@Eh~;{^W4;V=o!e&F8l9bj-uZTQ2*yV$JP9J$}!u!Td1 zdm|;M?!~{Rv`R^t*PS*aFLIKD0?2gtVpkD~C^TZF2+w8|>pN;M1v{|EC|-@>d&9qY za`w`8ngiYo1A82QT_v!ct`alOM+hQw1fXOT-y`7K!*kj=oIC3S-Ml%sW(4{~p9G`t zT)$ABX|rfl2earZL{&9MqY5|xpQq2$QXWiec%!@5$FzeV$@-39eMWI1szg~8zi^UFls5l!J6 z?kgzA1DYzMcmsZD?|cV6@|Y3ETlARs#N#a@XpCdNlKtiL7;iBbjF+3pnk!NvzY(^g zE=p?b7~nmvjUX0zP(A2_^Sq-yxWY63;)5i9>{aL{<}|fglXYb>#B&DLgEWCu3*)yZ}PO*B$|vg{;U6tHcTwcvCil z&`C)1n4ubZL=+z6a8LA@_fl|nrrG6-M)kR^0|^j*1L9A%MRp^!3whBoIql_OVSR{q zYkd^tOdXU6(Ao67?Z$cgknuS`3Y0~Is1r7hnY7fp5&KVkA&Jj}djRMKLfn7R+TE}f z3^BY8fb3XBEwQ|Tg9F^!0L3OruJ@XfBvb4?Y+_)xic_Xjs@x5(Wk5;De_fHw8LC%Q z7@mPL37QG1F_x~tas-P^I_5vpLe&%_bfqx2;5YWG?>g-V^^qCqQ%*u8sijXrd}9`3 z8SgNPALBS9^RbK}1>>L@^)_c`d>O+u?>#P;GtE{tgvIrgVnQ1}8wLDBRzO(C_3Q7H z_ZI|P64#&Y8M)7`xw<*f49|F9F9=ZMtp=9s z`&>@J_JL*T3*VA~|F)SrGM3Rw{Rr$6+EBf_(@fn?rKLL9dRVH5w`)Un0AS(CEb%U^ zz7f80sBNY`08xE0ogDNpq+OxE129oqfhX+CSt76vL9BZshA@oF-H~${yfO4~!nnMN zVfl9jf6TBP(#{ff;Y8vNrYkZAv$WlRLZj*V(9u&r=(gCCpX2ET1zdat0RM<4|7L+N1qp+NkutB&ic9knEYVSz3i#EO-l5q%tIU zeTzUwSqe}ahWlEu<0_)S^32Bl$yF^_zc70{1CU%qSS^+>w_;KooCzmlL*DA%`;I&K z1@6hl#&?f=)VE0LZG7FM5=sP<3FFr~`r7Jar<{38F+K;Aq-v2lb_T;jiRt)aypoCF zK6QG`8_SCIqwv|f;Tv2+4=bX9y1lx2p@#D(bt}sxQ}76F3s*T`=J|Xy`a4cQXq^ zX~zromXw|9w!dm-+PS{s=Lz07Kt-YFl}Y*^ZU;EZV_ur>9`G*I))SHwB!I0aL3 zQH|T2QVm~&?e6eA{J)65>+!oDPmsbXwMfJNdCFZmuAY_QNrr|`vK8q6t<~VO>4_J3 zLPXMI)5UVZ6F$mE52^5Y$nER>Ckpv-@NdcXR|_8ETJ~5A!KANb&~vlHv`aKm3j5I0vK5$w6r*?yMA@*&E5XjO zhK$$lO|;%GTqAoV;_13`Ho<(4naG;MF(WMeFR>S-86nSSfy9ExU#Z@?4#>cToIb{nX4Hq2L6z4b25(BpUuCHhEfdR9zTCudkoy0&@G2#mU*vR^+Q#K_qss;=vZ`0(?d`2^pwC6P_RkPA6CGCNGuZj3e$6K zk);&HW=Obq~;8S80w?MxbUw33*>D?xLQ?pMxNMxDi z?I@7Pc?1{5F(Qh{e@zL1$PY8{A%nJNR%DrJ2v820{4IzqT49$+I!tKwC5yqV32H?v#&*Z9J_eYuZw)c$TjL~RAPQmusW zky4t;oEcL9hiS0%k4Er*HJqQ`gjZLV_VcKD66A;L1#*BsfoNy5$zSi&!lMuDOppa^RA=Z+8CItEk*SgFO5j$<(N`+J z^}NPw$v&2iE%61=AR`&XZH&HO{Do)YmBH?G1z(NL7_5 zXWR8>X^GqU01Rg)GCcK50gYO751wXPXZlIRC2sE@Cs=Z64`Rtq#ZvLg!rLH~reHNi z{YKz$o)NDNa2+2xWsk>9!5LuR_{h!s(kY_uDBy>D`X@CWQ;nJMgkcsCUX<<&2M_}R z0&0qxB!Gi09gMEjKu1gmI|=((-H;uzRXA#@_kb!mt+8VdTT}S%otkBd?+=7G?*qzh zVf+QUZHd<~QWR#TQkic35O?Q&=fsEI}Tb zAdmTql$2e+eRouDw!zNm;7M>##JozoA>REG>j`G0Sh_0v6T;o`c9Z?{et%{^&5weZ$CE*HTQYBzCmn`GJbC;~ZV}4gCm_hx(i%2qI-aB>^RxH8E zN^hT7o3!5}$NY=+JxU;C`zbL8{h|ret#Kla!O{QWsp$3~W4$1)!=j7~CujU+Za(1aloF9`X=U#lm=9=OQB{gfkh;!bK0vp_U5XkMF|oQG9n@(L~wCO z)(Q$o*6M{|8S^8A@8^gxqE7q=rK^i@(t_f69SO6aIuCzqy>Z|Z48(r(4@*kZyHd`6 zM2$e!!8&WKzdSRoB7ryUS37s$9V;c0c8!cnmNm>nx#MA1$ioApniwAy#w`Q2x(pWO z3%kG4saef;YPuuY6I{0v^Pb|r)MJ9v!L52Z(EkvPw78qMLj0c%@W$ZqJ^58Fzqj<0phrDg$pUEw0d7Gy)#2owwolPkoJYU`H zZZ5jT#KaZw@%2Q@?szyS{ESC)lHVD+Uipokhmg{-oTxDa!?kxigf@-BH+_pP$q<;` zBIK1a@w&3pA?4+O($udJf=k#RPk5E|-Qo4BUBj_nS(%RUnGe?Z`j|`{jx)TwFhOnX{x7Ag5EAUpYb%m zauZc|$k$8yj-ZEsp4b^grQuL1K6@i;DE#n7*45(8(kDR}16)$CO%-8?QQWU1JDP|6 zP6Dc8nvCLOCC%EdmMhknySx?;KbUH$>XtAmJ=U4@(CP}6GpRRHt}jcGP5fBGxCVjo ziH)yXYFe_LHT41|WVeLOF5wsKgPXdGtL0=;)IJsnSo7mI?6>Fxz<}6A9I`;or5uqx2aoim>LYcXDS?C+2tYW+39 zSnWkTcF2oP<@IK9{qcMvHFkqZy2vvv*Q2>!;OSEWfEfJDzW4B|O8!KUm!ECGCNVkn5yk^-lRu&GG zFx4ztq2JcvO*|S#L9?Eq7uZyIUi|rJGD6ncfbHv#>e(_0`%(NmPKM0!E_2u?YtH~#)!4#&;SJ@vsjJGb>9|(mGebP>_(J8- z-fow%tt-O=H#UGS_@I3Eg*N)Tdf>N{Q!%fz71jwH#s{(1KAb{(;buVL$gw$LYH9@} z=b$L<5UFdW7*qEwyrJlGgp4~H&B2gXwrg{BHu{1V467HoRp42`YMHoOVmGgr9^Eq$ z53!|!=^vt|0jc0#yc-oQKdW)5I5_ik_d*+eDddrX9tfKD{CVvd8?Jr8YsE_YHabJ3 zus3Dm!0!!jg?*PVyiJV_Ljqt*Q@-#IzHmJj9wC99l)V5<2_DXPKPe7t;~hq5Ci)+} zjF>`GFK73BNHm@w!^mho@Db2J(c|Mq1KXklks}_vEE;WzZxT)pv5!`BstA{2g+_h6 zZQ;4baIsrF3QLUZ&9k>w)*C?cHu4@AG*bwg-idf}2@tvBAUZ>)un~y*EW@sJaM&Cn zaxX^Y} z2DezvlhVj=crh1*jynTWd>n8>oHK2fUx}OM@egE#hkokL+i1l(&R5OGcf<1dg^Kff zTX9a?CSt_GUM%<_qpd}FWcQz7>(GyZ!DI9pw31Mn+nEA8pf(@v4mOC|`~p#%|9TL$ z`3oofLAAN517b`8y}|~-MeUA^1G`f1Kia}wHx4M>WCerh!!jy%g#DpcMSK;f!*+=w z>KFnH8lU!kV;6&tkO)egItFCxtpnAy0^d_ka-9dpXaZXL#eY0W|FL9@Ncv-)m&-aX z-a`5rI5{@L)~uV6DpuGMw+Ux@8e~G2%Ly11LgxkpYz5lM!lW`95Uf5(KaJ3vh~$Ru zlC*-*Rs-6guw)oO2bn`C>`9=o7F}J{r7>N-_*qR?_gZxICgw=c)$bPnFX-x=&ksRY zL%{L>kglF7%R|#uMpFC_=qgDW=&ArOd`~&v?DZL^t6u?i4oo}_MpvgaM_0cK3SDJW zjcEsa;h?LTapGvvRUMqY5nXkmdlun9*a@MlfzHwHLOgM|ypY)=;xz@)$8M?X!c@GR4iB6id!|N?mVj$i>cCsg6YM=w%=ny2ut?Bt5CfKXs9F zts*;+Cpwr#c-&F<;+3LD8t_dXCea~+HT|(lJG>+h5p{SYu9BB7X7*6kLsoPMkup}g zijbPJJ`aD?Xto}96(KIf?Cm3X1*7C)B#3eIrp<+FfpH;bAWX!Svn3KlmixuobNrce z=gq(^neI%)g}8p&HGvt_b1^Q&^f|Nr)2^J&ZyD|v1D8o9{Fd&1(KGw<84G7zelAXn zj0=Gqrz2gjlMZWPXGE-D3H!&kKGeXQrH3ye0L-qB?aQUGK)rht;J|>>P}kG~-DMmC zk|4g=AaM;9kj&jFAbDIK36NaLVb8042#m<^o*G;-Jd$oJN z^s0l^t5NLLov5}+ufDx8(W|F%iyNB!_%rEM$40%H$6kF>A-&qDzuCR|0H}zK&OcPI8XOuk)t0Gxk5%QKN5ba z&vD`|ZniVu0M+DT-QiWg3yh+_=-wQS9z?Ijf`t{LeJjGTZa77&XKvt>{1hc{|2jcF!b1-w?_^^=j0o&lWoSw5Y`D zP+_Usj4!yT!B!Axq8&IYnoTYm_MKXVV-a&={3aA26$*7jj_BPwn+?EY1b}ndnkhF~ zA}4|jPee`6;#LVeDGomv;WdHZP~BH6Or!-rkUQ8q5#*{9zT5D_eHR*jeGpHjgpG}j zJ|>)x2I1EW#Nm%1_J3-F@NFd8*}Fyk$ZmB{YA}jP2_al5rG;Rz2QQ6)c_+(TaV(>K z@I9KR>qv&eRnm+-?NrC?qUcUvLook9UpWypp!RuMc*l5)~#M&(kJ8XDenbajNIvZXS@TGW% zwYCCAbiBqNd$9p}g~;Iq8{KE3qw$CP^}X*r*bvRI%LtoAnbW4t`_YRWF&FT8m#wV=8y#Ghrc%B7oRU#&;P+wYHqZG0z+cCNO#nn89R{$7ayQNLZA52 zJna4EDiLnOtnUQGYl5$@Bi?-(GEmsO22VTQeOx*;!d;00VCbT3i!dwhH|CK*oZKv} zqrW}$Xw-wKt96dK@f`9=p$0Wke=17;L~)K9j!zCX0kiDtkAN=SJ-GT%0ryJOi#}5fonCg(t7XsYsjUjC$EzM zCaUv4gOLemcc=c8sM^2U6J9h|-JsJGZTKHV`eZc?>5j(ycM*h^ew-~nbv0Xz+dtDD z?5B^kK8N;Th0(9^ru7~A{ewpD6-n=jc>IW0A}cI89&z`>CEFSU1Ii#E?Jc~^Km3YMEoP9fV;diu*%mTZ)yd@0VtjL9k zMKC`@--&~Zz;ssC5}Clim2>_@aLlu``t;3*aF9Bjc*LtP4Adp1g0qPl!>6|8ktz|0 zusf5jK!2IcZl*m&*I>)27P98;(A;xI9GZLeH|9Ltc*NZtz4-lFP`u7u`Agr>q~lh3 z!t8PQYw5{dTg1H1c*I5QD^~i@D~WoE^D6P{Q24WbP&4?mI!6aq2NuH$bAOkl3 z)JT@JYX=?@e=cXmhl@WSvRbPb>(HFWpK)6?{*0C<@h8+exoe}C*NH!QtO)q?VSbcyp?>ehjAcqL04Fa?Y%XP1N=Y zQr^->ze9cW2-XLE^mQ42C`rVV^COxYj4q7+839my(3tnCZPd%qMPP4-z@YbV*3ZfT z&8(jXzB`QdQ+5@g-h}?ng;Df@yRtuG**1LE9EIxYxUwT zG^ba}v6XtIbd@Jp%EgVk)|q*oE9EFwgq2b?ohya-0o>vGa6^LzCLphSA?g8gJ+kPx z2C)Y})OXTnM|@3OS}4oS-vtpdX(vl#ldoRhkK1DBNV*x9Iu7 zNoFxmQ0{??r}81WYPWK;f(14|CMu)aG@l4Wi@3I2#ESp)2qg zwFZh{2uC3TV_fV~53l7yA71p0$k878nsT&V>TTHqAnB}=26YUjsVJnb#1}*;WN>d0 zDwNZMu<@m)1;}K(47!n-hh$I++<9;!zA(%!)zORAsGjnQ3qbg~Lbb=MYY0t@2^83Z zBYyaKZg4|4Y~sO52kN!IIU?RRy~T9n466rnt*XEnHl=epg2(X*5pR=kG2Nxgk<2sd zPg7*~bDU3zKh5CBYH+{g1Icn*t0#a9)6ybVI-RbLb_c&NY91Ae(4H2Xo{V3f#C^`+ z_7qg;zC}=>lVC&w6@DNp^mxV=wR0jN59ZY1Ly9)2c>8h=UPqY8N?Wu=1n!da#d$L> z&%6Q>cP&Qu&&r&6p%(rE3k=8mMT zl?>QDVVDc=?Fmy>H~}AgN=-~bi13`toS~p-6*T$`_P^d{OAPoqkaKrV*E*lP-HaW0y3JSi;CDd z&5vS43HwO+zy=0e_K_1Z{Qa!VAH{lj;TGC!TcbXOuEE;I%7UErZcLOFj~f7;Q85BX z)yj12`Z>7W!zifa*8+WiAK>}vX{XC3sP9v5GG8TAo$zza*IoF4>MKzEp!2m_G931N zWhb?VPy`vEmD9xc5AC?%4Sp+-1Jz;nec;8%O?Kywn>rufoMQCp4kN)#%eD&Sy6XMM zgM;UO90}B_$;Z}$_@s4Adzx<0=*i6OkjryJqxm$`uKgnSVDnjh z=>g_*6Fy)*k37_Tew)JyKkWIOn$(^(pLf!ASN6oF^EnsuxzIVEb1`94tpbVpoF((Q ztf$Ope&Ta{KF6`)X6Cc&A?EX1j4!@^^n8|r1YEsX%VM*ibafqM87am{~4JR4o*h+$V<;VM6( z(zW5-S<~jutaQCLgNIsfSA5p+S>f8AUg`Si+$(RKQQ`U&)sKpGK`W6!xdate|32q| zhC0`F%?m1(f+p%*<@&W+{ctg-YShZl$XyJ7MoMM}V z7Y>Gw3ZF(kM};N2*aQ~a%HKH8)lcG|`XS2i#A?lgixmW8_uK zZk$)#VOKd^iOCj)7gZY;|B}Fh&gJ=yo7b1R@HsZD7SDn4W&X4<< z!M)c6M(bR(6SQO_pT-6{=##J4W=A(dHvqgz>(33hZynoe@LTToF5( zv3%ZE`N6MKJ#8x($%@Gm$;w<*jfi`4@3Li;3y19t{6|ye4QarBqj<5wuNNZ?I`ZyD{Ot!`&egtofgkl5-TA^T++29CRu z8(pB>`q$xq=mKTLsZsONc!4s4dSO<*Avj&{<)rKr6Iw)2;k>*X%W(Hfj(<*p27x+e~g}QtsH!&dV02=FhV65wfv97`CN7ySp z{g7Aml1rDtE_%aRUUNZrOp7|9jljZo#sj5x3S4_|GPN7Gz-PW8 zkQqB!bXEa)l}L*JxMXaHI z4Dug;m&h;un|b*!AL(ohG1W(VBCqr<$1k|)(UXA$G1M|uiq!xx4LI%&_ z->Y%69>8dy%0uHmT;`K@KD6W6!gs_ru6en_x2qj*RKwg z%TUjQUzv&9P-7Q4;hPU*h_XMQ3HCdLq{YOK*Z>#`pe?s^mP1(j4?Ha#MG;;DMeg$l3x~vye5DS&vcyWVP?B zAC95MI+A{IBLej;K#|zz>nCEw>d5nfPnCHY_|0d!Jk1VaQP0Ru4QCf%G6JD>IBysj z7cql_X;@{R+bWZ1Jx5s2Z0nh2Ju~GQmS8tHE%TseNn^lK!&_&@)o9ub5e*p|2o^Yy zOK^TP_4P*9(wIo-uN?MZXAF`b5(^{RG3x_3=P9k$-H=BsSJmq;Kn5M6jRKTT?#go1 z(NOC#HsFkatexHF#b|03TMhg@)|=-CkBJqGs16Lgr1qQ(z&P?OQNAaB$E_WedMi#2 zCo5ya!P6*y8G|*Rmvw|eE=28WID+E1gNw?5qo)e#m&h^xJ}Z*-#|trKoSnIN#`VXQ zE?H=xOr`K8g@-JvPxdFBIb;i$g)k4%ZTO5Uhg$-%Jiz=Sye2P|ULRnogx*Jpbaz@g zzCz~1H8b@7o+;5vrkbsjdyg0w(a{)%zKXpuJ%V?a<**9cir<#Us{Nv|%KFkB%@KWY zUBK4BX3jw$_^dkD4@SxQwn|0>*=;Bf>;_XKq=U+7cEfqq^P&>${3V*|ohH-8DjJvRa6>EGXd|h0yGqSy%9;?wDH)$Z%}}QjfrJ zz2;oT`!&gK;$TOR zw&=^FM_CjmQ>Ygy45`ae{`6qtR%*Ih&wa&HeS=+!X(vZ0d~(*Z`-G%?g5qA;e0iO|&vG`t>U? z40X-fmu~EF7janN_e2y0;&GBj<`MhTP8n_~MwI2V}!$g?L zs4UTbpg7jvvZIn+^8n4*h)JfW1|7!u{A0*iDZKD%h<*rGk#rx#E;eJ`55-DZiVB9k zM0b`_uSrKjWaR2n5P6lks`=qb8E$;e{HF^4FYwNigXT>m)H398m`~jxt?g9T;c21w zTZ|52A5b)UpDSN?sg4)+K&}S$^f)rP7XRLuzsVrd0|9c*BAY`}bCq$TkO@?SP>x)Eq ziHV%kT{u0V&*6{MPrD=owZ^FCi|6~NymSo@gP6m#z$cgB<5tpb`Y(b^fu~RMPQVu3)pzm&xmEDJLv`|Jpj1 zl;s6CLzYxm;Cr21R-@H|y!S<&BZ&l@PJ~fKgBm4?oHCur=~7v&-b}lK(o%{;Ez-_K z;Uw+TkPS+)x)7nJi)XQT6yp^Y;p!E5rST@N7$zXjf1E19*W@lw`Wq>H?QsJSlw=1%G&i`ZRc5%meaQC3(Z>iClY;SSR?G zYJ@f*Jz8abjH5wdXl$VXSLVhDJ-}R#>RdMB)WJE@fjI62;^=T2&huUpeI93b`ZIBr zApY2>Gf29o&~*pubdyAm&4D^C5`z%eVL_d5K~;HHKKl$V6pS_YckY*@uXW=xG6U`1 zadwNM%B5tftayA7hh}=sN#JzJJAqa6hP(7tOTNd##08v9<@HW|Zz-zrSyza^M~SbQ z_K&nUy+(vGVTsYNyC(JkM(qUcMo=OMwtV4QH35YIQsK?^oP+PU|I;dLqdx0*qW(+_ z6X$Qc)H;>|18{M^-cuUIcf@@oSUO%DJOM$u=KKRldOcxEN?Ihksm6MHAPPpYNJ>B@ zCo(s<6FJAB1N_a7@E?Dd$S?hSrSlTq}k{wxavG_1pbGia<5TP>zjTJBHkbt z-e}K;f47w5UIPCZ56_(29f$NxtUC@&g*yu+WOXeHxDO)MZt%7GzSXlqOsXXqL1o*XOx$s2lQ*s>kGk*CWnp!GnFXO{Hsv$kQ-^S#Ytj zCQx~%7xc|U2aMupfUTZL!E3ay ztj|j(Mh~0lBI(2~?6DpHDa^pUC;F$TrJwGO^E;ThT4Vx?!tsLj;k9aYpCJPeB=|ZN zG!ErQqadg~hoi1|5PNXAvH)kv-B`FUoy(j!r9_6m!|L7qtgBVGZx&dVv2KP~;jDn# zmh&BMUsrk~Q=RvT?E>}V)mu4V3VmfUtI=4#j9>FjfJ`7Tq|RNr5iC$cei_A)D)?PcVSkI8Yh*v$0*Z1dY^%O7K$?ZI4qMJQT=f_pz9NC|XpsKD6SPt|)^lJEpbC=-cmltvUCrU>N% zG)EE2cPe~30NIQP<##|?i%X2%Hl2-K^^q5zv9^n{3rLF{!>J`2^)ZQqw8{{Nc!dMiD}3XZ*$kQsR(6 zPRGe9jYO^bboUJkP+AdLNAjfp@lz_+`|!NK2|=GL4*{7s5@Lpz=3tQO-LPdw=c2Sq zI3aC7w}Q=waW`95+UQ4VJ%gLCEa`!M&5X>MbLL$;4R7#3zjn^$Gp>Ox z9p2!9K56#Vv*#?BoeBF8n$FD@(>aUoK*EdtlQM!6ZpRj24sX4IW9-_09S?yG>H;(! zJqjM;dR(27$MyCe8P}}GWLzudku%mGARyy986Xx~ni$jBri^K5xs2)DSM->IXf}EVm_I$H z)A8zGXrkrPGVnOQ#=tS$BFH>WxOooAQS45^aaDMqP>IN+FA=nX8zmQmi*b z+`p8^(6?5KrRthgP5KiV%;smu+BOCD|JRYZ4M2z&bj1ezTC06=0!MlK=r7llw_bv{wL&s2~2+ z2UnlZ!p{_lJL+1>Y>;54qu>E#%eZ9^`Jzf^rk0=r%2)2vRKCXbAGY!}&@oBV8a|bT zWv5zzmN7bOw>Cn*bNYH{Tz97bo9T?ugk~Vt=O%1~=-?3b*@^c4XM~<(dbaKuDpBZ@ zV!WeIG5fnXpy9fxRDwDu4}Q*28?y52X2H)F`>~Y{s=(iyb|v) zFHed-Xd$QOjg8{-@eT|i2%>+|-<%_lvA*=C>F+YVR=4BK|1#6J;}84)&|T7hi?36+ zzCd2u?yJZv%h7Lo84PS*Uism0&Xc~M2%Y38DI^1by^bZ-3;5pTDD$W!63bHkH=)!D zmYTx;9BK6@KI6^sXSojkY_c@JQ%%Iv8{P-ZqJE}1{;aba#Jn0c0!PPk5{TkI$#MSm zn$G&`Ptj;ti>IUhX8E-@nAcL-Ir%kbeWg}?B}w%q@oSbo=@zLij+@1cIb)6WNpq6) zNt1>ha4`lhja?=KUbP*t2C^p>U|czstbj~MWr?)`eNs!5Kft0$sFAcnhzs1CP$Sj* z2Rq~`$@1>|*o=igti1-q6a?~xU(x!cfOI6}M!%EwNteiQo9dGQ@3=l`1oAl0Wq`D{ zQ}x2rn$EXy@|Z}N!0_DZj=z5>v+Po@oKB_EUUkt)6aZ>_<3q?N+tPDa>~O0c^2t59 zP34nM$I!4PpF9^0f$M&wRu?{ye6j-la>yr-Whv0fmj^lIlZDaqQL&cCB1@J;l*s2}}J{V%G!3|>g zVn?;@hu^kREenLqXS&jHR}PFEa7A%HCQwSkP_{63EW`CQ<&O1AV-3

9enY)==*?%V|;NvT=6RcGBy$T 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%0D0Fb(VjC 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%0Ax+T!1DQ665%t;H7$ixF} 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≺Cf>!!gATl_a^l@VJKlMScX?F~yaUt)2zo(6 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

g237)shqT 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 z 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®#s-1~yXsvz+Afo0Z?ux?feRuxUk+go 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 e5)K6vb<4Hy*4 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ɗ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%0D+f_2}hi449(&v~ls=tT4A&{j2OEve4 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 z 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%0A~8n~bgFWk*f%8q@qH9Z96GWXwC>7(xLS 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

fni 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­B{k?bbyCO;YJ__3RC{!0X6 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 z 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%0DgF2$EgxPn88P{rPQ$jNfM~#>1b_L*??U$*`)UN; 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[kj;m|tIYw7Zt}+Cv0G`(RXAQ}7xw;MgQ}V30m3h|Mpz(Z8 z2*}6J3!YKrWzau62%g#Obi}j%8b43IzdyyTn?b%`91O?}zZgKyE7XI0nNuNyY;vm^ zWSp*;T%|rzD#(EQ`-YD!+I!dPl4q*A4gIsJ=AQ+hGS3|!Ydq@;0eSX0!841z4Ekq# z!E@Np#EN+C|G>brHiKrKeSZpu=aWAhcsh^idEU>dka-@jW9C_SR2Gw~>_^Iu=ZaAl z?Y-Rfl4nJA8~SIW#xr9J^Bnn+#&fR_klUUWJcp9ALH}$kc-G@aOguB+_w&@>-?Mo? zW35;e4A!Vq2CQfQCGCa&$*GXBPP^HR^<`Z#&_9t1Xz!Ne`46Kc&-Lmy^v~8B&$!LZ zv%xxz=L8`jpFb^lMw7Ea|7;_87O?LT&nBzsvj@PMiuE@a>9u)%eYcC6c6UobQ=j@e!p8ED) z!220%tsjHI8m$24*GGui2g=lSJUJmZ)*^BnnoFgz#zXy7^Eu%2f(PKC_#j~Zs4mk-He zpnoD2!1Kbp7XEo#Wy!OFx()raxyEzJN6d51Dvjr9At1j!RREkpUIzWMg-9k5UT*Kp z-nQad$orXRgTi2V#{OX7Sxsjs^iNKO%yU(BGtYMq>Ul0iDuAbD{L;Qi$@8GP4gK>j zjc1p2%(KIL8qY;SK<+U`08At=gZ_EHNSf>?=Lbft(7NXO(JZo|SdQ zApUc|136~KOgv`bSr4Y^;y*bRGS4jzGtW)?WHE^UL@K~P^QK$$pWm04JWr_G z&_A1KJO`|1o~bJ|o~wm`{6vNTm_l9#{j;e^hI1n({~Wm3isusE&pc0j6AaHY|1$6_ zD3FFi|KwE2JcnFo=J~X)80eo!1@P>-$b#pr2+4Dfx()rap~kb?2h6kLa*by{At2YB zC;*0$mqGuG7s<8kbi}jzB0ov@jgRLDH*R5kOw zNmmT?Pox5PURYwmvrRe4vxB+~{quH>XZ9-Qx&AGUr$Y$H+g}g>*N~S%|GZBm2YgGA zh-c0lRy@O*H}mXpBp9A46u>XzZQ}OodDiDt$UOI4Yv#H8OIZx`Pox5Pj>6}11IF{` z!X(cUbsPHUof^+!?=jCo%QT)_g@BwsUI6S*UIzX1UXiTEjhJ|jSZKv_E$?TZC5M9H z8TO5VXW%tQlD zt)&{z=Y)WK`#1qGio6W^XPii8v(pjJ`mbB@9Kem7c`iQ~49_(bz%TuC<{mxIOiqQ& zv+*@%o_FesLHs9DfjpO4@a+1R_z%24I=%2A7 zIqWb&BA)x_Tk)*MyqRa}fna#{rvQG*GwE|Z&nBD-ndi5a%sju|EsH_?CsF}Co8eWc zfc9SQPsy{Qx()qPw)cz`%yZ--jptq=AWwN-031qQ2L1DHk*vp!n0RK+v*MY}`@I02^iNKO%yU{rGtZZG#X$c=Du5?G01(LY!`~&(_3AeC&uGm*O59o!njocu44Cg|Hp_zNW0xh*LFzX2&s#K}g>Ny>g9|mD_Xq*`$B_bH z{(k1!vav{Ju+tIG)vDLbAW$64?kULtvpRJWmj*46y;>|*A5VxGpcwGfbh z8!iAI+si!N4MlP$`yTN;KhwaoIfG`N*ohW;tr`;tY>bIx3i=V>7zzdcLVV7O%~g#pEi>kh1g7o^vdC?mI7e z9#prXf7aIgv&);zv%?&X=OQ5>S6JGUxtKYuin+d5-C zxH}lE$0&ebx@mTnv={m(r$WZs=T9@%M|8zN|3pf~D&N=6^H}hlbWZY|s%}I7tflb` ze}j3JysGi+ECl3_7Ym+eK4+eNVg%16?0dvB;uR~NNz9vhPTds@&lwcJFL@5zs^>Y7 zQz7%L@`sscWnD4QKR>hJc@pd12aM!$g6>gV6j@_y#obZ0O;6F)cbtOwI%v#-vnka=#oZ05P?Q&|l3 zPox6;)3UvPe_HZ9p>9L}tgi7Kuz-1{&eC|U76Nk3HwDiW@-pb3^#spwZp7rD1HD!} zm+*e(d16N}JkL-7zx2<7Ez(fvpPUMr=a5Tgo=@wFf&Ph90M89pNfPxn>3!o<}lAeuV_5C3IX}{1%hXPayICnw+NoqxDgZ2 z5ik0A>hJGsc|T(<*%l1eupI`hg`Y@!p?`8JWUS+UGh-d2D+c-}QUUGVay-BEC&_cU zx()sFMvZ5^*O+H5pT_e!As`=^CwNAYvqAr?BY0-B?-9@XQ~f;k_oD&a)|uz>>|l7V zp#XmArZYF_d1i7dWS)(GHS@evR}Az|qyl(u7-8X`U5g~oRCOEr=M5Uqg4xV-hgaiS zR|v>c<_ex!{KTmyo&*uG%wc^%butse&U_JYhv={m(r$WX$?W`H=%erEqeNcb{*#;y`e$vyvw(e%cs7}2#d8=pa^|`I z(_naJQ2@Vm(D+ckONCoiBv+~c!ev~{1soT&$uhV!IPG_D6 zU(|TsBLw7ixoZ69XUwzZ4T5I|J00;nKGBM2J?70k2W<(4=THjZmpr?CsOQ<1Qz7#_ z^^2M3Piti{xyrXl1@LUv-J<`z{s+mkmbwl7^LmZv%vYG_)TtWJqe4I)m?L;jBrk*h zSyS+gBfQ*y&Yob!vw-(A&sv*<;TipzfoHhRP{e<(A+tl~x$tK*&joy9zYIDJsQ{i& zzG%U7+xL>^4s{#)XC;kil8<>doucuaE(GN2+XT;8@-pb3H3ZK>b~^IUwlDa3>f^yO zxREo@9UFt;nNI=y(m&U(mX3q?Pfmr*(|yX!vy-kE#D5|cz%y^WMgKXxQ1Tq9ZbSd9 zpz%EGWu7N8HJ+`7fSi*hcplrtJl)j=&zbCW#Pj?(E1q%8n|Y4>Bp99(DS%({9Pojj zXE#oT%=3?*%sel@FN;C^CsKhtAF=Sy+m1<|4b*MupVw$Sm%Pk8=SO> z4DvGQpVb7ec4zmo`t-hc{bP(4A0n22ANfPxFpX#SB<8t(jK3!Vc$BuKv`7aRLDH{6q+h=Ip}$f=T;#gw_PuI_9ric{uwEFR^vuY zJVy+-;<=XhGtZLugW(yr*1)rHnKTsoC#OQ@IqsO5=NMfv&_9t1;Fvd0Y>t>MeuL=g_ z28!I5jyZ3s9^}iM3K?XRqh^qCx?=GDJ5nmhfOxPAqb&Th>sOLzs=5vR^Mb~+;05Nn zW2DBjt`LxytrI-6$jhLARunvkeL$>;=lJ!!84ki4fTe4We=ndh>@W}Zv<#D3v(Hd1yxS9G?x zA8q?W^4y_rL;pOd`DfB-=Gkf1pnoD2z_VF53!b-qE_pUkx1oRjs_|Ts&OGNlqwzc~1myAW z3Z65_%beAb+<)@I14GdG@(1crIb5Bc2hDTk%X{-pq6AqF{K=pa6c! zbJ%Noo&z}*GS4de%seaWih=(5ss+yr4_olOH&60xs%}I7l>O)0Va#*+V2$S$At3vf z3!aO~%b;;aSqc3d(Lyg$#1UUNgvHx?*ybfk>$!1D@Xxb+zC* zD_8QIqi#e0R5YH|o@1UBpVWBv69V$j%LLCb@-pb3C4%Q#b~@r&y}yBHFK*q;^NrVo z;kkk$_a)DlX6kv4;Z(>x>wjtHSx;9C;y;nH<2kpT1~+sDWoBgJzz|3xeUEK#?if1c3%bJ!5(Ip}eX=T;#g`_u)j`jfLk|2!{v zR^zrzJV*5P^VE;$*YbYGS~4#ftYHfcSPNf~_Co*URLEGzeQw4&Mpq2dNuJBqZRnprXgurvlX=z}sPTMG2*|C}1+1dT*`R-(6Fjro_lRfxK2|&ja9d}d z%jX8ea}5RXOE;bA)AP*aRLDFV?>6(iQ&$Y)KamRHIV#hFXVKMMQ_OQ@e~sr}At1k@E?_m3ybSv1 zX~DA|H)7(M`LGqwY~Ig2E4~&C&!~9@o@ZZ{h9drxQz7%5mS^VqvaT4!e_SJaaBLw6>n+bs~|5fJM@@K&_gPo3e9#6I6S&w-$&q1?-;W?B7_$ALSFX?%< ze6<2mzj<~g;G#`CBUkl$Aqu$o9- z2K}>G@Qfq8+<(sQVa2n6_cPC0GlSt7{i=ayxXw_-e@-Q{L*}_K$INp9pV%*hPD3hy zr{(&|+dh#zcc|OYKTm2rlLj)+roA6hiyGZby$xcT+&v*6nb1o_lt zJ;+Bm6*9;OEY~Q?@V~Det}6!bzh`P71D-cmSoNQ`t(QC-sN2v#k7zuX^k<%PdTBgQ z3jz64bpfjx?s=Lx~{ zEc+h$XSWms&w1Rsndf)jV0fOS$bIRbJ2RxA6_ib!3Yq7?&&)gr=!(fzx*=u9b44=? zo|D!|o>SFr=%3$f{u%x#^DOD1@$4)FyrIE_0R8Tc|T)q>InvG;xq%+dK2_mt8*%3 ztXnplv2J=n76bhgslfZueHJ{wUn6;*P`9Cfex>mo(3^RtcGGyS76P(!hN^#(vqAs- zUhoX(woLvx&~3$Y3GZi~CteJO=NSs%mu^}xUK)z{Pfmr*bI2w$&!=_8ApR4n0G=xn zEqKmaEqTsSx1oQ^{$Bh@(zvEN&Px3P8pT`8x0WT3G;+f;}^VC0YhBI&G*8XZbSdf*LV)=$vg*j)_86e0&=fuf@gp7 zGU%WG5miNjb3#Cl^a`F)A3@($)%bz(3)Z^$(8yqGQxMf@kHLgqR9Lo?5r zx?&LjiIg4B7n@qN_YYS{p6k_Z=$~@@8P}D0Ht3}BoFD|`+Aj*8(d2B4B|hLvg6roqy^8%mP?+4 z)NSaWyEXqTOkth}of^-3gn)c_ir|?)fqAw(EO=(H?-9@ANq(OC@q9hz%~%JG4+iT{ z3gDMmyNu9dZOf^Uv7TCO#`@E6Sq$_~qyqZSxvMOAUjMe_Sxeo9{<%}*IkPkKoZ3<2 zc~l6t>!O+G#vn3jtZl5Im2KWuES@1kai5bj0&~D=VIH%$s?Rd_EYS z6DfdS@*MD-o@X~sh0ODh_sl#mKP!tt{3lWYJey6i;Cb5;$+LmF4gGVk#&gMo%yUj# zjpu10AkUj9c+Ma%gZ{Zs@Ju4S+}@Y9wBlLF`%w`n}XUCgs2QRCTJ2*?-53!Z02G0#5vg69%;I^r2|zk#QdK{HQZ zdN4faQslnmIr^V^o=B4&N#tyF*zIb&%J_Y7sAW!eO+?{&x^c+dA3RmhG)l72A&O{*7LlHQz7%r zS#IW;Jy;fl@4q8u$Fte17XJDD>yqaQbsPF;md0~H2j-djfW~vR5Rm(g6+BbO*`R-Z zA$W#!TPFV;*v!vUKmJ_8`x)zr;lW@%LjnBKO$(lq_Co*URLEF|yluw%w5}NFpGXDt zpLeXV;5lo7NfPx?HbQ|NzAiWg2wYXAt2WsDR@SamqGvBDR^eH(-F`5_ge8B zz>S=FE`KH%o@*$8U;5|FfqI^qoC=v|!r1LR7 z$on}JGRWg^nn4y0ki|g%L`nr2IR3O+&#K(3l4nJA8~W!4jc3LK%yVQ@jptq=AWs+} zcn&2mgZ{Z)@T|v;n0RL1W8k@ycQDVY{|tub4bK{QUhFRoh5pH@ka^C2!_0H0t{CW_ zNZIjxvX@1B|8SP%xnA9d{+X@ujBCX_8^mioCkO%gp5cOLG&vje&s@Q?fPIg6Ho4ot zb2PVZ=K1O1V0h+Hz3!Xiko{LV;fo@LEd8cQG zGxJnKtX8EQJc@7ec_W;`e8%!DePfIuo*;dFA(C!GGzeoZjv+ z_~q-gK7(dZuFQ*9(r$8klOvrilB3e%ol|zDML0d-&dlscrw6}g=HTf4>0im1ql&Mg z@|n2}d-u(8)SZZLNMg;be>pv;m1hneLPc=;;$2S9(c%Km;-7%Xe-*hrM-}Jm2d+5k zPNr;ONj;NNU7nJp9xl(HN!{_0f{aryVUX+e^@)jgdZ?bhvAvYkR|r;xxm%})?U)?X zi$=jXkuz^{ObTt|Km3eEl)}Q|O6XUt55WJ?_EY}t%&aI%5A~<9J=(wRX%{mZ1q?y~ zPVZBZZtv(QXT*5L=@}9e?e?@*D$G4_#qGVlRu=aA#wI%RaQ&$S+Gy_INc3+w{TnH? z;qtYMsZ9r>6;Qp~#YEFjiL^z9x~Nd99MTPy-vI|d*5Hyxu=&XPR1{_PAB6pHea4w; zQ>LNHpg9MwBu^=EO#T#yxjh$@DFEj7lsG-x2>6Qx-kS!PNNgI>05*(>bmMZ}J@dd7 zQ9WN;Ox?h$y`rxgsi{MqzR`-ZVmjAx2GxOR`0J&-fO0`ST83DQX4Jb$Ygw z0naZ$Zd5*eKK}Z~M!Gz?%EuS!YdC7bZqJYYa-X1bQ4fC=M=N8gY~;?tS#iSRuVwG= zsGAr@j`&+rcbDf6_+sWMIR0O0DQ;iqNLRwyw2p&jxV$&ITGWYgdv=X$=kj*B=<+39 zMB^A&wRnJNZ=P(oC(G%n=Jcjqbo&x{=T9!*V6d<4O8D93DN5grrV}Zw&Y?ZYjS5}a zmm-qU?rL@N)%ZfV$!WLegtO5hr7~R4<*5@>j1%uH{#ajKyrz)U6CFZQYEln09$mkX zacUm>8f0qUxR?~><8OY1|2`hm%Z*P$`1bz#E*Id6cJofh*y!^wX|JC9dqh zBHH^Nx{^F_mn*w40w}I?4!qy(Eq}@FY43D;?{|4yUUquMr(n}L-#ze3rwc7Fwf9^| z$~;}p@zQ}xVPOyXhFo{inRz-qdEgb7w?~*W;j&}O7VPNcOZ)3$d(YXeRDt4p5+bg) z(_71#`AcN7cYLG^S=|Yj({FVS+?Sab?xxzIB$S>!aC{gQ*Dhgi`sYcF{&GzD9H(-6 z)0;cJJz}YKV~s(w@r<)kK4EoE$#P7NtB9X6FNTjqC%O%6dNg-s{$5EQjclVi8~UP& zw1NL@`V*;;mR0Yqe#ou*U- z3ktHd-~WH^B$>&~B+-`VvCjiZ?!9x*xo6J(-7_b5CT_65;dhjlRS>7d{o$DOd`TSM zx{@RP=UBeEC*F~sE=BiLbfouJ@2U+?&V3ng{oHPSPhCg)m(u?3_{Uy%q%T$Pal{7o zu9_o#2j6+JoZgOgVX6{N&-&r(=;jU2iR`p6n#aWQ#$4JU{W zJy`#m;#A(|Y`Dppb-tuCd5dHGv{ErKL~yArr>DzpDFcovN`w&eRD^t zSCluE@=UgUoNX0{yf5A+<DaU zrP&dB!hjy@&&d?X#0jl{DYMh*?bFjal?&$CKM|}AWl#ves_XKs^Y!~w1!FI`IgwHt z{^Ev}?{;NfgzNp}ZU`I7^mV0OEaA%R4429*wHl88g5#ApF@G3OOgh7%Wp;VoojJT; zvpp&xquX}#c0PIvN>Nrdna8bD6M+moIE)9T!WFKOIM9{04wG(pKl)KMw>GY{7z+I9 zRNC=aSIJtdG0aK$g})f*fNY5u;npeM3T0Bfo#Vi}s;&WLU71b6{!Py0vt#b3`?vac$SA{p|V{o(Sg?e0x%>RXiI?--VOL7UmRH45lLZpK-o znl42*F}@ndbIeoVi$Bp0%tR}kao_#7|5BLy5EOAY9^SK~EOJ~-c?vV$79|RO+gjp~ z%;7x&x_&OtDmaL<;crgF9ZoIeaFy7?^Hz=V|J6|2jdL6C%Oovvm>X(heZ-{%PH$zb z<*NGP1Wr&g4MuvQo3~T}&NjlnF8!3#(H-eNa6H97dXLj{J~t2Z;4W{QTT+q>9Iw0v z9bGG7cmCDMO~L;XD&!tJTUaQ=$(?YHmPuvUjKE)8B7G;?V&HedXw3>`=Hzb0Ji^Iy zdRD9R_Ym~coxc?ABhMdBXFGmGNcklO>HB;fKdjE%&;K?DPpK<;y<_~tP$~Bd2=Yxt zvtazd>lcX`aoL&v!F@4u4dc0h%b1=xd(QP(!TEA0;vf3Nvc%8$8EZO>kdTN92KH!> zo>-S>8-H#OVw{sKxj`%8`=;7^-$yjKcWz<~yGLv{)af~nC6;Yi#6P}|*WSB52l=t0 z|L}`#6R}F;FdY1`$aH$s6IbylbmCdh2_5fpbUx!7x0TnFPbCg@dlx4jU<1qvtOs2% zFAx~wGGJC34R+FZ?iJd2nNmsYdQ3{ReluHB1B&3E(}T;@^u!H(n^DLbzU80O!_X!@ zaSPw0oUi;tdBxPKzBe=}t5_sb#!3nNiIFlDa!?^CLQ|?HeWVFu2J}bs&ys$wW8 zg$VPc?~$ueh}ZvBR$cs7iOZi{Xe&FPf*2gtus#n?+E#NCOnTDS3vdq3XM=_-c>p|; zZj-y4Yx(QWv}K92pmR(|$6IT1=K=`Y`i}CkD2D&2Y1Pp&c};E=)bpwpQ$RfSJ8j0? z0htKbD2%5C7p&qWcR^m>HaQ^Z#M!@_9mT=vR<(J=ECo2o5g~O7skMGO zJ|Odg;Pp>s9(!;Mj(v;Qz+3SjO>q*v<=zF-X|g(~qyZZ*W@7{ZXm{54cEz6x^N{bs z!05($guqT7B|x0QA{j-O@f! zhtcQR-xYtt+Q+Twvj$5-RQBnu^yzG^&%SE*_BnV)^qIIcoPCy!RQ72Ztv;J^0PM54 znx%bG!sv64(x=te;q?);`l;QuaxRR-cb> z0PHils-=By3ZqXmrO)mq;p|gE(z-aZkfCHer2X>>f&yz}@9@hGtNU+!Ew^O3e?nUAJ=bIOleL6?0&mJ5A`>aW@v`?Qf`aGia z>H1|jecEXHEXFbrm3_J?eOg-U^X*mk_St$;>@y;)J|91??2{O+K40Si*k|rlmiB2I zMxTyKpZQ_WS1nDS$yf%WvQJ~BPlB~RpH#ND&*#62eWr!A&#V7d_9+#uKJVZF*eAWR zrG09L(dSyF&!*4A`On4SN}p6L15w$hywc}PB};w0mF(^FpA%xArD4z4Q<^?UfZeF{ zc?k!=J_D`wxm3|!pAt%+Mqh-p&)!sJpB~ZblZOMK&-RLz_IWytKF|Il_URS&e7QA! z)?gWk%09i7KAo-g+2^pg&%r#=XJXj%wd^@%pO(?;vl$1#K8qce_DKn&&pk??5n=6f zqo&VXECW&5r?t{2(ORG7SK8Yr>$uqG_`-1hGkut{PeQc%e1rpFpUGER+UKS)`ZQDe z^!hZMJ{2^5(yTo5Kf<8hAMpqMyt;S8~}ZeRIt=%R0VtcyzEo{^HDf`9@6yL4(vu{pC^?* zJ*@RPQQlsk-*QBs8ez}ZH$#+tI!CL|9vlGstSN74pFUyqc|_?`?&EOwX`|`07|TFZ z_UWedX=$y`x8>~Zv-OzRXT-d4`h5J1vQJ{P`h1N8V4u0=EbY@aj6NNeK8-#Mr%x?S zpUGGTqOwn8rB8yjKA)7ex6kKC#Xi%*+UM1$m3>M@tIs<)0QN~QYiXa_Vf49H=`-=a z;p}tqDWy*;mVv13Q(ozFCf-sXZ@j&I{&Ph6&j;c3c}mmg2(TNKJ}=<_*k_=%K9|ba z>r+DMGdQe$_CBfX(<54a@^Aq3*$96TiYl$#Uod@UQS?9(z@eKz9&*k^HROZ%jR(dQne&-uCG^tn;fXD*h3sO-~P z>62)!&+<5X`(zyy`wR|ipXpC1`y@oG&qp`__L&@KX`h?I=+jK;Q)6~G`&7{MNyjn} zm3?X|eM(vDGlSpg*nGe9-T~!5Vb9md$CZ7~0J~A?lZgXhpVU&8_PHXAK9!U{t-{*p zmqALOfzj%70S7>zBPA{M8CBBWJ}>VV`!ot`pNBMkwgbCS+2={6PY-K-PQ=>l^V`p& z&$OB0{O6m;lzlo!tIr-B0Q;+@|1 zd;4tNC-zwy);=FUs_c^(tv+Al0N7`42}}F54Wmy-rO)7Z!`Y{nrq5(715w$hvC=2O zTAxp1?CtaUUa?QFS>g0~b)d3Osc7|i2M54D=`oh}sU1e2Yn46|!`kQK0HseVmVv13 zQ(ozFrqFBkeVn(Dx3pM)-~FFGVxRNxgtO06nm$K>-Kg|=2?xMF1FiMBRA8@938l~R z8R7KV+h5tIN3{Cn;Q;8fy};5wPlwUx+1+BF8q>q+So>7a^hw7u5S4vuDt$^> z>oenmy?x&MN$k^gN;rQW*;m=;46qxOKAAWG_DQ{9X`d^?=!2a++@H{DS~z`vd06Q) zFj{>s-~i}zi7=17?dA_<%4W~~VO`pYB2BNZ0H>FQYYkj^wXK$aa z+eM!dVeRwrL&`ph(dzRx4uE~;p0l)1+c5fcRQfcU9L_$qG<_yx8Hmb0jg>wL*7|&M z*4{p!&b=f@9F(ym*#Hn%0=g`>K7KK<6fxwkc_?OPHZoC zOgfJ{XRxaryXtY1!9d(*gMG!fIU9Frs_tb%^HVJJY{Cs(dM7_G;oiH*g!Uh`_F4?#Om}r>j@b-PrNl1N&h;yPTf8 zvCpyx_qpC(4d?Ut(gIjCJ<%!cS;j}o!@WMZcjN4+q1X`5J)GE$yv{d&T~k;? zHNa3(TQ9}kS}+CnTkbF1l6RxpZ|X|BRKk%VXA|3muWoyNOtWoh?ap*VF#fAM{3aJ~ zLe#b`%f`^VAH-l@Uc-ZQn|}TKSF!auv(jkXuJbJKrYM0s{@OURer@keKIL@WaSB_b z%V5(#6m*Q2z1t=4L9>Dqj#s*JTqWj#u33Q#E`l>3F5P`cxO6N;zJMQJ-$W zr#QzevFcM(d@AjDWjn`M@}Ao|F6HJ<2z8{l;YQSkr+BZzR$q!|bxMgnsU043oLuGf zj{Gei_gbZ`EAg0Pdl}rEQ_-EgZrI7k97A@dl-T{49T&k`ek9iT3yT|_-clf3qDB;|C+*vl83T(@F^xT$P4+_ZEYPoyR zx8z^+;vTre7tg+F$&KA7u|3z@Z|ZfvXpQIB(Trx zdSJWqC)n$o2YRf|+rj^^5B;gcerm`0`}eS&SfNHdw}VelJO#T_V%Lw96+RQKuh{&5 zVucDVlofb`69>9|H^)%rX%q*ouwT?W>AO{_=^JubS)rf73Qx${s51MESfSeqWrZIA zb}BejDOf6~;EQFb;Ky?KoP=3Pp>*+Px8*4=><@t@M_L~PMcMAnDuM2uA@qSIS)BGQ_v6Y-LE zBD(FO8LKQqaqvXkuZ{0h>W6cB?4TN_>{SoA;{nLVq18{bhotO0HQ261e&(wJXl@qA z-B4HP5sc09dAWCCf(09`=9-q?nq^oZxG-o36cldFO+<0fc(s&9^x%6emFfnia+BFr z(0J|qUF>(`xLrIBC$Exr{7`zA@>a~T@;sim6w>ZHmGKMk(ZApQ@5Bes&rtC}->Lfe z;HWM>chL z+7Z#j2W@387b!kywZIr3Tv8u9z>6&7gNZAQ@j+X?b8gAISsx$#CY|K?{%DD3K4h$7 zjDhGN6?Zv4uxj{?ryZ5b7^!68ASbK%8tF;<%RU98&hon7H*zmNn->0mcN5YsIKdv0dLC1xJ%B|TfHJz^N8MSt z-&g-WwH|8g#2Hs$op>U~xK2!+V^}AqO%?5XH#V*l^_BLMQ5;++Zq~Gag<3=C3dT16 zdzu34#8+a)D!=_A+D|*Gw66#4gIw>ddLY+d)H>;4SoNPnCyY!oVT#ylb>vRGzba^|C07wmlH4A}0bLXIIA?DUzfY^Mb~4^I)>)xjy| znfC`fIa_&Dm9d61pU+`p8R{yp`+egWaKLuPSYRa18xH*vq7_g}ecB%#y ze6@fLgTcr{v)MJg@I*#~TOu4m!!L&+`ymuN&iIu#1MlE*{ppFvcN0*~I}M zLf3^4AEgUf@{jR24B?u<5cEraH6A}pjt?yPAK)Xo-SO|N_v7DE>;23(bnE@LpLOf~ z`#1mX^}f+nYQ68JU+;5ql@rJZ)UaCb|7*G4|1QjBj=-M}Xz`cV`|5vTy-yJo6luMm z|Dj>Mf9H<~>;1GZjq80o<9gpjzuwD(2LPGUH)-pAs+J9Sj0=8al_@6x@0VJ#TSe{Fi;gLIm^}MToJ-Bsa8u-`qI}z{{a-i<&T+z>^csrJIrsZ7h?oDu{BxjFq+|@g>I-bFj z&f&od6|3SY3TUyu?qgWT@%aHP>3HqAY0M#4@;1E5a(KUoa_qChR({T1g^#*rJ*N}F zrIz*E69dco>%z0(vOadYVOf8fKNI9l>VyOI%X+zQNZcxw>gyNADmxT#p8k=q`+e_k z$E#^spLx3gbSE$Ry-6?stN>az1*M_O`u00mxZmeSrS9^tHb$adhrhu`c!Bi(%fIY* z49oiJiK2Zv)TH+Q%Rl#K9#v(zLHh?p>yy3()EYu_xb~Zt^@C!?Dm9e$tM@7GySerF ze_HiG{Lj`p>0nsar^^6xe2ZZU^RoWf>v@NQYqrh8{sVn7WMN;)GV{Xz0g81C`~D6A z>-9LRtmn^Sq)#&}>>2z?BX80j^^6Pqm7BzR^H3ZNimJ<)Px_wafMLB4w<+rx*S$F% z<=pS(m9{r2W3RH_6^L$h3wyhuf{XrO!{EYxc&cGxKf>P#@+Q51t#M(0dLxgja=l+c zS=e9D6x%|@uqwuD3I-PTGD^1&O1IoSO1Edh?%=BYrX0MVXLbXl2UFyd4c&9E<$2H+ zc8UA*cH}0aEZ9%CU_WEEevGU82==oJ!0`8jY{)@;46g2?KgQ8PJKlIf--^dimE!}e zJ1;mCf7J6w&F199H1x(z*iQrC5g9MxI)cv`Ea|&$e|`BHKqed0 zVzB+)AN4>c96ud|KfLnE41Dd!SGNb3M|fUfXP(~0iDOaZ^ztz^d=ADjes@qm2R$N% z$Ep-0Rpol#m3gN;2}60MdJ4nf_H^39F3k#kD>(zj@E%py9d*vk+j}}&-`>xW{sJQe zWWe!!Ej$(qPoDAI-V@KhVp1`w`89Oe!nm!%mF$74atU!gzQ>C_LlN>%)Dfjda zGRt@E+w|ZoCi2%Sy-BU1Pzpj)|060EtrO2p6+P7>D$e>=Y*8M2HD1|8_wSYGHT4Tj zfk62CD+hRRQj=Xgac6x??&JeAIZgygOsZ0OT*Zs>HF!wy=@UuU))vd)I6TATao-sgFgSyTW zo_m6dRD`Z8Yx%|c;x&=0&>cm7hF4AGr6UwMH<49%W=QH#!}CJ!Qby)OQs%8jb7tZ@HcvOWHlAlG&!oG(U+yoG+UpP_-(B#LLb>=I6rx5Hk*|Fo zWCz~3aloM8YM}bv>=E!5y06{m&&?(i++HPqhkqfWP8hR=lNE zh+Aq;GRZ(i?u&j+w2Q)1Vn$4>L9FeqYU$t4x54Lb!Pc0Si^WC63zI1XnM`>^Ni9Sx zd3z`kx_^%ke7Fd{XIz`xK=ilg;TxPM!owGKn|N4dH~bRbvPD!>JnZn_h&;RoMzrDK zRfp*5QSh)=s{jud(8po>etxHKhq~x^Sg*Pz4@U`43_Kihkcx%n;re97!#bKiJhO5t zK1GG%;lSGhJlyrGf?1_Egoh(knAsQ#>3KLOOL#a?^z`%aQ$}w%k)`oU9=2mV0s{ni z*cJl8!+-Nq-kVfsyW-(I0LGSw<#>pWhn1@N!6ZCM*Ns9Q6<7 z;eca*mxt8_{kA-uD089+Jan-GZ``mQ1|GIxDO~U)N{_(9dAHc`a1tx5csLvt_B?!m zwK^USx-}dR8&Zg$hZWZAc(@WDqUPZ^&J*F`<3E~s822OmGK7as-;2n@D`7+%9+uok zPmh9!U6TSloJk+o^YCWWMaRR+36?y3T6kjM;o!YgEG!R~v{XEFX!-{Z#@Nn=e5+BxtLV6y)xlDN2L-h3X@LdLtaKb;}9;mpc@ zu|6N%+lGhxxDMO$u!%ACgW|d3f)^zstk2f__^bj*vM~1Rf@{ z18-datp*;}XDM9q9ZHYD!?&B+@NhIMta$h+D(rc9Cu?;)e4u$a9#*FiKMyY=%m~DX z3$p(L4~KDT2@iX2G4b&C@8OprJghrCA`c4)4#cu!W#uv@HP6l zo`=_CVJ%fmkfc(yzoEOVj=JZ#7gym9~f#=yg?SPECn zJnYY@B|LO) zHu3Q2CNmE!z8#T=zY-kQJUqNDN**?99N^&?`naBlSE4RD9_E*|;b;bp zaKas5t1hm@tAU4CKp=Q{hkU1#baIX2;qzdcEf04?Gd&Lv#v6FpS~z0K!=_s!@NkR_ zT6nk}PHEub0MzMuI3^(0w}ED~=Hc=!;dtm!MkWsjYVra+JbeQ@ja&BgKa__pe)_vS z%oX6-^01f8i6Zc@Iy>;jby{!WVM&(46<^}Q6M=`%H?ZO1!>q94VHZ@`^RNMHbv(Qk z=hi-d_~-RH9_~e$5#Zr#U;PCh{)yx)hpqVQnBJs3D5U4%fKP;niE(-!KEt39hpzilby4s|2oEno40w185+mqy z|4PNfL13CK4>$1;UH))uNdpfX)5d_)ED7li->205CISzK$e@LXYv95L9^Q*OJr9Qj z#QMGxbXn#PKiM3PhlTaU$mC%UO=j0(lWggP=+`Tep7 zyI07=tQUlbjfM#i_dp>%5AXdzc$g5Q=i$Q)8gb~CpQ|o@{VarsCm;qqydH@W@bLSk ziiZz?X|_CE%0qNK%qkGe_`hGSNgG@9u;Tg%JnSoj79K8!3mbTNJL>d2>>Cj4`#{iT z$-^1z!twCrHDYA)u(KvFz{4L<2VdUX{~yZ3tG@laJlrV2v*lqc%$FkZ@J~)EZ(P0Q z1|A+}DO|BP7oG?_e4w@s58JWAiig*s!k&j^SgYeH_ujUoUrO&i3&q1b!8BVQ&gUUI9)A9(frsU3 zV{0D9WJloPT{39l;as?|frl+nr|02a0kOU*f-XxQdb7guaDVjx4_j*T0z6!eI{0#h zhyS5GEV<$D^6-BGJX;<%0uGAA!(2`(Z(QZC3_SdSrEtY=TzDez@Xl&BJiM6|Ry?eN z3VR-&t!m_98Jt^t9&SYIK>qM!gc$)I_WkfL@UWf?m^_SMV&dWZUz&NiWn4raeu_SA zcsOT8lsr6sb%2NMIhFN1{0?=|@o?eqmOQ*d&b@($3P`VUE$#w(bLbvb_^Qfg#R~B@$kFE4Jps6M=`fUS-3>Ygl2$!#Gsf^Dw8fk%wp5+IIip z|Ij+X!|4b!0zABH?qA?xWf?Gecg<;U)HHyk0*46%`B1!#hQ#v%Z;}b9x@$j0(lWBaQ$MAH=2^UN8UW z3E|=S{=&nLppc%2^`{CCkBFXr9^TBL5r@7qTXnJGy$~KQuSor?{2^b)B+dLt@vs5b z4O<>gfp;y_4tSK@bL1#%fqPxJX;=?0}hJB!;PF&-njfv3_M)KQn+Gc zE<6!<*x*VV9$v``D<1xSMK~V*#9H0;at^w&=i!HF9pK@s2r~jaY(Mia@Gw>eOdk3^ zHt{gyV>1swdm$nZC!tRp9;Pjhl82ir1bA47Q(4c$Pf-^g58ueM@#*vs9)41u`d2w7U&bW8_Fu)rs-V0r4@dA29S>hVZs6e_;fN&<%hceLwWeaSAUm> z9s!;$56{b-D8lzC|6>QsvZJiHPWiid0B0z6E{rWx|^ z*}lTV-93eenNUd2!;-HF57&sEejZ-Qpb>{YHbr&u?%N?eoKc$kSJ@$7#w3k-Pw}t} zC~wQd!8}CA!)K2gc(_?OV#&i*pG4rH16^x890->+@bEMYqUWI_AlBDY6KTQ26cK61 z!)fKw_LwUG*(ck6ai->>1+^=_B=0p*A_#r#+#%-Hp;NhDr zg)5fl!V`gqWlGub@Yj+yJp2(A_B>p|S{)D9qknrIdML!t!>15t1bA5It-rv-L!2kV z!ws`dJbZMvnTM}G6Oo6{z=$?H956ph9?p*q@UW0RuIJ$-)J4a`VFxXF_^t57kU!k? zVMHEQ6_w8VhG_Z(_G1^6@bhqSOn`?Cv1x`pe59A~aMQiQ!+%k5_gv>5UK`dLa-zTqj?~Bn_Facz70ovE^Ye9-`ynBL@sT{8~6-$-~b+h`_@_ z8MNdNd%$H4JUom#Jr4`_`^Ea4nn(*CwiS_fJbXJe?wTczE9oGY`i;5s`-v6CBq2 zZSH+PN*+$Tv>hyv@0U-~$MrlMjk@S~*nh7j50?v13_M&qHzE(qh)QRDeKmaoJpA?I zb}c@fdx2WZ^Bk%pxks4YbD!{VX?Nk_lTb*{!^7#q!?~iTpNGFrQaro^uk2#9H-v|y zAP_wKQof8y>if3hVGaOe%fqfbM90H>_V~dh_osX$9I@o#tT_>Qcv1!}JnRgYHSq8U z)aiM6a<^Zs?>0@O1rKi$k#;;Bql`=*ZpS1r@NfX?Fsnaq{}1Ki9C=LF-+7+HgMxlr z9&VC3Q3M`(*nu~0;Zy?;pJORpFpttB@G$338y&(c@geH_m$NxfgohtYG4Zg=6f+Np4vfgd?gWQ54{x6pB@ZW_3-EA1eO%AO zXHXX%5C8R(B@aIlo)~yIe`Z7;o;^#I@O*zwp8yYkMuoawp8Q9Ehh>r6Bg{J9Ej*m> z5+3%3LV6zlFh+PdS@iVt@Mi{%IP@00vWsUXgz)fb2m}xRD__PW-Svjz;ZFdJEe~7q z5FHOY?(l<2c=(QR#FB@vzZ-#v`(@C=!aPM=W_bc4`D3elLR-9wx$N z4Ln?gIz11+-{KeRtEP#x;NcY_(vF9Hm66HA#h3&J9^Q^R%<2la{6l$|HuLZDFj>%V z%ftCHCyKzsC)j~E?v2+BJiM2saKX)#9)XAJPulSCQ&w2<@GVr>^YD4r>UcQ*R5%{G zD8$dh8^`K+xE~*EczB=Fb4eb6crSkBs3#r?=bO!WB0QWh36|hvnsm=UoJ1btXA@$u zH4M)`Q#3BbqbW zJDy5$0Da<_i>cN4yhXS6K&seZg}c69oJg6=ls@u6IH#0oo%4Bh9z5#~zc?hn>yuGP zbylHA{_&BEtdi%Vp`1i2@P zd|n~hN8MZ-mr@8Tv#j$wR%rk|HJrEJ<@vQhTkel<6vuJeSK@Lb1{@>I~AO@6VyrXupy#90AR9C#y0b7p=l zQ^}ceBK1D}loy;3=KzvMDcd$X;rjvZNJ0JlRsC7zjr*w4q?is9p42_ik+V1SfsU9G zYDtUf;CO3o-j{gzsd}DrU?s%!8`tMH_di1rPAx9jhf=+9uS_(s@J^P3g)6z}@KK36 zwKg9IeO73t0jqq$(hsCmKa&c?q4}*BSaJYnkwH&DW6lJ6Ce(1GKLxdX+t4<*zfv&o z0J@^_XrJ5^zt((`N@gnVOr+^LQRE&?5zG$_0<3C)s@$sTDEVnA>FuPi5HU#JSMWl7 z_APvA2cPGd<0K{64K-;?O$r{z*EcQj4!^JAe_o=QpZz&D;iuDM;^)x`W`1T|Q7ru2 z1i3}vXH8_JqTuJ;TO#o@+o#A;gYyt)lk-qHRlJlGH$NA0K0wYYx{)~VEGg0Pvk6qv zITjF0|MBy)&U#CJju7q``1$;6QS)=$C3Te^er zvq>xAXI&_!=jW6m!p{d$9OUPm7ZpD*yr8;hfmcq<06&{UAo%&Dd@q%hFi!DvI+$e5 z&setC@w4nYKgfii12`aSe)eQ=fHPss&v_WJ#?Onn=tj@aOw{T5Id83BtnU=L094Py z8CIw!0*-sb@UyM5E%^DSCMdwqdaUxs<<-BO{H#r>-nct54E!v^Qk>>7Ts%VfnR(QT zpTk*d=I07==umz-(OBo^8b9AaTN6KN9~*wgQlvFMbBj-M+AM8nT| z9GmbnKHbF6_tVV$>=Iur{G156Md0Tie3KLfKL<98#Lsbu6*+d(PYwLsASK1k&taOJ zAV2#_iH@Hq4;dT_{G|W*`ME#KlAo=FI|hE-f2Gl^vHmQA0`2Wlpbr~=X#dnG`Hu1 z5W>%HP|F;DCb87a&(Z7%tB*1MjOWNOLUAzutdF3S{Cw#d)y1Nx zL-@IHFUL_O57+l#^5o|gKWhPl*8CjD_BwugzBcglFb8DK&z%eoaK>%p&j#pPE!?$bViRiJ!5%6ghfv z9vb-Rl#=4+XFlfxwNUtW0;oz1e2`!*@^9S{B(V3;O86;$eN#17#xJ-XAVZJ@w1K0b$$L5 zb$Wj0eBl@CYbqi``Pm54Z237#*_QcFxFb;$;AekUdE**azMTB*L#fDr4ma@gPL|>{ zuO!n$___H6gg^e9vb)= zFD1pz&xM>127bFbiUObX5gEW zOw{T5Iqx&SSl=mf!F2t8{Dm<5Y^!X`{HG=;z|VTD0za?1ocyd!smOm0HSn_xOTo`E zTs%VfnYqP^pTk*d=I07==umz-(OBo^{`@D}n)pfk*zhx!BCYwE^Sw1cSN7BKbJ!zx z{9MsJ8h+N}*i`;=h>4%?KV#-+m(#_<&xw#*1b*&eIw^AeIj~kFevbQ2kz+Ug)WFXT zQc~Rf9Hz+$#-IJ9M90sQ-x?eX{G|W*`MLjNOMbQz?il!a>+q=gIT9jy{k~m%T6g_E z02NyP^BX#f%72bi@LPAC%74~T`A;aO=V#CRgrC(v(erZvf>OzUKCHSp-6w>f`4ofv zr+oR8w0)44{{#lD`I*i3I(}~a$PY4=|DmHh;*DpQByT z@beHStIB^qVdCebPnh``_iM56vn%XW1b)85bW&t~CRUBa&rTZ^Ii_(Q8u&RuN{XAG z%{4hee%6%|9X}UrFgOJ?n@UuMX^!#iP5bGN% zB15m=2Sb`IKbI@pGXJRw3h;9_tFV75{&Mnj1||W7tb5eJ&+#k;KMTq95Pp`2T4sL! zzSfeT?bwltpBvEF%+JbbYvL#EW5dsJ6looQ4nma`Kil80<7YlT*yKMuN5jwAoUAJU zIncz<>js+nxz<-K{457M6@j03Yw=&p8~BH9w~?I0(nj9E@1wXB(O8y6gANsMGT^XO>^Auc?R((Yh3oeM@8#V8NvX(x_A~JFPL?wNNv4PJbMq=IetyAHbNpE#4jp>^ zJ^_u*{M?4NCVtXBHvH^Fk=FcdfGR6~7Ghx!=0EST<7Yv;X!zNmV^jIhz9xPieb~&; zjKjsk&rOh91b)^;@+t~`&aDuMpV=!EIcjho8u%G6CB@Cpg`5ute$J8-9Y32uC7ok| zpY$I;KkLk}pZM`d z#EJ)?n4X_KI|x6kPto&p0D@ARSKjq7(r0xIG@}Iz@YTo6L|*$rx$uiukcYUbx?c4WGKkLSoR z<3jSEXlvpp?PJ5w>@RHjIS*A<@#mO3bo^|7ryV~>w~U6Lhd5bP{{JAPzQc4bM&f6u#flu$I1df{oFFB|&ClkVoFG5zN{No23lJ?n@UuMX^!#iP5bGN%B15m=2Sb`IKbI@pGXJRw z3h;9_t1dS`XJ8UQ$hx}?{2b3x@UxIi58-EdsAcBo@1I%nvmHA!@pA(joB3H8ZB6{7 zeQfwSjv}q&&q1iN;%EDgI)3KkgH8UkNi_VN&B?0rpLdz~dEH%Rey;tYSom2Eb}9lt zdo!IBnV&~49*K1S`vOIdUYv&pembS3xcQmS`2aaVejbn#9Y2SBYH%#@lm6r9XJ4-+ zKbKNlBR`ki7d1aGexj_N~`=Qeq0i)>j%a3{M?x& z{G5v7AU_YcSNv=(ugHJ43*qN52xR^f*ZJtPhf~Xcf=Sl=?8Npue!5;Y@N*6aWX;bh z3=YEaGY2Eq_}ND0y6*aYGwSsG%*phN^)(fdq5NzFX}0_vrEJUmC)|;!3GlN&tML8% z@yi*1_MuedKf4+Dc_&N3&y{3)2tPM}WW~=fSZanFy{W&(3|Lkhw=TVoLpBdj33qLnOZV~ud6UnP6 z_&N7%Bz|UpsK`-+^U%Q0cqu7velFyEFz|Dhl<4@`1S;tq3;d-2`1x69f+ask2zLze z=ks?*&Cg{YC@Umrx&-(+2NhcWa~>T<Y@c+$%_tw{3ir5|0!QSB_-Uh`AhPh4}N( z<>Y5=N=5$j4g){SuoV0p!^I|)~Q`<>1F?6R>~_&E`Bi@?u4OeaN- zKL_SV;^(-ziX6M?rv`p*kdor&=P*r9F#hZ(B|3hdoMUh-@RR=I=jZ-$mi%lb+%fR; z)^1Vrb0kFa`hC0jwC?(S04lWn=WIHP%70?hk>o!wGzB=XIEf#x1V0ZzF+D$fHWq$X zPt)^r0D@Aw2=a^P&Ge%42Ymj9eiM^X7tY&w$s=O4n)1^BT`@N*Uv)AO_1^}^3x zC=SM-^%0ax{wEM$`8F;82@G2Ea~#|2_~{vG;OAiu$eN!! z864n@+vh*gwZ_kpn2H8|mPehQpA7k5LbW&t~ z9?6Ns&)8{-9KARX4g7RUNpbTtpYs87g8V!nB|3f%nQCw>@RR=I=V#v+Ecv;V+8X(} zq(jvFyf{T!p@*hR;QIYADzyCP+Yq4TKef$Acl;*&9Fiye><7j4{M=br_&F8DL4F=? zr1;rdUXlN77{bqC5Xk%|uJggq9xb%|Czxc-&rWQwr z|9OjnpLep9`A;%EgrA%L&x)U4u+$uX7KlTKUcXO3V>3Uup{c1bdCjn(trH?tn-{DKSv064Dsjlt)u4W zvNx3#5;R=`{G5XdE&urj9Yy6ovFS+ipT7t{n;a8<)`enveom<={Cp6_L4MA;PVw_X zqUxdrUdf9Nf&3=~GXE)GJ|!jGtmQw!Bx`=gvb~O3-KxLEi(5ps*b&pk{hMUFoQ?u*3F zajz+I?53X@__;w!ikqLqG&#Zev!9gc_<3@Y!Lh(k`j4NV`=7StXDi{3fuFbD5;Z?Z zLL{%>w~J5fuHOfsLd$=8=_o4yiA_h6|2(GhpZFU2FVY zhN)=aXE)U8`8g;c*7q50XyWI5gd(=_=cQM1h{}Izf&%$nXcdCIWo++ko+gwn)pfk*zhwu)0Us}P-PW= zj;W>NXY<;2{2Yy+gN@A3L!7KC|JlgI&qo`X`5CvMSoql$b}9lt-(fl_GCvb{M&f6u ziHaQ4I1df{oFFB|&ClkVoFG5zN{No23p@tL0zc_Letyn;+>)Q?*^Ae}&$CUV=4Ts- zBtIvMPwV(u9~D~ub37eIk2*a+8wAAqhKk70>-WKsX3Njz%C^jZYJvj%oXsl4pBpYGKWAVPK*+l54g4I> zQszI&^bmfQhgxQS{{D(3Kijb*6F)bgv6-Kh(bmLI+Q){U<0#TP{v3oVD}J`Gs^e!q zKG@_x@$<2f`8k`DRpmdgGx77f>&*OI`(d&0vmESH1b+5rIw>+gk8F#?&)5t_j$WLH z27WrFq`3K+&-nm3L4F>P5*q#GOy{G|W*`Pp}XB|n!^TO&W0G>)2|7t@p#dT6=? zuHO%%Ld$=Sg8(i6sck;GW3S48?htb9Gl92);00-XdN>@Gv*cxKQ}>c5%^gX$*U;%IrrO0{LCJs$Wepy(7?}lDJgD# zF64YL@N<@w==j+LD(M^x{G|W*`B~>-OMZ?J?ik|F=dX{NpUXxoD>7>Z<=fDk-_&IKbBFAp}sezvxq@=j{IZTri zj6eHHiH@HqUo$Oqyb0kFa`hC0jwC?(S04lWn=L>Wc zmH))1BgubmRr$}&!p{RxOwZ4rC4`^VAJp@60D@At@)YF_BwuUe83MfmH(u1t@&B4ZUlY~Lf0BUmtiUz_}LA0dVUTHi1mF&8=Ckz zAEAhC{CVkl9HR1{nxFtb53vgS=fAp~{M?6003oHT8u+=MrObbFK?vbzH>hR4eotbl znV+NCk?Hz9o+HDI3(0??t%;wsj}1Sw|82|9d8o3AKgX2O@w0in9Y06^9t}Saak8rX zXB87aAFX2MXWX=6;b&LasR;ahhv}rq{7hUOiJzT@D{@TZJT&lgf|L|DKbvcEg8Zy2 zB|3gCNHsVX_(}iq^K<6Cmi#==Uc3f=o~;=*Kifbg`8ip9TF1}&sL=AC!{{g~|A|dU zlK=chb(IYK9M4kbKgskEewK$?W`6$utR+9& zu_F^dH=wbZpOw+p#82AChM(go(mMVegeoh3wvW~EGanyp@}H-o;pc2lR+ay(XyWH} z70vuyJGof+Sq^q80zZ2*ofMg$N0vw8XY5c#j$WLH27WrFq`3K+&-nm3L4F>P5* z3^6zs_(}iq^RsVvOMWh;wnly~xjJfoUVKJbp@*hR;QIYADzyCP(-5HLKef$AcdS?W z&n)3*KPaZ>=gvQbpHopBr|5?Gn&pTPl{3n?n!q3f5S@H7=mYU-Pz0 zZ06@Sv^DXQ_Oan-CyKP@X9HAO@v{&Mdocfb=|>xW795X;pZz&DmH#Yn;^)zFW`1V8 zRxJG71i3}vXH6upqTuJ;uOjg?d$1x$4bDRYKjWpOxcRw|^TEK+SyH0oXA`KTb1d+a z{^RFo9hW6PM+kQe@#piEqUPtaCzKTuG+hGxoP!E2|M@r_Mdd%S=}7XQ*((3JO!!$B zis|_|I zS*IUlD*wp=S@W|egM)DVoQDx>{Ji)ix&hXL`A^j8`8n@SzgXWXa=~={e%uj;pKXR{R{!QZqkSh(m|+(}~79 zH}~g1(bmLI+Q){Uu@q^|&z#4s`ML6}j-SKM+3|D5(P;Qtk7HB$&(bD-z8`1iXP1e^ z!q172TLgaYVLB;t{5fz@Bz}&2RFPvh{nWtE4N_9v{2Zpq3C5rOq(sNhlLHNo1%A?h z{QTU1yCpwc33m+qytP8q{2U39ynf#Yerc9Dtxy@}Iveex5!P!q0q)LH<*|d`jA0@M?_PbJq6|Flf!sY_`|& zb7Lnz$W;E5#tN3$FzK);GPuuZx^nqyjd5Du$K);Cl{hF-r9hBRA#E?2f?{!coKOacg5ckxwBs#O)8o{~<_e&2YOf}e$CdI&$uLoG8ue}Bl5pY7O@ ziJu$L*v!w$Xlvpp?PJ5waTIACe-1*G6+hdb(D5@LA8hiUd!pgzY))2{|GWU}d46?z zUy9d^=)3Mhy%@K5apGq&F?f9{u_9c0?U-WWXF1rZ2>k5LbW&t~9{C^=KVy3uV|^L;2YV(ro!TO4*kAPq-sd6X0imR)L>WE+;?xP%84DXAS(klcnJ2N-{l! zpPL`B;^!AEHOHR?;?SYj?-S72%+GCTYvL#EW5dr*6lu-R2B@;)XCW5$VE)r*$IpTv zqv2jk)sCZp@E~f5XC`$&N-&|dEuyvKU?6Hyyy_v{|SN2f6A9nNeL$vKc|C9*8GfRdmTT^w(x^Y z3#RM$oI(`m2Y{$B=Mvw9OfKL;QvmHg)c#n03GL-?6bG01<)mrqICbG7^@Flf!sY_`|&bK^~Zkg5D9 zjcd)%YJWuF=OA>g@pBobqJf{?P^ahTpnzE4XSAV-pYsul*v6liQgDdMe`-Qv-4waond{Z31Mwqr*oer`ZxGe0Y%t%;wsj}1S^QKWVJ zIS5r&{A|Bd$IpCxu*rX}i-w=GIayWy^O%XB*BvwSbM4?_;b%G6sR;b+&2&;^eja%< z5G{mpSMGRmjBc?AKfuSr|9Qy3 z&pTPl{3n?n!q3f}toZo_OU?0TfjD&N_4@=gHuG~E+M4)D``GZa6Gd9{vjM8C_*saB zJ(&Oe!H%B=tD@m&e~wM%KM$JtdGvsppBax93qLnOZV~ud6UnP6_&Ik{Bz|UhP~@n= zd1&Bgyp$9-KNoU782C9$N_6~e0+n=*1%A?h{QRs_$C95Tggb`#^ZA^p`MIpUvOy=@FZ_HE#X)|~*{b+?VTr6D%&#usR;`3vmUF!&#{-2pS39!`Okd@ewJY= z^PgNiLim~4){39QS!(9z3UTOAemc=u=jQ(WC)%3$N&DFFGnOK)`I*zknx8Ab)$w!K zcXs?-@pUx(tjDpb{O4X1Ki}VD=4Y3F#lp{tkXr8-HH94Tq@wrzR-C&qJ)j_eU>XPJZsgB!H08I}Q9?&r;?;xgdn_ zvm4YhU%w}@)XdM(?8tQe9?y|s#)afR(bmLI+Q){U*|*yAa~`U!;?FS~bo^|-(T<;^ zzl?^Thd5bP{&R{JAPzQc45N8)FvTNF8_aUL4@IYCN_ zo1e`!IYEBbl@c947bF=R3;d-2`1v_A!IGcn*^Ae}&$D}@=4Ts-BtIvMPwV(u9~D~u zvjrVRAA|l&%+#$H9vPUIKUaV&wrw8jh`bi6%G6>k2*a+8wAAq zhKk70>-WKsX3Njz%C^jZYJvj%oXslipMUmp@^c0z0femEX5i;|mNNfIribveJk&Dt z^Y`YK{A|aLO#Iw{#%6w2Mq3jKcqZu=v<#PF+~X~$!oo-NKSA9~DoZawc#-j+I~tCt7v z7}eh8{a2yOv&DsKx2l#dvqoRXdC=X1X3)v)t?-lEvx=R#ORREkJ?Bi`F|xATv%%?! z@4fo5n;mu1p&~Y)W|ms-PR<&A)aBXc^knC)bkrHk^1Hk}DwhzMnK5qknV07BvT?uG|kneN1RSK5gZ&a87KotdN0LAo>RIEK6h+Pb_6Yn+*}&g3kIcOJTNCZBV> z`mwzE)8So(Hz}DF5?!7)iEdB#b1874coz!LwbPTAS1G8YGi`OeJF}!KdBeyv&NN@V zD|zE+hocUb2p`J%am*QK^3H!(b$iOYJt&su?o8)7_LsNb?K#dJ&s8vRr)Rg*v(w%1 zP+({uQjd%isV=8yUG5ERlKkh$>qXZ-_{1Juo>I`NoI6veW$t~bOvx;T$_j}o9_Y^M z-1h7s>wHP4cW?oXy7f|CDJKksZhjFpekC6>FQHY&iQz|`X?Ykkd*A2GEbnf3wAml1 zcS2uOI6b$=voGI6Y@T+>F=o3nZB2adJ{=$G*hhEzU+?%p$NM|p*RcoA+snV4!>Mv+ z0BumonK?bNX)I1)dewNA?s0j}xI90(Jm02xzH_9XVbiqr)qFLtz77=M4-EJ!@@?{3 zN5;I;sPz2Im0)lB3E1K3cvs`6W1Lx+N>cTj9oLmE(QK9T|T1@wv|KbS3X}yml>1lJ_|#Rl^&% z2ivLLp47x@Zg0Q%l+3>PcUMKxdtF`)S7xn5ck*e+t0yov7fj+z&U1JV;Dgg!sxgKM zy`2u{sg&f+j`TX>x_eSfx;!mh@Qf4>I!it}e5pH=GN5WTS7se|@*YQe5_(AS>|NR( zF5&k4>}t3dMsa%{qACZ(#U0C6Inz$HcTRCO%yyR8=F7ea4|(|_Cy6@~?HsT5gE$;Z zfBXI20*ty2wRd}Vc3g&<7-z$s(oyo-VGeF5Z@A8x+`^H56?I1k@vtfm|CNV7mPV_W zN#Sm~&Hd8haJYPt1Mq;VppaUECIg_0>5ut6C}>E9e>y`MAe|4NVF*o?u?YRW~+Jl?i@aMwBYIsh@=1o|Ok;b@6Y)gd)qN&T% z+?lZ|wVKmYAO`J$qhCPifur4-_yBiJ@%D;ObD4ugAZyAXxw+`ni#+7_}_`2NA=tD-1c@y)MoH@_>+>#hQ z@r0IWhQ`CE=hhH~=1QQ^Y>%T3CeuUltr*P5Vj$vNs zk_Gu_8?GhfNPhBMN5@-ha`&QwF*PF^6|^Nbf(;QB_H=pHIlWz=8s@z3 znH#wB#w~boQp~#a#0}J)Oj(aum+$e1;*EUU><^Z1(MtJ#r~f_g6T#;L{?B;t^S}4t zJ&uNqmmtHP`8d$`LPb}}Q9iflV{PE=eN~%@8aMQs6hj?5u)A3}jDLLpfqE0pr#<~su&rpG8fC?L+0zAKiGpJQtRfHQ|(i5kkmG2h`x#QwQ6{3kY zLw7q-S&`jvv|3|y>Fp_9!d+ni9`A07p?H(tntfNyQp^aN)Az#7C?g(ooZg2LoBEtL zNt*}Qrn=UqhqMvmH&oTPw7EZKDecHEl2}bt@I~`3;5&y&=*sL8IHh7U z-sRH4?O9ezli2M6v6L8(F5&BcJ%j3#zOFCJwZoe)%C*DA_wJHwhpW+qA?M!DL67@(+LJa1w{~zEn-1Yib#znfH4jtA|i-lK~Y4I zCW1=n9qCdHO*uovASfURxof?9pO(y!Aj$XN|GSsx(V4R|XP>p-UEX)CUCvdol|OYm z3c^ja2j?LXe{7CVX7S>;iaXRJR`&D0Y}WzrG-@&dU+2Y&JM2L-lincJAOMYW*YTIW zZl%dhb|5qK596CUOccXq8DAvT!3TJHa9vL07Fd!QJ@kbV7hW=wc+$=W#8qiqUl`ITu^=0;w)Ww;I z+ZJbTVQa$OyBPIur^Qk8i;b(^+~TSVM+L0vr0TA-*@UGQcE#ZScbVfZ|9p1`+nxN1)#Uwde+P%{ioq6&mZbaUy73fg zO(%@^Sf8+FNA$zE)FqieB2dXhz`8VZuZ*{u(=(0COgmo8JYav9`1U>oJt{%#{ zM_Kj^qtaZGW!NA-tyM)dbp)Vnu&K+9Kh~T@;hYN++KYSnPC&qMQ~%W|NyuBJ)RvTi z046`E%*$MXqFqM>H1s|K3Vf*qH<*GRl+=yPZjYDJ*@!6r`0rmc$%ASXNmWx@;efLY8$xJ@TZ<&AcrAlnXzix zP8dO#t`Qt9e&b2$i2wha_V&y%gf46}1i{8O1fh#@8G3WD55A2w?TA1Z_Fx6`m;A@? z60z_*xFjyk@FWhcvDHX~da0*Wy(i9A^=>_-G4fXCpTa?md@@*_&oi49?94&=@N);U zgWuy1CV!@t$36usDGIcEF}|jC0)Xli_RcQQSf?Zrw=}>Sl45m%D|m^T zdlMt+$TlelJSiVD!eqNsrD-@5rJ<)qp9hZ~o=*>t#* zQG2aDbNXI^|2>Pq6`Tar5{c;ctz&AKU+S4(8k%2X%`blQO9%5yXY)&f`K6!wk`j}| zFZjnnuD;jBZ0$3IPdR4$)cA`050W&@@K% z^Vn-(z2%TB*p0G`=MSBstD7vB+Z?ipWCa`YNAdg-+FlCd8s?=s9gt z*HO}mOI_2+pL#|Fxj^5F2wQ4!$PaK}N$p7LfDnY{ixmX;;>4cx{y+!puy6K3{0O?BR>dPCjwBZ?(kA7& zXXqLrtDjzfWBrw6Jspq>3l)n`dX#9n{v>81uhV+f^QXS9z4z!CKhshdq8?d^fR(Oc z@%swL_x0v?apP|-#7Ki33S$(Nvi2zbe73Q)s2O`aiuS=0 zr1ZlV86bW&mQRb35pdd!n26vQ+-&zB{8UVeME>LV$&T;S9p6Qo(7#D{q+3oD_pW!O zTLd5JdmQN}9p58hX8z-IOF6z9j^7+{d@t|#O-23PlhPi)$g7g)wUtWl1go%;8EZt~ zHWe2bZMtK6&#YipD1w)0`SVe_@#70rxU~d&RrWXr(3o0>6fZDMxdjx7VLUnQ%Skb$Y0K62fM=m zX#I?1>iPsmOhTi*^BBifU>NtR8540Bu4iOk2513aol}f3PNC{C0vmIN;n8S;s!%74 zVLe5|__2!w7adOCMN&2IVKi`-x8g(zF8ZIi3mqETfJnC0zF^PKG6o<_Vx&Kl5eN)l zkAG)`KjU&f*qcf10P~+S7~y9amFYuL7c(085KYkCQW=yioxK>iECijEB)J<+0 zFOlhW$TT^&RFUAPD7$=_E94(#U25zAFao^91SsA>AbJRq9wF0+sfdUmQGEZ>%=L^e z7!e>I=%V6*%vY^?Q68+gQD39AyWj#G!D3Z9O4xosD(wnpU=FP2y?e_l4>W<30?pH(dW{A?OX;XBD8{ z@XRl!s}G|$O!+LF-tgg)oO(kB+oNj`UaM2=9x-21tRC?tFAGg?`2EumdP5^TlKpqX zDKxut>J86b!tyA+Vai_|fG}7sH5$I+)*DJa!m>J6`rm(gh7QRZjr z4R23Uo&4}8_#;MyYx#-M$kH2PDga8rD|$r0SK=$BH;llzokMRZ`+?RQR$}xEsW%kk zAHYtbH{973!!E|rbb5j?dPA2FLg@_;;EsQzH~h0tjVAI$OKgRzLWJm-H|2m()Q;cNmX>)1f=0e`M(nODCi4Ds^C97fW}@`qZgA z+{GqCT*}QO%mY@V2_6(|gKrjbJT2`~bccF0l|y%ke$u5oJe(lyeBTk( z&Q0Cni?Pza?~r^40@kO&n!3Z8cLeOMl8*_tlm?qXkf@Wfj2{>p z*j)wj!6-4BcQyHbz}Nc=1@<5KVaw>^v^*&p2nmhF7)yd%gtD8uLxjqo?%Nmg5jWrw z9I0-HU4rkD(8I4&chGd-Rvl*ZeiaEE`aq#|oAv;#mN}F6=TaSBQuk7I_)6dFRvjkO z;;6iIzzJR=MNp~(;#|fWi!=8IOVL@UE*=@IL6~TDw%69W!*;Z}MEKkP0=?nBuKCg% z*0VX=dP9*N`Oq77ZC853rQ#+XdP6cYD`350WEU3W{{p??;4U)=$(P=6LsQ{DZT?5~ zhH4<5Z0E5SiQ3C3+vs%Ej6E#9p}(y+-1mVZwaq{Je^+m4 z+gK|3zR-HZmiuxuT#h)J;SS5iLt96w%CW0r;~odu!RQ`BZ&>iH#c-EQPz?9WiK=RD z-kMWy*jG+H!FKWMCB<^_3-zTYe=~TQFTKIIxA63a_xk3oH!NrovRPbf9A9Hm&(O6|f38&<4KNu(@?HfUgVyvW*_sEFD5bEFf$rbio;7K050I07j!BPtzjpp;&5q#C=RJFoCvFamEawbtw*Net#XX2JchRK;}@Za!mgIU1TV9sJR^* zQFE7R?k}UOd2f=wH{B}iv+mqHDL+$mIEgJk!Ogbla1yOWi4HB0tri{jBhf-9qQf=F zEVSrQQa{FSu5a`75G{{6MTb2wCj%m<=nyQ2r<(JZ7p^zddNaJ<@Wb7Opf@}zWU7GH zH~h2NboF8Mh9>WX(;Ke&E~nn`96JoU|3s@nbkiwGR>~ccV)cinyeu@mVeps`dc#We z84gJgA2NM@xb+R$MOYrCH#GUh(i>Jh@75c}c6I3u+wYJusLTG)dc&1zG8VnCqBpEA22nvl!o2q?p8L8U0n-u>jIK0C51HP}vDGJ{R zqrF3KcwacFCfKn8 zGRrtZkjScr2J6-vsw%KuDH;TPks9plr5r}rdcz)2aN{1-Mi4=&W1YiDl|S`{r3_HS zwOi^RB#i|qDo3iH@TlN868Ug?LmNA*{yHnSX?r89FnU92buaaXTlKwey`dp3j>_vm z7|vA=q4b8D;q-{zd&zzag7;--_;v-)I68o@c8Yy8E!O2dd+Yz%f&-C|D!6$u8K$2+ms>9`iACT zTMV~jKr!5=BURNbS(;OCctJnG_V5XkVtM$x^rfbLEqR$Qy`kT2g{L>vNz7YsXkQ}_ zz2T=exod-dSl7m@&}!H*SV4*=-*#HnhE3o$xEy*z>Ei$w@U`8}n7~}&u=#Pf-tb9#(HnZ; z?Kb%Bvp>1@h6Y0Jp;T z8(N+~G~is}kT1O|eQ&x|*s~{9@pW!mZ+I0sI`xKE zUk{--^g^Pu>7*E6BeT$Y!#nyhc5}Vf0s6f325#z2Yg=k^G0)HsS&W4S_ByZfpV*eX zr!Wn?|EY=k~}pQwi~+9bIC$a=Y^gcD?H0q6v4dc!ogSg(=PWH*{XOVQi}SM7e)FT z9qn@r4;<7Ae?=UJ^vGAR6Q&5#`W!umt*B~$H1AFR8yS@^IvC6RTSoc=m%gTc&%IyB zXMLYz#}*@V^?U5SE(zFx)w+K9IFEmQyFg2EK=%VpMPv=EL_Hid==M|p7HBf9?dCEt=i>u(JxUin*Pb+y03n8Zi za1!mJ7JhOYcJgmE#MoWL*atX5h_Sbu#@+^FFZS15$XUBU3mAJPjJ=S?# z|6zCZVC<2-G^SY5xa2cM`j#u!G7?{k_AOQnX2F)-KodMhZQcIaUlS{xnttw2J(axA zgT3HI{U>%L??baV>i68f6%Q}v_uRG>*7c;M0!^`!e(YC>540)b8P*AKS{93Z87W1P zQq(i7m7P)yDaAa)>f0%iNQv|eyV_1Ej+Ek_VNrHU38a+p3_A^cI_Hu|Dd`y&v{II$ z2wQs(^w-=Pm-N?>F=eqxY*Sv=JK7)URHRts=l({U24Ct=URtzRlI$_(1EgBeA6+d0COf7M`={|S1(*zGI_4R%o7c&UV79Me zLeGe`xaQxSR!d@yu~iK%4Z!t}%Ld9|M-fTk0hb0Z$4zGc_6MFv|6Yk+5MRDLHj1zF zC+|IpL8)e3pdDJny2018|JwZ^e_<8Or0on3(v;iQ8p zporkRSkYWA#;8iZ=y|Rjdehm3!I8M)I*fUx05yLWw-+;f4mTk_SSJ`j)H>NLI z5X}s+qBa(({D;Jak`0&ztw@w?c zpwa63?mf((Jg6s@{0~5<4W4GBwfgIZL%Q}lrw1FMSzGxmO5Rh%zu}O-^dkOXBNWYz z!M6B;CADGy(;?PQ$C#@Tj&@yRNo|u^Fx1R+mIJ}$*w#uH>>%Zcx&m)3!wp?<1Esc} zVkGQ;>Mb#G&DBn+t?pnXq7e@r#82#h8i-HC#IdxCv;;2w{U(zS^d1Q?2j9EHlrDJ9 zUr2?-<}&(kzcVqzcnp8!j^+d@j^RT|(Al`D=L;^c0eaRgf4QTTLeENsP}sGBpnnfA ziGH9)|5z{H*uMrcBx2QipVLZ_ut*ZYHc7fghl1UTa`zgwJ)d5fzTV=#UJoQTsSw@o1 zp(o9+suPW;zgYI5F$zTu{wN~q;>`8-Qmr!T`BY(>hlJ1w8DxHMFV*6F;#d6NThu@Q z;Ld|sDJb^OuEb%Xd<4d^dPvhl%h~J=!A?xJe!3Jt?H%PDd9ZISGguElvXS*997VP! zy`+re?iU}RVuI1^^W7O)q%Ot&H_rEFZniV2ZD*38GjTW1F3e=7I6T=IzBqHItT9*P z;DyhRmgyaSe)N4`A)f0nLx@`o@$d!_1FX>K|@?bc1Ymb50AjXK!=y_hvdJ ziTz1b#M+W#@%PHSEVTL22VV*?Kl-`uFfG=?>78>ucE$mgNALe$!Okt~u_t$Q&yV)I zm4k%Zsf-b}5#Gp#!KU#tHNxiF|J?&kJ>b22Df2VeV;AqIB#CY>N|!L+?yLHPH9tD~ z7a1qk%6yKmZ<3lHJqvH3+OfU=`*}S-ny>xeb@QGdUG;pZ`O$y9|9duv3CE<}5DW>% zW$dFDHb2_xZpZv+;)`MDN2eTQoraqqJzPJ;{Aj<1*8J$8eo|My-tD!u=E3EQLE|4m46f)U#Fj%}ix;7DF$|2N+YhWKZ(YTrBM zSBQU}mUg{Z@-e3x>-J%LM*PFz2&Mdqv`#i-*dFMzzCfFna ziT&RMiLAQ&WkodZRD62?WgjmN1n>a0rqe|;xiPL zA@Bk`$~7+w6_SQ5B7fsY08h`Wg_(#p1lf?f*Xa zyr^{^;eW+??B#XyH9s1=AJ((yN1y)^%q`FT-~18UUJBzv=ltj~R6zmHk48u_&>2bS zIY9l7?f;%;1|j*HAN}AWnXhT_Ke`_Ktz@OIOK2>S&0Xv)90FiT73(zDDfVQ*+FA7T z*#Eu6j6JOR(Y_*B;D8A1|9)Og!cFV_|L*+gymC^>_rNNl_J7yPJtG&55ns>99e-I> zP6VBRRL-mnRXKK5w4CXfm%$JmVm)@&Z`A9seHZ(`d#V|^%Dq(8d@>pR6qP;Es_eV< z6OycySV^%weSLiys}NP?WxnP|JJ&3{`O$K5dC!mDP*$p{hNb^0VCY zqtmaq=0|70ggCAO!noI7 zJEm%9I?(llTcxmNb^yj zv1}>ky?^gi1GRHr)PN~ja#@G{u!t3lgJtnaeZkh#+sTnF ze^FCEm!AH_wMtJPQq`fSKY}JJWuTru6h|tA(9;LgZfR{wK?%ofpqA606l3CSV>ywj z?8iz@-;Y$DxvTW_hUnWonpX+xtL3V7OvAX^3{81}GbQy-6x}hI>z362LbbRh^{L2O zi?aEY)L++khY=3|3*^(sfp6i{j^M=_}t;@lC4f8^|%uQVF`z(-uE`Q zrar`}Y^~4iY0n2KUHx)qjPCw3h9-8PXdFvJU439oJ*>*OXmHc|8#7DGd>-Z(Rv{@8 z)7LfDCwi`5an!SDLs498OZ0Tyk?85P!S89ciW7|fMvD?X_ipNg{g@s$U|Wda#z8BW z5U+FrbtV|G+;}@jdR5`Qe~6P;DD<8aJVPGq6w&cBH04n0`9u7RCGk-W?0rdYCD4tn zDY0SDnZ*$w9b~Tzw(2a-q)n_zCBN^QWih&%G8EeK`xSK+qw65G6}5w}6$tot;s&Su z{_z7c?0zwm`IwCEt3)KC>?Pzg!?^WvHSETc(e07^z;YUHCJyiO)La6-E1y%0?jv{- zyR=~hO%Dea$naW8{%WJ8Bv->~7^jkaPaRc?Bvpz_RVlo>6sD5AyDRVV-YM2FOJNW- zN)aocIB)PVT*G+?SF=j-f>_f#g^U~TKYUh|ViyKp$2>ul4e%9N$866N%&4sZPFDbX z;k^dPr#I~BoF{0i0B&)a`F0KP0|G;3|MaK=nBX$=20R;OE299;?4bZQ(E#;4!802y z3+@%I%bq8=SO8k{1RF0AfSYCzpgm78z6;Cm?Pvm&d4f+hu(JdPOE%B|t$6~U!uG7p z;rK4s*gnAcZ!66U<>n01_T%*Nr~!8Yj|g_0*Nd76{v{qE_x9-wD*Amjj<0k+J!vRq zc(ljK$R~3Sdkao0=ZS5yghQPj*VG2_yuR7p44%f#!M@^wOu0MrWxEjn@FwNN>+Ad7 zouM}GZ{WH=cq=Z=^(Pm6e#wpp!t3SFRw)F%{ED6hsF!~^(WI(j^zzI{!s+FI)8(8!rn@FTWn(2`HLlfEfk7ghx`1x_Azp**W#{X={m9 z>E)TzIS`9p-mjTkFZW-^k;c-?pDZsOxy&>*(&W_3SKTWey6RWV&(zDeB&aa8EL?+?;y( zuj|oCFHA45(8QsaH%JJpmk+?BIMjtczvTNXL+IrzE*HJrnEot2moq$!2o?(^mtQS; zJ4tkuPD#Q&s==TBk(9+AJ9z&Z|s`iaQr8&Um1ZJI= z`YxM_)5M~eC*wgm_3|HA;g?!3pE=bESo#sPLoe?hqdcjSQKM3$qBjb)Wpt9y3?sm(2G*A`I^7IdhOg!Wz3DQO=B>g8<|*kO{73ATdcM|={Fau>3=c_6jp8NNeC>7&P0x5q^z5LwgmN@is zCx65{TJp0V>$=Moe{6oKgFjZqSNpNLl>_Iz9&6RQ zVO93+HpQ&5u+P5C_pJ3*spfjDqYdr#SV?+4Rv%!x(DhjLR|ab%8*Ai>HM%e55T$tG zl25IX>td-pn->~q?M}r;W%>~ z`K*r^8;Ea(N@bA5eJwd; z8NrUo3FhzVB60f#{Xye2atgI9tCxB{o!Vrbfg8d{$RPBxtjs_2)FmEdxaE>+JSlCN zmV4pWP2#4^Gs1Qei*k<_Ygnprjg4NJrxnK-0+Te033Z6E_eAmum9m9rPEpx>p zWU)tNCM%07$iiHId|~h7=znK;etA*(Lg1I*K3stOGJaGZ{4%X$IDVOXJ=OxYVgy+e zt!R3xPD!#-#!HG7U%$@FLgSa~?g_y!ufQYe^uGQqFMip60n4NKW!gs^(1l-Cyur;c zjfxz(EPnYp4*AFE@Wn(mI^^V+Px;YC1Kvd+Fh7%D_PJZ}%e8k&cQA_c6Ajtomyzi* zf;FRt67c=nMe)mL;RbT7$I86pJox4HrSj&NjpGZFU+#J%6u%tC9(rN?a%LR|zubCP zSbkXvkD_Hm^UH4KLh#G(r4_&Ifb*Qs$uAcyWZtg!uTvcDUsCM$&r7(4$Q9xF<>dAj zznt31;+GpycbZ>*^N^EYHeypTsSb}I6@FO_56a0epZgBK)co=uX^*lVt0GMV?-wDS zIm0M*nF<{g?TA|WkF@Vq6IA;)`Q@lK(ynike9X{cLVLF7EaNXmMJQ%ne!}`P##@x_ zy6^cwZvsV?fUk6C<(}U}IAld>^^8UH63!v>BpctTgN0-K;*b!7$i zDh<};m%p^;qrBB69~0~m0hwj^HP|G^8US0*#V`Ad(Y!Ms6tEB6r@$Uy^kW*`$uFm1 z49USS4d$zS-c=zVaXB8r5$XomB`w6_8P!$b+ zIf6Dv^?eFJ1;j7q?Vye~aipW(k_JB|Z{z5Gj<-kfPr2W)(H(bVJB;-Ljn*+C-?>3P z!hhU2Gf}>&?~@(hUv+%vTo?cG_tVu^`94>F?~Rw7E$e{Sh8T59sij%5ZR)3E`GNgv zj#fbqbmpr$Cb5OvOS85P1BrWiNje{qYQ36+?<-}j9L>zpwT&N3x-!Syy?CIYahpiH z1IgF2`+Sr+iHiwhDWKw}{>&R4VFm&x3R%%wSlw?#0|Z{fX07t-b2xL|znU+;1-LkA z|6`Pc@85`1ge|_`iN^@$-hY*k`Qn`^itevQ|23x%JtLxB^Tjhm&lfifIbS@Rb>`ZF z^)|9TKg!=*-;tmB;!`qCDa!vZ=Zo))c2WKnPvxNex#o*+tKsJSPq{gN*PQdk+0yW` zjIVIu9vUuKKVP|4Pnyf%T4}e`--uMr=Vd0iw>PcaJB|Jras+RR=HzhdI!q7u$!wQe zgoBY}2|6A!7yrbS` zKBi|G!chh0Ka#c z`34PeIDw(E7ceA&nG;-$@>>`OWjiYKJihVm6~Jm5pcX1R+5lHR$&%PY#oy%!&=M*d zD}eJy(}MQAaB@@LX504<^7DuwM{g)RF|g>5(nZkz9ZE;nb8 z$^XnSCRYKs3HF1=5oG3?7v}z|_0sxnRiUef@|Mo3r%P1`AS)horKW~?|IW-GY$$?X zMKbs3``wM99qteIbhCGEseQT*BF@3UJf{vL%-jy!EzsE%pz_tw*8&=~}tkI}699g4qy^=&Tx zUc2de@b_m=GCOnfEA;y``!_8}{$4prHyYN6^?r+GGtfsbjK3eN?BMU0wG7MOyW&wC z@picCB<(4yhMe!o*SOO8_g~Lez=Xr z-$xa-`1^_WPX7K9n+i~*n_z|LM%!#w~-)!tnPG)V<{In;CAPtm1wx{=RMsN`>nC6?qg8e|N1f&gcAa z$-nmtU;H4Oqa+aVypE#n9DMQGQ6c$ae&&b2=&K0h4mKF`ybhmpemFDK{P2q*=ZABX z#VN@4{K(>)`i}gN#kJCNE@*!EwF)k>*rZzyvY2yz_{uBYT(Om#E8gs!A3g}T&xSmV zr}Uw9L2uAZarttDVA(CwO7*E5m)eLu$0mVu*~4;?K$Wj7=o&$-Ma>Ue>-^Gg9@%J} z-xGhT(I1}nI0Z*&XCEW;Lw#SWIWN59N_$>-xXcUpP70O;B~*OXNg=V<#LPeR3ga&L zLH+DtV-&?2sbY=JpK(Z1^TD%TwMMEUQdc$~{3Ak*RGJSS#R0t-P-fx=Cm$S8kK>H@ zmEp|C9I1viW~aw`?MBl1jm!9H4y$`)+(VH~u`x|(d_g=AriGGEk&N8Ak`p%4q zfIh($x8E&R^rpoL`kOWS@8H}V^TCHFSpXm5sv8H*8kLQ9YSXN@a4a&c&`|)|G^?@# zxWzQD(5&k;uptBnGkYG3_TNWK~IHbMq#z0(hqacp_E-90Fft zGq(>Vhb&`z1G99_MZKE@{XruWIfa@JepEf5PHe2szzty(GWgHW2d^O(xKH2<3mPhf)0V(X&!Y4~z?B&_)B^880(Gb3XX-n-!n@{wC=T#$Pw8hHUZ4KM5t^txL%y;M>|%@yQ3_29&?F z&ga-!_dNJyl|#(#+I^&OA#+?Vdh2fL!)xG4CDf(VFpBzk^qx!}GPyzAD|FZeu%7-xA zayB;SeDFQ4`QW$N!tMFsW!*vA@}3V~5Oigpzxm*&m^V7YM~LU#^TFi-qCn<@uLCa5 z2YY^T@cXLG9Q?k`DJ`Gf3jT;il1vfxIr0=(2g@X`?)#(lR4*uJscd-uiuxG6I}a;aZ>d~ zgMHXPTuS&gwhtpEatwA4W6!YX`W45xe;8Yb-8+Z5ad>mCb>knrhbEXy7?6DJ`QcM# z9P`5q^!)HQ!Q!0sb&~t`Ob9tY`~?4Up7X z(=cG?t$U9sx2W}iSAG;v^D%C4>H$wj(@%I`c#-*-o~AEjK-hm>P4NUq34WR*_a0Ub z-D1R8KG55U;z7W-??&YopOT>T{N{)IjG1_Go}l5EyFg1BNItbApRuz6;}^Y#T|`1HJ+Em6?la zfO>xTW*gw=ckqYy{P6bQ3DBA!?!Q(nIKD3}XbTsQR^eUV$|gV&E}qrEmJt}*!&!zU z0B8vpXYg3u)j(m(sHdP@F15 z4`g+Y`C-AYBAc7^{qDw47x$lget16bQ&}9jR#_v~Rb7WhBa1?uA08JCr^_SlV{tn2 zcQHxQ43|;Eu4r7p4}U9YKEGYaN&)ftXCBLg&rhiyj?d@bKb*my;o>uEb&6O;=8)%0 zip6KXUswjFOJs4ZI(Dm#C}w z{D|?n_otw{hsZx-9{vYhkuy~I(Kl~~C=!Nn5O=r)bR!`wL ze+=BmtA*wBP4FmMHZ-3f^m7P4-7N1{xoyF%DZMXRRPxYOA{(d$UlUiEqyIbKwIr;n>Bk)Vj=X*(e6pGxCCUWrk z8iw+yn$Oq7$+KvKhn`dI+vM{zE@xZv-Xr;#F8}*$Xu2%JE1wxgJ4QFKz6{Y8pTGSL zKG2&)@*nWktfjox*9d1Ee12a*fhC_G@T?VOrO|*6K0n}~0;~D_z~utAnFed}`Qi%f zZIX`(w!8-0ogh&s6B#1_teek|6Qg-Ik@N?A18XXfn$2yS z4_|rmAJnn+K8LQcImlzq`QcNiuXl0B{Oli2d;!B&TJHVBpo*dP55L1M7McgD`C+ct zSM$T>{$b=)ZVa{$A9HUX#ygt&9LRj%=Cl4(bDns{KPaeL574`C_Yc=dG(MB0e^JRt_NSWXxAn#a>2N3(yn3}y{27{ z{UGR<0;Y4mIB+rV@>UlsnCQm}YP|oIs4?!=(C8CfaeP&UzH4nkAF0v54rk|>FaCbG z1@J}zXw$Ao_R_o-?OOc30E`iUHtqVYya1eJnpbGo2@R~hd}bNLufUIBUW;}OgI!Rp z1u|9R>t0P+_6UZ4V$<`**Vx#`aA6LxaE^{8UbaV7y(ZPyDQvHHSH>Hl)t3$m+d?GU zRo_)(nn_H^Dzl=(=H^kq;Mo9JMFCu1RRL@dfcAXx^O8fB@wv{SC(W;_6XL?hg8rZ} zA4Lr{Uwo5#KAl?kkPse02LJi_;`fL}xyKFk`MEm9>R~9)Ip>S-x3d_bvv9Y}SD8hj z%@;SmBs{-dx2X{L5l8P}XTUetFgU z5d88at%RYwd`uqva){*Zc4Eh__x&C$Gy?;n1{oq7J|iyJdTz3_Tn795PUx$^Tp%+ithifJ#TuRj8hjhU;ISSMfpqBXN{&vyb=1m=@P%W zIe&i7n|}5Y&HM9p-t-1_{@0@Q=Xu_A_rYk1x#R*Bx7hQ>i+(%vKXBgknn4`lu>S|{ zG3UH-`InHUb%AHPSRUtF76(OLM7mk2i{&Kfih7Tl-n`d!{UIwkhuZ z4K9ki1P40eVUqxtr7$UOk0Qk2{n=HDeu6&BSWon@Whq?>@g-I%imFmHp_mZx9jKs6 z@ysiVgX?|86JE3cUZMe-0!B*>P%+-9Y6@Va258P3uZa+VkGlZ=B*3za8#KTt7^=YQ zCb$HQhhZF)Z5#=Ez}HFxT#b?2Az=K|*8=!_UH;G(Fg{#Q3t9rkD_@8OAMH#F+5$#x z1@HipMI;abqk#rCg22!omN7g5Kuf?_3cCQ?S(5mG@3Tvk@ooS%d*1jixjBOjf0(}C zUBDzU?m=TL3hJ6SmbWov9&=C2AJ8yao?@+N#5q-0}8Jvaz&vD-L z>-PN%ODZG8x@u`Y?=Q^rrk^Srp3k3MTnK#rb0I4Q#OIsdmIt37P%0ds&plr}jXlD} z=O^ftBt|YWUz{c>7M~f&%R=MxKa>o?=S$;}jFvy_nirpM-izhY>%Z@12UP37@mgyq zpWn8I9ogdZS4@_UJg%b}3Ul)LF8^$1*PL+=^E3JU<0TZI|Gv0%2jj0u)s`(j|0khf z{Wo|&I`r0y^!jgjqa1vGXZF7Q&lgwuj@g}?&)145NIt)&RVY5+m!0&&`25Fv9DIIR z@vwZpEFQ(7GW2|LyYvuzzVr90Qetu3?YY-~_hH^nK0iUHINHCY*zKQ}@PU602+!xo z7PI*LgwhtDUxd0d*MC=V^7)#*6$+ut)_idVJSZohf2b#Zsrh^>X^%pYOVLCQK7Vqh za`l?eH^OUEsii9Dk;Sd-6h zIVoT-lYC6Ddjurbe`~Nk8N2|jn`}QNM)Q6w^ESSC4R$l5l~8 z@)0HR2#!!!!!CL8`7}GTbcPDKj5`l@3&ZEzt9xbrx4zfS=Lgf~j5h(OfcX5snJ@n4 zJ3U|gt%E<#DDU8pTX0TZ2>zI#`Qk2(3vj;pFSJ7U;ZyU`4$p6~@%fxLJxF@a1`Pj&9|rtyBGhw^vc^eaE3 zp#PEi;*(Eth*I;#9pkN$>q8kxY+m^05;e?fUU(zUD#XZj4{mVs!b*S2$W`?Y=3|ar z)z2ak{dDjder6bR7-N_tfyJn%KTRCoV3Z8Aqe`e@_Db4=z{`2$2&k&39wI4D-$<-;wqgKv6UtH79 z;z6B-yJdD}7KJunT;@*%^kLQ`zdySW_+^}srUK%ZyKc#YUsgJG4Lo;zO!@e(d`PqtSu>4d|jEBg~l%*{QDZLgUWGU)#tjWv}l(X zzsz`y{PNUcG;=H{YQy|Yepwvx zE_ZBoJ0ab{c>B2O3l_f|{kRMeYpJ0Ge0?JnzdQ>!kb_?i_~ShI(AT^?0>Jcd@7J_9N z&-g;|%gfk9FN|Nd+UVeyi6>OO3xgrWLJWyc3RY=Md4hEsj$a=BIt0Hw`4y~$p?gp9 zJosgM$=k^~{NwM2MFOm1?9^v_A!@p1(vZ8XMACf@lreFm)|_X2YQcCR0;UrJ(I?sW?b`( zi(lTY!IEEQwy?mSM!B5)GIO2+o1k3vnzsb()RqdY$uIjH60mb59}{enfXp(s5hTEt z*I?cJvWx=TN`d|D9|g8IV>i?2&h^MmP#Zb;Wj~caUGY?g46uj$5uc%`w7>#9DldLn z+s-UOXBKOBX&AQ)G7G~mvv@;l2Ki--zE{E$RnfS&3T=++Yd|3Xf4(>-_j%LbP0iPQ zvF}kB(w;9)tOE~{_k8g~?#%NyUtETHqxH6ANa>m{o{m~9kon@}Un;);&`by4Ulifs z`@i5^y%2mqAM?de*HU!OiEdEqx_DbLbDd6uK8;#uy&4KDtFKs-y;Cd|k5EY*MKKnwoQ*bgY?{Dx1{4epWr zFxpP<$_ILbq}u`CsN>4BTq*AS{N{zLqeR-7kC#QvHkDmHQ z6N7h|s}u=>KFgR(^eDvFw0s)p~T&@AO*8tsgFirt{g~UAItE~af#0c#W zDh_nE0NyVEZJ{D{1}$g_6^C%t8S=S90NO%D1qE;olBFGpP*Ft#>q}s04_`41fdwt0 zVk+zcyZ=hE9`L>Kr!wBg{;o8pIGoK_P#%;isEhzyJ5z2?w3T2d_j@&GRjjlaJi48h-n zx_Q6cEHD0kbtjfb@%OF`*%5`m8%x~$eePH6&^CV`Djm9i12y90 z?`8HCB!B<%+ED!cUiQ%o$nzc;^|jY{$NYSJEszZ=Bl;P2a}D3@>YcN}~N=Q8dl)xJ&s{>V;g*Tp0sGjQqg z3)^#+v6N8_ig|`{0jw`Wbh;V1oDdw|dL;V+-}b}GYd!pci@%S$OMxYSuYDsskAQ8W z!S10#f+y70U=vh)vIfVM;fBMwf$@pS-)HaOqrAuKYws$rc1#zLSw=+-wu1)iCf98h z*kqZf@zv2_XEF9Njqc>{1JH4E@b|gQS9!g|^zyKW`w<6GRPy(1JSs2#{8H|BKs_&9IOk0p@vIazAKdzSYovNp1`eAK zzWk{gRy7~|=p`AcTHyvKA1u37MygBdI!CI@_HYErGM>$lk;M3vF@-s-T9NO>cEsV` zp2Zw|uNZ1rEh8Q$$9(XX4)`fX&vy8ugJxAhN%T1T78lJpXx8FM3caRT2XJx}9x@a# ziQc4H?Y8jQ-d|nlI}7S8V>(gep~h~7KEV~Y?-MI}D=G9#4l4BVaAOXdHRuit;88Ai zaV)>BDgZ5-)k*<8P=^3*n)T&o0rgh$1)2aN$JYN+|(W4uc_ zu^J&ER7D2=`T5`nY*=qHAj#D!(oieso)5ml&f-p;g}Y_?nMI+^2cOy!o==W=rx5sL zBOyrz#3$EWkq4hFyDJ=@%zfT;b9OTqpRB7>?0CA8q*(EEIbIeTpS*Kt2tN6)?kV+e z$cs<@cpJ;3_+;5y?A5|2$Ifx{$?g+5I#_&iB~G%!=uoSM8d`Jm$wNP)nFqWruVa2D zpZsgP;*;(0$x&kHHq{rb`QVh>Wq|mel1adqxKHuP-{A&w@X4n)od=)%>J5&;=bjIq zx2YicC-2=JmQRk4W1WWMle^yv!6&*^Fo`4B8^I zFnltDH>mmGOZB}HmZ*xxy%({psJ`k1QZRh-zij{Tmv4lb4|bn7eQg^U(w+~#_abVgeuRL$Mzl;wTG#~uV3>U@spHP>vFiGhB!^@_*Ievc6o4&rfUI%XP9}auo z^aeTo3!8^|?sWdno4%nXnqV$rAjf&ruT6K%5C6x`n;zYQBU^@1j_xDJ{P4D>NYi@2 z%~dQ<^D;{Vw`k4}KR-r!nhuH--uQ&L#hY-0Qx7=3R6I@5tC)}JX-cf;z?)?}$XF04 z#;n7q=@$1$ei(g6Hsb@mD@nftz8AJBPjgCw(({`iE`bth=RSZ7e^3f@sq>V#RVk8G zDW1VGIe1tPz-1{0Fcm<3suZ8PN)apQvy8Dsk5a5>1b|YA53x$IO04NErb_YUPpT9* zqZAI|;_)UHz#V@mfJd}LFQWk}rW>{TaRIodvI1xd7o(T(E^l2Izz+mimT`i>0PqG4 zFu^5U)KmZ;AyE(b%4&dbVZ?R_7fTvj02>KFdw%%I(X^l?T+~tkYYRYIxHz_00Dg&N zdw%$=26nG}W*H+GmcW9Ra1nrAP^@L7{sG@}Tb1!nU?8{Whp$kXFr2tk-|sG{F6df3W(4DQ#ubm-(*cVKA(I4@N?`LEk{wa_{EAQAe17amc4&*we~S~5(D}Ml zR3lDKK7VC8`=`fWQ>=n8A zIr#ke#pl82e;$%IpFgy?Ao=|3B}4J~2JE93#^)dX#KGr>tqjZOS2tpvhU4>5DIxg0 zK`WtBBDUqh=bw|joqWEVPI0td!|7L#p#U#C+c%XwnzOdQB zAK%6~c_H{?e&&a-Jo`^}3eM->#|C5054Ul?kN9+`_Yn`rJB<9PtNfm6>;0*Ef;MpJ zY_!7vF8`_RoD^Rs{W_~n{6=GZ?R=Dg|a z*u_Hgz&y^I#_Nq-+lS9_-gL{4;KlVkap9gfJ@%@6N-RSmP6 zA8y2fB^c@|;07l@-1&`+T>CC^j$FSkUjfkct7939DH}L zQp4;HI0iTo4qhYKcx4yfq#K!t^Byp|I%wDLbuCu&=mF+pFUx&vxI(XK*QE-5CyzpJ z(ypr%`Z-9p*=-GtK8dLD(76i~`UF=TKSQkO%_J2L_(rc(=qm%ggLbvE0WRX=7sq_@ z(P0E=(XL*d#Jsa$N9TO;z&X6j>oWn$eDQD%EQ7#c=F2rei*{Y6u(em%POebck}&iW zo1QQJx{hVM>VnNC)%OZE>;1$(brftB1)EK(_skY-ce$!QQ)6l+pBcu0AMhhoy_-k% zfn89nuVgOCcb^8Bf%w**FD{~UYNT`MN%O1fgt%~%SoWZC2Z|bMzIZY3QdI6FBY|8H zj-vSg`T62HHmrv=EOC!kr|1e;=bkSP@;+6vDmn{y%dE&O3T?i4)i>e!<%2I30>3OR zq^W@T<$I^kW+x4diH`6LeG{WgJI15^;7{XIkE&P0?EF3)zs$XV*u!q-;+JRGu91>t zja-?MV#U|Hcv)!tvI@ZS@zIPOBz=8_2;go6J5BemVI0y!qv8vkQ`6*7+OnfPmT#H|7e)(}J zwnw3C-B}C=zwA6jg${~#L|xHd+V_>z%;`=uWt8eG`4_)aQv6O5+txr$?(BqyFe+v0; z)6ieLO+Ej@lf~rqeM!aH|8w&FzX03K_sb&N^E)r>4~!(dBR?-EZYP7o1@ZkW-*NH% zt~=CaEKr2x`{Ukp^Zi@h?h5s7l&DV$(^|4PprpGr!Nh5knC z6FuIA{IzF9Vs{KR#<=9aBL~A_ zycFGHE}ALJS28X+J<^}N97et$H*{WswA+ugYqU^buOG4_t`W}i?!3wq$i}Od6I-H; zE6pDVe?yYx24jt~RZt^Ztau{3gXyzpRb#R(R($fJa)Vl|_yvc3z;7nv2B%nY{bv~U z!KTkLAJYvsVt|TX{^oS?EXK-d$~A~v*&}WhK6|m?@ctvSCB8}DDmPe{5pzzl;^Z|< z#QPxeM+e_-ah1il=WHSln{WTxSD{amr$t?-&`$VC>#mXdI3UJWahRlMPr^EA>X0Ao? z_4&>AJF}N!5bGV~?3f#nZE#Dj7i;4+q)fwmaqFSz`i8UF8-iaT*&*~4uWZ?_|3+my zbAJ7cKFW4V8HnOhE2#Nr&M4cNLeI^U#CB_uY}b5qDRGwZ4vP!h{Ww(>JHaLNti-cn z_M(&{5Q=@HY7tjFqU^UhQ>T?V0 zb7!zNF6}J(+F4A|S-9KRBxZpVbDdcjxU|)rn{*ML*7x^xsX34H{)uw`;>>Ld!em^I zYyo}#rxp@KwMkvl310d%y!1)-lT;ksM9z-0zWmEkCK<-?rMvm1C%+h1eimM@_^Nv$ z=oR8Y~bYP}Tv{KsXlq4&qiKJM3tqv~> zO|N+N%Mg0Sx6;=S8h1tHrB`HK&hjX|qV{R_Y|$&`4tMJnuRhNa!qO{BH6E0RC>ilRdeYT zX`g7lVuQqc{)%WS(f*pN{0mPN^CzD|(87p~>^7~Yu`VHRy<*2Fq4bK!&_n*sd1nKS zP<&>&QmhV9iI->rZ$(qUh-i~?z?1S8$4<6G zB_TGPZ0Q%xzOwX-M;^BHi+6a8ouyx_WYaOJG$o?jsb9>z0w!;UZ;n_f`%*SCeg4@A zwolP7CKHlFzZmffHZQCc7M0?cLNbs=hDne6i$X#zJ)`vwh?IGX_d1<@XFZ z%s?QWqpqBP=H&yuM`ZHE_wID%5wE%0rC;2w!BW4-{L=z^8s&287nwa2*aXQu>KPo6 zf*Yp(rNEl{MV|=*c8=s@f=v>TIRA_w0k*sbi*VH35`w_3i~`$Af&Fco0^6Gbk!f_T zU(kOUO;8)bt)}bBicdXk^i%oMflg%@0eiR~@fnIr{bB(g6&xpCOa(@XBQp{BEY93# zyVBZrW(hj8SQp+d$SjP0k;NPI`DglGal@*jQPwK7IjXM#fm|$wSmKP(5=REH-UUBd z9IQ#0FhDfzt_(1g(RdL2E8Bh_Zi{>U$;&#l=oFW_rA0^6{Z2#&YVDcRx1t{dEoKS7fVF#bwIK4QV%2aJDU`OMu8`~92s1(yRhPuI-u>d+f*G|yi^>oa_R zSNpem!@S)g^oIFPy&)@<-Y_7f-jI8JLE-8RyJb+hAibehs!MOEy*dxQq1MZ8y`h{Gw)6u}`HK-%M1rY%-k6LA?WwT}VuR2M zZzzfKd&Gd!9BMNqxZA{Bz~3mNU-92!r98!<-tl zMqSLr45JJjmP2LOSM@_+Fl@(3b{!hyPPK(3vLaOxz~uf=t+lUVtfFDud`( znd@MP%#1vxhV>GXnY#=YQ&dg)j%m52hDk_vNDbr4S_bqiVnOURCCwjK2GmkR1UB)b zoJCO2tbS8!SUH+^c^`3A|7MmI)n7+GGmOU=(7=ERE~()`R32^>JtE+X{Y)8f1$>G_ zYWTa11@Kv}RB@~+dH*p2w4{cIu#+DE6MiE=TWYAG0PaPy)UZemH)&vL1O}js-%|iB zsbLZ90&J(r;{(1=K2_N20GnO8cgoEftlVUMzq^2gkV&u#>mi)fP}a^OR%hXEWR01{ zP90=vwZbhmtl)hpLWETW=faUwFkf)I-0zYa)Hr_OdczlE!s`vUb}j_HA^3R#>J0;T zpw-|@20^oFzJL+A~0cq9j$y;*SDkn}w% zmxFab%d!eN_T!EeU=rKDCHB98x z8^(=fhw>gh$ox#bVbVCIH=KEwO*zBx@ss1Nxjy3NQqmhmj|liK`&j7>@53jkcKicI zb2#e^qtfW}&>J4?khk9O)aZiL8_I19r8mrBAH6WWVSjIj-cVv(SiRv6Jc^bLy*?t) zF@)aGomS!$^ipHOdt0&*GPOb6bbmSmsp56k+==hu^oE~H^I^^ou|}uZ9b%rOSRG;t zFHw)x%7@h(R=i{B4QnT$4J%b(QF}{oI5FO-H{8#r0}$zS_?F(#3eU-@H@p#vUuwOf zm$XmO8yeDN4!xnqgUT&xy`d&fhCq8i^owfmrrt0kAnp7f$;XU}zJG`9JInCOC(Z+6 z@PXQhby4Emi}QhA;rjt!&56qOe2oCX3gPM*`-&;B)EfpIU}qArX|x|*qV5j^x+$;; zEPWtqAh!GChGrV9sW%i?U~iLrOt9rO*zN?0Dw+7U0_zq7#);9qo5=G6zJVVou#pVx zOrtBhog#X}YK$p4^oCL@e|phoAs=xI9>Ec-J?xT~-Y}mzsPz&@==XCO_YmwBMsFCR z?&W%kS^8eL-tZM|j_O+mK>uHFh%g@PkT1RAC$?u>Zz%O+o_fPC>y+Mbm3T{s-taoI zx?sKGv-WyFLtBU5@X^P5{Gi^j)cDtWLt7jU&ixEkMPktF8+w;O?=#moWQ5Wio(`!u zd2ZHJcG3*ab z=X-C|`i6OQ|9xu3rC!WI$0m*4*kMBm4ifnI(=Hyo)*pBtY}zQ|U-)ZN|H9v!`x_nc zdu}^|z^J4@^@KllnP+%I4xOH9Sn`m3wuoogLVZ~tmqk6p7U|21xGd%wwpd?A<1*4S zthc_bfy?5aVSV&vJzSRX47*KVHf%AE^d8Ulq%@?oP!k8ar^jtD+NCaTS7fIrqHz zn!ev%z^jl+uooJsLthvmmuG`*?sq@dPw4M6o}e}ozsAH z#ZFZZrck!`6)EQ3NVXf~Z-Ow(XswVM1JhJ7-5N$;m>BgijRHl$*ZFN#4|_N`rSRTas$?Pd^(vfaVgLV?-~g9L98VMHwh@mw7nk@-`wiJ47C zJlg-$l1-NJvCg9>8<=Xan1GtVJdR-$V5`^bI8Niz(xWe2UuiouyuR}DZH1t(q>e2> zeWmisJoJ^WY2oyhYmURLq!1i7WmnuA>@rB1Xr&C&DM?n!(~@G*$p?5@X!^?guZ7T8 zf-;^QG+zEWFMZ|e<1CNTSGsOzw-SBDc-*b8%x%x^Y3VC3VTU(*QU9M*_sprUG#2KEVdJJQG#`*UQ zmQcnsj1|miMFbzN-#8&Sy!B+J$G3fiaz76vc5&z_qmC-D)KhA2V&@UCO*Gg&tO7it zwg#*9l;189u!nI2V-{0SnLR+j9^dHnmFWT!=ih6v9W+?Cp3+u2Y@*IA z)+JVrLuO(0lpEB&)KebQ_exx#DjF5@AZ?E7>q{UNq!8iOZ`3AC7$90k7sLVJ6|#N< zuitj?iT~Z}H!f-(Mo*dTTE8*;PngZtQ|5l3r=IdQe}dM#mVuaa{YFz{bv}BEp9~x` za1+rT;!`7I&`XTYw<5)e&La03Y-N^emCvC#xU5C{;IfD70K6tQDL5fl*w3C+-Z zF9{&z;2jAztiI);0@NH2iqKfH`>4W&}6MB`c8@rKsy>67AB-0%HPyq@l94>(n!!Pbf^LkQfP9sW)OPc9}C_FHHdV{b8Ert{6fyCyG%Kk)9s` z-zLVwuO%J<@^j#Bd>hX`fYSL+Z6C3>06bxQo~CQz+Xgx#vDzV@zYm;l*2C%MxNpRP zzu}3AC{6wMOrs#kUp4mEyyZj#PtV9$&$!o6`Q1E2BdhqvT#f%Ef6`A!`_li4COpqK z2=IKfE@|X%L#{K8I?p$y*xsJMigk-``JXQ+^%`q<#!is&{JSb~Y%6FO)p8R31;0*A zOCPbv<4X?!@wO3rfcP(;=fO3oLr_hP)`(lfTL2gD`36nkuY8IABs7>Dq`@+eMNobO zq1Ehk1QkFKn$9vu5SnBX+RrRUP$2}N5q;zcDvThsr16fRA_zir8f*tG!QQ7ep44SD z0;{b_NIR`sQ>1Q9@WU`$Q}d)|5efdtQE<*Ja)tY`m zlW?}Cqlx*z&^@;s!96$Q|5-dpYf{PKa_VjHuQ}wgpPUJ zx%eL;w1@!Q(H!%&&$&NqfW%6{TgYeOh^&10)mLmGN8wXqP{T&(Vs|_ z;+G-qd}H3wk())I@btX8IHb7eTht6?zx`VXZaIP@6Z}2Q#&fk}9_4vPnEMS3&-B+-RLTY?| z@+=A|FB2cZTIsmr2cAWA&vhcN_#a6i2W~X$DgH;{L(ACD!haU9pHU|fffHsu#s4UL z=RW&c_|OgZGrE67U=f}zow>Qu=^*9>Ojfr-Q=OAx>C8obWAM9G79a|>j#F_ieyL7D z(V2fl1SjD+te5D_qkeJf%&!cjE}LWg`hw`RMn!%?We`15=29y7*BH#u+l(BIKjzQj zO2JP#hEPR#P9YNE5SnB&FwWpFSXA3jLV10q)z%#2@O>1;yGjl4N7X7IqWBtRc6uy5-;)LL-YO!6ts{)$ zFfD>@1PGCo5}>J)FJ2K(^(d(jZzGud5Jb)}C5ZkmMy&tj{m#D3Qet2|{x{H6c${0I|dA(aD zg3(d)Pu{Cqqe?F7i+obX8cS7cG`-qRJj+<#R}gHooo6+&R`Qu?jC~$2p^Uv;WgG?h zB5FE07JtlBDXJ2VA7R5g6}TFzyxs63RZ47l@gWndhr|NIwT-6TztUvxd_|N%5Wk@} z9~N@Gq=?gF9N?jZCPNgC&4+Y>w;{bi9LjwBx}PeayAG#9wgK!y$6MC^xj$qmii@~( zzO!Ag@O& z43ZFw?2-O;#rV#z`-R{;|B~V4pz-Rmy!g&r_pm&Q?|gbOJC^XBe>QjXof&o6K`p*B z0h^l9k47(49W$$ljizqb+@3V+Pf z7Zu;x6q7>`-?`%1i{Lx2s-8FBd2Nr&$#?$rZ79C88++)b@tvYyMR?|ib!HKsx50GF zMR?9*V6O9VzDF;1pO5n}lBGe7<66K{iVhr>@HEipJ)>fE3^(B!hu`?mB0P^Gz^Emi z`I7v{u5G0lPM-`oh1$QR9+{t;@O%*r6d2EejotoZ4cv_99cn&TyeE(P;XrU;f#yA5 zr2kmoDlq#?7JBHKrV;&ag)?&z4m`FGS$THa5I$rnEPmV{OAB~LPR2JM_gkjtBHMh` z)+MB^$Nn`iZOg#4;c%P1e-%hD%{cN%na2LBON0Na9PcSv)HCiNlEY@Tq><}A zrPDzud#Yx5mS%8^TKbSOzO-YqZ>?=U&=Ca_W7GSc;10L3_tUQm`{UXcd`q97)9-lT z76dBZ26QY6S=ckS0)l-0R@_ealDseb>9Cis--&=6PZPxROl<7ndG^xiQhr%m@HNmG zv$lHQ$>V$=p(!W@q!Nn9nSmEHkK<1Of3wU}@`1`F6Fk0UN&d!gv)l70=-5(8u`7mD z^Z64iN8A2l*xv`b6R)IW|J!n$&I7`1g{SSpp$8ITH+b4+c>Ifii#y*Y<0&u;57wL) zXMDXGRf!4uI!s~3XIpb#>zxd?9kd>-ttRN^(gdS?$7Iech6ql+VqIs>Sl+F(n2tH; z?R=7RQI2t^d}bQYbXOCS%pua-$X9gR!VJCd)1t?{qim$L+-=ysf%rwei z-lKi1y?K7!WZAcE>3Re7Yen3dM%t|keTqUq`lz69@`FNedh?V~=u;7Fqpz&dKTp)i z^lR!Mm`-IDv(Qf!DSG$N(1%{$TcIxv^tKUsr%Hi#?UOnYw+J3bBJ7HTAPU#Ew<~|R z&eV;T>?+Z_2eLb=WtVh|lHGJAyQbLbh$4DW#jJUg8`#p3vAn%pHNTg|M9tTgPw*d9 zi6FaVYCD$foL)b&!GH8pvfGSd(?MPou>rm)l-5^ON)ixK|Ed-NS{`ZBuxkaC!WNN|(n4kEfExWomKYq6PiSHj*{6rK!InXwIO!Y;JpLk%M z^u@vCFZ?k#Kco1GuQ3?}@e?&VYJOsw=!+rzu?p}9<&V{)eBS)Tz>cB#i4KtHzd2v0 z;s>GliKQFRLobb=I8oohPh9hOSbm~Cvf?ltdcWIyl|t|n11KfhlS_9e|M6KVqjT{AEQ#{2aYFD;jR#vjbQ|#|%@f6$3 zSv-XY=#bRJjL=>(!QUTbWAm9Q!?9ij!{cKGmWm)Hc$(3F4MpB zYG&wthx~v)CjLn^;VgqjV1cb|oL;HGlBalmng#YF%8(NwghyGvezO9btiW!>?o&i) z`LzOT`ejv8U^_`VCfKSPYzjdlso9+rST|2GLxkqdrj3vL54tO`6{*RYLf1USPRupN zK8z)S_4sDbozW_N&YdkoX3-2;aHM(yatYwPYoJknSz0HuliI}iit;F~lX8o;Ad=$6 zZ%dR{^6u>UzA-SE64DkM6I5KX6sxHxpjzB4MFu5~%F99;0gn_xd1cYRe=XNs_5_O3 zibz{DK5!FZx`tfsm$eyfuG{$kZhx#HdWlt*x&XQ zk_yjHB&Drv=}SAwGkkF}AkXiuioreDA1kArq9@i?u;_`}#)fVdJrQRd_%ov^v7VCAV7o8v2%F|JFvsbR^(&T#6EIZa_}=xNu{U6`IRSRGI=}aNkQH?6 zs*_NIWS@D0Z+q^6OIwF6Lm6}#5)%gov*(-D_`jS+;Ha5MmE?qSp*qT(9pnVOX&l~I zJQL9~YLbrOCMTNXH~zE8i3o_v7%x3od1ED}MROrcvVc2P9J9h`BA@5+#+uhiu@P?rVW3p(f%i_w zu#bLQo8DB3W8kIbnN`*^_BurIrTv97YR~yjt%Ji%Qrhx_*k$mi;)yX{&&xOCg(QE2 zeByB-_PJ-)ot`+H;``ucn9ljg8vK@oqheAw0$5VDbxCO%3F$_`#I&W@2UifMF!vqY z&C_FHQ~x7n^WC<-nA4+6yLq-_uUXG5JnV$m$@ax~Fz~PohX8M1f(JT2?WWfY-rt@fK1H5cS8MkNPij0M zIpD(GNj#mZOK@LLK3xod@B9*8T8HPi!r?UpR=f6uJGo&r{QK?&ch!wXvBg(Q5r z4liVd7nblDI=rwIUPQtt>hK~~I2?hH?{FPn)Cw<#@F6{jrI-~~oMG)4R@@3J!LUXQ zD`AC2GVFGSMOtA|46DqrC@btLh86eBdcbp4orRtU*T#Sb z+l?#*5jMPSz4FgFf&txbkBMn}>05xd_*xy_`>T3<-;WYTprJ?fofP;R9wolCH6!-G zStrL=Yz@2bFL2gb5U3;CQYiYTIeu}NyXBTx_PAgCrfn5uUS&0_F91TQAopSq7$)DL zpQ>5iw8tN8$~oDagh>fS$s7BzQz-SN2ssKr z@T_X7gdz%nC6r$Thc|+Rfj{Q+&Pph^ahAhLdN*L|w}sM#l2DpRO31_pBC)^$YPPnw zKmlqG*!d;HVmJo|?&Y*!QVtBCG7RH3$7zQH!#D)HU2qmJwAxgxuxz#q&XW}>K5#y& zO&!`U;;R8UIVqGAO+wj#T{f~wu|3SJWh@0E{K?V9x6BMROU1lvu%vxfBpVF6~& z!-S_PD64h@$QuA}PyknSQ~)0aK&jPCy5RJa6mpDdl7cQE`i<&`=r zk+0eLY94$|g-62iHR&hWf1Lg#&DgJ9<5GPcl7dM~u_ZMm#4=SY^6`rCHJu&~!Pk6_ z4n$Qm{|x$0RKU-QP#(y3NG%E&R#w^Mx0Sq%F@e9fRH7vWDbzewJE z&GIIp_?myaf9@F!rP63P`jA8zivDa|!(Mu6e9iqe9ehom2c1FA`g)dQ~OBL>sgenDM^+&@>R znZ?u8Z)x!~Er3eagBKaCfy(A-ma(a@Uz#G8{c|%HK*T}!1D~7AMy2$DeUsT9g{PTH zM3}%Lm;jKy<8{p#FKm+b-R?crzD=IyhKACv7fCuM^--%C+cVBTrUr$i=22;Y^y6GS z%@02@L+?=%2mY7|t<{WiJ+vH4d8uu*&|t~aWKXido%|~flXG^+e+;6 zLxgGXDzGL`)9(Rh<((zzm|#-`B+fr3NF-HKgLU&X#TD5571+bA6xhDh^Gu;@o@Ni5 zc0JTaV2f+g8lckWq%|#3$-|w+XDBL1sGpIQK3Y%lG@;Hvwi8R%iMfT_4vB^FC&^(1 zeg3hID~g&@4KNE=rp!@&cM(WwDMYyabJf`$Ab@CTG^EBgPqPEFt*!6>ck?x?i(C+2 z^WZ#)&E{(c(25_nc#5>pFy|kOp^x*AsoXjJN&bf9FO{z;2h=?N_-IiFUvuJN2VZm7 zlz+?D{FJKrng@iFG5MO|F1}`1Xuf7{-h53N#Jo7Z=FCO#HCZyEToPXsb(f2;Y1%Ij zzNS{yAim~j*voFdW*S25{-XFAALPJ(ICgSKzNSB-oR_b82`_}^Ynlb|H8uHW2)@RX zx(>}Z9A^W*re|poE*T_m$lG-DbOB?8okly>b@OC`gXxK*fwC9&=awQjm(vsH|8(Jt z*r1k)@7eg?bFb!hdg64UE}-Qk6@1U;hPQy`dU}HE>4Ic;Ao)yu&&GF~`$0}tviP2j z6of8cwZq$t;8bM19UgVfmnQ-x7?{|JuK9sZ>*c zV6e>xy;H)aQcb|N90;WyA~^Y=8|sNrs=ekEN-Ze@^grSUo_Y5xp@^DcF$O=(V20kK zH0GiIC29SSidHT@sGdrRLg^JUv8RyO|9d{@yXjV&swT9S%?GtDPVrfMP&@4SK`ARh zPEI~(U#y7lT~mC*2OVJvA+|>HnPUuTK=HZxpn+0}-kGF7{4pI8mGFL@13We#KkP0{Eax3JF_Bi;!Rvna&mEgHG2A&j*eD2fvNE zANOmeR+%E>Ax1=epX&HN-SK^a<9mkr-9Mlx zmc<99PLobGkM=e0W%MaN=m>`WAU^2n*o)wUzCOw1Od1wzs4(W>I&8>EmAD>`{?Kz` zFDD<=VQ?rus4#o!rSU;`Togo6wCk_E=K}Mfp;-D0X85URq*5@i z8q*q`pAV`psXJ%p8al-80p%sc>H)?1h$!ZMfd$gO8;?=#+vI~v z-@&%zohj*<6icQ06kU$dj~WyTIgLsKq#tLuI?xWEeZdU9S>z=AF=-9ej8O_&j)Mymu(DJ0DPByHL+Fh3@2oYM?fP_@M48eNI~M)m8FvXYn?&;0W~%O3?G!q2#OE7TE`Vd&EkWuVp&mrHxtPJ_#k8cNer&gvU1&r6NeS~nrTQc=%mbCKFT{tS1C^#RFxUQ~lh6~~ z`-^5FSyDn5zQ5>A9mDOy69>@zXSwju8ZlN$XTGHUMW?GM4oL4W+VQx0WPTy{7hQXe zYk!d^btO=_DWN$C(SDqY585e-9W;jUI6dCKEhkm~kzT|zaxUJb9O-FusKAK5aBh)9 zd3@D2C#1o-?zp;k8+(bi_(mK&>q#Ar2-pp?1RwCdIhP;veG$1ry1Zu`_Z`703b#}L z34a=I#&J)_^nQ`Ns~g`yyU0!3L(0Q%4`Gq^z1r%xeus|7drIZwFeuJg;w@ccDq3`| z-A* z^K{_vrv9r7C&Zo}az|r--}2Gc{5|3q_zac22B#}Uck^@v*;EzGP{~$D@vsiB<9Yc| z99Z2EN2ZLu$x0H*z@BF{imSDxetD_uMI?zfqo_=A4`*>0wST^AR)jCdw*L%*py{ znj1`wSS^CtRqXqeftkhv{AfFJ3|Gl>mivLKL9QIWMM*i!EkjQB5h&T4=>c$%wyfTo zl<)!H6U}5k-Ay0`+Ct3n$Y~{o6eWdkz7r`-M{y|y)0Q1jow2+DmlQ?_yc}Z(u_384 z8ly~rmK36-HoT2ULg4(9dz2LVb9}cB8djbp0aQCZNooU%!;@q^gRNJ?9IY`8FFB0& zHdCwuuM*zK-cR(;U#h^!||2gjvWzsQvK11+b<7wD%Kr5P;TxqDl&2WdUgKCpu77 z0KSi4X_rEN9MixO7{cvV7pW3qtBcq1-36?N zL;|==7c#IML`LJ$PGTA3DG#KxwG{++qxciW4>WKm@t~PRCf!|Lk|c7B`8s|t%2?GI zy4GyQ*XI+MhddWS{L8bS=&2gv`G~WJuK*wM`MsBskGQ929(=^0+rse?dvfh3`i70! z#YeoSLsB?^$ow=$LM&_SMLu3JK4O0D5PU>2WXW;xgVenEi2L4Uc@!TpXej%R@DW8L z-F(E>lN=;0K4KeoQlP&~9IOV3U_PSVP3%tI880$DlaJ_ntKuW(-6DO#I9W?~1oM37 z-wDOJ3k*$y;>+fq5}rRf3u%xq6MZq688|74 zcXWu|30{&As}uC+Bc_O)kI%cGXnakJmw5AbiG_iM1p3hV<4Y#|NS8gpZP{=IKp{N|G%0e#Z-%m8sPHGO7 zkzAtv4oQXCPn4kIazD`!9arXGRm~{r07@K{Hy$PazrCO6mi-sRM|{S1Z1WLYX`-Ir zKjnL|Vl$23sB$^^hz>|9JRgyJKT*i@PWu0<_=sCG9ehNeIu1VK&B0;$h+G?ro@9?o zGdC1fcudg|yf-NUrZP4ZE%S^m2R9LWL(!M=lxss#jCfrv$L=B6&6*SNU!9wh@FVGq zqa>cuF)oCXs4M+gWv_P?iFS@%MYUN{j4AS|cNIlD&Umh^&v^dK>!Ku#hl3~ydsmS@ z^W>#M7)i0t7{?57%5!HIACcYMUawbt#3>ona*QK`$VcG36YeKc8;izVHKa0*1A!@j z=Th(lzA^Boz^1HbbQOU$f4tvszBG@UA}GrK9Eu`%fE0?kU*xgE^bb%K+IPP85119G zL<7rdX+Ob$kd`)Voj!v?~i#z$qRu&*oJ5YE0X^(Ti<*ZvRo2$yM5Ux%bXQp&!rAt9D&QIU^V%)ah)eF*#dbKR`t z`{iX{XTHMn==~qPIE1PFAAe*1#84O~tt8VJaDXF?Wnaf)X9qf6-5zSB3AV3Kd)X(w zEuLk1rhQ!~TG`hfuaiD$yjfXwBx}9@4Zn2gRj|X6_VZQs{*SkE+1G>0Yy0{_?oXP( ziOHSczFuBFlzsiL_kVN@WnW*zPI_tf_5G*+hAncM9X8YGc3oKe`pa>w({T3nZ`(rH z*Y9kUN}+wds}?NS^WC46D9Jmm>$*C`?gCXM#Oea&`3TUjz8U8Jq&k%>ySo03mR+46 zsI*=EAW`827SWB2Wo#;@iD#|%&m0R82d(#?OJk$b`#+vxdlXZ3DgmK=N9gwb&OSAh zj#o2jTkNGk8*KNqYTu?^eM1?xCGR3h$5dEqRifzN|5s5&Xw0KN0O`vZy+G1~!t%pt zX6QXiBOLyJH>sKQ`Zrv5bqftv_J2HSfjxtA5o{Jm7)UXDuL7H_z2zvjAjw_R|s%TV9 zWy+lTCV~9#{v>1drVFyK9~=X*+4l8-NAk3i(p1 zK+Wa;={qd*y0$U%X3M;eGw$jU(!Az*9l4kLwSBGcPnz38+1Dqyo5Ni0{}h)+Sj+t* zsys)m3<_506RdaVJhO z>9rJ9(z6u)%XS-_w^Fj3r`z&G`YX7%+w|dmP`J@&1+L@anJ7i^h%-^T!E<8=Hp^t< zdp5rJG%xV!`3rtDchum!?5M#7H$(2Jf;*Y|-Z3U}vZ^(I6S$RR47mX!Rskaxf!5hN zq|}&#lX1mbGq_dg{T}f^?=}glzl0$!#9d#hC@SOt;t1DzWn9p;UY*f$?RLehy-rF< zQQgvbz1JcMi8Mn{)q5nQq#1%bW*;2W`)V@;mAgwq%9$ak)g2O2(F{R#z91pd5;EVq z^{WJIOS$zcJps2&!3o9BV)3Zm)N%Miarj@vgaE^u?ceZ5qExdgHH{2 zd+k7JGxy=g4oCs-tBdBj9Spm^x}iDsJcO4}?96P0Eg3o+A!~iHyLAf3bqYuE<7$t; zF?Ry#Q#^cW*2PEDU*W|^J((J9db#&V0Kn@<0HCR7uL(pVwuKkIMV^skF$UarZa$}w zKs1UE9y2j*Mc_W6L=NfebJpYX6LSJg#bTd%jxi7Q3mky0EPhNbYO?BI77r1cp^U`~ zfbu{@#C(h$xLzK~>SxTbxL)3VMq|YF^7bofp>o$n1Sg@Hzlf;Z#X2z^ zQ{|2-MGZ8^=vq=VQR6)iKA{hb8fsnY^Y##C=v@mV8415oUa8#qMj=%B9!&vwMK7!z z#=uPD0saVXm-9Yf0=J7Tem@1>Oq0FP!6hDh(W2_Q32$Z_6>n`;C7iBGxCO4x0MZ6U zarzZS7bZUMtF98(kdoyXBUmy3n|qZiVKVJ*tAyW+q`gOI{`+IzE~iR(-OEnCE?%WT zv*CH2h+9m(kO;MeQ4m*PKiX*!U+3`HDP)&*AU$Lp*4`JJR9UlBS+n6O4M@*)RAn`J z(>n_>mUk6`?b^Ig5at+f6CTRCCJLXZ&0emuE<@gknqQUm%d)DhcVJp@AF=c3Agew$ z(|-ouZP8MjIYwc@Xx(!4pu(8Zff#M-bbLXU5IEc7oW@@@fdi)G8@#Li&iE z|0smXBw_q9#WccKM>=a`ro_)=Z5WYwFIO@50)F6GT??CRu5_Tzc!tE%89RC9&l&Mf ziD({u6Szk`V*meJf!gx@R3JYF2fK-fA@p}+^s(8}v&>UbzISNQ?siyb zgIb^l2{k`o`gu9q3y0@Rdt_VzzO?+cmys|1s&O8CX?A2dzBE49{Y%%e*Sq-AC>9_|gFf zF*9O>iId)&Y53N0gt7S2WiQJJQ@pJjVS@S6qTU`)348xi(V`Y#8g-S$m(Eyj@ufd_oqXv8HWib)v-r{x$S0UD zUDFqDYJF&CYqm$>O9v3MV+QTMTFs#2)eIU)mG)h|m1^H6UwZtX4T$A^UD7f2p?|0( zVODA>pWuV2Qb77~cB=y|_i{gG=v`2jtuf}wl4=G$hH2kY-f9~+Xt3l<=RRVAT|xN) zY?f~Sb5|*_$qMW}3hdyP3arVOHdJ6=l5|Y4%{ADm1c@riqD}y?wOwGh3l47?1@MKkjrBEE4hwNN2?KVD8M3y2K1*&n9bq%%p zyc}MZXxmr+-RI>@UT{HtY1!u?Hk&W?!LY&{H$_@#=<{-J;wxx!9c6ZOoNv4mlD`gQ`odqW4El zs?C~A73Co0{;1PgiZK=KfsAQ3P`Me?Z3uDgk2(yj91uFSCSMAFq(o>Xwbflp+wt=G z?owKZjYkDwFWPr0t@WgSf=IYeNw^$rhT?rn#le|Y_LMB*88@5RSItO*V_E48?2xjq zQ|g#Lq=HroZqYd zw@pn(7y<&@@I2n$FZE#-Dqb%bq?YBVsP;=m;%fjJquYxMM=qk7ggV@%5q`0zy*Q)B zvk(yG=<6`;z1-BA_BK*(nD$I3ti?;!wAY*+#2>W;4z`H!5+XP`i>80b9NjXB>6p`A zTPma&q32UF=@K&Vx?~hqhR84zH)Q}ZtVb^K7-VDq%#^XoZ zR%@Y>=dAZ~$Q*_t2R8BvJuu`=qrnC@#YMUIOO=1dvZKe+TLw~CD}5l-n7>3xAw@~y z=K&&x6cpFVYxquz6n=C`;bDQ7V|+<$0KbnKf;k~tQrLyOp{ZO$VgUP+iYO^O$noCg zc;`vIjQgdkK5Z5FJ@KEmox)ZvRt27}3cR|%6nI>sDzHgzwEkTRd=$ZUwLc~W%`xV% zpeXS1zg2;gsqI(=K8(Ck;G4)Y_+wTVRt0W_S;@h^y!?~}@NeO?Y^SiA0?={_tEB)Q zX+nTDvoY(00PJZ36lNn`11m3|ImSa8pyd?STwzNi0pX9iU1OVrA>D3uI~hr-N2Nj* zumlo0|9+_nb`q=4C>e>CWXUK4#XtXksaBE%&O6ibg+NkuhORY=@vqo^sk(pcfdrQL z{Bh+-7^X;9S;}d@oU!_cE5J{@Q0y}D6OncE;3t~=9UZ~l!X*>O++R*w_aRxy{l&(p4A~D6$xoCA(nZT$j2+jPmDbiotvN7Cf)s@(Ysk*{DkKTmPhdu zO&YUv3qP?HSBY>`jN_nyo;`H|2MLRx2*5KJ{pBg28YF`GiRwqCFAjf@>6!dQ%;^mn zn@<`3zoa`EOa9ay!Q3ykm{9!Qf5=<-V?NEV_=#IE69n-SU!Fj7q}p>K`=yS2!{pA- zPnfZ`=i7)q^wRi==QcX{iMRez^}c{L z#9X*g!7f?U*zqLmG#o!s>AMj8#GjNB$G9a%t-m*(gKE?e`dPUBQUfIeXD8^cL+nn_ zNE}kX#~BIGS1g6CwlVN= z1(rNTnFpAOfW1+J&EnXD9Li|0$qMWvy#?$hM4+l-@)YkK7O=bTcY>WNAajfe4YrO3 z>*gtLS74u(MVy$cHQ0Bl#s%>dvR~?P)JD*LsVPiX&7GU5K|mhvEY_f?l)yn`b^iTQ zE$yU6>!jlBjt$YKBB?O@rOK+vs$5Qgu9`^dlKF`T0h_Z+=dT?6#A|=*afAFsSKq(pCl1wA z{KP^hKS4hri=W7cwd7pqxA+-oJ9Np|7;3ZBTNlkw^t%XtB1$^(CGit=e|7T{(X7ey z@DuIU2JsV1Fk-p+iJ1s-@e@B`5aU2FzY+O~MCbV}U&?rQ!RNR19TM*Bme-IF4lr?? z-O?t#UqRfQ!xLeKcr_k87c|dp>35vO5e|9jlpf;XmOhW6Dd%Dy$Tv98Yl(!b3jGz3 zF7JJYgVXYUC$c|7pjto7`@EJKuJc;dSuMZdL>Hdd(ng)tBImTUSw3{HoYB$-XS9?7 zX<(kw(k4AnkdMmWBF*&AxP2`u(&QVixA}%^$TyUwKH=Oo)+sFC@VuLEnA-tj(R@SM zd#&lK3#H}Y8y=aZ=Gx|J`tm*@)7LeK;N%;2@0aOo|2@v>E0Du!CC7-D&rIWmBWiAu z2_Z|;!=V0LM`q~#ie@?PCHzy(wY$0@G?;Ign#{mVBN|hfZTanGvTF7!8#0Gd$bpTv zTBq~#4WGBStlP@sW^MBgO}|%CNKsPobQ39*tgoanh@mLx)?Zl$ZvujC^LwAb%Q5OH zn8tHdOEAOA)MiQHS*Z>0r?l1mG0jdXDQw~RedYLu+3l;u~Isupz7OY4iJII{l#v zd;r6sgKsEn1AImJD4TEiX(j<$e8b=_0&qw@0<`&tMhf6L1WSzw-|&zC%rrhHFaX_? ztpHklLl&|HHsK@uF$+&BY>k1<$AL#h*0!~6A=jR)$*-3QLNw^zD8zyny z^H~ls9*R)eDgulsRcGj0HMD5 zztQ*pmHk&O558eXb~wHv-zki_RIS-pgiG+S_qzCof7rYcl48A+Eg_bvwUdumjBlt6 z@XS71MkehK@g%b3IGFFgy!eLqTM@nD8+OF9?+D+}eJN%l^tm`mHPfgwoqf>a8)6@m zK6v_WHAn>W4RbQt)xD+hv&}aw2`Ijy5fTukaE6n7fXTmXUTo zW`ZETq29iW;2Va#pEutydf(;b8*2V16yLD9Eqdss@eKtQJNSm11FGH^u!h`x!_&x$ z!*FPSh-n{%;2UO7vG|7H4sV3OTQ7im)DSunI0tN7LyZO9`CM2sadHm7w_&!*e=C{Pi865&Lea?Z$3>;hRP6)dI%1pn6pa9sCI7h4cm80`yM3em}@Tk z53pV581>~d)96P<3AGUCGKzaX!VJA)@B3pO%25-}Hs~!5zM;4VOTOWwJ1np>DL+nx z9BClOkG@i1lL_7*^)Z|}5uxjy3arUD)KXx3NIE9iIvVVFf<#go)Mo(JO$IC!9Nsgu z*8MRbA5mayQjIf(j%LBeCw>tpFqQ=QMbuX5bMEXKGK#UgF4^wm_Lsc}J0kYZqCl`<~D57x7r*`Gz``F<+dYZ}9RJG_@p|9UcArYj%IEkyV=P%>=Y&7=dH9AyKfCybz5`rbL-vzuK3Dt3xU+}@K&!jR zGdzNGS)kXZP|#S}$`XNhz_5huX7d4`N9FSkrTpU18+pmEo{gdH&z_rb>L+LK{JVdQ-c5u7%7yUiSsy^q#nI_8kx zHH+h8jxmqQ7m_-;TMcwFNGch@P{{9yrjhXAxq$uk=T;CH5Y#gr_p z#o9>#<`{47!b_M(EK~AL$OVe~tiA^62TieF=Nj@b!)6rqm$Exa8 z+mC9cu)SSV3C|=RIxB2z5o}leQySAkVuJ8abILd8IIHS^N8SKfO99+`KmqIofMV-r z@)Xb%Ng>CWtyAbl@vG`Y`+2-_m4G=QM7X8+nyl*mbQfDBeacnA=}%DjMs^{o9SpKvH=4C%c-|0Fikb?UHbln zx|_q>mJnZo%JHy%Idve+1L)q&v%1_|{s@DH?NQxEGUP3H0 zB$1C-%pM=RBRaP|zD;+W-nZsuk9!_udGz{!b#`*K{yz&d69%q0nftK*KZS#ZWsg7E zTn4hIs;a>v*dDLG7ERsn9sVDtXRZHl*X#e=q)Qk}wyOSM+2e}|1?&H`*RlS;SJ~sY zU{(mS$G_a5?ePma&*jKC4tsg5|8EFokN?~AT;44k${ugTK6+{P_;cSm?D4m@sd`_) z8gkp?I}%u@;q38BZ-lVNr%t4qo5}V6Y5O;x!*MQYB~5-$Y%i;E50S*39pD)qVt0Uc z5@L0LCVa#+v8b7ChkwM;itSFFPSbr0N~7%XXLnh4cxj;0c6eE!vhDD{q}4j?aJj!_ zpARAqI?v_S2iU08x_=pIkD^IzB_y=(2;IIj-cys|cs~21(vqZokG@H@Z_^HMu}a$Y ziJP61VaF|O&pF2TRFY82->7at`ZCT-?Qq@ypy2REA7lzK%QDqu_)t@q9X|Yi1(tSr zg(}QMz}C=Uvsekpp@IgRtibMs%Nru>LIkQkrXBvtN@nFfaHA9KbOD)T6xCqkG+4JC zURQyAjz+sbrlJP>F_ocEcKFk%jUYRGD$`Z--Y#kokcT^qEhsA0@Em02vcp5%=iA;+ zY`jj)E!@#aEX@9d>r`A?;*aRKZcDr=Wsd6WMj-#&pJ1FFcR}`e|Ar8oZI4gA3iHMJ z?eUR(1+8};)k4?$Ka#p+d;CGb=KBAwV;uJQV_O{dc-N{S?ePoQpKvHr+2h;A>P}MU zrQYqd$18+d|NkuH`hRYF{A<0Mf8qDH_;rj6vB#sNGhdQDK4+=R9^a9VHF+L;yxnw{ zJ?=@}kCDq|lLs~+#I^pv5rY{Ag!wnqE_d%wSS|w}?q^BQeTGZ5bqQ%9_b0rGNTK&9 zcs%2#GW)9OvOgi+gXQw78J?vX*e1{>eaO|;{sj01V1EMkCiFW&2Z5`V9)gz&%Dx0& z?81J>PtZT$1pEU+>`Z9U08Kp?0buP%z(+4E$uX+QXQuJ!YBl%Bbde?LVJ>c8pBZ}JkX56Y z`digpyrdCAgE@)uaSY5fieieh4YK7-R?Tkbs1lg7y_LgXC@C9rse3WBx%VMpe%tRb z(8txY$b*8%krd=$8t8Yv=`zs!#fu#NK!GU-(?FlUn6bRKiabqrW0?TVF|JoYjkX%4 zOnny0howHeuh5$J$HZ(=a+t@F-Li5)w=eUg9;CLG+aO*mN?ac2=YENo9CXg)x>kY9 z98(28D%~6BzrUdhtnB}&)Ho?{Azfh8Gho#sDR4Je#cyQ+QSr6qGt=l!71Gh;C=+# zo&k4jVB-i3Kz~`G09tg;Qpg3^&e7KQ$4uR%u+;`OyWO>r$eFVLMaOp+a2OH^jFA4Q zhydX?wggfUWG7R?P9{z#<8Byrnan+oWU_Yz;>{#7$=hTw9*PlR6~oEfoQ4PkI1v=D zEHZCz$%puti;wtXNq9cu-j}Zc9}(CJ^W<{fC;MWtJot#YE5h;-x$bYtVUu?85xaCq z3VW3>6e}deGRJ=6;}zp0&Mv2@g8Ty#kR`{%J(cs~BZl6^@+dxHZh7_~;Uj#XVn#yG zi{luM@wnW0_C$-1m;k>h^qTEu)z}!!M@;;goyvRs8m4FR5uYqme8fK)Y|5EN3_mes zSbW5tcT10amVAXj=9=}2kC==ZA&8Htu;?QE13C@On~!*EQ7As512rUcvni<9ME}QC z7Rcu_7~`NW6;1TRXVUje!72!iNJ={@1%;zujuBZT6dy5*ee}}!hMha(hhUgA+U8Pi0j z5X3*A2{H=y4|w|yys3GKLDDY8)Q_X6(9R=tJFo3mQ=;Z2zO5_m{P@+XotwPGoS&q9 zx0iHG9bm~)w(A_Dl6=Ddg$fgDA`_L3v z@)9G;uoDT`*C{|whm5>sHxN z{sCNaa1Xiq+=OlDDc%0d{R4Uoy&yi~AltFcN0d7Yi}n0`#L0hX)MgsBWOj7;2fT}< z!t)Wi?{BFJW1PoyO+hzEOe~9=w(nRp$0oq`k&aok0|YN z#GMc3vgex&UmET*myV08N4{B&|I4ZBkD7^8=^T&_S1i5u?Kms}XA)K=>97vJzEOpD z0(eGE(lOj*1g$szvkps$fS8OF>A~uBS$%WMQ7N2a6YMFzIc`V6`2>!eTjKQ1Ezka- z$cQ$K=Pz{Rn0jP>a#(_Wa|`Qqsj=#PMMm%i5yBGy;wB?nBE&vlMEMCAC>49)E!U8b zco9(G)}J`0LzOtstg@c5*CC28?XN_?@0{<{x)FOkNomUyVwWX&8ZAp0@t4>0^38Z5 z$=@K~kH{8G2kdLltUEn%b&h));4sMae2KB?{eDZr39+eUK9Z`fOG?W~NH+>5@|M~I z1#!q?-@!QDbYWBfBW3gPXw2jV-8_%tf3F2N5p-d`ZtKE+jaM1JQ#S`l^+jF@PJbxpWB@eU-15J9H%)nvWjQc z)i_CYD7L|RQsV*10oUIf8zhc;##Wc$zMg!#82;YsFwD|AJiirQK;A#iqR;Btnk7TK0}8Ww!(`@_(UCE#0tme3Zy?=hZnWNiy?eS52jtr z3M}OJb``^lduBc0xvI`WPlL7bqsq87 zlKX38j2gC><3;<9@g3qj#&?SEyl6bT-N;f9VZ+Qf5%wfwFtKT1RBie6q#d8oX5{hV?C#Sj7q(z zf=IvT(#T5Wji`mlRrq7RUaDsGyJBehE)UEGP}_8Eu2SOsJu+lsL!}@GjkjweQI|fr zhU&2y#rryfncdINw%VHw$jBu$sZQ;5B z?ClW2$x+=flST4YEAA9ZEhz%d|0jMVHE*sGiYNet{+JGnmGFLrPURq? zyf(bi!hqR|?3`h$cE>AtgK7x87mKOdHJP^u6uj>dY&ZF48rElo1(=yX5}qcaRB_Sd zw;^xTZfON@?ji;7egKqO6^f;+q>y90Cn@LxqTi@~h(z8%B7u^kqMCoSqq;uNm9#3h*_tzeHowzD)ijD^LA% zF6G54(Gi}JuR2ym7Q8a zLM%Hql8;x6uW9-tMHR%?Oh5;s6?9uvUVP1(DlCuUYf2PlPY}N5oj2TkP4^+}Q5Ij5 zR!w?T^}?!01@kqBrm^FC8x&%CCSP;%2gTPU;gdaUQm9;%OQHmG&Qb5U6aP=0`Rar-;RW zSbAlsu*AMX&6LrEGn$Teep4i6Eu!Nvtt`!;!+(qBruo+;^= z)JLW7*`9NZe$=2)$Z1p>ApJNOPxILg%+Q-f;=mu1Hc!nMrJ&_l%1dpdfd)&SW=B2? zY&Ob8uvr{oki(9F3T(2P-u{M{3nILiUx77wnyz0kEAOY0jtRDxfXp#62ogy}Xs~Xc z=Ct7O-l4$m{7HfBLOstEy5?#2poJJUP#b|Q_-3m#-BtRWwBDPcKn)< zFiF~(;%P$ok5sS|YpxS>3%4;63*$eM$q4E`psRIUQPh-bfLZt|mKD`^Gl7(rLWDct zvN~b9hFZ-+!R=UdKy_Ja7DyKjWpY`&)Z;XL`8hI|E0ZZMTQr~k-dNd8j! znxa5W_mQj~4!&mJj}E@(=EDD$uleeb;%goePR8VGUUTs^uZHGpR^-js+=!SL$Jdn5 zF)oC!St~vHlK7f=pSt*(-C23?HI>E&@ikkZYdI~GwSgrFvHOeSYucbx?1w`NhU9C; zAzmyHiuIDk* zJ>Y(NF2(=Nc!4+C07<6YqJl77^YL6J`5;`1(-T+ZIJ3zHuAx_({Lmx8{1C(wk{^=r z5d4sYhv0`KJOn=^;UV}T2@k;!Nq7i;NWw$#LlPdu4@p=MKO|v6{E&nN@k0_8#1BcB zn;%Nd%@5sJ86(?;@Iyl|k=X6u=7%18B_u!eN?3jmFlqe|z z?th^$fakr>l~6?Ouo#55Q6Y%Bmc~8qf0?O-l8;(qE`F$jN{K>g9x}1UNbLVTKlH{m zR+}nD?-<8rCb7LJK8qh3h;@CG^2{lU&vvv~^gd&GUo^!h{LpHa5MsMoK68vtQ}G%Jliv? zih}nhg6$@MtA_P5VFBjPpAlX#KlCF+gOVMeEdVEds{q~zfHptWP*TV-21^Pd_@TZ? zH5~ zW50HdOHn$+wvNxR`C>^bSwm>*g`iT%QR z!wIHm@)dLRk5mo+Jg>d{((T`9X#ScY&Zt+9MlP!Me)R#_v zXabvxNmY=76Mkp}vI*vg)_Cxy)(2)DXL}TVU;rUIl%(!Yx@L@GrKNpWKc?EZ$qyZW zN80u4l8#Ba{6ozNN>WSt#Qi5!8X)~R7eDlJNoMF>K#l_UpM0rijAPJt9Q@D?8Z7yt zxj7ct6%-%9X2E=+80U6ZU^PF~p_G6fd{luo`Jsji>`Ri43AVWgJCz`jRMr#))=l1Q z7aZO)3hYl`D6kJu&ohPYD)?G9)5fXi!{#}HGk`OD8w`|3-z+jNzviBLy806Sz zRFn=0YM;?RcsFp0E7Hy*Q0^6$KNMNf3cpy>T%1v_DCC7X`8rHbbK|Ot<%pAsF6V%Wz(?*u0 zhoylNg2P)=R()bNeWa$jj?{?NqL}#KiHm;KNCsvaQ}Cm`3i6mrp0nKBA#->YIdGQy zycmW!_dcWSgS2J!F(B27ShnnBx}QJ_<}Rbv$w~?-N(yVR<_al{M{%9IjM|K6EblUx z6do6NImTRK1Nalv2+Rr4lEQDu8&PkT<)oN3A1W!d=J+18%jh!RcT%UYRp4p#jzNLV zT}Hb)s{&6~1>TLtI28E(gQ~zLU-iT|DR6|VzK(TXe?ZAJ0VfBtAUNg~IXtmF5hj8&bXYrVtxSM2=J#;=CwBX+mA0(?Z;$I+OS zE|b4XMYz15*I%Xm+u`_#J-PN5jbrb1@ezY{ND8MO8N8mB5X&0tz{e}bM@)W;q6+d? z2}pN8Xbd})7awt5ewIh^5$*T0?+71Z^mg+Rv)gl!u=t3-un3O+GH{<7B!c;fx?|X# zyszzLdL|#y@J+=>y!VE5Cu7s=x+9qPoopl&zc-3}g+FH2dy0>^7c)T+A2D~V<|8iT zzLT?!^X4Opj|;^|bijD?Z}t~`wLTOd(TY9v()?9M^mOnMpT42$eE~;Bn&h^>N_Iik zX*fQjR9a@AQtJqISs5)EI4Ow%I>hb--6X{71g-gqDPm3W z^WJyT>ot^0@e=*sv3QAzO)Oqw&D&01B3}WP)ZrQ=`-`#>8oa;g?sMzVs?<6~1!#N=(7qed5Ie{nTdeCLxauYNP`@1)L@ep z*e+)U?0!U`s$%jI(_R*^M|L~G&K8h4MoA6Ur@_{Cfo-6`4w7Y=m?|3VS5)Inp=(}3 z?mKx79XRN|lj%%X&7J$HK|mhvEHY74YHX*F)%ou`>1ro6Q77dV?Hfoc%>JTkDlS=x zPCBm4zp9!sf3~5-QF*-x18l zyNse8yNs~os5vgVEA-$?E=r>N&q0)gz02suDn+@?sN2&nPNHvT7ax(`++MF&{wk+r zP|Gn^?;#(7^G;~StBpout{PGqM}uGo)SXMg6Zpo!ivpXp5;K%Ff4tvszBCUAuXJVXBgRiS<7>-{6M0+nEHyDaS|7!dN5(V_gsWw!M#&CLK5r@a}# zjV+Pb&=D4M^1^nDJ=Vw{XN><-jr`YPoLa)m&;X>JZk25Fr~8 zoTmEBVKVa1+3Fnm=TkSsNOz5VW*SXLt6^EjQfU?3gW~&(IK0DTVJW8i8)}-GAFxJc7Gmv*^7rpxQ96o>OE%TupwSF!=VCVtkoX}qwx0ytd(9D(&U zq>~DHQp~1loTvcqcZs>R2KWtup|THBWx(v0%n8;4xCePd%-1S_i(XRzn`nT&q+u8@ z{$WY*7#&357f_ObQ2gr!pk*5G#X<=H?%P6uwrTw3P{#6hF#(EcJWB(+NIwwai-J;uM|+$N8D!65Z`r{=yR*}65Q#R3VLGzA84N-}lESzo^+FZ=rE z<1CM|ug`4aKrHt4sK?y)b(=(vG?snc7Hf;>bk}ZFBTcYb?;6^?zWmg{(9Nrrh*p;Id*hi>ynL^ig^-|r?;4-e8d>dq3`%Vpp zT7H_=u-MkcJGg9XPii)b?6R)|+YsVf?>`KQb3o{^Ufb7+&`N5@{js!wXXJKD49of# zb)M)ah!pxf(ITF4vzdL>3^`9U!_(P5PqcITkP6m$q9u#*Jkb+aDaV}_PS;;9dp`yk_ssX`SgJ@8yJ6aA~)yg zEJ+Vj!3n|PttqQRF`GuHX|E$SWVOOz^EXuwGZ5?l_|cyA9#hH7`hUnAUPTUU5#&B6qiykNr^VS7|XlNC56WY9@hVf4d72u zLx2?A*644@8&Pj2LEw*BGh9ibHOG4wk%aA2B$slLNrCkYwq6Z$QpGg9*qIPZe0%+EJCUP5@l*|DpaUlH+gW zji@ms8nFI9Ocl5rW+mtP|9%T#qyV%@j(Y^4MRE+@B>>MZB|w|xSlUAX4h3$<`o9KN zO+K;y-ybibMl6yeSz((%3IOZ>8ryOV>2|9-%t(6uU&nVBumTdvWBuPwV)ye3g1b>{ zMe*}k|Cc1N{;%Wra`7YYF#eTW|L+~1pV)o-72qe*Qll>)KT+}fJot(B{loDS>vFIE zv-d(rox(v=xPZYrB*hAOT0$)2tOFmf7(X%jd5S8Cp9n~I$NK;By!eUh_Od*B{eKDj zj#~eJ$jwj8uE#;b;wNHvNFN-yNDUIf{6yWS*`2(vEo6EoKhdzCUjOea-O1SWobCwL z`ahvy{h#~=*8d0V^?%F+!R!A$E@u6|dfxm*@t&dhiGRKRKO+=B(TY9v()fuHSlv!c zJFN~``LwU9cd>xo{6zMztkZD(M6Fvx@DoLASo}o&{u|FhUDAh(hF<@d44j={fDW-c zK{pApIzekbVv1OEXr0NMhB{xgS09v0um2CQc#5Y`hgd^^mSDX9ypyNMw~r-t@DytO zAECL{|1;UR^!mTFOSS$_SeOhWINJl>+B#}7)I7yQpv=)0Ut6Hsxye(s>n`p4OuADC z>e`3x8tea5kdV|#stBlsIG5?4BRITO$rJcv)(upXVO!`cmcoYh|J@3#tpESaOw{^` z2Ajo^207fQ!6qwJCY5DafltwynpmwCqMDKFc(4l5mMk2 zkbChzH$O2K$zI&z{|7q8g)IJ8l1_X{{KV-YE`FlMM|toQPc?Dz6Mb8{xQXmWYCc!% z{&Yj;0I)foyaewb9l5|arUQlvedQ?c!uH{sQQ9Z{?l5lIx(@DXH5UY5F8aqVG^<=J z0MD^zrpBTJ{~+n=3$iB$`Q=}mXxZg`)6~7B!vi=44Ko@1 z30$rMv9P-|e-YYapfO&shWa?;eH6#E&CmR34fQ^m0c_j6&h2VmYA*PrUVxQ@5&1MC zIBoNVkIGQLY_@Z#UqxjML)%UAiTyxNsc~2aPbC-F=B>98hj+ZJEXBn3Rr69hRkC2) z{FR*y%rpvOnsu0%o3>aMTx0RYwoS}|x4BHrxiH;;{vM6qG%*V*^zVrjOlHBO(LX`d z$n^au75Ze>riFfjNYT5V2Dm?F&~plX0ibu7n0ML$Klk%R+r->fn*c2n^I8RP66EMK zF&|H6EN?{Sj531@-LgJUsf~}6L>ep*b)#VfWK{Ym+`z+ygPypYgG4GGL zR|8y%QCV!@Os>uwjET}kTcvZZ&R;8%J!ssHYB295&0cF;&|gUGO!79F)J7m4H-v2{ ze)c>r&+}H&?A`qHHUGTM^SzJRY==5>^BFQ864K=bjSIfE& z$O6&i-@22J3wa;u3dU4QPJ~Xx-8@fkLLxgz+gJ_=f$~UBjf0o&Kk&t);qCK#Z@dEb zc|eSh%jBQ`;wO37=X0M3YoF)3k2Hsk*=3*a(jm5KvO+>E)8r>UUNQUpY`5s#_IU!b z8=M&qrt9y^n zV0xx~{z+G5pa0WETC)+uPxe&PKEHE=3}ny3jz`+p^icNsWXuLZ_IZWQ+CE<=T9L0D zwsJ)Ksx9|n52$a%>3p7%CHMnYo5xf$I#tNqK7XonDEqt%2E>2kpC9>ADEoXC`{e(BpF#OtWe4vQT)QbZDAxsD$nsQeH7u;NX7{Vu1yemIo9KHviF^_fWa;_USaI>v?A>(5GOz9f5n&hsvN zy}}!L*z0rZx$X59ZhQTHr@d}qP~$*w^NcX|y3<_0(-;c<`Glub0ro?Cc{hQbIE1mz zNeNx`0`2vgoBlbM{hnj}yw5$hojz9C=`RP)VHC)1r^jO)IIo@F0xwuYeVlPB1Bmq+ z`omvXL;Vz)0c<;c{0(ZT*LM1=(AY54w?G7^oqlZ#jEa8m^`A2xbEvA$XIV5ZRlKRWF6S}2Jols_Co9JZal z{(6O;R13WHHhd@O-vCUaH|_Ke4>6YaqznBMf;z|enW&NJskRDzvdfw}CQ|fPSLio9 zuF$u~eB`jxU-`uXm`?!OcKU4s(6ZBSR{&2;B|v*Acy4n6*w+LocKT8ctg?LO7_Brw z%T8~pu#KfX?~l1#WBYlX!lv!?qf0GpT?g|;+fIKoS_v;j3GXfF-bkmlV6zKfBYqVI6@(y9uN}}#H~mod#-7zOTWtA#)Xd-fXRe6z6JT<4{3?ane6qIZ{}gImuPe0_WFJ7b(kBbaNrkBh2s-L zQml{)5@H!Bk$k*j_IlIS(YfvQ3A*Fl_GMo7`kIAAuk7^_pR$vSz5dSaZhO6ZMGh90 zz5Y3D0rctWAFGiz*j_)>gk9d-;3KAI+UqAxJ1zFU?-Rqqf6dZ`D%O`vMN% zZhL*w64q%rdwrKDguOnSQsOwZ#P|&-WQk6+NUrQOo?WFhqQHqz2K%j&m$N@q(jj(# zDDnTX_a)F#6ShLhSyqcNxfo0OWl@gWbHhvzEQyVE}4p`u|^H+v{yXrMa$t5vX+e|5J3(2W@7E zy*?8K)wb8m7gNYg|Nkc`pJK01C5bM3ee98Hay0Grg)fP`pZi}W@0PvZ$S-m}SMss+ zqE-Va-|+vZ(u8V0M)jkPN%=@I3rsAdy$t{V!D@1hUG1^g&oqe@|Nkd!VmFb2E_?lh z4vN@ZHIuhg#75>QVl8|9Qk_L5J}miI#O4Z-@c$=~Aa*CGdl2ij*S{A!5>Hgbet4xK zb|6(di|MAlUXCf!I2x@{>)y^mDu2$?k$Q`mf+DDle7~^>;9caUdA|B!+!1t>|+arPc&!BU*NR|Fypq2ghm0Db3o$7xrr)27ekd#Bad2B5WFtqodDulW@v$Z=4q zHmx62aI6O+zqtE(V}v`y@1rU5H48!$!ZqJw^IhA;#sjp%lV}epfBK{F7<~j|QC(c% za|taVUG=Zue~$=?zqsqP8S1Yk_!9z}ztkW6x*8S7ZKv@QyXcWSlQQ0pM=rx=XbH`@ zMF7VJCV>OmpfWAtqMbQuCGt`_slty-PY12lB5|M!n*-uPDpvFtF9MPOHX6c2AlCld zp1h7@`(W~#FBF#>t=p=}%S0fiW7fiiScU{{1Y%Z(OkPjSVm{X7HJ558hUz`NWlT4^ z@zrd1@&!B>aE4@FVcnjKEefy`fr8mDx-%W5q8K;}bBqhZS@niZ-~~dU1L54N zkw6>5sd`KZOcnwi2&ei2A#eeL9dG`|s$Go1LSU6K^CCr{4dFZhzJRt5Xx~Rt^Db7j z?Zp7?H12V#cGR2(nCZP0%t0p63jXkt8B$<}JSri!y>%a74;lWjrWaY|UbMn_ z14p7r4mb<`b1?j&->a;T!XLs9vG)l6(BT9x{$L!&Ug+Qtk4i6mex@2GYU2+h&SQs4 zT=D?(v+#%fY=u93lqJ2vXu@BPx0b&^+-uSsdk~+9q<)v9@P}J5C)C0pDlahchqFZg ztH)oUlpmD8K-WFY&bsy$ceZ1u=pAWi=%HPDC{OK=Jom!-@P|Ca{44$foA0R)f0)cZ z`uFgM*E+iJhYeY(-Noqg;txloC~~%be}SuNzOISBhta{(r#OXoCzlldaLYyF&z}Rm z=?ds~gIet!&F70tw64Y4z0{4N^uu`i7u%Bm-`82PyLU`CL!90*K|<`_aVuXj zdwlnf)z0ES5afXB_zz6&iP|bWBBI-P#67zyQsU?TRxdXmaU?|vblA)}2hawosY0Qmt@w-9@tXL}=Ci=WbXn<1jrLYk(QQx|Y+}=mCtp^?Vn=D}hy?pU6;(P5JXwB@5Iaorv4|}bBCCu}Cb7BHoIq^4(}keY zT`5dUoJkx2ewik*%b?{z|JFm0JYx*CK9RvS)ep<~Djz#(71f}*ATN^ zMpcZBPb3>Z^|A4ZbR&P}U&bePk5Tx^l4}-8}rS#kmTQ7|Q`E(&UAF^~&<< zy^mnT(F&hn1XLyOJTE@c#f?uCfJTlF8}2_LCS?`zgz(K6o(NOqpB~BqSKZT30>^;6 zmr(>PA{4L6bV5g{PHqzQta(_d6 z76N9jXWTT^o|4~wk-@Wl#lo6$V_uBX9||a7kyg?BWJ(@^1a6e&%w$feiD^@qk2NLt zIG584#=|t3W{i)hWLT4(^h`qTD}|247=js*)aQCC{UHVOnyIACAthq4?0uerSpUIC z7f6u(jBSIzL)Q|Q_VaxW`X@%v`HK3}6!kBHOj2*5EO}=zRpPfE>L&@+RmNwe8ii^m z^|@3iZ0egU>U+{)$GMaliuyY+&^y!YLn;Rv;;X5;)M3FgslYa4Gcxm_EVkxwpHD`Z zPy+zVdiD?iEGm)$SV|a%A&^6#IV$b1SsQ(x5`@XhJaV!5(>CuW3eM&15Pf;S;$4N} zUDdtP@}njz-dO-k_pZXbwFq`vK2vI3WjxC2f_I;st*SlB!@G}AHrU>jI7KA&m2}0s zb1;f?(kno-i@4%GH=D*U1kHNUbabpTS_qA^&Gu;3N749U5ovTVmIqH48gncf1u}iY zq-_^zgOr{jG!{y^Kvi|h=4pz;>xf}QQd^l6K7^s!Y2CLZeK}kAhg8Hv>w2sC9mrQF ztvWEvNoWNpi##Wb=gcg;QZ|=ae1Y-Hfmyiz8Ksk}WK&M4<#e+q*GnE|O(3kQ0a2YH z%m!=B$YyD!sB;?ye6j4QzmK=HNNyN!dHhFw3uh+iD+_&d(762LGm&uq@tN2z|M*-i zPwKhUdX9{Z=eIKR-SB57VdDIU@RrSY90YGU`s^g!^u(DWoY_Id{rf=ZJJ{<+N}cl) z`k_;Mr}Q3XNCAjf1KMd4Vq28Q@b!@4Emx*58cEMZbC3x|cvAa2H*m%qD7*o-8&b>#C8nyA3-JPXpUUE0{v+$NCXDPhps&4F= z<;Fv2s%~ZDEf4-z29A$1nK*Uy`3i5@kJ+IX-ZJiV6L0w=`!n8;GP?ugEvrwj4{!Oa z`!jC7tvf-|O3-(J2MBQ~1j1=h*nlx}R-)<+BUi_{u_x4myF&4Dt7v`y^OiYkx-7 zV-zyw@9{|i!)ey8sx+8@cw4Z&P1twMyG>D{z($p;3W}XXQNj7?##1ahJG{Gje z67_PcLz{k6#O5kuhoBoH!DAB@v6jEb^(V8a#AhTQi`Y>@WR+1$B0+47Nvszz*e!G< zc2mS|?yiWvj!KfnbkpC1vzc)kS|eI!O=1GG3|IMcI(>|)1^D4D;t>=wlvtd+2qhVUJu4ulKNyuSRiH7_=P9&M0 zq1Qa`@l$k{|5x^BydP}0IOhql&B0TK4?ifLlFcX(xe3(9+<3|l;QXJ#Q|i4> zp&7^)Jmnh>87L^rmt>rfV&f^v#!2`5Wjy8iVG2*V1ZKRwKVy^I-$SbpPkEGq4xS>T zWPNzbX~@>WQz~SDZwOB@@Ku}I#!TVGQ_}H`e>R@769L9Y(wYC3zsK&*3P3UMcieNG zdS!X_;weY9zyO6i+Zlm)N)Iod($$Tptd>l+8Iubz?AP}9=u+3e`lFs6l|A(u9%IFD*W#T{~3op60g$plfLexd!CA(o~ zM5kc%sf(AalF$M+d;NF`M`#N#G5tTTaQr_8eo>$Qhvv8ZKL*07r9?~UC;lIN`P}sX zSgJ0GP+?%)GP_I2^RzsV1}jl$A&;?Jk+j z%8nc@c*Eq zgH}6>zhGc4=XbmAUD0^p{SC6(l$wyN7&r@ajtf6oHPa^W0wM54`^t)2x068I|6?TD z5Dk$m1UlG6^)W)=0tAbE3O3PLwTm%W2!#K~Ns2(n{{wshZ6DC$hyTYJinhHNu${&| zPSsBQKg{&r3g#e_gZO_iosy3PGYhYfwO|$p_WzJ9;Q!&XssJ9VHbWO%4fY*U|BsFh z;}NaDJ_LBg!ZVZpIXogT^dNXd_@svLh#%|V5sN9#&_U;L_*DKMW=Me@@~DK^M%aCP zJ!E*q8Xs9z3y(MwMRLGdz%%gubcBsT9qnMwCN93QV@Q9C2kltW4;V;Kq+yCQ!>5V;zSHS<{G}HeBb3!dV zqVgCMkN8^j!Fv2Z=%rx!e|*mD4va^fdu)Ap#9#LR$gK~Ln9M%<_wb0<_U%Edn&&xg zI6<|0F$Zoh9&t2^B4_KzBd+?g9z3Euxx^uAxp4~)Wx)OuXiZSIx|WVkfDcHCxP1Hs zGfVl?CdU7WkC(5m+-lC@#kTN2{s0SicaZzc5T}FOB_VbPxrwisK(@}}h7@&vL~Z|% zB-GaQ|2WykC+^v3;}dWB-1x+i6eSR0Ge`Mg(M{x4`G1fk7d~Np zr>4mnYMShPyORG~mHb=y#O>`VYl(+TK9-&_A&IPo{|8kl)Up+S(K_jlRALBkHjM=) zrppRYYP6G@if)6#V5@Y=#*_CcVu??jcMCh05ZlKjwt|g-63#P;%~iyXM=wQ!eMmr+ z&cY{_CknAmB_E5}G9eQFA11N6)SN)97d*I9n3gz`xB&b=Ok$T&RkE0F;u96nevL53 znCJ#PIkRdh^Ho#gKI#^Air9s!as<=Bm*{_x)^Y=>XFtj~C$srxW?tq#kIWjtCoWWJ z=|z%fruE_zx02^*zR9R_w2f4vA$+1U$@C1xCO+}S|3mo1ai2GUPdw!D_jrWz?BEln zmmd_Lc$!fly(44>`pycvELtBl6ONO+zg(7A0bVQKe)S5??_zyunZW736sXdX95oSzsC;K z5=(!={R8>9AMgm=YTE)YrTB=o{n7~o5Qgyy!7Z2Q!D5zYea`>>=cU&A4`S)a3eg%( zOwuDgaSvg;)hZpF`r+802G~I5iu(zc0x!M{eh9yjlt4m)U(9k=x?@ zX+KRo2dm#nm;@Dms|Q!aF>*Vsq+f#t@lH$lHZUPU#kyuKk|1>TB&>yBQ|eE{GCA)O zkORarK|7MD(xXjj1JB@kRZYfa{?LYuOEU%@?EcI+A3^O7pDDN}`BN9%Gc?Hs_nbYd zUbtrx$E0v}ynb3XTCTb=$kPf(Ffe3YpZV@Uh4#?9)4FX@n-&7x<6NJ4415lFOGtPB zX&ju85wHub@EHWxMSOl`i;Gu{_R3nlXq`57KMMSFh|ia1iUT1&gNosDQ|Q}?sK#eu zNO44=K7a8F%}={{P@g7!YoR{Q6`DM3Wrg9Z?&3y$v_dZTd61vzn+Tbq&e6O& z6_*!JOv726n^HC*=1~ZMdccnqMc@cx2$9so zO#&ZZbF~~e(X6+2z(vE4*1d3u zE?e7lxDkwa+GMI#2$gMd=3U`HJ0CEh7{N#gC)c^ z4+DHXWcbOn!^x^z_{ry{Sl@QT!SEAp66>SzlRnq70}6h!aR(-Ablh}~EEpcgwE%dwlSaUPP>0`SJSVy~$8GMCM{E@Qzneb!tn*JNgV^XArz&Fl)nEks}6(?z3L$8M$oANUQr4IMeDX)wwLZ zV|^S2IkCOuV`)njRG}~{b(i0AV-%GUG`$z^7%`p&Ce9^R5J?Rjp{B}Dp+nikrW;L6 zV!1gdin2{&UnXZkY>YV)JpQR7c7`IhT!AyWpo&V7g(P)S#IBNjEMmKv#D+;E>b;bT z35b>1OyrpBZSM&kiNDE`P3jZv6|tv)SZ7}Ms~k9`PBb&|)_5#3A^b7}HTUeofgM{} zCR(kN+a6|Nu7A}_(y7R;ay}6pbzFDl`}QuL#VRfFmtUyHpgJV@r>A7;U4q|Ds;1BHu=Yl`r=w^U3SH{o7Es;-gb}2C$ zaf8UNjlqh>*vtTYW~ts;E@O{mz-C{C9RMW&X!gQ@)e5;^rgx-ECtZM=m!#go{Wu6> zWXl9?dKQd(>@aBQ)5CGTa62EY{v@CW{gz<*jmH5HIcm3o8Jx2ur)c}cQ~Zb+Zjn~1 z1xjf5j&2|B9cR5Y8XX_Lgee1XJor+JY(aoXf_>wIW}4^6bm$JhDL6d#&uljG}rXoe5Xw8>Rqv4^VV zz@s*3h1*aIz4Hct=tqA^v{BzkT!h@uA*k{=9zt`qk`PG4h&~da)21(mY310TQMvT?PY|**5W75(wqlre$5-)qU4wrB zsD>f(rnQL3M2w7tBdZaqocm@z#=p-Rjx_OnA4DOqYq;HWsud%b0+jn?;<4d&_p5;5 z@ut(F6*E+17UQ?GMhZOCpH{A@f+oxGOmWL9@_72_}ysu&-7qTyf$Sf zO+q?YA!x{c z5^{_cf);EgAxRSQPIER}+Agi|6nd+4-sKNf`_bk4Mp_oB_FJVD&b8VvZ$VtG25b%f zLW^)W;EDu)8d}-gfMd)CTls zf`wO3xR_FN(WqOuhdd2uzHuznI^f@qLB!9or6L zqHj9yP5Azd^Nw*h#=L85L$oo&ZQigydGX^vct7-K#R@4C7rec#3qbxA=gtMf z1L6ax9S&8)kGlYJINbh``t@EKagC}+NUk=BhSr} z$8(YGpF@vBW{Lx$#};z@SUwd-g&gZ@|78X10oXN}ztAP+*W7=ZK4EUqRB)0`r9q-2YdqwE6y0 z_f{9*C`+vmAb}gGy|Q{8QYHSYAM>%a`Rf}|YsUS5v7$X2zs4x_SG0L)acc8bLPugJ z82_MTZ40H%UvVeMsO>%HyMuw{#%z3agOx!XAT$YKLwej z-o`(73H7PM1&jJ;g=*lRq#A{uV^W{%LDo_f^&<#b0RJ?pe{`%O(A+%t;Vm|S8A6~7 z|6ED-+W6;BHwb~|0%?XnUluVxHxCc#Wd148cy*k1%OkLYlz5 z-TM`7V)@uj{|m|nfu}11H^eIfuLgl)dX;mtT7l$%^CQh1Mv?uhIUzi+3iaEJ)u?Ly z=QpP-3TO!C*Gt4mWbuFT{N_0%N|~1H_bDcM`^U#OqiP2^zj?5e$qX|SubAG;Ob+4s z&F5BEpcc#ZNIFL6cYOsSK`ZDZ-@#b3@KE5thb3Wf{-^NY^ACpq?uU|9?|#0o>*Bxc zbzc0}3=yu#>fT@pv9YNDUk@GryAM0&J!k^XPx{>KIJaGVQ2h5s*2lzu1MK7q|J{h0 z34=vCM^^Okc}qB0*!b^_SgOIGGorT|Eb8FDKS9)i|N5DqjsNal2Tf_05!oYM!dSjr z^#|L3ZW&1d{wu3Nsn5ij_%CJ!HGjVkT7;MveuX&FvMUiSs2=~hJwmqJx3pschrNT~ zzrSt-6U^GB75Yk%Tq_)i|Nj#Hn^rIW%Rc%y@!t(@{CAIP_hMGn>p!>YCbnsV`0tzb z;J@?U1(%fn+)K@{pYPHb?BX-;R~O)ktQX;)D4Dy#*_+J}rvqFmA$AAo!&eB=(%T&W zxVcbQMD7$mJN$Q^`v7zl{(CjYtH)(VTTlfU5}JZ>1gIjSFKgq*?;^D>eD-qUXIn>r z#W{F#=|N`3y&{%) z@zK3lh!A_4No<8F|3{m|<|<-0V-*GozC;45Jr-X4^bR5RyKFbH^M%MNBi~c#mqK+dr-gvhv`uf6AW=!yLMaaS_Po>{9-g%O2m- z$YqaT-@9IWd@?&xZHKPgWLU5qx+=RWbNob1H;zLWZ%=X@x(sn>K+BHQ>Jhb|m(Mvtyb)_Lr5 zt?*rpU>@5%`aD9+bHtQ=-cMLxWxR=F^60mfWSQC=P7C-E8YnFUoS_!L0w6F0uc;mg zy=eM%sRLh(V~m=boT6_sLcng})YTA$r|4lnfhZ#Cm& z7^=^z?H*5;uc(aMd1m=3ve>z|1x4%NPZY~Hwqnz zZHOU6Qs3DfqT*@vlxf|n?H}{s>Wc<4=gFmXlyO> zFbUiQId}PQwR8x)oBl;O{vm+`p%E9nNeah@XZ7X&;0TfI!e z9w%YQY6H~~5NP8U>rpIdYprN|t6DMdLeS={%>GLfm(#p|*i7%O;0&RCn=ua+J+S{) zdy|g7HXUxHK}S9f`EPAz3Z=`mF%x^m;4maUfdAHPC;i&(iV5kSR{CHF(jQ9yt-Fkd z?f2Ht9|HS*p%^Fsko_L$auEAHyrUueeL)@jeKC84$9{jw3@Nb3^+zSdHec@J>mjq> z*KDuHem@dLazI>=aWMP6-xaKnx&Q5ac0jfNZ58Hbbli05$mM|2*pY4fJ(?pO`T29z zP*~f3AF%~uiv4eC%+Ipl^M6qG`$v`19gHUYMTfTS_qZ#iL-&B4k3r(QUqUj3+=|(# zmi=D&?VqsUyFSSw>A?2;x!?Vh_WNe+gR$)#TGo@WWMoWcC;fZ&`)ey)_WOp)2JQEw zQ4~4b!2Y*q>apLA7r`ZEzi;35$${+m_Xjg`xBdR28RB$+|44}40m6L6B-r@c2JQEG zQQLlhsmiwBF9B7i{eC&9a_sjsii%}QlEq@bpNMj5+wUVULrl|tA0YB5CUFO{2=X0c z%6I&HHPz2hGimcaBHydeQSxos?+=uVTz8Xvtd)SrqLk+<<5y}ksO9PW1@~o)E|&bD zu$*!^3rx(Vu^&lo{*#)m?$7nu?@KOK#L|8rd^S6e5PK8($61sk3`!XMiXt{w5jzAZ z8WJ395^LG--+slS5>J+VEMj*GkyVCn5?es!1;l!d>$`+$iLc4BP3n*z6|vt?Td|lf zPDG~t{sP93TK2oaeAS$HY`sMsfg(6UodLca%zl5=$*hd3LLKI=2HzU6->*?=X}>>c zruEwI)5vq`n;_`_+wU>P1yBAV`~5A-vtz#-NtiDVY`-sO6iDwr>TPcO{bpq4w%@J& zZE&IDIVZ}6YPID;Wo~g>f*ozxTLu@Zb#S4=cC?DU{tzJDNk|b0Yj9_H2v6AORvm|Z zZVB9NlcG)MemU%P<3f7dQfza>v$moX7vo%0GVvJhTZ`Q=jQ8)ffCmKJuCBoeD?efL zSpE;r_BT0CrR6>J_)!sf_zL&2IqS1({~NMtG_fOS#H~Kj{61bs#a2!tHNmIT7rc3vQ|I8#$(JPTJCmXX4ylmp=v%M?vIvZLs?do8Ry_u#N0} z)2>;I=-m0XSvJ1m5&Pa+!ZU{3-u{g+1Vs13By>A4)bd~WgZtm+D7YkMwhJ!lW|+e@ z#uMZ0w0hx^KeGSr*nfEc+Z&XG|LOg210m(67sFqKOX7BWycn`OGzgcN``=1xp(UlL zwihj_Z~q&PyZdMMzh%+$v}ilF%4hjn5-B-XcE8~ryWccN8?Z zP!5o7GA@7op3YpFjb4!4ONTtF`u~o zKLR#^TLdn0`G1%Mn)u1g9>V5NPgew5_{r?`LSU+gz-NUp_<)2Dk{Da`bT5&gqhqt`=$-MuvBis1NjQ~#2=|*%`BTa4m zHD}+GE6W;0}2A^ zPdHiiEDH?T_>uIeBPAb8RoY7Z2~*N}@>_1)K}`hh?gc|`$!39x&k#t6r1q;&^WVu@g}j{{PqLNHi=z8=7QK5YCvG}e;-rCnlRI~z-EwOD5#=FWWh|QDPljAd@N$m zHi?}^B9YY!Y9$~x-2pcNGZhORiNDK=O6rs4ir7;@tTU+xR1Ta^?=~~>)_5E;AvQA; zH8+pdQ)eT~MG`YAw>o*nIC-VkOVAm}tMXNA>zg|7@$<^Jo&9f2rOrqGg=!3HB$K=1 z5Nfm|6D&j{H6<~vfuySYurY-s2~)AA3H!jBM}w92iX5sf|&mg z?0=il0A5pT|64Dx(ZOrFYX`+^5*Y=8mP0+!jn}-3mhj>=&9DO`Za#KJl`a^j{es;y zzpTP7#8VMaym4u*^L6U(kEr*4s<);qfT7>RHo%Z6gLs#1W(R{)pA{6|%qxaGcER=Rp-J z)0KXq{4Z9ZDjYn{J_V|ieLGdamrUo0{LG)Ui?P$K>niQu>8!KXr6hzI(xVU#VUMqS zXO+F@CJ@O5>{qOZtcCtUxwi^;N>}(x_TpHpW1c40^rB5#5h)J0(Oy|6r$9~{#0ub0 zsX!#XCitBe2(8phc3^MgSHbUa64Oq<)@vsa!)DqPZiNZo7N@=PTP#kas=*ew4e-PX z-xhC$V2j)964KHN!4|g%BqYHK!4|hs64K5J!4|i^64Jp6!4|hJ5^{`$ybmFa@uyX5 zh1~t=?_8Y|TH?p{OF)5wXXX@b%DWjCNUaM*0t@3(YH;$^NZcX5GS(j~!OlbM6&(3B zx*z`Cu{H_)Zy7dh{em0OMyat>i z5dV&ishMcW%@6`?0iEo8z{b=}H0aVgAFwes6YctZoez+pOf>KPbv|HYY9?BlJd0QqWW5s>z=R`@<0bvl3S5A9aX-O_CCRe2-X+&PiB`%+f1wSf$mptXz9 z+SnR5G79G6pK9&p4YxKL{lKk_osC*ycTf>-`MCDVs@TV3bQLgF>ZEqE@4aKrS)8gOH?jRfrobUB9b&=#5GaFJ$QkphSsUIKCx!^hD2cjLD6X#{jCjSdAjZS}Ul(K!u6 zvbl;{bd;^$uDgK2vwg+LfU3fh2b6kSz}iGw1y2<9wh#&2uw`Hg^t?#ofFqfYrQTlt zA@#s2Zw}eS3fz#I`=R(PO33@Be+m!q1KP8m=tqWI7>~6z$_X>vQEYQAlzv9Du z#fNbx2p`6y!fxO*tAw>ke8ayqE8eb zGJCShyP}!DyN?>ZO69~VKTvOG_aU=rJoisKH;eI*Ga|t<<2Q6)To|3qiA3i@t#Ay( zAkev}x~V1bzPMZjyCBcc&$fBjmo7~%6KUcM#k&f{y9kDVjD+d%jvk~(Rf;$5>0Pz2Al0tk@uyGwOwd>*bV zbZbi@O%T#ArjthdzPLw|gvQxNkVXfVy>2m6B_3gim$Oyhl`Lvk^G#$DJyVRJ3tyS;l2N1|vJP%sN1%T6mS`i{}On zj$=4GBo~#e=WGw-s3i^Kqb~;!0X}-gdV)Xy5I*_?=BtA7zN8p+9%~Nm(Xkj)aT~DO zoN`)eL-^>|Kd}b^Cm~;C*t&*2+oKNWm>~srobx2a#z(vG^^oDCx2{w;nUZ~4+t?qr z5PgWFtLQ9Vb1icRSVVYvZFW-j$wp z?cvPN!bcNVD17vmbXJL})WM+eMt;iIFMt9CE8 zN;y}?5~wJ~qExnNL-^>vN%i2PQzzT_Xk@MUm%%2Z#o*Y3$AhP^2iIcbSX7NU-ky;y zrMj`rZf1znGme)KyJxiJD@5Vm^U%h&{V4cmt@G78Ek$kB{;|_n+4$zVA{*cQtjvvX zE~F^2-&)L(^VR2`g(f&1wA-3fvQc#gg-)TEQxhn!f@01hWtc%K*r`F`)R3C>a+x9a zj~%V#zm1ZA3&m`^P~?7qd40G6g*J?MOR&E&1!P<+pQ{RPKa^_#U6FZb zuL75XSJNNjfA{%bFOO>g-z@U%Cp(2A;ozHt=sR;@f3#F_uPHZfp+4xwH#eg>-T3Cg z&UdL7zua|~!Y`-a?ZPh~_|S!4Cbs*__~n19ch?lc*{vrmJ%j z$Ba9tgOC4%_+>X_`{(e>Bh3_l1iySwI``kgFIPY5!7p$6R=v_#sTaR&G24q@p6A6c zySVYod8i79htX|Mh)G%JK``@A4_yityQiS}=z8^Fm9oz9XK+g5MK(@3an>KgDD&!I zlv@NzbYqmo65_@vAD0j}Mmb(W+!*DR65_@vyGuxIjB-1yy81E7QU7xorB*l$WYoeb zwP`%?rWRJIO*@}~CSDmm1242^{z<%2oAx;e_kSF-+z9#b;)y0^xwy^;6SI7#&Ic2- zjMVvHVwTiLy=9n~#w$w>hF7lh;FT|mEEYl=jG;XKufr>=w;l|y z{J_B*1+QG>yko?TiN4^xW2}jZKI*&+UKw`Y!TOl!IK11cYky;k4+F7@P;PBvtFFnX zGT1>VlO`(FwE!XwJ^Of^!~oTG3lg{y%I9B#niWZ05XXEh)%A_HsD@P;t>m}d$bM7l zVxkk;$lQe|vB1Q!#8e`w#}_Nr^*K%x%2{I$h*w5*UMB{Y8$Za$UD0GngbQDM<3t-H zJC!a!E^Fb+391$*zBm}iOrWr1%vx9*Q@?qUsS+<0ZdkRbBGstHMeQX}KRi&ZVQp6*7Vny4J8XrF6l;$_8I$b>U#04#~dn(C=X(YEkK1s#5c zK2Q&IxRSvKgCd_qBp1GT=Lt6Nc5GxF92bn^#w*@cC<*9@Q!h}(ipEL;EPQd^3rv-m z;gNvXSWWQmF!?PvGGE6#csI(!yB=saBppo{B9hwieZ{+HyMQ7OzPSE)o5tQkqk}Kr zHI6je_~N*1q49j7(ZLtv6pim8*m3*ROxkWBZJ_mu*GOZbuYh8Qb6t5n$D`m5DEyQF zNhEc`dy2v)pwKZoPLcHGY~3M}MeS-{hD>C+&xIPFgjR5}_=f3}-EyRvg;&ZBXBNC4 z*2zNf#jg+~*_0Eed`z;z{b8@VYT|||KLjJAGfkUH!Ia{)Vy*vBfB$><6 zc?j^yg~k6MJ{iD~&=`jPsaYtzURg#7gM@DD)38Yh)9^AgO5sxjl$f=*F%O+ zu6eZ{eDX*X$)RUK(}UrY{f=XO%>A#i>`7|>>ohMuX^dfywDHN#nbISlujwoEMs0j@ z#Ix*KiA(nPMSd1OnZLl?|2ki~h0%n+7(JZ*uN|dZ_8{zl{jUqn{jZoMYT=WW&ztz< zA349O>kS9TC(nJMK78`8o?o>YdZ7(!*!bjR_R_zHPre2nz`6f%euMbr(I|?XZD9ZF zP4(cD#%(q}xgCc_;ruG#lRzSCs07ybvRstJ{M}~Yb7qLs2Og0SyAMp|EAg&V%=-mu zonJNYWgCBd>2(`_yaZI4{*{-5D%bv3iVFKBCo!^E?SDlfb@sm=jhLohG(hB0@W&2h zk!x0r&sVde3F-N9QU_#k^nse@lYG5mI$;OhS6tS}Zbq_m_5PK7u=Td(L=P6=Muyi&Kwm_c8 zn#5XQ>9=!PRN~2!k45ZGArkvvO=1hEBZ1gt53zR%(-L2MPlz4zrXuzmDn%C41+3Ew zw_@5cUceXSR{NIlm5bSA%a2 z?SEBiW&f+0R_Z>XF!naegPW}9X2D{Omw%U3cmyck|=eG0Y$vTBKjqI ziG#2I@5UQ1xS;{O(R+T?Ta;%9Z!`!&9T;z1E+`fDzf${hvSV)Bp8wclkfP zLrn$lXW-oo`{Zth;13Bn-+08;INLBha+DsvW;k|~CgAjbJ=84kQa#vXgB}Kc6+Y>l zi^4d3Fwdvu4bj7msrCiZw&iz+3D4O1mHzOA;mQozF2dfV{o9ytke8qSc)?`}>V)`= ztCvDJD%UTB2-NJPqjss&fWp2JJ@5Ai8E1wMaua5MtDOwlOt0x(Ztur<} z&gidFw?6;5s^0osh59r#>vKadt3KDc%1pP*bn0`gs!uN&Vydhv8BG~nyIvo8>h&rq zef&sJI?q*xt6u-9Q?F5s{gos8)L%0O;tm8^2G%0jZUweR+gRe>{ z&KSZi$Ka+*ksQ2jcX2WB=)DQ3&lZ(0vGt@X~m3{^G#6F?uxY?*hCmp-j%2uF&r8LdM! z2d_99Ez-XxbZLC_T)YK)#>ZCP9nNkkVJ$0Hp`47%dHLpV6!MR(n>6nJVV2luJX$*h zr$9Y2ZjjOVaMrI$R#rG>MWJsvB7mN9-W$T1fPVEf1fs0+;jmJcjX!53%c!zKT zd5mR?OW$WCknb`G0#$+%p~DFsI%dleS-qH zwP12L@HLQTXobD;P4ZpHNSzHTBpvA+vCv!(N8D@mca214WG*uW1V zor3Ba0Ia}rHkvm{hZ8P$YK%zK_sQAjxumJCR zq({Y9ePWEcly1ro@CQF;WJ-Fls)I4E4OoIMvXrcWYSag%b3Banc#g?#Ml$f`X7E&a zlXty~FFeqcd`U7ch15mY;x%JsIy-AjPAEBZMOJc$nCM0IhW?AB!PibTh9$f^AT80W zIgrYniWxOjR{4HMyd+oSE9#K5LwW{Hb z6kd4$eJ1l)Eqx;lpJPl`X=xzXt!5@Y zzVvXApO776^UunTaXi`SjAv%oosqS|?-&$W)CoT|Gt>DJ4)PPSV{HCe*)fhMyBNkZ zv)hTDitHX?P-IaB-fCu6<9}qwPson3`DbOvIG*e_GMkOE}0+$d0l3XJyAYp6muOo|&D_ z$XX#i^pRb6{M5|s&zEqJpO776^UunTaXi^2GoG1U5+iGcT=7D73HYg**@-XVAU`2H z#^#@u9piYi;{_pBcBPD|6}Dtj@D4BF9lwKj`~mOq!#^uK#_?n~Up|T$FPejAWcMC} zB8z6=r)K6nzJ!Bw__H#|*!;7yV;oO*qGF)3ZS>%{u`zl17!rop%q(D%aOPO#zzFnk(+yHh2*Q;mZvT9X$)IC{d?br}B#FEu*1 z5Kv34cV!HO_Ib*&F)^3wp?$nWZ4_rzSgB2V9!A_13KO1tna{b#=B~#Abz5e9dd9Kn z&uh(TyF#Xt{Du8_AP8O;ZMCfS(C*|iB}|SrW!Rp8 zuRm*(vY`nMp@VOBCrOBXS8`_>2F(~DebG*qc>N%pz#e|BjCn^E6*K4(30gFZL4q9r zs}=YiUQ}QQ^p}7;av^H{1Ci@|nlbSbW^+d}LXxmQnlG6h0-^6j(<^Dt^qC3P`vQ4y zY`s3oS4`}?TQVBY{*_WI<<+dJ#>VXL65rr5$fF@f5qxbrK=OEsZYwhe?pZIdS*wR9 zm^CP$imX>=qXN|Kwz8B2RmyUHaS9!Mz(PUfda4cSIw8F!{^+2SH=-!jLs;{qHiTxxs{`c@7|2pcSvwX%`pdb*QfXV$* z_NPFoTJKzjgS4sxu@#UMt#AXIA$*pPLVuj`tsQ*=at7wOm{kln`RHsY7NOk$y8V$+ z9jGUPJVB!E+c^M$}Rfac;sJ4f7iENG=LdyHll9hDEV&u)}~soa=PTf#bh9F^%P zLJ&TGIjbtl?8{A|AU*9M6wt^2A^G`5NczL_^E7Ix#LX)|k+c4W{A^48JM!~W{2`a0 ze$5V<{IqNAlAlvh72`~F(FWvaCB#7FSjo>Uj;k1CM$rH`p#0n#S66=gp24`boBfq8n(T;PZR>kC8xX&qlwZQMAQ=2Meb{kXOweA1(5(iBPkHZdnAV`cUr zMC5NSe?gOfW%h7B;&+q;5tLk+JyyanDf!X=I&jMFuSW`f2`rU}20KYlFoE3@U&iyG zqb~xu!!m?pGI-I@r7sfF8iH_6P}`6lW(rJdf{bcKUD}cSLSMRMh~5nY71fx5c*bfl z&q4zNgl?HAwBNV{Eg;JmMtmdTCu}HV0{or>k*8#{7JK$fgHOk3{JO8dSPQLoOqbP) z3n%x3L0It)O2yE%%Qz>@wT8q|2*!nW0@G9(Js(m_hW~kxzuSy;Gilou3Q?>Y$S~Hh zOI#r45{F&UxkTypYxRvt_&L!mkyipWRfsdoE!oY3Arv*Ygb%39ynpU)|2?;T1t|T#wl3Z7+;Z~~{vt`73SM4p0+~?cLhOrxjZ~S9c)vo6lNC5xff7cP7mq3rv z5~DyFSaKdX$y+&6R_U=HK-=cg5M?A9zZ>OO9ia!yHS{suJ&hYVw4s&36lS5vqEDJp z!JngqKX!$0-iHcjwz+fpP}0NwT7pdr}RW49Ce>S@-~oj`v9Py|T}t+&CP?BTkbS1_aPN zg{owXKXRhz5E(>g>_HS9MVdWC>)Pb-l0b|$`Kfr&1v?Fza+(ndXs69 znN2=&ysOE7{FSk^qUTUgsHpwP#&zJfoFxqh_?7D1^jt$Rz<}Isf>) z(e+$mJ$s3n$U1q6iE$CL3f;^p+)HVQ<>`!1jl!-bVM%eoL`q9ZzG zFKEzk12YCn4b47BVFzhAe*;&Tqra)(yqhRUM<7w4c@BpbqoXU4e`xl=;PO~WV7TNNA>T#|$aZuE-ZZZFyU_}5Iz7K6 z(zn%!UQ9n|+G63f z`j)y@By~U1&`{|LVc-xjZ6bPJ=<}3y)Shv-qSc`uhVIDkJEkaGza{6e$R!}%`BSM0_-Uk{lW#voIFWWsP`$2Z__q{*%aNo+Y+ z&*&jzoCBg=i&5J2KBC5=v97{25$(Y@Z1wDG{ti*UWQa#^PCzl_dnXXA&?RbiLe#fK z>uM_3i1Jxw%mRgh(65!y=WxzRp|5}}ir{1<3`Rol%3qLysM07k8KuDxAj__iggDOx zxiR4kCbY)P2at%9?em}_x<_CsoJU^?6=`WDd`D0c)Inp2nKXv1v$dkjn3if_4}6Zw z@kL0r9dpY7A0`1V8t0uNBZ9SLe5N=PgG1-BvOd0n*8M2fwVH`@Cg?w6O&2`G$)1Ly zdB0OyVM>D%W%A7U$u@bKJV&W|(Kmx57%G(-peXYuxk#%!sh+~0aWw56y7mH&`@tR=CzukU75)n)dZc2&ZzhXQ zVnws%4VXEN*tsl7oejD19>pS0nV+D}(MBBqAbDR$AH)-q&8YmqEl-bvB^3N*n_8vL zNw2w|Iefw?5V-6I>X)O0qr!eHVy;wJTg9Kxyda{+#Z3RSna&&uqYpXx$gC==%oH=9 z1R+CIVHX|Ena{{t`CP;IV2`-tt?o3$!#G{e4na;vC3qiA<0}?`_U{18(}wtx@;XsL zN>W4xe(7I@Eu%vZ)?BnezCVBO7l596zG8ROl@C&Mbow9lEmW;WMTwI`=qRUA2sHnOEq)}X8=Vd8zi<&WT%ETGcSEz;!6RtUhyWPi9Bd=dE# zLQdQwj8i75>R?qfj|Ss-pU$I)`qP7OP-UWxhoZ#(AT1_k71ngacO(&k$z^~Z%1q({ zcY7>wC%`VqQ6p&00IYB_AFDs5vy@JR(+9C+of$}uqzfNOD9Y6J@BlOfmcJ2XCfd+-)%F_KzEV1wtC(O^-t` z;OhSIqkAE!F@q2ze;+)Lxa$?_G5*^9OJ+wCZBRX&fM%Vb*=mtzkkg(u*NS9W49ml!kXqokOKPN5`S&T_o zGL@!sT6-;4qk%ru@%uHewuJJ<}xtJ}oGPtI~vESjZai@WS!^$t?Qa#ddxUBjh)8G%C z!k6Rjq>FIuz~$|*cNupX;efDt5vbXP;9}tE@()eAIj1NsSk5P zCk3cESKmD~_dBKY*jKZ3RN5^1_S!|~vcEYs9*$SkxKd7iF>Bo2EU%#&ukT>jc&&`q zQe&sg{ha9BTpr~ubF3L%b7 z)!oZILSeJI6=r!2Rrk9i?CS1A@;YT|cA24I2fMgXFiD;%XBaYC8B1@|fm2Ys0pHg4(GpcKGyT46?$n+q*qRP!td{+3TcHzupaO`SwmiEd`xBy^e<4C)7 zikS#ihW5&OinrOTwzsz{{uy{wpJX3itME*jAXIP4%tf&eV1rX|T&GyAkp0Nm51?@&;5AL-~+fTnVAYz%Uu6Y-?*NY0b0 zkL7|(WQWNDS09Uv!r0v7>qPKED{Ng~`K|5p%~55(w*`pgffZADq#S)t!&4E!2B4ILFene7 zVRVoOAEL?wHx0_eshB(D;Uz2bOe=)bihRn0%_t8%r9~btv+PfqGkA{Q{fpFWaw9bK z%5N&SNV`{Vs{Fk2GiUs-{Gf7G z<(oqp3pLimz2XHs#;ah-4Cb(%887T@*Uo0|J1rD@hiSLA^M%^^@Y~V{wHm)eeDN^q zW+5$Je7^LligbAy#IlBLzTB(_68m zx)GiSnPIu|3sP2Qj#WXnH>CCuLdD6_{4k%t_?w#91s_V)3$$LmY&2i+Sm8W!_TnEx zIl=G`kJajlk1>#5{^3!a3e{th6PoNi>dqrO9siIl*Lmd3VTN*iHy=5+n~yV`$2ra; zJE$3f{nLCbbsjf5k2{@58=(g25Nxy)ny;V#&Jw}>4mFmxx-c@(T} zjf~{ALR$e5Z3%sLHI9)l`MMFNU|N_R^jP3zvNQ?jOtDbmAFS>jjkHttNGwuP$%y?p zF!T$g#!C{D;~fsho%E6|jr>@!DS}35ZgtZcr@J;S3KsbRqUy0bz7PIqn$QwKWb@W0(k%mBA0=URl-RyG;Mc=_Hao~+6HiPNp|zK z0e;3kuMdNh5|-6`T}B~9trB?&C%51s19!=glMv!{*(s}f*-}haX5dVIt!>;9CM%Ed zu(CZ_*ZpO{vTas{ehH&&@u&-aFW!H&E2STNR&O6O+5B7;%YDG_gLrTBD z3YGH@HS};e9xR3FuT5JHtwNylz-feHv0ezkr*Fh3ONLs}OvFpmEqW3% z$NKQl0mlTwb2+zSRd3plBAXaCh^av?qk7|;0To3iKnSrv;o%kjw7ncon*%Vp6Je#= z!^Kumb$a0nt?(wwK4k&3d#%kmXr1?1cp zYD*aaS>wgF05Bu6ZOoXXo;#r*84s%G3Xo$=RnKqpdAxcq;PWW;+?~(YspkYf4>IGU zCPquHQ>*PkM!JNL8*ZGV9+Hi&dXf_)Y+(|A5&*e+E-&X!k{4z6w@~ncZ5H7i9hX!yt8v6Lwt=e^;tGb zAnl9M$NPiJ8cP^9Lv7)_m>xHpc8P7BP>s}MHwI#BGSYs`yM}koDYZB6TTD(6*4?ne zF5ine>Y}})*XfZF0FU+^rcF7DGRC%%2HpcAWBqAm`IVlm^Pgrs^06Wd zhYdtVASqtn%?c0kZOlSTY$n%BL%X$Cc%DpF>=$Ud4YXS#aWlBUhPVI2-n+n8SzLSn zK@yD$?r4oht2S!X;1$#;sh|lYxFf;FTaEW9Rq4?xN}^aqz$D6cvz1n@*m|L@TJNHw zqM!!31hHzs8)_B2&o(Lu6~SBn-`|?&+4~7#>*+Z?=Y2o_H=hse=b2|_&6+i9)~s1; z%}nfp*GNyiX8pqF@92gM;U5>_!}&z+n|NwOEfFmVHdmROJqZ2IiA%{u&*7L=m_@MXf2PbCi7Vbk5$R*N|x~}>zeFKRY?N) z_>E1P!~d1#i(`|Xu!mK#Ne}XXn>Vqxs?S2YOZRxGKexUX_K02nIUJDqJn;-)7FP9H z9DF?XdKTB$mB^qKyIf3?SesZ$mglPaykS{tQd?iA9GV4Um%pznhQFXdzZ^2xCVqiF zjYl}YDxuZ$YgI^!;woI7M0dO{nNwOjyzQxxlzRGn{&UwZ+dhX7PBqe#Vve?aR`^Jt zJ6^B=7mnC+KUQQ89;7;HE=QJXXT!-lgtPbJ6D+!A=&?S`=l8+~+4$!1%3t_bl8J7? z%_VEgho^hNd8qv^cNaDAPJdK{r(`z0h(zUH`U_OJ?D+psh|hAjbO~r=u`0-7)v7R= z5UUw`WU(6Hv3lefkJZfqR@EM>`@3OP2R7+5;j2g;_dcI#`OeWgj*Zl@q~2P7R8YrF zK^^b>TsRf((yfk9XsMmY8mS|mt>Z~W-GuE}v3s^1jlPagkM`~Gr;aRjV|^XJqv|Ym zC#nt|3PL~*U7+K~UO5f8P_VatjnE41v@n{@jEc+ME+RP{_Qq@aozvN&|A=-Xx~KEe z&T#$MneP0g^Do&E()n`dYn^XI-jkirbk2*sKb3u!+=J5+I@Qx)Q~g2%v{oFq1QO*#e@a!Jufk;?pY7wxE_~JKASdu9kVvF?nxyR6 zs1pKskDn64gQhr=f%qs*=p_1MPA6Vn2$-coJQ=ec!`y7yXMruh%AdJ757GYMhKaHF za~Wd%af0v*i1BhsmKZZUF&5Ek1=wxJ@E5kHAFKR@E1^-A80Q+&?57aY5cQjrL*xTu zd`*RvI`BLdE_>@NPmD8P$q?f!+9vQ1k(4DyV*u~o47?06?gHY5iDBou{8N7DvoJ$~ zTgD5kfCP(n&64018VR~D{LGWU;wZrJ)MJ#t@TW&cN$^WUb*Y;zR3X9IllYDD!x}22 zRKH)TaM>GYdJ>%Ra)tz7ibjBcfTS!5E(qY=m4TNb!5u){FbV#DGrt`0#y^-}hAhZP z*_oG#>cRZ-+0I!Bcr>Dq?&uumyEvR*#vG;mh38rqhx5x7>H<3G?GyF8+-;-Z==@Un ztab5`=csVmm&5)1GHx+wWapP@?HR0gi(*wD!D^OgyyF6_!ujQcIsq;`vKv+_z+&C` zr8Zl~?6E2nwEXYI*_PM)IzF%UEf43H3BHbJs5&eAC#epd_Z?}6o1baNDbYG6N9y=H z!UIaAf;z(aWk+AfLEY*oRUO^um!=cI9YWt%&u{nnEhdG?H z1>aHxZktGLDJkW*Dmeyg+c4a#YqW2zh$OVKcKjCcDW=u+`VHcIg1$)|6xhBhjyGt9 z{gPxA%i)nt#XUmK5lYJJYTt3N=C9Y;r)qZ=)_~J4CR9h@cXm-Gl(pWE`BzJ&Z>kty9%wO=3RJ`PQ0ddElg6niYr$f(AVl z^H49-OR*Qg@%+YGUf1rTq`7)!zSoBt%D~A}0cfeuoB^U;ok?@YY75T-67{G29r{iB zXc%7ms~ktQKsCjrioe{ZefQ3xo7Ev)>Us6;s&u#~c6_gUt%$-^1X-HC{&<||pRAIp zJp0A}y%w&oisPyYFrsO^`8G@c#%F4=J%Z{}IM{3kE&fhivRk)8jCu_NSwYot6ZxsD$gTx@++*U+5gs2!4Hwl?k*EE}&FWBOVftYQU;7FTLtHhddao>(bX=O2ts z%^jb2Ss+ohjO>SiPj$cd`+b^TNjo#^aRnLCx#ANo)r?Vxcf=l;2kBD-Cb+*b6143E zw}mV)6-3?)uE#*;iC>dCaNF7*AG${|YNL2SZO##(5ra9Xaj{+po;Z!Z-!Iz}s;Kx39PNdd+QZ>8B0O!`!ai^YP|m6-}O zVz6dux3MBjGea&iwroVb&1ev3jh|)nAfojnv7RPD>uE0m<2`#w!if*!$x53?r|@k2 zQfvABEHCer$r_K%uvEz=oo8hHk9VuOL;)fW4+0<-&m+kp=ES#Eq>!$o!=jyn{=;5TKL%cpa4)udJxMu2r;)4a}Ck zK}=&zuoX3wLWd}QVAbv8ZW`)xgi zbSZVZdMsVXf3imeZPpYm>92E31?0d0?c(z!a(Zll~ubQxf zPL8!K*EbTaF>oD}8^U?i(RIRc_F6(axI26vpdd1mYb^%X zIte27<3B)ZZK@KR>l)&Tbm&+-b)jO9wyr7X-0BN+eeBWaa-CP?e;I4h;$)bjHGIg? zYGgF~1GFqs%u$VnYE_ z)`w69H{)^q!=;LKLc&y*e-gV|oEJ(cG1dwSB|c8(-r4v!4CjA|4%|zwaAel zPhG4ouP}V#<)6o{uq&*5x5N6@?Spb-SA5Kn6jhYD7o-9ILHV(3mXRFN$8UwIN{%Y1 zI>fJoE*paoVa+xdX@vpl5vbdP$kEQJ5f->T3SMU%COYlR~ohXSlhFdv-A+E zvfZF7q1al z#fKkHP}VrOSvwn$XMqOD`7vms^%nZ(V)gGa&~5LLxC0G+vf!rB;`psjto5_K?N0NH zS9jA=$%Y`KbaxdHr2NU%TG0FN%&}rLUiDEjses>fCzFE~FCG-z zX%yT%UFBHqPnykYKk0+dzi)s6Nb)zm3eA00?6OQPQrTnM1gr93&aXlRjU&`bg+b8J zc*<{sG$M%t)rn;Wr-5ey7{PCbf>0E{vRCA3v6hzhZ6puU;!k`Rx!(W-QKQ&^VQVZv z-WAHS(EH_VsXt(HRboY-6>_>xfdgVKJBc5&T=3l^>?+)hv`n*V(S0hijj~k_Z7Nb| zOp+~VL6b5~$+p$E5$v0%+1!V&)Sg=cM$x8S#^S6NuMbsdnI^7LyIku#*#SYIo*>jF z@0r0*}Oh}@irn(2yAO5Yx`O*CtyQD4H2NN{cNpY!3xlD7zrbk z&yTfkZ^`Nn78?YZ1&6q?mg!&lxZ%TT`&x*wux3Zya8BH!Mm-!`n<&95QiY1l=Q=&* zyQZUiP^;Gk?OuV~K-ac#x{n_-ds=039BsZ^Cth*qu=1h^v3WgUZ+S+0(Cue(408MpV`NO{Kvj~6$kQ{ z_cFq|-G#%1x#}ULVnm`%RvShDfh|HNY$#hBBNXhvdu} z;cqlzfdLHn#iME%zE3{XrbZSAB2I8QK~y5L;fZ1()nfV*Q1|zlo)XHT%Mb91O}DBo ze#Yx*?$#>KH=??UlvGbVU1T7buT?*|=7_iW)3X9L!{>tVIg2;_Nq*s4BV6hD1`sWJ zLLdWd1x;wEv^yq1P>D8L0vuIMfa7?Ix~~WSM1fm^E>*GdESb~#HjmEVn3Hnoj+zvw zCk;y;STd|9CkDH{Z`_%r1FwkWI&^b#C38z^dWyYZ)|M|JO0uAHGyE~h{PKmd+C_xb zVLzPTv;xJsB`&JM!PA5~L~qkC?jnewNB!wpGF*Rd!6CZRE?l?-);Kb#y#8Qdp+A+! z#vzO`>?u3uF5?0e?UFBF8f&e>?8=(Py*M4iHGou*LXF#5<}lYvjYM+YMXm^&##;J= zuOAyP=o5AlwifB~jd2YH&TgVV%bIgJNu&YZ%Nn|Q;{ z3^|`3M{153!gXV{^ZpBCAt z>E0}-$%Mo>OMKQG1kxm{>veiaU-1&A-C};LQYe!Tv<*%T(4H?DVuvpk9Xcq;Cy6G} z2Z@@1#3~pVC&!aYEIYA3tvq24d9BtfMcxQ07|TdkF-=+V9_{f|?u~XO4`(rv0^7u6 zRr56}`->GdU%4&8pOF=7xe@ss882J15z0nYO>zeY&B=_aSFfkXQn}4Su|hQfL!+cB zd1k$U)?x7c016QpA8YwcBN+PCsgipaiK5fJf(en72$8Ud{xKkw&@|j`@^T2!BP`RT z@C?CN%Pa#qrpOHwBFqpKkXLn#w486F+|FYOEjbu>&%UZEC)q7L$y313>jbz9$o5ve z58Em%yq~zS#vdn}j+I5HBK7kwX*jV5w3EKiB5Y3+g|_FhNrA4{;w{1q?a3gdKgofq z;j=hov=9QZ$^5#*gbCBpc%cv0{e_FZgp8g%h4~H$O6t+k%z0b9-N_qUPbiZd)}X$X zpkW(t^2`ya{naOP7W$-;Hqu(3tx687*KV;^cB$ZQK>wL!CrN5wI>#zhD8jCuim64E zd9n6A%u6I8LhGbR#{oz-eZ`n}ohP^qTvg=2W~ntgOuWqSw_}~IGfq~tO|f)@zC_s& zaYN_<)dO%u0*$hMfme`aC-qX|cNXRmG?cinhU75L;lIv!sW#ztQU7pr< zHto{5plijx=GLp#R~?vd-j7BUFlJGh_Usj=lbAT zF}>+sQ3u7Xq>EeihaHzUv5NlUgf~{`!MK>gF9nJPW?TB#6je?QIsNHb!%lzc@rYL? zNbKlO&ujc6R$Z!IogQt5k&_W{P(|Ow(q2rx9`6}gz7S5+fEn-cx+azJ%0T9CCWzCqDP#Gzr)`BkxE>o6Dgk0 zD*8jrz;~!vsrZIsB9Mv|+xzrjut$o;TCTHCCrjh(b&I;M!d8m$KH#v!gNhdA0QUxs zss`o6EFkg1V>q6)fY2yn4H$5aRub{d7-MwV(1LS}lPV}{!%Qq?!?AIn%qa7N&X2X> zH9vH$>8vA-uwcw7tQrn2()cKb0@<+!pXAdQcw)2TjS->2@xk0~49bFZR|_5SLyplF z9^ka@XtM#i}WDUjnSR;~64gD5})afpPxI&A#>9%4d-}TQxB2m()qXk#v zz)%QHDj5&jGzulrgi$TRXi!`P@}H0#@TdtTJ_SOFF+N)Pi#0;U1BtCmJdF@Zsz4u$ zC^|wJjJNQT^z~8;*0l>(n&-hK-QA%LKAch~)mokXm^|wiv8F>3^S5dQF zaiy6)a+T8^c3v5^yQ}U(ce=q|F_Bv{b=nbKS|?=HIi0Rm6-o%Y=a#L=u&&S6N7-QJ zoJ=b(zFWFqMo9zInL)}_u<)f0-hGiZ;W_lg$T2|a(@>o(XieITXyOvLcd&0x9?Mkk zBL-o3Ocf5XpRz&xKn{%bu8IqYbwHX3ra+0UyYOEJj83`2{Vn`r-@}Jm2-gil1Nz;v zuSyjjPqLi}ZNZaw^|xlb9`?K3l^?A3A>BbHkl2Kv9dHM2BrYZ{2xWzpKEmZ@>5!Z+ z^$Ais8y)zVAb`~JgEj;yP5Tsm+2b#C#KRKrgtQ?zIH;f^$DdcXtn+Ts)20<2iNcI< zzh;D$+}fJH&5GDrNZ;M5>O0fFAt^&dF_f!d{*iYHF6&WISX~PUe6Z4Ba zFMcZ``jb#0Vn<&iV!B#HT=Ik`;&OMwJ}OnX)sTRQ9IVZGCqa{EsmXx)dzo*#akseM z;`lxjo2Cl)I9w3QIu7$htiQh_#GX)KVSmM+v)CUFzLXhkKV^p*_IR}Cxyk_hh5-95 z!QPwwQ@tPA&-Z_Tx;6;v^tW5~Hq?(NnGimI=%c#}l=ZPkfO>g=x-bb3do1&apEtx1 z-xkExzqj5;bLc0Vwu64s$(C;8G0fbvG=WORkqzWF0rjz?uOG-G{3ZAq?MG3L9kg0t z9hIdgQksID3q$Vcd|y?W&SOz#KOh zc21Y*y?NmIF9lMg@ra1T_#7{hvA?T_VbkyGmGf^hdH0Isy)~0}Z{?lLYh;XfPK&<0 zNcHKvr8)4sB=~)b-ZmpFs0sBgZ^WX=DJtnQrDaxKD%|YGpG!wkGlSeycg6 zj6=mHd?Npk8?f&(R(;j*lZFiEuT}I-#`CfE$6Ef#;!WGcTS{#e$1oy~kN19bs`!4a zO-}_Jo!i&t-YV9~tM0f;_k227K^!F=Ynh(;BRQ={7OT?2f>hJO!sljgq~Kc)i0Mzy z`QbBqh$bcK*pfPGlbl1w^`ABDD{-}n+YC2d0eUY&h&)e{2LvkwqRoJLaG?!C=^c^u zC6VW4;d3*WMUl^i@1P(O0RB{gZ}#_s23WoHq9qkbVVXfMclo`B$sd$8xnq?+r?>?N zssU5VWr1L+$w7&DN{5blrQW@7;<@aL-G7$z#O}(-I4Uqf%UXZAtDd|A;QS$FtW2P? z^2oycXBMYYTh+SS6oP7gZVAJFWt>YtuiPDKYSgK@?x-B@XQICGyu_KG>NI%mMW@xF zD!5yjS_Rw^fmLBbZ>{g@6McgX<$x@Q`=km%4ajoSI%E;J9Q9*pr8&y*&AaXe(T5I; z5QIZ{F-at=vOO&7)h1@;2KBx6e3s^_&wX~2rlK$1t6w5IIfBz8-uvLaOnUa+O{e9q zc;f3E3Br$D!yXz+wy&6-)H*cxLw9aJgeT;isyxZt%)l_L{6j4FB3<*qAJHCGo2N4* zY6kLgx_J2Z&YFL`2$&|m(j%B_ckNxg+M4}*bt*!q^W-~irZv=Y+&kK+>*bcGjwH?E{y+nS9-up>Ys`d zI+ksz`^hcJkvC%i)x&$%tJeRVL!)IjbaKg?m8bB!m%t%aHmtv9s-^A=IK$(ak_xLG z=pVXeA0ac7zoIEpw$NhxLTu>&skTTq4n{YZCGm;p#AyK?=8F{>PpuMY$#W^jZO=q- zkTcBE7-Ts^StiVt)a-uR91NGf4ymr+n3wKccpdb60oRmf}X>vhNJ^BBEw{^ei8Nw79D zvHez4L@>-kg@dp*M z)-{&wXK>n;1eIg3N$36DSXReSW>_{Iw}#9~Uqnr`;SRbAN^w|mU8D`?ix>gBxJg1x zksD;cIFo(fNcJ70*-ugS%}I&2CoUn9-5JJMsozenbDOfSs?U&!RFisalR$oaT(ex><8nOhRDVN+>Hq>s~o=2H~o z8>26e`WJt@`*W)JKLFQBJnz8zOs%IzYF#bWgKUFUYg#Xu!Nm;^^<3Ot_(lZpsS8Y6 zXYQ*t;d{XiKzN=WjN)?>pgN!DzqI2E{=06s+D1Ljq^C7Ad7-rugyP9Z zG-GSW^j7iYlQV*k8*{r`S6xwU^7b~Rw6})Sx^~|7VT_;m>{Xa#t5}2T>YiH|!Qp`M zm$k=Q!ORQ;HYZ1&Zed=9D`AAHPKH&H3=t;(dou(~eDk*!V#Kdf7wq8KnpVj?_c zL{0hMVlD5HK%dN|Bp>$KtsR|)88*hnwG_{KJnh&sUHh;+*7}&0nZxNje{1>(JIx4> z`Lh~bsl1g3hjgq4^4x;Z%jVCE6E896=}gwvH-&4jSj%64w+^DM4qndWElR)6Yi6G7 zUcT|D4*4+iUvh^@`k}At*PFk*bM3;hs#L>6iHu9TVKSyxRSoiaX!b`gDDM zJmRg8j@|k3jNkw3{P_0#D1+Rw0R~ZgT{nJQ1&Xl$zr>H{cdJf&L)Ymli{|RakJ?56 zKORU)@#FP#GyFL4d->7Ay#hi<__17=r}EAy(^S3O5AEt4w~LbhWxiCzPK37>@%n@L z@<*^sq^!F4wfX_g_rJpc?^|yW5j>Xm)B5a!+iNyzO2WWPyJ4O znH~Mv^ZQu2>1b)K+xnaCmN%%c=!+X66rQQWk=v%Z7rQU6<>&$psv3j}Qg&=nqPoB> zB~|)#am`+69R1!T(v<5^i|Kl#T6Jmg>$RrvBCO4EQP=iZ#SNat{KH0gO5b6q1iY*o zhQd@dtbBRn9$Ac$E{&V(u6C5Pk*cnF9!E0FK_yfqs@ELX2o7MCFL>(+OQ5`E-ZjNKM8C+D6V0KPy z;(lraHE$>l1GNf4441sNdIaUL<_#`-$)8#91}o0!qE}6(rJsNWU1)%k73e8*V|H43aio8=2(AW47na|Gk~^yD<+G(a7w^3sM6kiOQ>>2JH72U zg3WSLWKRCvxn@{Z3i)kE=h!xTauR0a&Lx>_`C5gIw27%~pD*gVWvL-c4SBc-_)7!T zU!Y*i22*wp8CV2rvDWkRtl^srPldp+coLn&@*JVUN>^b!VNjBmY->a*HZNVVL@GMV z-Ii;}VbL(Vvs}|bTdYPZ%vrAWZN589b3P|P=Mx`3o8u>nVl9UoP-dapM7!Dgv5UL2 zVPq{7OKTEs@k4r#ep>iFDys<1!0~WtNnI@f8{By|M`T-aq~$!oa_04kP(0|>ZG2L+ zSI_ZDnO;@9)jt7kzIjS@|IV%Aj_|la)WAb1&Eg# zo|)XEDK!wkv<97e_x9_2m(VW16v)+pOO>6zD$|!s-S{9AxKav70tL@iTB_{u*;%%5 z^`uGc6xDE?LUH5ie9zx=XwDNvqtKm8UH|a=Fjl<9M8V__>+|=T+28a;zq;%IZ#Sz+ z9u(rXsjuSwwoDbQ2Tjz>&#!6zq({?Bwzp9s9f*1Nd&7JzE&0&B0FR5)D#B*%bBz-6 zuJ#0BFqj)R?=t^x{UY6xEH7nfW;?&USt;n0v!7I_ob5YhAumK(Rd@m`6m7=!*&g8w zJ#s0sFHxI|I+*t(We@sKRk=MUfzpJzlJcPnS9uyrT#KX#eEqq<+}Zg01*PCr4EY*c zB*&h)vu&!4@O9%jd9SC~62H8pSpRDDxHIX$^b#$A z6l>lG`0>=hB_|Heaeug4qW>2qhbf4Uu2Vk_OZ;7wcjv>lGS)w)Zl(4Itb42BVjLmw zS(aLHc4};Ycfd|s+%j>ww4Nxnh=!@uru=5?DO7v9sx6^f*`0eKpXR?x^=f27cwpV2fD@imbBDK%=n z8v6-k^S}c#HU6SojdmJ3xXs(?bdFGGy>}zOXH9nZBt&Hl z%QC4n!uRU9N0o8(I(QLZ?PqwOy(k=`2{Ly+own6QVs84!g5Nyws+r+xd*5z|{u+`} z(v70C(!b&*vKmcavQCvRARzN;hnx3z%rt?}+L5gdubg>Z zjV^OC4GcAInJ9GJp7!|~>N8jH<`%z-#WVSEhrXm{wkhdpOPV=FNoKTofuRvk&K#df zc+wI^H89Q8xfLCPFsd&v#qK?O!DC=cWG<1Mrb4>j#3wY3%B)j9YC2SM@dAS-^QzT# zhP?(2WGe$=J9~ABPF>@=Tt8vWVR&{vmJxy*(Ws2UY25ANrI>q}A<}sx8K22!OoLG- zW9*u9Z5B}GzmPe7ie8%s{x;0tI4F|$fK1*o%3GpW37zjlm*#E7R27j8oio_9UnH5v zbsxQhmT@}E(k@PP3az<6)g9*T)!@mz%M2sisHaY`zVK?qy3&;~(mTh4LMQh@&guN1 zb8V!m^cUU5P7AztX@ja#QyvoH@xI;L0K{9Apvnis2>@ z)5;^OH@m`5lV?C!B2DtXdW(U9QYt(c?B`6sO2=GpIfV23g6l~aZ!HXODj5&THsrzZ z`WtFB zue&Os+EhUn)xJYOSme9rb=BowYcV7^GMquXXMl;XD&wBmI^_{wuf@a&eT#uROra^@)*Y<;E~WK_Dr z;CW*B3~_nQ#A)hoDy9SX&7shmpyCR(1!K3B*Rx(@)hE+pK?zd?B6zM%p2M1%d$nEk zUhM&x6M}oSt7avDf|6H@x7lweDp)k1e#_s&Jj`%I*zEQ& zQY_Z;Gdd-#H#9OLLHi3SY#Wr2J$9BSxCzTL1MGdw8TLDkfOOTSPRoot)pmui?Xicf zw(+csvifMGzM^&O^8;6*PV>a}u+1`cOTaeyc?bnMB*QX1XZXdlPljb~H+*fd`9S12 z5nWS74bL)q)Suwp8F^M%nf~0?#Po+3f7d~BsCG>r)Bidbe^0eu<$MGC^_T2rF18-2 zVGkeDYXYIumth3Ux^4$HP4FG~yha+7H&l)CGc6@>h=&9J_iSkpc~*c}NS?2H{&4bK zA@YVJsX@3wp0+G`^r%0PXF=q-BP7ok@2=KG+lLv&?)7_^ zQ)TmddkF~*#~Y5^mtcg}p{5~W3hc|rZp0pbUa@yj%Us#+rQ_q{JaStGs1&PM*i-kb zUP;xrZIG~DLjaE4h^`8%c3+JNZ~88Ux|NA-W>7xICTxUcu9|COKSWiNfNBUX`Zm)^ zSle{UyYPjzK`G?;iFG_ z3_ca>(@23LUB5wkY2$u~m-+WI;A<0|v6f8`4Sszc8SmG~ZiIc^vFi|?hUa% zQbe_As2HM>B5}(;@B#siwS0}BwR6w|r-(GZC_K^0iW*zA8c-NTRIrp$LCVxj%IQJH zMqMiQRHb4aKS68O+-DU}rw6kumaI}4Yh7mfqVh5WJI`R-GA5WIuM{Ipm@DNcVg_0F zKJTNEF`Q05Ph{1a{##>wRyBV1>6yL-Lxi0xh;AlU+TzICEGs>5N#vgKhqMq2a&3|m zVYr0linXqWe3k7Rs}rAqxH&WQls4bHzeVnrIceSMgpve%fOq;8+x1NtXwX#)^a~@1 z%KFo@#&7tn;cm~}@9%z9OLJS~q9^*x#7|RK2A7F%sx~LXS_tP?Ey#&J-7gdWouH6y zYJkk00W#`fs}yAJj66>ZpSvToCoBJTkhxWm0%R`L;Lg-C%O;BrAoDTZ;_u$8j9ovZ zAib3gA*rg8Vg813v6c>d{F#&x6u_#IBlT2}eh5tcIDtubmME9{yJ)MQ<+yjP=3wwM z>Lvpta^twTHr8?<<;CAtRJzroNwqodFF&N{pMs*gu>22{Vm;~3ixjLGJ|x#p_-M~p zP`>Ibcd@H~qhcXCIh*VGk2wii&>Q@}O=))am>Ce=o+;u+aOaFU!@cXV9hIEU{ zOgxvq18(l_FSE#PX}vD*QdV7c6fpB(CT?X5vu`QG`$+9{7a0OQs(Zdi0gZ0vo>H#6 zc**EL-SZu4JS=$EDd&FQ2k+GY-g(OPEHAF)V(}#+Ppw9gG#MBB$|u_Rw3M;5L%n5+ zLNJ4bN@EY?fIw)#`0_tfZY^3m-OHPXu`?`hYfZ^qG#VRE>arpiA0a|6byF|*0P3PR zB-aK|HHZv{wID4VmeHM7cOYt|xQ+#8=OkO&1}eQ38Dc;b-d<~Xc*QeBJWe4=wj#GL zU(;eNgTTZ{6`H>N#9U0iw0!e!b(5Jyt5EDZd9PP#m=ep-k2Rh5sWoi!+d1!~Cm~j-6d%t{%)v`Fbbr9*k*1+X%NtZ(D-@sBPd;Mnb zi5He<=KG(jMF6@mUle8*1&7cyc%FJSRrr_f_>?NE+sdEBxx@rwcHY}XYmRUpP4|@O z!SZt<4bvUVrH#951y(9*B|(qKFbN&Em0)vRPbvC6xtiW^BQNt_$i86U<6!Rx2Dqx- zyILrAHh}+_7ZrQn`zF?Ipmu$(KbvuHYjT(S;5(X}DtwA$AGocSub_om!pGH8T0DLe z-(uC5?WJFf{Hel+i>%EjZ|U3oz9doez{We6gDqmJZ^SA(P75D*y0HOsyryAU88_9y zNW#_WF3$Oi7$`dbnw_?rei|-uI@1$ZWjIHx|9C25CU{TegvnkwFrtQB1>VgcY z(g+D+*Idr&5yIg_z@?jb0ZZ(!^D=mP5HAb)7laj9!fwS`;z!2e7mc(MSyEm{@_1>Sc1m*VX;VFly$K=nL zuZ?mgP|i*{HW_n;D8vYRJ6FF;-8TBAvsG_)q!p;kQiU~zs<&)qZ%?sbo6w(^KAcwA z@mfUaf9kIDkTexMOW@r4z~)#(K5}mYG`-kl&^!x_^Ji$k@BVZ?wHX&A=DF%DxL*h0 zy7y+I2NzGgmFe~gf_%1jCm3Yge}my_Ugva}+Ev=TGRsf=;@KHs;gaf^`-M+t<9I`4`0GN##3J`+ zA1olk6m7)q^RGm}#IAYX2qI8>iK}aB0r7Hl@_S;qc?2?=*`pd15P7 z0Wbe{jWPOjtD=m4GfmUSFM8;AsoO`t;HCPqjJ^kW!RQTJslKvJH}{PG8|gdE19zSp zG&B zzHvqy?nf6L$NKRnPM@bSG>;8MnA)eL@AJaDvpGU#3-+>jKXaQsE&c8o_o4<-YPT6% zD3WT9tcjeCB8xR<@}BOfEihx?M^SX_nU030^7eg%obAoyDXl*qC;BHnil+MGajHGo z0lZ*U@vw%^_Jy`6asu}6>kOf*0xJFb9qd0fqg_vzS$oa>)?@bHZWf06oM5xNW!PK zencuZWpaI3%qK3Vd?9xE4NMx9T^(p@QugX)bgq-9ZhJWVu$zs;>+)kQH&Av(^F}@N zFP>}y;WKgYtZv*j^Z{YZ+Ey(pRis5x*U{L1^a41Z6gWK$8dVc_Y#Zn0Wmz~_yw8)W z+nwq|UBKM1D(m1HAb&yMsSnIZw z;|!l;wcDYl=dbEG9Ije**bQqCzJ>#*g=NuXjn0B$iFbzSG-?!wubv)BH@fPNQ8_q^ zHDCAJ6;-lstu8bsbGy;=m97pr%^mQ+2%>tJi63>(*L|SRp8x-dJyv*}}orHCI!i#MW6%Qry_K zQF?@V&U%@`*Q;};`;^HsS(k6``RQ4FH7Tl4>IzrzAKGiQ$bi8&y;NV>?Rj3t?!&CT2Z=x;5X;%6xs$#-l$^y(SUvFMOFO zRXdVv!Y6TtoU8p3XSqf@mpM(5|AI|>rZ9gk3zow8`?j>jT0XTmZXq4qm+rK2@Fz@r z&0n$o@NxWW+DyF+Jp3Ga@CaL3*PCdmO^)g7TF-*I$-MbDSUjjg9@W9JuNCN-KjJ~R z)1!|EEe=wZqcnUr3EfiCH+<(?|L~cxON(mgh-H3vC&oQhPz1yWWv7g)5 zbhv#Eo1$=$%PIt2GmZZAyv9G;v(!2LDLp^(To68|h!fyjQTPr9%alJ=4NqmTIa$~U zagrRL-R8D3$twW`ytB{$PMBPTEV)eE4od-6ARv(vn(ts4+RaCI?s;O zTz7e&T_1F8gnsVzU#Z5y8AcGTIm|3~nb1q-?N6Bywphs3{6e_2cpc1(%TibJGy*vl zo}r}>SL`HTNR{hy`3(1(l#YHZ+lPK(GbdfCG22t%K9*3xA27wL^Qxp6C#ynic&jV2 zCf=trKKpCVkHi!GoJJrKKt+H7Z65l)8SgPiE)8fVU}E$o_8a&$6LUE74gXH)haG<= z4Qrkk@xvm?3(Qmm`>1#a#a*9868eOCSw%N_*yV2_H5<8?VBmw$3rp=!vH!2*zjzf! z3fBteZ#ArJqL_z7P^YyCX4q-Zo4g5GA?V4|EiojQKTp?OzAHt5=7H)is(+Gf-fs}D zQ(~>7*R6lDYP0&Qt$yRnpq`2HU!)3q$%d0Ed!%b3M1>me5C$0S@`CKV;X->1qj#Qr zD9+GIoh*jEF5up>%X%_xL4IRqW*6D-BCNyN$fk?94`+#cg5!x(z0YP1K&2xn&Ak7_ z@t~=}JMt5oxS9qY1<=rY77mt?AyxLt zcQl0gtr4adePEL2Cq)Nn)`d+-TMC+=G~SD~^b|=`tyB3LPjL@t>znaZ%2+5?)lrig zQlyjKVpX%v;n$3)jVFipZN5Yr&UD%Ak_W_lj;gar*9ZAplRPr`x`dvnNp4Zo^GGyB zc7`G9jz%D#2(w);WNO*NF8y&nJz`uvnnV+|W? zjt1(_#pTktP)RXTi0?|wkP=}%+-{;&gRteuNsdq!K)~J z?&_AnrLo5%x&sj`V`!OVSa;bwg8bcNulX1Mq3k_hddWD}Wm)~u_5+84Eo4#dbECRc zS!{)*87Fkx_S2o2!;LAIx{c4!_q(o(Z3{l=8*wG~ z`5+5@ym-b%MV#`S*p(k^a+>{KPi1;t3@zn&U8$Mwg>u6&P)XTP#2@wQg`U@o1%fW^ zVY2a8Y!7{zSP)@8!f2?)1`WpqJE>HlA-Asgh`oT3_UBful z_6WPkCTMXjxw zogz3Z;skWMdk)#15mq*)cP$*ml@%Yk6NbM^yV=36C~C&mUBECpP>G_ftqU6;i_X`* z%RV!SyK$`6P8hfVR**3L?nA8xh|6R4Tk85QG*gEgvBHbosmp^kg1$@C-m0453&P5M z!qrxFVY{p$gh8zJT)qZn#*dkr#4B!lps9OHU0ndLK|BB>0CAWA(1tTl)9+GzmbM{M zE1&%h3jP+Gy6}!Gv3H1)2ymELM1ZnMh*y}f8Um|DTL8B65ejxLmjywG9?$~eJ9s3!d820_v!Tyi$8}=uXoSn|^HLSmMxdHYAHh_J9kNpMa zgDTtJuwU-}#K1PLn&;XnBr0}EVF;R@<*BvSxTS7OV}j-GS*d-P-^>ul)H1L09rUP= zlju?Ai5k$&WH_GQ*WiAM(&zLh5_1az<7P|s}n%{2$^b{2j*QBcJf}`dSj8?YrzW5rPY^Ddxu+k4bnc^0gG5I zVKtlQ2G0?Rv#Th~#*szTr&rp-E3*N^7E(FK19%rrpG-9JYBNvx9cvjI;;axQYU8FF>rIx^h8k_FGm14DJ^OLY6FX z*I@jXcZt=g^OwiSMllf>nlUo@0JX6%XUq4=d~@?)Ow($07>-8h`;gJ5S-d_=-G>rU zOfginG}+gEgeGLGi2E(~m+n!^jkvemGlJZJU&=m4H<2MlxLvG8flbn`ue9vM8e8^+ zWk(lMmQw3@s=Qp5!%*zg)9@bgz~f;#y3OM+SSKtpUr+|Q9(~}ry~byn!m%E z!tusfQ(8tC!lCOJ!K@W}oCcJUf*btbPWoOGqX2uH(hnF2fy{OR6TToowsI z8v(o4=2npZZ_Obm`MTVyqsh+w)S^vdS;R@<<-jnmQg8VQAB|pz>Y)$r9;26L`vd91 z2(cQEH+|g*^-F|_C)7A9jkP|lD%K@bBcmt17~vM^)vTPVb1EkuUX=a=iP`l~CcX24 zz@K3@;-&GPqh0di;^r56xV4(X4n=Hv`@?$QU)Ogj+u!s3aeY7O`@i3)?>c4E$|u&Q zH#W3e;9W8F+VoFMlm_pqQD~zdxw(@1`Puf_aC)3~)+2p)W(~6HSO%b|f-tX14q#RK zS-g39k$dhKQE#dHk!hgI-5;o3cAeC~wZ#;hMKQ$lEGSEw_DtRa7LlDj%Rp3mL0|Vr zMpAl_UYiF_3iCIf8Ob{$$h)s=Qr;7It!zJB!UVPN;KB2&4o3Yf+Fg=k-P% zT7??21<0rOg&a{~e|_X7eF7gl=fkOj(^%2^S-HEwE&M5Smr>F3YsM%R2snpXGdF#4%s=gysRu{6xViPd9K=l`p_l5IVI|@#Dx`7+5d;z!-${cI?Ky*sYtmm!k+L8L6Y}O~hDR&f{@^k}Nr+fjp3T2M9 zSYUZ-W?$aAu8r$^vRR)1r`%C+%F_*8sqzKjij+Axh#)mHpSP}Si}gLY6|}usxuf8e zryIB&We>ouKw1HAjgnF`HD`5QyN3S(r%zy~+);4K(+%7b4s zPd4il;FLQGPIf;FLQGPInS;SG*FaDe?n>teT{-(t10ET zqI@0Yf2(XLk6p*qQ@AePKDdFDOv#F9$&++AS7UKJxlh|z2}ZUZvc;kP2?VO#;r^g5 zPM>d{n}5B}3;V3|GUgcYOClyL7#p0`<$vbwjly|r9e$u49dy1|7 zq-pD@to84k1JB=0Bk!czXWq$OaWvqajJ5oUOJ!_H@i|$|LwRh;X{Jn@e(SdSxipna z*-)5qPae-sy{w7c#adU{?oF-ou|2_W!lNaZ@-)o^krjsJa&s;>N zr}Bdmm-q~?>=-#J=QuJ@nuYe#kTu*^%fuK<%P1ep24DTFcF&7?B6AaC5)bK!Wjf=;$^LDD?G$~iVCXIpt z?j}|%H)63ivDVHvFay7PaN=G$>BnH!kgqG^!z;KYYNJ@|Kq=;^))mQ$d=2o~%X%s{ zjH?)1ci|K3fnge?`=Q{~Bf*CT~!ONn6=j$mz8{jX4QTgq>kid&;1{ctK?QK{Uu z2t|=HA_MMg5gln-M(Dg|VL|eBa{nK~A!3>F_JFAGhb4@|NOFfS4O>pFPcsfgLB>-x3jk)tz~*j$i@Dw+vQ`)FjEF!w-fKY)SKDt zIcF-!$mBiVez6@ahSSm;q0D+a&mo&3261R0+k)Hpu2E+ui)wn-V_{+J=%l%u88WpH zwv;P@n&XMj<9%L_Cl+vNP_B`P#$K%hO#_NNt<}FM@~9q$59Sv4F}ba6qt7Gp(qEF0 z&&w&keo~GhrI#pqLs;%=J)}4Tra6u0nh?ET8Sny}%@fbCOs~WyonXMBh=4C1y=A=o zl}mde+5vvaoh0I1_%7Bm%4|Uq@x1a-6VC^X{P&CJuJa|Hn(Im-`Ka_P-)LejbeE_0@;hgbbs;zn2N7Klqga%B*^0 zeI24|po**~hkrF59by#TmGHbfKXOAo!Y=%vq6V)!?4}3>UZrTjg@X!Wt+tU^=anF8 zSdeax_?8saYaGo&hVbqRHWEUcianT6%MK*OwMUtRn9yMo;*v%GL_*|zxIqbV<2c%+ zU144?;t0xYEJ)mKPOm7^Bd%DGw{T_!@hilPbj$Z%MI_%f+K3l4+-q0^5Hv~&D6>!S z8llYgN`f+RPnq)q%IMWoX2d#_K^mKFLG_@wRi!{EAdnr@8Y;5lvok$Ap7A1-;`Qe? zKiIfinjD$y&SL1nt%K`y%GOeMFrTXwT(Q*E`Y$^L1$R_I&$?&qoYfv)MV2V{3-Jio z(108-gAcw83J+WZ?Izp23dh%(YaI;SW(}hhO?R+kDD$27-|Kc7&55IDOVH24!JF&fAJqH3dbbv1C?9@q zU|4S)6ET#}&=zlu>ZiI|+MB*hugwDw4)exZG`U9dFR=W6a&z0M$fLeUZdjyo?@0Du zqAzD>EQes}E^8%OaBp8v1_D?UD$uC_KbA122jP1cr_P$wDfD5 zYHNtm*)CEkv)g)=rhf#XIyvquL#p&2MH~f)1yVVxr|kJt&(#|-YgqJ(k5PLG;sgn^YIK`iPUO*cpX)^Dbm$~$V-kDfOndhQ!O z1V=YmX)OJ1HWW-1UQe>$Ore4G(Q_p7@i2Y`>f(hWvv3GDQ(ROI&Z)u&-c;eT`j>r7 z>N4r}w3?E)+Z4Fm?Ze=QW+ZW3n_CVX!P_GP51OB5JX9ixR6QV|#@`K=zsJn)(0s?_ zNBVY1nV!mjL43h~giG7?`EKQ>WNlS`ozM{EKZ(c5Stn2WICV|)z?ma9#1|e?R0?L{z(x?AfzxZ5Fw>v&AINz9x%++U{(h+7KJ_~l!JO26 z>Kwvko$AenwV9Cn77IruPqB=AQ^?~!nX@!=pE^!x={^naH6@~>tH+g6@8&55z0#-5 zbC2j9wLZ)-!u?q(XdGe6NcS63RC;vu+I0>JQy$&C{uhjIY|6;oyncg>aSC;i+dg1? zj1JGlTF2TKAW7985l7scorITq#cDQiIDy6fDKf&dU2ch6oF-Bv>F)zI@8?}qY~ii$ zN@JQi8@yuuoP)%wR4?r*)%(L|H4F-m6I!#rid-!v<4JUdlNmf3t)vIH ztQ(40%%iugfA$MGq#rI&Vd9U(!??idx9+#BYkmWmD3!TteVS@S1e@br% zpG7)hF}$iISNPo-yyWX;1}|3G2EE^~o(S2BZ$CaPN& zRt6_G9`h1(l_Rs;znvgWs_5XwD$m@uE)0a?$Ph)IM@OE=htCnz4O_L@y&ReUgJ5&>bs@o_f*$p! z=g{e;FpT@2+=($9*e&_BqU6!9{xB1YCo~pxH9T5>a>w-PT0ap|qO0KtO9)_xna;2i zAQhyLu7)RbnCopujB;JA!I=!sh102HDe&@R`eA+A@YV2B_Rn&VX14h@q%WVRAzcGz z8q&;aq(?Xyp1QfT~J)w=_>xjhKu*4czE6Xm&}1d+zj{4&t^u=%ulkV)w7UG%LtKdL_j00 z^6xhV51Vl(Z|4wM z@o9fP4Nc`vuF)nJ-s8$D!KYuv{%S6K{1_UdaI-l~k=gNfGR`FpNv;fH%$-u_CTyz( zk-t>F!2od79KS((xG~Ny#AZtkxT6Izzr|XH3MO`hiIw3E z^TU@=&t1ML9J-GFA>=1oo%pl#E1JJx0TjXA?W>MfcTBgqLme+Q*>a0WH-=!ti|d1} zUx2(b06En_LV{ha8^?0K(>64gCNy|_X~8th`%cZQ8tKIqV;Ic zx(WX@sz7bY|V{kOj~LUnJ^`_7(eM^>#3HB&Hp@4v)utx&j@QxwWga&rx8z}R1w)!*>ZVHdsNn+MI zKGt$lzMx~EB1_kGCH2CMO7%6$4Y-7fstEE$!zO|wmqMt;l%s?50;mNZYH0vfU%T^c zTdd_`MN9)(d9#qy4N8U|C(}~>>3K@<%;5}e>A|cU5a>!D8Obv`n&(C4BxMloLLib+ z`b!@Zd@PQ9EX|az?$=h$hN)AreF#E9B$EWSLFmQDn&HQ)-#jzJ$6lGR%jPxZau~rY z>g>XJ;yRlF-KNjIOQ-l3^_nOjJHAc*G#;oT#R@8*eoSy0GnzNur~%+XEv9U0MYH8QmRy39l3$x3)U%K8Wb0&sCaQueB^q?drOjxj#k}2C_5!6 z+czjXdA+iX$N@O+4rEUDMowWYlBmjxpqL2O4P&ly)fho0jzDzZqRFm7lByxz2Vgrq zC?PXKpOJ5#3GSvOpi@SwkM<&1pQ~1w=r3sVY`w zA>CmxUN@l(+bU^^azcmvj5I!`7>QiacnBZWHAuP9ULLD!k;R${cU^!i_TOm(B3WNx zxrj)v5cf?L1!#(i

VEnh%8F(uIgjPV_1X#qvLu$iYw|+@=mIiqHaOFO*G8!;wfR z)g-}ui$KR8?wb%H9C+GeRtTgwll9umaJemYFN5uFj2 znI*vr8aOelX2=-SfbO-)R$mrdzjk^rbdVwX0@DM3bv$-%%mI_q|{|n1_voC zL>ntL>@Spp7hN~8f99Mi`KIoD}bdN-wmk0~}3 zqPjQT8Jri>`La7ll;zua;el0frcPT}7r^^0xV)_w2_Qaq?^CSSpOtgR(`M!Ull_$4 z!cTA>+0=cdJ+WF=qiNX4OW9-@R+Z}A?=iFRUN!d!7D`K=kcC&q*01gn>lQvta`vdp zyhpty_LN8X2&n6)i{^gJh3=N$>`F^gg$w7YeA%d{CQ|+*_x0YseKyw{8^l@$&>Z*n z?J&vyvZne|-5%PVJz$g5#Yzd0gdUx$NjhAoD~?o}(MmB9xNWIfb?sLI$fYvyvZ-+) zeRS4jxhv*$zH8Js5iaV-TCOFNTefylS305W>YK>dYxMOQebseA>wIk;1cvFNZfMSN zxg8`bHj3)fzvVYrA9w1+y7c)0m?#m(k>*~%4UC)gwRzx(qeGMO$jHFTiwvyVKvKFP zG*kn-jXq1ir$hLf2lmMnKQvN&s-4j1$7QDYCeh-Tkt1rKzAE}MOW3E702%I+RCH$* zXSlEQN#ni}`zb5tC*Zza?0{9S3<$Vy$(`6a=5)TO|K5{-JH5YDOgedmRCSpl>^#4wEd0Btd1Tik_8%c)C)(S* z&Q}DE>v^kkayoC%`bq@{e3p17vH-9f5pwC))~is&FdA~oX;h>ql)p7hEG&69uTC|(GJs$%wMrP zso(FfxHD>arpsM=ZIC4{Xrku&9V;Y`|af%bA%lkF&NmA zR%TejzTpi@|FXa0{cmY3lYPTK^jDmEm@550#b42JDA@du_$$s*O(@taWO?}C^H+3D z|3BJaF|x>;eX{Vy9|f5nh>D>r{dhokcU=dZ9O`Tz4*Y-wJTjK5;k z1ONB2W#TT3$_dnyW7<&Kz`TmN>w)FJL`YT?sv*{ue*MEz@B6cwKFdeSQ zOoxg8n!noi!knoy*)??mSv<| z8>D3Y6*pf^DQxj;3%}Q2ajFXaH~A|bde{6FGdK0Pj<@C4Jh%Dd>ystDzQ5u?IwbH{ ztiHo6t}E@Q>@$7>i|Y!zxF_qcXdB+mUoqhpv$(!-Pj`RC5!XuRD(rc$SzK{O$mV(6 z&E8*e-%aYjrS5}2i00k>74L{gQia>!r}AZUZuiFGp-_g)@{S}vFivLr8#qrVN|BAoj(M>YkH~Kc?zDD~g8_7?=eHZ@7+xw?!5W+Hp zPVeTg`12o(`%b>AyS@Lfla2dYNzU5)U;DkdZn@jfe%XJ0qvyW$Oz5ZP8w=iWx3OTw zpFImM*m7Ne#p;bS_|N#W;XmDe%BJxX;Qx@_2E>`|0sfaac>Du@#e2Uu{BOFmJN~^q z{_{xA;=gTx|M|ijQv79#$G@*Y2c}Kig>egXWeB}yPMfmvfAaX}ga11IirqXUjfxY$ z57<%aBu2$AA5&Lt9_)q;61jO~8aq7^V*s%*%#p-(x96U5< zRqWK+ne%K`#ZJ(Ng|SklRq*k&ywbl8&EZ87F^3D8x8wD~O;(YDKZN|V=VVAheO^_R{T1jxNf*Rn`?4oz-6r1`6j8h2`4+_+i4 zwy<7K-=1BYfN?jmG)*<}Zubs^>J?gS$qxap?&4gseN<&{up1ri13!$l3s$61PVmtZDs7_yi6@(cqAdWL|@#O$Xm7S#d$+>R>lg5X*5u$c7V)cka&uX+(gI2|RN z4iipicf;u}gI3UcfZI`7H$)>-h+ z2_4{9N=1uf`xf5!EI1wmj(Ky=tOa?IAa;BQ&7xJVi@BQi7QQxDTuh%pllo_(z(ahG zt1x^43%iQ1fnd;fh@A+9N-4DEvD}7mpNGgJ352KUlbd3R^?4(yhU$prf)l3^5uS4R9=X$}h9u?K{6%(fY) z_PE#Msm79+tIT6OKOgm0zjxN;%AZ#r$L%(DTUPTY1@Yu*RP`puLpBf07c9=c`6X59 z!l77G@APjpWHnBaOq_sK98d10NKPG_RgjIfKqhGJ333JsE@l-r`n#EYa;3g zA+n7S87r8w?fT7@ot<+$J^TU5Zwco1g85R&-x>NR59fXdYw5WBXiM!BW=;+r+?Nj7 zIMWf&K{Ryv;|m%i9r2Fuh#AO=@IF3&Dd&5c@ucg8f;#i#?fz`Xc#@;CsC!#Gh@z{5 z82X}kVla{O)dl==x`7=b#^n;c60h-WWA6Y%#M#m=c1kXHxeRmjFCT~GJ9rr8HoGY9 z7{&&1Ulz`mSC_MtNkQA(Q+dY*&wbs;yK-*_euH;QcF1|UKUz6nZ`TBoV2va9!_||R z|M(vCm%>ZGx{`Wmqx4RP(XXayO{(he1)~)5# zsZ*y;ojO(b6e4i;_;MVgx*VrSr^p%0z!bITF{J_U5!uK`V2Uga0#jUKY;|Asd)#pS z^uBataNqxD49ftngsioFDrWgpn8xv%xm7aE%DqZnKjkYf=Ca%u{|5R&ptkn1ByMio zk9@`iV6?=p*~B33uH*JOEN6;6P3$|FL7t7HN1vaVVqFhzuh4!%NO8!bdzgdS4j2>B zTR7MUZ)e5X0*N2uJja5;w|E2)zVf(8v1>|j*F*3v*(I_TRx|3)618v+Gs~H)58Hu% zg9|4`BHoY)c&Wohes=vpLb$&dUNY?U@&Yb_z>qtB-ejR5*hNKDRD187%3{ zuV;@PF_1@!;7ccg;I+lTlN-F-xl9#V{EYp-ND0qGo#9p*Z}1fx4>S1N20T1@Ul{)1^4*vJ>l}({ zQqAyxfhesfIDNaX@=-cSM~O;E>?;$TQg5!vT(yx<~|}P$TY|9Q%>)tRdQS~hUDSJ>LteM{pA1< zUL*1k^IdcLe|DMB-*;Y{^#2AeZ-xH+J{IVI)jdjoc2P_E8&y@3QS|}tb&BbOy}+wk zAAG4IqJ8kOL^SJzl}%W9IeqX~zF3K$J};k$JKbPE&0;P4BG|kyZqt3y?I%!IkF`#0 zOe=ly6NxW<@xzbEy|>N2NC(iL?~4Thz`juWBk$M4<(lji$CJG5SXv_?KLh-l2L2|e z9wM0%S7eK;9ofHtyo&t}1O6s&gDBPhCdV>}A9IX%!sJlAPjcQ7p5}ycPH-CY!%sKr zpeHmh@A1<<8VqoubSFRR_KWass7Jpv(!3W+lrxKF(%sx8enVr`O^6+@6vTgFJ zyPhBzU9|hZML<3h_p+*P`{^I-EbUAZ=cJcI!!dpRG9#`e{S_!+2GO6qCg>ntFeKUg zj{rRg>?H9%o)`}-jH+@11gB*{dhkR$o(JuN&=D!xGdN#C+1hjtvnC^}khT?yCd5*d zmMl_8m!2b~UlfcIf53}$XoUPB8FFxPjW4Y@mEy9yM-o7F~EV?|Z{vi@Jqc+Ys<}`<{fVQ``-*Q9XH@Q*R8xpn$g^){?``h_x|`6ewlQ zEs3=foEln#5i0V|c((&@7Zf+`SRdmP4S5eQbmSB#OmIZhKl=!l-+<$jEKmO|beiR~ z2k&7^{K+W4>5o$!jFSwcFyxEsd8?|#G-v-x zp8M=;{p15j!3DF{2_dcpx} zCr035MBE^3+z}AN$hQPug7ELFSbY`qbA;Jsw!#UuYIZ2Ojc4`h5H@B|NAd(V6$S7a z!B4*L<00;FQH=3)^)DAw`U;zp^>C>gq`jxSTD;ak_Ir(aFAKn8|4O6k9e^p$-IH7G zUtej2;=!caPKb7Rg4gu&J(SeJs4^hhd*OYxx@Ecxzb~zt58m+<{tD~W8yhpS)(_82P!?FDt(!R3ZCX^KfDwdc(+5H zXRA8F$JZYLqN|C*BjkhQl;>B`Bvq-wz~YI`Y{Q z9Nr5x z9f08-(Xf*Lh1YnkaY=ei%EcLCvNQbu3(|Un=adBgUV>Gs9X^%$12){K_4fq6G=tZP zWv`zZd^m&Ne}ebeo;>W-?(!IyZ?sZPMAwG@@Xy&pPiFlG$pg3zU=q*{*TybazaqS62@lhK5eB@vZ;M9S zPq{?;_ybPduoC`cS`#y9zJqKS-e?BL*^}n!(b{oKDZUP|hwKJk!Ae&yZ5~{2fY8IhHU}%u2oDo{JV8vK9X!0#{sP)f z`kR3@CKQ9*^=9xS^U#43D`8VfFbQsJD>o|pBusvlu95((l$XZAj|pI+oF~xxs2SK? zS!2S|BJ=~F07d|&v_l8Hfl5p!n>{r<+m}!YA8aLDY6juJVP(bnW-!&mbs_G=4P=_;;;AWQxI-j!P!bdGCJ5-re63EIyElSBE%EYwfdlarjnd+k-?cTVk)*v+RjT@W57w zo$Zf0n-8iY@G7MKW_H_Ocnv*&djdz_5YJ}~+wk?;}YuV{7)KKWSv5Zzgl zjd_b}2WDV+_D58d0p#e_gfvhj#2?HAp(CzF_JJ)h+Bc2a#WM z1jq+3wO?huDQe6O3(5H`^R=erQiMxJjE^;$DR{k&)f}BTSn00Nv>Owg#?`l z*0!f(bdsDWa}Ge{E>l@Ncmb{q)Inj3+< z*UHLe2Czw#-Pdj>yF+~=F>5`C4vGX4hF?c&cJl_aJ;4$%JS@6vD+ZSY?}D9RPem#t zHM1Y|FQ?~GE4Y0igO}{FDtR6fz83!cmg7Eh<=?TuR}Ah#U&>g*6!3s zY_Wd@2?LM|G{|b?;V%MmK3}ZFBTNU#73%c|{aP)rLo=@fNa&^R-rWFlh5|WGgS3%{ zzX-@Je6bS$pkeG+udnG>W@o!c0_1prteXyyeHF+e4U(Hw{6#=2%YNce4WqM&)x=@? zmDvgMdXM$tTo$w3HxlZ%lnz$n4AKYWl+}AI)NBRj=r+~%0`=OYUzwdyM**rLi@O7% z&QwshXsDx+jlT%4G%umn*EAR!Uh(?6er0w-y#Y`aW!%pP05wlRy-HIcVq|r?e!K#6 zl?KC!3Q(`sugp$+(P%(b#Bmn@DlT=j8z?NS#KT`IBFsn5X6VjUkR%-p@VT=)H_D4tXqrJ6w>DN{h_!+@)W|YYm{ox=nM5m31%duO91ZlFe&*c}X{v8qp|- zL_tYlKh~TgF-#~__63Ik*2=#FrAn+1=b)6`^feL6m+@hx9UjN!*$z7ZkpolS2PcdA zo^yICHp@E5l6SnY@hDh1Bx+_GH^9Vl;U2_Ehde zOJ=~FXm??&Fj3S%q)}DBuL(O#V;d*FscPQ^As>DPaNs)O=XT&9Lvft9h|VvcVxRv2 zuH=$a#o~unpL&HoY%KIoYFBV^f-bcmxCJo*7DF|FD7?cX~OT+d<1bMfH_}d1&3y4Vu4vKz)KG>Z;eO5Wd`N`INF?uq8D?qi@b{*k1IDZ@bu)X!G1_rY%@^l z?LUDa;8KAYao2q&$|?7kZ==^R*R}RJ>2vku;;`%VEs(l>9OL zeoVO939|>JKJCg4?`86iJtB4wKX#(kWULvSq!99FjzOGVEyMG1-LSHZSUSaYFdLR2E5iqj_C2}LI1uqCr_NVurDNF(6*|FlfmI&85NFq!>Py8{y!3jr@*T_1U z$0ExH*ryO#4DUXsRn~byXTsq^LsdaM2+~g17_wexfH0AD+r5A!H|zmows?{iT?WKp zF9E5!4pIoero;9x#-Nbn&aUD*fMa4iZT43{DhUncEpC3ASC?Fq~P1yd^}tEIl_3VBj!Ak0x}>dBbn4im_KY> zVw9lgy}{Sm^Y-2WhlKTH#sV>+rNB)sfdkln0z+xOOKA|7arXPVl*%|;xeY-97c%nN zTa?L&DZ^;nFJ<0Vd2s~hQ?^j3fMGEgIY14=e=r3BU;dwy)vivG;eP^-dH4I;#q*E7 z8%O5Fc;3$NSH1B4BTfCk$qraZvSl3Xx3OSE!i$cX_W zbi5?FyHBESa|mOBTd(%ZBGe$9g}z&%PU+z!nwypu4aCUmy}~}oI{-j%0j~xjtgj89 zDaNJH$Hef`AEE4dH*-CK?e}VwjjwQFj`WtG3Nc<6TfY+)#GjZR20CHM{<M_Oe z-$-xna()B~!bI~q^Ux2_V~rWbh%bi7_WclN%xq8ovj((BDbw)az+}UZ6S{c){*p1k+dR^7v|8hHKz{9GxvRx+Oeo`WE93lDdiYX5JEG#?8bo9uBSQuduqlZFZ~m z20rtBZJ0H?+L?zCYH#KpF^z$nOgbxRQxaGqIf{JgpM2(^cB8qIV>*eapo56{o4hmI(=-yu*h7U381L+gcCp zdp~-B@x<5UR^u=*?mmb& zPEP0mFMu7AfN?_mLgSQ#_(J2fqIk^U)vl7f#p5=c@kemRtYWZ2#k4L{t$P}FoF&r0 zXD6J`v?>h$#j1e_=53I)sS{3Vr3ty8Qw(!tq04$$#F^T~G(0EZ&?#<;+Cd)RqySsa zQTzAcPTpMUTY@bTILm%P%2r}yp~=1o8Vbjwi4yk8U*aMMFg2!}+2S0UJUSXF%u#@+ z$C&qwFrhIImr`_{Wj~7&9t>|(-+<~pejPJH_)Nl+KUlmV9+oSiArs&?=u1p@I`-cA#=pOGfD6E z8CAcRDxgg9*&ccTpXi}Uc%p6@yE5w-{xK)8ui%|hQdCbou+xS<`)j!t!Y)bO8o6w)asrm`V)8luD=!In>w3e+l@v#B(< zyT%-CrtfNC(j4axlN8R(EW&C8l$pkCKIVPl%F%R=R zYCtza2R^u@J@z;!8CBUGSO`SI#c6vXb+-9-KpxzV-Le2 zhwR{+zM~zCDe)|BJ>)X;exPZz(0B^h>>MdDo~kWOg2eb54Cx6RFov)9)P&pRHoZTN_JRO!C!foKgY_Bf!l*0bsDq0b%*?-&VlGs{{cN>yZVb;queUcY7neBT z#Di1^>nQB+ELO&1{?DMd4Jt31|D%~laq>bno4^_;6l0w1!{%4jRNx_Fm}_H}EQK)@ zRDK`v6m5hTzYBAZE8$txk?<5vD!>68REbT2zjOE9+ZQ&d%4ytlGK7keqtNTPZk+^3 z(hG5HbG(+R=oJx{@XUA{AV?L@)2?x}wR-(7APsl`X zVf7DC_>Qc>$X;srsf;2MJ=c=g5qwb`BLcR?d#?X`||S zARJ1G%p-!woeB?DZ=}MPFzX`MWE%bkVEuoq_vPmG(g|khX`vSQQdl(94X>I{t#OKN zbJhMh__j9TDb$UQitsG-pD527RdqiC;sAk&Tx)Pd|IlIZ0uFnXv0&&yq~~h*XhOn5 z_TK^ygoTi)7zKyWe>1?T_R)`_Hw6}l7NE=R)HMy544Ojayl#w)ONQzUl3?n-0meP@ zDJ3qaaAV&4ln%BP>Jk@vOztPsYdWYlT+{JKR*Tb2#)6@2S#~(W0xob{8GHYLqb)2` z0n+YteLajgV0hGJcjOC@jjqbmUg3%|c2!=!uGy*_cAG1m7&cK($ltRHEr%uWJuG@? z1%d-)`}6fIM_0&j3OR~81BUlpHm~9$p%RtWS$L)TfHkJJfPq%bL>xGny=p~cr*8oO z6d>`4KHH+VH0{EXXob_H-gpT;NnfYv)-ix2ph{T`sGe$nbE=ZN(+J$^mlVpTxi)}) zWoJ0+r2bIP$9XXC$n?&$g9Wtw^x~H}*>>CpG_9%{TUWG#WU~RisG}4ZRqvsv?6{8` z0CGua3f^5rNM>H2edRCZjVVde((5L|hmOGuFv1*O}wNb^6QkB_UDv zpu~v{0aO!G!irHq(GF_#;!~MK7<5b`OjcBhm_+6ZM}7{wwTMM2_qLLGfH#`&fLF>V zn3V4V08Gj_`}ew_WOQsPlXR)Ex)k4?QjD|j)TLC$*|PrT=^NC*rMQ!KmcRj{@Tu%v zUVi#Rv|LPOk_d}~BW=Uu7=2ykb!b4~49Qq!m@YSSM+7uX;6#87=lI1Nq zyf(U@z@tFuqI+CicVO|+8%JI6onswZB9P%4iDp z00Vy+4$Wkg1b*aB2o86_4)4wT!E0Q;9ozBt{k1goRKnbWb>kK@pH`L$*a9i;49hSQ zstf!$*8eq5{8rwf_wEZ+k@LOXelRD494G+eJdgSKmUfOYfy;jNz*X%ydy;{4ycUjTmhkly^-DaC7iQ@I0+qu2UNDH8yiCcur&b~XD;6m zx)#{*gT-B;u?R)C|6}PH!18Ef5;kb2L8xG#?cQ7YjSY?|L&*V^2R7Qqt*{kaiE~aO zL%Z+XiUpt~;Ugue+cK2#*?i4pi?>?d`4gG%Q% zyAg#y*1k`t$6@HA{$5C5cSofBc>5}y-bXU>9;W_W|Q@FbmGlJ_?lNpZAsqdk79 zI_L2QAe405;hBsv*fi0Yp=Ncg^0BXA-%mM1Ti>S@Hv*_$&iE-+KFY>F`?8g231`!# z73X1%o}msZnY9H;f>>>VOFuiy6Chp7P=cH+hn0$O8s^d(#P|k`$Cevi@=%6`&v6JA!;Ann_gbUTQP@pD zr?CsNaYEQR#~tKZyuBWtIKrN;{Wxgr!O8udEKB{`3=ZXnjeF!k^71}Ayn;lKizy!E z7|D4WR_9GR5={Fj`qzCiGTSwbw0x7$elPA7tM!q=_%myL>?-~cd`*P}F$@~XMI<3J zeRG&4;G2sFxuXbg;Ew^`;2#QxF(@R3XizrFV0BN0BiC5BHP zM@Gdbr$cJ~YkXp(aw=z-C3&iijFR>dqI}ZUD6fznW>6wS{4AAnwOXRrAkMpnNq(NAZG6Qyl z$tdMIjy&STT_JHpp_*FmGm614wZ8cP!ykh0s}O_LP7qs|wZ0Y3Tdl7y8r%{MHbjGV zG`L>}?Xu;hHzxwyL2)QBmS94)|c=j(wP6FbLSt?i;wVvlBB7_{qo2cC82sjSwk7 z<00nk`r8yP5=C4VA%9W~FUHwBRC6ruJW@oJ^VW+-Fa^ zQYm!o1gA?M0Rkxa&W$YZ9(A4ixMc@qr(O?h#7X}QVT?g6;f$^?ajgXHLePRQ0o?(j z>i{K3UizyXQlPS$ff3Jq>F4P_R_C~zHbsdzNHD!M@zc!P_O6EW{?+*zHTTmI?AQ$^Q!DH(12HsGYCmdeH!6mV}`lsSN5=4g_|%i>XNB zQzup9S#g?uiwvZ{s;yyJ>JHVzP4JA+dK;QT<|bxb86?_0kdNF5u%jKY2#<*gkJVwj z0C_#}OFt!jd3H7qNRMm3#C?uhF+FuA>-b_=d1tw?Lm)h@K zsz_8oc)^7n;Y5kA{DDLg1tOTtp-9A_POW1mq?R%j1^LuTlnWry02ztcAX4Sg^jwKS zKXAN8NVE`*Ac@!_MWPdskHb4d@~J^wP=MxGZ#4imTh&2Yr3bJ}hS_% z!%+bgux)(DO=Jm>;}GKjti~)NKabiM0|)sa#@@3K*r-u_<9!%?K^%GF5PmuhLl{Tv z%P?rY!8gQigV8+XY8lP-r94&e~S6{hxE zC2BAe59fxPc^GpT%=Rc5%uftggSiXDXH>t}?GOTzN~J7s{gG>R8Qymgh8BHCFI7yi zS%$nOSAkS0@@{RpA{V2CT+2zW4`A((zGX&-T%$F7?i?ne3Pr9(3nJvY@Lol((QM`| zofNr73%Ty3f|By9tAti>T>)C9Yg+9cAhena`ia;RS{(*u2;@qk&?8XIr+O8wh=fBc zAA8D5`|I^WtDCP;wAur?p!EkZC2@{0+Epmv4Zg$)3SL7R1cL?>`})`ds%dO*`Wo9+ z+~Cb?gs~=(4eyZ&~B;*TVJBK5`KyDU1y%KQlrV2!UWci7LY<{7wUYWo;+ zFTN=6r->VJ*qBS9n3b6Cr})Yj;JF3vC6-E-eZC=|R2hi5P#D^FHa z946e9JocvLURA;=u3%ZF#}ki1Z7r__VgHLhu$oR9QS*XCJS!1z zkrpyD+RuDQYaqPDfc;(eG`>L-vJzh`L)B`@YJUwGgzseno8)tD(ulNDbL+}^9zz}P54RoFgMi}hIe`|y5>-AO3R?-9Qt zEOj?emsY`^A}p~}3t>BxG=_QfVZcK9FuogD#=C!(h2en}TU6A8W(gqdm)Xmy-T>3) z-C7MQu^n3kbVKNTfweTe8im97$Yp8xD*$Xhf9@8EV~2Wy$t4l1re@8*13<&8by8e2 zHY#O((W$2LFX4AWHtHnSJ9UYSW+l!P3~kwNKn8X~caj$ke+))2T}Gyo2>o}x3j}au z5fG=GUp)|RO}DbzX~Ywxeh|dKjbY5tQbzq5WeGeBz{4}R-UvCiU>r4AW?zb;9D5G{ zC`+qp*wO69qI9TC8dPh)^fp;=r@aszWiRI>%L+A1lUup)wEwh#XFG19a(y&0z5w&|2DLbYj=W+88YR7M3m-(fO?UlRPxW>A=R5NPL}Jqxy-B=EPp{< zXsQDlDo(SWn9bBjRA-T}qwV`H2O04(8qX_&G-s2}-*QGAi-Kwxo~3BO zkbJc%N?H|Q00sxk0PN~f3V9Yfi2`Y8K8H_Q)*uc*d}Jun>IT%o#P?7&;q2p7kEXH4 z=l~3%Ruui!a6)jezCuZ>tEmdAKCgBdRu3kT@Ncmcy8b-cL(!-Lj-Vl^h%aMof2&nZ zK%vkFpcx0tCj6Tf{w%Zv?;%%|kaL~tq@KZ~iPEG(+qkw4EDOD!F$3 zH~vL2&_fslb`>Vi(3t|WHgrH0lljE{0kSjnk_IqZJ?$Ng{1Pv-_~qqCF3?9ly|nL= z0ku~&|0VWEVbt$iiU|y#<4}Tdv*<+0vd?}DJbTNm+-giyS*xID6<0Bswh%!hd-uds zLp+#0t2SXuT-@9m2<7;~ylOc#l`z%lSvPKnk^PC0{e||2xz!l90_Tm4Yp_9@nlMFY zpSaGn9&~xFK{()W#CWROo41muJBm(NQRr*Lxvghwiu@}KznH?U%aI8O+<5roDDoC2 z)foPZV6Z6;EH;LJQ;4HtMt07ZoxE|ETgh@_EVnwhsmRFA9|6S&Pxr6YGv_w-%(_=S z(;rmNw8`q35>U^?C-6k^=jGvkNgf}gNl-6vexieMa@Te^J<$P2C`PtRGDdu2jQG;X zUT2J0hrQ2$|zeS|5FNC zGiF@C)ytehUrjrd%$!op6DcFMvt?+9 z#`3>`-5z`|8Ntq&@gfFZN%=~g6LKZbK>TWiMs%Hyk${&P5PL);|5YC-Hp-47R94$8 zZsbplTiz_L>_^5eQ*kKvLnL%05<1M#VE`RP@MZbKi4~e(kLpvq2H*e`=0XrE>&O-0 z6|%@4s6h<4Z5_zjt^--ybRd1J4y0|=ft0m6khqEgfLX4d?#1evvj|UR2SI9Aa^x3A z_69sQ{Kxuaqr)*^D8(@&!ZCfKC6DsmcVNk^1F^nxG2bh?oCLhJylWalHmAHRj>x-= z|E#>@c>^p`T9J3#kRtN#bILmkwMU@kw-9(a;}M6ntV!ybK21H-W~pb&9Q90`izfu! z>+*2_MIJc|<&m`%55V{V-NogUadJNhyiTa{)JG`shPK1m+U&L9skLBcJeFgeLd+pJ z5@HUIGKe`oAm;d}QIBe5t;Oi&Tz~)tWQ{6lKs=7BGfwFQ5jQkO#PKs(5pm1Wb|vBx z`vW-{=bT``wK*3s0)ea?Nf{xr>6tnl_$)WoU7%I0wcQc_QE;c}6UuAWXo~NeofQqy);ONzjux z{?K~&_0S5XXUlXT>uMcHAEEX~z)dS;!Er>+Otx=uMp z7GcgBv6kfhH#HJ%WKW~%sW{B6bfk&?SeX+W=6VBC$Cz;mS;4wjYewI<)Ql1%n$Zrb zme#SacMn(dO z%{yV3GeOP-AVEa)Ml-(PL00a60(Ep<^3+IPMdBFpekp#{L08d_d6c+UhqyTFa@t!` zeloe*7&5*b1`w*0m5r@zm%nR8>rX^Ma5&xK`@rsQiW~f_70X-*FtwI{9S_i4h?GdB~ zCKyvrcd$zG9ce$m{r@kl>c5U+m1IougV)fHS0v9*K#%Z>0X#$tv=P`(C2%*I{dc14 z#Ec9h=5MhvWxEh_K*gX$C=#+&2nydmhL|vFFaDL~3@09l+J%3q_axKBV;j|yJJ(R3fM=;#j99`i zqu|nKv8yO=<$X^S#n%<*eP;MirKVMmwS+5uUlDdXtxnH^M6Ud8MQWJ3w=!V3eue&# zwN%c>Iwh-C2htboK;kk4WX0jiU!>#GUS~iprQCngktuT|BR@?bGyjV#CN+n01jnqF z^a#d)cV!KdDmekG@p^58Fd<5$w!>Fkd7F$GXK{WhU(ciaXmK8fw(C3q3>(>0YCiqH z>*kSJzjgc|nG{aT>!Ud7b18F7eD456l7IntATl)mj|-%wl&oYBir!o`9iH9jbvT26l(D;zGZGF(&3b7U!Gsm)8H(=NEoyi76=u40=@hm_hYkkSotTetMknYlfv|s2zN(TfS-O}Yw zV6@zS;>!6E`bK;(w$0yD4@;MVI;fK ze=oqwuo{G!0LVhg7M0jArrfW^_c%4FU_RN)`D8EJ_X+;Uq|iEmTm%OxkAI&cN@Ecl zMYS9?>8LUu&PRPHO-lu9RwzIn78I_)6ta)P8jT;PrjY+W4oMH(!}{+@#stbnW6}Vw zY&+&grHVTfyb}?b;GGCPjcQrJF%{9kkws1HdQheglzCw(B;wD_3#&mEOaM6v{b87m zP7GOmM|^s+dZu+!&y=p}nV5+uCV(7yxG$1NPJel1nes@#5|79{5MxMNhJJzwry=ba z(-|Vms*#4aP-TS%J7NviYn)xnK9>KhA#$1t{}&wLzfPneg@58+Y}7i!Kj&M#kn&j# z3_$qnRc87|oshOx60pj|RH4Ey_iCM(@~$eCvj|T;wm61fQf0`u|NH_@jh)s95eAw1C8F(-_Bq89K6(M!z)JTSNbO!OaLO)4xVJV?cVt(NGW|8t8-nNCvUVr)2$ymp>A z?WH94xv+)@7S9T;ZYi%POk{vf#t^WNx zZfk)kdIP&m%izFI?YKeMV0#aJ;}T(WyCZBaj_$a&S(5E-!>ZZnU6J^8O~xb3I|R_GhG z;Re|ixnD!=FFn><@4Hp@){HV%2XgMvfvj6}ApO@mkTy~WQikh5;#CYlpbb$^_aODm zxg5{`;=UWZ=Gc9=uhzzNjS_Cg%sVlDpgu+D5gVrcoBGrR=)|`5ps4k`0lJmiCu=FE zmLo;P)bE6GCL#*v4t2fOd-r zZ6o^$HYSi_%Y=g3NCmaW1)M;~p8U-D7eY33z zc*Riq=vF+I6rZrQ=$Fk8a@+u!8M9sC&D-oKuEj_x#wO74J%w;#0lhMRzyZ!I%8y5G zHC$LA(mkV>%pf_>sAtxT>Y4tkdZztZJyYIQ&%{M|0#>a&+;#H6sg!S_H`Sv{)E3Ce znQ#`wZIDxM!qkF==g2Q2hdA`MCisinns{(qlaJ`>4ZdLssurJXBd0g+XJuT5raZ_H zW)&RZ$X*8T8`xn1SK&y5QP%uOM{(Y2W9oIX-?>=1Gw_rzmT6=NKrqm6Dlp&7P)>gx zm30XNkTnvW-ivRL2z_*N+Sw|?-5pOod7yZTi_s`W+h5Kpk_S6qNJ%_$zCg(O)yEvZ z+_gso|GE9Jlr>Ve70V=yomiueA3y{Cl`XrJ?mvqn`k8bb(N81Eol4QqfFrPm&JQG=a~4pf86E$Q7V$s_tokZuQj)`6T;bRg>_9Y{Yx2htLBAf+is zkO2=c04_SHp6>6}Gv}mL^v2F}%+f2eu*V{+d5`?73Q5Wwfv&iwx#3uBeIsd6%#;qH z1uNPiVrxWyaBkr#pqackhhmWU>Ggu_r*4x8g@S7c{;q}K+SE*N;j~$T?5X~81!P(a z8O9T6*8o84f~y}=L~von9mWZ?tl-`jato_S5jEJK4Nkmt0p|b&heupTkwsjMCotU0$1+uauY+ElMKFEycj#n5FU^YBi8{2 zH<)Sv#JGnnKMT{v*xO2`fKW$HeWqc-dE4WYCPps=C`l}wlV$T zJP)QnT3_oUli>g5Bx6cBE0g)}wn*q6hPb}Mv7dixG92Peh7W)~oD5;Wxg3tr@$3zb zAHj`Lm%A6hGLX|<2eQu5f%IRp#%wz4%6H<@Qkkf?Hd2yw&cyZ->q_swOr|}!XcXsR zl(EgGn3S)xr8sa=#~NvbPg&HA3@1k9j-43qjGY*JaAHKh-E4k8piIy)`*+PT&vuZE#r!lUvKi();)94|u|IZ# zB>v9Ep28Ugor!W8gj9@pz(FWThfdG5HD%^kohw}#nIvV}%)dVpiwO|ZraCo=sTFf< zE7PX9VH&v@RgLJR=S&_Tjn13c6F;Ck7EM$VNy`rrM((fA(d)BM&rz)9uG4{>)jE*1 zTnEx?bRg}oI*{_74kZ4C0r1|R)iYo+N4Tjjf7&~6>4N)?LT}-MT8sCu zCx$E4Jx58rcby;mITx(IG7YEgaiLK|D;KOk=*PEK{OG^7#RcnQS;!Z2VebOq7jdrs z8a`yOQ>NnMj~C%!AhyPnd93|HRb#~rUSYKDm@AAnPC>!VZQd`>_PzGDYTpU}MEjNj zkG9(PoUe`c&0?XSZ(k14Y_)w?s~X#C-`}cq`?NoIuXStLFkak_Z&Y|Glf7XQDi0=h z`b!{gxvvj~Exwhh$H(Wr7{qV6FOMO730vzc&~XUT{SJRLkm0q|d9C%8Il%zjSp*Zq zZ}O9HUQ`PQM{-eZcW>Z)`|*HO`&(2C=Z*!DYdvZQbQZ9+12XvZTDZ!lb^yO+!}qQO zddbs*j~`z(%k+_VRncdxC~%4(6c~_XPoE(*yo4HR2beD81fxi+=@o^Hl6WzT$oJ_3 zO6?rK93kOUo9O4M>NAVH#S_j(GL@;aWPF*iV%#@I_GfTMw-xZZ z%9j{ zf~SEuJ{7$1A$;2cUt{cWd|X>y(N(@xv=XN?f%qWP3?0UmTlmy%yM2@&IN_5{I6JDY zP`5gmaDEloiTh-vMtJ`MO8im=zTTV+@N8P&w2rJWWIDc?X=Z+A4j{i@~R73w&ObkL&*L<7+Rbzc%nWg;llIU(XX!J-%MlVTV2^9Vb4cj=`sx z25g!ON~}_`HC%04H)u;~N!}J3MvG3^0?Q{up1dviUw8r>tBrCM{c=m8?=bBUOAu7H z)M$<({}#jF5pYeb5a8CK_+k%i9^Ckcv2YKBTv1>(ti|+!40GxFBCG3fDf-kh1|lB| zd)PY@I*N7SWPC{`=e$oXqTv(YlxYhlKWr15I1b^_pZqBaIFx)^QJn0673O_*-#l0# zD#n$RZz!||#8aDxOIrL-eunCH!jpx0+^-#x`~;?(ngau{NS`&qW6psnm(zWmhU85A zh~&wVgU;k90aQB_#D#wUAmeqBb$+fskN5L{F;~MfR5Nkwb>U^L&2Qo-HD-FN0>L~! z+*~iy+us5FTyFr%v7X*KR6I~*-7C}ELow6aCSkAexnh6k{MI!(zoq|s=C`czE$6qZ z?{9=ep@uTP5P9xs@CM??J@Y=-2$KEo!@%4 zjgPM_d_IH6L#MyC>99keKwL+WstJbwP2?$re^9S=cY-JIH+sBrElfZpoT^(1Pcy{kWrPQae8tJ( zX@DkL78U~|uLt1WaG4GFR});A9S0}CeJ~u07KtbL1gssfsz|69V&Y2a01qB}ad}+e z5CTIpyB0QGBUzKU7D>*Obw&c$85syBXFD@gNBC9uHM?Wgo_!w$azR{FzrU-E{yF{b zX#bq4!{{GbZ~XZ<_4{p)w(Oq>K3BJe&vYg@@=u2ye9k;he1^1*&vxwmx5~dqn4s}F zs>2RGGmcZgU-U?u^m&S1(b{;rJqDkmJnq>xJ{xXn1E0^B z;K)B6cIb1w^7zFE+N95cw(uDggU^r__#Cf1KB;Yd2He~ReHJjmk$*bu(C2vN@r24Y z>GM)s_?#DmPtO+k9IrgyThS69M<0deNLNQ!!~MCq4}}&gT4{zCq`|eT(E9ALx5H46 zjitii6^$^{Oxw?`R9I~rZ*k&>H{#pZX?5gVVl#KRroq{W= zD!SuZ`jWs;+J0YXyn89H-J3oA;mo}5XZ~b zmzjsY!xqDtcs1p|^$oN@_mJD`@9zw|xhL=MhTow5CwK-t@mHk6msn?BxxODIJ$V}{ zwu#Fv(;AssVEBw=6(jO-u3nxh z2rKQXUx+`iAKKHQ-agwW3OM!~D?yU`lS+aUY;WHQwo%0!2jDgz=z7()X33fMEw|F| zv+}Z!tImw7cah0>cR;FihGacjWW0NaYZ@*hT6q%@NWb<^s%w^;hYo;}1MsT4W+S^M z%Ny+D36AUR$vaqaT}iM%u5YSHWrXgN1D?E%6<-(o_ZU^3&})x%@XqILGcDke5}`%1EK%_I zK^0tPo*DyDN6ld_@PB{!VRIPB8`v&P^(kmZuGs@dkbwxMzSQ*X>ufLNKmTa>Iq5 z3OsxNZXdu(4krlM3|5TQw^ zoJ?)@%|G?YK%7zaBO`)|58_2Q!s!$HR!pq8S;eM=kZv>Ksu`T*O<=#*JR$uBz>4$i zEu)cr^3pj#*BfYvky4oFIG#|l-fTbK4vx$4t%Z zy5(%6d>5ua)OPw|uvh2>q~i?8%V;|qKipMulWzr&p0tC%o|!wD2pMp`ZDH;RZIRc9 zlORs)A6IjFb4Ww7cmv-$l=;Ifp=6ojZcUv9H-I`2RqcS5I;IjZ8v}LWXRzxWUZtHh z4#ULEOkV=GsI&q7TG5BHsm=s(l}+&Sj3OvPUb9=HH+Y518$6%>ig9@eHh1tuQmNs; zpSdxsS4;0hAT1ch&Q1JbrU;})beb?aL<;$hKM1753@U*X2LSw0ASF3rjPGnmD!C$& z{>;uO2jFV}ocTNJB;17~QpwXEvpVjpt|mOd0Kay$M__b#gE_Y=;^Fv*^26%XxrG7z z7~dcv6}Dr-oMia(SjCW2YGUC#S+rWkqpApcQ;D8PF=2Us<_hGobJ0P-eGu^Q2J;Wh zU|(vfg_fgXBDg5ooc?7ok2O#vmkSx}8Jv79_vY_P;uiEkA{gIZ02cCqnJ9ngPIVUR z`gTBuKgtr&1*8MQcl2&3^EG!*!KJm$asR6%P20O@QqUb z@q}t(hhnN1HEHaVuBV{=O0Mwa-IZv-K09yjdC2M)#3R+-nS{j2ONAE$v6_k2n>~S5 zX7Dm}`iZ>dSNQ{PZ}@*JFo)7VZp!riC1}P_Xo?Z`#Po++LBaKZM;euUTB32oO3Ijf zuS7g<7e~6+O4)MZ6?hbZ_mK(yPV3D;C-|pcY>#Zj&<$*D-hy%eqgo)1wwycMpqtLX zSO~eHdPMXoGni}keOu5ls;)vx5$xAqN^7Y(I3meYUW@AmYdyG(yDAqMynQ_`qv~9Q zJi&IJ;8jUxx5Z}75ja3U(!Sz;97_59KDIOE)v;`WGZ1GxEp3OEqCp+eAhIM*v0&bp zM#i+x3o2wV8A2Bt?YKj&H1f$8&(msD-(Ho|ynV}XM^yo&JdVUPnSI9tN9;IY>cbVL zHDDl5u(Y!$SddX1-&A6a?rbV&=k(fc_<4V61XZx`vs)<--5>1*TX&Hjthcv=YdP~t zhat~foCGX)^*vX{EkJQJrr!Ptd5Y-jx87c=Mn=X3S45NNY7lHL^Ndv>?qfB$C`jTS zK_0buiHx1s3o?M+{Ye}<=}MUOe4K+-A0La3^NEZO%+8d4j~N=Vg9x)>QjoLZ><*|g zn0NH+oBF-YPgID2*n7@x$^=2>Sc$bZ=;=x zTkWnQl^y;AwHI%ePQ7jqsGX&$eG+827^a- zudx8f^>Q_h?bJ}Xhe!M|n;QOMDimMY)hut1Q8ev45R{h`JZ>Z4*k9#xUA&`LPGbS| z$`}&9)m{PAWlW6el^&awe;78Dy2ZD^wtHP zvDHZ>pBh$h)1)A60+C^LRelCAQNwEawWtR07h&$=e82%6nGd=>4_aM@#U|y8m;CvP zZ0k7uSJ2BhKBv6HIDk2|AHp>eD{=wH!C$9H9YWUA)N!?Kn%}An$H%f=~ z+l6s*jUGm|7zn&=0?996L_1U+3o(H4F?lMP`k3*tp3(n!d|Wq$qdGqoo*XKp zg5b-4E>cNGOeN#E!zDy}jFpVRYxucXh@XY}5nPoXhoPQ?rpJl8H6TQKfJmOeay$Pj zgoB9_eE-44$CUscyZBJ2)JJQR2(A%BXLtkW+FwD)VcqdPvx`CGKfdlTSk*D>jt|($ z!Nm1Q#Jc0*$B53qxb8TW^4fA=wa*hLSDuiyE(4Pzt}o*tfn~nvsp2wY<4$Lsqdd@} zGPaj}`G7NkL{a8w!9?8{T42u~dOQmi-V53KLZwmUBG%La)j4Dq)4G#4;k=x{-a2-n za&sw=28WmYu{*Tqm-X5tWepZyX!ETHJUH=ZFZdsnrIxt)GcMY_SZ-QrL8L*4p`EDV z8)dTYgC~KF-L6d6qa9P>J>*s^?X|xl-f~~LXDUh_vbR#C`|@u?N1?LeF2f&(86;-R zlt;$Q5Kt^M6tAHhl??0c6sqVSQ{Y>fTannj+C5Jci;-X!-zU4<`#DSe~Z45r4L%`nIKN%LN3mh@#)p-J|3x^Ja6EoB5^aKs2 zuc321d39#+1-W*`TRuCp0a3mSL9&+kPRH*V`Fe$aiUh zPq9Me`66uD?6bSGXTSr#ulU?&FKkdfRp2n~0`wH13 zve7f^U8X)?V-&CQuQaOeW3J&VX}+NG$Akr95}tAo4nB&(@s0xf?LYS*3G!UfE}s+D4y62YiE1|i0f*N>`=sDHgN!g)u@s` z9NNS8N6X|B!c^ROi>L>#G z3%-7BWS#GTdr>FCskmk*JjvkqN=7!2bfu)fB46L8XW_|{>qA!=J-6Qf+ySFUwHfSN zjC&A+r*C*S~l9Jd#$aL^u9agEG0z2$ERml-|NUz|2bRFi6E!;fmp3Kf)aoemq* zKgN`8RPl}k(8&yTMD4C1EJ6^9%elmP3_NAR$8PT`7HL{<27h4&uj8He6{llz`uO1h z(ygnL48NU3va|zP+QoAz$vS9ilxNk!igPJIs~L$c&(ql-FsY5DkSl1q3T6bppk~OI z$5l2AAL48VUQkbbIhAb&)2>C8aB{Eu;t^E(5or!uUm7^-I|^FA&OWR99QK8Z?#O?h z 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 z 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ƦbgE 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ξ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

WLb4wdYqVliAs5Mq7^2(ct}$N#>`R?5AiX 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

V#{WN*Zuv=l7_nTpmama+s=PR+e| zq*Js&*F>-OqZNSqLD7Cy-i|-o48P#&f+NA`D}Ve47-~ z?n-G`4rNRvyIaYi0f$LU5e5SLc#Ex@qabuJB&Unk`Iz_Ym_$3zb6(Kx(cxl^W1~s3{gQimq-i{Ld$--TB0 z?UPeI9E9iX0L4TH@n&$X7#h9kB4hByAk`r!JPNb72+@3eMDlwyIH^3hkT)*3K9y?} zqo<*d@bZ2k)p#`%!N4BG2fb*X#ZUBS!mqI*dGI~6Bhz+B9xqAstJRSF?js`XkSxXh zAVbpfUVKQp;|?SG1+};71DqXqTO{{^1!p<{TjF;>sG1I3kIpLkV~P-;86zh--aV5S zwt$Dkju<~bt4;14r}~d9VAb}P>5&_G#NV^9u5%$f%ULbw8ZXPUt@q!v0Rk}uRU1>C zS&#eKjh`@Zmrz#K^#pQN6jcaG;2dU)Q`W@Sxw(Z--qT0|gjx#dh*o)!US-W z`vdqnoSi$5B+Wq|x9=~!!i{cTsv0faepyKjJ8OC;(pih&sQ>8sx&UV)I6=4wPoWc? z>QiV)GAS|O?`O=MUvW!fvj2V&yaUdhy!ea@)^mg%Yt?GOt{U-9e0o_2Fcw)1f>V6~ z1jlw+rdB6Ks?h zbl!8Icdp|;?G_-5=_)c*0mQ~a3Br3)31kcZx{2VbB@iu>0f%@cOW=oGC(xuSE8Vo) z3^ZxufV)K|`EoaRH(L?T-Og>3U4r56O(^3LQ_GJn33n<9OY*7@hMso|K69%7M4w|a zoE!e7$+&}zXu8YaC@J77f%O4r%&Pu%Y;8>48<#{rk0odGE?4iCZgGBS2JA*d>&UUi zIWzt0({@?#4EGM`tK+S;sYNWb$2@tUS$XXdSKB zplMAzb3&%K+6HhQXp&NB3O@d-trs%qhX$J}H*SRt;ZAL0)acKE8Dw8-Kx0sOpFsFq z8mU?{en;(Y{HzT82w0XDaG|0^3E_t_b}O>%tHfUvLUKGid*V89ip!PTmc9VJ#(j0S z0w=Gb`Mla-!81;^_Tx&z+_qI$-c3^}nY%GIU$(yDJ*=-6^#voiWslXzcoFeny!&?K#_OE z-tV%qvhw!McL}0`S_*nIdnj0$XT-!uDO$<@`(68-nKQh~x^?UK`SbbcoU@;6uf6tn zuf5hjd&l@s!!&8y8h79>v@D!e*A#(yJx zHUcl0KjO56Piv+VJjA(})x<1Sj%?=qwDfB!FSa$xL+FtBcz<`!heLUyrc6N}0FwMU z2ZI%GTEcyQTEZ9pYZ1I460G~5#~S4X}qvF zr;W7od%k&=`SbA$ex*e-`>)RPOjL5~EbOaaPi+DN;aM$p5eK z*#@&PE$||kk4w2rAFlbF-^UYNmtaYQOIJ`kcmY%c7)Q~si&=b_ z+gvSiN*_xjE-2+<6BFie-iMi>dkF5x8)J;68ie#=WE#fkG3Ie(=#2yQ70NE^Dr=3Z z!~7pp^u;bX5tD(hM+dRib!*KlU}(N9d;+O5yscc`+$eWqna;aec~!#IC_Ab6eezBG z(y0aev!ik2LWwJ-M{%n5AQpN!i7}-v=WE1hg><+I_q?f@`E}Ufb~Sn?zb-ucIxelx zw_?$|?oH@j7TdUYU5Jw2-TumnVg3_AImWZE?UkQ3kO!lT@jn6M8(v10MmHu z;yE-GMNG=nBSvQ$FW(G%lG%NokwFetwpxUuTqr&d#T&)fq16HUr%zFma5b21Ny3iY29n@MfJnl*OcmgCKoV+4G$9Fpe-XmDN6lH6K+VT4 z6@L`B0eBs_UbqMpJBUqVIR^MZWjX*w3Z9frQV9#P&h zNDAR%xY4E-;0)8!ZpLW^^k`vJ^&^z}Vz2%^E>2&)V0pcN3Z8=PL2Y(qMH|rlmPI2CGlJEgRD`PrArRu@?<(tA2k$*3sTMc` z_E>}}RFVR&nK^*hX8wzX4$2m6WskCb_!H$3H%Zi`=C&1gCG#;-4I~aAj1}XrSECIW zg^Pl?{>(eexz1r9i8t>-87LS(56VE|sp49}D##al)kQGJDrttY?15Nlm;`nD-xQ*Y z%)6=Tx!JY{|UgS&cp_VbaYQKCfYJLqfG_~uee2V(ZLe<8Wzzo#j0cQT0xF$RD7jjP}0C~ z2I;;DQO0>caLte7y1U`*ZZ0C>3DOFZ9Hexo1R@6`ByVvwLbx~w z-AE68Q7e22jnch2P&PB-+`fD=0y`A2IRQ(TRoQ0~w(}U~UCbzTPb`=4PFPp2bWX$L z>A2IdBP_IB!j$KH>Gr7{ZqFWph%MZBvTQd+S~X1hFJd_O5F&-ku_cFzEmM|LGO*#+ zwhRrdzk|C+Wczd`M8@sw^%3Yoj(X!q6mW^JM^A9h^d~DZq8t<(62mWBo8#YJbp|)A-((6F4enA!2;s72LKpn5*b?KDcFCDz#{%#Bzpnk zIpoE&E0bN6(F-|b&sCuNq(tnQalq=P>_W2X!&o+qDY4`?*W?8tOgNE!oXa-=lQT+$ zVsLS);#1*YAyhJ>={_vCjD16q-8UruOw47|KIFtBlkk(M-`XNTsh#mAC$QP-f<#~2 zZz^T-y=x68Ut>`;S44n=W4Fo#cJBw~1cqCEYK@a?IO%RT#_iy5t?{Ox_(`=KW0{*% zWCnVb&G5y3b%-S-`}V2nH})TNS*4?NZ%&-MTMl$56Gt!@XQ7?0lEZM$6}!>O#PUJD zUgw(Vf`y7Ut(ZdMDIXn;s~&ICuAD|Vy3o{)&xo_yc!7=CncwA#rwFg$>z8CF* zWvNjcwSv!(*Oh;`tv0n1PZ^%w%K6))klfV^_h(0NvPlAo03|g`?M&ioS zW1{$=9ph}TbxLm!56Q9^cS_lvpSV&`_4!hD$8*b^M3JyEC&nW-kNB=|VC#`K^#nx2 zc^od`Xt!f8a+!&=sr00o8QqTk78puM-bMcHh{Y-Qy3a(H#FfVK1^BKQ=<1(?ILNid zNAfMhb0EWk0W%Y1z?%7Gh-dXQvjwrifZ#cmWl!+YskjNZFYIx$dph{k@^6grMhU7VxGqnLE3w>#IneD{21~fx=X?n1!?I7o zJ1^n%taC%%jWTZG9AHX0jUu>Xxg^7ZoZG{t%@lcAP2fM=fx#^Ehp_Q@V(T$f5Ru_1 z>Dj+ zb4hT&q*eZ24EOckv%6QAaXc#5&8Q&YbU{`C_sLojgdETG9*<B0FTi8WgCtPu8Vu0mxfnY>QeB*i|sgI$}e~ zyNkf;ORir**sWf)4(kR|@XTkdAvUTz*F1{6TH_TVtI7z+FN-=~$Wz}COxJ8yU~HPzH>&XF%}^|%h~%Sn`xE<1b>5^n985UKaCkZUXVaq1 z!T_xAJ{1N$Amwn6G6{W|4JJMETV^{AdyDb%3e<{=^N>3TZd>{~FxYR$5an#Z|e%&ReCp zTH|@MtSnL$W6g$7nPt5T>ihPO$p1f7&+V|bpc65QM)JjNBn~ z#GbN`B_w}PqZl~^dM3#B6Cs1V{Ff?;V)cBJg*}DB{I4tdtNDoS{>;A^uf~m+*hYD# zk&G_lC_e*LZbe(n#%~cUdeXdEr^;A6M>U>f4yJ>%R!QR*KwKzAtz?wf8pAe8`k$Fa2Bhme3ic|`uWL7)9Xe_X3C8vEn+CYuWQk^18ng3rzP5>@sH^_~BjKMw0uLE11%?Vrsbw`57P{5v1TMW5Xt zH?Qx1!5_CHAn(-gz5g|T++$ZM@s%0qclXDACi8mold9K^57?QeB>eq`29j_k0z?vC zWU2tC1OB+{(6@~wVf8(KFn`>*4K@c!z#lghqY5+n2a7}faZ8@Vj0i1mH`IeB{c$J6 z{U7ni-Jhy(ebM%SoImsAAH^S+e19m!|B3u@M^)OyP5f~?iR-@D>lcRl;|9B7?MF3Yw49 zAGh{+5nY4x3)&48-ndnoOn=<7|FJh-`Qx4v_SYKkk_lLK+%CGv&+^Cp16j%2SHLM| zJ=@IMygx3k%b(C6*G;%a{$0Nz$UiR1l$RC;iD7-9iv2==-05rol>WG!4~6Vde_UpQ ztk8a)KW?#HHmMBDrax{NB@GOpMH2)4aW7T>v_Edc2MzskB?$RL`Q!39_$(8*_~ZV? zkYD4EyB!6z=#Ts1Ldfd>1%KR^r<&$~pY+Ea#4$7fBY)h}Y2fw|`Qzpy$ItV}o!y%$ zVPJ3BAGbJO@u{Id?uK5-Zu;X6yvd12CgEscncW}v!$TqdxNF{#$@lBmL;Z16SI7ib z|Ask%i9hbXb;^+IU&~+k=kUv=(eMz9)(LEeFLp>3OGy6lV>SI2_Wwisr?ZTU1=#TppBk&0Q zai^uQ@h$t~jsZ>oZGYVLAHg4YPfreD=ewAk0V1LPxLvE&(El5L8xQ?BkWEWyPxM`= zKW+rUDa0Q)#0<$}Eiza3VF>ijMc`M!O_61I&qJ{3k9%e=b#(E^^$?f|`s3p7qoqFJ zk1GVA0e;%O8tRXGtypkPm1Fti7P2v@xV`+=8m?8UaRGmvE*y!SBF>`Zt{aq*{w*TA z&+d<_K9?;Jf86EYfKfJoTwzfNd0)RK~1>FY@$_Vbg%M*g_2W;y?`mji7q;E%f!g)#dbY&Q6ksETREA6Ju1 zHVlcUKkn?80{!#g1q=@Q;|lI20|NfIZT}Vq{OjdVe_Xqz(mxSWj^#!=j{QM;NHFMm zxr_{G=tX;;%=g89F20!L!b;UiZByZo8`;C|kL#+6q1)uTCQG^!C6Up0fDb?IkNb>e zfVyMMvO@iFZOyVyWmzrznOf#q0?tT0JUkl!j}_)5jd)Q}1M@6w^M4`8W{f_qgcMlOe*Nm&Z@$8BK= z%C~t;lZCZKVNLqu{&Ti%lxG?*oTC~~f81cS#ccc~L=-eWj-Cv3{e?c&c+(&E42Cx{ zBtTs3{Uq-O8`Qa?T zT&O>;k|io;v}&^OFckh@^~Wt;`V0MWcdcyfkNd~*rUHJX{a6sN&9yJxBl=N=dXuCfy1>-J6 z9*mb5e?NhRJGsx`?!lmwMmX1s3f5mm~BbI>H!TTVHE;I5{_l60H*_zum&D_I~n)Cqn&kqu*ri*v}&` zgeGqJ<8l{sO^W?8i}+h_w8L*hf80@t#Nyb#YnVTIXQ?s>W(W2E2L8CmPhrd&A+xBJ?{kA4)zmH2o$REldx0^^3;*Z5uEyM)9ekKW;-DvYY<6n;z!GBa`q% z)Nl94-8MeNA9wpBGJ#$3V5mQC|I2_zU+k!d%n3~VagKMCLHNqI`CDt;_ZIQ9p+C;c zX82;4m$HQ9+n1>6_q(otXn)-PyZ`9^xY<*Fg+J~2Xknt5BTFAx?gZD_uf!{+(|D8uBmb?e_SFO#fqn}Q6PWe zzg6P`{Qc5)68d6T%z%X7Slhj8^Di~SuifVpph(B(%&=DIU zPOap*?F=-3md$@+~EDO z2JfB*@8g2+{@#$w;O!pxUJvzMX^TIxiTD&-{Ev|DhWU@P#cysR{vhDVY@h$VCgMM_ z#Xr?Bp4ZPT&4g!wSFc1F%#WS{)z34RXBYQ(s=_0T)OlD|`XUnxCYbf%;FaZ3xOU~L zYjDd6zZW)oOMdKM23*Pc4Gqe_CQyFg#^qPjlIe?V(?a>1IhcT5mp4=Xj}lM%zXW16 zpg&KQ@6T_ZevU7e|J`4jrvIrx`T32@k5lEZYN7lS&GH{=ru^Q4@=s}8e(^iPpO;%G z|2>X3(4X8)`I{x4{3!(xHQ>*1RlcW%@~<(={|G25{hKxfcP{4d#4!*4BuMS<_7;i%$=78ylIq$+CA#nQ4LHOnLHFkI{D||T!?Q2d zy^$yMok;1zEmbu<{wpSXtlM`Z?jbSHpLKh%cB(RxDM$IGxG`yS&Q6-|VssqBr|J2% zosBCyGH!VskIz9%)lEtnj>R|ac`nGYv6Z}Mnfc#1a<KGgqabr)LcEb!@X2_i^AViZTZtI<^|2 z9qV>P;r}76@P7glFDrG9(1w(c&@Nv#Lc0P1$2h}BXr0o-WvshW4vu**Bc&qy(!G6f z31;O8+zC2kQ}3|xQ8}$7WF!7>?_AICkx}ugq~aiCp+YChJF{eb>zqiwtlW#FIM}=x z2W%AQRPQSdrsenXlo#)qCir(>1ODL{3b)S*eh+}04Yl}Jq|N-ReB0e5|6DjITJbL< zrQFWHmE<{Z7MZ$)ob>D^`$~3%Cl%v#i-Epgax#aOutrPR;L0y?XdR**X1rkE#a6!6p$un5QBITw;EV4>XWwm|m{;8g(5ML0D# z_j<-pvB&43_jsR)^KKNA>uQ`|@|G3}`_T`L3s9NmNUD{>cNwou@;^j&-Hl}z0~^N} zI~xdZj|v{JzAE=b_9HHmEx~E)E-k%dvF_<;9_L$E7rm{R&s5Yw6Lrouv#1*VLtZqVLX4 zvZu!INyYg)>O2~6uPHdgD!tcKPp`YJ!BVrYv?!E)GG6Tb^G>fOI|w@w0NV(_X@uTg z4U(+Rdc>Gi@KKw|vypXQA7IQS7!WHJ#;i6m21ldf;AUdXD*G7u2l9Ytnl_cEVhhI9 zu6LFAojjmN4sb82#$lJEx}5LA={aB-u2C5koiakp26sOLwp4+2HQ?i9=Y`+_SXN1v z;S4X{ZI-Uhiw@W3^>XwpK&|}_rcUqG3a5#HeRbMQO(k%LJG6Nd9l<0MTRD)1+|*{) zVA!J&cQ{I!=m-xKGqDx!w-_5CY09iL5lj0}4)<_d2X^yedL@`a2Elm{Cw2?Hm z=yPd%8>VSvOVb8vj*>KMtTab4%~7^AMEc3jBjg;Z;SYLjK3H$;qA0}Lmcf=3+lCgA5S0BsvU%b=X+W5k0Kh& zgE?t@NqjTYHy#hTYaBN-<2W`iC)%NyN+zf3`D3Yq+=V0krf^<%dtJ~#9;?Qq?(20} z_ui3^rae@ge!jC+b}TQ6NYzWeh)CM+zx`-auVLWdG8~^K6<_S@Q5l@GbZ_)Z-4k8L zF^Z`rr*>cIKF))dKGB#y>P4L6QlSpT5lKyzC;=*w=nTFdxa~>l3eXd9JW~Y@eaJZz z(5lTm1JVH1g;ew^SMy~@9RC!=SJW?jBoO1)MqHrvMK8T%2Tqr(#EFx-XEiR-I;iI# z#3fqKvh_GA5x0?RQ(sgsIH|UOlr~lFR>Nu6c#F}dKBwYvZB75q3Nd;9HQwUx8jt@I z(iXO2ij>Oi>-EG+m#5rSX#i6*9P6`j@OXOsZt!>`?+?kv^9b#>VjizW2pFMF9tp>vMW1t;aN6^E}(TuQY8Tco0@ol(sOEzthte z;@Fn3n!L1yIJ+jypMw(876LHB{I}q7A66oV{IPga@}-~nW>o z^dhnV9NPgEG3v)b(hg}ePnN)m?HsAoCq@AX$Kk+z1k=BR0oE>@!N9(8xH=8N`_L2y zM=%(0H_j=+pPRu>1_R;7MN04rGdPmL0JU+gB=|KmxD|teW8+#&@FQk$YX$?l#z7B9 zm3d}x6oW~38wBUxPAb|k2;emCC6vP%61xClmrwH&XO9%TKVX~~`%Ul^-{ zFl5JItPa(&bb)wGmvQQKL3Fsn84Ib&tCq$(Tk~Slm(T?w7#r~bsc<`1D%Bl}oHSD~ zIK$$?cdg(aCKkcS!&9hW6vL|!Di|p?!N9#1w<8Ohg#PHosZa^VFbTxu2*x;Mh6H1@ znQ3M)1;Zheq6Bv}gDDsenFl49^A5P%ih|*gsZWA`P<`5pg5i+aPJ*|Y!4wRKOmGss z)(oa#IAl(f;Q3}S1;ZiJm;}!S4|HbNU-jPn=?3L~`ZAtYH9VI#DEl`-55C=Np> zj*9N!$}fcup1qo?H$o;yw})1a8D-6#Rn+bamScEh{sDW#`*~JlVe)bM^o|ZUZk%-E z^wF6wAUgg0^l(QYa)^Vm;SxK|j16WT;s{4 z{f6~M+F~OS+e%_JGq#m2wiRMqOY9zW5A(K0Yu2StcRO0UeYhqJQ}E1-)0QzV z#SBVb4*;fT}dnZN|#0x=OFK!qIF$@zM{4^x;A*~2Dxs_8EE zd!k#Tey3=PDZ8^zps0rD_|v>>`!a_Wow7S;8=4+~;3K7HZPWDN=-eJ33O$``&JcQ_ z-=;VxY6!Rni1GD! z6UP>dS!(i0HD?DaAS$!xOwN^O9}B(_vcDEHlcQ#f(t{ey%TS$@&d(8ROk>0R>Mh+kYQNj;*kE7P$lY61N#!L%7` z^Zvj71y$$Is(*$3Q1YwwFY!N6W=6r?FaRfy0{#TaJfcYHNtQjpq_=^KMC<`-$&m_Ccm98Sz<A)p|({E-(Kq|4Zma zU%IqGpX-U6bl*tcZGh`f4LyI`54vMBE)CA@0N2k`#7AYEW}Q;9k4lL8Y=n1X?%dBO7Ablf`0Sl1Fn>v+DsZcuW}{sbUVIF+K){C z4#Ua!FR%jmz|yWsyVn1pna}O{GU*#Jny7g}nm~Jo&I8lG2;RT$PQfjtgO=-w%XHs( zG+{lOa7fSJ{sT-mIu93zNvh*?Z6@u5xEl+us3|PPcPDh+J-Y9X80fmo^pw3kUOz2r zuU7C6siZV%KNMSX%5AcMc965FzS0ho#QW3TDW8q;yWxN8+Q-}D{yv@__qlv`au&`# zF5TPZEhx57ODobnUEa)%vQpscKunT%Pl7WdkL^aOn1)u;Q$L*pKX`gf$!(=# zi4*KG(~beLN~-ry#}UY?zsw@w+C#SN^&zi0U(}Q&?N{l@C~^oq5XG_9|0&BTYDxYT zVu~fQf&9~5>%C3~qrRh~7WXKChiUtZTdVsX-E{tM(o4RH$lr$AHtX7;8a>g#7ecO* zofo+r%U$_j9d`>xn0=Y?!*?b1?v!nla3uW~6#E?zVP4e?A^s*zuf(;@ zrr>XogkNeiX=89FewpF;7U_K*H?ypZeG|8ZS)B9FK~hT}(LI}S8(huZ*1IB_{vev+ zNVGp9e=CUo1VpdV6LAjyGO?dJD)jv7!y@eEShlZ4WiYXJq)YPvG@16!-HNqq;eY1h zuH(8%$7B6Ig13KR<%PvuqO%;g$HGWgJ{eZM(%jA*x6EHA`HLYQsJB$jE7Ik(Pk25_ zDz2Fx(5G7Jua@x&Q=%QO-bRyUuv7ejSGvat;uW3k+MvzAE4Obr@ye~as?ljbxE!B1 zfmZ{*Wv6{P=~T1RK6T?JaMfu~g~HW|l5(3ib3YNvow&{Fwts^PcH0X9gxb5Wg#L6- z4f|`F)n7s~;SKo2+aXH~K)rkn^1;0cyXW@~yG*;M z1dY@R>B?|>Tj}2Ou;h$N-MCPu4>j|Fe76n$NMsuFS=sVacaC{fm(ujCegVO10Tb^V)70>r7Rb* z@NY@}V&-3|#(N#cyKMmrZw1Etw7_`Ry`7-PM(tk)vg<_bE5u)5MC4b)R8x#OxmZsG za;?=%c7g0Ydj3|B4c|N5ymA7fXQN*7HGDvbO@WycAGxiB52y}f06w7iSY-ZT>Ymwn%w{c4zl> zc}iW0`!YPAU@M9n5aakPI}vL?xJP>JWrucLh4nDzBXI>K4%!V{&7Hekj!#{f9J#Xu zdrE+ola6B^rWXDtMlS>Bz}J$=xDuyao5?%d+_=`>=UlBP;@%V*&Cy;%+N%u!pAWY} zi=mSjXWx!yI|#SXOvX91sT@TJVvC)J5CkSXr-ImO35w9B-m8MxatU&(eKyF*)=N<2 zUAL>p{1UiIU|>59ROyNE4IY3APp`zL>O*vhox!%ad_9V3Z@p{Mze6w$|-?yqI(Y3Jc4lg$I=K+>-{qknI^Xe`*Y=y{xSb( zd8CWXKT;mWOLmPs!pIorzZ8$S&&K~9uMt3h?1XKGYwn(wp;R_3Wp$Ukb!0u|>$p*w zO<=;oT`~zU%;KIMW$Y0jD^@AK9)~%#Rp`EnxcL%S_u{{=jca*>MgDS~%8arP1na}f zCTK76W}#HMoCfQ+X6ma3^~$FUFKN^D?UGBB?DYX2K6$%$*yX^7t&mu)kU}1U4^ZLf zQ_?*cEQjp#OC2Brw@X3)9cb#mt1;N1!mGhX{T&hkbnOXlyKs|~p0W|wIf?EFCnwb3 zv?#bZk7umRD=y9}T*_Qxs=g-dVr!8TxsJvCQNZ0}0lUWncEx%-=5x+0$u8fej(vT> z-y)e=9tOzd#>vb=n@W*6wLFZeB_t69uVdaM(K}4F1SmBXqX|oglF7iab=u4YXa>wp zVvTcozIP?AfnFcwa_n)zbp@oO^_r@@E2TuVVK|}cAV+Fm*@Y*!N7Q*Npk+k^9WUFO zSJq1dmvLSRNAtpEUcpYPPU-LhVP0{kY#4)i#qYwx`y9B+9AdMYPPm^*2>lE7Cke{~ ztqh);d$cW$>^rT)IH9CN#L_7sCVrw@vp}8hG4az>8*C8jy93?2O4oECd$3#O4mx0{ zr!4<#4Je9yTk^k#y0IIW0-cX2dL9eTug5e<6#ct;!wlHI50GNCdX3;KK-G+eSFe4a zXl-hmijCweFg5|NeC+tX0@1qce{jcP;`c5O_9xYZTap5sVD@Q167u?#m@*&bI(BxyJx(NE!E;?apPj3@@M55rwfBEioF45G4@% z1YTbvKKOdw1BeB@V$RI31|NcI7x)m0u{mH0D}?#o1&F0T8X@5#srMiZEZVQeN<<(G zAp3<1a|Xh|JL>kx8yN_T)TS;%n0kjaD6Dmo#Ke`@x5stZC8l9C1NU8ZMYBNsGlI{%j;Q*PRNtUq^tFN4IB{Ux!IJfPc76>)NDxY&GdfnJu#JBNM4EVto(G zk_TH$cKXi;d~%Ks^M8Q?-xqw}#3w*Xm|RizzM%VZhC!0T{EP5}Dad~;di6$BF{@{xmL^`z83^WPR0WfDPZ9s_)E3^<7@L|1zy`EoIJop4%I4Dt#FJ zcmEPl4_Y%KS_JiN;5$HF(A+*w(T$^=G1jh*V=WXnh~i!QdOH^N@pOEcXifw_t{?o7 z0c%F|!?{sb3XD*J?oN=1QEEL2gF*ngpI9|OOR5V>=ag~)x^*d|b0IbvzU2nSKb z;>k`79|hB}VF*m0mgaR%_W+(TdI-^-(!3q>IB-Ccr{mPz)@D2gjgmhP@%gC$K3mz< z*vZ}$`kqr=v(kp+gP;eaCv{>baU3f%3y0j`kT$43Xnj89ry8Fzae*VJV0pvx;e2nVbq{m5u?kDqYy>QZSQ6K_WdpfaWFI%v`=h zD8Vyf!N2g1I0z-&>5#{d@owRBrTuv)U&|106uf5Vhe8ooNN8V0M1JV zoE=EGRKWQF%3Uhp{0*N3oWJA~1SQPR2D?0Ueh+>F^TAKyv$^+(Dt1Q&o1%SlpCh+7 zQY9ZkmHZ2+#0oM6oxMG#8`S}{wEIgfeZLv~+w`?j#Xi#dvYMzbU~3R2Ce5u?w{GS9r+siXViV&=2tD)m1lXoA60aUaTE@3Z0xxX zTds$JiSQZtdId;#c{aNvMlrav8%8zX=@nW5Rct-K_onvvSVQ-v$Nz<2w8U|zWK>RC z&0te+jXXKV{PG16apFg+HBPJnjrjf~4x7CU{es>Y)J(X#URT`=bmSt+4&w-X}qE za^c?2h%siL>{ETRT-w$<9Xz-CzaeeiH#97kmjd6z zP0GH;gZ}giY%0$0Jr_-ea&sGQxP{iK0pY<~@q2l(NtySli{BR8#J)A!fLb@cR0Mx_ zaY(DrwPd)gjRxo9ILPgsTMVI2Xhx_fHQ&mhuiS z+7wC zz^){p(?y1VUV&Wcn7e$Dt<2{*b}A_iv@aCE<6o{W6Kh4nLGCBuL9P- zJ8EKBS^p?bzq)68S^sFTakB2yu~Vi$Cd2+c@h=t6!*owO-Gh%_JeQy~{YUD)nRSw< zf0pi3ij1cRZkV6RqVN+VKU0md}4Ly1zU77LiJMucbZMwX^ z@Gf4xF-XvQOfQC%^@+mO?qP;|9wR``3Y_o4$9`dYSwF;}qV54RUws971U$z# zy7(Fr>&@btr6SiTLuBKL7W1N4cYMW8D6RQa_g>r?EzN~p1_Dbphq05`<|4(iGZ$6{{BkcW;k=;!HNBy4tKY{(f3cZK^KilkocBU_R z_|aznzsrN+5K{z4Eca5MxoQVQeCJJD`5Rw4}`T+&52GwQ#Oc?k~D|ntG-ut$i92U#uFjIg$ zWOA4wLAJ@^o=?%g_Q_$K1gOb@nyO~J^cUOY@VLD6?Mw}olf#aU%-3@@$uNa_{5x~aGcdA;fpuC>{pHO-2D(?Y#J%O)~jnPu-Zy>K-_ctf6 zF^p+RUau4Nv$4E(dcO&IeQteFUSBkyyBocJwBhSI8JkVX>qCy;S6=VShP>`B5dqEW zrsVZL3LmbZics>}XD(%t@;dwW5P9`WgvjfeFaN&sdS+ZBc|AdbZ1URmqXzPNoCMhA zb-?j9c|BiVg7SJ#WvIN4m-m3Y-pW_VYpICwZy>MZ_cbT4!x__(yuMD%2edZC*J%rz zkk`HIg7UiGeC}?{u*>UTWNbDiuiFk!2&@Nw4}DoHR5Zy>L$cQ+@mZ!o4Md95erhsrCK-`pjSx?`D?5lKms3Q7gA_{^r z0W#3HI~=r~jcvz%0@5xUseAK_MUBJf)#18!3BJ$Hr$Wa)A$f>^;GBcCUz~bWWusuM z>gM9#9BY54%ku;D?GG>0r|c}II!TH>55_NG0n!#+7sY3U74z3@O+kFQycMXF)JA8( za&2pwryyP|4LIjc3h>TQNrB4|nP}!J7RlAKR`8JIY_CTQ&g79}R(;h{gITW+XHuz(j4~X%VNmA=)$NkV zc=4JTaG_Vc3maWUwY+>CEIney^{Sh<=rTa5J7|T~3qM9{Op1U;nX*v6IzH3wxiNki zsUL1pKhk>0Qq4$@AFG!Y#OLu1e>&PVoxcbxk`NX4s2MiP3^U$+h*d683=<09mSML< zu~I^wHA9AxK@xJW8Il?ZnPi4YM@X7m%@9hV%5|j~Vvq<)Gk_semQ&O$vsyr2#bOLi z{x9%&j=9zCJADOdrZIG|lw)=B4Cy#9-#mgC2Ez}T(tk0$D?$Ie@D;)2NCo5ZN3DR; zXNn%SMtNa~Fp|nSnpcQ`^}7rFL7gX}gAsqL7(HMDQT_S3QTQP&Zdd_?(cbLxtWCQd z2U6@v8dPx>@#ct z+}NeYBaLBH6QqY5x1>AAen8>Qj!)IS$LNsn3RG{(_W|S9yOnS=kd~$_F7z;n z@SEL0c+o`^UTMuw2rvbG4id6k-%wdZ_=#9<&s;$%qvC!g-LeY{Ms_?C=X9CM4`rP{GNu1i$hk3T1!WeemQCtu+&7vs zTV>oV3f~1{daKWlG+v#A?}~y}7MRs#%UvlMu+mt(8j`#;Xn%$HZiG8atS_DoFu=%p zYH_r!cPCgK{S0dHMSisobE9W_hR1Mww#ueLnAs^E-4WRd_8UIaRC95;dQLSexw#J# z5Ti0BVT#*gERn#-7d}QD1_vffm{)ynVqg`Ez+4bn$4ER6!}F52)bnto&p~EUMh!9q z9r{^z3>om~HMqA4ztyYQ+g)J%gwTehxXVoOzNDB4o3b@kNY@Q`3dc|8FCS}~7}9uL zAx!&BC-J8-9u?FB)s_7K(GqjfMDp6Ij)qqWPLNaq4j|nS}3_sR9F8DE9V4)fO7y$c(g&&JeENK}(wr!!XH-jHNt5k8skGXHE z=ix^9cg)fhehj-(;m0h3Ym@kKu9+fNQZ&Mk){nJ}AKM>Q__0)w9*D>;5TK|Z(7lFf#@ncSN_%Z*35d5esZ2>=O#{JLmBlDhy z_;Cp+4aJXMW=Ie}x|$(D{OD|k1o5Ml84|>gZi`B!0}1;9rR!X|A8Zk2oX<;>X@yWT_=azb$@@01h|8kHO92$C&aE{8+HG1^jq5 z=YNJDF;g4jM>|j&iXT6`uR?RX4B#0j?&5$5|ykmw0@#8s${1W_lS&Fhc zzGeJ)ZviSX@uPBt!jG4ivq?eyqb92*{P_O8Bg2o2xhV8Se*15Z>1Oa_=(}pb6F;tk zL4vwS%lL6QHJ0Y^BjGhw1o30Z9Q8chxO*qFG=(3VG8H<+p=nLy$2>E|VZyJhOG4H! z(~4TgkDC||{J2P_5j%cN9@Qj%jFjMCi64%BKY<_B>2~~hYX|vbiP3M1AAbW5H^Ps~ zXPeVM&RZUWA7i1THoJbg^^X4;epF0ph#zYgQC{rpmnCLM5I(ytd4IPKPJ6{N=*E??;i?3ZZ2jcgZT04Z7t!);)O?sA4hXh z=!^W%s~pG8;Ku=TkwN_MzM}?w%lMHzpTgeE`sGo>mcRG=(3Jx)pv@ z6I`3rKkhP9ye}yl=^q1Tw2U98F`o7hL3%rWTy$%b_>myNzY;%6Qhx$JW+6dP|G4vO z^2ZXR-xfc<1`apEk7plm4nGbo4Z)9|^IO1=Znyu>@S|u_L;RRIj}m3akBMeT5I=4) zLxT7*%nS+QM}IRUh#x)7kRX2il_9?bKN6)VtK(b7kKS*f5)(fLU#svVQ6|+Oe%v~; zCH$E1?vdfg8js+|kR=?)&EUt-xoVITKWa=YX&FEI(VWsOeu%Bbw4Xk$iiZ8;D`sg5 zKZfZFKV}hJo5YWE%@nzkq7iIRE1UH2rI?iY)Yc0mz zvH_jVU-676JG=TG!0kJu+sPBKxfHvKeJ75MQL=9w z8&&ZwEIcJ)*HTTV&M&eRlUA~#o*2l?AhkFJeS(D?K1alANX;3J%Yqz zVmaFP7F?0urFn={rlc<_YdXGI(F)ferW|pPb{XnM z?ed(ze5B>tgUiF_kMp%%btZ3(ioFy+X$$zpo7=NLsouCW3U^D1JfZ-2s<6rVYMA_C z)IU*t=IVo%(?PIS_?12Lz~huv zf{)A=osOdY3(3;_-XEi_C}L2IR^UX}Sl`mL=chEY;gJO2j3uul{Udm>{Qdd8XQ^yM zk!>?d#oihD1m`HvYG&+(vY9cT8TrW?TtDfkCcpPcm2V94y=}|a4(H0>yI)nuZ^t?t zItI^>#LhHwhx)hz9~gNmYUX(LI^P}jo~$}gc?~{!?A1)cqS2*Mnkvb#v^5;B4bk|5j2rPzbuS&a+w$ z$5=bF{OJfWzlQ?;dAkJguO}XVIsU!ybMWtz5d0H{{2KfdzzW4b z39{oKm>7zG5@6xqK0E%&i^9K6zX<0`Qi~n`B*4PIJ$C$)7lnTx+whO4|AgS5E&)OO+sl~)Ejk@V2k;MV zHSzBtk~fWiuONK`{8QP8f9q{H))4=gF%TjMPTU(Rf>Y8 z`%#pFxdH?u&)7hob8LC8u;;lpkmn-OU_--M_7_59*FZZiw6$ZX3Cgi-$3TKI^c+m? zrn{@_H45?1#b{>lzXo;O-Zb2)R$8;g4timvBLI5c_!a_sgAfwbHmvVKfq$cq4d7qr zSR4N7*bM{!o2Y)!1gZb|qtX55eA=XX_tJkj2){PfyK%y#Ujc8Ozip)6MM{tj-a4X^ z5O|A_02AKM-DQKfM0pW-JG{XLZ(AFxcSRBqRPT6h0@b@YbAs?za4UF$N!e0{wSpbs zuw5Y@|4d*)C|JulU)!>HLAWgZq%HU|fN)udPy87g-ayc-75ea17$u?$X=$W8H>=?_ z@lDI3y^Rp=B?+=2+`N}qiw)skkN^|mHtn<_+!}cigqyYAhHzcMyby#NBmqH$yO-~1 z(LgDh`f>vuS@baDs@E_L;5>!9`k73wHG0-@yvkApyKCCse2Q?l1AfvL_ysq2L4WS> zBe}~BIHE**B5EGv`Ct6pno8Baz3eun35RIZpH`CJhfMsP`=a8vrOo>XQ)kZaeKC5) z#NtcQkPs|BfIU1^DZ9UbLB0botT(@RXO)FGd=|1;m}uhg112(jKO32*;w7L*R)ejm zia5+`4y=5F!x<`<(nE`pRpIct_WbM?$)9~iNZv4e-hx10KL`f3x2RlDE6)m1(zc68 z0~w6Lq;wNrLlCECwjHoO48^yB!xX+<0gZ!wzxGv73`na%g$KcR;b``?R)qrE^MhnY z8JnM1O^ou-LNIcb26BaJw46=Q2MX$63gnuAU^`MjZGRzbk5=WO*#j*qWCFTWm1kUy zqWt|--2(z?L-p7pR{t~Y0KC{a@|OJtpJ73a1MuH%DA`kG%*Ui?2lyG_5;K8@HMk!T3N)5;PxEEr^5^%F5w<$yz#`9 z*m^8rp%pwr$U!Mt*aB|m>?;}ZE;(eEGqx|UbbI<{;@>d02bkyWj&NK{8f9*+dJs{on6!y6|S=ZkyyO9}*tN<1C{CTHz$Y^D@Kz90i(f601dT zdF6T^3t>q(f;1yRmP*it34F0-clW0OO@T#!nFpB#)aJ2 zHkucv{*0T4DUPLL6M7`cFY7y!QTR18_LU9_><34SN8%rLu--b>UM;E?=gg$UulNihH49kneU>cQ`g8U{8INEmNO&+xMfQzbe;E2=fmI zzHwZT$g%Ejv_dP8)9nO2Fjf4;m9j#c))^$aaN<4N^El{3<6WLwf3Xyv zN9MXQFAZ~d%Z4B{Bb%<0!zh2hRPjYD$IQyBI92ZE}c zbZ$aEn<~1BKbu z&koDO{&ot*3#`Vo!vDSW&kBD>r04r{<~zG8sL`wavWLw>`KRpMMB(7^z5l`hTp`yr z=l|%`3gQL&t|k;r7-l^D2>mm?KQ5mTwh|l1kq2X-iYPFP&-gYL2f+nE-h%$00qQ2yn z$EAfW>Mv=ljAto1+_k;Sm?t8x$i&I)%qVz;3F2rRbHUFU*fQNaH(u}vr=L!}n=?d; zp%t`=#sh(+Gm|D7{03nV`UNu`C`vFE66G<&B{=x?2hQ-&3TH-P!8Wg7SlaZ|&KW7y zTH(#@kQEdU=M0=l_7BI0)-v_7i2VRne*r2i(!B#=ti2^pPy8?_Jm)!?+Y+8D9}?kt zeC2O1JR?xYPYBQV;4*|KTKep_7oO8eQK;~IB6D`+Uc^9no>+0j!qbz2;!CdV1mPKI z3eSy#lsF%x${2^iis&uJVwvNqT67%ct)Bp3lLA$BG&-v(fpS;^^)6FTptkd&u|SRF z6e|Ly<-=L%hq>P`^gh*MD ziQ^DL&hgvfVL=8NvPjxsnA*ph?p4DqkWX3wP=*qKE)NXjd!Hmh9G4(9j>DH-m4(B^ z06RmRr~!~=0)Y|!01|urazcb0{>cgSjE!Bw{3ij$tn+vDlpR{ZWDF-V40?c8Fg}t@ z+ra@?!R1AQj7Oen)18_}=s?_zkrOfyyOHGq7Bw1(w_`eC3xX_~eAF*vQ77bMNex(Z zn+VR&WKq?9O|a;wkGe>~nStKmw=~eCIQ6(ayKQbRS#J+UZ;Zr;oL7SN@R9IiGY^;D zc!`5%j7c3=$_gLRS3PwH{6D4IjIRU^IYC75h@%uxtj!n$Zo0iAa5CJ8xa`yLHHs_3 z8SkR2f(g27Gj>r-BUo?>s?uh>22ZG~jK@oc`Tvf2bVQN#=UlTt3s&)=$-cai9T7SP zcwcU#F)#yQ7%~PvBHsfY+-MBUfQb5OAPB72ELaUM5?Jk9^4r6zhB~+?0qZd*!$S-9 zXQ|#nAH-qNXw1gg2CTlzl)uBA{84cuSiM^mugE7r0bn(q365+|-l}l3xIJK1&EHi< z+lSd**%Uu~5A`5ke913&K!S5AZwTAT{^Yq#RYr-5zK{7kn9(0fcV|ORkzkfekh8C! z05f$TV=fb@?uPszUY@o;Mx7okrxWU4GA5FbP4ruXo+m zy~2#e7&gQiUvEEO=gKQ^8rskFw9ft;532Q>_0CgAslZDYf#3x4F_R(z9LLJy>U-J$ zRmNrb+oL(~E8V2E~j|MwZ9 zXOkGzZBv`8M6HdiLkx!KvrCS6h+e2hP+B_-G0hxew?Hu19~dlEMsLnQzT^uvBskAZ z;4%{cr(h3P2{e|_-b|2SCV;$E8Q()7P(nqmZIHHRf<}Y%O$?M@GDv@*cHDTT4QJcD z{S28M)EJfCYdAi~-@|l`#^>`NLKC?P(rS(i&q4oke!+;}bH1fa7ofEqsF2I|EqFUg z&?ouBXmG;{JDwb}AnzNBw=a2KTO_a`?;ts(AaAXT-oX4;e|(B)7r#OUGhb8j`MYe) zTqFz@l|>K_-*6ivd@QocxR&co&%sdSS@nU1JorMEW6tnmm@h`-WE|VubBU6VlkM~j zWPO%=oTvyoiS4oEBhgGC^6>-F&zIcZUP6?#Nc;d*#%C(Q8{gQPv|UOKZPEi6_E;j$ zUL>OpYeO7gkzbr@sgp8=8t;Eg3rOVa3nkI8z#J>{tM^h2;Pj4AMR}UoGNHkh}%0@y}-{q47-0h_CnNp}@jf^$+dCLa!<@^i~=8xgV9cZzCAz$-*UmZ-p4weL4`r&5!ON=z8AIw(_ zhJ>`TR7xN|=?_a=nI6_T%s+9D6xBXhRAFe>ab2S_~+d2BWs7?)s4 zL?OoJz3gC7pXK;~!0N&p)iM{GojPkOc#S#4Al!IX)NBFC#{@`DvXR`mPLZ5x`~WoY zx8W;DCcbe5pp4ll!%opE|IN^6{Ws#jn&-{tiAK(k$RB|;G1I8fO#bswuB{M1H{AHE z@t-~LPQ0514zKyQKbzHvd9W!)bx`8bdx6yv@wQfNmuVU%P2+ED)h4_a`QuTZt-2aq z`7$92-_{y;?;&d~yi_M5Y{LS{nI)z#{~{851F30?|1A6ye_T<}9_C+;WcK$YB(}fv zejoe$R@ee<^!O9-9xSd%&a*phdlTm^-90sU-qKX_xx3NjRonSsuM^ts=h^z~0L&tNr=Uv%L^|IW14$Kb40sF?jzb^8&l{YN4wD{$^APh`bG6uM{XCQbyN zsnz`PO|4UJQ5akZjNy+jIV%ANF0IRfYucCGu{A9TWk%L@^7{FF`Vz{FlZWF~4hYLX z**b6unZt~7i2yyNM%!zcrsV?|4+uAtsj$Jg@b2xYL6i6IKdLlX++@>DA6SV}!#bkg{8i z_*RLx0ZRPCRlybSSc9!kpiu4Ja|3A?GVN)6g4K9JjEl>rEX@2pJjbT@hmxGtO7Zhis-@56(C*$*w(*^cs!a2t7 z+suzb@|Q?BY&Y#hwA$vjk{ttak=!vbSSs0q9Rt;$bH@OT&rIcg(ySiGG;e}+gEZMp z8%u{Fo3U#OC2a!6;0ojHo7%$3IXhm7?}PD~Qdjc#GL{PDmFI=LdRi$yj(R7)JECcE zy7exd#z zRM9bb2mL~Usawss8x;CtSHv@a^1n`mQw$RW=T~c8hE=H-SNDRWo_9V-h>*as;73QxO`nG>)x- zMV+kSAD@TWo`+k{u+gbbkdom7KmuyF>zAn1BUNUM^rK_v@ZN zHp-zDegi8I{FLBD4w7bMG89MRx6=v}B<7k-#D=-G*JWQ9N1tO84PHIX(U|4ZUdKiQ zd^180xFO|v_$8UM@QbU6>Gs6FlsJ0QqHr}IjxbaDM26>EGVBc`;~(yxbmL0O#2+s4 z^?Hf{y7u}IFvpkv5Q@Y1Jq$wDIr3Y_s~OkpK3t3G*eyp6nTM27-kAb7b>VO+-tUK8 zTn(dUjHKRD#&ij-!_A?LOI1{%>uDj&0?}*0L`q&U(*@k}5S`%+T_Cyny#-zrIoKVh z9!B!)aB+ic4{VyOd*WbAH4R`jL_o4N{g=kTIa3fk2{y)aqrjOPs zy$z12FTssyFf)wVAb7 z^j)3kLN07a^hUNQ|3!FG{%5ELZj>;RCP>^b_le>k?~{5MR}JyHR9rgbPT7lluP&8L zd7uib3=CZd883b4;I=&cCtbk=d=Y+U(S(|*72ZnqFJFn7Z)x#J2Px(o{ z9zQ@f!s`wAhKBfg!A9a`+u8N0#K~(;B2HE>%4g-k`wt@pC#ND<4(I{|)Eb*Kg_GU! z%OXa$Q#je3@@C@Xjgtf?pZbg7WdF_zC)Z*s4JGx534|CS_5IF5>LU3`o`)Zh3e+$b z;By|qJE=g@vU4RgwA`f)%OU9B_t7Y9UBu5%0BaOzJ{#3oP1ul92jD zr}4;NYn;Nxh6!DS8iB4|lM#rzMlezq6u4W-NH7Z@ZZ8~DQVjXQ1^H0az%oaXDad}B zWG}6OJeSsd$p5wy9X(ZUl=dk~A*mgjE3FObMQJCSrF{aFW*N59{Cyy?oHXL#371Qx zF|J&R8~r6P-x0<04*_~dgFfT?ab}lr(yRtAjhn~QKrxAvFfMwEGOj#KHzw^DkB@5 zbo=JU??yhz47pQ@dP#(^4N0EeaH1#x0%N|m%YICygr0-bcwL@Ni|#;1vZ-4{DNfLH zdvL)k3a&LSFxmG&G`bU|tT|fsI4fcj_D30O!eFYlg}p7c$L{PRQt(i$64(- zf?S^exINz+y-+N5gKV={(GBcxKp@fKv9fU{;Y~&Z{*cyQ5a;w~$w;&~GhQAkt z!+cB$J`Ug`1YQ&c5qPa22B>4CbzfHRZ-pn~rgd#b6eKA7&fLuWL*dyctgvwinXXDIzNWNreGYDo ziu`B?`QJKF7QorG&tWfyExbr=%-b1*JX@J3pIZ>HM{j^yykF4!s+T5&<#a^!KZrpR z&DvtFD#cRaqdAu9-zlK_Pu`%G2+P3gnlhWJ%`?@^jet_$9Zl9(^CIf&g8KFXNYKk> zmB!nY2dmy|nyPn=s&^pkT^dqvBmG`JG@P%Odd9STqk$Vq2&uPo6DUSq7*bx+|cysM?fK5f|U zoCqypw|3@XZQ7a$m3^6Z=5AcAjW;b}rEsY;{)akc93EX#zb{=o9j%YSJEDzlISA5D zFU~0ZN(H7%CUBuM)S#|q|Btw9fs3lz`XHeApo1nwWml@Pi)CJ{D7i`wK4)q$x@lrr zQI=U*Q9)Xkj{ud%qm(_=>So>ESy@?`S%QlAOf$__C0gnpN5iZ{E%W>T*FIeH1B9$VpSyP1>X{CI#G%KaT>+7bUE?rH2Caq7>1&Vw zd^+MlXYPxGrseoj#^IFH4ueJ#2LPrS0rY;YQ5?h0qJhO;woql2cX;PMUgl*n(a)?E)b{yinw`cG%+dPi+RJW5N2rvsA&CNa5M7T zM|31ma5sEQVMi0u>Jq-?B4;kWO7RDn+7~>Bh23OFd9otMFZ>nE*bEd|h5t)YA&kz_ zZ7c-hy=Lq}sJKn)Nh>Mh5cjRBC$o83zYy=+{CTCu%};1LPr?;N++f1k&P6;n(i?jCL*g}R$s z=-PGKmq22gm$1-{y3}lY3bJy( z*P$O@;&%;r!!(&uEXW5Sh6ZBa$};qTCmJ`|9>P?%ZuMwkC8rI|q91{+*z}QcffeV@ z6-h&Gu*hh8(75^_xIlXBbm0d3ham~v;9%f3tjch*8LYYZdOV`EE{Ey;A&`v}E($43 z!TYtXA~v+XgD~b7qojx%7qFG##bGPMDB*_vnGL-_Cby&pfr~;$_704oiVq2ko9@mR zTgfwZg#D(#38>bRLskKXyPCA|TmMyf#pQTg!9B?D0N-gOp8TR)T%e*S|;8kq(8=FVi z>f3qw0Xd%w)(LjIBfOz z$cw{P{|@_V#SEZ*zQAFt?*YwKMM+&C(MD|bKoq$m3Gs_V`Z?_N?YWRB%Df-A09e$w z*T1Os+#BzLo;w{GbHW+x*z0d+O=8?nN9Mo~U2%$?A8zL16Rqcm@-}B)*))LM1`~JASzEg+B?DcK%<_! zuD{jzX*vl^0p5#hHKqvpc1eqt2RXD8s@5o{GvWJvGo&7|M2y2Xm5!du;SS!M&Gq^K zfKSe^At*i0O8`ZP8c@@=i5>nbrFtSw&YS44DzL9e5xA~Nk+Y;oTr0L@j>1v~c0O+@ z18~FXyf0gUxX958NXC9+!Ucen#_m(bIK1$P~-$JhD#Wc!D z-24N$xsxtn@oLlvGFRzsg|Ay&>2w~boW|OC{0o{e6(szAuf~84vu7zZb0AL4b&|C^ zvI0mMAs}hschv80YVj8E$LJ&*u9kAA>uMu)m9u;PxI(-L3fPmNhC(-$?Pdt>G-52S z0f^-sFM3Mm26gIY)aGHxiGxA}P-(S8uF<}bo$)>Vs4;~CvZlzB-4VBX4sZcvoX2(r z5%4Owz7DK>w@1M0S~QNsVQi`{to{YHIIsrRS<#!aY_Ho^MTF)htvG=gySVJ7$1X6fnVa|@b9&j zj{}j;SGv>2x&BWGdgf{#Vd32kH))8xMofkK$VTFuj^8AlcVQkNA?%l1{i^3}%(fVM zP-;_}gkd^_&x+uCjH---P1KCLa}#Vl=45>bjhVhJ;0EnlyA(R7$Ly6O+h$N*)f!gm zKX2LNxE!jNut%S%H?E+oxW9A@l4AM+RPEb}C86E`5GI7vmnLgK+AMUHvyaS2&^4Gp ztwvJR%o7s9i?j`eaieewupdMS;{eqdCHu)Xa0cIn38TJQhKfQT@5M)n5%scEFFQwV zaa}@s%2@ObrB0CMu}8%#6x_OP6==x@Z*t{h!BTK4w=l!ay(7)-R__z-@Fg$Q)<%*x z3Up>N#%c90g}iF~63#%~Q-tHtDXwE6bfD_?$_-WmugP^2g;Un5IRf6xa&VXz)H3M? z)IpYU$_;EA$ye}_@JW~IWb({Zbu^FPuFMgKK^{Pe>8U7r;{81jm6VTa&GMTg@?b*@ zsJ9V!vJ|vO`&q`PJ-kIrv5u;WRtv#=vL^LC=Ie&7#=`Ho_m&9gE!*vmQeU7Jii($r z_|}JSUIazXw?0h92iY6pf7!;0GAqAb=4wxrul^MkE#0> zz*NrV3UbaQ5}N5nD3D!xX#Pp4iKB?wy9jo29MFIiB!fBe;36?(-~KaykE#ENtDWZf z6qJ|{_1sW&z)adCJ1gnqf4d(w?N-gfnnL=Xr*xSoCJQhF)&p#TuQb1Sa9W7JoC$b4 zct*U8A6->9+zetrOcqj<=?mxQeWQ;2JR2$QiK+|pU#s)C3+GRd%)c;{KbraH==^&h z3-zaeWd0hgJazq_gFghS`C62@Ae?_90O;sX=TQC6Gk<%&YCZ-eE^ze_zzvg`UFt~uz-m2D`*3pF6c9de z8}(s!%%X9P9r(I}Uwx50Hn2!H5whnXcZ!VU8RX`q&&3D=C+Rwa-}CM%RIcuX`(AK` zvs`+Hb6;#7Fz(s&3Rt`^JJ3@%3CKBG;> zN04%eUsG_;Y6?sM?eS|FjeA^bwweJO@rPgy+F&dT;jX`DEPl}SpfP1OY_@0uMvLRJ z7SpaNrs83`91S40sTigSr?uHO6)W4?tfWib#Z(-N;+Cm64X7oi;&^$$@;3+83vcPR zFa)tjLOU@Osj!`R%E&k{Lf9X)oj3!QTw#lrow$@=Z96f%NMN#X7>VDHFcQDwFcOoi zf|;t#*NT;~Q#C5ZJ8eEquNQ-1IkXU+7%~#OX~SItYY&aYr-QW6;jSc}7-0lV#u;t+fh+%4lkVH`%60k?y4SR5jV86c)Y{S|d461|` z7is}5!32xjTk#!C!ce?r8vrv5dIRZVh8J<}no}Wqo!Lc14=8 zm-5I5@{GV|C;*APy=;RRmA%nWC)}_X#?rL-89H1koi^TH3B&Ms7=|sYFigRgSvW{kp$qg`Ajiv{Lk)%2JBqRvnJz@@ShF7itrhJSCANT>7 z=MY!2HU}?-IruY}gXzrzrmbzl+92$Pn;-1KM1S~K9lt$zKkUIdXv)SN2lkOe3=(!g z<^W{kNkXuQUPvR#NUwn&oepc{NOhWpk)Md^8G1}xg+0+Ai9VP=%$U${9}=<5GG^PD zGFpT)r(1ltxGgXM$|B4NbP|ZdzCX4J{C#o(f!}}&fNn*!&!3DWSc3s0P(85&3t~*K zn1r*VkIFg@PF`&=&tIbCVU+w0&+9KYyMGK%C$fZAJ@B`6t1{}{BvQe%i3&=BdIjEWikhWHtXNAMtWv1dS+wXG8abK4CewVZbi?E{%?J2fn zsZo3`-m=*a`Y7$px63Rwiv19Tp|(DcD7RS3T_o$^n~)7g@D%U4FdXwd`d>$_jEga;_?GPM>Yr0wc}~wAY$)B;L(-pqwd=AG>`3@kGr^J0xN#F zwj26eEU(mv&OeH^Csg%veufrzU=F>Lid`w}hM92h*KU?7Kq+sjvK&vV#Fqq&O%+tL zbkhA@!~qqNKf|-55Nev> zwI0sPS8mRGiy9ORQ>UEBjnAbg2OVN)2;Emghi2KJYNpvcsM;v)u{~+=i8qnhcoS$$l+Z1 zcEt3o-zvk|fKm+&XTvu#oGt$d52sdDqx&3AR}KR}&)<#TI@2=(kjHRdI>hqn{eR%} z)T%GR95sK}^V3wuGe)N8(tkEMJtx)~&tjSI@bnbD6)~PzJ)XEm#uKN<)50;H8kJ~` zXE?`!@yyy)e>~5irx?$MS{cun{Tkh<59;xNXMx?q=>+^6+6-Sn4cwOnxmjO$ro1oR zeVZC32`MDqre0h^>@(-O%E1K0cWVd0oP zX?p0Ec|j2^g;P&wwTPh&C0kNXtxTK?SM@f#@WaPk((mEh=pW=gs zNz7g@Ee;_EjtM*rxk2uexDb`eIA)Q_TFI12&Kee@`f6Y`eF*3DafwYsL-aO&VK-F&od(DO zJGGRb_a^HpYYh{E*YCz|dUjN{d3laEMtf-+B`>z+mjT?RkMhR2bBZ3INB7zj(V)K& zd$Mg^UIY)wp+N1Ii%Xxen~L2&e_>kD7-qZxr@+PSJEkxPe4Qs0^4M8_I~VkdV%Gu= zf|e{K`Y_a78HwJ`pbwLF41_O}q(3893;X=HK<>i<>@GBPJ;0>_Lcq}AOh@kF{GIM8 zoh+v7Zv65e^Kf3+YQEGp z*X6d}$64s=2DgR$NP0w|wry^pf;=UMLp6nr0Uy$cZVJ__$fv4;Yl4oRK)AYySr zB0FEJ&Ywpa__*%ubliUIF)oL41HUVbfIT;+aL+=#^*ERu2p#@Y8Nvb{mpoKELAWov z-1zG8V^}DH+UeB?j1oYU<|e|cPtcaR-~kEKNAJxvM_>+F&WwA1qkd&0YShQ{pQ{%2g}NRasJr*ONR_n&K$&KpaT{;3_lLN_@dxdXL4 z&RP1IL|vixIM__8@?6ek6c-#&R*{-zJiaurQ;1e;6MtJDp-rSt!#UD7Q4^f6S06-$ z^m7>~t2~Q10T>})fbmu7ErEr~EkXu0b|sSpO(b_ICubsdK-1!WoRuF+>DdG@%VQye zWz1xaQ~u`o^sR>{50FGOf>NCZ0|b6X#p2se5DyF!o}#1CM(S^}+#8N>!{IQOm>=(N z^$wC|yJn$YJj`{yh=(!h0)MG%NG(}-krLOra*x>u3z5M~jZ`sal*4sSNqP3uQ}hd5 z=iV242&PtdWv*5A5F9s%tf`k(lQ`kArbDO+-h2!NGi3vOqG%QwT0!;RjoNWW0XzYV zN6D3F%NyVc8UojGTeZtTix*lpk!2n;n@cAwRDBsgpzH9Q`$}6x4wS6JyY_vgQ3Ulu z*c3L!FE}g8;Ocdw^9ZbGCceqB&@>^b$wp^oOq`*|hpg%YpEi*I6lf?}?aJ2n5n!P% zz(sH+7KVfs_GpYLG)9y9gsjDb?kJ(hvBq<(q>btFYi$Vl&&Lpf$@HY#jt`c;&rV^8 zm+2vTv^yP#2ttCrWQPp#Cb|sfR-+5Eci?fJfmpG@_Jl;tJXqUG2f0_4ptxi7RyA3oI(y&j`F8cp-jvwxbdJ?BK`a zDXPRe>g$ItmvLhmE`#GBjgqsqNd>#e=(pb8;NohT(YD;Ux*YyBaW59g;;I7vHSp-W znwZnw6=1ngZ~a&|6~I(LYdm%l&Cvh}U5DI(DlTR9dWqa59}@}Xtjk(=lO|BIr zku|yajD={(LvFKh4uaA4kYmnNzGFV}VH&Z#AKg2Z;!rV#qh8AF!wrEMx`4X$yy@)is78nOr}i;;rgA@CU+3>6P=bW@BC zn?~BY3jIFtJq|dq7!zmNML@bhW25*2B%$nNn}M}*1yYbi{y*hcJ`j_ApfthG(k+~D zVlZqa#BY3sX(=9+TKliCk6a9W)9Y`7fgPYpz*DiSi7$GGFM1KMx{O%eTc#V{=r&p( zpg}@0a9mv=cGupu}7pP)PxnC?P8dvCK2PaE9*qBM zymtHHv2MIwi$}=hw(o*1oP+-l#G+<|5HwPc;$eh%tl!oOnJAp$$xfMtY`4YZb#_Pu zKQ5vT)KO!Z`^l++g#(H4mGC8$cL+|3E-h!Z2wou~SW6dFiw0212&yx(YhYD#rB#i{ zUl5@se?209SI1KR?z7}?R}K#*eBm+DWtn(O@&d&~L(r0UM?J~w^NE)?#L_V>dAEpI zdd8yJ+)bzv&P|r&O+$}isxUgkht!z(9MH@bP}tNL$?IntC2gAO-bZt12mpB>(O1}W zxt6>I@LUD^t-|QFbdNWtToFyuuq7{a3UOc8LP)DyTzHJbc2 zU|T3}(bR8!xFs@JHiB}sR0>O6?w)kM&>?X$DcBl&p|U zu-5ZLS+Q#z0VWRUD*=tA5Ubo^fY8KBg91*^BW8WGy~*&n#S+_yh@DB^Wwt6oHJD|K zJ%X5X!y*=|J$@7)bgUKetVQj&B5Li)feSkK4U$F3!X;hH&lGExL|bM3TFlbn8yWCU zy0LTxEtW*gVvUVoORt4rItF6PSqxh{r;AVeb}eJAJ&0DxPBEJZ>R|;lXecXeluRduoxj*z3Ou(?I%TIbC zeqb7>tIWvDc&HNvz^Fn9(`PKpenNbu8?Wg%Y}dA6`#|yM%V_gVdIZVhUxh=e zyVY0gXe-^OE|lLIHR5w^Gi6`sfq_k180m+(fhcCub34Rp>e;FtXVzk^!8JRL9`r0j z*!u*zMov7qb|1s-1=`r94;zmMmt;ygrctL{c?cWtUjw~H z4XGl?l9H-f56%+81-3@rV)cF@dynzguE8(pDluXdKcH7Add_y%kp9JHZK}S;V;?z( zEb*cJC=^m9nHaGjT-HqJw?zifOMcRO;74PPx2QZ#WqS1>s@W1+POt`1#zC10C+I=^ z-5Nv@XA1p&YN-q&2g!mt7{qS%f^@z{9bxBD)%n&S*q<=wbkc*kS+-1spiENx=D&{G{*4kC+E5)q#E*l;svE z7d@emcjswP#w>D^2*3I|j1PpGuTnr6_l@8Ky)ZGZLFhj}zRk{)9#(58urFayZbzqp z52wn`RQlqL_siT|Mjnpa?#jT20TEP_UAkA@tZPC99yPPU${uHBXnHmw!wX3;9s210 z7lg-m!8hPFHerN#nejqJUJfuHloSeszZo&FXb;{mrbduscXs z$w_?9!t;yiVW`9Du)FUNkVtPXzcngrm7XQHKtP8o%w$U#bBZIaqqLrMA6S}jBowkACY zu_oP<_XKK@J$Vjk9Lb015hl2_68vx>er&cD#2Kv0AdbC4Lg~J#b{M3DM#k<-V4&^| z`b-1--5i(1#nIE3P8H+9u63tx4^o`dw`Fr^`Vy6Sl1$&VDl~oFE~z(tlQK|)WBPI* ziI;M^xY<{C;exuOrLMPp1$=x zIrv6VJROAs8v(AsCHUivCs+6VzB=FONbbyk8{UEWHlFNLE0)7Y@eyl|n65@)B*E>! z)0Z5l)YId%YvUPi43H)=d6n-9|OZZl(@VUDrT!mm-b8y%9hbq6$`^oe)Vu z?WhcHvs!Kn4hO#4`4-`;{Spg0+B`L}bZtrb*aVxSs@O$vXZ1FejQ|%ins|eXtO6RBtP*%v@}|F z+TJK&L=Z7Tssd+GxfkT)2*+{s4)p2G+WZ&RMW4e+aiULPgN;6;lGQV91b;?+7s8)Q z|5*=zo=Qgz4*a=gN(BC-ek}NNcxNR3{P0O6{zMC4wyD8X!O;Cjsm0h6YvGT{mXPM; z*Y`{7N$+k%b~F8&wHklErF3hY;CrKx5WFZ7?0h*yfZBHf6$u>PHWS`nD~iM$@{|4w zf3!CLS`V#AXi19u988WDed0>gOqlUvVh%8nv2ik3=hYf-Kr^u zOwW$%IAoB}lhiseO!mokym^e%WG1crQifTuhQr*gex*!C{MVao481)9Lyf5mv1|!p z>7Broz?)1VLION$FI&QKA?R{vI2vV%u>42MY%7g`M(>p90hI_&l0_6Rz2Z>t2`V8F z=Zg{l6L^@d>E_^2=@n1;P&J)r=_7IhTL3iT;ethN=2UEv*RUKLApH_5DP008xfpCU z@GkgY;Ai{^ug?Sf@ap8hd+@HwN$lpq`GFBgVW$|S-{~rTAG%YtQ_#^89h z8UP}hnQ`xd57AEGICPV<4uoOG-9PhzsHMFS&%`=IgWo(!+Z`Q-_ms$QdX zTG2TE;vb{UR25CqFL>L8H=2I<50A8i@E>Be#3P6e=7=EwSwLT-?tm&59z4%~3_y=A z#z^eb)A=+4VHFtnZWn!edN`gxu%7djZy--k_jaYIp4TKqElgxfcul2^IZfKdLs$F3 z%?CA)jhon2H?bJE;!uO#aQ#K!Shb9*3%8%tbvL8VuA*QsR^z45&coRL4%vC5(cWJk zEw$$tnNg~>i_L`n7Wld7XKqj-a}YuW~9oYZb}0s;Xx^ z1{b9!wB!fuNG?_@oAI%+Q`vd+C&1Y&MhPj9no~j>Fh%!Mr@q!`KTY!8(k6V3gx9_D*?m9L9c2nhXa{ zz1wjZyE`%PUa5;=79A zhT7Bx^6P12TpG@}5B&*cG^XAO4A+_8K<2>pd@ag+(#{`o5<5MVcP#VD9xWwjW1Yp| zPJ;Ayu!i6~xN|3S!5cD>FaQ?j4JML@EMv$H1!!0GK|jf(za>YNAf|C@8Nc9FKs8Zi zoR8s+1Fq1&JGhZda(nQwqd8Gv6KIH#}!t>UE!WXs!E#e}|3La9cQh80~b=7s6np+E{f{Uf!yDWm5=g9}5=A$vc zN6kFRZxkQKXl;s4sYB7&#bN zupWK2IVVhCCt1&FYIc7Ief0nc>(W=t!T&Gx6}1ZVb^R$qP{HfD7^qTFBo;G$#5J0} z-Vxd%eVtetL0`GCBr2h=XQTdF`g(R`J^Fe?k{t9kqf;IFnj{GpeSLhlgTCI9mp?*Z z-KDNSLth`|hRCMDc;hdeW6@VxIAf#qRfx;5FR6!raZ3dMIzL7H)6TF&K{p`&^3_B^ zM&WRxU|WLO#QGS!QW^!-4=W6y35FtPl0F8sB`}x2gZh^P2X7P;LallafaK`WgoT4i z_`;$k`RFdun*?w%TSv?0=mEs>XE_Kot1 z9w)$eS0k|%i0@s{ZHcd;QU1m=2|q#kjhl#za%QqdwRn(tpYY>sAT`bdz3vvHBwYE? z?;7>Y8_b$?`Wu4s5}0APdgXnM>c{5dBQjmgU!pv$9BWA{#QXEl;!u-rr{Mv2YJ95k z{u%ObGvTF0b@6_vU|EgY$_z!BEw2pWeVqgTaf0`{A+^s1bp8?O%zMw%^g!=FgLq4$ zh58;gEbfJjlhN!}e;duQ&bB(4aEznEW#O-p%&V>Yv1-(-ugjRD0SdV>UAWVG)>vEO zmsHW~J&sw{?3&Jd624~AXjoTJr|T1rw^q$2*DT8Hj=4ZnRPJ`8FAmaN!EHDTZt8Cw z&OD|RWj42q6y!Owk9TIT0f+;4>FissunGSXNA^#h*~^)IHc}i^9N+dpdi`HE_OA< zQ5=XANYNQ8kpVja0os|!J?_`P!BW0_Bp+c#5tcR#J>(?)`yFeN?7$7rqApI$`&OfO z>qdhJq#+xlmBH;!hGfT+@s|FKGnokIwVrYjr!dKt4q+nIsy9KsJdKH~H=4ucE_B-Q zW74kwU{D;3?yjs%~#b6618eV3$LsZ>FB;zl#=-U_$$MJM#TUR!0 zA~~0vv8QGoERQjYo6@vedIbLX(O-%~RVBuPU96_YgwycJYq}G0%c#ffm53Pp-i&f% zT6sLZ|1b(8b+3_%Fx2aDzk;`7Zxdtbz9?hqIyk1ZdI^O}X?+_v20=+tj_IMqNuG=Y4_$-~8mX%ge0UmrW-MLK-~`%##z;hb z#)?Gx{INqFW6KcOGZt}`$L{oG)EZO1BOuIH64DgW+q@lrLU4f$U-V{NP~eM3yyc#N z3<3~m$@K*2D?pP)*!aQp5pEU`9FM2$(jDH4Jx%(X?Vcb|vP-rW^wp39*x-T;pb<>$ zT?kZ70IDVyr~s*G04mx7)CykN@J)8cw*~z;=J(+EXTb`tkrq7Wj5*hW)lv&qwV`k0 z#uxyT>pdiVOTfD3*p?Q^58|<9UCO#P>$n0o6F*E6eg)E%@;fItaHL3?>i0$V|Fh!uo z9E7ol``B-V-vy3=H(B|7+%!Mr!CZN2w-oJ&@nmfD82vYTI<7^`<``18;oa{k+VyMT zbC|n_m33Ke`DZqOdcb&3#^rC=_3LknrUnKtx?|DdNSCAaBvUX zzz9?9go~xoqg#qxRn*%{r zqp0Jc|G-)uCut;Lj#6`EYbky3`x?8pQ=vgm2Fq`a>Y~R3z|t4t0;>`XVu-7~4Tbih80O)Y`q6t-W_an5AQVwqw?tKRz z#vk}Iynr9+LU5u3!Z#;}J-p6-UqF1O{G|U4KNg5n-9t9^19v2VR_BaIU#w?SZQH-eRBiyI{NjH zyuRvKYlpm^;*{3|bHb8(fUA`{msulaG?KM+e!pSqyo`-IrSse5wnayp856$7r^cjn z1-==nTOgVdRhp7{5CqKDkYH|5EH7?ACU2%p?jf?(lF5rGleIklyCq{p9wVKBvRlWB ze9^Ml%1AkUE<&GZA-o*!_jToOgz!Z$I|$#;M5;K2FI-!V;}E|0Y2gb1jc8c-b_ZZY z@`}{m+JMwuTuC8w@9zGK+zInr|o-uY5U*AtlN^aOWTr7 z=zG#y9BBm(7%6AJoEs@;C(H*S*>cu2ras2YtfY7Wj zUu|@B4q33C)Sazm&^^z)&u)Rwk}!}lC86n zBW3G;6c5SP#UmnQYwu@e76vYfl&#s%M9S7{32?C5_o)S;*ZW@76A+TEd)bClfNYgU zliJc)W2S%dmX@u3M3ZPpw%(2*Te9`Mw}tU{l%Mnt_^}xO-{q>LFypViJp!W+JuPEt z4UDo~dnrE0Kg}*A{S(Py#y=SY;m7Yd5DcuHHK34eJx%w2089wz|Is%!MwN(0RH=@N zjH^+i-@(|UW$Q+0Bm_dFZ2cS~ivUeIhYBEWLK7j`dX4S~WowyLjYGDYtOG?}Vz1EM zYtfHJWNYxnkYp`&NY<9E!;*E?n*!iv@{_&6k~7Gh|YWPKefPhdAC>k&v+Iq2h*pA4k!d{3?;Pd}nOT^^FB zFt;5h)jRe}1L60;o1nI^@CLn$-8ct)-17erY83wu;T@6wA9Fx$*nce!M^S{6hL~<` zKaFgQnk%6;S@Iq6k+QBrxX!GB+0GE#uY&Pwwuunii3|jQ;F*ZCy)uDV64$DS#Mx%_ z1;|#3vrRJ{{~^xy{d~k~7-s>;S*d)UWIv1N36?qbJHAb~pY4O*{~F*Q^7oFpA7LPyXsHyuO>C-|t~2&?^&XFm+LAM)j)NC(>Ja&G^r( zsYqY3JslsA^cH&{Q`Ot$QF$aLf871jq7`ggpR7t`b~_)kG}Yyj?X{e$1oxE4v9qC6 z(39#rfRUb4TrO=>yGSk|$V7tDpQb(l8Hv^OS;-Fjie!hjE!jV`vZH>a50=`CT?*f=2F@l~`{VwRNm%RP z-ua>6-g3GPcHTUmh(S;R9GUNoq7vLY8*NFX>ILkX4(|OAhAn`@*-~{EG;tl=y9!qj z;dtsWX>tv$IWRD(S&3-16d}DcKj_X#71gW*QaTL_F`hER@AvABlQrnT%Op;XU$U}K z=<|RS`Et+VvJA$|exBxBk|K3<|I6ze} zC=}OQ-EY`nnu;ckk~M6gE|`izErIpnb-ER|yI*qP*@*Q*C_VVL@CRZghUARr-JDhR zhuT1Ykp{j8fa?;6wvq44sY!&;v4keWFw1M8z8S3VcDp^q13x6sTK`2<)PNzXk@arH z2VVj)BCe~JT|%gdwpqjnPutuL_pP;}90xK%3OVD0ujDL&Bu^w>L6SX<*1?BS>@d!1 zs0AnnWAXw(8fgv02VaNIajluAo(E~k34P?BZ0C=N4}P_kx3el_-plZsRn?Eo1ghr6 zh!1`-;)AznF!eMJMO$})`30`dva~$`o&O{8!N(L(5zu#_gQ)_0ael@|;EoxB@Sz~# zBpB5_UW27r1POwKho?@<6W*875699PxG$x=dDx?1iS?YOu0BuSm$E1`LHp*xCardo zf%!Xp+7(@JI`DK^_oL?xuPMR^{!CSU=B4+)@7L2|P(8ncHj?DE5AgZDUheU8UlZ|-8iqXBQdC)G@R5x)b0LvW{~=0H=R zz4N_2-kk)={T2yWNevIm#zrg7^oGzb@Q}yD_M5dZpM>l;KLTXosFXY9?KJWJd`+@l z3BS-@DYWZWAiyO3&K?CR>X2F^@gyoe705hpAdf?Nl@^CFn(2cdb(3%`Remd`i(87b zkb?%+mDg!iel6Z%zw|wZ%((Zh%ng=UJ^wVxRjUS05mkOElEbQe-gLcIn)eiccdPwR zlDk0#l|tGSxmWs-)ZtZ@PycL|UM^h)5vuK7(rq;%me|P?EAVFsX!}8qgoHy?DEFig zvJP}XVbPa{IBS?(F*S`G#4G3~N=-s3rwO6VltDc4jcr0;r=OP2*Qy`Uc~*6<3>oJMOnpq+}_oz#;fP zUB2tnan&@gr*P#LoFJ;r4%Hemfa+iLc0m<XS?<5CpB;mF2laP3hJj!>9Lp-Xu}ufwVe~wfXY@RlwFY$r_v6Z-Y+Uk1 zAJ&s$d zF$lt4NeGaP?hvR5Mj(_8u+P)6)>CmT2H`Z0GEX20l+{2zU8SDxRz1g52dU>?#0LP6 zEUoZ%-0uaO>~FOch=ERL(91Y322YcAwUg9N&QsB1 zT&sZveo-Z^yQ@*H6(&4m@q=FlT++#L>@Zm9=kvNpNjwe-LrmCB?1cb*90}AD-mYqt zTn2hpiO0(A8#abOe;tokE9S3kl-)gxsHr!~I(#k0yr16+8S}n~tpdDd{Uev4pB2Sv z0Q)C@JebS*)=VBf+US@0o-~KXyzo`k<0jFVC#Q~ZV@r)HdyG@OTd7Aem8d0!zg&;V zWixPzY0oyOMA!)@NTW&pWS1&^|4ePn8wJ4~8tDyS2kPwKB1ZZYUY#SI_?$gboCyBs zS2ENV;i0OS$f0&6pzNWxj2!CTM`Wnaz8yK#CniP?^(73ALp@rihnmh`=TI+{$#4wy zENL`pi0l@n$5}%)p`Huhw=8Ow` zo`WK2v`7zR$aAF8YKcccR9ZCw9mW14lEZ>{BYGdW2gjO1N?VAy? zaCC!$Mfm4FA|O!pW_&?~RPE2P>b%jeQ&xwvT)SRiQlmx!|AH_SGM)tPKwhj5VeAac z0mQ;MRxn*nMeV^y0Y%k;^p7zgmEUblYGTz7NIEu5fBluHO;fM6xg10Sp%ue6KSUq7 z+?s&0KtG=J|CmaNr8L=PK4c{*vxaB{ES-o}Bh00JrMzrJj+XLr#EWc{o@=9|$=#|< zhPw^RsK5jsz~kQam%%F4^+NtLlftf?=vTc`uIP zjuZwbu-P?P&!@l!n56gFtAD8jn>9!vY<8oC;D-Pz=3^O=77$J0%v1)erPmt*qai}9 z$1}o@G4|t^;Y;K<$Rjk#z(?p1e`#@{-T2;EAuCJn^_p7(0hVCMMhEV z8Yg_+hVH2x1v-7cOwu;Bhq^0pXf^+=J& zl>ZNj!ccb-@J~5bG{JA3%NeW#9rxM)kkWAfZsQ(>w z|NGA%p>MN>pbVzkv6n{ISEdU7>6atZH+bISe6T+`&y*6**ywqSIApf%9{bO> z5xHTz$L2%GdpvfJe26C}&L5B6Y-gAp=x-r_M458OH% z^#t|8h^@1vC!q0}asO@ymSWzX$FEo+i={tC9Xhs?%o44eO5&0q4|9F!LYr&R0tD0*6d6UC<6Sno4Gh`tjH!yU4>BM}-F6V@ zwpm^iKAT4VYaizbz9VZ{Y?DFXhpr;Z#c2Y$T6MwCC^ii8*NK5Ip{GHZ4=8Tc^D=Y- zVPi1@oP2<^AYI`CgHXy|-wJ=Ot-T)`ub6$2Hl-AgwxGim?O02v;FzR<#c?#g0>k!0Kn9Q5C!RMv4s}FCK)88?1^17()X9GX7653~VyYa0yVWN_XGp_`#&GA zd1iRL&Ik}3Z>R8h-@+tfyc-{Nid_yl@HoE6`uD$%`yI!)UkZ==3CFm@Iz^d2UkoCu zfBx}@uslA=ddB(3B!@ii!R|V@Cor=uQ!vuMULHqH?utkFoV2`wrlyKjNH+2L?)gSEaRhS5FPxLb6Y}kdfMT)5 zvT(K3DDpLt?{nn60`iv?B&)(Fp$~A68tLd0t;bXeq(G|I=zUQ2+Q%kl>zcsTaq&$^ z)Hg%BM#+Xaj-p`zN+oB8XI*l0u%-|Q_WJz5sskcgMv1^>PEFV6U52sn#6F+Ui zPq0u^#o<3b@7Is=e8_r6vKYam#`Rzp*(+ssb5x4@mi-SKLt$xQZDJICHI{igRk9Wi zAQuCmm72Ss5UA=<5Jl+<_@aznfHFpfXT+m0VYWnf#8|FAgjg&oFI?%tff`R~ zECi-5(88E-SgidJ@}8;+i1lMqipK(f6hdDhotoe5Rs$F7ja2IBZs=W@MUI`O$4YPQ z&z!4j4&5KS7S6w943{tlydNQlknHtOC9Ey|+>^1|DBg(oY<~~lCf(Nh%*vLbGH=HE zf~^ZVA*yu^z*bU@gQ5i&T5;6bl+fCcshyRrxR6K^9!Q9RTJ47|51U1=7U>c zaqx1NI`gdMpo3ANdp|C8srH*LKrRdLTI+o96kuBMzo||YWi|yKVP@#HuoTENj{w?l zR7kv|(aeIq5RVG%1%DZVSI&#qKN8ngU4;vuu2Mz`oyVyjUKHR27$wc{?nU2&)xNkgk*PzjXG0-`exaIWF_1(UIfQjHdXF=ksqW#vY% zX;Wh|>A@xwC;6yzg|210NNBH{G$WD6$1fr4a%_rVO|CBwFK}Hi%IFlffZi-6T0!sr z2B1^{(myw0?1|A)Vx_>f(xnhAjN<9+TT$i^Oj}d|Djl8Z^Pi=b0uvlVf8}J@Gg8^m zLui0HKH}PL|ZS+!S&u_S8#fgRUAk-_^Dm}Es@oGSp67Q z|2M1pI9+{x&~kPx=Z z09f)J8T*6uUBj>u#`c(cerzR@aGwY{*iDyc_i_!pgq^4edc*|$WS8!r&l-t|-`}C# z%fWMHQ|q^pSS2IF-e+?dJxF@ET&lQA$_0a~os|s=O}LQZ*wvhgRp?f5ad-hG{>fxo+CTX` z)@W%;i`B88i3LmIBV3SI5J>@%o`4ANKiBaIa5i)ytAV|yXzwVsQ!>$5v$BX5iCq|r zoZa-4#;D;%&^KUz*n=-L8F1S%4X|G4$pl~Tm4j;dn``~%S-->i3)fPyR#f%Mw~|N6 zFM{5|lwp2632&+&MnMaWJ0xwnE0E=9JOiMVIP&%aJ`3~rpO@SQ>I}tgMvYOj7wN>d zZ#jRCg}+F4JJYSq1dC3J$CTK5=zKeLo`DTY0UW4IYO&BVZZh_j9>MsDZRL;X4j`by zu>#x~34Ot?@MWvjJ9Mi=DE`w@+0L{WDQp!QuSEMptDBQ`I0d`aY_!UegFic(u2CII z+4N1WJPI2$ElQm=;#I5`+Y>(kd8?%2C@P%DgN7teVFzHrs7M=jBpoizlYKj<# z4Y<5b-N;m+?H0&7t0JJAy=(McH9+~EliWvfFkl=1=ATck5+EzP#Jemp-dSP+y6Ajo zIA`ZObx7xX-TYhdy)pU+2*Ail|6}XZ|5#1`yXw+^@Bc0O2k080|A~#!{|ODz{|=1c zkI+9lA3^_wfRhM8{}cW@{p(hbpZ?p{p?|d6ApMsd2mJ#({}lbVa?n3O`8)Ja6cqXo zXKS4PkvT;F;rw;z*+Ku?kl&{Ngitr?vHBj9{Xz^n5jel9antE zWiuMHzrKYpe_}tB^!3!C2I%YjO=0@F$a+pwtA1@2j*xskKv)q!W3zZ{uGY(|F%W!jUKo;P0scfLme&sbW|1b2M zb06sW?ZraC2}9i?AamZ7*9CFh|EW^ZLaSIqrVqU3P$%#_0J|eEH+_Y_CVfu0<13=%m!YHjsEoz+LYqfkyZb zZOE4;>8E|_$IC1n)AM(%QFaVXM%2W@U9Dm(u+ij%<7mD%l54L9;%Lq~#{E(&T4p{r zzGx)69nhvi^PbyG_~Vs=Cag4tJxG-yl5hWvE=|vK8?iDynvf* zSXvzWLboM$9*HO`J1_qwj%MJu2b^&_x$i+m53-AeUK_&O^Iq0UuFCO&)&z*dK(AbuH$SAW?hRo|$yk zJ**&o)onB{>{bIdvllS8;1su5+Rx(H%sAg&A?8h^N&-_+a|yE-WxkIYK&>=a)rqQE z3)_a>ta|EmP{2;4IHGEv^%+*$I;!S$xFgZ?ejK{UzAXDYM;?l*xtwD()0=yfK4-)cgAw~7N21dKZNDX#6Um9pEOI|157Yw zPFe=Jh_5sFl{c}|q3mH~2~Ogl>G(6OEU;8Qz;QqVX`YV$vHgM4Im`<^4LL6Zq+_*e z1m-7jpKgjb3swd<@y~Z5`7icz#C)?{8;1)i(vpnZQDJD`h$G9Bt_J1uTpeO);!riH zcvK>g+9@1bFnv_ zkG;q=pI^s+KwCo?uL9S9`-kV@Tu`njqtYlI!kf0GcoR=X&?xrt9eY&tLxAZbSNWG? z2K?!(j^L7-Vpmu60R+5_Td-+-#y=!yNHWsgRvN#1tY@#;7uS&#%Qd0Q&*xk_AN&|{ z*_1zSCR#wB(Qif%8KXRe$8(C~ zIo0u;W<7gN+?Im!UF~n^4F`^NH_x(IJw#spg-<3^aE~WOAfO; zp&%pNcuwS4OM%d0KtTH*MrZ1Q!F10zfgKhkYo9Uy~1~8o0_#!K6ktt zpF3KgNANR*3uY4gLBbr;+n(1)9~fiWWs(82BjXsr)*iPurEuoADVp(Nlai33Hw>ZT z%Q$3Acsw2n8OkU=3TGABW4Z@fJ&XXNqg`?a;7wAcZiDFY79ES`QBTv2ARyPGgs-#; z`yR5BU z$}T-5Q8)>;_pcy-O`87#k1htVdq|=$zlO|dn@Ywndzf=IIaGLemVCem@<73o+gU!n z^G#YheE=M_&I^W`1}*hiDzr4N_Wzoe`lE%$Xem+C67Zs#`i4Tye_jo<|24GKicQs{ zr4K|giCcq@prug<{{$_asA*xg2gGuzMJzpthTPrUrUnQmHAWU^0qq(ji=$+RB#Xn% z@W8FtA`(giWN{^?Jc2B4L5T>mNL6ErEFg>+YEJj1T66tJxNYu8s&Yd)E0X1~Fu4uImK1h#1dturjRgC2Feh~vgc`qyPmqLe8oh^;n0B4{c zY~Alsse`CFFOc3rC(!!j7eE-?TMkYu;id7|-NmStG9aU52Dqaa+KQKoJ`p<2!|R>l zt$+nPP7$PeqCe9?F7F0=L<0U_i;TD%lDa-*vBwj=*;51vL>W`2LmbMK7=!j*YPS1? z!}pdh_m=MO(`8>D_@+@@qhM;8S0V-Lf91@LilC|`1it3 z&6{!9Yu?W=&x^eohup@rs;u~5jN)GSY^1I?Qdh#YkZ0+)>L}Pc&h({br;-Hw0VeL@5AubZ)99se5Pug8M`5dM16 z*j?U?jm8v4C?Ps`g`iG?gg^l7^`46ACO)%WS6>WHS$kr7W9IP3?WMOy#vzbZB7jrr z&G>~da>pMvifd4dj)lDwPY@-ZiW*dLq0FnNw7Uz-yMjI%iioSQ&+a9lhH(nix)EyK zET{o!T>-PM0y9syPOf`4AQpFa#!m&k34td)W>0~e7qK}R4jX`YbWBHnnt`9Jb`{1R%h z4!=5_OOSpzXW~(`9PP_EQn)kt9KQQX4|Q1=V0~IHcCmh0?o(&Ek1#z5BVARvGmr*- z-wPj&Vrr6PzU|%cjpQ|w-i|e4y@aB912}yI_gxPT5y5>ERrC_FDu+_CgVp{%_dU9T zW$JL>h3o-U$3Me;CyRRC5cmC|ifvIp1W!q&@@+TJDEGbYQx>VmeJ4h@0~Xs}XPWI7 zySc(G%6xZ!Xw7&&x)R|DcRI7cE$gX8P{k7QGOSGCFH~W}pE2L+!G9oBRR{d(-{?>X zQ&kCSjF5br{yXf)gTDu&;Z4h>aJVHV3`7Z z5D%kUNGxXN!;|6B*{2-iwNMLuGBg?1>hYw7_zbP&I-nOd&0P>Sw!WB|#R_6kfz{z|T(jU<>Z2%T6z$=hS`%|9~ z{59$>Qe08ybNg&aToBQ*fplOrEh9=103GOs6h~hIRgv$(<$-)mSG{hW2ml5Ow6#K3 z!xn9e1~qfO?#vD>4rs4rw0vugfws#46zTJ~3pA?yB7NUR@BX4Ahy-#DRiUOIJK|&H zsgZc~`X9pTYl%bxxn&3y932Vdv>6DGL6F3?4pJ501_208CN92xkSkx|o&ZA?le3uV zOKt-d8SDeFHGdv^DC%?xrip$h`La~1Q9IEhS6R|sWPQJFgh}iwpBtk{?>8bGRfF*F z(ObJ~V!_2@ndSF-iOYnzV?F7c1mR+n$s3=;C#4bJ3hX*a1U%`;~D+gIu3 z*TtYq4a&fBl22)+dXdZ@RX-@7wlQgZsCILR>w0R9tZ{U>37v2o64<$iF#!@}Kz9Is zR@X~`OYuEOpVi>Ige&U`ei~@Qb}gNfT@f4QSOOK$sby#AAc#(km3(`tqY@_}Y{6hS9|wePwyD>-0)Y?h3jUEG3fm(` ze=E>7+oXnWCY&=+hJUvFq@Rf&8Gfa5Ezy1dwY3btgC73huGYhU${PNZEOtMsACm3i z*QgoN<8A5(_81WC=Uz6{Z@}3F(t$4`abR)G_3udGugUq3Y|3wqb3&#`ze=S1vZKM zaap(Jmx=l#oS{Fln00!Eb>2F(|D=x|Lon_|i2~O$55h3dW0bT*Sc`ege_<%)Sa>bR zeJT~;2Kd>?EU$WsZgRc)tEZ^?S2AI&#Gb*bnJng2W6(jYt{5J9I{J^!4sqeK9u+OC zIxHm3*pgVLS8R`E(P|`E3k;uY6H{Qj>m{G|ho_J=FQbAv-3QkTzdPP%-Um}2BH#Sz zGw;G8<(3#Mb@zLWw>RNeU1nYgt~SIqC)?~k6A9H^vA&AF6u4&L#--OUGdsOtOyPx1 zthmgF5lzCX)rW&cuV!De7O`ARqWI&SlI{KoPp#tl!gypbpt z%LO-HI$`O!)<|sC%t)#<+HNosT}_Qttdq+VjkaGINvn+19mYxD8f~^PTk9Lkjgvk% z+AK3#UyZkaRU54@-S5puR$zKF7z3-tjAp;_opK1~8c9t=Nal zmRxVL%d$c63Ld(wlRGcIF;YJ>Qoqy}Qnfo7Yw}i!Mw_-L8L3N+lZKp(_D}L9#v3OM zI0=t!V%r$0-*WNUCf-QeVzk|1q<(HBEi>A#HBy%tZ5J6yJFpym6wA>^{J*h-}Gp*apI6i(~J{)KbpcEsm94e9_@;$#Y#V5Je&^|$QNDh%ecuk>2kB( ze~jX<31Y$?*F_}8PGrD@S%9WY0jF=?k3F%Ng^M#Umq?5qhox=rlVZ7OERsiF_SL%t zt4}1i@|Zc%Ui02qZ^k-f3MH15dCI=d3P^;daO>C)VVQ{c%8ee0v1Kf3NR89vQEGfb zYBXAnaXUIk{0VhV_lq5wD2+GPC!e3h6aAy72xJ^fJe=;yAe~RWhuS5+meEhYoU?c+ zJ7cFYWdamBHYHR#50`d$aBu)Lh09sIu;*NAb}zxuurb_9ei0>biO(DqjdNWO2OlWw zQVw%MY6Z;*m`m$QE$3xgzKqIyzQJW3Ub9uVf{QtT`LHArE`E?9R_tGnIfJPW16(jF zSjnD@rDIx1vLtz>{`=3|EA? z<12AgvFNv!_x+7KTO|X538=2gJPekw#=Kn?9h`{!FUs{gDAX1WG_VKkFWeU_rMv=U z%D9pQ`7NbIMtLfB#Uk*w0pLF9+K(PQ=jr$Zr)?JHk;W@xAX@3Um(@<-(|$e?hkE{m zC!mlu+@6PUr%U1TKyT`A6g~)MVBHFakhUK|c!DPfy!fj7nKj5;y284$^GaXoO3rXs zAMTDrXL89Vln;L}c|MoNhd*v(%5!A!rHgxmgJJT@Jr&=ANe^)?gW*qDP9K_sm{JX^ z)5AVUkBaJ8@Lq|!*&E!&%sK`cK!FlXIbTs7M{W;*Eb~_EY6iCa2xGCqYQ;)K5|oqE zMJZ$})0~;unlIcQ5{L#s6heNlyJrdM5r(Ek9eee1{so!2fcog>I)T zQ>|aooX8FjHj$_6*<3CMZKO#FJ{%P zBJX#qXt)=1>Q<5eJ5|){1p;G^^A=UXMykenGu9ZBE4XZ;47tpVh3q_R-C?0fvMESXLG-K-G{Ps=UD$^v5HKagthG9y=7#U+A9E`)GyIogBr0yjeN z7jMR~!grAC00eC;gw?gU>T&Q6JhXD*VV#i+Rzw>()PUB7_}1FxVkRT8rS6i^dSH~% zI>r|Ry~NiI#BNN!1tNl!nn$jZ16>Pr3*8Q~%P{+Zb8;_Y9>qsB)=zXfS_@jkW`U3~ z=I8e#9v|?F+W2C7`y_ILBhXcb&3aOayu#B zN=gYQwX%}Z!byo%k~^H#)=J6=CnZ}+dEumXR#LuB0z6Y>9x?I6*eg ziwyt@l4ZVby#EV8bdF zOOQ^1bdo3?IrGMiWv4cIY7a_$Tj|*4Yq=USV>h4%sfzo6#*`H7jEZyw`sZ^EG@Rcl zGqrdW>87J-aE(kjB0FSYZ`UX<7W*LyDcym441{FGx6RlyuBLFIho|%z*DO3Tv_Uz4 zDKmG*Yq?1ili6+>^Bm&0(x9(Y0!^@Y-2NHP@Dc>F&nk|4R9LxUlF@&E7ZJJn7|BtH zdlG6IWi{w{IQ73YW6E-*d$IWPn*E!Q$VYKead7HWjDb^%kNQB+uV zVn0{f15xu@%4^DPD9Hf9Z=UEi&<*EP0r4Q&n*v6l6JsUOjYN-5egdmpZtFixqiSmGFI@}-0$&!C(;6VUy1*F z@t*>HIetORxnJWyF73-*&layvL_?mGaGPm=L7ORTQ$(yDXU<>HW*XZRfvVfg|G#Y$ zlgf>L0kIoRPa4N5wr6%+8Q%VHJ0LCRu;p11EtBB>f|m2xa(P6{YyX;-^VxEBM9cgC z&s(PEbSB1fQ@Bk}D?yq>>foC@oMe)MgB{u-23(g0*;3KW?X6|)( zNX738{N^!Xk&)QLNF14Hl2LDegB8O_m8i; zsPg}Fn*b@czJnBq2pZO)sr*V6B%wtTn!vqs17RskSPNFcY0r;?iBkRBSbAX%l{kDL)GclwWc$DG+|O;aB^4zRt}1=H>^i>+0vbe|-9Y z-1p3!nK^Uj%*>fHXU>#JN^6W)^QINvP7oLp9a|70-1$ecdQo{xa7_u(5-=(?>9@qI z-OFRi)CyZsG~+j71{8EZ&PdZ_y)aR|JLvAQkXxj*iCx@~J|xDzH;KZ}w5C$cH53P> z?~TV^x5;|iH#Ery-M!>=vYnf(bNgr~-&K?b=RO>q+emZn zt7t-wQ%d7#iWB-OnvmU;(lVOjWWS2*+F%q*T&a0tG~Ee;71yoFrE4^graP&y;=0~k zy2jjSx)TvAuG^kV*T`_`CNGZVU~}!9F8W|Y_&EH#^plbp7vNmX>m8*RnDHHx8^=+G zvLw@&C99uneMroqBebC8{mIw^;t=&x$(f#t!G2SN{c1~sYtGXd2K(`3;fnG$&`QpB z-5qotCPe}gija-RkWLhklpu}}1(qHsp=DwAdmMVwe@N^>#XvR=lM~`|;-Z_q$j%F1 zFvb!?ZC7#W_2mI9kfeAO8z;V(Up+&TT4e%Kk_V&8R9S^^SZ;|I%0<=1@>+3ZIXn?b zlvp8T4tvpIzD}iq?2Y^e-NUFHrA?4%Gfm$VC5S}2p%6E!lBNa-zET$zhN$~nWVT+( zXPCD<@s{jPdjUzNzq+R(^^pX&G01-%HqJpVj;RPj7;1csY}~ggu`7``H;|17Nl@XV zWl5w?L39N+V=PRlV8vrEInCT3RW2b=M<| z`hT`_6XVkkG-cFpyBcb_2b0~5?Ij0VABQRde95kXt!SY?{hz(wdW%vzQ5+YlkPich z`m67Yj3SmB{1Y2&$wroG?>E07` z{lZwizbIaKlN0i*VTRxuJz--E8O?M-_hyJsbJS0X)PWI0#*t~oA;CHKBw@@pJ|#no zyQ1C%uj}2`Cb${B(j1KRw;A`Or?uz!4Q@ity-LNYm)X>DJp`up(5z`a9D0-bSnIF!N=Gu*pNwsd&%WLUN$d4kJZaxH zW>*OBJVz}RJIsvh_t{U-e&*?*XYb}P7WC{BZfXC+9`-wZf0!QbYJV0ND?$4n{S7+X zU_L29w^3&L*ThwE$nX}8p0B_254~{r9MPH(Z2VU9;biLR?b}{5br`mPE9jwbO89t} z8s6(`cwl@D7g`O6PjNL6nydzjPYUkb0kGgpFyZjw5V>vEmUh~??9||@vnaZKcdVdo z+52}kxBsDFcXRuef~9>Kurvbf8{Ykn1o%FAMSye0qj#~Pchm)M8vzIzdhJh$0=M@) zQ8M)`BHIb&yKgs)DP2PjomyroPPdj_t8@XKYVUFhIa%UTNe7ZiV1>^}RT~0zj5L3qrq_S%HNV59+%!0h1r{mFvh1% zCw}V$>mWkvpzPiT)kX;g>K|G+3i@}WpwQNn=;-J;cjcdByd3-HUwXXU^M=*%zjeHP z!l8HZUuwME`?@usuKs`H_wZnUR-2E)}y7QLSN$7{BFdk5`oHnu-$JDVq` zhg*@&wX=EM3Ep}~zU%g&>j5Oe^sQd-mVw2*a{kUg;2SSl<%Cdwy_&bP8AR}Y6|3NX1pz+MJxNJXM#)!@<66PNts{$@Bx8+8z9*Ie3LzvKNdCzm$`+p$jE} z=!HVG>F|#pV-9gCi2?1C|8{Dw<_ZEL$u4IcN{6E4nUxNAWe~o@)SBbN0bBKg(yb}X?CWYDR>M~78%mV z{rw9@6heO*Q8rMnh;p{d&nLW?1Fcp$}UYCP-Pjv>F?U0o-aHY1N@zT_*u{Y&sgPZKP^c=I)*BqRbJU)<-aql z7&cAYU=_YZx$&%W*-4X7#2BO=&EajOd8#9?ALz4rWUt)*+vbtrs*6F9xx_06qKRba zKcWq@%~9wF4w)1#yC|ARBDlM#W@35S<8$?HG(3uP^O3{rx?DLfeFNO>^aL)vF_+)L z|8*{`^pS%?CDl|KAbP_RtHDO;HtnXf4W7l!kiZmNAh|3cVm@% z@;@rw)*~R18{s*f() z)^pQ4o{Xhe?Pu%YbJL@2(o4B~e>aBTTKtn4+aj^+^cF;C%Q&6-Gaa%Fxi2 zJlaR@eW-l~NBt+Z=&Ya-v;LQ_a{ks9^1ai4FUYL;30@_DsLXu*7WY+^S^TqU1-~h! zeM-Q=2p7}|a50@zk?5mLADI`vp=(eV>S{?-DK|N8jdF3Q@&{R8mSx_&hO1dsFolAp znf2u0IqzS7lmx3tLP^ujdEGkz<9Rsh zX!t7r*wV-S`k)$O`!h>FYr!9%Z~ogd$1EUd9vZ)Sn8kS9G7ne+C~V4n;5@;+(+gA! zBu0KPo<6Twj;R~XLjaco_6#-$U&hAfm0%gyXj8gZ-Cth;qMXt2AkFvmk@}fVq~qyd z4HL?g-?xe5g`W*7CH<>jMeS!%d5+x5LR~HSRhwY!zExlm&XJqCDaf37w~D!x)_<)m zQ)z*@_#wbuJy*Zlx|Dye^_{{k7A}mEKc^tqZGO32V7hm2mHgO(G8l?pq-wmCRUUfo z-ZRMD4+Ca2{bLf`P^w!#UAHfq?jg7~_V}KyJZ0?>e&f^$-qCQhs)ydUD`m9O0aX&7^U_BF27nmV6aWa zbzxO9Y$=JS&ZD9@+{6uUxQOpE8Dy;?10%k3R*WGfNBI=gMx6dBeVu;OdzIhG@fAVU z5p@0ymFqOA`#3&8k*iMM=1aZ*tLz78x@d8H(|^fLl*cY?VV=H=-z3ERUmca9sJ@jNzD3ru1Gf z-Q|MY31*6(7h2w~4@PtxW`5RQgbn?naH7Ac9B6gwqW9^``*KcaLDJIpPv5x18OMZ zxH59-6_0a3M)%q(_O)AfM}0=lczE*L?uLG1hAy$am`Uxg-(8ta@6+u#o%)9ED(FVx zmOkLk58D;H8xCjI?OBE@+DYzoN~&J7nt^Y`bTbV~W}H z)gg}s>0ev6O&q`atgR1aE?gG9Z-@tv%qd^m52oInJrlvg$#*$Q<8O3;+rQV?f>tB0 zTKW{7_bOZEsQ#h%jgHCacvII=L4^r~dWA`lK0Y7&)(0|AEbZO1GU`O!i2Vyix_hS_ zA^Q%0r;es?F0qxUALAcx5wqhh$n;X6^|QLQGBb-NGBxFH5g%5@Y~XJZ-#LAONgV-K;fiLEuXyGVH>I!Gv8N@)D79eZyQbw zd=GJR^Jn`TuN0xaNQB#N{R&;C%a(8LGxiGcG_eKo7w)Iu$1~TLI5wdQ$0q-5tzyBC zBEDgj9!24mJV z(3Ku^%~;T{Dq1h9b47Dk=C#0~$zWp7ZmZGD^aeseX5Ti^>v6rp-k8fXbdSB~j{BNT z4dL6F%V;HclgA;s3vM*z{4}sN`wTIz(xDr4`M6sXDb#A#a-wNybLJwCNsT(<7_p(2 z!Y_b~MjKRf5%WBD7ehU}6|MWX_WDJonsAKeItHMjhZL`}hJMZYxb#bS+^xubxI-m= ztu%A6ea!w$c0WFl-*{PuMd-D&;;HkCrF}XtZkO_rgieZAZ@T=iu?JWUDGM@BC?gXY zU5jI~`K%n=CryNNaB$bkt;i>*;O3?^u%&l&d?}dS1=8L=U>2|AWO|ltjlwznI>frd z?+W_>zpwD&-eVX37ewiQ8>OGAbUmENBXq6>?xrj^qZUt)(0SppgHyS4+aCj+WcA}g=Mu7mxArW1mIXa`P}PJ=7JZrug3dFcfZvW>$Y=h(TzI-# zhOWztZ^?^q%a6}~m;#^#^bHUEOddJ^1b+C~6@L^zJOvN`5&V#2xevifm;Zp^u zg3Jw?Rp5}7;*dOqNAEKyQ_C1pr@#!KjHeF97YTEJY0&+3xGx^-rT-3H|A_p$b7?|6 zgQF_qj$3>%?oCslErErCiXi~GO&V0}7TAdR1D302j~jG2CIUMOuyY}h)=1g*S7?bjM{$?1ju6zgj)Ez1~-x_5{v{84! zlUSoX1Zvu@{|mpl?fMQG$jvX;&-~x>2gTA3MhL}^)q@%w@z`a}=WdQ+L2$f1N^sTw zlV*veVt3`5ytSyU584%%ft@{NP7>4HRfv$B^ z?_smJBj}ki*R?Nd?Ii7t`F8#rMUHJJC8(YEs-1klV>=-+Am{c9&XYTQ8G^tCvmWq< zM^_)rA{bf8U_4b2zSNhU-tj~%z2d#5Zpcp0P6foz@6PV#vc>2n#wjJT+ksl?CjdQ) z7nt2lA4OJWTdjmTNb2ltoP|piZprR64U)owZ^_o@;9dC8s61wj92+&^oy*z<4YHrN z90l0bjHY8u7H5EbY3(k89sp%0@BOk zX(>|ps)(l}5x-9RwSL{p<#JN`$PehcQm@LKxn0lA-pHri?nzA2eckZ6c;VUHUb?x} z{H{t-p?|t&vz_01BnKX0a`v%cOoBI@<%*PT)JT(7z|zvkUZN{hYXry0tjLt1gThQY zd^j%aY0|k&r@tX)BH{bI&X1@B9O{J>b=KMR0AA zog$pWafq4Y4L}Ql@;5lT|BAhXPI>H(SKk|SeSz66i8~8KRkr;yLEWhLh8r%po7?R( zS*%VDdXBA4&K$t3aU=J^xV?RH(0wY|!(my|wKc@)F}2eR|&?O2YoM*4Qei zZ4A0DrG~wP@2uNB8Xn`15EqVgj8x`-(f6o*c5^P{svn_*Q&dgi_TfmPp&$P<0B zsUsM&VIG;NzCGyXkPR%Ryo!$X4^ydrme5YeCqCbnA*(5`Mw;%dfodjQdo5SAdIL0icMGvz3?4P_*bHdVw~5jk0n2kM}pU2?^`$qc&#S zXlA6x9E#=vdY3Wvuv9tpI~|R?T*uVk(hG{8@nt58}QG*?h{%A&6W!{ukVx=Io-9=5aICH7I zg3*a3LD#1tJ0`fA!>|X>oBDJwA{t~@GPgCLQe{BhW5cbBd*;*5#QeE->EWaN!LU2I zF6cR=wz)1m|wD%v!GIg9;YW6f67@psU zu6OhpS{0o~`Su$wO)q;~G*;xCo&I5pDrj+2l$kFZu{yTq6RW-iVx1VR*YvgQWOcDM z9FDMgxB2OP>Y8_%pB60{otr*1W^P&{;>>>?r1^TsdC8#8A8}BV&r7F@gii1rotMnn zz)C;A4E@Nr&(ALt>2;W+my^E};cL-G7;S9Fj(9SC+<&gUqM)|zQ)nk`WTp>oCnDbQ zdW_v+GIdsQGWD4f{J3fmr7s^&tozB2?cc{5Qq#)gxDV;ueNtjqW}T)Y{234%cx#s-$qzBf*a_dRzam%mCnw(rAT;KaXkW*>&eAIxP=$p0p8FJA^^%Tf3*$2%6nyoTcyKy5f$Iwz zsvo`*{lc+RxrILK9!Bi3JXl{l4jzityDnatHWseViJoB7SfTld5-;2dRL0hOz0Io3rZOk5coD;CBg zbgj8KrtG=JM3&_u!?`7y#22M$K$~rE2zowgU@|ib(|foBq5~5_LtnglARZ+9&^R9x zbiWDGNxC|IYt+?TF;CLdyLhC8{vM$Z-=O&$*FiPN_2dZs&fVnRMD@Uxpf`|&(&!;Z zz%b~#K%@;1G3ALW=Nfx5UH$=NwN32e5;M0z&PPSzMD>t^__2keshv|CiFu}?#~s4WS9WXoup z+h5!49Bzc0PQs5*337gX=2qQWcifZ!dK@G8eAN#HT@Nv_(tx|;vD@S57ZCM=YksB5 z!jWWn_ZjJ;3w4|QrNpjb9L&I+T%vh>O3>XVkd7yI>n6W(br;&UzC{N@vcxVbAH?U= zRHf_&rP@T;P>}s{BnO1yIBj(OV*kA8Ff|4wmzDln?=2+SU)PVuW{`X-dpPj4&N?Go zIwmvo@#y}(A-#YLTfGfIVtb9>Mz^=>?MG84(Z$@HAGT2Vi1=d9si{o|25n; z%>*}`%p7rgdd3k;Pi2gMNe7wp-2R@8_6(NP{^I8FoDl`)^6`fMN#2ajIP_4mO(x0G&)h> zsoLNAWqhFZg?Q|@3G+?#U_4T_W-wTg%5A`ao8>MD#nh z#?kMRh<@ZYcTAg$a5HsUdJY#CpI^38p0q|}07m<;+j=BXomqO0#NJF2ic4byaSv*k z`Ep|B9b87!o(wJRoRgEds)EFaLgMrB#l-!LiS)fw-ldYUdy}!p@g~)JS3Zd!8M=0q zSv|isgm+6VdiGgzRf2?tKP22@;Iizb20W^DJj1ouw_vu0nH<9wO@*X08Jly;6X8%p zY^OG#JO^*;qdI_$hD$$f++jTjf5cPVAe__04Y%_Xu^~u(evY2VdZ%LAb`V4>O2!^+ z4jbP>@~hdMg!!Hl^U>9tra-ww^`pyv;HVZpD#8t)mY#oT_t>o4<2M)QUq zgOT9Q<;^S4Zsyh}O4xmpsTz8ysU)7NfG1n`F-MB%&(d*b#*(_%SO=d#M_F;`rw35R zA_g=E^EL(DH){}c?G<`_20jHvH)-Q!%K6+#*KI~Q{%oONXDDl06;88|N;l#-ZEN$% z+>6D@{=7T+|6WoLYsS|Nzr}<(xGJi4X-#(#e+U2fEnA;R*TxdnTxD)zwqZ)N8eyny zcob(jeGSDN6G+LvqDMS-N3y!tm(kbC$@nH)o`!x+m(jnnFU^yK#~IgL#ylrA-Q5h# zoQf&W`txJ`wqKL=Cw88;TOXB&^XyCWY8Yo*Q=}Tu2i!Hj1~bQ;fB3)_t3l?Nlhj~4 z$9(%zY*Q!PoJ&x&mlpHYl-!&f$Zz^M#QvFFLQMDW#x(t6GkiVj7>5|4$q++81~&{y zBeTj$3@T@;25bkPfQ52aaw4u7*v>!hx0|i$gcvsY#5Lnx;D}|@>~76XZdyAtvXaAy zGTISg(h7grzM{$;t2sTKw}-R)a_?YUo3GEX`*IUCf&Ut6f6GfnuQg|V=%1Nxrug445moElT8QrGj zkSnC_7@+!i`Vc4K5Uzl;2qVQhRY*K_efe7Q#nWfur{_5)??bLdIHL{Mn-+qw79^}O z1Vp5%24WIHktCfy!Vcp}<{J71(}1FNwv*w|phPI8e_mc-zc)GM3Tlitp!JVu9U8O^ zaM}?mGuwn9YfOy-Ek01Czycp&OMoiU0-g5Wly{LP%t&+BB#lxAo|IM2B&TsSHmYK?2 z_2Ev#z}Jke+mYoU@EcrL(Q4|m>Wz$|_U(5=FdV)u*15_;(Y+;J==lv{{s=eu#jAPu z3_=Ij*qq!sbo7r_L(izawIK{gH}hI5N>=57eEO(k_b;9|hT9lPX#p z@Xsx1r7Q1R3(AnSD(KvYC!m-B)$;|d$LL6rW2T>57#YE_1e(a{7p*rj!9~EGZ0x1ps@KNdiu%bB(GjWW+^A9-C6*{lH0{t{un}eke zJ@N_5_uwjpxdhlIibT!HUrm7%G{sjn6~i1(pPetba>RT$_=yt2PxEXeeT1G;$gQvh z3_3oX#)Xs}uL(J8!~8?P`YUTOA?aT$>fQr?Q|rY=|B8ty`^`gh0&xE_FvWb!0R~0<{H{ zuJNJL>wLpNF6b<96)4Rr=*p|WI&S`Pvs?v)sKEX%{du_ystc^b^1HOE3BgGvZ*s^=@R5vzMH8@9DJBP3tvi zC$#>bz$kT-rSVWPm9*zo0-tK&eB4z+h)U*JC9BFcnyEuSRH5-cfdYWaph1;J*Z+d6 z`rxc+pOWi+E`5Q776fkfFlB3=lSnwIUzID75hm~yCqj!ngS zD-C@b2WgxhW*){IAUT_}M^b|>y+VV#Bj!=<5fD=)np#Gtn_;4`cBe4DX_$oD5sQ0K ztuG-e5~_k8?75#)NPsLa-1p*ao;ots!xBiA$j{LmD$T=W4kJDS5(3I7f3A`|46abI z5iSL)tTyB-S)tI7;2D)PrnWm@bhXuttL{l+Drc1h?Q%^%RyYDzB~rTH(11LM{i?BWmD~75 zGPjf85%PFwP?$na3D?G#&~gUHIy@qdjn<1Q*Z1eyl())wQ_|YuJ@UENGp~Hgq_9)+ zVPF4+hb@{E7UGYV``ZY1?@3`{s!`Z~iC__XC&3q$=_qV#1iSB~u>0o2CL-8rlfq8R zhdnfc#cXmC9N6fM;_%Wf;u&1K>D`FfZAqMSiR^l=eS(ZBdn1(XIc|W(#0^&-KbNb! zi>S+_SJy>uw_4CT(`J=!o1}Nuo#giOQ2?RnWq0y_Vl>-_9uBmLn3} zI+I-i0&ZNH+^P6pWeB2pvnOk*4PVKYtBjSbHI`fAN%m~H0Q^uJpGcNp=Wk2)IiRHH zN_Qzpaazr@9~s39X~W_rMPz?U0j~XQdn9JT49IoIJvltPz|Q6?;Kz#W(S}VMIsB4{ znU3I&y4ArEGPo&J6X~hQM|l?-+~MDHaD)tQyCLbyV}*;vyQV|`!NDQkNutbdeT~P_ z+)}K%`PAafzbZ5(gxvaX2@?DDk2R8nUi&Vn;?qeXY~P>fI$n$7i4;-zS2at;-{1lT zq%Y9ttX?8T9{#C>HTDIYDXt2rCPk2-KHy)KRe8M&sFX&18iLo2M#e32C)vai{8Q1Z z+@~^C=rdcwx-srNgj2=n{0S9ahLIrUNF_@NCis}S!HFCU{Z`rIL4BvC2%^eCpw=>o z=y@9K?Fi!@GzoKL?9-XxNnN8-b&9ESlwWc7%fKvCSV#4gt#4{e_}ISeNy!+7bgX_> zAm^et*r(np8d1DRw{Dm%9H*fuQpP#-=Ik_{E_$D|NjFk}GOXn{=>Efjs^(_jC?t*= zA;EfNZAc>+iW~^}R&Sc8_Y{V(Eo9d}GNWo#rdY4mxwt+leo)oWC{d59uanj+N?YvH zEL$H20l+VJaE}R2ZNV7fZxp}H!-{aGQB~Oc8ZXv2_Iw@o1d~0#A>)U>XK_`@zQ9rm z$^$w)?t%NB-Aj(e0jN|A8o~&BfEFk!?IocY-S3!FQI%>qxvsNv9NR0tz~UX#VGM;H z(=O9F3Q3Kz)~dmuBEMV>5%FsH)W3K&h%hq?A~>CftT#Fv;jH0^ecJ^GP!&Ky_fzjB z1c_RdrP`$i-T!Q{u3U*XE#Rc5G20Bc>)n)}ZbAP1xjhmcPq)Z@r4c@^lA>h-bRF5; zj#2e4^y!QBOL&{`q1`oBw%n%@(7L6>l|Hf2hueI(%!f5x1;41FDe(kNLY%6dh`OpBYxc>(wkGofaul>rBE2EjlIg*vwt#t zNq733G^%2Qp0iBARLLfEjKac$$p#JdqC8AWw&R$s^^?g6aiWhMPl#K7 zF6eQDSYweB2~qLylM|xE$B!pO#eYmrh!Wx<1mgZgLRe#SgeV!q5$_wr5i=CZ5#m6F z#t`DuKc0*b$NJdugt+NvlMv!N7CDg+ANuL!gxJT&k0->3)=o}{eTat;>`x{V!g@AG z2s^OIam2x62yw_5LVR!nA!`3^GC~~TW5*NXhsM3*IHKFL^!TB1pdVl3hsJKtZsQ4Y zpdT{hhsJI=i1}hgxe9_JoS#gjh;@ICB4ui4jv{|Gh9b6)&auWvCQ#&<8z-a4`+e+q zihR@9cpOERc-|gQks{yn@f6wN`EEQ#iu~9aPmvw45`>sB86k|Q<8^~2GQi0YCQajB0V-xWhPe#Ujh1Ab7A?~3z1V~_8OQ+&MZ z3TFWUze!~Jj32kIH*!frsfHvvq!@F!B07ajIqr-t=-Pt%OWIAH++#TLw4}kcP)c$z z2X}mp%7=)bY|bPhA`45%h2A%qHcGO%iM7ag8Tv-Mtu_2AuT}t5$@)}rLC;)zfb9q0 zh?GUF1g=H`brLC^G@AM1Lyo$`zPKCtrRu1dOoLA!@#&(rPgl{Iqbz+1XU!qEW-OoD zl{tX;s1j+Sg_AXD6m#{3*Hf#g=5Q`{j1Eb)T=F@}xuSAK_6ndD@fr}+;1zLW19OBlEybT(i%c+Q^t>PcnLF2EX;a$!~o}wVo}$8etc7|FTGxU+>D+D=|u? zw`?;j+S&$F<%$TJTGSflSnMGeDzeQYodQU^J)y)~7=S4ycc#Rq?{v-s4&+HN?JHZX z$Zd=g8l~^TBo&Wt>*jnq+A(U#0!G1r@xhjf56n6Z{hJJZHgi0NhRtejAD3j*?$ma5 zP{2K!@wnS%>T#mI5k=40HsM)$J^L%V7igYi$=vxpaUIX!*m}jyg`JsoL{X4E=sK|= z+XA_Q+_o?(seNKeUvecujmc25J%lgG_Ki_V$4@M&+?6zK@{&vl_azyAQAy9Qp3u67 ziK2BJ-A#s*39r5++ulVb{cvJQD_u#rhnTD+lm2{3*3zh?b0?N`iYuvf@{&w^@+H}} zGAb#USkhb9Tk8&)yd;x9d`U*LsHDwgQkGs`zzHg@gqcw0GOX_!`e zFRk5L<)e|aj(EMsv%p58TWGkAyL3r1yii+kY~42VE~7V6`{P)bOS>~Jh?rN~;g-y_ ziHN`c&q91NFUash^6VSRd%>jjJF{iihK}8CR0pTxy zt7FzKrAG6)GG*?%hm})n3%6A`zH>8E<`=}~&$m`6=Q@j{$yRx_qKJagjM_$xHWTWX zHwqUAE4twk{>nOnux!ze_O6syVOMew~_JisJ%>nMxa#u~*pi*OgZl z^TBULi6Tfv`xVXPbvhMu3T&m=0j$#$*Oiwk#Z=OyFc`eDoB*R07E{j=U^;QC_BhLL z<{$2ZM(wvrk)L;@rQ={th}k2?+`w6hW0+^6J2*1o9kKSvb=fTgP#_*|7_^^j^>Rl% zOpoxB47=7Tl$u*6|8Zeg#)Wv{)L*INR$W&y73o>a;N~sd2!58E{K4`Y-UG&|*?M6! z+)yQ3=g!jE0Dr_ZLr^}U&+@33doU5<_os+De-3g5+3hC?#-Q?+&$ z7eU;;G~$KM>FHxJZ>|^FthRLh8sVjidG{(ld$o!R(lS|1rqT+K(eWaO)Yn>`)CPmc z$hhCNK)5deG#P%ew}Dfquzp}2qC-Jq=C(w~2v3-E$uzb*^Hq>e7XDNn2Txdzp%5k# z1;M_P98|WA(5(gQRk6{wnG;Q}ra4^FSGL7dX^|0Rs;Cn8aUzJiI!8fG03xhrgtF+P z6kxig9?AkvN{Nf$;$yfabN9 zHF7gdT*g5d*Q6Y`#~ho}2QJOnI^{Sw)}@{zpJk}FalsZ<%UrvSJB`xI5I{Bz1DAQ~ z_})Ej8#H7K7AaDrIdeCW@$?tAeI|Oe{=7{PR#-vUzjw{BLExB@dEyJW1TgH4KsGL| zohfSzJmH(WjxxAkwSXAkWZ{mR4-KTStBL@q8>8rmjpyLQt};c2t1DcZuh+_Rg9y}= zforE*xXo(ox$&Jb4QQ!r46Tkgi!|uq1gj_P5|>e(l^k}pxe5%gm`2}qF2V>Ic5PS4 z^Sb+73rwj#JB<6FO{0mps|_@D?TF=f(@5$T^(~Bg=x@J;yQ6*^B!*SUOSnUtk#KRu zu*Vmqrmon-3^i`rZCIy5V#8ddJ2f}2#fF&&2zE890UcHr>#A!{wFQID+cb-I*x&-Q z9}-HYRx5*dv2?)J*`xO{8@hI$id6FDp!@Rx{;>{~w%1~vL?dvhv|R>wH1B{HzKKI6 zn@O;tOE0FrtZpiKIe(H1OOaotT3L#k$?(Ld&dy^h(uJ+#`1N=1tqLl%i3j67`Bt*; z)GexXtbZlLBl0;EWtzl6!d|L}+fhFSV}Co!)q|HMo2}%3=sx)svQWy(9qVf;0`rLB zZwV(?9y5oA-N?dH(7yo|T=gMpdl#Qeb|*DiJsfmy0Z=DbbEBqA(uBVPMooBwei_q* zQBvWYDIcLR_}8|Ns3${fM&#HjqS&Gj)pzxV54V=`yzK2F#hoIBwaQKA^7G^f5S;5f zCcjfAdSTkZaE-h$^@8yvUYH&MWaYc~U%HP068T^H3g3awRsB6J=M6z&jHS7!^#{rt zO>fD@;1m~DdP{c8xb(xK@@ zMEPS{EvX?n`=>2JqigY7TF^Gc6<3&6QnrjJ#SD(z;kYZntsC2sLf z-BLw9rj1f!(Hvf;N@F&~XB#luit7=@ zDFv6Gz#V?(-lH%`8II57c6eR+Nz_pzB6j>pKf{!1!O#TQ?AaI}Wq$iHJT^dN(lh(9 zPeXmu@wMWDC?^71P{#_gT1#y9!{qQwEKMChE7SH*4k5|N2I9)%0#_Zvpsn!P`9O~v z6g98ZULwJjuk;yjyF1qGDVj|F!)jr@?ILyBuU&DHeODQij4lRN@T+}TseX0Qo;dB8 z6<4A-R`nALu5=OGEMX+Ldfjv)(q}-kJ^Ls}F9|{SPQ`X)U?^-K$$OgJLh~xOKIcfN zP|C7O!^b`X+DNu~puM8inMIs;}>fBH6C2<(o2Pez2MA1R&_2yJatE$OE5I zJXzcZGwCSYrg*e(wz;IhVILk8B?vRK zTKaY$7Dj>}_Tge5hA|EPIuBps!)tuF%!ilzaE;~1wnT+B`oKa37WhDm0xdqU7&}Q_ zD%9;l?e5!%m%?1%E8X|=`d(w-Qt^o*PLrpqQ0ZOot`PF88k)nKtZ-#oOBfHywqbPI zlv$4?(ns!t6Q#Z5_IfUpMnzm^VM#X1`qfRY*hXO}Occ+~4JqC2tBDp;3b561SSe7W zfNE199#7fceV#Oie?WzS9W&~9j&cGk%DSD zh_uqG#sePg0gX5SmUzIL@qjP&y4J4oRTq1}xCdmXW(O74nA-rByR4>MUv~Wqb6C)W z64%pO3JoSx*&s^q# z3-a*Ee9nNKGCaTV*rO_cuFvAes%t{#Xv^YfBH0|d+!4dYF^LL)hgY4F27aqz9V3Z%opCd=ucbG zUQvoJZ!IVl$77qdM`P05E)1Cm)Fo=aNS%mnNyPejJag8w~ho$Q*JQ8%jU^|!V-CDyoNlH&m+47je&~J>EglGxC3&o@4g)yWB>UWoW zndZx^lc&`xg82fLvIuV?%Y@Su=UQ`c^Mh=>@SNcfPo&)8!3{bO{Ry|8ACuo8`~bm{ zuBqIXUWO58pRPc^1k9cC#S_~ZpUKSjb0dQ?kt4X-Tt>AhJw4--$?!3tc{dy@Rj|e3 z6v2Dra*%Y$C-JrfO|X2`^-`&Ouou*PX9J08?2la;G_I7nOqn&d6sS;OyAR}DNN0k@ z=(`hSSPycyi$>>vnxpbGfX5C~o%IZp5_BKHB`fu;NF$FwbFegYYTvka)LsGFMyd}p z84V{iVjiWL3Aq4u^(W*y8t+#yCDRlN^CHYG++0oo_b1WV%DivAo8E+);6CA}H|Fcn z>G%0xIUplJ-ejriH&?i(kjy3zY4iaynk_Z|8YH(PMyJbbf!0+CTWE{~T_+=(Y3@@2 zL65(e9u5UPj(X^(^Jm2TiC}b^i>5u-;LPt7n;Q0WckmAO5Bq6_Zm)8GRs6Zs}uNEv@@f6aXPVJf*|TS5w_{HR zYmS4&o~2q9^O&euaE>$cIXPqNAC08T)F&`erI?60t5NpeF)>juo#L3NA}c-QD2t3? zBJK;+#mvsSMuovV&R!?z{PHZlCljk{*j_Qnz@We1QBf; z(udTlRAWZR0>y#!56)GEqHU&9=|T5&)g2Dgm$sXbzZ%(Mhn!YNvmCZmj;gw_^{GTh z|7aJ@?16lTC)t zf^FcaD_M3nHJ|{8b~Qm)H4_;JQrZRP9Z1=LW%phKAlNT~#-P(nAbZM)Ij=Xvbu(et zvE;1Y>>IDKAKmE#d)Rzitfm4IHC;*@P(ul>yzK5>_UsntTZwR&wxthfOKLAF;KDNK znTp2)(-Ur=?rvQ3a46a?xl=tGWaWi$HI&|qsH(93MwA))Gk>pnSK1Zg`WsXAH|DDc z`^6+@1LTt9qqY2c$46JH_6F5H{edM`d&7;Xvu~6; z2JigY3Z&_ym&Okx`-u}TjSnVL=M>kX7NLF1<%0|FaPLdBzh#GRSL^0dB3)M=DKhjN z%0c)<8&0H7Els43Plj3C;vJbxHJ0LihcXr&YLobh9!53dEZb)&n@{7I6lwL;CQ%q;C<@9JRdC7196NU2r$&XF>rx~@wQQx9R(G%M zM0bBrTk%Qm@7=)w9_Loqo^p-FZqs^d^^np7<_1ixM;4rTK3&=w9AC`)i%@nQ{JFxBl(_ z#9!;yk;GrbUF%X??*E+bTJaEpnp97Qyl7wV;I7s6-@E#2y(-UN>;8W=(O>JbbN_q( zT7!eo{{4^rwSM;?*qlY`zw58{4LIn(@YlNajX&01>xCk%#xNdp|7&-x2Lk=yaMyat zpWv?5k8fM|+2H+2{#v(5%KX3Luk}kd+F9=>_t*LeUFGJB|H5CZUU9N{2d9uhXDOxr z+5NSm(ahZ!Wk=b*V;h|*kC$xc+L+zg#&SE{sTy+HQ_@U4NPq2ZE%PQFn3{LJ+wiBq zwmaT2gj34h%e3hqRypL!@Edf0Mfdw8Qn5N;sm+kT)Bb+8)XtDf_d$DsohIWTePFBS zQcTDcg696wPS_WaZdVZ{XCq&s)xAzp{8M?hrOebxvp#ddvT zEFRv=<4%PbYOqsr&9ris3l8`j^&6Z%$R2@xICnoRKO0)wH)7vQ3XOOLLNmRjun5_+ zkUN~n&lYnso0;{_DvCI#A(xJ}&^1+ctWi1cHswlv`rDKuIk?QnX?^zwv>&#qpiEih z8d_f?^a0bQF7SaGrL_1!nF4J-P^!R6 zA81lwjSoa}F48O>2PAc>XzbwXXtk1@5A%xF(t3EgZF%#{^VcqVNTjD1U?I`0)f*bBNH5+9lcEXf65K z0@WK{y#zAbxZ$8WD}4&Ri7~i5VK}!22J|xzRO5l@R0FEY2kQ1fjUGsdsHB>FpuhJ( z3p@~58ceaHi~c_1!yy&+NRYA|rsD9kS-7`aQXE63S|!64L*!dwfCwo{EI zR+^a|+5`g6HU?dfy+v}gJ!BWVok5C~%CaxZkxqs{u;N?nSQOIK8LXIB{}2^_=+ zv!g!vU1`5JIc0zMGsTpWW_=)5CWBE^n8L181-Utv$8iLw+;T0*M8TB_1=2^()uf?% zV-2b)A8Lb#S{XsH`!T37x1SbZ~UCZJ|*Y#h=!I?N<6g$jfPw>?xtFdyZu-`OEuv;Nbm)M%W>;ixFho5 zibvt#*s*Yhd2l78aB%HdxJS5p6V1gRik50P1HFm{1a%34wwF)QDhAFPKb=ZIZgE*sO= z5l4*a>#ZIt*Vhq8jOpv20A+ohtbSW%t^qOLXR@AF3sFvLX+9%e{z-K;Johk~;=?yoS@_yL|ju)We5{Wd)qjb-bs z+*lsdX)oF^W;T^^^Jwo$&-ISuS^bwgZM2r<#>Vkn15_Z_Gg1GkXBuK}#YjZgqHl-C8GnL3cDemu$5ecB9Q$3bANyJ^+y}xf+4n?YH5P0xG;9w4@xPjej1Y5BarU#e+ifEUU5RU{ zczV5^i)d(Oo@^EGnBQWi(Hz6xxrAsWtui*7@Qd9zQ3=`|lm%VC*Oqxu{-dH@W)}kF zE85WZ0u^m1gKK`mRXw!Y+Wh8gwc)oGqVk7anV7Imk;b3|R{Fr$Wh%QLdhZ-;-o*GW zOI!9XjgY9wygcKIp3U4Xu!++_*q?1ex{UfK+S-qQ5aV|=o&hzL%doQmws%iXHcKsD zV`2BtBNq$U;Vw zN<;NC%ho2tp+xnzrJqM{!TRulrHM#?qqj`bGlGWjK6@4<%)|?)P(S+S;$%#>2&bVj zWPnyb*oyJ99!1|gC0V^`Q7I*%3|{u@D3W)aiPsAc&KP|YV(gxwZ;TqR1v+nu?!zR) zo$l%6S9L39p*k#eUe)Mzm?|yUp;WV zDg_!11U3X_#LatfFW7yUgbC)eQK`5qF^k3aozE9h8;3ysW}+x6=B~uZzdx_+2FtG$ zj9rQ0ePtlcre2WYhHXNIr=-IAwxF}j;M}E_>aJdrwsh&)`GQ3UM|OYJhF5pE7utOh8l&qO5?MU1(Pq8EUQ*|xKBIOZV|q+jloQ$ z8uJLdyg^U!c}t7Rm}$oB@#@!uUsw}q=`ON#49AM?gGO2>a!WwqDR;vuG<#9%nQiuu zLHciC1mhD=4P5~cZYfuM>g?sw<&(H>wD=n})tLOi9 zTAJg{Xt6@QltHP>Pu)MGSKBrSS>(ie>gNtk##(EZxVYgApGu~##6|p$p`w+X&zzn< za+Z_$D*gQwj~-9Tpq^b0Rw6P_V%@I;vkGG{KFaK4<{dmp*`@?BEi|2hPS;G66<4CT zW{G9V@Cz)ZR}N%u#iK~F@JH$pDhO6wp^xzQw56CYY-M%YLa4xnJb8^8o~kRPCjjC` z`*9b}Vy**X5nruUTJ=bM}dD@URY;qQm`%gsaXrjK@2c3T3K2E=TGm^Erxe^I%}C#o?2 zv8vRUB&%Ox3K+5*%Jl<@nfG({w7enAWQxtotG;4v?-<#mt4#C~rpQQ0NIGsvOzf## z7e)P&43ETbfc4Fly_vsSYyA>eD+@Qc?s+V@<`aY)!dH_iYk2l-s1(@?!!?uGFxR)m zJHF61OpDqWcOrH6C#)u!_w63koS=@#{LPoN)$^vyz&Qh9gO!bz@0Q4D*?Q(@h4f7L zc;;)x>Y)in%hr$MjFvS!Voa?c&@p3pFj8sR48n4z?d`!mnLBwpS*V!NvOu?VsjSFo z*`RL)+V^X;-f4|*-!VuR^2T@x)90dn;vGwi3tA6kkymtX*>L<5@3^9*ARgYoXgljl zJhhB#!FyssX9HT+1VRTsk9QNijOkP7%y&5d^2lkm;b3k1c1CpIFGvKPedOUfM9?)1 zwB#X9o9C6!G0~2{^Y?oCe3J$1%I6@5&B;G;-l~#8u5H%V=*ame%n*|}Mc3t+JaM!Z zr;p>%_*jI-SA|BOp^-E+?C<>P=Q%V8A(Dbd-oxOv9If+8FnQ``y=)>Ohu>!klQ--D zI`0MWTD>@m4qy$?lBy)y*G|QfEiz7YzR)DfttCl9IdIP6PpWz;r1UReZ7+*G#buUt={46s(lUix#`*O0c-11 zL+Z%#Wa<;LP!TTi^n9$0(u>M#ZY`Ljrv7f7eszhlMxwFdyY?S6A^ySiSEwB`YX~!E zv8Uq2XauiRYq4lqYkks8bM=I7`bv=pTJCsr{11#!KEts(#MC=<;KOlR6h8lJqjWTJB&{jw3Tmh5Mv zFci@UwsG8az{}sYeG4HCo$Qwks*M~45KVCN^|$HJI~*J#jr8mwa1l2#d1jXF{>>;u zU7`RJ=m|`uqx7sjhe>>NQoEB$Z3OJ~o+O<$OpVAOe4~WZcgJo9BmOt^pdA`fyc(!J zS-Oih+XVtCGWHw2)3d0&Dd_%)^uysx>xwPu(RknM`{)ibeGw?buf%6!A-%gHedK$SGha#0+$koNVp0csW&9@acg+y4(8EN*&9Cu* z8|`G z8NnpdGv*1d1vuX9RO1#WV*_#{V2!2r8j=8`IOdwn@r>el2Tn8)EWx1lAZb(LlIhbk zs^USM+X-Uu1&VI*(_IWZSBRg$-GBEc-a$}WSu#D3Cj()Kuuod?^o%8nZsbwyo1^tF zRZtfjs0|C^*9muSSJchwZRpywlw+DD<)ys0cr4bcb9nY~&dJg1)Ja~aepUsQChQeM z-en(Y{e=*&;1Py5ZBK(ZsmBZB$#n84rd!4rwa;x{dD;aTYmL%JiW@sty?`9#LA+7aUL0q zr@vOF!G2>DN7t-VCVqQ?(X-`i35y$g`OS=6MR!nx0&>r#{&tg~bWzMKS=46skncvC z<_puRqEb}qpnjo7r3Tdi0qbf?a-7V%(fVsu;m$fT*S+x@3kbnX$^xrA3lHklcd?4& zw@tqtBl`!}oFSTH&((d3KGN&09X7-J>HaZI@*;v17;0o@(}mQ?u&YraK2c#cPGME9 zMz{E|GAX>=hX;MwkU@IsE@Y=EmNu-I2Py$5SlNIQs{27i3+1&kNvcqiSiMTILQ8=f zJFkIE#9|JZOf6)&;lFcAd45ux-p)NLN9xH+%?+q~IA5}oUPz{oJy)!;(t?j;e%mO5 zvtdt4d%K`idP}1L06~wrlNW4e{RQk+I^K@eVlv+S9GIMzE<$1;S3|mdZ=qEtTiNti zIMjWVoz>shg>N>5&!T=EI?C38*C$xmN&BRu>9VPV4b?A%n}W`3C>I3wvBlMl$=6VK zgp%QLEO>+uxz~dxxs1CPB}iTPJo$3!!ctpc_&fiAzIk3D61A z)w~(qx#7fz-8Yil9O(;J=j5F}FsjOajAg{;3BT?hoC|Lxy(NpJ;?mXMpmU+2bNChC z^7_J3n4vUZUr2w~g?s9F5yZ2sdu7U`+P-I}2R--j##CMU`>Gu>*1FfG#2E0NmlK1V zy?Y-#SXCs`MR9txIREnb@Zm_r!HN14bY7t@M9Tkbe$!W(clVsX5*m$o>_ac7mH^c zUu;oqb~6zcc3sz!EilGFUQ>EY_D4~=Mg;_0qQ6Zi{`E@Z6GFx(dy&a5CTktB2@&Db zCQ7DOO^7=9a?{pBnOji=XZI$D+PeTrcLacFw^;jG9*=i6PRa0&WVj_W#GZ8Mp=hp` zRQGSM=1uq4D}YpY;p_am6}4+GbiCOc4D*6f(eBN7#}0V$ayF|wgYJ2@I-%j80$kx^S@oV3_=OO&UHzHHtgQD$~xJjndZ0^|y z&ga0O^S4t9c*>$=`blTZF`{lDELsK?F9j8}r{wV0(s}+dtXIxqsl+ZCtAme?_R6>D zgwxZ>0}AY2#zbuE&=HIav;>oMfHdCL0rBeJ1)WXg3^$@>kL7j1eYNdRi$;2vPCf9J z0zv1iU{{Y?vFlDg#`FLrp$A@vKzvQs1N3n3J9dHI$6z{Im{0!sR^r2yXkVk`*V}3{ z^lTuR+G=sR-ag{G;Ju=+1*$GPuP)r^IsoqxB~cITv0+f-?7mr@XAJ$T8~<7dsr7U^^Qi_!W{z z$jpCi6d6im0FkF>Pv5g8Qy=u*=)q}0(0K&>Mu)bR)u!3K=8Ccc=fCZGvyK&IM*Y;6 z>R3U1J;BjDuz2b=cUp44XXdW+*>>~&8RVwl#;Y%?3_7zEkKKMnrf`@E2_ftn-D!{| zzbyLk@fh!)>%_U#{>b{0mM%ifeaRG}KxQstdZfF{;;D-&QEYUK#NOZAv3-gjt(bjL z+48w3=pf>2rI{bT=*$1EYV4m|3gHU6o~O97p!+eaQ`ZGHc03u_6TQ10?s&4W`nllL z`#av=CphJP#(!s=tQ~K}ASwTXs}@;sN`Fle*$Mxng$w&@iuoYC#KJ}WHPetQ34h+g zd-d0pFg^*p;`Z*ZnIUcpt~#3Z{+d!In}T05-4;~eA9U7HbZwYL|21=KUHH4c7pK&v zi#Cu*r}PG$lH1Z}@)r7+r(be3D#`S*Ygu__q|cn91t@)Hp}h}Rs+FCHLkO`pLYEV9&W$A_Sb}1AfKjp zxES*f>eHhmdCGBYOZEj~F-vzm7ovjZ}3w=j#FrXR+(q)B5z5xw9d~ZI#ht zYwvb%1fiDfuURt3&I8%Eh-zNxhmI{bO+yS1zuaUGC)w%_U(8lQoLRSL%b5vu#`I;Z zA5N{x4oSMnC)wqHog>%T=a3f8EzN$KthVdSKBh16O7=c|iBQ=)^d;uX_UcP)m;Hsl z;H-k|O?+j3^@qW{?po>AdyLt5U_13Clr?WAQ(r2M_ly4+CZ`tr-xB-ndVbLd*(oi0 ze-6)O@$bfWy^U62>0X%y6zyyk-sZS5xW?W$p>=jxVZ2Q$RNI9?6#JH176XC_|CCRdh^2qWZ3&^B0sNd=BFzYtbS3 zNF{{SZA*(YcRn*nPib3sT8YeZgPUJXRNozR7OL9R>`ZFtH=Kj*46czMqIkbZW=0$r zZ~}D^R$)7N?x$<#()W9Q33`%xDUR)*#!2^~VM!ZTHv4H%-hKKx{68MM&R1UkOL?CXGl z58f2R&6zJeM+%puj?%DYx>nqoiqq5@w~yJG8V^(qQ0ASqurRIDG|t6al$P@kd7TT5^$)3&nDPE0_uEe` z_WmJDC@Sb&2WRWZH_z=O8!Gb;`8Xw*f5?*sGwL5w=T0Iw$k~CO&cf|5GU$9bAUb!t zeS$q4WWLN;eNRkw>d|JFfO#=QsuCf^cXj%rGn7ek5kHGhj??%Qj0&pzL)aG0-rHdBF?Udclm(@QyTFi7T&T}o;Va_-??|(pKbN+xhW)?86 z8iSjEDvXk;9|?)t-)I6u;j-CiJgL)0PByCmMe``HOEVEOiW5!82-9T7D{rjV+3I2j#hj-0B-*d2kl#T{$+yUd3&s zun1OsQQ0~+h+%1C#Wc0ilB_AP);guA>6~4N0p2(X8RJu6(1Gv3nS(nwaa-fzcuSMX6a(zy{>bXMzEZ2*I9a{eg=}Pm&XXr475dKJrUOW` zhzM?e*zr%5GN4GdC&Ik*Le)0P3C`(b&aIc#kaJ}yJkVEf36}qzxleT{=Uf&pCmCJW zC&75cFmr{4k@vzI6)9f}U29#kwJUU{Ag2ww9TyUjayPWUSM91qz zm>cxPV{azp&cf_D&k+SUGI%w-|OLF~8N7mt^+;<`{mDQvnY2ca!yH{ujhc$@G#lc1PX-%qzZ6yqy;Po1adwRGt%VaiD8L2bsj*U~M4mXDV ze`2~6eMauxj@+v#scWZ{vjtVHAJMz+P~6kaQ#_yG8${7OCCA9P-U-ef&e7VnV}iR! zO>X|EKS%9sEs=SiJdLxfjeUd8dm$+_6EDM0;!$kZj5nFax|p)MG>Hb?HzQ>MP(i@? z_&oG;pOSL2&hIHxtzKbtj&rZ+7>>dAm+|*0#}+zbcn$_0(}X{>zt4xD!u&@>3L6~% zJN$jl65r?f`}`c!iVJVic+T_psc=j70k&$R@GaSwa`1hY{{Mr&&vdEAbK!?B;2fv-b32<1D;!qX8FjxbF)0dpuQKGb9<*up;HQQVv;9j|o$*RmX^X-CI{( zT@O|L8P-Q9aRp&BvN)h>=pWrl)lm1l5Z!2%Eu>5)X1Hw0i2G{EUc%S-1)=GiHLNkE4AaN%3BnKZ@s208w#ic$*PkUQO=E|MQ+oT61hzmrJT%` zZc?GCYlWLRdeuJVf95v*qgSid9zQQ0dxO%PbMwVkYvlM`Xo9T?fYoLR99;9mS1s;3 zCCzje)X~oInrgl4({9_#u~w+RfA}|;J8Ea@tWbyf%JdUC&I&bJKh^Oqw7yC7aD&M8 z`_zG4|4)DFlh{Y5k3BdVP8v$zZ)GTb!VlJaC?)LgdvSWlv$1q%l_|?J)BCbciW!g; zgDxcKdA32h_h)P}iQibQ`}&F(!iL@R%^9>YUh!M3=iiQa81CJp8%Z zi&|a}ZgMK4YCzayD0n<=A15?sYlzDgFNUjIb2(^Iwgz@S>M4KZ?Ql+Y!k~6 zapuY1qBVoJnM}>SX3?5amvzo{W~9y;ujR}+;~fAX`wMdTjz;`9XS~+ek8Go_Q91qa zQGO@dwHjxPvum|c+3_R&2rmnIC&7mbuN&_{A@j<~4k5E^708w@l@-~ws_yKIFEGGz zs$N^4YR|zrYwpl6bqXfo+?HB~_WtO2s-{$%ORRmgMZ#36hOHIXuW^;gcSQDd_C6>MQPr zuv|CXDiiAFV8%V@96rFk?~-YiJiQYGm7ZWd(OG%o_o%@bsyV#1|RpHl^nHmr#IyhDj2qt;yb;f zVd1LISznm$l|K6z|ryarrB}=GzSrZv%*1^tgDLh1FF*Y`mce%1n)Sn2k4N;~my-yu&o!VT`w}Fjn;>;|-;-#;-ey@28CD zM18V`?{gULa)wJd92{kE*!N>qZ+o_RPisdxur|E0c01K39|~3mr@S@9cw&~<)o<$g zvz3d+yU>)60Q(%i5W%7E`(Aw?z}kJk6Ih~_T~)s+71uWwFWNcUyn}}O#%*R^l$cZ~ zt$Psg8?(|5>BrIjvfBsqaRl&%sMTTboRy|aVuO!jRlAntM4S(HjC_ukhj;z;i=d|| z2h!$+vPeia2gX#GJobzW^u{tdDoLKPFP`@cJ9bC&_g^vOmlzBH4NuIZoc_=(& zx_2IU^GT`!AvfsLk*n<>J{;QFN5qsILP^l>BoOst0trs)WRgP^0t%o?XZ`aE3(FB3 zkpNE``s5GC=EMu;dx^u;`>ID!dD3^n#KkC4h<1G^9a#f@z7a{Dvby@sRgm#UjZW8; zwuReMxlJ!I!R?SSiaXRSE_4pMxTbE%xKrBp)eZm5Bx`}s(Ma;1;!nZT;8g)nMR`v< z)%%+I&5#EQkjH18(KjCGX$bE*zA7(xY`Rx;R8E6uu-{Rsh%|p%+K4H==(d4P(Y+Gtsgd zd(M@}DIWt3Ie(x^W>{2qkr)Ch=iYGDy4k)%faE^peQ5?SsZ+&@u)53uDqF!$z`!6Z z-bXrg&CgtXlqS%nVkaABlwMEMxoR2Va!i{;1;mpeE~0VJIwCNTkOoACrD3EuO$KO$ zO>VPUouu6D{V*6Ujui-vNXEVb|{;1usa`{5G2l`JY zw9}MFe`O(~^tJZ;tH8+BSyU^30p5J zBtByPbq9ORU!gej7K=Z{!n7+Tw;=5+WRY2(n#fDXhobRz&Opy#`Y@g&H}wg<%B+zA z|B1x^I_^9iIXLau@MY|3Fk2nH{;+hsv~qeAP9FPTWXOOfn&3*yud#xD4W@G+?_$ZC z+056t2dY)DsjV^UMY~!-;5BWODfCcgu~O75*qbo>-^if zUh77C+Wbx=ej&qI5zd;4d10)l)9UeL-ce3Ju3*FQ`kbD4R(!NwPcGeunjeF?e6RUo zW(NpfT=3E2qwQFYK=!|mkM`X)OA)QR)RsW&wy#~BN*0xuVst4q2i*o^C{|PG@stwdubCYh{hk|tnyOU35-B?@0R0%H<=}C zZ=Ue>rFV27WQg3dp6fr<@6O2Xb@Uq!olN(e@T&zkM&hxY)D5Cs(RKTlp)k&H4i)d- z&9O%6Sw_V9XYv|OTe{Gtue6UL1kMe964|{M3%8Dxc6la`nBCRMRF=A)Y3&;iYR|e) zY7C7zIkQV1uGV6C<6ixU620gfsgo$rplG}#C-upGAH#prcjuk|Moqm)%?Qn$piJc)3Ve657`)N7fNM_Ij!Chb9%tw;WQ7ktelR_AB&>zzG6R@L1Q zGk@*G5out7iCk1tyv*Rss{TpWwv*qeeHqoc)m2q)4~N!9bcLjh@mJJ8mcto9Qa4sj)iuC)uqv@?Xz!_U&EeYXfHI zhASjL`nndBDCDeFlUN>(j#a!7saOpjx*p?RA!xgGi3&}S;^_ZH`j}aeG^+#P9tl07 zm_@PBBhk?MXw}O4<=LQrE_H)&GL0{N_!!0#VT{2&mYgZLL!2OIZ=~t9cLa1XfgNnn zaQWDIo-lI#=9NKBQF|y zHB$BB>|e$narxFt6I;wf>ZDYDS0-ggZP0c5p1dIVN8;Vtc$3sdzn7@mMVM zCiEIL9BGKqH{c$NzpPD0cOU#Uw#4Uxetup3ER2PopFW;GzGl5s$M6B>BZVXg^{|y9 z=u7xIv<=w@Bnd|u@8;wd4;{PBG8dFWJj8_B#b z^=YBX^m!|@5PWKJXG2&k_t1h_MI zPSD@2uPcLKam>IFWxQ#tP(SlQNKe^AM~%9sY_v)zcvITRuYK977OtC$ ztEsJ2YK|zXuAk{M)S%1rcqklErsPX{JXBBX_->aT&??p{yJ(b36n$D;YQA{NLUbnR zb_x%-7U(=`6Z9u2Ez#gD30M8BtPv=Bb3e&(nF3)gkke>alxqi+uWDw>UCxhS$B?|j z*7nQG<}02aB`=4|)5grS{19bzNE|c{j#UP~z5pHL1#QvLR%2%;z|M#}*zL9I5OgHV zX|?nwN6eb3|9}#Emv;Mz+65q z3{M-FJ4U%PvvZ@|h8p75jmOwRd2@Bf0B+1WF`RoID~Aw5<0;rxp!S#6Q+O9_0|#>&-n6^+(oXommv% z{0CeSQvbsKrB75bxi^rvV=U+An-(J$*J6I-wlPe!7DFjvP+j4S%A6rLq_(m0z&k!5$kq5BW;oNYss+~t<++sLqiZsZqZ zL0v#6xkIo}oKp6IxbL1Kvd{q;r3Va1^gU+Z8A!; zi{uOhP1P-N2UlKAj=CpZqFn0?%6dm$Z;&_7)xlUcD!b4+6m-mr%KfbGTjU|92UMOW z!G>WK)1XzB%)@TYX~SiSi(PBb#W@tmqa9OkWP5$DfvTSZilCtB(&ahU3Doknq)|6p z$9z2o5vbKJQ2c^KMjS1znyP2K_>P&4DOq!d4f#UJXovCg% zQf!_JLSb>6yA5u~_mwK(k2yY;oL0Yt!IC=wZjCc^1aH~ zE&*-Idla~`R$|qZUgd5!;q5ssH?_o4^=jWFxBLyg|EvD^%Conx>P1RF!kWynlC;`w!?&wROitqyRcKgLX%`|A6jHv+kIT z6Le?hpxsgK|7~}&)!m}#s6&&>Cu%77o@vp4}D!*bfB&U zFa7~tYfE>{9{Rf0b)c>VFa7~t>rQvg9{Rf0d!VibFaB@479MKL5?-JzB}6&Rk5#?n z&HWr=q^{0wq;K$F)Q7Kmt-mHg*n{cwgan@zZsvoC0Y|AW91JPHs@(tE0Vp!7bb728 zr7S) ze9@VOQH0HDVHUw#Ds=>gcvy?iLU3@1gjgF+2VtMPdXJ_eSiQ-e$vi1uL5clR4Gwu; z>&JC`i{#`M*G*osH;@c$b_oZr^;Jf@TBkS*zI+G|T+!5S@@UhCU@ z&C*9$!8LB(Ywwfu%MsO0qJI`ypIwqy`w0KgSDL_IUR#>|x-$DUWy@=;vtQR_zoy>u z+G*LZXJ)^q-tzfE$gC1>!=2Rwwg%<%7Yr!0$kKh?q*LYd+XfUeMvzq#8;A1w-2)04 zNd|>Lx@t!~8M4t8EvVs6iV;z|>a~Wk(cA~^;FAj_41VnQilx^X9D-B`Cbywr-dV53 zdkTgY9eH5VF}hHT^s+F)hrPmcfukD?xO6c8#ua+El+(0@$;ovgnxbPJs(3B0>YxS$ z$`?k2`ov40u?fv2#x+coa3$nPeGE4_O?@mbZB%zeG#C*TczT_ELhGfM6RfVG6 zY9aYx*~x~gt|du;OUO5my7Y#mFxZfwD8rvAz;Q&rYFT?!=3DVg%gRZVqR&G}4x+}G z0864oADJjkqEHDFaY>+p52WLGUYVcU<3O=Ml`wS8xz~EHXonrlJW?co5m1g*fq1J% zIJf(&-bNDVW9z|24~kkuTG8NUn!2)mGctT|aSZLwNVkhIP#55PQ&EZ392NX13x z2?wV@D!f21(Tq+r5#4qg8JQZPTcbl6ze@YZY3W;hxd0KGhOUc^uH{});(4v_P?jK0 zr!ZgAF22TnR{RiubR$1cnf(Of^)eLOZ5)LZ&gjOvhohw0SC!zw5-%u$@s1KxsyPV3 z2B>xe|2pfJlCvco+QH8z{$ceo<#CQsYRhzbQe=N?N4%kD`&(PQOV9SVwqU283(N*6 zTJ^fuG70>0gEB6tE%c07GA|dv5ka#bE0pc1Hr1#y`tw7K)eL&eiNuWt_k3f8!ZIL_ z#aM7GD7Ts9C{B_B^k99nIpn@ziURyVxeWBQ%`xOk7IdU%l5K)3m!7Q5jxaMlBbI3^ zvw+H?@n>x|u<$8g({RklHlV39ohdrUlcfrf1(GRp+?DmX1nnH})nYv}UN$t+Ekwt< zi-PJG%k&}|dMt_s-PoVm3Q+$eEF{Lz(|-Dcz#fM-ZQeEMn(GnT#*)<~ux>Hu8f%XO~h6Zfu^4nha8De@>m5q}>-$7TnXp5zk8se7uBm z`tLYgeZ89>g_z|@+y07k05pdtulWM9gNy#~vy!EyX2kok3(K2T1up6-+cuuTdB-W+ zRf-Q}jA@VYhbsBj%)!hg-D{qu(oN1t*K7T}45AWdo{XVwiOP1EtK~kq}frp@T zvJAed>8qHJTEaoauEJ^Rs^ZC}kf5y{Dp#OAz^c}o;0Rb=si`h{f=%LX)^P1nC`QNg05xPCI>c&yXUE20FhH9 zLa{E-!<$o`^OC=zJhtxEQznc&yHmvl*-p2DMVvEp54skMqYk>FEmA@ECU%;SV#J(M z&uR0+FVT{V;EeNVHSKcYcu#^J3N|?n^}O7}Q_v{RwHVk76pX1xAWAH@p(P%gqs+jt z9;zSu;)xh;Yw0o^V)t6P~tnAJGX9v(6<%I&@Mu*rThtbsRzBUZT6U?Oy;(;?{m63oqcabEB8;!L3 z8@liMtqk2QEVUUwtMmSgWDYQN2a4TP&piLT`V$Pw%`<%BGQz7`?+q|Uf;P^;YCoPH zZWnbRUUh?n!I0JWXhnBGLA4q}5EEFGM;vf`u9ayHst+~lG49+Nk`o(ww7JT3XMx@a z_EQ07a)9c!?luX^P}Ly~k*zz-GtN5Pv@cI4S6J_gT&P1=UO1%WbUCy=;!Ru$0tbtS z^R0~sPT+1J#t{~(^#JlNs61d3W&^ewo6U!WFyLDWKZ?4NSiI4`NowXL{E1>6BkFSO zD)bho$Q(+#(CBErlf{s5z{^mMj&&i+?Hsjb2DNz2uQI0KycuP!*GeEbSY}c$v9I`C zH2Kv+X~N_u1&?4cFD!m5@btjMIb5|&7Ti&`Hn+A_=dbdbA6M6#WaYe)Ck29-#G3Rh zVM(wOE|!gM0aEWO%vK8XhG4@T%}4Ei)Py1YMZsl;)<^2a(PS|=Y^ncp%^I0C7qe1M zDITdF@bT1Tk}If5_jK$*2tYgE zCegTv_{Hxk2ICj%U%Xd(P!=I#OGi;%2P_8`2Jdz**Jk=Bw0FICgdaZz8#LofI`{~1 zE8#+|XAQu=Z;L@Ctp0?8NbHV&LWZuXZ$b#1k7U`?6zHJG1RKOdXWqTcP>`^l-KlS> zCi!U%$+>0_e~d5C7h7JM?$A#!kg{apk1=r%++@*znLkD)@BQY5OS9JY`ltO{c^U8@ z2(^y|eeKs2#Q);ccP&ldAAHR?Y<)8~8i#pS>ouCNraSbb*7chfLxN}#P6SC^i_;7@ zN%)~m7gV->yjQV!y@hv^PC zU0T*1idDTA^Um1~HF>Qwbi9nED{SsvF&8cfpkOZ)vpGuGmx^8Crp*}YV2?y-@fLaN z5F3-zg~tew8BKhH?amRP@l|Yyj))~L#D+vy=&d2EhHh}7RKfF6ED|IlN0VQ|*knV` zC)p1`Lg;?lNUyh9gp#WFM5?yd)gXuF$6B7F{YUCHGS!FZ5?yRZOZa9=L0Q9!aQkby zf^0s<=;`xA%1M2%EacnjJ!Y(ew7aF}HsbT*-{rNo(({bHkcPmZS4R_PRVyOEnbE{o z%cF@e6^?9kdu}8}5;tCK3MEmB&!Kvx>%w-fWh~z^C&};G|9C#&;jwYr9(9g3%oe4lcA4%ku zDWJG4b2f5$5uDVz0c4LLXxj_yuDRG@stl0wc7{XCdp;fT(Ez^7@&)5;06$xIjsxza zb;d~p=+>2$0Jm69!zw{HoMcavEdE@d0RMjQ&BZ7Q6HU6x$oHW-#q6VOo@3aTHrx z>=>)K_<#_HFQ+jMgU%;}aXrWBT-D)O`v5q^s-CHv6l>w=xO|O+!@&_EcoA`2U^uh^ zdoxT-lV=DD2M2nn0KepyqP?lxO>OD9J%TZm?l5UNlPS#_U?1@4M;5&{ZJTM=*2=sI z^Tatad0HZqr&`fnjTuYw&}I_Gsk(Vq`LN85~oYcCnxjP0%G`uVzgsu)rS5B9Ew&@ zYAQAWJYrD9ReJ za6cO2*;dntGSm*l;>Ps_D_4e_hnNyoe~BBa;=PWZ#k^X-Yg<9Vmfp%@WzK?Q|1@Lg;(CU~{$W&C$uc_zKa z(ql5|WtJ{=Y1v%$mBztZsgm@&tyVOXeA$wPz0oSnCd?4zS+C`4@gqDc>FF8_viTjp zW+&ZPr<~PFu2xb{D3k>m;X zT*=xb{~VJGit*2xvQAwy7q-6S8gYW+73sIq9h*ZGg#jL^VvL$CA#G7#YOAHBMxo%8 zf!xLYaT1$$rjpP<_uQVU! zt3W}HG72nXzWScSAAErld1X@2oRT924H6pV7tm-W<`k7m?9tm3?5!@t0@syMW*KFc zv5?|$v?5rh=sq+-WKAvlvoI2BQ#OHL*qED^Z=>=TDRZ9eMY_GYE3jiydK%m&U*4A5 zRX{~K(W*Kzo7+v`fOm*B$WXI3mYg1nCBFskPX#364s~VoMA0}vI&1W3d@UvtY}E-~ z-X^An!RO;p?ob)qi)2|%EZ^6WdJP3v;f>{^huDE1&=Er-$**AAN+5i!KbOPiVEk($ z6)VFS#d`M`;V+a4M#beYtPsLXR8~iLmfiEHo)?7UnEeX|73jroK^FEf->5qhe}+}+%}7NG8`E4IWl$JG-?)2$(-`{t{9vkE{$d36$-D#5wO8wC zF+WY3I|Et_2+@&dPH(shdUm8)f1fdnasp#AEm<^`O>2YFSHoAV<1pHCL*l1oZ?up; z8?oT(P!i5%bRgt9SS*<0a2@*1q61v(NJ;X->CNFhIm`?YRJ3uaYK7YluhGaJPvIi{ zsU5XkkE52W>>_29?FxsOrsWde@>n)=^}cKurmeLjdiYy3q9=+jwmVvNX<1jpKfBpM z%jeClN2(X}wGAkLJq_v9tG11qAgeR*OGaz+v?|KXys7&goYjWq2~RuOEZT1Na@JT| z=#m#P>%vcAEw~9%V0E&F`$>dtGUUdalSh`iEqNd@`1h0+0%7YsH8#gE5j`)XWBH84 zAEk6ptl~*lRc&Wk!!9kGe^zqD6Ecmf34@-t0zJVi$rB9bl}O@n7Cal$^WaOd)U>Pv za#Admf1+8ny(9#Q4gn*;Gs}6Vo<&(m_o(>vAbhpq1Zu_!p%CyE7C-4`J3Z4Zjbu+L zfD>kBvpW{r8cCipglXI;W%xY#>1x70sR`1b+7T%|j!4C{(Vbe>*)T%miJ+>Os~9F4 zjvGjdfbzyMIs-Gb^mJg7UN_84(x=6${+bT?2E!15U_{J@u4}E4>Ga050v$tnO^Cn` zy`f7#^F5WEgV^_UcpcW*H{=Y-THk*Fbm_`^RuZ(~bSUHB07wrBK#NnPxljw9I!0Vq z|FVOpt$SMb$ZI%C0Hhv{M`jn9~w3NQ3KRfkjtNu7iA@v=$p@?}V;z_E3Cw5B8>Poc`2Zfx} zEPk^_hkkttE$hGI!tqxnZ3Z_9%B^rrG||8&pfD6cM{#p6K;lLL+v~|oLD7MUYk2eT z$&Vx_o(SpmhAVKjm|Ets_3Mo!&Mb)}KCg?(k`sI(NQ$MgYQ`tizY7gpPo+{;#3x~Gv~CK+`@?qQ>OqF|M?$e zhc`|8e-Gw=`K2enn=`KQv>dOwTs$Lr>?g^P|7DnKjS^pG*OB(Wj3&=)j3vXTqqD-n zrE}bpYCedx?;R#jE*|l}Y?n)Mtg2o9m&oE4-%tLRg=zmwWNutAb)^xWn=j#iDGNjM zzr;82qx)aRs-Erhzr=_vz3l%mGvD zjQnXaht)L7-4m&La&nX{3h*+t7r2a6Ah$?`JT%M{+@iy34ltOk-O&2-bBMV*ay@5> zCAi_@$w)xX$@mks(fB)DdE+H#Tf=+Ot)hvm`3T^2c0eo$E!UJ13d<9gRtA7ehc# zjMh57*K565MLxPu<_uE>HfwOexB~#mEt6$=sK69oo?32$Y}9)kX#4wTKFw5{enjg#gWvStY_Wg# z?y!Ha^>f1*b)cw|IaC){w9aDDGuz)|+EjF*RD25yv>RE7CRiCdB}8ahf=gZdmRv1F z&*6)2>q>Btq1^#R=ct1D()u>}g|-l|EtQ!L7>HGlP5=~hQkw+O80E+??Y!}@JZ~5z zeO}ofJ(VKg4XacsMn}hSN0w%eGz+S_BRMU~=0lf*Nf75|FvZht{ZG*W%m4gXeCNpL zY+c8Z!D}rXY9qYhm1yD^Ipf8bX%T%?e^zMKlucFnU-W02{=A|;NK`s6h{SPpC{z%c z2&#PIEXd!FRlk_XE^eRwGVf(lt(GBikF5vnJBC)gG2<*KZCQXU(I;l(&@De!K9j z1xoK!y4})?l%`eo+ zovJLlN;MUILlqQ#y<303+8e2Q-pSu4#%mMO#uLnSC=yFV zT+5c#)8{*JL0I!~E-E>q=^)(}poR=c+h@$dvBCjk+qmn3sEJ4;FgKb_BVoS8FFpA<5KHr`m>0h0u z9D^fh77bLD4Ru*CRGfUuUr6&u^h2tSaZX{J;2q;ErY{-46uM!KDuIws0@X4@6V3o4 zGz$-+kT(UL4Gdrn6TK-RNF1UEH_2YnXN>?wcBS^p6fH%cQV(p(H6X^)L#=-zLvk7KxVv1$eU3iEM0P@{`01l-JBgB=h0y|8PtXmm*bHDz%ehADX1ZIv80^#1gr`9uDkI|bU0Z1U> zBAebNvl=w_+EC!ByO#}HXCL3ub|Rb@m(MfQf&ZU}Vyp0_SYEs;i+<5__CKRps zIB&5Zm~t?;q&OAvy82h#o?$usXL-JM3}4=(EyI`h#HxDgf2`JhDNal$gQ|f|zV_AK z1fKD3c@#09?L=wzc0xVr`7NY-!7KdvAU2q~iL*bqQpnL7jw{bDEf?P0SIiK!f9-5m zQfpWpp=ce!Y)&2T65B}_hNmuLwG_RR(YF(?M^DtZdQRWZ-e-@ocG>$ZwzJ3hZDUw6 z!++wB{yQCmkWL!H94Jf@%O7_de?}?We-6#up?Svg$61BwY+hoNcI@6gTf$Xc-pyxO z%;|q2G(Rovp#ayKOJ^?2nL+L~S17a0&gpbB7rI=<3F^)7gnJ+f|^6eUeRz7D(Q>{-D&Xma+@RVE5#6mOu;lRbLdL#ndN3RVf zumrs?Q7QM%%q$erJ@{Tl69G_eH@IcRbO$Yi%e^tbyS-Pnux49KcYv}HD;l%VNai(3 z5Oh{Q4HeX9GeS7<_%m=cwq!)TwxinMM3><0M?Ll)=;*96Fk%EI7|hscgRs6_xXx7E ztwssku6Bq5_ptPZbRFH^L`0p53;1p1(7Te?oXpA7s{(7LJ#fo`q1wMlw`>H7#n!vT ztVWY3LR~~da`D-3viR*2+bHSaPCrlk2^$EgEikKz=3X`jGaj{f!_D+x7|3k(NR~=i zw(DYtnO3=(=8%F3bQ?Ac$gX%fZ!YI}PXXCEhkME-A!iR04+63aBg4A^yWrYrkY8M@ zpY}WS!^C3Ybo&_PByLwPNX>95!}oX)v|aJp-NYe2z0KS)^@`6PV1s?wemynm445r|kQ{ZpC8ab8?h~+n zxC`zv&Js4taXm2Ti7%G<1ILII=c4koZQJ5f*R2Km3BiZbr~T>@sU`YxQQZsO<2-Wn zd6azwKX&IUSY?25LDLEFp05D!kr2Tauq(4`33Qx$DTWFQRSWhwm{sTrsk>BvO1K>W z8;d>4OFX3d=_c4yUr2b%p>_YNK!+~QyTj>ld=#b(i|1KEiLjDu{h!?-46}IZVA6cE z@pG3VxXAKmD|6d4K7x;OLY3#@wRgz;BCtU4?%{rDp?^}lUKW2;>)+EZ<#=Wr03{Y1 zJ}2|O7akC%omZlUX!6q5cfu78c=oBY_&~5HRR5!#_ z&-;Ls{yZKHe1;Rp0zq2=Fj*GiE;UK5z@VfDO zF*%PnL+%}t&YqlC_gTwl#oL>AZ*C?(zy1izFSs`^lUESYRbp{4EEXq9KWCQDM%uRy z;jF-UM51LH$u@^wTPs0qR(q?~D>Qz=!Lr{$=osf!=(!ymot@Xb#_Aib+EjNM0RIs~ zKiFEqU_G2X3*Fb_4gbW8R-Lvn!0h)81xP7;F@-S{4dKWfLs*+luUV0`0h^|X=s!^o zw#EGy*OK;H<<-o~nKl_Sm`yY1;Ewxp%NbD#S~Vgy@N3352n~AFETNUJM31+cfooq5 zsE2wtb(2EdP{*?V^2pUA_j#*c;ZCj-&A6dd9mk(ZCb(jokrke}~Oc@%>J z!cOL6tCSD8+Y7^EXU)0lkqA(@4D?pd1oGVISi9VUK^J_HajqeDeLF9TavM%VPtm9{ zL!wm=%~1J)Wroc97*$;xR2Aa$V(K7FINxLavWFe%)~)T;`Hy=oM^OiJ$avMr_gzN{^X6D@2>LUJ5n!mix4yft+WI?H9+=kfaX8m3 zb)&g=xFyl%A*KC$I$lW&QLwHCV*%g#)SbM5Er}Ck)*FaFS*@xPw;4?*OiW;ag+}38 zNT5GwA!$4*o=3b&Ehq_R<=SM-5=)ab1FO}CA!q5>bhp0A_u`Xea@F)uFR7e{Gx=70 zk4`89a*GDc1u`WAoCx@lbty2A0!Bk$nJRw7lJ?v6EWLpg5lY8J9;0tV&Rzq0YQnmM0LZ|-(UdV$1HVYbWkt&>++qC9||(ZHC(ZM^d5e6N2@;cjJKP3AyTO9ke3 z=2qwp+WHj8&fqCWz-}^OpqD;aGHxJ)~+bV^u>0QZj>_hU&V2Pg3By-4M7gdC-t}isF z1aC4ARaciFw_aT$$AiGmQR=q1*}`*h^}6j#zG2eV*a!#R3VUqa)N4LOx!NUkn3+D@ zKL>rDPGf%D@;WVMwkCKo;D#_aPs>d|Hv|!deHL7ZrNwDtqt|@06?K$eWwO<(mhCF5 zYY*M_pvr7f>kpCb(hu!rh9|WC7aWvwOVkHAqru>zMM}9n%>sKdk?owjs48J_Ldr;c zBRJCC6J|pYd?Lb;l~{b%94FA)TizM5)+3=+%1;F&R3S2c8gdvF{>Q=gjjqV zSlDwIbjC_!>t*~IR2m~O$I5iEeh%Fds3Cu}77nAm$xjU8FCe?7SfgGD1Lzl;Tz7AV z^3+v&aamh5KC9F3`7?>!J7y@as>i$KdLHNx12j|!xp4+8Hk1am0VRO%EjDd#p`?p8 zsliGYN@JN7;Rxgw3ygcCnNf>gzEi*#q6Pnn>$PZ!cw8X-jmmtO%mIs5ATLCnPf0Xx z!uH7ZvG{Azgn14Gpw+Qw{P~`uw0x0<>$8k3Y-9YZgglxbLn=M{0t@>nyvZ={uG$5I zP%v>#Y@}j?&?FZ3{V~7egT%!0V6HMV1jqv@Co+?jnJEBYY6Q>20I!a|IXQvzL%he>-M$=e$$Rd{nu@q z%K_{5wSsli9s1F_ZOORt&{QWYu)qCk*6lGtcWm8OkyXZ2ahkGzsr}S{rq^puX*i)l z`*Gv8PT(6(oXG{(ZFRT+HRR`T_t%XplAgtMGyc7&Igl}6A+mKg0b0?Lt+HL`7gS%hHyoLb9bFP7uG+dv*HYow%q?zK!M ze&On-KS7E9urv7rhdlX%kF(*%RBxi*OcWF!x?0VK)6G_cbF}6n1B8>oFa5U$ZhZwz z=+}UgUlPS-8bQ9`t8Rg0GRdh`)ze4=NnB>r4>Mh3GE0>!CxZ>sDrZ)AIj{ls1uDyb zeLYcWUMzI^yl`Doo~s0H&t#i+t33VHxv2bSuoj6Kw`J@$Kx^TG7S&-kUeobPl zctMZzRYBEC*3^~ZicK6WBRX@oy-Id{m|M|_F~kxQSi)gqk=Lp?{HW`HT?$N!P9!%Xf^;@YhXO{$|$xJ8*v zJ&rK2#0yT2>Il}SGZJ~+4ZZPJH@cq9(dU4 zetqEm0v~C-D;v`F4nAJL|9BMxK?pL2@$MA;fC=S7;Y5J4Fv2bo2P+SP=6%Kujhh<( zp``xP^OE#4DB7tS_|=!;#Dub$;&7tGC=}48m&t2O{fqyLwrS5Yz`_}hO-IQpwX&%& zmlK0CT2`z|Ei0-Q&QFbY6*4M zKg<$842ZN#zVV`;jE{WNo+G`vpHdF`p4MaZK*fz373-^wj-IGq_2gQ0OZBQyjebd6 zcS+9((r&P64o1kapuFpCbD1Bcrv>GEgLGq%USuF;nGMoy)|vDw+YjVHJTsW!FH}e{ z3ks(z^GW+9YXA@CnB{gE#H_2LfU1`litCVXt#dC)YB>@N`ri06?0CoP6wa-$@f7I_ zTX>>OGfW1S%o1eZxg`Vpe-rIWUyC=i3V0HIwC-eWuhVm;wd|6a zS=06vC0NToQO_^P3$eC*fj*>03!7=)x*x||XO(~5f9~7Y^WW+Hl+%}(J)Rc3x3QJE zRu_+(Kh%M59WQ5#RQKu3HaUIk_=*P4-}>*_7Ju&k@pll`yt$gWX#5gZcilgJ#o*VE zTXdVOyR;+mZL7|x)_0YBgJIWYFlgO9Zr_h#T5?vMF^&rm)_ToLX+RzOlw41b&F)=f zHx^tg8xHoP^iFyrNJ#gOzlNgVuXg|Vk;dD``iEY*)ZIURh%)-_AO9v!HDL9Li2ui#bL`UMIR#6fna@yvsUqU z8K%g%NnDJP!6sH39ckAf(c3b`aWSXhg~#6C`bA{paDLA*6eQHlO4P?4`L33AUh}WD zLbYI-Q~qe(i;)D%y1h95)kuyl7{hHekKmV;j_pir&}4C!h?+gQ#RFx%(fK>~({xf6 zZw?&t{GJ~L^sodB)PKj}ZSCFs3Z0iJl>e)5fvLKSy;nJ0Z@w9H)&6$}*e?UWBqa}a9Xqy8@`lS`hC6w#rV`FQ z?yyR(rxGeCPu)a8o#*7HY|oo+7md&=@8)ydCx5k1HeL~oWt4iuSRS*nH0otI@lD~m z;c0m6H!Hp7j~Sv}U+(|c<@#*9H@8IKPh78Z<@(0Xu&xHpkHn`7u`>S6O55K8bL0qr z3Mx+~xtgjgxr3`|Pw1GortTrw-_tJAvZNVA6)BcMtN;+yIAfo<%XXQ%>mgZaR^kHoY~ZqdL##|E41?o!e0@MwR2; zw3nZzxAHow3wS|#lck4tR2PENq*q#cSVwg+kRttC(jC<$2*f!L9K@fh4P3*-@3?p> z{?xdNbrZQ;fRoYjfnu2*-*=MdhNgR09#;HY4%d>S7D-@Bo(pk&3z?2YY4Y4$5%i2zAxEXwKiV7s9~6UBPoXoxb}o-;*4_kbR}v28o8vP zF~RX-vf%rPs`x42Q>pk!4&C?FzXIQ)@fFu*ad>Q{ugt4j&bxW ze$atJ7nk6wEwF%fb!Vq}!OPk$!VAn;jE`Xik7J%cEF4-EFaXJsgVX>2q}Ri>sVL;1 zhDRUi8U602R~h=vdD2L)By~X+{iNy6(Ypm~O4IwaZv=E_PA1T-hzNV#)Wa;tP!D}O z?7=vAq9It^;`7#dtuAnv1C5OW*3~CJ?>8QKA9U6Gsb4V*4+v4McMk}EQ!)DafH2!G z9C|=FpQ=(GXq}TfSxYsQbn%=|8hNVZi)5X8_o%e|2u#cEu<(&<&aSs`R!2jYn zXA!!(0_^p#RGDNwUY&fiQbjKp%fEP~TMPVicuyup$!w2RDUxvK><9T1eZG4BnRy-teJt(=-f8*cm zxy1MFVXWV+UkWXxkiY9+(fquwKPmlrg+IbC|2ZCd9uz}T9e49d&vJhinGQevKdbcp z`ty7K>}S8UQ3&GV6-mXJzFYlIT2lD$IP_em>Wwd!x{GszIsCxb0{bOXo%cm9a^Z~j zSjlcgfcA|2(mJy~I@HcMEXIb{T&FB|NRUrc%w69h!9iqXP?;rxa7VlH)l(f36d2iY zw&2r{eHNG+=#aqlv0n4dDjghCdab9}x3{|y%6`c#K5QiJY|Lr@Yb=LTQpHUn>M;ix zX_F&9BI>d1my*>g<=%zWO{qfD8oofqp19qBmSwyo>xdeaj$?r1q9w5nH{&I|o;IRy zFV|a(AdC@?9lAEK{|TZvJQ3EZLSI-Qg|NUCJe)kAAx~_hoEsa8(Lc?no~DP?7#19B z1yvV~0sXoP5ex`RrV^g8IZ>nI9u{pdBJ7v~qZewV3%m=vC`i++v}xY64V&`zH*6Y5 zW2zgyajiazzZTdvq54&Y&bCQ0KUC+yz90S*^_?3^a_^o2l+o{At5Rd_Fu=RzyGjI6 zgjiyonUe-;Od|WRNl<3W%*^RDGjqZ>0W&8iRAx@h#yW(2jaQSIHggic3sxl2ox_8g{)U+px z9h*9W%E*QCu`0k2vtHUm2aVG7F8S^EpkVz&j~?0^pgfA+$Ejr#7Znl$fC;xaU6PM1 z&QD^ozSq*Z?pOxq-LpF!!uQXpg|HFamsqeHmn9=xJ5AM=sC~;RVJ;VnRK17!(t89f z$@Oj?Vk5L7QqYex3nuD42(w%k)uMyy%1KQ^UH@M0xO?RTsoY8V^+n1q9CvSSItv@4 zH|xF~i|>k55K-ir$hwsLmP5eD>}=}JV8L5Q7X=AfdPkFayRlhPWZ3e&N=Y{uB`dT* zg;J}iZtpdlDKC1*d^w8E&XK|A$V>`xcsM=5>kx*f6d#BEb0Ls+0hF+}!ssWoFQO~nrqXYWd@AiHxJ}$fmfDK&(kCBf?t7&tyVVQ% zAZOwM^_uxm)tmL*J--a_N!PXi5>(I_)=!_88f`dkMv}q#n^9Ll0=F6ACETGcM|(zV zT0dCyoN18JejFv%klREoF4|s`F%(@~9x#eVeHe0lq{)tLxv+c_XJJra31iG@xGLZ; z=>yv&7OsKCq9b+dmN5c`IW(_ZR37vMRedS*gL(j6X!@a$YB`65)a}9bR&9mV+X+AC zA#)1r2;JFQhg#-2kkq(7ce<1nsWNjNZ*CG@6JIaVs|shBo0c8sp1g<58_iZAb0X_g z&>we^PGlvixD#3R%Rhn40VlG$4KFYwLU*yB8Bw{0&}1tyT+qZ9n5|k!jm3h=f9nD} zh}7`?)95@%AD9u@mkJYLW<>VI!F&<)DSaGi-MZ~Ux`hJk!mq1)LGaD~$B{OW0mqTX zlAFvXO?|VZGaX4?Bon8L=$n6MhwGFbN2uNY=l$K3N%h6L|(Bcw4#1x|r72ZDox}edntVVZhtx6BjHG0cnjlTXh8)?w! z57kv`RKqP%V>DVCG};+7I@HgnMely6Y-WC(78*9MX>x}PbDHfqOod+JGm;~z#cREe ze&PF!DkxW1qF=C@&xcnXHI}`25dSrDN%36HUDl%u;l>jpE6qN#=LFL?78!nE)w#az z<6LdbI?`T`^HVvx!oFAauR6=mH|p=_Dm}y&Iz;lU^)F}{Fj$i`}61QV_MNrMLDp{PoH5>i{{#}K+fYj#ZXP&J=O?j{Zd?N zuSSDmMWlBKq|@$Pf7G3-lOFotm?EU%B-Ed#CxST}k$KH4)BzmDRYxTG9a?j^7fCjh z1_w0z9YNF7wI=7`)}Ri|)E|0qS6L&q`H$VKR^7?B!c_!=aq4*uVx4vWTK-De&lxBO zj`LhUsO1(r9O@gj%y`_eG^C<8+>oaEKQ@%)yvI-4lS3xIF-QoV{i}n7fZ|UN62dWm zN{|qi`_Uk=K#9|pxRJoD{ZA24?6q7Aqf2e(&q&xfD?Co7#y?UIpgSRN3_sexd(Brs z^TNT@a}*QHa?`Thf9V2hhiBgjCHj9kmu>z_)93j;JlI6(km6w#vAMdBC-J>gHi+-x z4d8!HPkjCj5i)ldru;?0r_=OlQ}F2w|GPY)Gx!hQQh&kXI&yvbx>64I9Xmf+&RK^K zKEeRPrb_%->!k6kD=Q~e?q5mD`=gUA6l7nM#6C7>IwzN7c-DIH7S*s`d@)GA?UG}a zY<(zS%f}CGX&SkD+>)GAki#9FM=r_xKAj{eMcqV#eB%7j@G;Q~3vT?aao&Wk>G9$- zodmJ5eydv~Rx8e;!yPRa)fuK*O`}FTVLhbR3U{Oh89~otsz@P?yq1wut?WpY&@#Zw zQok9GKpmD&Gu|4k8CpKVaU#vhoCI4=bRvpdjlB(jxsX)Czzj`*VK2OVrueH(X7SOQ zSvu)|@ynW4&P4r6J+WRGsd&vBtTWEgNS$)yQNX^^%rIFMpe^-O|LJ*-d!*-F7r-<6 zSymg}2;OIrQ|K>#QNwZZ;ror~@R|33kq>w-5 zOB!Hc_Z1Bi^1bHH zY~Bq-OU&VUw}0H1w6@+7aBqj{z%{`Cd(1 zf@0%U&l4LfR<)+?U&34pCr75dn{fxj{jTb9(@(opoqdnE?#_p%sFV z!xq2#oTVfNGW4B5Y@N(kniola&yxC=c{l%ubhd#DoIjJB9ryp9Id@gGzl@fC0DqT4 zsBhoV1~6dp`O$0^|DTU!v-n#`iH*NQQMD!Bg#S^R=R4$P*pA_&D-*Lng+lu1T|Odt zs*eY)9m9gD zZNgS|3E3~|x1?+5F|oX(=W(R7kWUZjY=>ZpfE_-I*=PA+En$MXRGR99pE?MpqpW=fn7!xNjhw5uiuusSgQg- zoB}rPwR}dqj)-;`>x1u*%mOLUtYVhczn-c^7sC$ZA%3RM^O{fMU^3N=-pKHn7fpPh z+5dXYN3lP#*a&GrX!kJDIvlKtV@OE&U4V8|Y#h^Hb>nCX#_`mnHjcSu z_l@Hv`fahT96-m@n|>WZEkNI&`z{Cg4u*@yKHd+8T|evB_765#+n)+xDC14R@T;!v zzZ^U^tL@9w_8;Fvf{`e((qFtmFx}#Bf3gpjh{m9Xpt;4mw#naTbH2m>qgV+JKWp`; zOMhPKx!>u#d$#m!?b+V9=j{1;&xW3jS!oU`9FG=a{X9%X0iyXoAd#A?O}2K!{EvRwDD^f>Aayzun7W!jeekugDf6<@=kYo_9T|{5Z9uwWK>8D;ZNzSV{hwBA+?b)K z>HZ9j`%5p_1WdM{(P!yL!r^j18tp#;BmT4B1RVRM;q2#M?mq$lv)aaeG1(ZH8r|>k zfB%G|`-AOwi$89CAFis1F!fZ;N^GJu`{PNA z}w_GH*Jh0D7jTItX>6QfKoYcSbm_6SYkcea8Zbf)80tpVWeSuq4)zQ78dcK$gL-Dtf5Lda6FM3v(jG;0ctc+HV zM|kRaA@vZemgv`i?leRZx|`6STjzz7Ln}5hD@|>1-Gi1ZeawLL!2{BJU+iB#)t64) z4Lj&VcG>SFhpx_gpB&`wRqC`?Qg8K3cH4s~T#s2CVyd(_6Xq?D$Ui zKSA+u(~A6&ZC|?(_9eM9anjNf0qzXFG9Mq5V&}81ui*=wXxH!$E3*~(UmMwW;qsRC z^$#dJD9F|&s4KJHhZDoH^XI*Pe_Dk-={oxN=MQ@Iq5Jddy?>YfyeF(4yg#4* zNd39&@6(@e9k@TY>eYvb&+k7Ze6r5dnzrGA`30ifa*ZFsFf4E;XD?5ANnJ@AP0k3h z`+hx=ykRJZ7(2YypODKL$oBMQ6`X~PKJndPe-leg=U8aF`~j&>Zf%FNJ4o4O0P&u1 zF1vXNI=SU+k-gTW1iNH0@dyu%{it2W zkGHlROte15*3vTJGG_Uq~_MqM1nwbcz%UNPq1<*SrkEw_Jtz-zt98>6dGBUSHuF5ptr zit;Qw)(pMMZb5uNoy9c#BHARFKSxl}m4dSrzxA7YZca}`>Nb{JCXRbmPWT))+2yGa z8N8Kk$mO~#rASJN_$g&PorhJ;DW|Zv)}&L0Q0j%02`BWnkaGN`OzH}%NS~MW!@n`n z#OY{xK$z3};onHM();7zlgupkv&59uyz;mm3>ba(cZ7lXCH&g~@DC-ye)zZ2;a>uS zd$0USurC8IsuWy^(^CtAO=$xUdE`DFqHzTHM+hMlAs2N46kb)=?()vvXsDMk)H~cT zT$f}Hf_l~7kI>*7?qMIaKkijGbB&j6dz$tV7w1ilv;1xJL*QO}Y6$wIRr?5HotHES zl&|&5iLXvTpd$)$QSb~g97M@8B;UK}aS+h(FAM$NxaN^)ReRleyM%sCkz_SNZNMlL zJHo>6@waF~OU|rOK!MlN{P3DDfCO*tWy8_#W4-D3RX^NSO~sYjsA~-+a`Ymvl1So& z;sA9g3f-DkjOmZM;Ask@ga)K>It5!ND-X4Y3D*(xl zVC+GjG4|ikXBhjz-c1X5qS3ebx67FO$kniSn7eG)-V7K#S6w&;UmylQ!5Dm041Owh zWfyS^!IXBG`~+k26C9I=T&`M4s8**LVQ|LiG5LaENcA!M)SF-}t=kNyrVd2mPEgq0 zWeeX9KId!dDZ;|U(Litgrj(45s6`C=Qe)7U_hZmM{d|80O__i}Q!Zf8B~+2t2N6ME z&ezCw7C(Pb{Qlmc_-!X*+5GuUu6ey zS`W?xU((DE;DH&2^HK48kHc@)4y`~0%0{8g`tb&LK(5vbGSOSrmeYR`!BD9^#1%#? zAS@yUEF$1JE6I@jao*H6@1hQn+;E&jgEWe-zN#aFcXIQgDE}B|W-*z%3^-_*WcDp6 zUUD;I1cd2DW$H4%wqkt?inrsTOAhDY`^{AxbxUO?LICihrmnk ziiWD~h>FasDj#DbYC7DZ-wB>8{ep`R%~>kSVSDQTV$@QKta{)xOx?(~aC~<(@lW5p z_`AG&c31ef;pCa+9cM~ap3`w=0f3*)VS*IiG7yNLIfj3z%g#jS&-E&kl{JHZGsDT7 zI{AbwjaQvoj{UmQPl!@P@ipjL2+~nwK>&NE!OOHE@0;9h^%~XK?w1X}A z=)aDmV259H2uTUmqpyC%6c!!ht#keodqIDe`|l1@8R9%~)I;?h6SWuR>xtxQ;gHoD z){nGuArUJ8^q-)7-f!C1g%g-cs2J7@6X9A@8E41Da;t$8(B_}0XyOkhE+zlmOUi$D z)-rZYf3TCuoZ1{TxtE{JAlc;akSl)56K?Yy6L2s~WDZBvI-g zZV9{@(e2=!<+VuiG#e?GQO|*QZt$`m$DK|7&#W#tv^r07Q~D>39plD*T~K*7o@x?y z*qy5bOmphfOl7#~)MJ=v;BW!fblZ5*)VZ(MYai0mHhZA}bk>%QF5BHX&*Y)Spl$D>;%{y6E#$HQCNKoS(%0(`M=>!&s^H< z*_u^pN*pCST}HZ(!sZ!$-F)~U^mW9Eee`uy@LcKNb#4}Yoel^G($}F=|G&^z&g0P6 z#UqTMws$!C$`P?7M_+!Cqp#l^?TEgP?CeKhwFil)jJ|Hq{m0VR?bq!`U*ET^Ec*J% z$v`=qzUEj)Kwp2Z%c8H}S>mJ6*C|%l-$Gvxd@VyZgVNV8PYmd5USGij(pNo&)AThh zUH$;{6;as_Ltovn|18x1Q1o@_jswxxS-klh>Fa545c;~eqL04r51uRi=;SQ=+Qdi) z(${Zm|G&`Jf=8gQeI-UvzntReYrzmp7JSXo*SSVJqOU)!=tp0B?1j=<93W&Z4i$miQ?2_5AUw{BNPJDNOYHtzY9m8_-u}U%>;? z*Ki7_=_@B){s8oqs`!xf)d>6lsPvV$?LhRkwdZf9ug??>LSJ9{=RW%SO7L9iZ#yrG zzGefJf%J9u`Tt+&tGW~V`o(Y~s1w^AeO2${D$nHTyDo6_^@frrAAY&LAAQX?qB8n= z;T@Iv$H|8;T)iKCt+A{u`g*2(0DW~@MnGS0Uy(&$uUq1y(AN!C*WW^4d(V4+`g-}F z1N!RfD|kTqT1??IeJx0rKLCBjRrbTIU!^B~bo%<0e<1q$K5zbp^((Ev2*>|w@pO{2 zaj3YuMnUAX!ATDN?DA_+F5gwQKoV*4Qp8a^3!JpaZ(AmG9$N7e&Qg-2-)KDziFGT- zldeFn-~Abp- zjN+^;IKgJZ(eUWi{@+ z`ovG_xK$D0{a?!51q+%+!HqN9_1ArzLEh!8K$C|(@h3Zq-gf_Kb`bz z^00qz*Qt7k?Bm1nBmLhfx9QYp={^0?_Gt~{%i8G-)z$_RC~XS;2R{um??MG2c$d0C zhD+^CnVpRPkZgI9m&;^&hu`~MjqtF&57@|#U}P9V|Ea>pzr+9DohmwfEZK$;jBJaa zv=Qy_U)6}H;@DthrRfgX@Q!xFt66Tt+xuq?Z;OAUxO>y7MSTO&Ed^Nv=|b6%uE*c? zDF*Vea+*$ku_iNium2}a*`KuOlW)6Eew+TJAJMmE7yp5ZE6Rz?Ega%HAlewd4A9ui zroIU*`z@-vEdbxO_+S0*-y0A(7W9YfkvjUr!85>b@joMYP}gzPr9i&iN9*i*rqAoy zlvR1^#Qu$?ULzg!t~w1F>)qnxT#ak#es%?Nf;6+?9ntu^{^|5ekiTY;>s^gv9tr=x z!{@@d)?ko|MWjAqUAnS|(@G4Eg8jSHJWHp664LeL`!4`9A+a+)xe{v&9XE5p#Cg0r z$}ajkE3(7i$x4vEj}v|C0r}N+4VY2`zZ&=bf&8ixT<^!PPF^)Qzd9&3 z2)|mdN%>%Yb?W4P{OUoCu0Ox}$%+r;SJQ*Gn8Xjyug;C`&#z{U$nY!KyJYjLPkpB! zziL`+RDH_5{rS~hcZep3pL%~bzxv}nhR8nGUm3nk`dxr8X?}I)u^RR8*-Q2D=<+3w zUo8?BP9F9E>?@03y`|iyQ$GvLb3T|~6@ZBY`PKZ7XZY1&3^K#7s_Ttk-Fcsl?CZbp z&#%`1N=1h!$nN7;FEA2$bB@-C_`Tw8e)pr(e*>y~y5M2eFgo%_$FJ7?lMUownTB8> z@5iss_(UJSI;roI_v2TE`Xu02Z=W5sa$tV-5|eOXe)Zn~?F0B#r3N2|Gi>)SyK68w zTx@`cUkDz5SAI1#=-vDCtGV<_{Ho)(u6G%Jwd!MzU%ePq^P&0GiGcV6_|+QWHmEVa z?8EV^H4hw!Url?!_*G<{@v9%S4CGgh)|o8%YIghJ{OW@6ApGi6>gNaZt7N1fzba6h z{rOdD=?C(w`-K3s^^y41e@)t-U#&el!>`6a)}LQp_3eKA>R%QaRo`-Ve}47O0@38~ zI69DfigO?!Bu&zxtFL*>hy~@v9SUL_7Qz zjffFGw9t*LwBPFgN1)2^dLOXi{p4Q9uRf_ors>q*GYubtU)_34AHQno`{e!j)iiw) z@T;@apB$K9ja2ai%2&Gp+6VBfMh)KatHr+_3=a1g;Ncg7$KRD-ogeh>{rS}n=-Jf4AySyL2+WZ@%>gN~s=U366i6)1?a91|Jy5N5dk^OrRzJxDZB&uZd ztJi3jua3K4ACK<*o#R(ECUqS)1@@K2ul`fHO{cB_<{yGz-8FoFel_NZ48OYDEU5#2 z)%{K5R|mV14Pj*2`@ySzY9l+I>^^=q%SN=r-=Gn}uMP`F)}LP;HPknd_mi(S7x(e2$C$Zb?C-~~7U`3KU;Q-w$$|ORjVgXXesu;w`v88`_1^{r z$yY=5$PD*~!@eQ`9)2Ns{9XCg9n`EE-=ANdOs~}bzx~qnF2k>;TgP_$4Z$EkG{0I4 z%szl$eZz|E@Ly)-aA3PHVt-z=Vlca}NY(0VR>pAPZ2rVP0=UVJ<%x{pmaJjc%g~J= z)T#I0+XowSBTgMoVa*}kS(mziH!?S}xXyV8vilMUH>H+PR(4-9>L`&33)Wm_l6z+% zIHz-V-fj$Io6D5T4p&H(IzeA$X6ya%EwGzq7BcvjhkDVW8{QO{O|CP08{yjl>}B~F zlNy<7zmGZAmOeC_#0UM*>{>E}W*^=TYd`!NPxU~1G1HC}S5fgIOoWCGKg;2lY>>b& z^8c6k^%sX<*j;Vq$s@F0c~6Xx6&JjsTRpv1Z(?+{9n0N<+td#somajBVW)c5~h8hS49(&IbKql&cN=f z9gDT8%VKik#yqRfGRkXxOofE6iHzY?b}gyj@jeZ~l#H~%0b%PgJZ9PH9?=EPVG@AIAI(9*-nh#wyfy&8=ZR-7>U@T3x_O3(16yd&`9{!T%pW5pgO zDfKP>gdgCK{yUC{k9olxtgfTpnJ=eeLR>SwE{ZgsC(`_1BQrJxrA{Hmh#BPQeq#6zXh(n}KrWwT+u}4X!1X z?p;2I{pM(rdwz`p0FUxI2G`-2p4U!S@aHxo$w+c4F&U1>{oHs;IPn#NM*zn-9Ee*Y z{vT~`0$*iy?SJQx1Y?apu?-r%SYvPe7pmTZg_aboi6rfNB4R7DKuvbbfvjsJ~f3uzin^itTjHqd7Nj57tJ9L+WYunU?iR#8qc59 z@2Ub9AuFUzjp8dt3E#W2^#KfXL_0= zJ+)41RI}cZlBJw9-8814{uGuSp#CJMw)}!U1()?zB#(Zj_P+WK$@9aC`Kewu*|NPe zdRO@HPmqbZ{H%;|E{r834|-;4_suPmqoRA#z?BP-C_Ex3JSr0&*{f_-nJ8gD6Bd;cug}CWI&AqWMtP(0y7lVl=j0{yAttyy zN2t7hRaPEmR7U*ZF;4u#QCe6bcTlK&iP%e-d6+2@zOYDpvHPQXRyww^@Jp1F!Qyx1 z-GU>4J??O~I@KxBNV_@~Awd5BbU-JFm#WA7DLkFDOn634cxDuikNiN{+H*cF&U_NF ztGXy|XO2IGWsJtzbFE&Nj>jI25TNqvjmpYtpvo8mn3dr-#ZW;&3>V06_VXN-Jb3_kLG;~RUytyZnv(4`M1MdqKI&yzWOP2RCUSOJiq3=%UFknAVHOK z3<2nsUjQnpP32Txads4lLeZNyR5o3a4$CQJ9g%fWWTqk;qdMB7I=Z5`!NT`$#m|H@ zSv6$xn#&4ElAo?lmBCG!*L(t_s+sre^A7|9-UHH?MO;4MwWSrxVoj-ZYZVnPmkF#o z*hWNu;o>6D3Q=t&;s-Oh&+tFl_iB_Tv;`a+M^)?QCcw?7IQj?XD5 z)RBdH0Wy|%GTv=J7>xu}a>RG5^w!F_4Bz8vR=rS5-gffFJ72?_ z|J%BUNQ!7Cp(}|zX|6jveroCi$ZikYjhfK*8Pxds@-1%49jzf!eX)%DWvCyZXsPjZ z73!d6Iao0Y)V3<3OuJW;6dfdayxl!-pSgdKC`3;E%moDABIkodaNR&a-p{V>YNPdUFjn6lb>Ejz_5#9(pSgg5yQ36sf$#nc2wbFzZXgs6zJX9} zR}iYRcM!DQT7`EcuX#^sfnloo8{;?0WMQ7V$q2cB!7<9deDYdfrYp+U0(fgo7N&G2 z+clQ0g>3gl+5RSEb9uzc%9(1?xAQrJ&-9;(L>Cg?Hp=YqTK^k@=NabAeMhac$Z6c& z3~$&5&5q~UF*<$K8|nF)87vjOMCG7r1Y^$nSzmJb_zYhRFS@mZJ)XPAy_=j~&`sgc zCs(FDu|S>+4$Ea(uO~UhuRGIU)$=5KF(3%RdQJFiT-h4p$JTh))N8yVKD=wQRv*a$ zW(w}a12b-ER837s%^rnfDV{nBA6c(3UwWH{#Edzi$O(tEZ=yd^>9B5UW@Tzc!qZA( z3|o?(n~C8W-+vvhwKaURRg7mxI0X9=5#~$-+ARp_H$N1Ta=P>z11{U8yMW>|UHUnR zyEgmD+pR0e$m*4$S&Q&it6@v{gFAs2MmCw>L~xg52H3ZhTl)sGIEH#7(4`kzQtv?i z4j`-O@v;^HGdJ$+0bS-qPw-mqoBcD;>r*olb9*kH~WS3x1kLQ z!r0IBvWGbFBe3vUtY%QD#Y7+rF zy-3vIVYOS)?~N_bS-7`wJ2Ct^nT4N&`Bi?SAY1;Az-ft6@`NEvxl+ZW^}}w^at&vM zuHkUYgB!->wks?P$FL@58N9A&S_W=sj$jU3Ha3Z6>BYiKMxXiU17xr|{U1sUR%Wo39!b2qi5oZR{WZG>Rhnm2+;8h} z_KL@*bQ*kTYyQ(s9r(Z2KX>tu5K(1dnP7NJcyS&kZf!J~UZYY0@9U^mjgbkYxln9nl665vH5A6REuy?NiN9CVB5<1NxZM*#FcIJfexW zwBQqlEG+hZG?COAJU3FnArO!5+g{!Ez+io_*zhggR-_(yo{9A3K@g|JFZA?JIkF2jXP-hayJVucr2X;U+`MGxjs~ zN&N^ZYr>}s1|sFZelP$j3$Hh%bpC1}Qbu26L-Qud8Kmq8C(s9B>_++^YJB+TImn2p zaUC#0jWIh~8vFYj-RaPg`Cuc6F03F;}ZUAqO>+!O#5Rxn{c6}u(fh}oWs~8#ihN$7vOX% z0o&2eqFMrxdS(%wjobEyKkY8*M1>$VC^om2H%t~#eYocVgLI!As19}L(c zqFMU(^}xsqq{8}BSQ;e#NuVIA^;&X(lqo`c@TM1s%L+n7Qt_#(ZH<%p^QV71SGU!b?iJ8JiOn=%pCzxRBO-o|Z` zGW)|wZ?lnx^e0Spxu7Or_{e;xw-GQ-Z!<1sdYh@qe!b0$=xs{tnUWD#kMuUG$F0$q z$x4H%)16IOttoc(DiP&p^)||uNZ#difB+rcQLN}_O)fQrH;Q8+&GJ!NZiU#v)Z z=2Pb1m#jKk|6`qlkZDthqS`KEKpyqg6njX{~57R-ZH&jr+DkR}g z1tK-ao1wo`^Bgq?PT-!+Rq-fy_|XEV=1>({+f1styAQV5@+zlU`Ks^@soT_#FmavK z94;aPR!4pK=S&{Tw5z*S8rk_#AC~f~Kjlz@zA-Bw&(U{ks<(L&MMf#I zFp5mK1})+SMe#*Z+yEiot~ff5a(!&4ZCsbrhe0}y{Y=O4M)<%fQYS=yl?UrM1ijZP z57=29M?JOcFI=@lJUVit985DEN0pjJG*>xeUu-j@sv{kTayT7F%|FDio84>XslxZ~ zaZ%MD7X3&-IR)SDbR1hVI*xhQAfKk3G#bt#k}i;7m!qEG9l1a85N5pdRj&2AQPT=L zRL}!yH;`&#IOdR1cKE5ooqFPS+XQZIyiSs<#*c$NUTi8kbm%?bE+!`UyMpw`t!TB$eXJV}yyGBJtdVWE2{v z>S!mY*ZMqzhK4A89t*Si+sO5kgz}(xmD`ue-^}%y26}#*8IN?5a-xZi)TVuWITT|1 zcrVxs=93|#@HYW_`8JzZ=h}9{o~PD!Jm?dhKp!HN=l<;cWdv{Gee0!&E)w})6KQCm zW?7y8OM1wmgGrxtne}ayQ^KU4k9&0`U@posix4WyU!h3qLZ z&G)o8?MS4X`3G$}-ONGK&FBFgNjm6e{@vW^NH;S#hkm4+xy#miwyIKSh~8|;c@vn# zq^@q2BIAwla(?xKiou*+dR~+cM%~eJXCsX?{o>Ku?QaRsnd>(2jjNq>Jxbk$+qTh0 zx(*#omfHUa={h)H&reU+78vL9GyUXgyfy=T^C@6t`ZsF$Uz(<%<;l<~&EcS<#D`XS za%UR8ZN86-F1dHROppztRVg9mbF#QeO~jsDr4^8 zR_UwU-rd|$RkYS?ewr_||4=+w=N!J#`O@{rrN%%aW*4$n46LHxAJAFm@C`peKU^gS zR$vUQ#xbx&<=R>6@T1;Ps>0iiTseB*#zS!X7BHg*u&)9PI56TUDSY~m>`wVMka6Xu zM@t*_*%2Ke{V-}a@QiNW_uS|%ypomf&A$0pppqML9=&Eov-$ z4NZZWmz0H*-+55a6QX?qOI_)UBlc%A1qTu)4$WG++<0QYNLjIRut+&;tE8+g;hXP2 zDDsm3BA6lno>fsEHMQk!HeS(St1+6jEU1CVVhW%MIVcJ5Olz6G&Q9&vph1WO&pUX( zVrzKC6*)q{g+$Un5E*BB`mwg=1M9%P$|-L8)jU0a(*|(q=fM4S;C8S^Q1`=oqZC%G z76Z`rQ&5@#AU#dcpc1-Yh>cW3(H=aKDHqYrNOo9fWbC$YXjP8+w92$9E_v^EW4~5q zOL*xlkd_+u4{Hdi8D;}Nx{5>w_?au+)_q@oMb+hMpXWrR!r1#w^?cYQ?ebG&w>CRP z(q-F48Y@*vagTyq!c~@}3sh1#E{Ljp@QR!&Gn-M>`!`V3vs_~&%|_32FzaSe#beyr z{dVqVd!2#QVD=S1pFME1eTCvMVxdF!73UFmo9iUoZD*2jQHdm}0_-bH9@js-N#VXd zZ1xqkc|H$O*nZrZPq6u(DS%Yf^!|;xnN_eK7kAGwuds;}?Z-#s{lxa;BNWKpk4I(| z%bv{LhmQ!ur*ikABC@pJx`@NVSPhipIKWNPh}zv!FjQpCf+e_U8h|?a%*lmF>^(xw3zM zF1w0`Dz`sZ#%O0ui2#Yh zWjSF@QvF5y^LC54BBL^&qW$@}oMKf`ING0EHz}%?Bs%F&;rUV6Yxx>8%b6hz*q^JQ z_U9@jfkg$fW(bSLF0*C`s>-IO%N?F_ncJVMitPTp5Po37QYGj2@D;H%^&`CMN@s?k zh^V(+5Ta(D&u<;CiTUh>>a{Ix(+5EB;8%ajEa)WEmGR=2w&)IOw)0VC3-y~~e%ri= zB2|hkiXtVJV4T^BstbgSO~;Iz=4&z~i(Vj&|CEx9A-z zJ#dRYo!a#m9uk69dfGw6nIYWeR#Jpbr5TcKi!K=aXp3G?ab1T`6&~_?Em+Yu0)J<} zb5YeFo;^iCMe=lx8N%y~#Q-ye=V!UqxkRNNBa)73vovsvzE~DuwncZNsDNTXf~o__6cCldNsdkvI?i1!Ziv7TA zk^O+iIkQiHk}&oI7+vB?Puui=!G3@TtDUxnV`iCUe%7VzmG)AdXCn3c)-z|yAr*XP zi;hR*fm`(2Nb>FXd}(|10zqhQW%Xv+zvfmpp#ypIE2{(ftY2B%r}uBuacMkjy>?|M z%8ZoL&Chz4)$Xi$?pSvKA0O;lR?={@^DJv;qgnrfR!ms3IpKEsXR)LDBRw!*vZafo zO}-|HPU|z)yqQhD&6n0+G3?sp>jHV!oJ$ zBPeZ|I&oEJev0uQ-9pd#((kAEUn3~ILteJtuY9cG`y!YJ!0xdab}+ck74f~Y)+o5Y z@mr3Zcwh^A4t;&h*)Wh-2LIa7(Yi`{(3}Z_%Q|sJQhW zyG#I$i(8J^1g@A`pMRHtg%(8ao>BUmE`#XXmVnfWXszV-G9vVN zJ`zuKdV!C;<}vD6s-C&lhjI zuf-jA%`h1KMI{=wK>d0L7OD9ES4laIJu++%> z9!KUkff|`DiOk>C*EailW22F|td$&@M}-EGc?0(|_ALRwg~Jcf`sVCCtTLnMy!7Ra zVTO`&Xkmch#&{daKo@r(;ppOs^I4&L7<7B?tmdXH7!h>t-Leg{UrwJ7F+}$U#Dv8b zrwiBE=CMuxvbNau#QV3{+VwqpUXC=-sR*lfza0FSc~{AmgAdvw(Qs>c(`%9jG7?#2 zxss=k5xw`cXF}ng4cdH0^57?zbYLaMJ({xc&(s0R2uja!C!Ne5g^vQ#aNlRMb{UUf zYA4~3+0WRA^rMsT)!`$rvG>LLMqSesyyIK$BwX{16ZG%RwC(giu5|CWG-+-C{nyVF zM8mpC&YXmA4UfE#L_Yrf0&S+{$fIo2Eo##K{%yT z8if8X|Nh7UT|Ufpc`7yP$(oE^#+Wm#%d@Q^XP2=xJesbWT?YMT8y{Xzm(}&P=jC*r zZNGzuZU2MxOFe!{cz}LdU(s*BMZ}b-f(3&r=rtrz!CWfHwTQ@b`h!2HlGGr32q8W! z?xIC!Bl2j25y1xg8M{V5jtJJhGLQ%sjUIrJ%P%q__{-&v2r@PzU;Bw+FOIslB{fxq;{fRR3f zxtzY0eWkm ze^IhUGk3>JHgid4=E}Q2nWQsxvpN0V2UcbJSGI=dG6}EwHqyes-iC$94TL_gftzU{ zyMgF$!r;hh=$QBVnQA!XNtMavdRUXwMr4>~JE2YKp``Sihv@!##y%uhUlrP%clxSl z&lsq$+MqbAp{Bm{RreCl-Urg1AD)2y9XhE2_kpUS`#^mA6MCRQ_krr&eW0pCWLc6` zSEat_K9KPb6jm8kmJCT|WfWKEevaa5*NTCPt8cE#Ra~Jk3+MhcS8D~d@7QCu855Cz zQGXSgnB;*){YhITVP-zz@VSpWa_-OQGEf`YcBi$PlGYhc#?G8I)#Q!;&-GSnUVwhS z-fHoIU!b>oXx-=PtyHsEe>b&9b|nhxPwT$cS^a6znf)WDw^9+*50ZFTzVgpA-BsU= zfx4?@M>yS;GMnz|_Grz1t^u?ABSsfoPGK(O>6!F1A%%Mp4dm>)B-m&dD)My4g2mgo zvZ=Qw!QW7CiR^c;-jYaT=m+jL0nMNKP$GDva9K{cJQH@;hDK$g6d9KZN7sg`GI3oS zl6CuTt_`WY)Kw}g$y#Ny*M>fPPK%IT8&bYO*M?Li{M}hjXXWaN4pF}U6y;>GJOa&* zRg)P!HQvp&A>|H#f2QlZs>og&IuT}RhUY^HRiRxQQdh!H zW;lJFBAE?{pW<>)=Gst)b=Q3~sQ5TDx-+EqGRi$Gthn@dikOCh%w|us)N;zqkuS@l z$aFmofgbkIQt;mq9`T1qUVteZ)3XHPTcR;_^tQiE}t~{m0t)2 z@H%6jgAs4+uF+ofN2idY9!^JJol*J zEZsy0C>}58y>>^{;iR*3?+JY-rx$FXa9B>R0V<~d6fH9UI@4x@aypBfQ{Lp*pnOGW zjoNYdgCZ4^s7fsvoBkhaGL}BN(C!rcfG@SF-|^kcTZnynM- zYn9;Tcbvh0mw~LEY>B~XH-ZGGdLz(nKR?`od?+BR=ur{K<(AJa(dlXERvbv!%;-jt znVIp3QHx)Kyl`!?R7+$w7tAv?y zw(Y+s+t1iZ`f+zOd>$;;<(QcikanQ#Yi|E-gPGdj+JTyRG4GzHb}f zQ%TP3zuyS|cq)lhQOK{VI_ea4qdBrTahGE%*K27WHcR@M)YyMJ%h@#icC%6=q}{B& zy$%KpY5f{7K{!AICS!;7CxiIEgZSjc;#B>v;DqAzE@|uVLi<9Ppr(NsxngZrBQfDD z!^k-M89PQl4kO>z6UI3h8G6V7jI8~UVWj-rffqE|>eZuRagzHnavK=1OHZ&j+3;{f zi+?Z3+VK3_2EfU#o@T>iS#*gDHjH*HJ=JV@BGf#$T4Z4Ap7tL)BzH~AL2~LIM{2V2 zcuZY|yxxEaL^^kF(yys|+{Fy}4<3k})7E5dXSy`d{hF_#&%%XM&YYgT&4)*u=Bt?7 z#8jQJof)M8OBF5}nWOo#G-pOAj7^)zPOLR!^bEe%qO?;dhTWtX^pi zWo{(Z()IK&bM-v+R2u##$jRKk`SBSxxTo6B*pv06!Ce#naMQrS9XSw;H%~J#CjNBb z;Qn=rfpG!JnZex=J}Au7ll}NrkEWcQGZL&=8idJU6sl;Nq4Hx7|B1+*_n9Bd4&yTv zQsI4b3p0!*hD&NFqK5PsEsBgCH%V;pe;bv0?xdV1a|eGjxKK-Ps(l9kH`Zd#;P?3uboz^@Z9nEGqn2c+2;Yysb645X~0i> z^g%Rw$hDc*0OP?U@y@r8j>jH}H@&vgYkh$x6R9y@=3Yf@uDqzTbsiI*#9h6^r6oYF z9E#VY_Q|P&YwKdYlT*X5wR&rl2h=9NUm*E09!u8*)B0+H`cM4IuGz1}n^p~}t9)(V zJqaGZtbC^N0_vo;J5*ca@mYP#q@uc1X-Qr1L?SiZwG@PY{?O=qO|mEv>zWi4U&~>0 ztgdq7?6=MTO4DlY$v@P9E%j#9&-0dL66?6hQTfnpdz-8J^y(k2q*tS#OJBuWIRM`| z?|%j#F|T%3O`uqr+xrxJMuZ%@V$7a?wok>r)_JYRvcZ**)Lx5@38S!u>SjFRI2<#X=AfX3EhKuXmkLxW^iu^7D4QQ7D!P@@ z>!&8#r#@A+QD@By6O!_)7>ARFBvO}hpOP1Bm*A6PNf(CYy#i)YU8>?2d}sf3T18tt zHT+k6#bd=)743P)r4Ij#YF=EII{X^1^;fi?pvclhl1{{fXYhOo=S6BgE>(JGBIp{u zzHa0*btAhHBex_*zSxg44yi6K#`R4nL%pI(vBQzgFMejbcX7cU=XmE~_kYF82i^QLxfjP+^KMet zy9M9Uy3}d;bY7SO6CHl#8t^PRmXB@m*cyN28eaTN(CcOR7Ax>$E8?jMztGo3aXnIS zRmD=yu8rXATk+9K>pCtq;V;m<4rW39RYI97wKyJIXBkU>q4wJhxrtyyBDT%1+{AGs zUbm`wb-HHH4ZJIQWTJAtywyRJB(A94b5qSB8+enH=N512B*=96PLw5H*_X-EyuoW; zLLU;?TQB---5oVWc%Ew|Lp<0fmtz@MV|5r4H2=mRKCNQ$Xgt{WK-!7mNyC&T2iPy& z-^S_72EB%d0ob6V0!v!Nm@p0(Z&Xsnmj{l}d3-q|8lm$Tp))it6*utDX*ZPc@6;R6 zyU$D9FiIz$@yc-4f<$Z`79)P}!ttr$Nk0i#UUNGTCX1WcFd5nt3|>b(bxFa*p!m)t zC+O8dV*i5bWO1_sMb(+4V$Nz~7{D~1nVj%TKUM6;2J@15(@GwV?WhhW{3F?L6U7@m zijTQb0g6vm(p0aw@vxjmKd&uJQmTWR{c%YK!PLdJ`%O&K0@2q(zfzO<`UUX)MDTGU zc~-@`MDp+o*q7IOveq{|F)Evcp~-@4$P|w~1Y3HGUai^k zOHAQcH~c#%<9l6t5bVoqk!g5xNHCN!i7lgJc|E^0KA!RaM$5tB3)DD%&1S#b)0*Ye zOq@jiX|SkZ4ORgK@zm6#!QE9AeUnqgclsmWWvOJHNseg}eFU@KN;b6Q1+#h?tma_W zd)10spJw%O8+G>6=}RRjG_5MhaUR7ZieF&_;Gk*kllr-j&QB5`9bTMS$an~55#Tc| z;$qEk(3zUcr~nI$b$6zZ_G6uipd&Lx@ajHI=xLfeHJW>{dE9kyQv;q>Q2`@wsF)!K zw0s?>uXx2w5N=OUc{vh0ax% zibObCEFic=Vqw#?GL%pXz9SY+HdLzUH6A{~30>PqQ3H)gwR3#j^1V{Z1*;%Y5Y-P3*SnqjC{0V03^9_f`7uBn*g zdsF)SrU@06ahfXKsPxcljYlgR^soD5m217!{+7hKk@DfI=7b_?@91TbWKM6%20xYX zShB_}RGepNEe-s34Eiu6^I_Sb5BZr7OHs0^s)9Cwvsm3gJTNa%S}%!?(uZ|9blRb% zZ;^Fmomb`w>}61`S5_3omPWsequ-EUuk{>MZKL0g2RyU8D!YQ~kYF>6ws!P-G(4yZ zYe(-2-hm#yvSbJ7t4z(y?S>adqt7*kjeP6)?04xLQp`F&Rs$lgE_?RQ3)z zYhs^P$36(2@|L{oEm>C`dq4INpUXfs6`U}R?BWx8x%v2&?g_U>o3AjZczgMC>7N$x~Eu$>G(pO-dl6Y9zW1U{xbKJ=HiI z2uD%lnCjqZYTWs`Fpi60oZw(2YA{ZyiEXZlb;kM_Ji}%lv#FNa0rRQ~aC%8qb#h`& zZE~Vtn`vQ(!$OVF(2Js0XjoYjY^((Z3Bc?CkhT0?nW&C+f&kEv&+;yqM+oM_skI)M zr}o2K9oxDayiSW?KFz^Q)L{8ZwgteZxB{zWU+dI!|IF( zt3>;;Iu77wQdL8B@`8#9!A5V%8gI$_)v>h-(wh&wC683cR)dr|sWE#Y;L*_&u2M%y z@s{v7`jYdB0$@iBM@2pJStzP(iDPm`OWY#w`ibmQ0*s~_D%Sb=4R8*=F^$BaDo?9u zZ)}JM&(|J^aJ;Q1MuzI((c0LSn&h-1lD2zGo~>m# zUU1Q8y(RS!_%pS!E^monTpfFc`4B@oVms8tGw@o&#v?(`zOx2M77B=E0zxC`uEY^= zZ&GD`Yw|C7RorxGP5z8-4j(o$`|@YJsvdR?A-B7^Src6HDv@UUTob#pyC#^?9gvO6 z7o)yVsha#_UIklF{@VOYy7MQh04}`v!v3=+IOf%w*yQfu*jIzgx&>IbAA`TBoesk! zydG%Tjnz~vwSO0*?FR@vENCxEa*+uY<5VtG4SX-C@UH)dsXSSp$XzZQI`L(%bvcAD zIcZUXf$vMYUMJY2wi!fB57m*weJ`Pa`ctO#Hc2z1eC8-ja_SyH$Tr~PM5@$E`H5J! z*yBQ+KPQ4NxYl0$|0S>WLNyw^%n=}N1Cdi|lHX;N8DFu7IR(|RM{8m`Ym!$KBz@%B zB`~K)lZ+#w*t;YbC1;ipvCO5=W=-tFqM-Y#fT#Vn=;50tA}dcR01y{!N7;M0Mk!%9SqLVXP-9dy33 zhrgpsJH>UXaGH}pwBrhTp(3a=s=ZGM$T<{*$`K5_)^BsLptc}934(|a?X*r3_oU|) z`7tCU6B|t0IgL)FrjE}p-A0eoRNX?F_|ys#S*-4MXhjD+W|8W*v_)!!LTtxbx&2t5 z=(cPxg~_)}ebJ!%u`au{!DNgUcxrJ3;@TL5@oe%GxZ(5?_x&Y;r7rk7LD9al zLi?}4@oJK16eXvXL+H|9P@bhxEH@V=pI9Vd6{|iPE~N9MfOrxTwkr zu1cWQGD*!P$!S%YnrkvO`(R`V0dQ%Y-+_4U;8cui~*!Kp6z6v1f<0_u8yaVlijo#(R*0Mh#xec;Io+Dt z?FF$*x~a*n5dn#i*T$OsL|=DJtmb1D5<*$(Tn0gk4xv&gFNzq68{1!~WSxOr`Y`O=TQZrYnNSI#5(||Q zf}xXEMySj}!wC(ibi{cX$+e8+r}J)0q$>WSE_h61^>4b3LA#98wNPPcv&Nx=4QyM?U){oiv8u;CJ~ra4mb_2mT`c>Y9Ik9e{9;5$wPkW4r$cKUvuH z!koOd_?qK`pJKnXc2Y6W%mW!^e!z}xQVIWa9c|JG?Kc$}$NyC%OyhS3|IhSO3)ZQ4 zu)vNsf(6}H*@8Zo=*D}2Q@f8{ciMOJ!WZu-rnRxl3EPvVYr}_K%E4b9Pd(4FdW847 zlusseY(VtXYpuw&3v^DfHY{F9RM+jtUKF>KwZ~W=!oS)FU|bpYH7m~-Kk{prlTxR{ z^|9r<7c~~OZ`rjGrBk#rjzS4i3qhYo-`CcTAOl-yjH7<5K=Q9*Z+_~&USeV2$JhuZ z|7wC+>b?#oy=F-{kNm#3RQmk;=JU~AS%1Y6E}4$P9B1NZRe0gPAE=s3Mv+n;7Fc9r zSt5Ad*Qv+UKdSu1l1#kD;_Um~=dp?gTf&spsxDwh<7r^av*&xrgR7vWNaeiJ%|BEb zWuok49rGOLLYW)vx-bnwHu=f95x~EnwHzN>wRAud*(+iV7|ZNxC=A>5g-NjcMuFcgwIX_#WyqLG?t1TcyX_hopKP&|#SDCrRpqc<>36Gv4&ZCv}xP|M!m9sz*X>{>yR}n~<%z6TPAy^fvw^ zk(^wWNFFmvjH?RFze`^y`{;}?6S?T{K>B*|D-y?@Eh?>+CWS*e5$+*|BiArP`L$Xu>nDhkN^k<+CfPfRX*;g&WGD!Q#FQF z2h9*mDN0w=D3j~}p`)qW;|9_YWW6RHcc~10?^tf#vsO7duNsi>Ok8j^CyhM^oYOWj zD0mS5UI1@rXC|PUuVVJX+ghG$c-gIHYz2}-y(OqJKaMp%DneZvZ~C+-?oIksy2a)y z3TO%Is7>ax$`t&(Cf0!^53aR$NQ_Mt?^(lv(xm<`L%inAe2K@_^PxEBL%!GiCo58# z64mgvL|=d5DlEWo)rxK4Lut;3La+HJd?2+?1{>)Uh@_tmb&20_{fi>Z%2o?*zbIs)0hgQX}g>Cj`F4w4;FBk z<;8=C7@`m3ov#$=aH5TqE$avL_ncNfXmK594)?MNNW`{CXkM1!q-ci)ktm2WQp<#O zRQ4Ag&1NJPZ|W>L=NRvzf`j$%m>-i~yoWFK2CDis(Co$E$29AV$IkIC*<8-~$~uVf zLn51qyte_;Twg?{_bw;XOl_QaH|Go}cW2kEJIJ}6rcjA@Q{crSQePzPV zYor%QYi-)Jqvd~;rIt5$j!8~fknonQKgL@!;pefwcxnz>2xa?*S=??_QVK?HVGm{#ll1kSIK_oo8QA} zf{2@E9V)v}!mf--6VVj?-h36t|$%huNjbNV1)EhM0*hw9`Mjsg0UbY`l zLw3U9zAjkRGd#0D4GOMv0_%zb1Xk`bMziki26Pq%!_1;&zRkK%V~rb)IO0vaH0xlb z%(`QuS+_2lb$`juy6f}>E4dnYd4{T)56rsde2Hr#KXK5kyUmI?H{*OAH0$KEDjwU$ zhe5M$3Li)vH0zGA%8Jc)kgsmmZ5uf2cCy~{ZP2WXSJJVUY}S1oANjE+(b9Nl4~Jpy z_}FHZMBru#3e3Cv3J{q`$L(x%XJ+0lV&2(7QqH{FIB?!|^v^pu>s1vUj9G_qJ2%S) z%{$PP34C+CT3&3mH7`ex`Z1rYJFK{A*w@#jj z2k%!;MJhlHdeTJxL~87jug%G;#{G@gEMeYH9TX#h6EgN6;}fXt6UkFcyjDHQ=BF;} zjxYPe@9pm!b*#%iDv{2eN5^@)rHTykU}L$B_zD#J9yWr@!&+T0{+NT zMn}V^j*6!WN}9U&fKkOqcGh8Az#(58BLGgKP_QIt=f!uttMxrqv(GL#+l~)8WNDm> z_>mv+xzvP`rZ-@8Pb+`r8qR9qF12}emCw$tK?1PF1@#^mTD>J>DiScn9UsJ1FNapy zO5-r!)O!M(_1kNeyRmrFD?96g)9L;yKWAUXe%lW|ilF}a1+H=~l z*wIl}Q8@8`9^Azd7)KyQEZPhr7+vy;UfR^tMcM_}Hpns~GD_<7*G?>oeoOQl9{uab zcKK&ctteTRHyfg>j#_*#d z{>T-!H2F<0v%G9fcvCv?lrR_Y)+N9)a&#XMdM#%Pt-6_73t zdSUds2q6rv@vhTrkTk^L?RXDq?D*7#iqV_tT^VGtgB)>28(l%1MU4COb1xJTM$NGb zH5{m;${kN>70jHQi-hV@1@jZoNV=TvozrHrY_I}qJeq7JO)tg#k(=~{mZPRPIR_De zTaPi^@me(B0RB-7SBCgkf2eys-u3sYM?qgAc=Y&G!C5*~eK)?Nm&Yrh&UMVEAzrJz z_UT|$N4G}SEt}&(XTyHrEWU%*H{y+LPkrI&w75DR)a9jT(Uka6U9c7u_<6dc{YHTh zfibyOglJsjshPX{9UEERRvT(Z;;F;X@*(yw9qB79XAL#TY~mm)O4^4t)ZhDD#)BlJ3bj}7MeZYXi%nvxqYdJjT1dgNo03?w-o2~K# z=5Rl_X^vIVQg1)05SZeX?CzYGC~t~_m0bQ~fce*Fbb^*? zaP6<)qIGb4sc9XNu5Hoev~oeq2!eHzGA5IcF;2D^RFy62VZ;8!)knY5;GVrlV*G`R zyc;n+G7O+GJ`%iU3MC&<=bE%LReImKi=vdOD8*Y+TjG*x=PL(s9qd!6wv9bZGG$;V|0b{#!R%#tHT7e7 z3xtV1(5q&>DFkOP_D9w(_A5X1{@xK>Lm#~<&!8ZnQ7%zfJ*KLu1zy+lpmtq2 zu}dTHw%2+sLo)vX!IS5;97HSR5}Fdh-1gBJ!C`HAI>usWkElsrI4T}=X=7KyByQGF zLYTD+ReQ2_Q5~jHYBf1~DVSVV6CBQZG`j=g7S|>+t#d)V|MP2|sR zi&t)$cW+(rX(BndotAAVVh-qJiw#38gBa^ugpcd=av}NM*t&@kbEu1DMp*-pFwFFM z*VQZk)eng9M75U|`^g82h=ljHKe%iD10vzP1|^m$@op0R)Y)C9R-Yzozv>@n-W5$G z@33JCP6s&{ASRM`3t4r+3q59HLen~pA4tadOt5U`SE0Dn1e=|2OY0|Ynl=0kI>#E(5u31 z_wkb#>8j}LgG?WTGFMr0gpO#v;m9x^JSBzM^NHlegm z14#YN(>({N2=%9MmkZ{xt`O_a#CCklBS(!z;V&0G#u~yB{Q_Ilw>7h_FGs$Vqg9pE zg$k9a6SS1q{z88Wi^1zpVd*LLM+F1*X)L{HywIn8gNFKX#QVRII7^Pj3%P>fP)>UL*dO^aeI`cvy=Q8+mwu4i3Smw@LRE6T0Jl?YrX zz(bqSv!ig^uDk0TPpZ0j@=_KbF?){gMpjsHjVRPwh>M%Y2zYy?6bg++Z{= zTF5%4!}e)Hcs(1#52Udghaj@pkHG-WXZF)p^^ zB2_=6y6I&vzUj^Qj%Nw&QCIn7oj2)8D0NT$)*%QsOZn|B_lI~(jxUI9h&O!%<+h?y zBCUY5B1>a0ex6GkN?Ng{q5PWU(uzncu{2a(Uvp_+BCXWY(01))QczzpX=Rp%uIpKs zwhw8;Eo~34`R^``W1i#7Ep1P)G95Y z@~5OKY!k19ai;Eio7~zPOD!^UG@6w$^;1%%w}8(M>BnYBzdr-@);SZsi%a*D?IT;= z*ZCi{)7coA{^YH5ymK)RzW4=vHC=r83529>dR)q?PYFCpVCG|JqTYLfz;gst(stNq zJftG0olrviC4S`v6{u%-t|MnpRKd*ED)%_$HWN4lZS2lY@7h`L3Tg?twk_ahlKBNb z@8limi&5HM@|-kXDDNAYhrF&jPMWUiUbFNEwqB%4_wiHb#*X!tm!6Drv-EoGm;A~e zuT_^WQ9k@f_RA9T4RK!^FaOM!{OHS%Kl6nHI@Q=%`Ehgl_Lm59j7d$i$Ker2na&h6{98>{k~XOlUe98-a5wb+uT@L+a} z-)5@2$hm6Th^4i;YSI&5(lC1qUL#Z&q@geN1L=G_$)~_0Bipa4z!6+->}{W4{^Dm}7~`H)r>z&$k@?>mK4eaI| z=(^-SbxBNZb^bJV2Yb3yLA9Sc?FevtLB(`iQUZ3vOg%qUu%|dA%ZTDLh+nV3Ox-P! zX>ayUeRIWpAvrZMh75YAmj88%Gg}t(iy(I`-`LGG+oLShbFIP)T^S6%nxl7DU3!~K z=OC!LqTRv;*P1G5Vqqe9L8*(PRE0Y%JaH&$3ToAI$^P3`#cFSP3_ha!FX+u#7nC{! z&B9mkc*fNST$oL*n90qCj@qJ?&WVa|a!w+3YzdY)=uWSym;-0t zk_V}XVLw@pNKW{5ZrXGBw32gh(r>tx;$p6UpZf_@S*ryXNiODuLuEFv7cW}PJcW$KU%!5-79oPBYS_VjZxQOVyDxzoD&4~Jqd{AhfzcDfX_KNvH z>|OIyRtu>@iIjr(aR zS+fhiY9$%vj_MeWubVoD_$+_Zv}86QBAIOIs?0VZq4pC)hlVZc| zY8J|{*>B>i8|h6Pg-uCV^h+nrZ6qFk{0ky%Ojh2~pQuc)MCpGZo%;U?L(5BF!nAUH z@SjDBpV=Qb4e<&6annRk?2i{J|F`<%s6_J8|K1-*{>w{$r9Y08mY2@Y#Yhe3xv96=qs5-E`>&pOxTUAu|8nL@CNroLFPzqg>2LQ1%R zgdxGn1>S;p$l|A_!aJJ!^7&LeH8`H-?hz%&-XyUgN-Xvk{K@hbJ6_+^SICz!iQuvl zZ-E}l)GJ3#eM6N!5gcFYEjXV2dyhm_ynYZA0tH8ai;s@y8R08WxD>1yk#MB2h z2*Jr%I5MkOYXiYHd8A#kn1Pc4UIiXwE3a1m>E<`!2r-9L%@O=F943<16*pTYWWYqO znekL%AHz}byP8#tzb8g9Q(@7a-6e@V z*QxN;QCK&#<|yoH%m;dM2tps01Y4)o2L1b!UQSf!T>>j{@pE0gHvw0i?p+&)ha_Sj z=s*&A*!A0MzI40IBkV=kR;>Z~1xN$`;Mkt^hQra5`OKr-e8cX3dFj-k6wW`1MUZdf zcl(XSkZ%X?_8W^L-|~0+jm42~Z)|hzHLV${HhE+t)2!F}kiK#KKtNsqkm-As(6V{< z54qL!LHZ5Y!h<#)pHRpq;s%9m3U(-Dlke{e*|hr~g&@Mb^luchsl7-cs3$MoN{DMQ z>Ge{4ytPn@54SB8o4CK#u?^c9E{P&yG~sWEq;En^5iX-lMt%+dKqUN~{`ockaDS-o z%=J!1kvQ|E6XR!wC-}kRC@O51D!1SFRLrM338v!A3HIeiJGcX19L1N~?_F*QW(QqG zob5PtkqOi*;58qw4SwnZZ6jYc9~oQ23!aybtAXn}+IJ@CnQG(G<#!~8HGT9I@A^(~ zBwcIkG6L$mwI9)}99_((L<0M8!6PleMt=3DaF+`Lzqa=j*7{@2s-QyOyEETY837#a zGiT(Cl|*%lAfG!Eld^F6bBqKHt5Tn-riLH{SBuF#uPP-~dUd?=DQ5O0Cot-UqzR0V zsa9Bvw_r6P&MtNW5hR;CIpovf}O%+n873A-kfk>CY+j67S4NC_;U-Pd?pBwVp)bq;;KXkY|^W!pbm~& zw=0k;M$!66Je4?6PHhpw*KxtLs_0Q18Zwul6L5M1AuJyqPJ0l-;j7%idx7$K5_M|E z<_W9flhJM{jIf#(R!t5++~jc14`)5XZM=pn=x;+^Uch~=)X!i<+Zr+XT|RYoUQJMn z5dJgx&$h-B2PA>oZH>naNCLUr8oxOp3G{Aj9PW~|aiuX;*|;YSPNl(8l+sSMB}`-f zuQO2@0PP=BK)8R^_Lz;?5gvew=Kn z=AeLkOKg0UpVB{srn~Vaglt|@@lB=83};#;&dW(S@#p>WO89LeAFSl28~oqt2H@iu zoIU~SoxFll5p61BQ(dYtpQW+Ri(`+lOO^`{Xn;^cH6Gr-bAC)agW`(tpk}pFTp{Ud zzVe|NW=FYt-VPbp9#}W>9UX&>{(zEy(`W4ID#NgeLaB&vrC5s9-zxagbn#OzgpUZ% z#^P1o&H~+XoFrRLA6a8^%)?f57O|QmPCqpnX`jQ_IJ5GlPq2n#x;J9I+P9atV3DNy z)CnkEo}zMHGUWv2@yurZ3chl>r+W=-(dlqON|0(_hyrM>U4H!vbBx{JhnJC8X|3ea$9l?ZOHWp>R>$o;mx&SlVxnGO$L$%nUtti2k zj>`}ri%YWe-joSPm0$UY*ZK>?fHNP9%XDi)A_W|=XMKAtiaW_wTwwWSr_R!T*->58 z*)SIs-CmboRu??(EKS^*E!wVzL+zS|rd9#!h)(MXjd!3;cxILqN_CYlH&i4GS_5v& zq^jvkICmIbgW#DskI+F~-__Uf{c9Prt5<2!$x(eH_eQ04RkAYO@brM_?3a7iNbAchjAmHfaB%E0IMU9GTlCsJtwF2uo&vc})Zc zR=dBJyX_K6X@yO%^k0ablieRPZyo!!7BgJ?1ostzM*`sy=!22h}IVVambN)hA-q z9WCcG5HG^(_l{htQlCt>=MlHH5Ua4Qtj(sve4PM1v?GzaKYF3Y$1FQilw-V5=1j{u z{1D%-*OU@X1#1+YmWdL!*~TYG(Un$)895ndMq$fPMMN3qpQP;Bq-QiN-9dRqbD=YzA{P?u3VmTqZDD-rJNk4 zXk1)MZIq(XbSdA8Qs!q<4vA7`WK+B-r9PYT>D54Z^{N>Fi0Q}xR?_UyqvceK%N9S? zwv?psOC@`Qh&g4tzVM^7J(}zOy7}Agk9Mf;WJh0Es1$?4m4{JUW)isLlzA- zQH?(jV-59MUL(`!=X&scQ{!^W7t0rxkfS!L&5QGt7K&?=T>NAypq93A6sZTd3cZ#+ z1PfxXjRLv#@D}Sl4~~tQDHDn)+mTThG&E)qfzrEva&p4{?Azyr1$O)u4Q|xI)Cm~B zSRY~j*G*I81tOpr62CYN2sl5+9!20pvaMus{JlARQf4F|UK{D631SbGh0>3^Q{8X{N*!5#nrXTA7gnq&KDwBMWVLc;*#4*fz``>VQ4O0eg@GR{Z{80~Tehn%(xeAidoQ->JPXDKm(R z4dU=#=cRp1cvZgoH*BnfIC}Z+T45SUw+K?I+CPH0JOlB54&vhvQsJ?E!<>t_`3Q4# zRFK?lCAV;|BYbu*GKp*@ve`~RWA_BzQPpozQ(CqUlzpCK=vMJCV5dDK}x3aD06$Q~YuXHaYs6oSG__fQ`;ua0+E#G8BqUBE`vv#vk z6)j?^z1Qt;sQPff?{W6hckcl<^ms?bB1!x{QfZ>L<6{T*RCrg@TcPowz*ydIGXsHB}Cl+xQ6Z+$i`ugHI zh%mPq99zQ=A^WsUyNtvs5`HIY^x~XGh3$5gP|N37-?xU1hV?Dsw`mgs*GPS=GQ#;Q z;V3JfGr_(|vGhsN;Gj2Ji9fm*)9n$`Zz7?s2Nl-J^gIdIO-Jqb-*eR9@g)t1G_8|I z>=?}SdS4%-u@651g7mjZNgmUe@^=N3`*_?i>po2WPLQ&tuP_rszw)t(Iuw}7Wt_H+jYo$x-Q{B#mi*2cNLW(SBAi&2DpmiwcaRP zCu{vg^7L_a@UZ0EQCxm8CstzL@PnuQ!^WvVUtMZUK}McSRDya8qu3Nrc`PxK9fiGoCI zR~;8Y@6;1OYIUP7aChi};j#oP#k$1!3&5%wy5%mTw03`gYZ{NN6ewdSEK|q2-H4QFM7nH5xJIfGS#1P^ z1-3D7DU;%bT4dO-$AmBYO11aN$6 z6|EW87OA50$*IGQ6jXn^f0!<)ty1=Nx)4IzLPgpj_!WvRuB&{aF5oV4H?~|4CuqIh zPc~GvEmQjm&&PasyVv>_5fxjE5icZ`82Jzv1lV2|7vW%MNIwP0s(UmY+zS%5{S@2c zJ*t}~?3dSYpwS}sA>0<@29?nxdYciQv!6wEg|DVfer#)^^2OQri71&-5a1%nk^3GO zaL=k`DqKKAvruTD6~gX-r*RL>M8*{B|%x*)%4YLw4L^;L>2RqN1yhUCkHM*dMYT|shGPH|{@ z0G%(T>eFyi)Oxh>2ko^1N_s(n5{=_Jp}AtdMQz^9nI7@*MS>|g&vz4#8Kc#%Pq`N= z_hCOSQi2W>NECm`AdN`9)!U~G8}X9>`mR+67OQ*sfG{TFPMD1x9NWP{M3+9OmfL4M zy^VG9s>ES;8F2AnMP~ZI`R_Lnu=1^nChszp0gv}MmANsPQ<=!R#2KCYfGPvN&48a+ zf+NX@^@-{!ju}?3fNa+>Os}=Z+^Y*7s`HNTN*w02@=V`#4rJ(^F_*JwY1gMEf=5(% zp-tr%(91NQbzG`|W3ty_3mr`BGMv`2F|am8=XI42H6DrXkG+v5wsu8mf19ov#=8ff zKe6#?rHRc`2wM`BPtCqpGjm}q!I|kIfz_sIxN!D-h1>P5UGH`=($T>?)7ARg?qiR$ z*lXF>#0KcWCU=#lv!TCUp~b3YscP)mJ4Y!{Z-#7v=GwZeVEgy4nY3&wlrltU3MZZP?@6rGCNVHR~YWYhA>@1L0aT>$7lu z)rrMD`jq^NAC#CoGrfwc)ifBp1o~O-t1E9f2kOFtbWm9$*G*-A2s!k zIW&_xxuju#C&3SC>6piz>jwM@R9}oja&5A{FEx2r;P(X^dtN!GEeGBkUd_}u5Z?G; zc*hNf_v-`TJzyZb-w?dRfp@gvWhHeWhuZ)r3-|4}?*{IN9NfW0dP{vE+}Rz6=}?(N z%ez3QuF92#&roq9b;OFj)Ew)R`5=z#Er%dKJZ&#=%&p-){3cRoLgZ_-8@>B{fFbz- zl9T@7xLklGzf9Tiu(H=g>ueuzwp?+<7!wU6=3T~gRUmlv!c!6~dTKHd9 zdl=^}NX!0}o`-w3MS5rC^LX%qx}p1iGC?;T8~T?~CQ1WIc}NgkRrQfDg2pTcu8VWFM4^mUnU3p3%&s+=smkv6zWT$D)8!TfS=DBCa; z9Y=@XVu~h`N7VdESLCj&k{D3s>Op+V1nM(^X_>%u1wek83e2!n*11unRAps>WZ|W1 z)#w5-B^+_7b+_7@x&+DK%4rmyQ$p!%CeX2IkriSr=oR0>HVDtGI`&6c(Pn-Lc(eUI zg7ud0&(M*d93yEie60>eVzRJRRiInc;xauhNl(f}QSKVCpz}rH4(LI~ z+(mxSnHXPK1QcG&DXI{XK~wUEcD4L|5PoXhk997Z{4d<1todX$obCpdd*z~1OQlc~ zmA=zT-((OK4za#7l3Bd>iiVT5Zp_^jxT=6bMlipTW^HP-gmR z1Pqh^y}u8wURYI@zRMD@By#bd``mnUVg!>Xe@>XZti0*bSa`0=OHXS1qu@jH@S0ig z{NO`9ya)y_sTZTT{X#O&x4MN`SUM*22iSsmRMFVVyzn8>oQ9E^9#2l-bQjNWTg$@V z{uGo!dA44|C@!H@tM{l)V<>i`rg+m)H-c%}IvEp(-%)#(hkMsgmIS4G!^_VFgz<_t z9d%YFf5U}2dAlVZI$K_n%lhUH8tGROkel8Uv5_Y;$ud8RAr3p zMaJDO80K>0R8A!QeNfSZi-9Y($qlD$T;5MndS5zl1hw-<&ATh74Irw0&k}~VhCkH$ z!Ore!8_%gQ-~BnN%Lq!a4Fjq0H)r>IKl)u19u-dbdF1T~)*n7b?_uyc-j0%o-lnF5 zXXW%LHEG0J=kX|Vc7*)`yCM#wVbhb4jWX_y_VI%$NO7#9u$-%IH8#%5h~hQly*f%Bai| zoGYX7xIgB2G5VfGCW7NRVWRR4)C1P!L^^E=vuCPvQFy$j%fp&B5aI592{o;%iX0dr zpw6c*9KWRhU9++2s5k>1O(iKyveRSUVkcG{2`%^BPR8>7jF0DL^sc|y=Cx#}LJ_`Q z%xgNT_m@${4aa0F^{$sr)K&b<+2sAYqSBOo9_aLKCcGqP?({7C7rZVte1jRawpLw* z^}eDla*4#mo5NH1;uPm^=2V*2>tVU^3gZ1L6VnfJZ!L2ay&YD4^;=y9B7|e0Z|Od` zAc3+V-1g2R&ftxSt;O|a;`$O@3qDK=g{Hp!y=$K_Ce3pi&vuRykQ-z9_L}8ejFN@bsMUj3^v#Kelt% zgJN$wkNP`{ho8L1s?b3Y2UsO!^phur;qR^bv6rp>UYE>bdzCF`)Qrifkkskx#g)1{7u&=sEOFo1m}oO6B}7zr@&~NV&85~(vhbhR(`?k7APG1A zNKk6X($+IGSqwk=^#L^4YzWZF9KeM8{X{vNBmB6uAxdL#e!mS0W3^y?7aim*?zTQA z|7!b`WK&x-8r}TrPa_k$poM!gVT2?-Wr<|f@>HSRTjE+C&!PB}i9LdQSKaLBR(XC^ zUN;O?HhRAC&9KtAI68|oI%gQf`ExQ^)ufJH^rx_~%P3ruNgw&X-}x!czwNbbp?O`w zd0Vafu}7FVs>+?*a8gVW*-@&fwGLs1_i0RmP95Bq#j%Y<5tCLSmwBtxg0UinD<&aQ zwsh!HdKo9sG!@+&M2)Bw3;4=2FcBV+6CM?XFun(g4;O9 zrwYhRS>d0BGInq-sA#v~~Jm>G&ixYsNP zs~CcN&39V>O@<86or2=L(}h6jDHW-0keDxI=8uR?0NaSol86g6!IS|^M2RI~@85Oy z>==RM?29OMBc*gc_rw_zvmBF&r{;;3y!+`dDhb z9{m{s0cj>&6otiENA~!gA450Kc`ZLBdGvEQYD>hn$1C4TU~{V)q#RTU#q;cUJ8Oko zhjeuqo%=hQQNA$Hw7LlU0vuSqH5;y-kfKcfGVF}`b}Jrk+`8PLRb4W?RvYok=e_3t z17BmIx-6xICwW9y5=PSeF#~o^TeM#Kxch3EZrRkv^RwTO1%Lr*8ikhWfB;GK3T&|> zG)5Lr#^U+dcYK7E;$}a#W^$@#zg;{h^NkL_ z>B<>-3a#Jn{it)hH?8o#MU{E@AiV2Tp5XSq!#Apfnrl7}BWs?Cna&3auX$hL0+)XI z(w#MR!04l#OxL2s$Ufcv)bNOTHQ|v?Q)rm2jLE?hkDWbEP~GI4lAJoS4->RP!|k9s zc#XZLm^y0pj&bm7sMAl?aR1kwjPO7dnrseTKGJRpu8FR{GvqahUVjs=Td@6DvrLQv z8<2P~%8rXtHA8l#wxxud}68&Cp%xHDtDN%eI?HP1^-tan6dr zsxGxFt46M}cfLd0+x$%*$^TEVFS~|p^Hdj4)#T%x#Hy>Ik$aIV^mnkmym}I=T!v?8 zfvvTr$(D{pv~<8z@jnD|IUY0Kl70)z!0bI1>cP#&z9Om4R~Vu#VT?LB#P26gH=ol# zm7!mDzqZVQAvm~aXhh3fs9MB3H4SYAxsny6GyCf6;hzdi);jZvgYNl6C4h)shY#JU z_qbu;#@LNprMK8-QQ6?fN5h$?h_KL6j8Ia#nC(gi9^=<7dAt%XQE-HFB@UJpwo>5@DhsM9NKFuz86Awu1o zeShEApI150bDpz&w(~ikbI#{{&OCvFHVo*6HHD-Dj0^94^NERhgPIC`T`rKFyWESI^7x2L|X6>aSmgnF<9q!3i1yYAQYJ_ zNw8}`vA!k-1XI{qu)RWcLwe!frVDA0b_nKIQA0?0Gjmorz|>F~A{^1dZgr)t+ndPz_kQM0vTx2J6m%Xq3lqQLSi|%-^D_CeB zcDOSzR3*2Nw#e15hN>p^X{idXAGkKHRt^3cY8M|r@ZlqVeG0!oE03}ue4@#;MWBd1 z^AKyWSMD8y3Tsss=wPgSKdjXZMj6t9G$l$-1Z+XjM)yuKOe%Vgk|aR93~9=Pg7Ajl9a(d zTXA=OHW=>UlD5Hd+QkB)yC*oW8Gsl_j-=Hb4buTL|M=`MpJ_kgJ==VzE%i8Fv@K<^ zq*$895lfP}ED^Az?!Og$M8ESsA+5lU!hlK#1f5@`KlKwzVLqciF|he@PiZKt0%i*~y1MH=_D zIqWxvm# zV8vSqd_V|~K=ynSp-?I7Qk}D^3TKz${-23sb)~i`bx@~`hL`V|#0kY`ct}~9Q35nE zvA|U~yqmz+9xmcC`L%VgPO1!Zea?Bns1?dF{E%@Gblg}h{!_jFVw%F z&3tpX>4>gfwizLpcd4hS;UL7R#&0iAg7#^<6Ftgod_8ymj<8NI1T*=OnTxM!{ye491AeT+l6; zY?{%j9D z&*jE{1?alN0b@?OtT3>n$&MxtJUQHsIA+Aznc-Nn&CS6VfWWh2ZU?%k01rhcy;(rS zmZ$d#JqzUI4cQV=CYOmdXdlnRu?YF$CKBJ6iDLlEVFljEGqz9?G_>S@7zhXgL?M3i zh3F3(aT%>1bmf6Vt~^Y_gQ_djQ*&ZUOElVu&HW=}uwkvkgGrM%;e1;t(bRhezd-ZG z1m$96;^-3%in=_BdI*KyPDb_oQ%n0(I!Fnj0@h~Y@yS9^kSrPKf&?I$NfS~{lSJrL zgPK6rbRx~-dK}|^u{ZMf^%fdwS{5awGLtv*f@fcqqpXkxa^W42Bwk)0hQQ@p^JsKps7O>p91R6LtnvhE9T0^CzKJ{%}EDsLHp+ua@oGn zK93n-jhHe@2}Ut=gWgJ?nUg{_5*V2z63a`i8FQe^P5=mTYEb8258}DY zowN>d4104IhI~W_5vQ#;;}f;AO_QB8#yhQI9|Qb(QDgcuV56fdo#QuCV#ahw3apj% z7$YTaOfphhA|=j9i63(|QX-MU0i2~05v|P&hE%1CPQ*#Ze5W&MHLdP-aI&q>3NOuv z6J47XIG-4KNV|QhxRpM5|<@v20Rjs6cV@#)!%j%`y z;MX*IWgMRZKvYe3Pt03E#OYqI%}Lslup@mR?dJ$m>w9ds{9=J% z!MFm%2EZ%zx)9TvyB(H?d! z_d4H1b~;Y4;2E4<4-@o}8Fg%Om)hPBW8!4I%nbd$%lN*W-+$tFhqvoWg}Lw7=qsj` zAwxCRvDJM)EJYvI%S0SDX?Ne_B2lm`FeM9hB*8L}?0W6e;muFDPqOtuHvb|Z!16Ir zu4eg*q`aAZUc&n#`l$G1e!y5?!bV~CZ|2Zh*!AS`Tx5|QxXqxFWre>N&Lld#x(4+N zp}B%7aG!n+VHhYZ?n>1L76ez}EBy} zxdv#_EB!Ke`PVMaT{e{5gDME$V_yMIZ|tU>T%*Pkq|9AjFo56xJ&~wZo%jn1uwB9$ zn7$vRk|xUwS0`|_T@ViNIF#kp@Gfc5ou~30QH@LCy_3SS}9nrj`Ze&Cptam z7fZILLIz?>(pBt@eAG&pb#0HO}2SsH)6gG8Jx03%ixJn{00)} zTSOuiNSL?GAKW5H?3W+=9{ga+2oY8LuGgKYR1iRXmf5-!vF`)a!lexv=Zu zF##dx%9BONOMF_$H?x{|@M19YRXHrA?&%pgan@>cp~@uAYZ;5yCAFmxX> z;J}M|F-L2!=$viB%XYPzmxXAba8F(X9KEquBRP2J>|tQbk6YIZ0o0lNg)pv_LV8Gv z>m_Wwj_W*L`=J`FJEO#uYmpl0`0Ssyq7mSW)sk7~8-x@q*$+V>EB8}fJK>*r?emQPj`A+L3`kGh$tE2ZbMoB zc6BvAt4bNXpkIA8dPFqGQr}|zt}e%rOU+SFno@1Na|mi<0+}=iPk_=~&*92@(K+%poptbe_~NbWXVkG1qNtcZE-1zjQk5RBY2<@NLYba`!e7GA|) zWYmx7SnjGS?JrW*y-gIPU40?*K-F0Cc?y^%r@MR;Eq0fN=ZgAmi@)0~s6ni;Q7SlKC5SQlA84E9_co z<`3}~=^DuU7V}=hSK2(y!3?C*VMbWH)xzWO7b!YnX*2#JcjL={<}VWPxy=O|=&{P# zm%3d#e+9aqLo_OM?Ko_C(*HR^ZL6l}M!x$rPMX5%n2mxi?@&yCz4kU+y5gDMb-1>m z)-3P~Yx9nW52kyM;fcGawheYBFZm`OMFJ80%xsE146z2FB6T3;4(Kh#}^+eg(tT0=DccB(`^a`Dj0?(>D} zwW_m-nUbT|ma2R)qJYHVGd-l>&t1rPWmun*0dj5;q?Ja7N?~{O*jowfCU`C0Bh)NpEmHwZs1AaQhBXZ++ zkX6w$tt)2YeP!_7=LJcv1p?;-;cPF`2#@>19R=z&uf*>}d9C}1 z%8Sc&=$i46%j@=~g)PtQ4<`XAiaJwsT@8_Uc%gV0h9((1mZ(i8ONOhXJhOMw&iqIWZp70ooL zB|wAC=8D$DN)B4CQwuk<#i0y&xHbP4?xu+flXgC4Mc~9xv?JU5(=+?CDO4;?jUIvH z4h4S?)vmvt6_K!|o(U#4PG>PM`-XO+L$y|zq6 zr>q^Z*8c8?<$Q@rS!=nglJhy7k9B{MF)+)$oTGRKZrZ%Tdn5c?c0^%4&$+4Wa0|yB z6}Yt0d-2r#OR=BG8|3QLRKPZ(^tw(jeqOes-H6i1?bFWaky2l_;uJ+I>~sQ1iGnHZsIk$=u_&1TQCKPK^k8ZWknP(vL}{fKIHO2P3+9BorAuS zk9$;g5$V<0Ji?l*9%0wVQ;z!hM%J#^;nbTq>z7%qQrInyZ*c+0PcZaHsT8r-Yic0!-U1*aF_7KGd|J3luJEdN~X$xrzSE}jfm#nT#qQ>n{ zRcn7`YZ?kxsq-Yw?%kv(LpRu%#XhmE{@RjJ6=X6rY@Ky7q~4YfG7H+>hIyKv1r;Ss zA}p9KoNG>k@(k_WeQ{~o+=5l*2-znbu`*$NPV!pumXVX?TN-~wtmf%*C6IN ztTsL&FEGDe3)@xqCb=TG0{VIX&;qiE`uu#WKA-rQp7#8BCFV$oAJ_HsV8#=z8Eucy z;MJKwKxSVbz7}?U-prpr(xRHr4CF0l-e|sZjzq~5gti|c0R#BGbd`QJ@S7>G$G{I1 z+5zQl(YpTWXuv<$535q2|MkDeghj_O)4GwcRP_WGIHGRx4FI(Mg_gQ~UpLa|JMo?| z2v>13B%Cp+`iAo<-7UoTUinKQwDgijNMl|)>EOXUS`M3q-={TPpIn4JH@f7yJeSMV zXg#uJd56XE*cHsJ&8liy8yFc6qW6P%r{TU6D7rQc*F%uUA+iOAsMZbHaj*g~CaJ?6 zY_O(|w8RFexT;*_h`1*k5ii={n!HOi~UZ^qdYtAGQy!I=l&l}qw;OcfPYtcN)qfzwMLwYr_RPshY zv|c6^7oiBF0}Vndjik#xM1OryxNY1`TS^M<;wRtwxA7^iBCCx64K7?jkDr{AGjVBB7IqwJr4rWa3pVh9ni1VAK9I&M%22HcPmvDjh5oht;ZRcYiI7wZwH{Ac)--3X~xJuWd2plHRb zkMW8?MHD#10F6?weZiq49ed!ZYH*wO5E1m6$ZK!mh*=HGKTb>u#vO8a@)V*h*i^ZQ zhP}m)X<;SsKVwGq?nP``oWd(E*QPo;C3aEj)cGJ8Cl=Y{!mrcxZj2W1=+iVUrdKms znJT&8sBO}Mr495T$7Y~x#LOhlXhoIsw@$_LR}6JnakOI3VH-$@=b;)Vw3S9V+@$Ciq!JpcWi@E{B@{#{KVn%_st>7s@$n&! zGEh8RaQ;C(Y}5kL7{a5V8jh(#ZVO+&x_ zE4~}G6!`88NP};`%pofv7!oH>#8fD)Wp&lXfDdQxzNB5jSrqXeeHjyjJ?hS>Aw6pQ zS0bF3q6~#|k)(U^~4-RdT5D3N3%z{JF%_UaxPeS?f0zE zOxTAJ4`z=q2hay+`O&%(ZZvf_>!CoAnHi{u4GtErRI7Gi0JOW_%)#8b!v7OadI1zX za>bww75LWv7NS%>g@BsBUu%+pB5;5$ zy^fWB-)q3ew-NuC|yJ_0csypc)G z<*y;*ypbm`zi1U0))6=PRw6kto^qPAG#kX`xq$Om4v zhAxPbxjecfH!Rh?Qoc@YyTb5e4#b0ieRaBnSEHe~!!U$={d6HEvRb9FOd$hKfIeot zC71WE9Eq(02^7e_x&XO6k?jW~W>^O3}? zDiq%o{Y9Ks_~_1rvs9!%2f9}R6~GTLf`JMya=9;64|90(M81G#vHqNnD|=&f&6#n= zZ#;jo;EYS(G82uoWcf8u_Elx3%DZl86C1)BsBkwkNmsjW5g8ORv(+I=LFlwsR9WP~K?NvkmdjD?NHO%5!5kU5$z7$|K2BXRKqGg=<-Yh7 z|8lE%rW=B{BL;lFZjQ<4(D)s0DmZJrkpi7C9iVG7`YuT@GpS59kcyMUugz^-Q4T| zx&@8fzbmBu!AG@UOU?j)wjb!2Duwxk4ndY!iY~>uSAc6~kQ)syUgUak?XWSMKdJL|_X+y-w*U-Ck{?u+vDBRcL$| zfe+f`KPLg7XqZ*1CpN*VzzPrf!3FbW6F55KtR&uHbr*jvqw|BGbLV7t$?1}-LG^n_ zM&~z>j6=dW+(yG>Fw97r%pc6>?*Zkb6+^Sp1VFJ_Z|u3U)ns3_lm-gy84gP`Lm*ws zjD_Q}5yQ$Z)RR?D`@x|MryJN~>maO>tvz#(?bOd{Ueox+(UPK4;(&cNv;E;3ZIUWa zeInxu!nK%R`{1i4PuTeed6uiu8%dtUvRFpkUK=l)X#dc5+g+cLEcGQitah!sYOauF z1(Jm=+EKT-eDD`jh3L=D7{~AqH?@g zIZkkUOdDh#WaK2_3}Jbly6J7ft!|}hkP*mXf>WJZLYz>=uODgL(oNjtXjCZu|A+YQOLcYh?1h#ng!+^tB z2a&=p&FW$e5x22!YYbE_O8Do{q(x-dN=6EXztZFQ*EdqEeVHEwr1mlaq)zoQ0P&(7 z7W3mD0@wo8`{CouMD;OWeExS>S*KuS0S<0ER|D%nB|&WuK8rn;3tDS?>}K>;nc!hr zxI#SwlNahI)Z{v(rCE){@L`G1dbB>GDFl6VsFeEXRq5H>+u>PN7>3YCGr2T`{jcXl zA8on~E1^}H*?@(=ImT};f3XNeyI(72HA{f36)lDHbi34P*x+(`F2;tTR(rg0wx}HC zaD)oL@6u|JGXFz7xm%~~L;@lXK=kBe89wM<_|J1hNT{UhzF{xKY?1Un?*Xl$^f(h; zu|_o1_f=X$T`y2JsJU-a;$kO=az!L@(NGIM)WT+y-vg@m2groh>p+$VCgB zEdNAnsP|=rumE`uvoSIkBflk;%SpPzLs;qxBdKAf+KS}lIH;Vik$LBA!I$0cJV9o$ zEV5AYuP=~pcX+kn(O&SVFBt$l*rT?-A$aUWvP{t7Xm~)?5pH}W{H$W)`x=jQ6ORW$ zJK(W^6M3&aw?ub4g%QD=FFEvyHd#e2L`W>#4Bjk`)Hpn5@^SJq3XWCJaN<19n3IfW zuk%K}25kjMOo`Zz7N~QK9r^`l5o=L47k^C_Lh+L8w~iH*qcqCrE+^|$$qmA~TD9kO zLLK{frJ-p=i~a@_p)yo|`NjIpd&mUVC7URFKw*?x#)Ss2{oX|y<^9xgx}QD-n)o^c zGf@(?S?=FdYooGmmdfDuC~BoM>hmMm_cH$v_-CfS+P?r5X<3E((R&P#Z;-LCqY`P~KbMeT4Y|_4 z1U-Vx?;{QEWOyU&V~PG44hm}hahB*AED(wQsBTJslu(FK&t)J{P=9bgdjqO5_Ori{ zOq>^fvX~Ubh!xz=&RLA^4mIw*CtJ5rPiF}y$Y9s#c zXRpDcnm6)0Q4%5iEhq`{_j5cO{4G0O^LHbXLiyXf>X`hkf8zM~JE;Rntoi$DX@I{; z91u+Yo;fPW-+0(0;KjzWQ2xI4itx7u*ec6uV2Kl=K&jx>giqrf(h@?>d-UZPHe$={3Rw@wXxs}XUYU*^0yRikiYe`IYRsIexOSJMuTm~#ouM5 z&GGZsE&!3gXNV>W>Awr-2l?A(L4d#E0u#<#ASsl;(;(W%;BUdB$H(8&*dTwmE)MW_ z1a+Co-y!z}`J0Q89{laFB$U6t7lpsw!S*13e*uljUzhyiyb0|iYyT}gRrtGD_IK=e zexUig6S~9TZ;MiszY3i@l)tY_@2XR0W7rFt2{mYg{Eai)3hL)rv_}4R0!@#LzgtP0 zX8G&HqO8L3B=>nu-ocd|b-lnu7N?3b3R#-{W**q;jlAU%a0bILw*rFJ*urzRfZ$wt z@IKBl9bZYh$+fLvrNi?i)c+Nnk@7UpuK|=mOPpKPqv$c(img3GlDVQdWEGhs_7_Zy z9`KNQ=w5IXoWM$N^e*UJaJ2X0u3;rf(sG?T{RLs?cQ2Ej@Wllz4XUF-+6lDzumK;X zK6)*{P(35~u)Q$Uk7+cjeBwPav_YMTfs1}SFjHl{%Z#Hd?mz~o9sPknN8;$;(ap)} zptIFt>1TE73K;+~n+xuZ>=6hE%LPGLwr9C_h+TL-z##ygK_dS%{#Vcz;a~-o{uTUZ zHQ!|o8w=QRvd8`+XyEWHkm-SU>29+1jN6a$>xhyhi(kiS1k&o)(Ml4uUk8^lZ0d?3 z7Uzx&<+w&yU*BnB&EuTmAP0xq(W#^xQ}^yVlu3qGB7EQ11u;XLCq6SXP;d3 zKH1`kF`Rws8sK1dAHOmS+l{>ul= z|Jpx||D2bZBJ@Z3f6TJvzaBS^i~p>v3I4yarz!rowea6~2LCU&^8e&!`QP=gx!c`m>|5;a4{NL9U z|JzvjZ#;wlDOUc+G|T_aem(6I1-Yk>c+h4NoMX#W57r}2OP|A7C;EKB~2b$5LHXI)M3zp6?8M_Kr9JcIw8 zto(1&EdQ_iEBXH~^8bJ^e5ljlKbZ;s*BJcY9N_<)Q2xsY&Hw5@jsMWE|FQl*W?AyT z9hq=^{AXQF@PAs9_FpRt|BYwx{~{~@Pi&U|_P>(wB#ZTK#B>!|<0v#Ni$J zAmXrh)4vyo+y0~J;0koN;}QqV&oCdPpK5SE=s9L#$U~p#Ahl|t#A&vR&niXR(KgMx8|dxpQk05 zmx-X_I@)d49qr3KJ;yV2*r%vnVrMegrbHB%kUET3wsH60X|TfO4X_z;%~f0C;PxLoLb zVks1GwR-t+{?@6DkKtEldxp3225B|6o$N!|OP=S-R-Nj868GcGc-4-GR)|-<&uP1G z1p>>ha)y^X3Ma%MwO@UiC@WNWAJ_!i;#;ay-+C`}MH;gVR*DBHjzcr3x(n zNSJCTSM9Pq1N7!R4&b?x*6Qsz#;D$4o4TKPc?RSL+2!qB50>@uxUQ~8_{fM5#+BQq zWOGN;+co6{#O3NDDqw}grLAfW-hp~!CC*ws;;i-NvJF!t&KlxkSM}x!4pSt~T0P>d z^^P-AB+gnr;;i+KH&P_d+E~O{>zybmX%+byjwEM|5*< zo2ryj>`>!&QX{^aE3I_oE?3%Th_ALL7+=jhe*JDIqOL|6Yl@bw?_o0+vLPcLHUhHY zCCrh8(B9yMt!OFVZ11fQuK05(w|%`mVi1qpc>sA-I8L>cI^7i#8haBvi?@3?f*m^< znl5~;8J4?T8gaN!4c7c*u;!Btep3`ork~mcSN?=Ie5yl~`=Y=A>fg(``*Mlkr|g>=Z|RcuhHe ziX!$jZ~UEjF$#KG#n?gm_^=z{vky8L*){F6vEvZz-d6O0?2GdfW`yoT*z&XrhpiV5 zjUC2?hX{lT!F+?uRg3`3H88N&{k!jXfeicLR2-$Or??&*!}6BX-7+CdM4juGwxV-T zy;_2v=ZnQtV7=3kR%I)aYo@&LRpv(aAqEe0B_VeD&)pEi99z=M!yRb|$JzT^N8#_S zoNh#M-D{gRgWU?3E;_W7Gm_w;fP}ley+y(iY1xo)q=s;sKeW2mrX(4ZSK85^>^-w&x4jN!Gh+wbXuC!Gn5kzp)wceH+ z@>?T@yL6SL&um3&DO7H_t?1y0j>{z)TRB|L!V+GlQD2KJ&VjS@XZ^7 zW8jY0WDLxDQICN-xL~!i7czhBgcmrF{se?LqNRIrY-2CZpNYYO<#66*#%-qc(omhM zJ4}95t2bIAB-JbRd|BliPq;CE;lXkIs%Jg$g(-F6i{CFp<$|CfO{JSmqaeoa>zhkHF8Y4TK$skC-0T;AbW zzfZ^ied8TTWumbV4RrKSmnSbuz0~pyxnZcx<=*W$ut%b*Q`q3F%FyJsYKDiquT|>X zM{rh62cGw2;?Xk>$0av|CCYUGw5>8W7z&r=VUN%pf6(|)gfq@Th3ZZa$6(DSIv9a9 z@kBcMdd-@2m?tT32x~5TMLTd_hjJwDvy+)WHhVVr-%QrLMq=UP5!f!Q$If3-*M^O9 z#X)ex8+-3_ENnmZ32mdi*aDkiL8!hs5P+(O6{@k<1)+NGb%E-6Z2!@%lzw__xTS`w zQg#JRsBC~rPF@AMJH!C+3AYJgz{UJgp$Xyz5>!-q8-OFP*YY29Dx6nB{K$EJzkgSd zG+ighxw4r2UR4Zj_(q|J{?^F!j0Ie4t>>zqbegx7swC`8SlnkQx68t<(YBV zbM4?9or9|v;BMXlN`LciL?><+rxQDTneuDlX6!}vZ-*l!h&Sv;C}+U#?#?uL1K<7- zWl@~JTW6F)ngBqh>f(hsqE>t==l&q}V$<_4RIeQZ2l?!*YMCH_$>!68=umXg3S8P) zp$`9gdYJ!fi%^v84+zDjbZjz3_4aFnLec6~5sGOqX`$ft3glqjgUlaW{(@Ch4^2lR zK3*@sI1f0@lmtUm-M@;cmd|2g`#q0pQQb#fPYfUkdbg|0kdri+$`*J}48l9{ZB}7) ztq=PJ;Thv zSUxX9REQA!=lg^AE%|HxKL;h4`im00A4&}OzlN%?$&*EeHKD$2#lHaqQDNUVoPLxF z8!h6E%|p+CY%SQHa0+X>!-LB{@BoR-h=JwE$PJWXPevTyXT`Ss?SudLmzu6phJ6K!#h<*qhab% zXb((|mdB{o8m`vUShkxoMa{=0(w{}vpEY^{G@^S?#_ zuU6g0Gk@&cn2ubDvIB9-}j15o+k z@)CgRObb-$8mbHfs-Fy~-WtdJv3DamsPN|j8hxl0eIh>4C*Co{t|MCaZw;#5Z3G&? zpA`T;AhD+lz2HCkiUzc106Y3{3hPU7p28fZb|!aa9Akdh;0E&C$_dNP#FQd;5H(wKUR(A`SIXP@GT!D02J2tAn3= z%4fu1sFp)IXhfYS*+$`1%K^2W(g7&r1xnmE0Up4)CU|QfJykL;>wxZ1WQ2*<2c>V` zgSL=HbZBRy!=3@*%!K1?@ zE-AFWQiz&78U##ZVWgd}skUsSg{U@Brb5)M(#h=q;%COXW0BpESf^(UR9KLzi*>#y znU5nd^R1v{6F$5UHubb*(xkr!l(CZjCJgLHk$!pd(WKv8r%7*;wD=ub;}BC3*CgBp zf~$QB8*rN7H!P&7Opd^q_{!K%Q=`l_Z7k@4Ns+cRi+EwTwhnvmLe+G0Dl+6&WIS8F zhZQDMekeB8y{Xa+y23vi8UlhBK8yZ$yGsfU^hb{-L%70$FZ@F-fQKn7bOL76rILel zZ~n;=1He{WDmPj&1^SnUftM1MvRx`ThSoY;8%5seNl(B@k6Kk}bE~Vas9FGL0*5M3eOyrbvOB_23G?@UWI_j3GIOZ`T*RwHSyE+cC zy-%PS+9sYF)ob6GW!%Jz@2ZVXJA&HrT5=BZs(NCJ1N)qj&-IgDk)L)b0KMlXyu`Zb zH5t5=Hwt|MIU-I+4&3!9-A)d^8PWn~N}O>Hoo#=X+786AwsGnDIF!z(Hls(PoRDXa})Iqlm^*=|DY#-k5C6zY;N#9DUNnW zy)J3)br}UxwM`PFw&I-OL&_jP~{IWzYC>C-i_jiH0PMxY)yjrbcAHdu|F7!ZDpNg6O z8vILHDwH}5LtE6;xzd>oQ(97NMv5?7QjUnITd%b98!0tJRq|{!Qc43URZIam-3)M^ zAwQ(!$=ZOeXcP<)mGMb~5gHV6fNnD;@W9gOYVeR1)A)4ah~(Ln zqW>^{`y0Pk%ddn>xrA1T+iz+f9xa4}zg9#3f3a{TGdF_nQlzOlC4jDDpeod&YDB~6 zKEXkZ0xb3gcuC;A4=DBbZ5mo(6{KH(0LVA+188y)6((3TUqCS{(KYx1w7@+^2#518 z93fUioA|dIc82dqyjkPxL_@7u-&-_#KOp0aId#!DlH?+fDqjQy2jYosTEvm$0=#p! zqUpB4KRBC|^}FDF5=Y#)hKGaDDZg@`+5t5RO_HDr@-RE}@K!P`sTN?EO2;r|?0MG1 z-u@?y3YTYOl=@;<<+P{)PYyL(Za&l+dc_yKv@cOTwS(3yp2XtM#2w))sh5}=(8`)iqQlFx z)Hr#eX03u|Mo2$TCN2seMW)lh!9{sIw~XXZ9!2_0R~dbEk6pCjGOW|%01 zK+XPk!=PZrS@_%Z4`e9%Sg>by4DIwegKN2g1=Y~S~ zibu$uX+S8x2ms>ky9C19rdlDK56I-I0M+FOvK;-9B%|fOjJo&r%}}l-c#_jlIGp^8 z+5#lVnKJ|#%^7nDJdMcU+ofQVuTY9D^JCMIV+BLYy&+|5RW;2HlMtetsL3}1MV8(p zwN$IO#8{|c)IVbt5pm|0`5)4DhdM+W;dIIjes=r1VF>U)0U;;?b;H8^IDF;*EI1}$ z_ij1V?BSG^>ZgMZXlKJsmI&6vX5KLA!NFL}KHOm?GZvP$P$gzI!=E8?*hzlGB^BP`!LHSyhP`5xWG_aw{ro!~%7{Sps=1C)*j z!1Cm@H*(*2id@Jc!kOctwh{j$XRLuQRtOpe8}W)dt5cD%2ZcV3>VHSRv;N1Au0L7V zzvvkCcQWdK4Jxsz`m+M{Uw(A`YsU%v&m5!v)rO?@Y^MI5@}2O1B`PL_K6$$S2aZwy zy+-}pFm7o0v4x08emkPzK#)K3!E88%o1uDaDyPEpMJnBzCyE zgP%O3p}Z$xm``@d6}7?;BeRzG;x9)p0kp*f!83R3KwW|U;J|XKC4HuOjIU{U-ep&8 z8lJEC>A2z9HsHSk&)Lnxllh0>>3O{HaIY7f!I}k(1OzgMU!n^Z*FIZJdJc`J7%CY) z#PPx9xeitp?2|0_3WvK*g2Ur}6UolPtHWHjp3C_uo-Y|(SHi$ij#MmX@ao}0#IUmU zTtj;g7mB8Vd;Ph<40`~{ELL=?n3 zBd$+&M*K4ok{pFBP%{Wd?8Z8YCmn`14gphSdLSJ~m#ytBL3>Ng_Llq?+WXFN%=Z54 z`1QT&nC<=7@%!Y;#_c7Np5z_c626gNIkqKZ?{s?lB!Xw;5qUPmHotv4P znM=NMOZ*%#vxba|C?F$~$w(@h03*BWh7&F34(*M?9f^q9uG>#%``J(;F^(a&C3!;~ zLHTfa`XoCbAC7R6qi9fWZ1^@ZShyVQJ#eXxs4+@txf&X9AetDPX+BfO{=gMD;p3Svy;=d$>{{L0zXxvBPzix~{75Q{Ug*$Setbbxb)=(`iK+_7IRNbL|-REnr_FcKs3 z+o3PUIMSwbInP#f0esHk&y`J^!B)HzX%0{Kct=|II9t&=<}mit-PH{P@aZIMpLiZ+ zQI~tI^T1y5N&MDaDyCLM8>9f`n2>XTCR(7gg>fB89Gq+#)f_-cJWIm z_Cw(Nm?Z!t%%2jRqM#tx=@1hiW!vuwmaS(#&GwBy+ z*>Aw*H{f#Wn0p16TLQS$NHx8H3%n6L|HRIF)kG)#i?mVazgUlx#A6?lqxu4mGT>p9 z10KEV`+B;R1A_7Ga1wwA5DqkCrPVmyr;J{KMLRH=&QmaC!m*?y?+!535oasD5_4(j zkUZ00qGG1QGwDqNgykmk-BxrM%pv#lb^JHXxEltAiqyD_-~ zy%RTK*`}6Zq031Ryzt4=w)a6u66BNuMp^CL9k+x$&($ypt4u)ri8Gy^pm1V67ss|B zvT|O)J+R){xqUe{0;LElse<1L1SYL?^h#fUByzpf<;lRBw|sCW)dzvO7rSW&Fw*(G zuumE7U4ZEgU@`%WgIjI^N?yeJoSv5G^rClo)Pm};$}9zVTJEzIpDd+t=%NbUm+&kH zJV&sxrr|N@b2Lbgav{n}pRtWVB7OcY6t8NUKEHFM5_oW)!ac~KPnr}VeV~d>`XnIn zSoG-{WR|8+V_-<1IH7!1jO_3FP5P`0&|)IKxo2K4*INSqDSiyhbYp`D69uBpMm_CSq%4K|5ijm{wyz00Z zaqC2MWTxjJ{SKZr#B;XRfO#?M+|JzEW(pn7c#X3W6i1@gto3a{%1k}*ZNQ`1FQNay z=O)L!>mtFf;~)28WVrZ$SpRVi`2ULjYuvxbeEe_v_UI?5YP8-<4y=cT=)b1>_h4?S zQg504iTbYx5|7otZw@M(=KD9@#|YFP>)+fl6%B2|!~VS!szP=9tm!^>U>8c@daK5L z?2#Qv59wo{US;iLk0Sm@Xdj!16y3$m?yXj>YP!*KR^CLThkkC{s3WA&GmmQYM5N#( zTH)q!$2yeDx<{dmm==|K3xToJzZqzLP zmX$zTAza-7H6{m%__$^ef2&n1{z6s3de;sBk;~ai>@~7IWUtMoPxk?J-xr@A1>|$f z1jvUsS%K_j1v1S7@Fo&(`qLS>T3& z2FPYW+v`Cs0(mz<2Ttb!SZq64ulvFJf&WAQ&p3W?iMbx--`<$&t11Mc!vc#*_0cPt zXi$ClSwX6|87EYaG!QbWzTYJX_4>w&P#6&^W^d4rLfEi^*I70&v*7Ca}N8N@T;pMvLE z$ZeIbXpQGBUt95v18aOQ&=#=bIUF#A;wjD%)+{|qn?|5>i#nv9_@nA++c?V+w%w>6 zAJTju@}FA#6VRte`FniDuL1FxDe>d3+K%`^I8DbrC@}=$G2mZT{yF4J91S9`G@g^y z=Rco-t4U$EW0y+ZDx$bNaD(UpxNqtJ5*_!94a5%wpfUfm2!cExc|WhI7A z3nK5mS)vHW8=j`sMijwhDw*VFE)AW7(Z128p-XH>1($qVk}Sa`OQ?XX!6o041RY#b zw5eKuf+e`*DtUoVig9hl>18aR8DqYmDDM&G>)}#-hB~=HYSl>QON_htKnGikIWFWv zUkj@3xRg@g>C!W^8pkZe7JD^g7EUnSyGD9&%&)2^O;0GV|ST0Xrwd3}># zjwP>;R1vnL<@Gf9Y#pUvzg!%Y*KdvIWcdGCfmL(*M`WYuPQ3*Z8?2psO3S zfR;TeuREX6uOmekDX(7-3X#_iPg6)mUT=B)ua(zZPCQCp`%02UUT<95NM4r=H#`$_}|EDHFbUy@>=yn6Y_dq zNl;$@W;`dW#kCfBy;k~WQ}PN?##bdUf&g6_|aNg3f@mj@uQxTB#XTMYjGoaeMS&&ck=GJ=3Cin< zi$dk~&_cckVgbh8$Jg8;pk{84%@X^!4YnxOaXiOt}f$W?Lj+uHtd z(R)dA^jQ38%;Jz?|XE!P0{<$mG3WOo543gZ)^LxlQ`9t#ET{qmM|G{4&-{q$?!|xD!|JUWauWr_) zw|U=@_IsSXqh6L4@)M$DCtBTmjS)%!Lz2S{_opFDz(xqB^wm6H<>EWG4fOjm)rIfe z_mS_F>SDfgZCWa*RA=Jd;c1h=Gm$+0c+qun5)qNdn`PLAAE>S9T@;Y@B)ula6-f2i z`xtz@cK=W;6uCEHRgXs|y3VIVxEv!rppsAIT`BtJJ}g+ayGxdo_TH|~c3p!y>1|$; zwiNZmo_`1H!JVAA?x;>xW@=aTv*h=H8qgh?FchYn)Aaryu=QB)4J>TG(xrn?EGY^2 z*Lxp`Q+UO5x2+YFBm46Mj4o<8na1$U4Qg=cIK==qteCGPE(>p=a_mros^xY~@0vnu>LMOn% zYm>S+pmWKEGasTIr)MCjJ1|Jy7mz4IGqy2Wquvq9_76epY%5yrLebjGoL>7^w`#N; z23pTuDU`h;1g+Q8f!6ofGM(x4KB)1@eA0@~KTLVS5iPahz)}QPYrvQc+ooN9LVH`$ zYrqP}o|ECr6JaZ^leg25kPWM`OAB_(IZ|jR3WcFi%LH4|xst1=QRZGK83-Hx@5w?J zx8S<|KcvvFC1YHXddLBo3NV{_aF$Jr*#95#1$pfONu_%B`cD%xXTdC;+dCF!z{>3zaj@t z+bSv2$`R2Eo3&r^i$2YN8RXO9Y2k?Io*htJ$S!RbE|=C~*vYVjo2uIV`ZaXY6LNl^ zr$lB;i)5Y_jLS<&a{hEM)g8{}@gN;mb#c}PTk5eDf9I0_ z(1biNcSu5ef>1zkCjoR~&q}f1{)C(pMxF%R8KaL75jP~r(YT@n?H!_zpXx8|p4VrZ zQQ4cUj0cnX1%D8tR}((R16x|C6F^udAXh1V`PXCm;snMG>@j_A!Z-3eFX3DKs%{$_ zfXQOb5y5Q&l?_saSCVp%kusg!()b%Gd4ZJPMv5blVmDIcn3|M2-$;oIeDH@1xjTOh$Z;9gg>K5uTQy*?aU4e0RLyHi7xCj~pisRXvwBqOm%-Ml& zzf2UzXG2(zIj-K@1&U)1&P<#7&>C^F(l+gBh@GQs8)EI&sYj{7ATC;-7i)QjbR`{N zs22pGJc5?Oe7A;dpzsX%UhHj}_4iEq)pr^cmH966hhpSk7_jFb&wQ{a8r={}=@U^x zkB2=|8hrO!>SNb~jAMYjex_C7y^d2*zF!5gNm8e&=PwG$_6YR6uM@m4464(RS^37N z4Ot9Y>W%jFz{-a=cAEUy3;CmiI2M1zvuuW4lM^07|BW{b{YN@eabjY3$&rYlwYF4no`+koue$PAu&|{W>Yui|r5A z?GMoHUl(lu25b9&3vK@m%B0tx-l+ZeFBOW72x-aziK}6Panm>wzy4K5;zA>FH!TRM2%L_W zQ`RZ$3y`s_k!bb1hHn!F`qtQE$Yg)e-;N7x+ zD~`(U^;m`i10%2bf^5Nw-Ilo9JMw*b!?^=I&s)PU@PJSc?ZuN08jo$g_(mr#L+ks; zI%|D3@}}!Uv`wSFtB+aVznR~8lQBJm4n_y8Ce&&?6JU5Tf%Ch+^BqQ%eqW}B@ZB=M zbMf6Wzw3f`PJjOR{O-e7AnIQGNrO0knB&mR=m!BknEhJ^>-_FI3_vJw@&G*!ne)3% z7cHem%S3W;9NK2rda$ef9#EsNKqhuQbAFdUhporH)02hm1FzBZyC3I<%C+^Sc!<3#KCmS}`3(C1Ps)VTVI7z3WE7G_k+NG#%`q#@~IRVCqJ45YxlJtf~3k z<8CYLf7bkN=WIdkk`UBpL8%2$^Bf96?cu?KTGkC3wH^j)u^P2YLQsn*YX5eAcee)N z4&lEkN3m8AqC!D9L4&aBdJRH%1BAztgu3GZS&+IfTn-SLoZnqO-Adp8{`~IomxQwU zA!uELAu2%Gl!GCZy(~v4yYD)UmN~!sBvH`nAA;6$*lvyHcXv#);uA8ztM?sie%GSu z`CWw+YG!_iGEL6!W=Nst=65L7?EG%tMV9&98+iHOKfg;+|BL2#S5O^6K{hkL+ji+O z=6ACOh0O0Bpt?J1ez)b8G$^tEx8`@Ze%1g?7F*_bFHqTp%)@y#$KmIOlgCP=o#No!^a|VpVv}&hPq$WNT`E=X)kFzkB;inJv8` zKlVBN(X*x3UbD=W3igH2zXJv$(EqW{p|hnH=L`KmL9(Vl=LylBv|V%O#d@Cc0*xQ5 zUGx02vp5HB)6`0>WpxYm<+rK~9{wQnvy+YfsrEGicxsBRid#<$a zMskp1-+@AUes|l`AdNY{%kQb@cP`q2jplbbAP?tvd88$N6OqT5%I$=m!uefC{08QC z8;ryl8Zl&sBQU>@w$fYvoPP$A*^j z%O9QJ%~)owFRVh>!TBOgU8BBZ&+m}cd1Yw)owVS)?+D~AI9tWOh&8^6t!M^p-3R~9 zm@DTX<_gbm=(sD(DW-*u+rlC%Y&0dZk)^X;6$Z6o9{3ect#Vk%G}xb zU*fUclv2vzEk!6D7KV5%uLI_fPyP?$pV*3CL=6v)KN{Xsn}jzVxmD*s0Iz2Nmb$aC z-##E2zgY4gkcwaYAH)OjKLz-=wfm3YZ;svrp#YDjH&^M^IDR@#dYkZv!b^I0JYIOY zUf^`&iWj-Uu4l?t_)UI;y#%aF?7|`kcze!LE)TeD@7)vSiWn8+invG(Ivrct#igVB z*yi_5u+1NJCT=cqdHOOcOy79?L+2;l7RRV{b?Rqi&MMxTKL7|Ly*9X3?YkBl**u?J zg4s3yaIw|ev53^yr5LTkVr)<&kjv#h#NCD}#Jo}`JdRlW#b!BF8mzHGjeitFOYv6d z`Fx3IyW=U46AF0f3v3GanGABe54ha*`rJA3r4xRti6*1TKpsX#;Q;b-o)d`xE4D?531*H?Mdx68m`j+rtQUog=ASUH=#vi(`%R z`(6yXfNTjgxZ&N?7d;7gI*@vaq+Wa$f&>R6yP{=uJFL~DpT(wk=HsnSodU#2)_;Jk zsi9=8f0DTB{uhYnCv?rmZBIg1*3eE!gPV8^x_$uC`7Q(tJ;F3mY4XbpJ-&$073etwr8Qe~?^@nZt9rI(V8v zVQ$DEK@)fjQn5g#3EW^S{z?N`dO?Kx zr%VMS&yOC9#krvgG29Jo3u|oD+ElJm>Bw*q>Tw{!V`o^z$F`!}=7ghSb;@%UW|AJJ zLy|MF9S&E(j>DEfy(0FVE3J0)?GzU~AV?{lo|#R13Qg!w37~j77f^4`7?N>w#w`^% zKaXI`@i@fV@qAQad$JT~7Ye(+yL2oh$2%w{e{|uBhTXQZ7R99#D_rhf>IKNSe-W~H z0$FYgW+|rOW>W?12xCBM!!ShqNS5{bu8)wC%IO^lS|FU?DJ1K3_G|zh#-Rtso!^sP z@9opzcGSDq`iuQvT3??Dl3t&$pgy7sUV~eqFsp_?DlRnIrh~v|PBfITQ!(Q&-b@;zbPEyCnN$PlY z&F^s#4qDJSp%N|UVZ>plwqb2>2|dRm0od@={b4DMl_1h~u#j+S6tFkUu_-^H4Q1K( z-aH`&fv;j5IpB|xit)sTV}Qzw0lH`61=sKxD6Izq8h;aYp##yw)^*pYemGF#jePW1 zbuoKSqG%c1;Tw2yorGyBV%KezQ{K6l}PJ zQY0KHJhF$b&m)fd=u&dvv=pvrtX4%FcPx4Q)+*Ndzqfw-!r?^-;9z;&7;Gu|LF2Ep ztzRDxt+&YXO^3-2`7U9ygUp0I96g?x_u#Pl@Ovmu-7_Eco+GBGzHTOBtYSU7?ciV0;n0f5M&Hk;hPErh~heR4tBIS zD?evCEdbava6741=WqzqkzK$R?>F{ zmqb8st2;fUrWkT%uFjET0EMkMhZSqsaveweklwrc~#LLMY_|APAJg zW*bu~gTwSX=mxRtZSz}YOiz#Vy(kG`8OFQ+6T@Bt@zKGm;gPRAW8(|ggsXM5yS@|O zy>zIygT6fK8TUc|lk_L_jzT!7TGhsjOjD#zk`?wh99Pe!ZQ$)%&>t5%cc#n{G>rVb zYLxOGVIPJR-eedDThN-++cks5TA~=tkd|Nx+8P8$w%1X6z!b4P;vz7tSNV|D z*Ojk@UB3o7B!B+Bmb{yR1oNJ)K4spo_zJ<#s7hxag4rCFvAjoET$pc0vtLLy!`z9N zs>IysHxeT>tU5H zUy+IkFK;`&+}eQJkE!Y&1z`%S>fQ#BPjt9j;08zxdAOX<+dYxfKfa{m|8yk4)aX7O z|K~ZpQ&ymq!#!n#{;A=QcS^l}W0m+8gCBMJEpqIsmp=5YKI5w#EA14|b;&9N05$T~ zz_F(VH~sr#Py3|7|KJ$(Gc4%&h|W+r2-`z>kkKY}*>KU*sGodiIv?+JJhS{O3F=6$_f_xp;MJVa75ac2xe=|Tan z*M9!{ZJ33@aCBGNiaMN10m1Mu;m#>0bbU=OLXe^PcyoE~)mLDFaqzZNC4r*(=LCv< z8f7i^9^PDtjU4d4of;@(D=LY#H1{c7NrKJ2CvQCgFw6qeD+L~Us#l=ArOkFHSj$G> z&4oko@E4AES{x-y3RX6P_*3HMoYAXuC*iK9A}tsdLRJ(IZ!HS`wtMt{^z z_AJ_W;VxT!2@NJrhtE7=DXNNn2g$N$fmlw}>Vi|2!j7p^6Hn%EgIdrInJ}=kam->x zHGedTFvRYVJs10vXXuTdvoLzfyix#H{RpUMLJU@>)MG?VTVCj?F)anm`} zN-!Fv?pk$HM*^e~rFQ;oLkJqKYXprfl)|E4$shxb0a1d+jf1ZNfIk67nq#>Few|uK z@KM$77>x!YFwxi{q>SyT(O7f34h%C83OzV(rvl+PRX$Ab*V&5ilHpjdNAYeg=S95( z{44eV4=l6A(e{A6VkHn}s)~#@<(&dFLCgBA5aD|WZ!XWBkQG>B`W`ggK$3*(;BikE zmY{7@^F-j#jV3*qjmVQ3^6IR2c#>V-?!ZuHDESGFMG*fmXIV`I?!^dmgs*VoZo;Bd zaLXbtZi~VQ;3%u@;!N7(D68w{Eb}3HU0Jv@?I5nMciMU##5}&WZQ3>r+|I(oI9ZZ7 zraxw^!=v!l0_9`I^yF&{UZGO+;>KLb*Eqbk#B2PR3;2o{+lM3ZnmC5{&JIt+Yb(4a zk2!&_P}+H^S!uZNei7izO4{ghe<3%_AIb`caWflUBo24NrZvvHX1mvzHzqrQ&E!{>PTiVv8Re_e)`-FW%BeC$$WRQP`b zZl?bh$v;Hl2`+Gu8R@$okmUz6x;#rKT zO%0&tAE!J@Kf*JDa8^ayp<@$D1TrI-79hQ4-UckG{y`pEzm%f#FqDF0E|_Y^!_HK4-W4veQ@PfT9w==ZPuxEEu{}WmTFZc-?zo~=lkN|JPG-r z0oqr}FDEAwdOb&_LURd@z}-a}h`&8ETX0_C4Bzbt-;))-&Y8Bt<$hQwV=MX|*&Kys z5bJVh(h3l_i?d8cILdzR=9Ex}>s)E&I7i^L^S6Aw&}s_iRj=q9Ebu zUsz-i%M2+oW4a>+M;Ov+QK8#7;>IK+r6p46AHkIPF=rzs5-IUUO5&I{NKZyeB2%1c zYx6UlNo#TYC4*xjxMO%jei9@uvVJyHp11wllu}AHLWx13CwAYB5Sb%)xzef}-ZlsG zTjSz!U9Y}BM%0PArY$-&wvat?N+sM@{KHukkDl2)se*NtmMv%?U{Fctc@%t~a5jL| zNmw^a&qkg$Ehs(72%?YcCLx1)w&J6K|7l}B0jUzEvBse4T6SC1H zK;asjdk7b7uomQSV|QVszX3g9v6g(X_}-tuK7lO?ULgcK!d!OMi*8!~>Tza!L2#V8 z@RlaWnSF7g7=Ul(LR9JHtiB_g-%uXX;PV!(}#pInGQ! z5x*ENt>aA51MFw9pPs?;_F?VyIJ0YtInHQ2&bHuj`^`<_aZw{YzB`LG2Jv`qT?ig$ zYCO(rghxk>$AuwyBpY}L{J^7>wm~C27862TseStY$KIR3RaI^A;~=2;!VYB=_N=I= zw85~Xq_iNx4tgz2ElMkjGMlMzXwa<7EpNALRQA&Hm6fmIHE3m}zh$^ZLZ`<#2vy@1bpz4w0q-{;5Y!#!v3vxl|TUTf{O*PaBA7usq(PL9Ik^5Nn3 zcy3UWcoZKM*&c19@K{wFfk*#yq&)^8m%BZ#jv*W=*Y|a|#}Lq;=8M3O=N=jdQF#1J z2!knSXgpRQuJO1AiqH1v(m+yUhlTN2Ij~7Qo0k`9?| z&W_Ok=oBLK|MG~o7@~1l*jelU{-6}WT(MtpXmM7A{s+v~RE(!X^QG*MPHq;S_8OiK zP)OLct+_7}o{yGAz_X@{&@{`2=W-jK91YLQhz^^!9>SC6f+qmSK`lFEs47f5(1@A= z<0r=Y1TN&kYh!Vdg91d*#)3C{|yA$#?w0_d0{G=n_y+g&oWH1ua@R8VWoQj3fkKJTY?aeBW(Ho-7+6)) zK)nrwv(*FAq6IK~^>D{Lzd#v}_V_C;7kd;|Q>imxjDh=Vg*ww@e8zU-y|*1iM`mvK zT^J)Li^}|VwK@#Zu;j8iG)ZCC7R+3^8kg)!H_xR7)oQEgO=7V* zvRUg4-xo)-1+kG(u;~XZ$E8=GAn_(&C*z98)7c!Jz_fHWg_*U$c;rlUqT*9-i4@`} z-N`{m$88Wb8W@<3A`KLQ!@OoT4q2}B1he5&-ie$vPXT<5c(@@iDw(p%PM)skthI*k z(nFC7Lr_8@V=&mUU^{ix15Bs`96SmNmoaf5Vbx30@X}5k10t$IN4a?+1&tlivM7zM z8Y+#4q9SV>WEC!@1UP)NM|xFydjgp^Op*jJF**1~3SDQm@&tz=$K&w~d;HTxM$|QT z!ZHnxEL1<-K@3m?gfA7eK$3bXf=Ro^JHnXEPxwQsc6_C`mkgg~$Md~|>pjEu-qm>r zP%>us8|npV`-CY1^hlAtZH^qHs6DRt7y!XPR>2DbocCns-Il#nC+t)cNGL$@j_eT^ z&~g5YVR|bzVW~7>LQo(X3ZWZGq3eLuZlPmRN9Z!}O?@pLC@%9AjsVFZ9<8;CU%kra zefAwYOF`dY=Bq!R7xVGS0G)B)G7jxb49uYBad95-_~{!2&d1Y*c3SNkwJaW(`3wUhqL5L(SqK zc_kt}fyvT?nSr;YSIf`ZY?Qr0dGvOF7x2P6(E%PV&Nl?$PII!pNcQl~$MqANhi;^; zKZIGt)}MEmre_gjob(qbApoEXT#;oz?tr%TcJIY%^vp#vlDRym3y}cYM|CcN-*hGd z^y~9zTHm2?{dLB6_)6;rY+@5X6`hX0{TR9Ab^a1ZMa}}IG1id!kiFu``pGD(N33Qg z0OIM0OEN`W%6;?MY6jIyq`LeNr8H8P-$I#0sLNAOZByz}p>eGxnBxZhc>aO9xWD6i zs)12rRbiy$tgnKyOI4?Yz8|#>-$!n7e;=8uT7|yvhUH`3;mWTO&H%#NUZenw$w{>a zqK|XtwHR(M;ABIzK#%1>Pv~(C#X6cEZ%}EuMQiANkz#dYTja7mfl*?$1-ikSjNQ== ze%x=p-wKC0t=kpV$5?}Yqk=rj1f4euY*w!w;} zf<2gMeBx3dN>SQ~O0A0!fZ(lo&KA7VJeSZVz{SI>#tD}Ch{<<=V{8DmlGHFeo0#tb zByuveYciqk1C)PPsQjL;@*hL_gk%tl9?8nQ-7gNM?C46_+fI2FQ(l08yMk%%02XdY z!??%kU)_vc)ugw#`=$vY6|)#h&sE2bzzrl-%Rn)!5P{I(ssgO3t{B4cN)I?X+q6r- z@GzK?B9F|&@Q}&&`KoQ{9BIeVAQ&5cLnX&FGwlwg&G#qEnC7?E94D^%*o$JxD!2b6 zW2}?^!gAo}-cP<6@yl%CquPC%e-im5!yyyfM7jdDegohFFkR`V2xfj8N1uJYx)~!5 zEH%yde~OUDzeO$BtMf}|i~MP}`c-p?7p&LMK_p50o$37%UZzjj=-&;VrOBWQZ^CDs zJdZ*hPUWo~DmxM0s{rn`3&5SeBeyMp%d9#QYnSwTiI;Ax0$6Y9-bUZtyA>rlb~ml< z*%c8)dQcOoATCOpezSn|2f_ilxWE~4Z@d}Fd@&Bf-M6p&SSq2;MC!*6KQA?4^Zs~hn z)sY^$#q~AHx4Wu!B;!gVjUw&>wd>wNp>^;G3niITZ_Qr^d>~xvYnIJReK)AXoob?6 zy*2AVdB?N$BOGj(LI%luH3D>v)kz}(yx7V=>3kf9qm_rQRWUa@Ej$cwO||efEkiAw ztPblTE&S~fp%$KVOQRM}0@t`(_^a6wE&TU%5raFxCGHj;yfw0ghXHrC@Uq>ygv8npI#oX_!jDmYf*{+vrIz_;g`Mlwy<31x zFy$;n>$xp9W|?4GufEzP44{tS6W9?J=t)ub$r`)-R)XF3hM^+v_n{YbX+i6B(U)N6 zdFlyW7`bWQ&Tx6uA&#A^J^`NA+nOwO5VESeHP(+IzA3k=P@J_LU4``p{lo9zbhI{ZUBwSuqk^jAfTDO4Ut|5c}&%A+0c< z{aF*Mk-{8{VkkvIsl!6zRB}@z zahipa+~O4cBto1nIbJyIxVDkvbW~lWIGqC2C{7OoFDlHBc4+)6T%z;7z#J(~FETEe zvPLF?G9UVFC|I#xwPr`WUG5N>uO6Vi;jg#G2-nG(C0DvikJgWUT(vm*F^f2&+`b@g zv-;81Zq_C}Vn}@|)SYhvH@Uj=@%D(Jfvp~3YJZir0^K_GE`*BX59i>9Pta=AnX3pH zpa=jVK!cR30Em!mW42@E1biv;>sG_3Vzt&f14Fq@PsmU%v9B603%qn#=j8Arf_D@G81KPTS*4aQV!Jq_z@|okb$&M?l40Aq!gVieEk_g^vF@rO zRJIc)ZG>s?HtdhOjl6|r4UL_ZTdnuY{<{yiZS3<{g)|Awz>7Le6b9cNz)`ZdAx ze~k(8e41L;O?du=Lqk0OzzvOfej!S7^ZbPA5j=m@vBLAGB}el7i7Jxk&juQ7yZ|sH z&sV{SAYt4*KSyAWM;> z+0W%+wA;F>Zs$vjB(({($dA`IYLRo%%I+3v^-)BNENCw+G6AjX?$n>$7}+8(0SmUs zUM%Wki*%O7eUUA425Mp}xjXfCj0>h*CR0P1zwFU1;uUMA*%tX8xLa%3BDv7b;RQ|B zDUeKedqjr^MSbrZ6}}`Y{00;s#LgMtS&P|UeuAHfM$LnPWA%f$+D3-nF`)Jjq>+)w zfknlhb2+e>DUZzQc%X%;g+9J%4$z;No(5%2MfKPRB>rSu!rLr9T8KaSw{vA+p^c19 z>WCk}?!lC$i1zs5;J}{KdUc#l`Qd64I0T>$twsgD&kZ5nn90>8*3b2lDZjbh$DL+u=_k;t}@m_JP;p@$-ET52TL z{ThkHrQZt@iGl==3?LF$0eG^{djuXx{J2>oL4YEV_!hu{1V?Kms&;84dc%l9)1ZVt z{>|!kT?j3tm+f*I5n}?%u>wD{Md#J64Cn0}&O5j{7_MgCOP##hx_X>u5bUg{=#Q~R zArvC&XcE=Bl5qD=FM$dBO>8%kk;dHNwa5lOh_Old@cZq6uRXj9wt1zU@Im~M-GvX( z?|@tCRni6up>wm=Cfuh&s$o1sh(W!#U@DLWSaSsRUb#xB_tmfX9?bOZq||LvZD9C> zpq+|5>U=BnvxdJ9x?Bhqa`KL@DR$;Y z$iIrrM0YlbV2y`w5v>l8IG8?PSIq1s&DDJqve(T)J$0Y4q2Y+Es+%fJUS7AuDs0XS zu7Dp;?Bg6b#gc&#S`w?St8?RFBj>_t*6hboo1t`ui6&ZPZT*Vy{$eG4;V2<1U09CF z(*1fCV%77P1I0Aygj{3b0YJ^lmI7<67tzy)^xID8KcHf@g;Nrarl(GVqv<1be~2R= zQJ|giN>L$-t^;VWgl-+J_dbfpw->+JGg%^fOR`pW)H!Jb#heq4BsqI@OH33m3Lxcl{%OLwRQKs$Wh2Pp1EC zvvNxdPcZ#$c(SmrE*?wcj>|=TA0CFaJy&8CQbjyo`nJGNKGqvn#$(aWQ9X?h+aHG? zc}p_J6#SYyrtr7iF$Mc`$CwSgiFS^;`)g0^Ml5G~lPApvla4GsM*Qu#9vT-kG{`Ef ztYug})C$`p8ivaD>ncnb*466zJ0>jCfuJ=PxRJ67xO{d8E2-mb_wzgD=kyFkw= zl!!^0xwgDaRaT6hz7CB*gT+Tg1@=^F*<+8sQRvK zE`2Tdo$y1~xa*sNXm@?>n#*6V^Uq*@8(89Jt!joIlrO>`RbPHoeI1*tFHPsqkE(BP zbM&cAj?B!2$p(vQ~Z-(Y%I``sK>Uw(7>vvvNPqv~td zT>504J}auez0i;${G9U;^ZiR?r+*?G`kugb@6rl8*TtZ+>Qat1v-dgHxhCSsU>EuvSA?V1sg^Ynhxn zrY~R#ZRVukpGG2vrHichUO1ZTLqp-0qry)`g&&qM*Y)F??ahfiN&fm#**qKLuh2I7 z9FP4_j|8D}#Xugx0sUeII?ds7WOX8_;+!iHd0xaa@W@HE^hM(`Wjk+(empzZ6<>bf z`bRZi|111tpKH;${%4l|DfRE~-#q>Ytbga9Q~#*u>wkrxn#JFDu=S(a$pNL8j>=@y zr-qt74&|fSoqkLon$U@r`r};jIL~A)+gsPi4`^!P6SlL2UF@12(`0g}J63Oo$ zg8rErzJD!m&CUFiNZtn{SOjGUs+2TKy9)E*c3&9@JGeVC~`001kBTvH@D)SHO zpZx_*!KL+|3$Doap#J-8(I3!1&GXB!CgBkJJkL+RpFV#CzQ+B-HP0(lI zpGu$0n}kE?b3Z@*e)=3NeE(y6piO?1J@9|qc;f%z^MCeuPxeS?Yz$FMGffMdEG%G?48#GpK$HGzC;49o!4&@R$M;K zNmL%DRN~rseLnpwUqJzBe@RoDm|Z)sZGQ;%U!RDkgh%K~G&HEqqY5JTU%#%mR9|Gm zi8hh*zu|;Y`>*e0NwWVs1&OU9U2u$(K4Sm%Iia-H#YlS!gLGNZ)zcK{z-=_T4!0|6 z`a$f!o_9F>M>TmM8~tD#xH6NQLredr{)sPtVE;AGFKBg26Y_OgZdkr9x8F0==DS?- z^&qGcEnmIw`Jc#F_D0Cpi)V{K-SeoHuk2$acw2iN{E0!4uYT(y+2^Q$=4!@a>>`)o>B6(Kq74U`X%6!udNdJJ@WN{l+_%Q9!S3S-hE*C`YzX&ui9|J zX65SxBzEL$l9Rp}`SLUE!N^yd=l9Fk4MubF)eB$#pnTobu?hLwo*kC2UG{s1di)NT zd>xn9Sib7+{GZ6z`tKlL7iNe+wJ6g9wZ5GMliKOvlOj9pzjk~XAzxkpN}&?@8hO-z zSH4D$Z6sf}NR&&y?(GpJUqd9qmapf>xa4cB1b&ZvwU@H~h()l{}cHdy$>ie{^|#suHzQvQnf74hs|f1<_sZAg#OCDdF?{(0{nzC@`gSQ#|NB{s zm>koS0Uwo#LuyRdAvI;M)0oHp;nMr;Dg4{gkK-kaX=+#&S}BFz396?@N9D8%7_%0xahosPj(; z3w`e`&xEzHnA%maI4lB-fnbvm7MDB~fkk}-;0$KIzE5Lurj5lK&H)Eg)*?EL#fHVe z;z|q_ZU1)geit6Y(i-7$t;PfMJ!uig2R)BU`f$hF-6$(Rkd3d|VdSpnXjHa%^Sr?5 zW?Fu(AXp2khnwj>uxkjx+nKtQu$sk8Jug}+2+@l5G4Pa!A8kOu;SC) z{)i(*+I)uS!Ffh~1p;TRxxXtS>vz?)99)j@a%RLKId|^m%UVnoXX9o6XE;vhx<&Ze zzZW@g{(`6LthAHrkBb?-Tv!N$H%je#qTD+%Df zPxJ7ei-6IwK#Ix5O9k_-W(h115F#@m3FR~PEinczG_G8XwCjzICQe|fHGGTE@cG_* zld*^KEi@+&0H6}XL9{%|6T7UI&)||O2vkl(-_#sq_7XNFKJj?zkNHWR^7PR$IJ1OG z)tQWS=Ebmd*Tr{tv~R?BA7J^RbqIdoZ6M3udJZH89DX9SYh9h~f&iQAWh-Z7B6dx9 zg;JYp2<6vUio}(G6%1^wTU@s;JOy00LF81c@hN9>Efzc5V4IR!*dW1_+vJfsgb#h? z`7IaD3G0jQ!3dFkff^y0dBtbpl~`N`RWnoc#b`u33b9_T1T_43DxO5>`uR~JdtDdm zhLq=4i^%p^uGeiYX7Bn}C`UO5vfTOs&EsCr^CQ9hx(Opb$odmdzrFCYW|`DqC6CNGeCYnS zvb(GPae;{XckYq;-&qw||FOFM&k^m^zgu-={V!tKlr@=@_!>W9{;^ge=%)Vy2T*p< znym^ubCoAUZI0H!9;tyn+yQpJEb>ft1H9p}2!OxeEdc+vG7{k1KNf;f43-{t|} zm#~jSb;(3c!-}UnfSvn;I2<2BPN1=Q)Jk{B(a+h@Ym?T0sYp7Urk7fvPn? zq;)>!u&VAGs|SLi`9poaea=j%1$#*2-yugJl1IIpi%kD_W=(uLzGCOTy^4=7X--TA zU(}7OFb?pq%YjtytL2bDcF`rP-;&$L;Gjg`NhqIdK+{4;9-i&ws8$QYInvZ(dV@JbIcADYV-(?6h4W`c=A0lvqm(2fv0|gN2xl0&zSP6%UNK zH15&GX2G>ghI+byaT3O@LsEnbR4=YYL|QEBf)#WPGyyk)_}9rn*EpBm4KCKRfCw4R z(T%Fp%0ptTV~{1(9{ir{+(4=h#rGWlJlVZx+i8ITMV|;N9jnZa`^>CW!)`OPa0kKM z{2E-IgUXE_tIXJ1kI`d2wV4MB#SCC?aA0U*XD<89@3?DdA5UyO&eMqfg%_Z8+^0V8 z#6%$0aeUNS>k9SJhx`wTJTI zorePC<^&YV1+{7gWCyBCP31*>)0%Ar^m$@aw=)~MAHu+aShd1Vc_sH90b%OL|3g=`)xp5X~#=;jIBK)UD!+|0-fLy-2wFUe_g#$X<}D;I}` zm!L@K@T|4?f>9G%XAl;dqr60%ASwfj4mfE-pX45F^Bs~wh-KA1PL<=A(I_9g3Dl$9 zX@>>340G}%;xO7;3U`qR_d0O9&C572ufCzyS{jlIv}blmt}kD92$YyLQNFTNTlv94 zXIrXs@SSpxX#(T+4Kav_gw^wEO-MBCkSzYNPF3xMf(zZwlFU6~Vm_;-5Js|S2Jem;$k7&V2FR=_9F7V&qquwM1Jt^I zJ7ZP@tnP$mG^>y(4c2)NaIsEu7S%4a5*T4Am!x~=nT_NPxuMcf_N^$p?h{NK?!7YP zKN<%LhgO|G_%8R}eSaDZ?bncOrIW1m+E5bXiJRCn$jss=NN5!@NR?(A3;Obw(H+r% zxIgW6kc-OBt>xyOPAx~eVrgfb%0#!~b`?EOBelvEV-=$cj88>-mjGUB??g2V#R%%y zepsc>B$r`Hr6^uU?Or8GV2?x5<36N6#UC{I6k?V+{71K=;V?8($k7o0P=tBs+brhY zHCCiQXzWxm@8)d4*N{JG0&Ko!{6U?JM&qY{!yh#1WWgdf0*l@x7ZhIx+3AAO5m?Nr z6D-E7NPp0RDT2j9M2E3hH3L{Q=MNfuXd^tX)$RMI`h(`2BnVc3>S2G-EnwIXf>%En zf#5eF1={taO_BbfP45VT*bV4HaQpPIKj>F^br>!P1ShvfK!K6LwoV&PdhkUt1{AC)8r@(01yv*l*aB{Xse zRl`|Um&oxCTq@f65^{D>?F@$d$98xO{n~bR@NlMo>FoHhv9sfo&Q@?MqJxdpO3< zk%9AL^2mII4?S=n(`ina2?st9!Gtp*D`1$R^CHKgKfEat@B*S85y$!BfP_qF;z?vi zPm5y02Tvror%cBH8)aTMTYESxXc+4_h`U^VCx56IhMbw`{RTRuzHaD{V3v~Uv5$)8!TjjI<V>`?6B{Tsfyp+VTu6|O

)j`Zs!0rZHT~hGjQp2?&MWEc;*kH`14rru1*z#|?>~ z`XBLcTvB;p|3)W#|M&bGw?TpaOaI31W0=Sp2koUSAK1T9%?wfgjk91w9+ZEhT?f`C zK9DAdGWBXVifYck@w{ldlgef_>EAeJmW*gN{{2tzZ~O$=f$CB>(>MOszMOxsBaM)0R_HUGC3vD4|Hh(#Ns@ZC9g5z$?-|D=elAx&cit7gnu>P`s$XAOf`%$eg@UH({`LMg zI9FZ#QR_@UR-D}S#vxd-QiEYQw%F$t8fA4bdN99_4Dd}smvH7EqqVUz7`zx08du}g z=c@~J>?s)k%}GO!{J@#{ad#Hb>r7`&j5>l)2FJ-!Djq-ls5pk*KO~v{HE1YIf$&~? zR8d678f}ZX3hEg6UU3E-Zc|NYyM`k_TvLf}AJxc}w=hEFj#pd?i<@3W$(5*EA59e& zDhWGYF(wAC4Ym0-EeT8LTE%THFPUTCg=TX!*jG~{Xs{AiR5dg>9$5#HS=Cz0mZ(== zUee%r%=tA@J;@l`L(7oVyb|^q-lXIAl0wyL`C!{_o$(B<$Pz1yJ$h#`6kIsc%COW7Iee~tSf2KZKN_n#NQQtX@^-*`| zD1I+dZC{AiN3o2F&`0%ukJd+DBjzCV(W|RTjDyxk=O%~r(cZU2z<0_c^CvuPeYE4R zE&;E;IV|9dR*Qgdfa>DOz|YzO-fsd}H<*(2o+IF7{%c;*`sl-#MO4(*mu&ua^wAbT zf?OxV!vKA>{7tQou7H+z>7y}5NFVjm;P%wuUZlaLKFW22dz1^@PgV)IU2Je2eKdKz zfP1wlVCSf=DFBnos+A4yh0)+%purtZpG7b;4d7BVU#HdS(kG4e(Z;A0{}FxEm(Xf` z^vEQk^hv_x5mr)(+e#{-m4x}}gr(3tZmqOs8MTtW@E4zF!-&$xk^C0QZ;@OBf*RC? zqo|vr=cyg5B5W>^EFQnxTnhQa^wc}dydo4Bqs{;V9)B8DP=U6Uf(flZqE1@JI8MC( z6KYFTm@1hNt)i}BOoWQ^FebueIu9|rRuq`#p4wMaL|h)gRcx?jN}^3Fe^-4mYq0xG zxY5SM5`i?>R-!FU|4e&YzkA?gf`@a-fex*(NqDO24b0FSp~(4qLVp)M{OBY)gu4D( z>pR5Ro@aQ<)MF4}$ozp1|2p*3YSWQ(zy@N{@|qli*g?H_gVu>?`!=hW zi;`ImebmRlEu<4K94AU<54Dx7OrUGL*9%(7ybOzo0{O*6Evwm%PFxF!pc4<5d8W)y zUe#Xu9_VRYV3+|ct*V6R&yV5iz(JGybq(*kx*2yDvx z(*o`$RR?eh_KDG8pP<1W_%<_V#sh3-dtA&G*|*9jDaA}Q_#xaJR3QtPCUW4toXK1Z z3+iTz(N(2xlWNhT>gDHcx>3hnC^pxNAPOt}h@hb0J9XuC%V=?Nb>-mlx^>jlMR@1Z zq=zD*Sz+CdX^==zjIt{k7YUA)*F?Hh#JPt7E3B4Hq&lQgs=XL2*w~E~oQU1L=Ne&G z*_yIkuhs%fYaTKIiE?dHentd0aJ~)p9}ZjlMNP)~Np1GIjOY)c|d);e8iuvZ)Z`P zMCscZ@3JY@Ir{dhPZ)%TQZeJA_3hTDqxJ1qjET^)YXn%>f%k>D!C04J)pmOGI&93ti{d zx68+h;u<3=kSoC`E?>aXqfvL3Ja?;Gp0y>*(YH6ZB-5q5{5msd_I^q0+f}f0T>3U1 zVB2Hj>X!uUx$?-I%?Dc->)n%^06TC^80<3_3fQl|s=;>jZK?))1)_B~K^=CY4fg#2 zm-_bozeR!l9v}kPbsXvkGsjKR`nJ88X9w1|g-mmh`u10;mKy0S2Y|4?J(C~+){99& z=-Y-v`Kl?52?ajdQ-_o~oAHA$+v)6`Ztu_P4@!nPFi0NVxkp+bmv)%L!t!JLfM5b~WSh;BCdQ_By~S0`owm zSqw~NtU`vDu+aE024VQHdYJk(G1spq(qY*O;*OZ#Vd1SccP$-KE*rDV0<~zEieP;Am?IiVbU5EsKR5}uLCX{ z|1iIJJC>G?Au;erdXymixDF!RKYawRZXS&Y!}kXJ-9Qg4P9+hG7v>kQB6;(S53%O2 zN7wu~xH|jeax+}d2?}Sh5SEBh0PWlmaZ|&@P3{qlA83we0{9Ml6nNs`ciZ`um3@WHti$DcI$27GgU^hz*#vYf7wkr!b9f{L&l`Ep;jwdykWQV?PuK$HN2B+H zPqzS&^n(YefMGBO+`55&X?OyKe!!)m1D+XpX5a~nyr3(d*?4B-Y2s<(iIy$^;rkWh ziT^yTkj6QWohz=c!Yxg{yJ_YG6JB}v| zAV2+Q@eA}T0-j{5A$a0H3g7EBzLlf@G<rWd00{f;$Yxz6Bz}YRVL&fq|->?L{CoE$X(Tn+OdJI8nj31$&-qC#GPgbzjc*F7@ zCo4^J203d@x5k2a=%5BCa`uNS^11ZCZQX{@csX*tv3GMgLJGgM3a;2p))dx~T522}_7!Oq`6jDI`SQ!R9tX-wIN>*k*kNQ2#`Q*%zp-@O<2 z&gVlD;&Zhb?DCMxk6{b^z)<411>(3bEVUQa6_(d(u0gQrrQ*8om>?x?v`&L|pG+ zw{D(}@PF;X3CdEO`dGdRI1VTPA{liI!K&dREL?8$QC8QO06|Ojun+227>Mx{;{tp1 zG*V&lY7ccx@dBVYn^M~+aJa{xo(|P$Oqow5n;(pSSkxqnYc=OiBvIQBX(e4xn&Eqb zgB$O>u1(AbIsR>)QG|`J7bkMyXP)0Z{j}jR*gFIxWFO)8&P&Ew%iivjPj_Y$j|#1p zeh>$MmZlr($^A1M>Xy1^0XJa2j^`I$JaQNoHe;Ql)Fwwdk6?uf>hD6Fdxn_4T^Py+ z?k{9?OPr>SQ*h0|twmr`&8)sHrD-@F>?G802J;fRoV*`A8FIH>vcHzQ+K)g@BcF$8 z=r!p?wyIpNBEr^#f@EYt&ZN>)BC`!$7)p{_H!F~r7%XV;4@j(gJCK(ouSs=l!xI7; zpWzQQhtE>b03GZ><1+wccJL{V1gw62Up#zT_ ztNft_L~U!ne~Tv$5fmNB?`B7S5k;9v3(N0$2&Tdm!nZL4U!*y~+}!|i zhjEu5h>2YU9r#(EZwu96FsXb*aXvu7#&h4UQRms~HK3H1VSoFV=)U z4c_KsZA0We=^?y!%{@QufyMba)ZLR+nvTnIAJ;0PgG)uIv?pgb-=`je1m4Wq$j{c}Re*E;VYXj@ep`0WN|^)=HL( zWOH(js$o!0O6&L($G9~$7s)Y+>W&rs0IRb~y}y*N&7DLjzQbe9pgx7L;A7h--N3!} z7(4AS9?XOO9RxDe@*bpYXO z5@8=O^Th?O17?;=0NuZ=p4nvh-jgaJ^EzVaP}c#3+3cPMN?8wp!qTC5B&hw>jh&<3 zd0<`T@HjiPRVRg3(Ii0mggdoYbf-3RH#)Uvk?^14gb~LT8c*CJ<|})^Cy-cf+C}>N zob(Z=%ybT=EoRyi7=$HfJJ=fo%>Ebp-rcEAKZsKZM^(WDs>uWGsP3>2(LRMRLEXSF z2nx9#RmbcBdZPh?Tv7u4UiV$yE>~^VcIX9nnC{ka@1xh_P&M@N&vTBx9^%~_n^TQl z#3!0HafASU2aJB%E1Gk4&NbX48FHfLy&pUyiY~ zH4{l}yVF5u~nN~XieT=L!r*0l8_RmqYBQYw* zx}>7FKa05IF&Yne1M({y;_|%>SfTVHTE@d3vLw+g?o%Lu z1`x;Few4ZUCtlxyk`3Q5MD`Bm-VSSU8})9o;VVW|K1Py(ZU7t|M{YXyrSvS|ODbOU z=_lhV#`wxntMOs2+KJu#=x{M~D>2GWLT)a)gzAJ|8=Ba8Vds^>_-u2$J(rWFHa^LP zsrbyk)|kR$Lt)Wjd)@;a|5uaWu_Lgd^k|Sxx&rm{lgpvc8`Nez`5AZ(1=FBA@c17{ zH`y^102WXJ(b`zV9(K2}m{)`|QWlE-$_A)|jR!sH*;HhOr6-%g0_=M1zVUbnyHPd~ zfE+3!81#uiz2$HNBRp z*X=~etC;E?q;l4S!OW3#Fdo!sNvGurawjtA-<#iYVZQgRXNwpROh|UZ1IydCu z9M^MDOgRpj8sQ1d9*w$K^i_ys&qSU_BQ{)?46@&uMjb1S8Z1aE?c`nPP@b0!KLT#j zSsE@&wMLM)3KE088vJIWb)AHgB$QNFtF~^Tlz>oFnxgN2t)_9gPJIg49s80i13!~> zfe&qd9f0KqaA&dr2#(AJTm`w1yY^!|=>zg&mw}sd{rWyOqb%+aLV6^yO6181Jafvs zC(bB)Bp&hJJuQr~m4A^p++3P|c?^E8h#A@js1?LkoZrG2hcJ500vuj7HV0WSC(u40 zqqkr;8MXSi!HlcMsI78+3(}`6>^vmN@TypZ;{9vzLgOP%`^AE}kHm`znv+ z8-pv20dsSVwz&y0ImS`B2@u_ieNCsq#ogT;hEKAybZ$6J zXYy9XAv)QPM#CotO;KZo-l}+fIl}(piB;aJ1Vp5U;LXX}<=<|M?Fm3U!Gic4?{`Li z<&Q1$cYlG`xSXs-xyHpSynAuCRL>Q8zLlkS0=n#Y@O)AZ^ym&_P-XCl^Rc=)JHE6x zKPA$L#HSXnPl=@&{FH=GN8l4K%L(O58k)jS$@rA2qmN@@$*9;Udl&S`#h1i9e{D|3 zUvj*4v3VU=<@&$IO<1|O2@9XWnBSLn?iCy~IzF%SN@%Hzj1KW}IbbVeP(o2fx0s8J zj`8R~D^TK(cYl`~`(0kvhSGs~!T7`a6jxjt%=N{fS(9T>_guDbOm6U^*u1RjQC;(5 z7kKBkK%$(i)lH-ubyRLF27D{w6?+D`lZo$KfZhUX9-}O;73+!JlNb9FlzqJ6`y2Ec zThcVW=tkl_akr&+^~7RUh>VqOW+Bq>Jp^TowY=0|j>QVoDc29tn6d)@tKlmiyB=S? z`ygJAK`LpnXJ}!B$8Jrw@pN@q8nY9tjj|h%D#s5izkXp3RElH(k%C=(C?^Kec={Yj zBlhCo86OA8n~}xbteU&O%GzE!Sn`|2)s(%{y)c!=UWW=qFnlq=p0QcABQMfv#xqHK zFBM~FB=J_auv2AiA9WnD&VV}sX>tSUQ_+UT*!>B1K_A4FEyT1AD3;6V3NW29_6PP0 z(5)bJ%H6ZO0q|qI@>m2rA&sa+tJ)6v#nn*5KGA-T!n1W9`h;z^ft!8mwN0wj=w&9FTT zUd#1Y8)MIFS^#sia4K5Ql@J;}A_S14qy@0cAyERD8WKSL$t8dkTP=Y4lS=@TMF6|B z69GiUM%h0=SP{TnEWhu#xLE-_6`SU!Qvf?RK>W_v;#UR9JKyxyB3!ul`S@{f}>({vi6TUCpUIEcm*k-m>MOb&@BVsyjj~t6Z1z?Bz z!Em7T@kZHdCqBUypMd!+JHDc2C_ZaN=^Y(cM*N1^kvi`=6D2vFp{Aky8`{#&$xWpECx|!B}5?p5oRzhsb;^n z2H)W8h$LREf3<(E(Q})3PfO#`3xEk|ms67`Wg2BuB?5HIi)ST9*+UWmg5@RZh`|y8 zO64W#hxvLPf_HA|EBiWsXK&gTjn zx7Ha5&WHo;WQ+L>Fm8mNPJffw}gVfebu_Kv;K%?SJ|smguQp z{|@t^%_9J!C-7GKdOXcwS$Z~~n2d&>XdS5zIiqXPRp#M+q7=xJ zM$z53>DQJs0B|q+(92CUVqzj^0gSR<9FjaVk0`i&SFi+xFR+m*l~(lvV(8zRi<)Zj zikJ$?u+9vOOP`8Ybc{uU5Rk;Eop!$;eur*_31XEqbuK8xa)4wmG$aNFaWK@4F=w_# z)x|TVMEU^WOuF|d48IKDiTKjFqVCji8xR1Nfl)s^4K$ejKfxTwDB19BJ{*9}l+W;w z7*jAt#83`iZNvWqM^#MoCDP>i>-`n*oa6gkDBCpZ*2kG3n4~BFNUHl8A@dG~?ciL=7wN`m zk0Q2tV`BMlVuUES75m4f7ow2abRTe8R}lhmBV@p6*n6zKO_`=ih?i*$H(0 z=f}=B9{#cozS}s`jiY@m{vWxN8|!Lo)S2t)a(YXn4fKhw_=(;j@d9l=Pacjdaq~2~ z-B4N>-Erw9NbK>yl|BMb;Yklyv1xSmjGIw*iGyw*6zCkS+Y)?nD1+V7^W(614jL7L z23a8+qNBJ{Dld~DPG_UD32uPX1Q{I*x0WYv2wYlFX92W~?UF*OH4uw{5i^fw2(jgO8fDJ`UE{;v z@nI?5M@T7f6u{o~)O4qoNwLNe74|1%N}O?3#df3bg26_og<^3&_Bcqvt%B;su6UmM zmSmYz0&rxNIF&U1wj0+}4n{$PjjPrp6^6gtjVtF5HagTIq|rqL$0n20zmoLWT$rZ% zeFxVHwV?o?>Iu$FFF}bWC?wBfHX>KQ1p8y77sf6b00kL6nC;?X7-SVnLSH7^kPxcW z5LAbirKd@OnAt^QX%ViP!8@sqLOSqW6A!Cr@Lr_jyYjt2zi0EkM8BJSFW2t{d>;*T zP);G=i5lLE_@1WI!2OXhXdUDhQG}7Wjo~wx@WEFUXEXwWD)AC~87sfRaB}va?1x9N zp%!u^suhBljB+u?G^VsQ!GlDfhnQ!W{{6-jQmJ^QTGAD#={S0*7$-@$f?GCVCL8_} z(1AKC!9vS+Ug_r&2dt0+3y|BWJNv+Dp)T+(K?*xwlFfDL#xX1@*u~b3keT6(sN9+c z`SJOYF-kXL?lGoeg$Mdi^r5W>McS6KzCfGVNmLA%YsGK_O4#OY0X^74^kBIthH2^J z@wD||S^6Zc7|w!)%!O7X#Yr+VeLC;}Ns7$C752&5IVg>ku3(!$e6!8KQD)o~1%N{L zVQ-~xljZ^u>?D{Eotz$n3Mf=l5s4-sfnfWip!JN9a+fz8FEHI{Mt-xvCAWS=E zBIsP3knT>o&6om!q*4r3;-@ho(Ghth(s-FD2_TqjLIOPr?8iSuR>{VeWcAKBT1W-w zX*Mipb8Q;AoB;a^3t4=*u=Pa!q_9F1AiCo;86lSip~87?9+t@>fs`V|M}k5-0ftwo zyez$lC33YJg-2?#Wmmt8>`I$*;dEu`;Qsv zoEKRM&^g69J(%xz9GSV)Gj6@r0eb~CFXtb1RS5VTp0(PdNtfMOEsW-uE_JD=));Jn+_qKtxfp$1>1rEqEugGm4px50g(L8ZL*@+c zCX}NlmCSCi)q*I-Wau;hFThHyqhN&zrBVNmubJJG5dhuYQUNT$b8 zoIY+2y&KVp(da$=GZ>9|1iey(bUA?7cA8nw0M^j>%@scZ0G7jMqrGPJ2N<$WHEhzR zAYY&2-(W+4CLwZcMMG_n~V={t!jWB{`g+Fo3W!H-QcDtN8#*D?D_dl?S; z5;JzL;e8V+)nzDPaJei0+lWOS*nSntJu#FUA683CjAPy-nOBcDFbi9`C5<#L%OV0| z!~W=)sSRLV*zT1-q!D^rsota6l%L(0HuM^R1(Iu zV2c?XGGVBc=wHC0lJ7G)WCyuFr{btVi1LB)EO;D;L1C+jT^0rqd0PMc+yvqyfe156 z`c&%<8?Ss!;-Q#SZ1vz2S~6!MY5&8jNut@2EDG%&5XFJZo(cBl!5t#GkqEglDJki# zGZ2quU|bW}4>Ob7z&dw+hNXB$hXvMPP$UOy>trkdu5iXp4u`^%1}9n$))iXwfM}qH zEG_JpWQ|8dsp+@QZcy*zCtUn%bN^)7Q`7&R z@OE^r_?>qZbES+#G|rpA5@T)wT7Clsqh6gN&vokBVuS$$VWJlho%{%;u3Sl@CFQA7 zmXLY=?c5KvNmYG0(?LSd&Z?hkv3w#Z-ibEv-7et2Bah5~;(?~f_s>^veZ^8Hrcbq@ zf8bON{ZtM8)vpNjf4e&p`j#5{If%x{O`xw=huP5IOsGMKm#){)uaAKKd5{*+e|nEV zKk_!cn<)X%2jC~5+(i2ZFfZqL2GHpKyA!Q%F~(CXZ${HC<DZVD35wg^*8#V1<+NQ`jEpQm_$F>&sI$(JH7`yg4bicT zLtW*7(p6V0LDp%&ZP$bv@Fc#1-6A#TaZ5p<^WaWr!*NeC_FJ#DvJnxoH*&7X=Mt*V zb1u(^yIIy%V_7hl;;n+;yDO?!R^bv{fHZ0d7;3&z_B?EO=LiD!9~^_JY9w(V?v$;j zF$PRXCBY8VR4+3I9k3HqpvoD8o?XY3i91By&qx?LPO?IEGh^TnaAJzo6^OARf{zy- zs{G(3Bl3foRyBhI&_xf!0SC6v&d-%oI3cM&7Oxn&3$(`oQ>G)J%~DmTK?&l8ClWEG zJ)kT0{9U~8Z6?wSuQk|Kc;N?}q`mM=nD1`|e>zFy@$YfXtlQ%V4|HK52Y1fpgs)|* zMq(`gfn$T?Fi%h`UZ{Y7JTIqTQ_8l3n=wNP%OaS0H=w|L7i>-*E%69|Q>*Zq98rV_ zF45b_QJP%aLdxL1f;iak3+#8bbm|-wIs=Tq*ZVft`ySVO465ay8O%#%{zNAXkfg3)UN$>G8@yP8 zhwAk~`-oqIvecWf!2tU_eheIQ`yPTb6c?O~EJTT^C^4BeARE?N0CPK=8RUs?paK%8 zL_q~(Ym`T#1};~s3w2a5Gxm(`F>*jA;#HcC+j{{QZr6Xz+w@eD#FdHLk`>#t3x(?a zMJxb_p_azTM1up-Cn)ST&8&5X?+idqUWe@q+PVN&zmUxWJr%9lBBB{?naAU$B5|tO zSx7oHq?#mxkuI2s@U!cFvbF8z1lpmBz3|*q5ouar7Xbj!*an4p=O-fZ(2eZY$nSdH-sHuE3FfN1@>0QC8xamf zWd$4|dApy=N=&&fem;_g7HS($oQVWnV09QMZk>RDjI)FHrmA)Cw9#Vg;~B@ce50dM z!?+~3kzQ;PRB3efvQkEh=IM_&m*zR`St`0Vi4(fT zd^`a~Pz7DvwK7u2sNh?38fJrBWLQ-|6+|BrXzuX2hwTu|Yq<3R=9;XeHVonep{w+@iTeA;e2(bFls_7 zN^8XTap((C)8wD!8^)LLXF@lH$_!klAZkZw2}tOJWKK0A12jlnOhCI@O|M^~_ZaWz(x>tBcSUuq# z!X7y03Z(hny~1`jO_a18%U(E`S$DEaTK;0kJ*}ms6PtAx#UdCXErhX9{e2!k{Lx;4 z{@12^g&)Xfzpq!gtb+J8>J{#fYb+Db3Y$gBgcos5b_(0sk754{XpT-{FS-cP$Mows z{la9}hoOGK+CYJF{7KH)Eb8n_U?bwnrvmXkAvvwDx=0;(%2OdZD~0NCtgoM?DI7U_ ziVZS=n&o#}Uzfh-(w>J4Ye#C&L#5cvFVkK8u#XBPn0bi6R{wDptKTSbQT$M)p3veu zX`4t(Vk5O_>r3^~sT>_7yk37$y00&iMd-dEvjLHRZKUpdIyN=NYT#gsJ>>_lIX&eB zv@@gCB~xg>t1ejf!Zicb=U}6M@H?)b1W_^mKC_(G z{i}$B)`oRIyj`SqADAcw$)2^t;4Xni+DxLzG8;IqzrtwbW7{2RFJ&PsI4 z7T-Vi=f>6;55Is|YN%|K4R}YhcvQt8|Lm%G?0~X(<|e@9H`laI0Y(X?dqvKLjIbwl zc0*8Q7UKkGnnYIR>_M~`Lu9WZoSVaP8YvdaF+?h^eQC$S=u_78kpZAuel<4-aVY5j zT+Nk${aHt94aKsxKYCpH5Gfo>81PiJJU)&ZPaHbHXuV(xPK2WX31qviJq90d29LmL zX7QC_2taux3dRq^+UuSLdPoZ1AA?9h$?XH`f;K_p2v< zYjuVW%#bFZ^tW~TYNnk|>IyUPWXb&x%)*Tq4@KrCxw?0EqRP)hxKEu}ns@a-K?E~D4 z2q-|naYbdq=0FLMYgXr0tfS~_3SgrdcCG7~0mk+Ph@)Y>u{S+o_3BV$Rc~B|fVX?rkM@ACbdYPXSA?r42}U}>=*N2~;U#5@ zx@uB0Ts6V*SU@OQ-Ew?jb;G5)b?QY73S668>t3KBtaos7Zd$cjX+@}shnRYXP&5~J z>G51bb$2-i2fxx;7g@*x+cPQrxT0=`bba%k(UJ-PW$SzG<8vbAHYN2^UpS2?;s+?| z0}?f=lU%6&HXXSiWo~cxM9U#qXBWXf#M}eDuOx!n3VK_U5hFlU3B9cq$nK^BRRahI_dK|s zt$GRI!+GA`?%kAw%gHWWV(5-_a5;gvY(?*GoeA>05%|8ug_$ilF%kKMW~TvKcoL zgZa}u{xj8WkaK(;`2)?j`?GN#OtQ}3Bh`MU@#zWPlZbB}?6?ehI$nsH9$h7@EBcrf z`N59#2KGo)w^T|EUer+2!({1LxGh-g1gQNeX7N_Qm)D~}eens>dvRPB&X=*bvx~M% zSi4~uvVvNYuTcH;9uh*SWzC`1!R%#?+IlP+KQKTe_nXImdfU2ccLQYG_is6;mZ3LJ zcuwdIx_Sg^6kY^F{V8ZqNF#jlR1F`brJR`gPoOSf^m}uC@}1ZMHiofT(eh|w5irw1VwH_aiRRBgQD~P6$&YoF4amx5XD%R<2eKW?1;@hn9q9R zT=}v~T}W+uDgrs^=(+MB2lF6_avKI?xQKu;Np+JVg4Sh?vT#pEm{hzJUX!U#x*E40 z{sG*ts;5DXe93XUz7NjLkNeJUnjcpJ*gwjTm!NsW{P=1U4DvJE*3FN_y1GBakL$j5 zS9ePj)y+qB5&T#uyw!a&a*`ht)`$49d$asFNAfh{$2UM+@Z-t?nGbhZQa#1!Kg^fw zBl(hj`a$z$Td<3ZFXM&#Hd&Y88OfLIXvrS0L9@x(C6RpD50yqR;=krgIhiaZ!fw7? zg2Ec{WhYcz_hnf6dHzVge>W#TSLY1q<6oN7Ki~f=`YmkyN3-a=`{0+rSq?I}cz>a) zdy8zEaQZjmG97_bx+BwuGeUIj-^*w{kw(Lke>AhlIPcP#mC1O}`8MA921|Q9(+3jv zd<{uKmnLI=>C$fFh>D{KOrSj_44m)^0MR`g%yeBCjC$v#$axv!yp+fbJ0tAq86g3b zn2qYLWJ$Ky-G*QpArPI%d5qDpn2>IQ)QJ8vct7XJsI!ytA4-QLC+mDNc|{3RKY%&0 zyTK?+iUa>+@+kgoc4}A(0++-()e^>mtRHV9pLeStKxJ@>{dp66LhOD?geRvhQ()jJ z$7{@%WKJm+Oa{G%YS#raR3-Gb>{j6nCk$3qE~#-`iPZU&q}GE#ouQnH9zG+E5>b;y zMjEyd3)rIzSYQ{xplWLuz<>=wvJ^1QUYfp6Wj~1# zULe8xk}Zn+6@W@fzQ3DzcFNvIVIB-Li#&nb(ua7mwi%Dmbn;{=qwG<96HGTUQAfo+ z7H87U#?$dtM|AZ0-u#&hnlolP9w+rk4WenCtUZDz{5rcq1KskBUE5`ns-^OS}3xDtrt5ugm3&^ z^uLw{-}dmlWTSE(LOIrENsx_ZYV`d&e&5&p_Z)uzD@=Ute{Yokcz*BZeE09Q>Vct& z=WK~9Bl>9Ld*Jlhr20=q;#&DIn(-p-4>3cqd&Tf`W0dzzNIa3RqX-V;#;Ny+09?73$EowC^2WC!c%#KR^hD)n|N8y#W3f(XiQl z$*YbC$zZ35{w+a1 zJN;WL_6<$-Z{PgGUCMg$IvC9E-@b)NMf7h|CAHJPy(g*N{o7PzXs&-NMPANUva_?h zr@QO|!u{Kwb^%TGZ)e*DxcavYDInax6+I^XTkFrr$A4b`mj7;q%8u^e?t2}WN&i;< zX|w&CkDZ{FUFqL$l%#h5mQ8?ZG1>iFh7Ln*hx#|4j%u=hYbRyd{o4ZwK!{!a+bwMT zkjzK-Z}V0;9BK>vmoFpvAMfAVqY0bo-}=7h5b7pWYWSM$-v)uv|IPl*g6T(LXs&-- zi0`&E9I$_T3F!{hzdgk72k76fD&pHGMPv+j^`NR6;gej zs-n6>|JEC|>i+EwX1fj9&|lq#7Wr5GTVF_^)4z3d(l^t;oy4^Ne*ZQb%=mlyw@yh1 z=-<}XifBakZ<}A#Wa&aFX|jLQ9)^7Xr_TA2urDveDTJ7R;ixUmbq-tU@y^+J-g#!^ ziIR>#*W{{v|I&P%B^l@iagI+ni+lDrvsw(D7wB17iL=wjn^_BF5H|EZnGNAVjW`?J z#F!)*ThTEyGB;<;VaA6mRm^#qR_1{RaK4oKOswt9;3^Uxcc|jAkCj<4ch<_oHIl`7 z{e2bpCaStDy-y1hONq|m1w8iL#6g$Flx;Xd#@Q>i9I>#8k!mBizAZ3gml+R#fXEzN z>hh(8Wxq+d{9{)%=;*d5JnwE(<> z?1Hg3v2EE6UX_x?lM*pXG*JYOFPeu#xNhwK;0h)OQOFj)hH9M4pidYz%6^3X zrs{{m^S&N$VIvA7u0+z^dX2Vf=w!lFeKO%^%ZZ{O&65c;qHy%Jhjphj@od6F#SnDP zCftnz0|nu;3Adk%>6$J0(J*4JM*OA&0TcDZ*-$Xv?8FvUALI+e2j6-s&Pz4@d*sMe zytgPl->l&RYV=w2QsJE(E$_jxe0qXox8WfysVZQ}N(3#~O8y`yd zc6rVKxSn=nh^Q|X;1S#-SXu$1V_pcK<{WRo7pdnKCrW*|FTOhQAWv^@$xbdV$>#_K7u7Z^Luy2nDqZ+?n~gKDw6*bl0XpR3ql0Eh-=g!9zl%|A(F^7 zqZ5q^f-4{@A}T0H0w@TA6x@uo0rA`Ax6Q{eA2TqLS=dpYR9QKj7s!i_gu8YW%ly}KHYWy_fNuW1js)UgSdJg{ z%MLzrpYuJ7j{@}LQdMiYapY`%lNB>hyBOxT7mf;Ap0^iX zL0eQLvyfeJI&l3U7V}6JUSd7H6-t%ZFubz9d-oEtXB=E%#yT>n^}^VRCk? z5d-s&A!BpXd+N*Byyxz)jLr8Dydrc#GB%e5z6%_1v}OJ*Qt5zXOg-RTXC|S)A!)<& z7--91asUXqLEVD7aGr?ka$2G*5f+E>gg6%iWt`fUMVBpop2#oFe+0%7em@l)Syfzw zula{dS`Yb$%QAh%%h{pJm+ecgdaH^_8~np1p?iLtMEu>fI| zq$Du2$4*!ALg|T7avC1E{XJSi@wH-E;5M|>*8 zs87!UHcQJfu_IoIIWT-#`UgqVmblX$ZPOGrVDC>FRo236@gKJ7qOqNUI%QQ;n(3M-N2dFiQH1 zHLtPTHxZgx&s4X6Oe-<<)z{-sx>MewpZ#bWhe{zSvCmXwHB)laTR{uk z)uxRtfi266MB6g&U%}N*Is+FbE#ojovl~iqp_=vtD8n}~nYNlw#$jG#94wIp|0G&t z(XFR1qja_%>#Eh&oe}5=ppx;LM(8HHS^-e)1`7B*8W=ym%JZrPeNY+AkTcp~*7v9U zeRwu1`%-TxtJ!V!(Q^mV`CFqh@Jm?O0~*U|aXSA=&YUTCK#N3YPP|x07(M}MtnHr~ zjukUPaGVewj!!eg;VAAD4oBCTFgQwv%AhRAS57!S;)b<9<&*oIaBP(R@0b1)jv?pP zg<}vfjSrvcC~)*>ui;n=N$-Gzx@o#P_&3fhOe4$)=KGUX#|NU0Ol$;1Z(SY^(TJbI zAbR^AfoSig;Se1@T_B1HgQ%ee(Eva~h@Lp7E<}$3=YVJpH9UW2L57CtSBOyBS8-@h zHzZfaNX8(Z-jmfc(J1{MdY1%}C#S3(PaAl2i)s+Fg0l?yrD zUB$Ivt1pDDklnpxo@T2D?+#}x4=|Prvb*OTVXHX2w%KaWT>`JckZH|U$?`UmtzHd8 zVXM;5ooqGFVg}ITEDVl02OYQcP|H7igL*ub{@E+cFAnjY9a31M#>w;L=Eryry~l+d zoX7`;JYnk5$E=8NavkRZRf{KBjes3-h*4Fds=0)VsvIl;$L6T#ho3}#9C;u!2jmxFDpJpsMMB;LxNwg7 z;r2nu`>NOP704R?MDL>`ih*ue&{Gbyu;joed0ALJmtG3?$?Jqe zcG~fRN$nm7cjx)8$;d6fKQS&B76-8d50|HT!Kcu6Im6zM$2bZi&u8TMdLsC-wt;x^ z8zn_DNn>u;OzERZHV5_+d!EL(c~%iuUhGP|v~um$F#ZB7X)szNS6okQ@RX!cBkVRs z`~EVhDv{G6p6?>P`(j;jx%ncbT|RdPdJU#FEobg@q(F1|3|HK>%-F|oTH)JnQ)XFi z!SmA6r7rD(ThJ)a*Dx=x2g>d=NwHj_R(TL%;PGJ@i8ncL zo`-K3?uTPxq5Fk2rNf~~2KT{B(u&Yqcvz!WzQeLwOg&@y0Vi)b&kOvq+H$$#h)oqK#BYdO zlwZeJEVI!n!|ScqHOq7T%knY G#c+aumz011Sy2w-=$cOjDH{TDj-ltmk!>xPb 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%0DQNM-}m@}BWSH+ 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

P4 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 i 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 leV-v!`qVbv$tdY=_WKmC3TZh#p59-ybNqF7 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

L*({wv;{LkfLy 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

==m<9 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⪙L^BEWGJ~>w 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�hqX45A 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

pPXz(`g?eY3r4po)L`b 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

n%bmYCpiq2mY3SFR3i54rLJ! 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%0Amgo253sfj`vws7Yghg2ss+v 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%0AWjBF2?dJaR^DKaNtn3VvyXa^aiJmcv=+ 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

Z4n3JA?(M}I|+;Z&VTGOOp-pL)(8tq{$V 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

jQ^_@vac=H~>zOWT|bzsy)-^rE! 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%0AV>%)n-x8=?4A4lW~UFfks$o<(B7y_*`=oPGn? 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�pBeqw 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

F<&42*zP@?|;;nOKthcoI1 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%0AWr8bac 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

wa0I{|7&;3u{8VLo+tdGHi zGK7`Rl573Gq{wv5WKF1NV!&^Mpy-=T@Y<+XR5^AVZ#J*>N|xJ_k1n_0?pmOq&cs9f z=#R%X`(PiJ`H$8Fqcfo*p2bCCmH)-e*8?Zz2_NS>;WaQ<`(pbgZZHw z%%1>T;_719@gMJ@KH6U6SKFB|Jc-1RxTz~~Yc8?CN6*fL7>l2?q${y3mssAFI53wu zq$^Pi#4m1_4NZ6}#7_)Xh_^UwB2KcCTPeoTZSRI*y&Fb3sYe%3t~Pzq{+xr{vOqM$ zy-`Uir=-5=i&N6Wbjh%wFyl1g(&ViWo21wv9qRhorX9`09m+qgG&Q9>eQIIh2g-^E z5?vKc$L=k`4T;N3FAmdY9MDnIPkPjW-Sr2l>XIi$PzlmliMi!9D6ab?_*T+2KcgeQ zR;|#GrxaThS;w5lP|yNm*K9GR%$!A0)Z|6n`4Ri+Fof%>CFb(o^B+@l}%?9tO;+3tFDAL;6#?a`Na#*%ENZgjMg zJMLb$8p3n-pc%OXzeqSNBO1{k>qGNvq~HjA(k?J=0lWpN$t9TrJI4@%N83nIsR1&- zc?&Yk;Xw8SbH=}f?n`x2@GObhmziZ*dDC8yp?EDmbfF= zn@fL6W4^slk-6NaqpS1Ry7{g?Lx^65a%uMtyTzNRyn;Gpl|r_JwhJ=n0Sxnx7vWgn z<0<Y`wKX0(I<_7&UAK~^ljaI&ZLLceU?G~93L=4x{!-Oan7lxyz6$1?+F*{Z)yfp zMb8$(PSF8?tsl`JccdMI$Iii62J;s#XQt|khrY&$ZV2s(v-DXKRLdMEX`mvv|JUfBb@{Qy`fe`1IFc{VwzR>=iq?Lo1!%c-Ta zHAkviRhRy{mcf_w?+1?Vln;Z1m3wsQ9+63%g#_}VrB=UIYG;ilR$3d^+FWOI2fth4 z%XeG&>>h>d^$t;dNhCWr>|O4!AEA8S{q-*y_s7qxvlbe=AHI1@t06sOvN04==1d zN=I&jS2$@ann~G*Z;L`sza*3~@7Uv3qe17E)Mv%b?`qP1ti4exA+g4B6ASn`)ARf& z4ZJVoBIJLD;Boxarqq~z&co#4uWdlbxH81Sapih*$CWxwV_3FiWn zPI&BR=Ip0|dDD2P2Pas_Fq|fPAmw18SLO-GYoHhE1fu-;F^4+GmFkVQ*vXGC_oo5N zz?NBM1%lixorT5wX3hdJwBkPY?L1Rshu}r#>syw$n*r(4G2w+{zmX0#Kx#hT5-C8a z!m$dsWF5}idrvFgytpuqmZlHt{F0qJ*Qy?W>?N)2|3_8CrzmKGwfh!}9rs1Vve+vu zTPRo3t$xzEN=j4>+Ytc_>Ai<@{lrN>+9Go57Kf8d7>tt|zM0%+5LvZNxX-55h&`1E zIa+uxP@QYGd(D*Oni=jl^9A@uGtcp=W_IWfcKXrjUNiAVnz&I-ba-fquLz=<_|+#> zy{*5+um2uZ=GtMrn-aiktQ4>7d^N;;o&m7=1+S_^d)D?Z(A$G6iav{|! z-=(RudU@npJyq*-xlEOdBZ&=#(Wa%T&^3vzDAP?5_u)Cbcuu>X)aB*19Ge^hoJS0Y zd2nhfgN(?Q72)J;05lS(AWh4|iTiEllS^Vvp&M#P_P%`2F(X6Qgp)4GwW;16HN&vI z4RM=(FE@03qIY3^s&_QyfN1?zr1o)NO1#@A@x>nDIiFHv#9envQ|T?y!p|Z**Cy5y zU$K@-5^aTaE`G8)HcV~7h+Ai|Zd5fr$o|dBE97t9PZn^+(WaLu6X7;�}k2+Zqjp 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�H*gu6ncM@2oBO7KNO&A@YEXO9#TQ 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 z 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